/* ===== Версия для слабовидящих ===== */

.skip-link { position: absolute; left: -9999px; top: 8px; z-index: 200; background: #000; color: #fff; padding: 12px 18px; border-radius: 8px; font-weight: 700; }
.skip-link:focus { left: 8px; color: #fff; }

.a11y-toggle {
    display: inline-flex; align-items: center; gap: 8px; background: transparent; color: #E9ECEC;
    border: 1px solid #5B5D61; border-radius: 999px; padding: 5px 12px; font: 600 13px 'Golos Text', sans-serif; cursor: pointer;
}
.a11y-toggle:hover { color: #fff; border-color: #7FCBD3; }
.logo-text { display: none; }

.a11y-panel { display: none; }
html.a11y .a11y-panel { display: block; }
.a11y-panel { background: #fff; color: #000; border-bottom: 3px solid #000; position: relative; z-index: 100; }
.a11y-panel-inner {
    max-width: 1240px; margin: 0 auto; padding: 12px 24px; display: flex; flex-wrap: wrap;
    align-items: center; gap: 12px 28px; font: 600 16px Arial, sans-serif;
}
.a11y-group { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.a11y-label { margin-right: 4px; }
.a11y-panel button {
    min-width: 44px; height: 44px; padding: 0 12px; border: 2px solid #000; background: #fff; color: #000;
    font-family: Arial, sans-serif; font-weight: 700; border-radius: 6px; cursor: pointer;
}
.a11y-panel button[aria-pressed="true"] { outline: 3px solid #000; outline-offset: 2px; background: #000; color: #fff; }
.a11y-panel .sw-bw { background: #fff !important; color: #000 !important; }
.a11y-panel .sw-wb { background: #000 !important; color: #fff !important; }
.a11y-panel .sw-blue { background: #9DD1FF !important; color: #063462 !important; border-color: #063462; }
.a11y-panel .sw-beige { background: #F7F3D6 !important; color: #4D4B43 !important; border-color: #4D4B43; }
.a11y-panel .a11y-sw[aria-pressed="true"] { outline: 3px solid #000; outline-offset: 3px; }
.a11y-panel .a11y-off { margin-left: auto; }

/* --- общие правила режима --- */
html.a11y body, html.a11y body * { font-family: Arial, Helvetica, sans-serif !important; }
html.a11y *:not(.a11y-panel *) { box-shadow: none !important; text-shadow: none !important; transition: none !important; }
html.a11y .hero-deco, html.a11y .wa-float, html.a11y .director-quote::before { display: none !important; }
html.a11y a:not(.btn):not(.chip):not(.nav-link) { text-decoration: underline !important; }
html.a11y :focus-visible { outline: 3px solid currentColor !important; outline-offset: 3px; }
html.a11y .a11y-toggle span::after { content: " ✓"; }

/* --- размер шрифта --- */
html.a11y-fs-2 body { zoom: 1.25; }
html.a11y-fs-3 body { zoom: 1.5; }

/* --- интервал --- */
html.a11y-ls-2 body *:not(.a11y-panel *) { letter-spacing: .12em !important; word-spacing: .2em !important; line-height: 1.8 !important; }

/* --- изображения выключены --- */
html.a11y-noimg img { display: none !important; }
html.a11y-noimg .logo-text { display: inline; font-size: 22px; font-weight: 700; }
html.a11y-noimg .hero-photo, html.a11y-noimg .about-media, html.a11y-noimg .news-img, html.a11y-noimg .doctor-photo { display: none !important; }

/* --- цветовые схемы (фон, текст, рамки) --- */
html.a11y-c-bw { --a-bg: #FFFFFF; --a-fg: #000000; }
html.a11y-c-wb { --a-bg: #000000; --a-fg: #FFFFFF; }
html.a11y-c-blue { --a-bg: #9DD1FF; --a-fg: #063462; }
html.a11y-c-beige { --a-bg: #F7F3D6; --a-fg: #4D4B43; }

html.a11y body,
html.a11y body *:not(.a11y-panel):not(.a11y-panel *) {
    background-color: var(--a-bg) !important;
    background-image: none !important;
    color: var(--a-fg) !important;
    border-color: var(--a-fg) !important;
}
html.a11y body svg *:not(.a11y-panel *) { stroke: var(--a-fg) !important; }
html.a11y body svg [fill]:not([fill="none"]) { fill: var(--a-fg) !important; }

/* кнопки и карточки — с рамкой, чтобы были различимы */
html.a11y .btn, html.a11y .chip, html.a11y .nav-link, html.a11y .lang-switch a,
html.a11y .gov-card, html.a11y .service, html.a11y .checkup, html.a11y .doctor-card, html.a11y .review,
html.a11y .side-card, html.a11y .form-card, html.a11y .stats, html.a11y .algo, html.a11y .about-band,
html.a11y .director-quote, html.a11y .dropdown-inner, html.a11y .a11y-toggle {
    border: 2px solid var(--a-fg) !important;
}
html.a11y body :is(.btn-primary, .lang-switch a.active, .nav-link.active, .pagination .active):not(.a11y-panel *):not(.a11y-x) {
    background-color: var(--a-fg) !important; color: var(--a-bg) !important;
}
html.a11y .algo li::before { background: var(--a-fg) !important; color: var(--a-bg) !important; }
html.a11y input, html.a11y textarea, html.a11y select { border: 2px solid var(--a-fg) !important; }
html.a11y .header { position: static; }

@media (max-width: 760px) {
    .a11y-toggle span { display: none; }
    .a11y-panel-inner { padding: 10px 16px; gap: 10px 16px; font-size: 14px; }
    .a11y-panel .a11y-off { margin-left: 0; }
}
