/**
 * БФ «Ева» — Версия для слабовидящих (ГОСТ Р 52872-2019)
 */

/* ==========================================================================
   Панель для слабовидящих (ГОСТ Р 52872-2019)
   ========================================================================== */

/* ==========================================================================
   Версия для слабовидящих (ГОСТ Р 52872-2019)
   ========================================================================== */

#eva-bvi-panel {
    display: none;
    width: 100%;
    background: #f4f4f4;
    color: #111111;
    border-bottom: 2px solid #333333;
    padding: 6px 0;
    box-sizing: border-box;
    position: relative;
    z-index: 999999;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 14px;
    line-height: 1.3;
}

html.bvi-active #eva-bvi-panel,
body.bvi-active #eva-bvi-panel {
    display: block !important;
}

.eva-bvi-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 6px 14px;
}

.eva-bvi-section {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.eva-bvi-title {
    font-weight: 700;
    font-size: 13px;
    margin-right: 2px;
    white-space: nowrap;
}

.eva-bvi-actions {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.eva-bvi-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    color: #000000;
    border: 2px solid #000000;
    padding: 4px 10px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 700;
    cursor: pointer;
    line-height: 1.2;
    transition: background 0.15s, color 0.15s, border-color 0.15s;
    text-decoration: none !important;
}

.eva-bvi-btn:hover {
    background: #e0e0e0;
}

.eva-bvi-btn.active {
    background: #000000 !important;
    color: #ffffff !important;
    outline: 2px solid #ff8800 !important;
    outline-offset: 1px;
}

/* Кнопки выбора цвета */
.eva-bvi-color-btn {
    width: 32px;
    height: 30px;
    padding: 0;
    font-weight: 800;
    font-size: 15px;
}

.eva-bvi-color-btn.bvi-theme-white {
    background: #ffffff !important;
    color: #000000 !important;
    border-color: #000000 !important;
}
.eva-bvi-color-btn.bvi-theme-black {
    background: #000000 !important;
    color: #ffffff !important;
    border-color: #ffffff !important;
}
.eva-bvi-color-btn.bvi-theme-blue {
    background: #cce5ff !important;
    color: #063462 !important;
    border-color: #063462 !important;
}

.eva-bvi-color-btn.active {
    outline: 3px solid #ff8800 !important;
    outline-offset: 2px;
}

/* Кнопка синтеза речи */
#eva-bvi-speech-btn.active {
    background: #007700 !important;
    color: #ffffff !important;
    border-color: #005500 !important;
    outline: 2px solid #ff8800 !important;
}

/* Кнопка обычной версии сайта */
.eva-bvi-btn-exit {
    background: #d9534f !important;
    color: #ffffff !important;
    border-color: #c9302c !important;
    font-weight: 700 !important;
}
.eva-bvi-btn-exit:hover {
    background: #c9302c !important;
}

/* Базовые правила для слабовидящих */
html.bvi-active,
body.visually-impaired {
    font-family: Arial, Helvetica, "Segoe UI", sans-serif !important;
}

