/**
 * Версия для слабовидящих (ГОСТ Р 52872-2019).
 * Стили применяются при классе .ovz на html.
 * Контраст: чёрный текст; фон задаём только у html и body, чтобы не ломать вёрстку.
 */

/* ---- 1. Цвет текста: везде чёрный (панель .ovz-panel-wrap — своя тема) ---- */
html.ovz,
html.ovz body,
html.ovz body *:not(.ovz-panel-wrap):not(.ovz-panel-wrap *),
html.ovz body *:not(.ovz-panel-wrap):not(.ovz-panel-wrap *)::before,
html.ovz body *:not(.ovz-panel-wrap):not(.ovz-panel-wrap *)::after {
    color: #000000 !important;
}

/* ---- 2. Фон только у корня и body (не трогаем блоки) ---- */
html.ovz {
    background-color: #ffffff !important;
}
html.ovz body {
    background-color: #ffffff !important;
    font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    line-height: 1.6;
    letter-spacing: 0.02em;
    font-size: 1rem !important;
}

/* Все текстовые элементы — размер от корня (перебивает Tailwind text-[Npx]); заголовки — отдельно в rem */
html.ovz body *:not(.ovz-panel-wrap):not(.ovz-panel-wrap *):not(h1):not(h2):not(h3):not(h4):not(h5):not(h6):not(.h1):not(.h2):not(.h3):not(.h4):not(.h5):not(.h6) {
    font-size: 1em !important;
}

/* ---- 3. Базовый размер шрифта (чуть уменьшены) ---- */
html.ovz {
    font-size: 18px;
}
@media (min-width: 640px) {
    html.ovz { font-size: 20px; }
}
@media (min-width: 1024px) {
    html.ovz { font-size: 22px; }
}

/* ---- 4. Тёмные блоки дизайна → светлый фон и чёрный текст ---- */
html.ovz header,
html.ovz footer,
html.ovz nav,
html.ovz [class*="bg-gray-8"],
html.ovz [class*="bg-gray-9"],
html.ovz [class*="bg-black"] {
    background-color: #ffffff !important;
    color: #000000 !important;
    border-color: #000000 !important;
}

/* ---- 5. Ссылки ---- */
html.ovz a {
    color: #000000 !important;
    text-decoration: underline;
    text-underline-offset: 0.15em;
    background-color: transparent !important;
}
html.ovz a:hover,
html.ovz a:focus {
    color: #000000 !important;
    outline: 2px solid #000000;
    outline-offset: 2px;
}

/* ---- 6. Заголовки ---- */
html.ovz h1, html.ovz .h1,
html.ovz h2, html.ovz .h2,
html.ovz h3, html.ovz .h3,
html.ovz h4, html.ovz .h4,
html.ovz .widget h2,
html.ovz .text h2,
html.ovz .text h3 {
    font-family: inherit !important;
    font-weight: 700;
    letter-spacing: 0.02em;
    line-height: 1.3;
    color: #000000 !important;
}
html.ovz h1, html.ovz .h1 { font-size: 1.75rem !important; }
html.ovz h2, html.ovz .h2 { font-size: 1.5rem !important; }
html.ovz h3, html.ovz .h3 { font-size: 1.25rem !important; }
html.ovz h4, html.ovz .h4 { font-size: 1.125rem !important; }
html.ovz h5, html.ovz .h5 { font-size: 1.0625rem !important; }
html.ovz h6, html.ovz .h6 { font-size: 1rem !important; }

/* ---- 7. Формы и кнопки ---- */
html.ovz input,
html.ovz button,
html.ovz select,
html.ovz textarea {
    font-family: inherit !important;
    font-size: 1rem;
    border: 2px solid #000000 !important;
    color: #000000 !important;
    background-color: #ffffff !important;
}
html.ovz button:hover,
html.ovz button:focus {
    color: #000000 !important;
    background-color: #eeeeee !important;
}
html.ovz a[href] div,
html.ovz .btn,
html.ovz [class*="bg-"] button {
    background-color: #ffffff !important;
    color: #000000 !important;
    border: 2px solid #000000 !important;
}

/* ---- 8. Серый текст в дизайне → чёрный ---- */
html.ovz [class*="text-gray"],
html.ovz [class*="text-[#8D9399]"],
html.ovz [class*="text-[#4B4F54]"],
html.ovz [class*="text-[#24272A]"] {
    color: #000000 !important;
}

/* ---- 9. Иконки SVG ---- */
html.ovz img[src*=".svg"] {
    filter: brightness(0);
}

