/* ==========================================================================
   Версия для слабовидящих (ГОСТ Р 52872-2019)
   Включается классом html.a11y и атрибутами data-a11y-* (см. assets/js/a11y.js).
   ========================================================================== */

/* ---------- Кнопка включения (обычный режим) ---------- */
.a11y-toggle{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.55);color:var(--ink);font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .2s,border-color .2s}
.a11y-toggle:hover{background:#fff;border-color:rgba(32,36,33,.3)}
.a11y-toggle:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.a11y-toggle svg{width:22px;height:22px;flex:0 0 auto;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.mobile-nav .a11y-toggle{align-self:flex-start;font-size:15px}
.footer-bottom-links .a11y-toggle{min-height:0;padding:10px 14px;font-size:12px;color:rgba(255,255,255,.85);background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12)}
.footer-bottom-links .a11y-toggle svg{width:18px;height:18px}
.header-phone,.desktop-nav a{white-space:nowrap}
@media (max-width:1280px){.desktop-nav{gap:18px}.site-header .header-inner{gap:20px}.header-actions{gap:10px}}
.header-actions .a11y-toggle{width:44px;padding:0;justify-content:center;flex:0 0 auto}
.header-actions .a11y-toggle .a11y-toggle-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

.a11y-panel,.a11y-alt{display:none}

/* ---------- Цветовые схемы, размеры, интервалы ---------- */
html.a11y{
  --a11y-fg:#000;--a11y-bg:#fff;
  --a11y-fs:22px;--a11y-col:300px;--a11y-col-sm:220px;
  --a11y-ls:0;--a11y-ws:0;--a11y-lh:1.5;
  --a11y-ff:Arial,"Helvetica Neue",Helvetica,sans-serif;
  scroll-padding-top:0;scroll-behavior:auto;
  background:var(--a11y-bg);
}
html.a11y[data-a11y-scheme="wb"]{--a11y-fg:#fff;--a11y-bg:#000}
html.a11y[data-a11y-scheme="blue"]{--a11y-fg:#063462;--a11y-bg:#9dd1ff}
html.a11y[data-a11y-scheme="beige"]{--a11y-fg:#4d4b43;--a11y-bg:#f7f3d6}
html.a11y[data-a11y-scheme="green"]{--a11y-fg:#a9e44d;--a11y-bg:#3b2716}
html.a11y[data-a11y-size="2"]{--a11y-fs:28px;--a11y-col:400px;--a11y-col-sm:280px}
html.a11y[data-a11y-size="3"]{--a11y-fs:34px;--a11y-col:520px;--a11y-col-sm:340px}
html.a11y[data-a11y-ls="2"]{--a11y-ls:.08em;--a11y-ws:.12em}
html.a11y[data-a11y-ls="3"]{--a11y-ls:.16em;--a11y-ws:.24em}
html.a11y[data-a11y-lh="2"]{--a11y-lh:1.85}
html.a11y[data-a11y-lh="3"]{--a11y-lh:2.2}
html.a11y[data-a11y-font="serif"]{--a11y-ff:Georgia,"Times New Roman",Times,serif}

/* Все элементы страницы, кроме панели настроек. :where() обнуляет специфичность,
   чтобы ниже можно было точечно переопределять отдельные элементы. */
:where(html.a11y) body{background:var(--a11y-bg)!important;color:var(--a11y-fg)!important}
:where(html.a11y body, html.a11y body *:not(.a11y-panel, .a11y-panel *)){
  color:inherit!important;
  background-color:transparent!important;
  background-image:none!important;
  border-color:currentColor!important;
  box-shadow:none!important;
  text-shadow:none!important;
  backdrop-filter:none!important;
  opacity:1!important;
  font-family:var(--a11y-ff)!important;
  font-size:var(--a11y-fs)!important;
  font-style:normal!important;
  line-height:var(--a11y-lh)!important;
  letter-spacing:var(--a11y-ls)!important;
  word-spacing:var(--a11y-ws)!important;
  text-transform:none!important;
  overflow-wrap:break-word;
  hyphens:auto;
  transition:none!important;
  animation:none!important;
}
:where(html.a11y) body{color:var(--a11y-fg)!important;background-color:var(--a11y-bg)!important}
:where(html.a11y body *:not(.a11y-panel *))::before,
:where(html.a11y body *:not(.a11y-panel *))::after{display:none!important}
:where(html.a11y) ::placeholder{color:inherit;opacity:.75}
:where(html.a11y) :is(b,strong,h1,h2,h3,summary,.btn,.price-row-price){font-weight:700!important}

/* Заголовки */
:where(html.a11y) h1{font-size:calc(var(--a11y-fs)*2)!important;line-height:calc(var(--a11y-lh)*.75)!important}
:where(html.a11y) h2{font-size:calc(var(--a11y-fs)*1.6)!important;line-height:calc(var(--a11y-lh)*.8)!important}
:where(html.a11y) h3{font-size:calc(var(--a11y-fs)*1.25)!important;line-height:calc(var(--a11y-lh)*.85)!important}
:where(html.a11y) :is(h1,h2,h3) *{font-size:inherit!important;line-height:inherit!important}
@media (max-width:760px){
  :where(html.a11y) h1{font-size:calc(var(--a11y-fs)*1.5)!important}
  :where(html.a11y) h2{font-size:calc(var(--a11y-fs)*1.3)!important}
  :where(html.a11y) h3{font-size:calc(var(--a11y-fs)*1.15)!important}
}

/* Ссылки, кнопки, фокус */
html.a11y a{text-decoration:underline!important;text-underline-offset:.18em;text-decoration-thickness:2px}
html.a11y .btn,html.a11y .price-tab,html.a11y .menu-toggle{border:2px solid currentColor!important;border-radius:10px!important;transform:none!important}
html.a11y .btn{min-height:56px;padding:8px 20px;height:auto}
html.a11y :is(a,button,summary,.btn):hover,
html.a11y .price-tab.active{background-color:var(--a11y-fg)!important;color:var(--a11y-bg)!important}
html.a11y :focus-visible{outline:4px solid var(--a11y-fg)!important;outline-offset:3px!important}
html.a11y input{border:2px solid currentColor!important}

/* Непрозрачный фон у элементов поверх контента */
html.a11y :is(.skip-link,.cookie-banner){background-color:var(--a11y-bg)!important;border:3px solid currentColor!important}

/* Изображения */
html.a11y img{filter:none!important;transform:none!important}
html.a11y[data-a11y-images="gray"] img{filter:grayscale(1)!important}
html.a11y[data-a11y-images="off"] img{display:none!important}
html.a11y[data-a11y-images="off"] .a11y-alt{display:block;padding:14px 16px;border:2px dashed currentColor!important}
html.a11y[data-a11y-images="off"] :is(.doctor-photo,.hero-photo-wrap){aspect-ratio:auto;height:auto}
html.a11y .doctor-initials{display:none}

/* ---------- Упрощённая раскладка ---------- */
html.a11y .reveal{opacity:1;transform:none}
html.a11y :is(.lens-ring,.hero-badge,.hero-note,.hero-photo-fallback,.eyebrow-dot,.location-pin,.service-icon,.service-num,.trust-icon,.contact-coords,.contact-index,.cta-eye,.mobile-cta,.menu-toggle,.mobile-nav){display:none!important}

html.a11y .site-header{position:static;border-bottom:3px solid currentColor!important}
html.a11y .header-inner{height:auto;flex-wrap:wrap;padding:18px 0;gap:14px 28px}
html.a11y .brand-text{flex-wrap:wrap;gap:4px 14px}
html.a11y .brand-title{white-space:normal;max-width:none}
html.a11y .brand-text .brand-subtitle{display:inline;border-left:0;padding-left:0}
html.a11y .desktop-nav{display:flex;flex-wrap:wrap;gap:8px 26px;margin-left:0;order:3;width:100%}
html.a11y .header-actions{flex-wrap:wrap;gap:12px}
html.a11y .header-phone{display:inline}
html.a11y .header-actions .btn{display:inline-flex}
html.a11y .header-actions .a11y-toggle{width:auto;min-height:56px;padding:8px 16px;border:2px solid currentColor!important;border-radius:10px}
html.a11y .header-actions .a11y-toggle .a11y-toggle-text{position:static;width:auto;height:auto;clip:auto}
html.a11y .a11y-toggle svg{width:1em;height:1em}

html.a11y .hero{padding:40px 0 0;overflow:visible}
html.a11y :is(.hero-grid,.section-head,.cta){grid-template-columns:1fr;gap:28px;min-height:0}
html.a11y .hero-visual{min-height:0}
html.a11y .hero-photo-wrap{position:relative;inset:auto;border-radius:0;aspect-ratio:16/10;max-width:900px;overflow:hidden}
html.a11y .hero-locations{flex-wrap:wrap;gap:20px 40px}
html.a11y .hero-locations :is(b,small){display:block}

html.a11y .section{padding:64px 0}
html.a11y .section-head{margin-bottom:32px}
html.a11y .section-head>p{max-width:none}

html.a11y :is(.trust-grid,.service-grid,.doctor-grid,.contact-grid,.review-grid,.regulator-grid,.doc-grid,.footer-top){grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--a11y-col)),1fr));gap:20px}
html.a11y :is(.license-data,.contact-meta,.footer-nav){grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--a11y-col-sm)),1fr))}
html.a11y :is(.footer-company,.cta .btn){grid-column:auto}

