/*
 * Версия для слабовидящих (плагин «Button visually impaired») в новом оформлении.
 *
 * Плагин оборачивает страницу в .bvi-body, ставит html.bvi-active и сам задаёт всем элементам цвета схемы
 * и размер шрифта (с !important). Тёмная тема при этом не действует (aurora.css — только без .bvi-active).
 * Здесь — то, что плагин не трогает: картинки-фоны, тени, анимация, раскладка в px. Цвета нигде не задаются:
 * рамки берут цвет текста схемы, выделение — инверсия через --bvi-site-color / --bvi-site-bg.
 * По образцу css/low-vision.css прежней темы.
 */

/* --- Общее ------------------------------------------------------------------- */

.bvi-body *:not(.bvi-background-image),
.bvi-body *::before,
.bvi-body *::after {
    background-image: none !important;
    box-shadow: none !important;
    text-shadow: none !important;
}

.bvi-body * {
    animation: none !important;
    transition: none !important;
}

.bvi-body a:focus-visible,
.bvi-body button:focus-visible,
.bvi-body input:focus-visible,
.bvi-body [tabindex]:focus-visible {
    outline: 3px solid currentColor;
    outline-offset: 2px;
}

.bvi-body .entry-content a,
.bvi-body .card-title a,
.bvi-body .search-title a,
.bvi-body .breadcrumbs a {
    text-decoration: underline;
}

/* Линейные значки темы (fill="none"): плагин заливает все элементы цветом текста, и контур становится кляксой.
   Атрибут в селекторе — вес выше, чем у правила плагина. */
body .bvi-body svg[fill="none"]:not(.bvi-no-styles),
body .bvi-body svg[fill="none"] :not(.bvi-no-styles) {
    fill: none !important;
}

.bvi-body ::placeholder {
    color: inherit;
    opacity: 0.65;
}

/* --- Шапка ------------------------------------------------------------------- */

/* Логотип плагин перекрашивает целиком в цвет текста схемы, как и всё остальное. */
.bvi-body .masthead-pattern,
.bvi-body .theme-toggle {
    display: none;
}

.bvi-body .brand-desc {
    max-width: none;
    padding-left: 0;
    border-left: 0;
    /* !important — плагин задаёт свой размер шрифта всем элементам; em считается от него. */
    font-size: 1.4em !important;
    font-weight: bold;
}

.bvi-body .brand-desc small {
    display: block;
    font-size: 0.6em !important;
}

.bvi-body .topbar-inner {
    flex-wrap: wrap;
    padding-top: 0.4em;
    padding-bottom: 0.4em;
}

.bvi-body .topbar-actions {
    flex-wrap: wrap;
    gap: 0.4em 1.2em;
}

/* Подписи кнопок видны и на узком экране */
.bvi-body .design-switch-label,
.bvi-body .low-vision-toggle-label {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: normal;
}

.bvi-body .topbar-search {
    border: 2px solid;
    border-radius: 0.4em;
    padding: 0 0.4em;
}

.bvi-body .main-navigation .menu {
    gap: 0.4em;
    padding: 0.5em 0;
}

.bvi-body .main-navigation .menu > li > a,
.bvi-body .main-navigation .menu > li > .menu-parent,
.bvi-body .main-navigation .menu > li > .menu-nolink {
    padding: 0.35em 0.8em;
    border: 2px solid;
    border-radius: 0.4em;
}

/* Пункты с подменю — кнопки, а плагин заливает все кнопки цветом текста. Здесь они как соседние пункты-ссылки
   (под курсором плагин их по-прежнему инвертирует). [type] и :not() — вес выше, чем у правила плагина
   для button[type=button]. */
body .bvi-body .main-navigation .menu .menu-parent[type]:not(.bvi-link):not(.bvi-no-styles) {
    background-color: var(--bvi-site-bg) !important;
    color: var(--bvi-site-color) !important;
}

