/* ============================================================================
   Версия для слабовидящих — стили панели и режимов отображения.
   Подключается на всех страницах вместе с vi.js. Вынесено в отдельный файл,
   чтобы главная (у неё собственные стили) пользовалась теми же правилами.
   ============================================================================ */
/* ===================== ВЕРСИЯ ДЛЯ СЛАБОВИДЯЩИХ =====================
   Разметку панели и кнопку вставляет vi.js; состояние общее для всех страниц.
   Три цветовые схемы и регулировка интервала — по ГОСТ Р 52872-2019. */
.vi-panel { display:none; }

/* Размер шрифта задаём на body: правило на html перебивалось body{font-size:16px},
   и режим «А+» раньше не увеличивал текст. */
html.vi body { font-size:18px; }
html.vi[data-fs="2"] body { font-size:21px; }
html.vi[data-fs="3"] body { font-size:25px; }
html.vi[data-ls="2"] body { letter-spacing:0.09em; word-spacing:0.16em; line-height:1.9; }

/* Схема 1 — чёрным по белому (по умолчанию) */
html.vi {
  --vi-bg:#ffffff; --vi-ink:#000000; --vi-acc:#0b3d91; --vi-acc-ink:#ffffff;
  --bg:var(--vi-bg); --bg-2:var(--vi-bg);
  --ink:var(--vi-ink); --ink-2:var(--vi-ink); --ink-3:var(--vi-ink);
  --gold:var(--vi-ink); --gold-2:var(--vi-acc); --gold-deep:var(--vi-acc);
  --green:var(--vi-acc); --green-deep:var(--vi-acc);
  --line:var(--vi-ink); --line-soft:var(--vi-ink);
}
/* Схема 2 — белым по чёрному */
html.vi[data-vc="wb"] { --vi-bg:#000000; --vi-ink:#ffffff; --vi-acc:#ffd34d; --vi-acc-ink:#000000; }
/* Схема 3 — тёмно-синим по голубому */
html.vi[data-vc="bb"] { --vi-bg:#9dd1ff; --vi-ink:#063462; --vi-acc:#063462; --vi-acc-ink:#9dd1ff; }

html.vi body { background:var(--vi-bg); color:var(--vi-ink); }
html.vi .flag-stripe { display:none !important; }
html.vi * { box-shadow:none !important; text-shadow:none !important; }
html.vi .stub-nav, html.vi .stub-footer,
html.vi .card, html.vi .ccard, html.vi .cbox, html.vi .dcat, html.vi .ncard,
html.vi .faq details, html.vi .doc .note { background:var(--vi-bg) !important; color:var(--vi-ink) !important; }
html.vi .stub-footer { border-top:2px solid var(--vi-ink); }
html.vi a { color:var(--vi-ink); text-decoration:underline; }
html.vi .btn-gold, html.vi .chip.active, html.vi .pg.on, html.vi .gtab.active {
  background:var(--vi-acc) !important; color:var(--vi-acc-ink) !important; border-color:var(--vi-acc) !important; }
html.vi :focus-visible { outline:3px solid var(--vi-acc) !important; outline-offset:2px; }

/* Липкая шапка в этом режиме отключается: вместе с панелью настроек
   она съедала пол-экрана и закрывала текст. */
html.vi .stub-nav, html.vi .site-header, html.vi header.sticky { position:static !important; }
html.vi { scroll-padding-top:0; }

/* Анимация появления блоков не должна прятать контент: при увеличении
   масштаба наблюдатель не срабатывает, и текст оставался невидимым. */
html.vi .reveal { opacity:1 !important; transform:none !important; }

html.vi.vi-noimg img,
html.vi.vi-noimg iframe,
html.vi.vi-noimg svg:not(.vi-panel svg),
html.vi.vi-noimg .gtile .bg,
html.vi.vi-noimg .cmap,
html.vi.vi-noimg [style*="background-image"] { display:none !important; }

html.vi .vi-panel {
  display:flex; flex-wrap:wrap; align-items:center; gap:10px 18px;
  position:relative; z-index:200; background:#000; color:#fff; padding:12px 32px; font-size:15px;
}
.vi-panel .vi-lab { opacity:0.9; font-weight:600; }
.vi-panel .vi-grp { display:flex; align-items:center; gap:8px; }
.vi-panel button { background:#fff; color:#000; border:2px solid #fff; border-radius:3px; padding:6px 14px; font:inherit; font-weight:700; cursor:pointer; }
.vi-panel button:hover { background:#ffd34d; }
.vi-panel button:focus-visible { outline:3px solid #ffd34d; outline-offset:2px; }
/* Выбранная настройка видна и без цвета — по рамке и подчёркиванию */
.vi-panel button.on { background:#ffd34d; color:#000; border-color:#000; text-decoration:underline; }
.vi-panel .sw { width:38px; }
.vi-panel .sw-wb { background:#000; color:#fff; border-color:#fff; }
.vi-panel .sw-bb { background:#9dd1ff; color:#063462; border-color:#063462; }
.vi-panel .vi-off { margin-left:auto; background:#0b3d91; color:#fff; border-color:#0b3d91; }
@media (max-width:700px) { html.vi .vi-panel { padding:10px 16px; font-size:14px; } .vi-panel .vi-off { margin-left:0; } }

/* кнопка включения в шапке */
.vi-open { background:none; border:1px solid var(--line); border-radius:var(--r); color:var(--ink-2); font:inherit; font-size:13.5px; font-weight:600; cursor:pointer; padding:10px 16px; display:inline-flex; align-items:center; gap:8px; transition:all .25s var(--ease); margin-left:auto; margin-right:10px; }
.vi-open:hover { border-color:var(--gold); color:var(--gold-2); }
.vi-open svg { width:15px; height:15px; flex-shrink:0; }
html.vi .vi-open { display:none; }
@media (max-width:900px) { .vi-open span { display:none; } .vi-open { padding:11px 13px; margin-right:8px; } }
