/* ═══════════════════════════════════════════════════════════
   Версия для слабовидящих (по ГОСТ Р 52872-2019).
   Включается кнопкой с глазом в шапке или ссылкой в подвале; настройки
   хранятся в localStorage (eizs3-a11y) и ставятся на <html> скриптом в <head>:
   data-a11y = цветовая схема, data-a11y-size / -space = 1…3, data-a11y-img = on/off/gray.
   ═══════════════════════════════════════════════════════════ */

.a11y{display:none}

html[data-a11y]{
  --a-bg:#fff;--a-fg:#000;--a-fs:20px;--a-ls:0;
  --bg:var(--a-bg);--surf:var(--a-bg);--surf2:var(--a-bg);--ink:var(--a-fg);--ink2:var(--a-fg);
  --line:var(--a-fg);--line2:var(--a-fg);--green:var(--a-fg);--green-d:var(--a-fg);--green-l:var(--a-bg);
  --coral:var(--a-fg);--coral-l:var(--a-bg);--sky:var(--a-fg);--sky-l:var(--a-bg);--sun:var(--a-fg);--sun-l:var(--a-bg);
  --sh:none;--sh-l:none;--r:6px;--r-l:8px;
}
html[data-a11y=wb]{--a-bg:#000;--a-fg:#fff}
html[data-a11y=blue]{--a-bg:#9dd1ff;--a-fg:#063462}
html[data-a11y=brown]{--a-bg:#f7f3d6;--a-fg:#4d4b43}
html[data-a11y][data-a11y-size="2"]{--a-fs:24px}
html[data-a11y][data-a11y-size="3"]{--a-fs:29px}
html[data-a11y][data-a11y-space="2"]{--a-ls:.06em}
html[data-a11y][data-a11y-space="3"]{--a-ls:.12em}

/* цвета, размер и интервал — одни на всё, без теней, градиентов и анимаций */
html[data-a11y] *{
  background-color:var(--a-bg)!important;background-image:none!important;color:var(--a-fg)!important;
  border-color:var(--a-fg)!important;box-shadow:none!important;text-shadow:none!important;
  font-family:Arial,"Helvetica Neue",var(--sans)!important;font-size:var(--a-fs)!important;
  line-height:1.5!important;letter-spacing:var(--a-ls)!important;word-spacing:calc(var(--a-ls)*2)!important;
  text-transform:none!important;animation:none!important;transition:none!important;
}
html[data-a11y] :is(h1,.hero h1,.phead__h){font-size:calc(var(--a-fs)*1.7)!important;line-height:1.2!important}
html[data-a11y] :is(h2,.h2){font-size:calc(var(--a-fs)*1.4)!important;line-height:1.25!important}
html[data-a11y] h3{font-size:calc(var(--a-fs)*1.15)!important}
html[data-a11y] :is(h1,h2,h3,h4,.h2) *{font-size:inherit!important;line-height:inherit!important}
html[data-a11y] :is(h1,h2,h3,h4,b,strong,th){font-weight:700!important}
html[data-a11y] ::selection{background:var(--a-fg);color:var(--a-bg)}
html[data-a11y] :focus-visible{outline:4px solid var(--a-fg)!important;outline-offset:3px}
html[data-a11y] .rv{opacity:1;transform:none}
html[data-a11y] :is(.blob,.tgl,.burger){display:none!important}
/* поиск — пунктом меню и страницей результатов, без выпадающей панели; найденные слова — инверсией */
html[data-a11y] .find{display:none!important}
html[data-a11y] .nav .nav__find{display:block}
html[data-a11y] mark{background-color:var(--a-fg)!important;color:var(--a-bg)!important}
html[data-a11y] .mark::after{display:none}
html[data-a11y] :is(a,button,details,li,figure):hover{transform:none!important}
html[data-a11y] :is(.prose a,.found__svc,.found__n a,.sh__p a,.block__p a,.cn__c a,.insurer a,.crumbs a,.ftr a,.nores a,.agree a,.cookie a){text-decoration:underline!important}
html[data-a11y] a:hover{text-decoration:underline!important}

/* кнопки и переключатели — с рамкой; выбранные и наведённые — инверсией */
html[data-a11y] :is(.btn,.chip,.opt,.fab,.phead__tags a,.a11y button,.a11y-link){border:2px solid var(--a-fg)!important}
html[data-a11y] :is(.btn,.chip,.opt,.fab,.phead__tags a,.a11y button):hover,
html[data-a11y] :is([aria-pressed=true],[aria-selected=true],.chip[aria-current=page],.nav a.on,.sidenav a[aria-current]),
html[data-a11y] :is([aria-pressed=true],[aria-selected=true],.chip[aria-current=page],.nav a.on,.sidenav a[aria-current]) *{
  background-color:var(--a-fg)!important;color:var(--a-bg)!important}
html[data-a11y] :is(.card,.found__i,.doc,.strip__i,.steps li,.disc__c,.dms,.news__c,.faq details,.cn__c,.block,.infocard,.insurer,.docs-list a,.pick__q,.pick__r,.qcard,.visit,.book__in,.dent__l li,.cookie,.staff__i){border:2px solid var(--a-fg)!important}
html[data-a11y] .fld input,html[data-a11y] .fld select,html[data-a11y] .srch input{border:2px solid var(--a-fg)!important}
html[data-a11y] .fld.bad input{border-width:4px!important}
html[data-a11y] .agree input{width:26px;height:26px;border:2px solid var(--a-fg)!important}
html[data-a11y] .agree input:checked{background-color:var(--a-fg)!important}
html[data-a11y] .agree input:checked::after{left:8px;top:3px;width:7px;height:13px;border-color:var(--a-bg)!important}
html[data-a11y] :is(.pill i,.qcard__st i){background-color:var(--a-fg)!important}
html[data-a11y] :is(.docs-list__ext,.steps__n,.doc__a){height:auto;min-height:46px;border:2px solid var(--a-fg)!important}

/* раскладка — крупнее текст, меньше колонок, без «липких» и наложенных элементов */
html[data-a11y] .hdr{position:static;backdrop-filter:none}
html[data-a11y] .hdr__in{height:auto;flex-wrap:wrap;padding:14px 0;gap:14px}
html[data-a11y] .brand span{display:flex}
html[data-a11y] :is(.brand,.hdr__r){flex:1 1 auto;min-width:0}
html[data-a11y] :is(.brand b,.mark,.phone){white-space:normal}
html[data-a11y] .nav{display:flex!important;flex-wrap:wrap;order:3;width:100%;margin:0;gap:8px;position:static}
html[data-a11y] .nav a{padding:6px 14px;border:2px solid var(--a-fg)!important}
html[data-a11y] .hdr__r{flex-wrap:wrap}
html[data-a11y] .phone{display:inline}
html[data-a11y] :is(.hero__in,.pick,.dent__in,.faq__in,.revs,.cn,.page,.bookf,.book__in,.qcard__b){grid-template-columns:minmax(0,1fr)!important}
html[data-a11y] :is(.staff,.cards,.docs,.block .cards,.block .docs,.steps,.strip__in,.infocards,.insurers,.disc,.news,.cn__cards,.ftr__in,.dent__l){
  grid-template-columns:repeat(auto-fill,minmax(min(100%,14em),1fr))!important}
html[data-a11y] .page__aside{position:static}
html[data-a11y] .qcard__b div+div{border-left:0;border-top:2px solid var(--a-fg)}
html[data-a11y] .news__c{grid-template-columns:minmax(0,1fr)}
html[data-a11y] :is(.dent__fig,.gal) figcaption{position:static;padding:8px 0 0}
html[data-a11y] .gal{grid-auto-rows:auto}
html[data-a11y] .gal img{height:auto;aspect-ratio:4/3}
html[data-a11y] .gal figure:nth-child(n){grid-column:auto;grid-row:auto}
html[data-a11y] :is(p,li,dd,td,h1,h2,h3,summary,a,span,b,button){overflow-wrap:anywhere}
html[data-a11y] :is(.chip,.opt,.btn){max-width:100%}
html[data-a11y] .ticker{border-bottom:2px solid var(--a-fg)!important}
html[data-a11y] .ticker__in{height:auto;flex-wrap:wrap;padding:12px 0}
html[data-a11y] .ticker__lbl{border:2px solid var(--a-fg)!important}
html[data-a11y] .ticker__vp{flex-basis:100%;margin:0;overflow:visible}
html[data-a11y] .ticker__i{position:static;visibility:visible;opacity:1;transform:none;padding:4px 0}
html[data-a11y] .ticker__t span{white-space:normal;text-decoration:underline!important}
html[data-a11y] :is(.ticker__nav,.ticker__bar,.ticker__go,.ticker__lbl i){display:none}
html[data-a11y] .ticker__lbl{display:inline-block}

/* изображения: значки — в цвет текста, фотографии — как есть, в оттенках серого или скрыты */
html[data-a11y] img{background-color:transparent!important}
html[data-a11y] :is(img,.cn__map){filter:none!important}
html[data-a11y] :is(.strip__i img,.dent__l img,.card__i,.pick__empty img,.pres__i,.phead__i,.brand img,.ftr__b img){filter:brightness(0)!important}
html[data-a11y=wb] :is(.strip__i img,.dent__l img,.card__i,.pick__empty img,.pres__i,.phead__i,.brand img,.ftr__b img){filter:brightness(0) invert(1)!important}
html[data-a11y][data-a11y-img=gray] :is(img,iframe){filter:grayscale(1)!important}
html[data-a11y][data-a11y-img=off] img{display:none!important}
html[data-a11y][data-a11y-img=off] :is(.gal figure,.dent__fig,.scans__i){padding:10px}

/* панель настроек */
html[data-a11y] .a11y{display:block;border-bottom:3px solid var(--a-fg)!important;padding:14px 0}
.a11y__in{display:flex;flex-wrap:wrap;align-items:center;gap:12px 28px}
.a11y__g{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.a11y__l{font-weight:700}
.a11y button{min-width:48px;min-height:48px;padding:4px 14px;border-radius:6px;font-weight:700;cursor:pointer}
/* сама панель не растёт вместе со шрифтом сайта, чтобы на телефоне не занимать весь экран */
html[data-a11y] .a11y *{font-size:20px!important;letter-spacing:0!important;word-spacing:0!important}
html[data-a11y] .a11y [data-k=size][data-v="1"]{font-size:20px!important}
html[data-a11y] .a11y [data-k=size][data-v="2"]{font-size:26px!important}
html[data-a11y] .a11y [data-k=size][data-v="3"]{font-size:32px!important}
html[data-a11y] .a11y [data-k=color][data-v=bw]{background-color:#fff!important;color:#000!important;border-color:#000!important}
html[data-a11y] .a11y [data-k=color][data-v=wb]{background-color:#000!important;color:#fff!important;border-color:#fff!important}
html[data-a11y] .a11y [data-k=color][data-v=blue]{background-color:#9dd1ff!important;color:#063462!important;border-color:#063462!important}
html[data-a11y] .a11y [data-k=color][data-v=brown]{background-color:#f7f3d6!important;color:#4d4b43!important;border-color:#4d4b43!important}
html[data-a11y] .a11y [data-k=color][aria-pressed=true]{outline:4px solid var(--a-fg);outline-offset:3px}
html[data-a11y] .a11y__off{margin-left:auto}

/* кнопка в шапке и ссылка в подвале */
.a11y-tgl svg{fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round}
.a11y-link{padding:0;border:0;background:none;color:var(--ink2);text-decoration:underline;text-underline-offset:2px;font:inherit;cursor:pointer}
.a11y-link:hover{color:var(--green-d)}
html[data-a11y] .a11y-tgl{display:none}
html[data-a11y] .a11y-link{padding:4px 12px}
