:root{--blue:#51a5e8;--blue-text:#2a74b8;--ink:#0d1b2a;--muted:#55687b;--line:#dce9f5;--light:#eef6fd;--mint:#8ceab8;--mint-tint:#e8f9f0;--amber:#b54708;--red:#b42318;
  --font:"Montserrat","Segoe UI",system-ui,-apple-system,Arial,sans-serif}
*{box-sizing:border-box}
html,body{margin:0}html{background:#fff}
body{min-height:100vh;background:linear-gradient(180deg,var(--light),#fff 420px) no-repeat;color:var(--ink);font:16px/1.55 var(--font)}
[hidden]{display:none!important}
.wrap{max-width:720px;margin:0 auto;padding:28px 16px 56px;display:grid;gap:18px}
.kicker{font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--blue-text)}
h1{font-size:clamp(26px,5vw,36px);line-height:1.15;margin:6px 0 10px}
h2{font-size:18px;margin:0 0 14px}
.lead{color:var(--muted);margin:0}
.card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;display:grid;gap:12px}
.days{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.day{flex:none;display:grid;gap:2px;justify-items:center;min-width:72px;padding:10px 8px;border:1px solid var(--line);border-radius:14px;background:#fff;font:inherit;color:var(--ink);cursor:pointer}
.day small{font-size:12px;color:var(--muted)}.day b{font-size:18px}
.day[aria-selected="true"]{background:var(--blue-text);border-color:var(--blue-text);color:#fff}.day[aria-selected="true"] small{color:#dbeafa}
.times{display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px}
.time{padding:12px 8px;border:1px solid var(--line);border-radius:12px;background:#fff;font:600 16px var(--font);color:var(--ink);cursor:pointer}
.time:hover,.day:hover{border-color:var(--blue)}
.time[aria-selected="true"]{background:var(--mint-tint);border-color:#2fb67a;color:#1d4d3a}
label{display:grid;gap:6px;font-size:14px;font-weight:600}
input{font:inherit;color:var(--ink);border:1px solid var(--line);border-radius:12px;padding:12px 14px;width:100%;background:#fff}
input:focus-visible,button:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
.fmt{border:0;padding:0;margin:0}.fmt legend{font-size:14px;font-weight:600;margin-bottom:6px}
#formats{display:flex;gap:8px;flex-wrap:wrap}
.chip{padding:10px 16px;border:1px solid var(--line);border-radius:999px;background:#fff;font:600 14px var(--font);cursor:pointer;color:var(--ink)}
.chip[aria-pressed="true"]{background:var(--light);border-color:var(--blue-text);color:var(--blue-text)}
.check{display:flex;gap:10px;align-items:flex-start;font-weight:500;font-size:13.5px;color:var(--muted)}
.check input{width:20px;height:20px;flex:none;margin-top:2px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.warn{font-size:13px;color:var(--amber);margin:0}
.err{color:var(--red);font-size:14px;min-height:1em;margin:0}
.btn{padding:15px 22px;border:0;border-radius:999px;background:var(--blue-text);color:#fff;font:600 16px var(--font);cursor:pointer}
.btn:disabled{opacity:.6;cursor:default}
.picked{margin:0;font-weight:600;color:var(--blue-text)}
.muted{color:var(--muted)}.small{font-size:13px;margin:0}
.done{border-color:#bfe8d3;background:var(--mint-tint)}
.back{text-decoration:none}.back:hover{text-decoration:underline}.lead a,.muted a{color:var(--blue-text);font-weight:600}
/* мобильная доводка */
.back{display:inline-flex;align-items:center;min-height:44px;padding:0 4px;margin:-8px 0 -4px -4px}
.chip{min-height:44px}
.done{gap:6px}.done p{margin:0}.done h2{margin-bottom:4px}
.days{scroll-snap-type:x proximity;-webkit-mask-image:linear-gradient(90deg,#000 85%,transparent);mask-image:linear-gradient(90deg,#000 85%,transparent);padding-right:24px}
.day{scroll-snap-align:start}
@media (max-width:400px){.wrap{padding:20px 14px 48px}.card{padding:16px;border-radius:18px}.day{min-width:60px;padding:8px 6px}.day b{font-size:17px}.times{grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}}
.note-confirm{margin:0;padding:12px 14px;border-radius:14px;background:#fdf0dc;border:1px solid #f3d2a6;color:#7a3a07;font-size:14px;line-height:1.5}.note-confirm b{color:#5c2b05}
.lead b{color:var(--ink)}

/* Подтверждение заявки: часы и прямой контакт врача. */
.done{gap:14px;scroll-margin-top:20px}.done .call-hours{padding:14px;border-radius:14px;background:#fff;border:1px solid #bfe8d3;display:grid;gap:4px}.call-hours span{font-size:13px;color:var(--muted)}
.done-actions{display:flex;align-items:center;flex-wrap:wrap;gap:14px}.done-actions .btn{display:inline-flex;justify-content:center;text-align:center;line-height:1.4;text-decoration:none;max-width:100%}.doctor-link{color:var(--blue-text);font-weight:600}.done a:focus-visible{outline:3px solid var(--blue);outline-offset:3px}
@media(max-width:480px){.done-actions{align-items:stretch;flex-direction:column}.doctor-link{text-align:center;padding:10px}}