html.bvi-active *,
body.visually-impaired * {
    transition: none !important;
    animation: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

html.bvi-active a:not(.eva-bvi-btn):not(.btn-visually-impaired),
body.visually-impaired a:not(.eva-bvi-btn):not(.btn-visually-impaired) {
    text-decoration: underline !important;
    font-weight: 700 !important;
}

/* Сброс высоты карточек и декораций */
html.bvi-active .hero,
html.bvi-active .service-card,
html.bvi-active .program-card,
html.bvi-active .schedule-card,
html.bvi-active .about-stat-card,
html.bvi-active .partner-logo-card,
html.bvi-active .showcase-preview,
html.bvi-active .showcase-nav-item,
html.bvi-active .team-member-card,
html.bvi-active .review-card,
html.bvi-active .grant-card,
html.bvi-active .report-doc-card,
html.bvi-active .calc-card,
html.bvi-active .faq-accordion,
body.visually-impaired .hero,
body.visually-impaired .service-card,
body.visually-impaired .program-card,
body.visually-impaired .schedule-card,
body.visually-impaired .partner-logo-card,
body.visually-impaired .showcase-preview,
body.visually-impaired .showcase-nav-item {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    transform: none !important;
}

/* --- РАЗМЕРЫ ШРИФТОВ (FONT SIZE) --- */

/* Normal (100% / 16-18px) */
html[data-bvi-size="normal"],
body[data-bvi-size="normal"] {
    font-size: 16px !important;
}
html[data-bvi-size="normal"] body,
html[data-bvi-size="normal"] p,
html[data-bvi-size="normal"] li,
html[data-bvi-size="normal"] td,
html[data-bvi-size="normal"] th,
html[data-bvi-size="normal"] a:not(.eva-bvi-btn),
html[data-bvi-size="normal"] input,
html[data-bvi-size="normal"] select,
html[data-bvi-size="normal"] textarea {
    font-size: 16px !important;
    line-height: 1.5 !important;
}
html[data-bvi-size="normal"] h1 { font-size: 32px !important; line-height: 1.25 !important; }
html[data-bvi-size="normal"] h2 { font-size: 26px !important; line-height: 1.3 !important; }
html[data-bvi-size="normal"] h3 { font-size: 22px !important; line-height: 1.35 !important; }
html[data-bvi-size="normal"] h4 { font-size: 18px !important; line-height: 1.4 !important; }

/* Medium (130% / 20-22px - дефолт слабовидящих) */
html[data-bvi-size="medium"],
body[data-bvi-size="medium"],
body.visually-impaired:not([data-bvi-size]) {
    font-size: 20px !important;
}
html[data-bvi-size="medium"] body,
html[data-bvi-size="medium"] p,
html[data-bvi-size="medium"] li,
html[data-bvi-size="medium"] td,
html[data-bvi-size="medium"] th,
html[data-bvi-size="medium"] div:not(#eva-bvi-panel *):not(.header-actions):not(.header-socials),
html[data-bvi-size="medium"] span:not(#eva-bvi-panel *):not(.mobile-nav-toggle *):not(.btn-visually-impaired *),
html[data-bvi-size="medium"] a:not(.eva-bvi-btn):not(.btn-visually-impaired),
html[data-bvi-size="medium"] input,
html[data-bvi-size="medium"] select,
html[data-bvi-size="medium"] textarea,
html[data-bvi-size="medium"] button:not(#eva-bvi-panel *),
body.visually-impaired:not([data-bvi-size]) p,
body.visually-impaired:not([data-bvi-size]) li,
body.visually-impaired:not([data-bvi-size]) td,
body.visually-impaired:not([data-bvi-size]) span:not(#eva-bvi-panel *) {
    font-size: 20px !important;
    line-height: 1.6 !important;
}
html[data-bvi-size="medium"] h1,
body.visually-impaired:not([data-bvi-size]) h1 { font-size: 40px !important; line-height: 1.2 !important; }
html[data-bvi-size="medium"] h2,
body.visually-impaired:not([data-bvi-size]) h2 { font-size: 32px !important; line-height: 1.25 !important; }
html[data-bvi-size="medium"] h3,
body.visually-impaired:not([data-bvi-size]) h3 { font-size: 26px !important; line-height: 1.3 !important; }
html[data-bvi-size="medium"] h4,
body.visually-impaired:not([data-bvi-size]) h4 { font-size: 22px !important; line-height: 1.35 !important; }

/* Large (160% / 24-26px - максимальный размер) */
html[data-bvi-size="large"],
body[data-bvi-size="large"] {
    font-size: 24px !important;
}
html[data-bvi-size="large"] body,
html[data-bvi-size="large"] p,
html[data-bvi-size="large"] li,
html[data-bvi-size="large"] td,
html[data-bvi-size="large"] th,
html[data-bvi-size="large"] div:not(#eva-bvi-panel *):not(.header-actions):not(.header-socials),
html[data-bvi-size="large"] span:not(#eva-bvi-panel *):not(.mobile-nav-toggle *):not(.btn-visually-impaired *),
html[data-bvi-size="large"] a:not(.eva-bvi-btn):not(.btn-visually-impaired),
html[data-bvi-size="large"] input,
html[data-bvi-size="large"] select,
html[data-bvi-size="large"] textarea,
html[data-bvi-size="large"] button:not(#eva-bvi-panel *) {
    font-size: 24px !important;
    line-height: 1.7 !important;
}
html[data-bvi-size="large"] h1 { font-size: 48px !important; line-height: 1.15 !important; }
html[data-bvi-size="large"] h2 { font-size: 38px !important; line-height: 1.2 !important; }
html[data-bvi-size="large"] h3 { font-size: 30px !important; line-height: 1.25 !important; }
html[data-bvi-size="large"] h4 { font-size: 26px !important; line-height: 1.3 !important; }

/* --- ЦВЕТОВЫЕ СХЕМЫ (THEMES) --- */

/* Схема 1: Черным по белому (White Theme) */
html[data-bvi-theme="white"],
html[data-bvi-theme="white"] body,
body.visually-impaired:not([data-bvi-theme]) {
    background: #ffffff !important;
    color: #000000 !important;
}
html[data-bvi-theme="white"] #eva-bvi-panel {
    background: #f0f0f0 !important;
    color: #000000 !important;
    border-bottom: 2px solid #000000 !important;
}
html[data-bvi-theme="white"] header,
html[data-bvi-theme="white"] nav,
html[data-bvi-theme="white"] footer,
html[data-bvi-theme="white"] main,
html[data-bvi-theme="white"] section,
html[data-bvi-theme="white"] .site-modal-content,
html[data-bvi-theme="white"] .booking-modal-content {
    background: #ffffff !important;
    color: #000000 !important;
    border-color: #000000 !important;
}
html[data-bvi-theme="white"] header {
    border-bottom: 3px solid #000000 !important;
}
html[data-bvi-theme="white"] .schedule-card,
html[data-bvi-theme="white"] .service-card,
html[data-bvi-theme="white"] .sidebar-widget,
html[data-bvi-theme="white"] .partner-logo-card,
html[data-bvi-theme="white"] .program-card,
html[data-bvi-theme="white"] .showcase-preview,
html[data-bvi-theme="white"] .showcase-nav-item,
html[data-bvi-theme="white"] .about-stat-card,
html[data-bvi-theme="white"] .team-member-card,
html[data-bvi-theme="white"] .review-card,
html[data-bvi-theme="white"] .grant-card,
html[data-bvi-theme="white"] .report-doc-card,
html[data-bvi-theme="white"] .faq-accordion,
html[data-bvi-theme="white"] .calc-card {
    background: #ffffff !important;
    border: 2px solid #000000 !important;
    color: #000000 !important;
}
html[data-bvi-theme="white"] a:not(.eva-bvi-btn):not(.btn-primary):not(.btn-donate):not(.btn-volunteer):not(.schedule-card-btn) {
    color: #0022bb !important;
}
html[data-bvi-theme="white"] .btn-primary,
html[data-bvi-theme="white"] .btn-secondary,
html[data-bvi-theme="white"] .btn-donate,
html[data-bvi-theme="white"] .btn-volunteer,
html[data-bvi-theme="white"] .schedule-card-btn,
html[data-bvi-theme="white"] button:not(.eva-bvi-btn),
html[data-bvi-theme="white"] input[type="submit"] {
    background: #000000 !important;
    color: #ffffff !important;
    border: 2px solid #000000 !important;
}
html[data-bvi-theme="white"] input,
html[data-bvi-theme="white"] select,
html[data-bvi-theme="white"] textarea {
    background: #ffffff !important;
    color: #000000 !important;
    border: 2px solid #000000 !important;
}

/* Схема 2: Белым по черному (Black Theme) */
html[data-bvi-theme="black"],
html[data-bvi-theme="black"] body {
    background: #000000 !important;
    color: #ffffff !important;
}
html[data-bvi-theme="black"] #eva-bvi-panel {
    background: #1a1a1a !important;
    color: #ffffff !important;
    border-bottom: 2px solid #ffffff !important;
}
html[data-bvi-theme="black"] .eva-bvi-btn:not(.active):not(.eva-bvi-color-btn):not(.eva-bvi-btn-exit) {
    background: #2a2a2a !important;
    color: #ffffff !important;
    border-color: #ffffff !important;
}
html[data-bvi-theme="black"] .eva-bvi-btn.active:not(.eva-bvi-color-btn) {
    background: #ffffff !important;
    color: #000000 !important;
}
html[data-bvi-theme="black"] header,
html[data-bvi-theme="black"] nav,
html[data-bvi-theme="black"] footer,
html[data-bvi-theme="black"] main,
html[data-bvi-theme="black"] section,
html[data-bvi-theme="black"] .site-modal-content,
html[data-bvi-theme="black"] .booking-modal-content {
    background: #000000 !important;
    color: #ffffff !important;
    border-color: #ffffff !important;
}
html[data-bvi-theme="black"] header {
    border-bottom: 3px solid #ffffff !important;
}
html[data-bvi-theme="black"] .schedule-card,
html[data-bvi-theme="black"] .service-card,
html[data-bvi-theme="black"] .sidebar-widget,
html[data-bvi-theme="black"] .partner-logo-card,
html[data-bvi-theme="black"] .program-card,
html[data-bvi-theme="black"] .showcase-preview,
html[data-bvi-theme="black"] .showcase-nav-item,
html[data-bvi-theme="black"] .about-stat-card,
html[data-bvi-theme="black"] .team-member-card,
html[data-bvi-theme="black"] .review-card,
html[data-bvi-theme="black"] .grant-card,
html[data-bvi-theme="black"] .report-doc-card,
html[data-bvi-theme="black"] .faq-accordion,
html[data-bvi-theme="black"] .calc-card {
    background: #111111 !important;
    border: 2px solid #ffffff !important;
    color: #ffffff !important;
}
html[data-bvi-theme="black"] a:not(.eva-bvi-btn):not(.btn-primary):not(.btn-donate):not(.btn-volunteer):not(.schedule-card-btn) {
    color: #ffff00 !important;
}
html[data-bvi-theme="black"] .btn-primary,
html[data-bvi-theme="black"] .btn-secondary,
html[data-bvi-theme="black"] .btn-donate,
html[data-bvi-theme="black"] .btn-volunteer,
html[data-bvi-theme="black"] .schedule-card-btn,
html[data-bvi-theme="black"] button:not(.eva-bvi-btn),
html[data-bvi-theme="black"] input[type="submit"] {
    background: #ffffff !important;
    color: #000000 !important;
    border: 2px solid #ffffff !important;
}
html[data-bvi-theme="black"] input,
html[data-bvi-theme="black"] select,
html[data-bvi-theme="black"] textarea {
    background: #111111 !important;
    color: #ffffff !important;
    border: 2px solid #ffffff !important;
}
html[data-bvi-theme="black"] .logo img {
    filter: invert(1) brightness(1.5) !important;
}

/* Схема 3: Темно-синим по голубому (Blue Theme) */
html[data-bvi-theme="blue"],
html[data-bvi-theme="blue"] body {
    background: #cce5ff !important;
    color: #063462 !important;
}
html[data-bvi-theme="blue"] #eva-bvi-panel {
    background: #b8daff !important;
    color: #063462 !important;
    border-bottom: 2px solid #063462 !important;
}
html[data-bvi-theme="blue"] .eva-bvi-btn:not(.active):not(.eva-bvi-color-btn):not(.eva-bvi-btn-exit) {
    background: #e6f2ff !important;
    color: #063462 !important;
    border-color: #063462 !important;
}
html[data-bvi-theme="blue"] .eva-bvi-btn.active:not(.eva-bvi-color-btn) {
    background: #063462 !important;
    color: #ffffff !important;
}
html[data-bvi-theme="blue"] header,
html[data-bvi-theme="blue"] nav,
html[data-bvi-theme="blue"] footer,
html[data-bvi-theme="blue"] main,
html[data-bvi-theme="blue"] section,
html[data-bvi-theme="blue"] .site-modal-content,
html[data-bvi-theme="blue"] .booking-modal-content {
    background: #cce5ff !important;
    color: #063462 !important;
    border-color: #063462 !important;
}
html[data-bvi-theme="blue"] header {
    border-bottom: 3px solid #063462 !important;
}
html[data-bvi-theme="blue"] .schedule-card,
html[data-bvi-theme="blue"] .service-card,
html[data-bvi-theme="blue"] .sidebar-widget,
html[data-bvi-theme="blue"] .partner-logo-card,
html[data-bvi-theme="blue"] .program-card,
html[data-bvi-theme="blue"] .showcase-preview,
html[data-bvi-theme="blue"] .showcase-nav-item,
html[data-bvi-theme="blue"] .about-stat-card,
html[data-bvi-theme="blue"] .team-member-card,
html[data-bvi-theme="blue"] .review-card,
html[data-bvi-theme="blue"] .grant-card,
html[data-bvi-theme="blue"] .report-doc-card,
html[data-bvi-theme="blue"] .faq-accordion,
html[data-bvi-theme="blue"] .calc-card {
    background: #e6f2ff !important;
    border: 2px solid #063462 !important;
    color: #063462 !important;
}
html[data-bvi-theme="blue"] a:not(.eva-bvi-btn):not(.btn-primary):not(.btn-donate):not(.btn-volunteer):not(.schedule-card-btn) {
    color: #001f5c !important;
}
html[data-bvi-theme="blue"] .btn-primary,
html[data-bvi-theme="blue"] .btn-secondary,
html[data-bvi-theme="blue"] .btn-donate,
html[data-bvi-theme="blue"] .btn-volunteer,
html[data-bvi-theme="blue"] .schedule-card-btn,
html[data-bvi-theme="blue"] button:not(.eva-bvi-btn),
html[data-bvi-theme="blue"] input[type="submit"] {
    background: #063462 !important;
    color: #ffffff !important;
    border: 2px solid #063462 !important;
}
html[data-bvi-theme="blue"] input,
html[data-bvi-theme="blue"] select,
html[data-bvi-theme="blue"] textarea {
    background: #ffffff !important;
    color: #063462 !important;
    border: 2px solid #063462 !important;
}

/* --- ИЗОБРАЖЕНИЯ (IMAGES) --- */

/* Вкл: цветные изображения */
html[data-bvi-images="on"] img {
    filter: none !important;
    display: inline-block !important;
}

/* Ч/Б: черно-белые изображения */
html[data-bvi-images="grayscale"] img,
body.visually-impaired:not([data-bvi-images]) img {
    filter: grayscale(1) contrast(1.15) !important;
    display: inline-block !important;
}

/* Выкл: скрывать изображения */
html[data-bvi-images="off"] img:not(.eva-bvi-panel img),
html[data-bvi-images="off"] svg:not(.eva-bvi-panel svg):not(.mobile-nav-toggle svg):not(.btn-visually-impaired svg),
html[data-bvi-images="off"] .hero-bg-img,
html[data-bvi-images="off"] .about-hero-bg,
html[data-bvi-images="off"] [style*="background-image"] {
    display: none !important;
    background-image: none !important;
}

/* --- ИНТЕРВАЛ (SPACING) --- */
html[data-bvi-spacing="large"] body,
html[data-bvi-spacing="large"] body * {
    letter-spacing: 2px !important;
}

/* Мобильная адаптация панели */
@media (max-width: 768px) {
    .eva-bvi-inner {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
    .eva-bvi-section {
        width: 100%;
        justify-content: space-between;
    }
    .eva-bvi-actions {
        flex-wrap: wrap;
    }
    .eva-bvi-btn {
        padding: 4px 8px;
        font-size: 13px;
    }
}