html.a11y .trust-item,html.a11y .trust-item:first-child{padding:24px 0;border:0}
html.a11y :is(.service-card,.doctor-card,.contact-card,.review-card,.regulator-card,.license-card,.doc-links,.price-panel,.cta,.complaints-note){border:2px solid currentColor!important;border-radius:12px!important;min-height:0;transform:none!important}
html.a11y .service-card{padding:24px}
html.a11y .service-card a{border-top:2px solid currentColor!important}
html.a11y .doctor-role{min-height:0}
html.a11y .contact-card h3{margin:20px 0}
html.a11y .contact-meta{margin-bottom:24px}
html.a11y .contact-actions,.review-actions{flex-wrap:wrap}
html.a11y .cta{padding:32px}
html.a11y .cta .btn{width:auto;justify-self:start}

html.a11y .price-toolbar{flex-wrap:wrap}
html.a11y .price-tabs{flex-wrap:wrap;background:none;padding:0;gap:10px}
html.a11y .price-tab{min-width:0;flex:1 1 auto}
html.a11y .price-tab small{display:block}
html.a11y .price-search{min-width:0;width:100%;height:auto;min-height:56px;border:2px solid currentColor!important;border-radius:10px}
html.a11y .price-search input{border:0!important}
html.a11y .price-summary{flex-wrap:wrap;gap:8px 24px}
html.a11y .price-list{border-top:2px solid currentColor!important}
html.a11y .price-row{grid-template-columns:auto minmax(0,1fr) auto;column-gap:20px;row-gap:4px}
html.a11y .price-row-num{grid-row:1/3;padding:0}
html.a11y .price-row-name{grid-column:2}
html.a11y .price-row-code{display:block;grid-column:2;padding:0}
html.a11y .price-row-price{grid-column:3;grid-row:1/3}
@media (max-width:760px){
  html.a11y .price-row{grid-template-columns:1fr}
  html.a11y .price-row :is(.price-row-num,.price-row-name,.price-row-code,.price-row-price){grid-column:auto;grid-row:auto;text-align:left}
}

