/* Версия для слабовидящих: размер текста, цветовая схема, картинки.
   Состояние — классы на <html>, их ставит a11y.js и помнит в localStorage. */
.a11y-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 12px; border: 1.5px solid currentColor; border-radius: 999px; background: transparent; color: inherit; font: 600 14px var(--f-t, sans-serif); cursor: pointer; white-space: nowrap; }
.a11y-btn svg { width: 20px; height: 20px; flex: none; }
/* в шапке только иконка-глаз; подпись остаётся для экранного диктора */
.a11y-btn { width: 40px; padding: 0; justify-content: center; }
.a11y-btn span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.a11y-pop { position: fixed; z-index: 200; top: 84px; right: 16px; width: min(360px, calc(100vw - 32px)); padding: 18px; border-radius: 16px; background: #fff; color: #0e1621; box-shadow: 0 20px 60px rgba(0,0,0,.35); font: 400 16px/1.4 var(--f-t, sans-serif); zoom: 1 !important; }
.a11y-pop[hidden] { display: none; }
.a11y-pop h2 { margin: 0 0 12px; font: 800 18px var(--f-d, sans-serif); letter-spacing: 0; }
.a11y-pop fieldset { margin: 0 0 12px; padding: 0; border: 0; }
.a11y-pop legend { margin-bottom: 6px; font-weight: 600; }
.a11y-row { display: flex; gap: 8px; flex-wrap: wrap; }
.a11y-row button, .a11y-pop .a11y-close { min-height: 44px; padding: 0 14px; border: 2px solid #0e1621; border-radius: 10px; background: #fff; color: #0e1621; font: 700 16px var(--f-t, sans-serif); cursor: pointer; }
.a11y-row button[aria-pressed="true"] { background: #0e1621; color: #fff; }
.a11y-row [data-c="bw"] { background: #fff; color: #000; }
.a11y-row [data-c="wb"] { background: #000; color: #fff; }
.a11y-row [data-c="bl"] { background: #9dd1ff; color: #003366; }
.a11y-row [data-c][aria-pressed="true"] { outline: 4px solid #ff6a13; outline-offset: 2px; }
.a11y-pop .a11y-close { width: 100%; margin-top: 4px; }

html.a11y-fs-1 body { zoom: 1.2; }
html.a11y-fs-2 body { zoom: 1.45; }
html.a11y-fs-3 body { zoom: 1.75; }

html.a11y-on *, html.a11y-on *::before, html.a11y-on *::after { animation: none !important; transition: none !important; text-shadow: none !important; box-shadow: none !important; letter-spacing: .02em !important; }
html.a11y-on body { line-height: 1.7; }
html.a11y-on a { text-decoration: underline !important; }
html.a11y-on .hdr { position: absolute; background: transparent; }
html.a11y-on .nav, html.a11y-on .hdr__cta { opacity: 1; }
html.a11y-on :focus-visible { outline: 4px solid #ff6a13 !important; outline-offset: 3px; }
html.a11y-noimg img, html.a11y-noimg picture, html.a11y-noimg video { display: none !important; }
html.a11y-noimg * { background-image: none !important; }

html.a11y-c-bw body, html.a11y-c-bw body *:not(.a11y-pop):not(.a11y-pop *) { background: #fff !important; color: #000 !important; border-color: #000 !important; }
html.a11y-c-bw a:not(.a11y-pop *) { color: #0000cc !important; }
html.a11y-c-wb body, html.a11y-c-wb body *:not(.a11y-pop):not(.a11y-pop *) { background: #000 !important; color: #fff !important; border-color: #fff !important; }
html.a11y-c-wb a:not(.a11y-pop *) { color: #ffe600 !important; }
html.a11y-c-bl body, html.a11y-c-bl body *:not(.a11y-pop):not(.a11y-pop *) { background: #9dd1ff !important; color: #003366 !important; border-color: #003366 !important; }
html.a11y-c-bl a:not(.a11y-pop *) { color: #002080 !important; }
html[class*="a11y-c-"] .btn, html[class*="a11y-c-"] button:not(.a11y-pop *) { border: 2px solid currentColor !important; }
html[class*="a11y-c-"] img { filter: grayscale(1) contrast(1.1); }

@media (max-width: 760px) {
  .a11y-btn span { display: none; }
  .a11y-btn { padding: 0; width: 40px; justify-content: center; }
  .a11y-pop { top: 70px; }
}
