/* Онлайн-запись для пациентов. Мобильная версия первична. Цвета, радиусы и шрифты берутся из дизайн-системы сайта. */
.akbk{max-width:980px;margin:0 auto;display:grid;gap:1.6rem;grid-template-columns:minmax(0,1fr)}
.akbk>*{min-width:0}
.akbk *{box-sizing:border-box}
.akbk-loading{color:var(--muted);padding:2rem 0}
.akbk-sec{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:1.3rem 1.2rem;box-shadow:var(--shadow)}
.akbk-sec[hidden]{display:none}
.akbk .akbk-h{display:flex;align-items:center;gap:.7rem;margin:0 0 1rem;padding:0;font-family:var(--font-display);font-weight:400;font-size:1.35rem;color:var(--head)}
.akbk-n{flex:none;width:2rem;height:2rem;border-radius:50%;display:grid;place-items:center;background:var(--g-navy),var(--brand);color:var(--brand-ink);font:600 .9rem var(--font-body)}
.akbk-note{font-size:.9rem;color:var(--muted);line-height:1.55;margin:.4rem 0 0}
.akbk-err{color:#9B1C1C;font-size:.9rem;margin:.35rem 0 0;line-height:1.45}
.akbk-banner{padding:.9rem 1rem;border-radius:var(--r-md);background:var(--warm);border:1px solid var(--line);font-size:.95rem;line-height:1.5}
.akbk-banner.bad{background:#FBDCDC;border-color:#E6B0B0;color:#6B1414}

/* врачи */
.akbk-docs{display:grid;gap:.8rem;grid-template-columns:1fr}
@media (min-width:720px){.akbk-docs{grid-template-columns:repeat(2,1fr)}}
.akbk-doc{display:flex;gap:.9rem;align-items:center;text-align:left;width:100%;padding:.8rem;border-radius:var(--r-md);border:1.5px solid var(--chip-line);background:rgba(255,255,255,.7);cursor:pointer;transition:border-color var(--t-fast),box-shadow var(--t-fast),transform var(--t-fast)}
.akbk-doc:active{transform:scale(.985)}
@media (hover:hover){.akbk-doc:hover{border-color:var(--navy-700)}}
.akbk-doc[aria-pressed="true"]{border-color:var(--navy-800);box-shadow:0 0 0 2px var(--navy-800) inset;background:#fff}
.akbk-ph{flex:none;width:68px;height:68px;border-radius:50%;overflow:hidden;background:var(--soft);border:1px solid var(--line)}
.akbk-ph img{width:100%;height:100%;object-fit:cover;object-position:50% 18%;display:block}
.akbk-doc b{display:block;font-family:var(--font-display);font-weight:400;font-size:1.08rem;color:var(--head);line-height:1.25}
.akbk-doc span{display:block;font-size:.86rem;color:var(--muted);line-height:1.4;margin-top:.15rem}
.akbk-doc .nx{color:var(--navy-700);font-weight:500;margin-top:.35rem}
.akbk-chosen{display:flex;gap:.9rem;align-items:center;justify-content:space-between;flex-wrap:wrap}
.akbk-chosen .who{display:flex;gap:.9rem;align-items:center}

/* типы приёма */
.akbk-types{display:flex;flex-wrap:wrap;gap:.5rem}
.akbk-chip{min-height:46px;padding:0 1.1rem;border-radius:999px;border:1.5px solid var(--chip-line);background:rgba(255,255,255,.7);cursor:pointer;font-size:.92rem;font-weight:500;color:var(--ink);transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}
.akbk-chip[aria-pressed="true"]{background:var(--g-navy),var(--brand);color:var(--brand-ink);border-color:transparent}
@media (hover:hover){.akbk-chip:hover{border-color:var(--navy-700)}}
.akbk-chip small{opacity:.75;font-weight:400;margin-left:.4rem}

/* даты */
.akbk-dates{max-width:100%;display:flex;gap:.5rem;overflow-x:auto;padding:.2rem .1rem .7rem;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.akbk-date{flex:none;scroll-snap-align:start;min-width:62px;height:70px;padding:.3rem .5rem;border-radius:var(--r-md);border:1.5px solid var(--chip-line);background:rgba(255,255,255,.7);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;color:var(--ink)}
.akbk-date .wd{font-size:.74rem;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.akbk-date .dn{font-family:var(--font-display);font-size:1.3rem;line-height:1}
.akbk-date .mo{font-size:.68rem;color:var(--muted)}
.akbk-date[aria-pressed="true"]{background:var(--g-navy),var(--brand);color:var(--brand-ink);border-color:transparent}
.akbk-date[aria-pressed="true"] .wd,.akbk-date[aria-pressed="true"] .mo{color:inherit;opacity:.85}
.akbk-date:disabled{opacity:.38;cursor:not-allowed}
.akbk-more{flex:none;align-self:center;min-height:46px;padding:0 1rem;border-radius:999px;border:1.5px dashed var(--chip-line);background:transparent;cursor:pointer;color:var(--navy-700);font-weight:500}
.akbk-day{font-weight:500;color:var(--head);margin:.4rem 0 .7rem}
.akbk-part{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:.9rem 0 .5rem}
.akbk-times{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fill,minmax(84px,1fr))}
.akbk-time{min-height:48px;border-radius:999px;border:1.5px solid var(--chip-line);background:rgba(255,255,255,.7);cursor:pointer;font-weight:500;font-size:.98rem;color:var(--ink);font-variant-numeric:tabular-nums}
.akbk-time[aria-pressed="true"]{background:var(--g-navy),var(--brand);color:var(--brand-ink);border-color:transparent}
@media (hover:hover){.akbk-time:hover{border-color:var(--navy-700)}}

/* форма */
.akbk-sum{padding:.85rem 1rem;border-radius:var(--r-md);background:var(--soft);margin:0 0 1.1rem;line-height:1.5;font-size:.96rem}
.akbk-sum b{font-weight:600}
.akbk-form{display:grid;gap:1rem}
.akbk-row{display:grid;gap:1rem;grid-template-columns:1fr}
@media (min-width:720px){.akbk-row.three{grid-template-columns:repeat(3,1fr)}.akbk-row.two{grid-template-columns:repeat(2,1fr)}}
.akbk-f label{display:block;font-size:.88rem;font-weight:500;color:var(--head);margin-bottom:.35rem}
.akbk-f label i{font-style:normal;color:var(--muted);font-weight:400}
.akbk-f input[type=text],.akbk-f input[type=tel],.akbk-f input[type=email],.akbk-f textarea{width:100%;min-height:52px;padding:.8rem 1rem;border-radius:var(--r-md);border:1.5px solid var(--chip-line);background:#fff;font-size:1rem;color:var(--ink)}
.akbk-f textarea{min-height:92px;resize:vertical;line-height:1.5}
.akbk-f input:focus,.akbk-f textarea:focus{outline:2px solid var(--focus);outline-offset:1px;border-color:var(--focus)}
.akbk-f.bad input,.akbk-f.bad textarea{border-color:#B42323}
.akbk-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.akbk-consent{display:flex;gap:.7rem;align-items:flex-start;font-size:.9rem;line-height:1.5;color:var(--ink)}
.akbk-consent input{flex:none;width:22px;height:22px;margin-top:.1rem;accent-color:var(--navy-800)}
.akbk-consent a{color:var(--navy-700)}
.akbk-submit{width:100%}
@media (min-width:720px){.akbk-submit{width:auto;min-width:280px}}
.akbk-submit[disabled]{opacity:.6;cursor:wait}

/* результат */
.akbk-done{text-align:center;padding:1.8rem 1.2rem}
.akbk-ok{width:64px;height:64px;border-radius:50%;margin:0 auto 1rem;display:grid;place-items:center;background:var(--g-navy),var(--brand);color:var(--brand-ink)}
.akbk-ok svg{width:30px;height:30px;stroke:currentColor;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.akbk-ok.bad{background:#B42323}
.akbk .akbk-done h2{margin-top:0;font-family:var(--font-display);font-weight:400;font-size:1.7rem;color:var(--head);margin:0 0 .4rem}
.akbk-card{margin:1.2rem auto;max-width:520px;text-align:left;border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;background:#fff}
.akbk-card div{display:flex;gap:1rem;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--line);font-size:.95rem}
.akbk-card div:last-child{border-bottom:0}
.akbk-card dt{color:var(--muted);flex:none}
.akbk-card dd{margin:0;text-align:right;font-weight:500}
.akbk-acts{display:flex;flex-wrap:wrap;gap:.7rem;justify-content:center;margin-top:1.1rem}
.akbk-acts .btn{min-height:48px}
.akbk-contact{margin-top:1rem;font-size:.95rem;color:var(--muted)}
.akbk-contact a{color:var(--navy-700)}

/* версия для слабовидящих: контраст и обводки без градиентов */
html[data-bvi="on"] .akbk-sec{box-shadow:none;border-width:2px}
html[data-bvi="on"] .akbk-doc[aria-pressed="true"],html[data-bvi="on"] .akbk-chip[aria-pressed="true"],html[data-bvi="on"] .akbk-date[aria-pressed="true"],html[data-bvi="on"] .akbk-time[aria-pressed="true"]{background:#000!important;color:#fff!important}
html[data-bvi="on"] .akbk-n,html[data-bvi="on"] .akbk-ok{background:#000!important;color:#fff!important}
@media (prefers-reduced-motion:reduce){.akbk *{transition:none!important}}

/* на самой странице записи нижняя плашка «Записаться на приём» не нужна: она перекрывает кнопки времени */
body:has(#akbk-app) .mbar{display:none!important}

.akbk h3,.akbk p{margin-top:0}