html.a11y .license-head{flex-wrap:wrap}
html.a11y .doc-link span{grid-template-columns:auto 1fr;gap:12px}
html.a11y .footer-bottom{flex-wrap:wrap;gap:12px 24px;padding-bottom:0}
html.a11y :is(.footer-socials a,.footer-bottom-links a,.footer-bottom-links .a11y-toggle){border:2px solid currentColor!important;border-radius:10px}
html.a11y .cookie-banner{flex-wrap:wrap;max-height:70vh;overflow:auto}
html.a11y .cookie-copy{flex-wrap:wrap}
html.a11y .cookie-copy b{white-space:normal}
html.a11y .legal-card{border:2px solid currentColor!important}

/* ---------- Панель настроек ---------- */
html.a11y .a11y-panel{
  display:block;position:relative;z-index:200;
  background:var(--a11y-bg);color:var(--a11y-fg);
  border-bottom:4px solid var(--a11y-fg);
  font:400 18px/1.35 Arial,"Helvetica Neue",Helvetica,sans-serif;letter-spacing:0;word-spacing:0;
}
.a11y-panel *{box-sizing:border-box;font-family:inherit;letter-spacing:0;word-spacing:0}
.a11y-panel-inner{width:min(1240px,calc(100% - 32px));margin-inline:auto;padding:14px 0}
.a11y-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px 20px}
.a11y-panel-title{margin:0;font-size:22px;font-weight:700;line-height:1.2}
.a11y-panel-title:focus{outline:none}
.a11y-bar-actions{display:flex;flex-wrap:wrap;gap:8px}
.a11y-panel-body{display:flex;flex-wrap:wrap;gap:16px 30px;margin-top:14px;padding-top:14px;border-top:2px solid var(--a11y-fg)}
.a11y-panel.is-collapsed .a11y-panel-body{display:none}
.a11y-group{display:flex;flex-direction:column;gap:6px;min-width:0}
.a11y-group-label{font-size:16px;font-weight:700}
.a11y-options{display:flex;flex-wrap:wrap;gap:6px}
.a11y-note{font-size:14px;max-width:300px}
.a11y-opt{
  min-width:44px;min-height:44px;padding:6px 12px;margin:0;
  border:2px solid var(--a11y-fg);border-radius:8px;
  background:var(--a11y-bg);color:var(--a11y-fg);
  font-size:16px;font-weight:700;line-height:1.1;cursor:pointer;
}
.a11y-opt:hover,.a11y-opt[aria-pressed="true"]{background:var(--a11y-fg);color:var(--a11y-bg)}
.a11y-opt:focus-visible{outline:4px solid var(--a11y-fg);outline-offset:2px}
.a11y-opt:disabled{opacity:.5;cursor:not-allowed}
.a11y-opt-size[data-a11y-value="1"]{font-size:16px}
.a11y-opt-size[data-a11y-value="2"]{font-size:22px}
.a11y-opt-size[data-a11y-value="3"]{font-size:28px}
.a11y-opt-scheme{font-size:20px;font-family:Arial,sans-serif}
.a11y-panel .a11y-opt-scheme[data-a11y-value="bw"]{color:#000;background:#fff;border-color:#000}
.a11y-panel .a11y-opt-scheme[data-a11y-value="wb"]{color:#fff;background:#000;border-color:#fff;box-shadow:0 0 0 2px #000}
.a11y-panel .a11y-opt-scheme[data-a11y-value="blue"]{color:#063462;background:#9dd1ff;border-color:#063462}
.a11y-panel .a11y-opt-scheme[data-a11y-value="beige"]{color:#4d4b43;background:#f7f3d6;border-color:#4d4b43}
.a11y-panel .a11y-opt-scheme[data-a11y-value="green"]{color:#a9e44d;background:#3b2716;border-color:#a9e44d}
.a11y-panel .a11y-opt-scheme[aria-pressed="true"]{outline:4px solid var(--a11y-fg);outline-offset:3px}
.a11y-opt-font[data-a11y-value="serif"]{font-family:Georgia,"Times New Roman",serif}
.a11y-exit{border-width:3px}
@media (max-width:760px){
  .a11y-bar-actions,.a11y-bar-actions .a11y-opt{width:100%}
  .a11y-panel-body{gap:14px}
  .a11y-group{width:100%}
}
@media print{.a11y-panel,.a11y-toggle{display:none!important}}