.bvi-body .main-navigation .sub-menu {
    border: 2px solid;
}

.bvi-body .main-navigation .sub-menu:has(> li:nth-child(10)) {
    min-width: min(36em, 90vw);
}

/* --- Главная ----------------------------------------------------------------- */

/* Слайдер: смена баннеров мешает чтению, новости из баннеров есть в ленте. */
.bvi-body .hero-slider {
    display: none;
}

/* Плитки сервисов и кнопки колонки: ширина в em растёт вместе со шрифтом, у каждой — рамка. */
.bvi-body .service-grid,
.bvi-body .resources-region .block:has(.button-sidebar-second) .textwidget {
    grid-template-columns: repeat(auto-fill, minmax(12em, 1fr));
    gap: 0.5em;
    border: 0;
}

.bvi-body .service-grid--compact {
    grid-template-columns: minmax(0, 1fr);
}

.bvi-body .service-card {
    border: 0;
}

.bvi-body .service-link {
    padding: 0.6em 0.8em;
    border: 2px solid;
    border-radius: 0.4em;
}

.bvi-body .sdbr2-btn,
.bvi-body .region--sidebar-second .textwidget > .button-sidebar-second,
.bvi-body .region--sidebar-second .block-button-sidebar-second > .button-sidebar-second {
    height: auto !important;
    min-height: 0;
    padding: 0.5em 0.8em;
    border: 2px solid;
    border-radius: 0.4em;
    line-height: 1.3 !important;
}

/* «Доступная среда» — кнопка внутри плитки, рамка у плитки уже есть */
.bvi-body .button-sidebar-second > .sdbr2-btn {
    border: 0;
}

.bvi-body .news-grid {
    grid-template-columns: repeat(auto-fill, minmax(16em, 1fr));
    gap: 1em;
}

.bvi-body .card,
.bvi-body .card--lead,
.bvi-body .news-grid--list .card {
    display: block;
    padding: 0.8em;
    border: 2px solid;
    border-radius: 0.4em;
}

.bvi-body .card--lead {
    grid-column: 1 / -1;
}

.bvi-body .card-media {
    max-width: 24em;
}

.bvi-body .card--lead .card-title {
    font-size: 1.3em !important;
}

/* --- Внутренние страницы ---------------------------------------------------------- */

.bvi-body .page-layout {
    grid-template-columns: minmax(0, 1fr);
}

.bvi-body .page-aside {
    grid-template-columns: minmax(0, 1fr);
}

.bvi-body .page-article {
    margin: 0;
    padding: 1em;
    border: 2px solid;
    border-radius: 0.4em;
}

.bvi-body .entry-image {
    float: none;
    max-width: none;
    margin: 0 0 1em;
}

.bvi-body .search-form__field,
.bvi-body .search-form__submit {
    height: auto;
    padding: 0.3em 0.6em;
    border: 2px solid;
}

.bvi-body .pager li > a,
.bvi-body .pager .pager-current {
    height: auto;
    padding: 0.2em 0.5em;
    border: 2px solid;
    border-radius: 0.4em;
}

/* body и li — вес выше, чем у правил цвета плагина. */
body .bvi-body .pager li.pager-current {
    background-color: var(--bvi-site-color) !important;
    color: var(--bvi-site-bg) !important;
}

/* --- Партнёры и подвал --------------------------------------------------------- */

/* Карусель партнёров стоит на месте; её скрипт дублирует логотипы для бесконечной прокрутки и метит копии .is-clone
   (плагин «Партнёры»). */
.bvi-body .partners-carousel-container {
    flex-wrap: wrap;
    justify-content: center;
    overflow: visible;
    gap: 1em 2em;
    cursor: auto;
}

.bvi-body .partners-carousel-container > .is-clone {
    display: none;
}

.bvi-body .footer-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1em;
}

.bvi-body .site-footer,
.bvi-body .footer-bottom {
    border-top: 2px solid;
}
