/* Версия для слабовидящих (ГОСТ Р 52872-2019), перенесена с iqupschool.ru 30.10.2026.
 * Настройки — атрибуты на <html> из assets/js/a11y.js: data-a11y-scheme (bw, wb, brown, blue), -size (1–3), -spacing, -img (gray, off), -cursor.
 * Схемы перекрашивают всё содержимое одним правилом, а не по классам: новый блок получит схему сам.
 * Панель .a11yw — прямой ребёнок body, в правила не попадает и всегда выглядит одинаково. */

/* ---------- Кнопка-глаз в меню и ссылка в подвале ---------- */
.nav .eye{display:grid;place-items:center;width:38px;height:38px;flex:none;padding:0;color:var(--ink);background:none;border:0;border-radius:10px;cursor:pointer;transition:background .15s}
.nav .eye svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.nav .eye:hover,.nav .eye:focus-visible{background:rgba(255,255,255,.7)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.linkbtn{all:unset;cursor:pointer;color:inherit}
.linkbtn:hover{color:#fff}
.linkbtn:focus-visible{outline:2px solid currentColor;outline-offset:3px}

/* ---------- Панель справа ---------- */
/* Карточка у правого края по высоте содержимого, страница не затемняется и остаётся доступной */
.a11yw{position:fixed;z-index:1300;top:50%;right:0;pointer-events:none;font:400 16px/1.35 Arial,Helvetica,sans-serif;letter-spacing:0;word-spacing:0}
.a11yw[hidden]{display:none}
.a11yw__shade{display:none}
.a11yw__panel{pointer-events:auto;width:min(320px,100vw - 24px);max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain;padding:14px 14px 16px;background:#fff;color:#111;border-radius:14px 0 0 14px;box-shadow:-8px 8px 40px rgba(11,12,12,.22),0 0 0 1px rgba(11,12,12,.06);outline:none;transform:translate(100%,-50%);transition:transform .25s cubic-bezier(.2,.8,.2,1)}
.a11yw.is-open .a11yw__panel{transform:translate(0,-50%)}
@media (prefers-reduced-motion:reduce){.a11yw__panel{transition:none}}
.a11yw__head{display:flex;align-items:flex-start;gap:12px;margin-bottom:6px}
.a11yw__title{flex:1;margin:0;font:700 19px/1.2 Arial,Helvetica,sans-serif;color:#111}
.a11yw__close{flex:none;width:40px;height:40px;margin:-6px -6px 0 0;font:400 32px/1 Arial,sans-serif;color:#111;background:none;border:0;border-radius:8px;cursor:pointer}
.a11yw__close:hover{background:#eeeeec}
.a11yw__label{margin:11px 0 5px;font:700 15px/1.2 Arial,Helvetica,sans-serif;color:#111}
.a11yw__hint{margin:4px 0 0;font-size:12px;color:#555}
.a11yw__hint:empty{display:none}
.a11yw button{font-family:Arial,Helvetica,sans-serif;cursor:pointer}
.a11yw__row{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.a11yw__row--3{grid-template-columns:repeat(3,1fr)}
.a11yw__row button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:36px;padding:4px 8px;font-size:14px;color:#111;background:#f1f1ef;border:2px solid transparent;border-radius:8px}
.a11yw__row button:hover{background:#e4e4e1}
.a11yw__row svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.a11yw__row svg.a11yw__big{width:26px;height:26px;stroke:none}
.a11yw__strike{stroke:#d33;stroke-width:2.4}
.a11yw__schemes{display:grid;gap:5px}
.a11yw__scheme{min-height:32px;padding:5px 12px;text-align:left;font-size:14px;border:2px solid transparent;border-radius:8px}
.a11yw__scheme--none{color:#0b0c0c;background:#f4f4f3}
.a11yw__scheme--bw{color:#000;background:#fff;border-color:#d5d5d2}
.a11yw__scheme--wb{color:#fff;background:#000}
.a11yw__scheme--brown{color:#4d4b43;background:#f7f3d6}
.a11yw__scheme--blue{color:#063462;background:#9dd1ff}
.a11yw [aria-pressed="true"]{border-color:#0b0c0c;box-shadow:0 0 0 2px #fff inset}
.a11yw__row [aria-pressed="true"]{background:#0b0c0c;color:#fff}
.a11yw__scheme[aria-pressed="true"]::after{content:" ✓";font-weight:700}
.a11yw button:focus-visible{outline:3px solid #0039a6;outline-offset:2px}
.a11yw__reset{display:block;width:100%;min-height:40px;margin-top:14px;font-size:15px;font-weight:700;color:#fff;background:#0b0c0c;border:0;border-radius:8px}
.a11yw__reset:hover{background:#333}

/* ---------- Любой режим: закреплённые блоки становятся обычными ---------- */
/* С крупным шрифтом закреплённый экран не вмещает содержимое, поэтому всё показываем сразу */
html.a11y .pin-wrap,html.a11y .h-wrap,html.a11y .how-wrap{height:auto!important}
html.a11y .pin{position:static!important;height:auto!important;padding-top:0}
html.a11y .track{transform:none!important;width:auto!important;flex-wrap:wrap;padding-right:0}
html.a11y .hview{padding-left:max(16px,calc((100vw - var(--wrap)) / 2 + 16px));padding-right:max(16px,calc((100vw - var(--wrap)) / 2 + 16px))}
html.a11y .fine-card{height:auto;min-height:260px}
html.a11y .toc{position:static}
html.a11y .top{position:relative}

/* ---------- Цветовые схемы ---------- */
html[data-a11y-scheme="bw"]{--a-bg:#fff;--a-fg:#000}
html[data-a11y-scheme="wb"]{--a-bg:#000;--a-fg:#fff}
html[data-a11y-scheme="brown"]{--a-bg:#f7f3d6;--a-fg:#4d4b43}
html[data-a11y-scheme="blue"]{--a-bg:#9dd1ff;--a-fg:#063462}

html[data-a11y-scheme],html[data-a11y-scheme] body{background:var(--a-bg)!important;color:var(--a-fg)!important}
html[data-a11y-scheme] :is(body > :not(.a11yw),body > :not(.a11yw) *),
html[data-a11y-scheme] :is(body > :not(.a11yw),body > :not(.a11yw) *)::before,
html[data-a11y-scheme] :is(body > :not(.a11yw),body > :not(.a11yw) *)::after{
  background-color:transparent!important;background-image:none!important;
  color:var(--a-fg)!important;border-color:var(--a-fg)!important;outline-color:var(--a-fg)!important;
  box-shadow:none!important;text-shadow:none!important;-webkit-text-fill-color:currentColor!important;backdrop-filter:none!important;
  /* анимации проматываются в конечное состояние, иначе то, что проявляется анимацией, останется скрытым */
  animation-duration:.001ms!important;animation-delay:0s!important;animation-iteration-count:1!important;transition-duration:0s!important;transition-delay:0s!important}
/* Окна поверх страницы получают фон схемы, иначе под ними просвечивает текст */
html[data-a11y-scheme] :is(.nav,.cookie,.fbm__card,.browser,.mock-cookie){background-color:var(--a-bg)!important;border:2px solid var(--a-fg)!important}
html[data-a11y-scheme] .fbm__overlay{background-color:rgba(0,0,0,.5)!important}
/* Кнопки — инверсией */
html[data-a11y-scheme] :is(.btn-dark,.btn--primary,.btn--accent,.nav .cta,.cart,.send,.go,.cookie .btn--primary,.scan-lead .btn--primary){background-color:var(--a-fg)!important;color:var(--a-bg)!important;border:2px solid var(--a-fg)!important}
html[data-a11y-scheme] :is(.btn-dark,.btn--primary,.btn--accent,.nav .cta,.cart,.send,.go) *{color:var(--a-bg)!important}
html[data-a11y-scheme] :is(.btn-soft,.btn--ghost,.btn-light,.btn-ghost-dark,.arrows button){background-color:transparent!important;color:var(--a-fg)!important;border:2px solid var(--a-fg)!important}
/* Поля форм */
html[data-a11y-scheme] :is(input:not([type="checkbox"]):not([type="radio"]),select,textarea){background-color:var(--a-bg)!important;border:2px solid var(--a-fg)!important}
html[data-a11y-scheme] :is(input,select,textarea)::placeholder{color:var(--a-fg)!important;opacity:.75}
html[data-a11y-scheme] input:is([type="checkbox"],[type="radio"]){accent-color:var(--a-fg)}
/* Карточки и плашки: фон убран — рамка держит форму */
html[data-a11y-scheme] :is(.card,.stage,.panel,.doc,.fine-card,.lawgrid .law,.tldr,.scard,.stile,.sfcard,.quiz,.result,.opt,.scan-box,.post-cta,.law-band,.cover,.toc,.tbl-wrap,.lead__ok) {border:2px solid var(--a-fg)!important}
/* SVG-иконки — цветом схемы */
html[data-a11y-scheme] body > :not(.a11yw) svg:not([fill="none"]){fill:currentColor}
html[data-a11y-scheme] body > :not(.a11yw) svg :is(path,line,circle,rect,polyline,polygon,ellipse):not([stroke="none"]){stroke:currentColor!important}
/* Украшения не нужны: текст поверх них читается хуже */
html[data-a11y-scheme] :is(.cover i,.cover::after,.fine-card::before,.dots,.platforms){display:none!important}
html[data-a11y-scheme] .cover{aspect-ratio:auto;min-height:110px}
/* Ссылки подчёркнуты, фокус заметен */
html[data-a11y-scheme] body > :not(.a11yw) a:not(.btn):not(.logo):not(.art):not(.card):not(.law){text-decoration:underline!important;text-underline-offset:3px}
html[data-a11y-scheme] body > :not(.a11yw) :focus-visible{outline:3px solid var(--a-fg)!important;outline-offset:3px}

/* ---------- Шрифт и размер текста ---------- */
html:is([data-a11y-scheme],[data-a11y-size]) :is(body > :not(.a11yw),body > :not(.a11yw) *){font-family:Arial,Helvetica,sans-serif!important;font-style:normal!important}
html[data-a11y-size="1"]{--a-fs:20px}
html[data-a11y-size="2"]{--a-fs:24px}
html[data-a11y-size="3"]{--a-fs:28px}
html[data-a11y-size] body{font-size:var(--a-fs)!important}
html[data-a11y-size] :is(body > :not(.a11yw),body > :not(.a11yw) *){font-size:inherit!important;line-height:1.5!important;overflow-wrap:anywhere;hyphens:auto}
html[data-a11y-size] body > :not(.a11yw) :is(h1,.post-head h1){font-size:calc(var(--a-fs) * 1.7)!important;line-height:1.2!important}
html[data-a11y-size] body > :not(.a11yw) :is(h2,.sum,.price,.stat b,.pnums b,blockquote){font-size:calc(var(--a-fs) * 1.4)!important;line-height:1.25!important}
html[data-a11y-size] body > :not(.a11yw) h3{font-size:calc(var(--a-fs) * 1.15)!important}
html[data-a11y-size] body > :not(.a11yw) :is(h1,h2,h3) *{font-size:inherit!important}
/* Крупный текст не должен обрезаться фиксированной высотой */
html[data-a11y-size] body > :not(.a11yw) :is(.card,.fine-card,.lawgrid .law,.btn,.stile,.sfcard,.cover,.doc,.panel){height:auto!important;min-height:0;max-height:none!important}
html[data-a11y-size] body > :not(.a11yw) :is(.btn,.nav .cta){white-space:normal!important;max-width:100%;height:auto;padding-block:.4em;text-align:center}
html[data-a11y-size] .nav{flex-wrap:wrap;row-gap:8px}
html[data-a11y-size] .nav .links{display:none}
html[data-a11y-size] :is(.cards3,.lawgrid,.steps4,.stats,.pnums,.rel-grid,.hub-grid,.trust){grid-template-columns:1fr!important}
html[data-a11y-size] :is(.split,.about,.faq,.flow,.post-grid,.quiz-grid,.stage,.cta2,.sgrid2,.scan-two){grid-template-columns:1fr!important}

/* ---------- Интервал ---------- */
html[data-a11y-spacing] :is(body > :not(.a11yw),body > :not(.a11yw) *){letter-spacing:.12em!important;word-spacing:.25em!important;line-height:1.8!important}

/* ---------- Изображения ---------- */
html[data-a11y-img="gray"] main :is(img,video,picture,svg,.cover){filter:grayscale(1)!important}
html[data-a11y-img="off"] body > :not(.a11yw) :is(img,video,picture,.cover i,.cv-ic){display:none!important}
html[data-a11y-img="off"] :is(body > :not(.a11yw),body > :not(.a11yw) *){background-image:none!important}

/* ---------- Крупный курсор ---------- */
html[data-a11y-cursor],html[data-a11y-cursor] *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M6 3l34 19-14 4-7 15z' fill='%23000' stroke='%23fff' stroke-width='3' stroke-linejoin='round'/%3E%3C/svg%3E") 6 3,auto!important}

/* ---------- Чтение вслух: что сейчас читается ---------- */
.a11y-reading{outline:3px dashed #0039a6!important;outline-offset:4px}
html[data-a11y-scheme] .a11y-reading{outline-color:var(--a-fg)!important}

/* Вилка штрафа: подписи в строку, а не поверх текста */
html.a11y .range{height:auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px 14px;padding-top:12px}
html.a11y .range span{position:static!important;transform:none!important}