/* ---- 10. Уровни размера шрифта (оригинал = как на сайте) ---- */
html.ovz.ovz-font-original {
    font-size: 100%;
}
html.ovz.ovz-font-large { font-size: 20px; }
@media (min-width: 640px) { html.ovz.ovz-font-large { font-size: 22px; } }
@media (min-width: 1024px) { html.ovz.ovz-font-large { font-size: 24px; } }

html.ovz.ovz-font-larger { font-size: 22px; }
@media (min-width: 640px) { html.ovz.ovz-font-larger { font-size: 24px; } }
@media (min-width: 1024px) { html.ovz.ovz-font-larger { font-size: 26px; } }

html.ovz.ovz-font-huge { font-size: 24px; }
@media (min-width: 640px) { html.ovz.ovz-font-huge { font-size: 26px; } }
@media (min-width: 1024px) { html.ovz.ovz-font-huge { font-size: 28px; } }

/* ---- 11. Инверсия ---- */
html.ovz.ovz-invert body {
    filter: invert(1) hue-rotate(180deg);
}
html.ovz.ovz-invert img,
html.ovz.ovz-invert video {
    filter: invert(1) hue-rotate(180deg);
}

/* ---- 12. Чёрно-белый ---- */
html.ovz.ovz-grayscale body {
    filter: grayscale(1);
}

/* ---- 13. Панель ОВЗ (тёмная тема, как на референсе) ---- */
.ovz-panel-wrap {
    background-color: #424242 !important;
    color: #e0e0e0 !important;
    border-bottom: 1px solid #555;
    padding: 10px 16px;
    z-index: 60;
}

.ovz-panel-wrap * {
    color: inherit;
}

.ovz-panel {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 20px;
}

.ovz-panel__group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px 10px;
}

.ovz-panel__label {
    font-size: 0.8rem;
    color: #b0b0b0 !important;
    margin-right: 4px;
}

.ovz-panel__row {
    display: flex;
    align-items: center;
    gap: 4px;
}

/* Кнопки: чёрный фон, белый текст, светлая рамка */
.ovz-panel-wrap .ovz-panel__btn {
    font-family: inherit;
    font-size: 0.85rem;
    padding: 6px 10px;
    border: 1px solid #666;
    background-color: #000000 !important;
    color: #ffffff !important;
    cursor: pointer;
    border-radius: 0;
    min-width: 32px;
    min-height: 32px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ovz-panel-wrap .ovz-panel__btn:hover,
.ovz-panel-wrap .ovz-panel__btn:focus {
    background-color: #222 !important;
    color: #ffffff !important;
    outline: 1px solid #fff;
    outline-offset: 1px;
}

.ovz-panel-wrap .ovz-panel__btn[aria-pressed="true"] {
    border-bottom: 2px solid #ffffff;
}

/* Скруглённые кнопки «К содержанию» и «Дополнительно» */
.ovz-panel__btn--pill {
    border-radius: 4px;
    padding: 6px 12px;
}

/* Кнопки с буквой A (размер шрифта) */
.ovz-panel__btn--icon[data-ovz-font="original"] { font-size: 0.75rem; }
.ovz-panel__btn--icon[data-ovz-font="large"] { font-size: 0.9rem; }
.ovz-panel__btn--icon[data-ovz-font="larger"] { font-size: 1rem; }
.ovz-panel__btn--icon[data-ovz-font="huge"] { font-size: 1.15rem; }

.ovz-panel-wrap .ovz-panel__icon.fas {
    margin-right: 4px;
    font-size: 0.9rem;
}
.ovz-panel-wrap .ovz-panel__btn--icon .ovz-panel__icon.fas,
.ovz-panel-wrap .ovz-panel__btn--color .ovz-panel__icon.fas {
    margin-right: 0;
}

/* Кнопки схемы «Цвет»: визуал варианта */
.ovz-panel__btn--color-normal {
    background-color: #ffffff !important;
    color: #000000 !important;
}
.ovz-panel__btn--color-invert {
    background-color: #000000 !important;
    color: #ffffff !important;
}
.ovz-panel__btn--color-gray {
    background-color: #555 !important;
    color: #ddd !important;
}

.ovz-panel__icon {
    margin-right: 4px;
    font-size: 1rem;
}
.ovz-panel__btn--icon .ovz-panel__icon,
.ovz-panel__btn--color .ovz-panel__icon {
    margin-right: 0;
}

/* Переопределение цвета для панели (чтобы не тянуть чёрный текст с body *) */
.ovz-panel-wrap,
.ovz-panel-wrap * {
    color: #e0e0e0 !important;
}
.ovz-panel-wrap .ovz-panel__btn {
    color: #ffffff !important;
}
.ovz-panel-wrap .ovz-panel__btn--color-normal {
    color: #000000 !important;
}
.ovz-panel-wrap .ovz-panel__label {
    color: #b0b0b0 !important;
}
