/*
 * Перекрытия BVI для встроенного ЛК / формы обращений (Vuetify).
 * Подключается ПОСЛЕ bvi.min.css.
 *
 * Диалоги часто телепортируются вне #app — селекторы завязаны на
 * .v-overlay / .v-dialog, а не только на #app.
 */

/* --- Оверлеи: не белая пелена на весь экран --- */
html body.bvi-active .bvi-body[data-bvi-theme] .v-overlay,
html body.bvi-active .bvi-body[data-bvi-theme] .v-overlay__content,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog__content,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog {
    background-color: transparent !important;
    background: none !important;
}

html body.bvi-active .bvi-body[data-bvi-theme] .v-overlay__scrim {
    background-color: rgb(33, 33, 33) !important;
    border-color: rgb(33, 33, 33) !important;
}

html body.bvi-active .bvi-body[data-bvi-theme] .v-overlay:not(.v-overlay--active) {
    background-color: transparent !important;
    background: none !important;
    pointer-events: none !important;
}

html body.bvi-active .bvi-body[data-bvi-theme] .v-overlay:not(.v-overlay--active) .v-overlay__scrim {
    opacity: 0 !important;
}

/* --- Карточка модалки --- */
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-card,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog > .v-card {
    background-color: #ffffff !important;
    color: #000000 !important;
    max-height: 90vh !important;
    overflow-y: auto !important;
}

html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-card__text,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-card__actions,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-card__title {
    background-color: #ffffff !important;
    color: #000000 !important;
}

/* Пустые служебные узлы Vuetify (:empty у BVI даёт артефакты / полосы) */
html body.bvi-active .bvi-body[data-bvi-theme] .v-overlay :empty,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog :empty,
html body.bvi-active .bvi-body[data-bvi-theme] .v-application :empty,
html body.bvi-active .bvi-body[data-bvi-theme] .v-menu__content :empty {
    background-color: transparent !important;
    border-color: transparent !important;
    box-shadow: none !important;
}

/* --- Кнопки: BVI красит button в чёрный ---
 * В модалке авторизации «чёрная полоса» — это block-кнопка со ссылкой
 * «Политика обработки персональных данных»: чёрный фон кнопки + чёрный цвет
 * ссылки → текст невидимый.
 */
html body.bvi-active .bvi-body[data-bvi-theme] .v-overlay button,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog button,
html body.bvi-active .bvi-body[data-bvi-theme] .v-application button,
html body.bvi-active .bvi-body[data-bvi-theme] .v-overlay input[type="button"],
html body.bvi-active .bvi-body[data-bvi-theme] .v-overlay input[type="submit"],
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog input[type="button"],
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog input[type="submit"] {
    background-color: transparent !important;
    color: inherit !important;
}

/* Ссылка-политика и прочие outlined/text block-кнопки */
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-btn--outlined,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-btn--text,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-btn--flat,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-btn.login-buttons.v-btn--outlined,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-btn.login-buttons.v-btn--text {
    background-color: #ffffff !important;
    color: #000000 !important;
    border: 1px solid #000000 !important;
    box-shadow: none !important;
}

html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-btn--outlined a,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-btn--text a,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-btn.login-buttons a,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-btn.login-buttons a:hover,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-btn.login-buttons a:focus {
    color: #000000 !important;
    background-color: transparent !important;
    text-decoration: underline !important;
}

/* Основные кнопки (Авторизоваться) */
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-btn:not(.v-btn--outlined):not(.v-btn--flat):not(.v-btn--text):not(.v-btn--icon) {
    background-color: #6e4b3b !important;
    color: #ffffff !important;
    border-color: #6e4b3b !important;
    min-height: 36px !important;
}

html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-btn:not(.v-btn--outlined):not(.v-btn--flat):not(.v-btn--text):not(.v-btn--icon) .v-btn__content,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-btn:not(.v-btn--outlined):not(.v-btn--flat):not(.v-btn--text):not(.v-btn--icon) .v-btn__content * {
    color: #ffffff !important;
    background-color: transparent !important;
}

/* Иконки-шеврон у согласий — не чёрные квадраты */
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-btn--icon,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-btn--icon.v-size--small {
    background-color: transparent !important;
    color: #000000 !important;
    border: none !important;
    box-shadow: none !important;
    min-width: 28px !important;
    width: 28px !important;
    height: 28px !important;
}

/* --- Поля ввода / селекты --- */
html body.bvi-active .bvi-body[data-bvi-theme] .v-overlay input,
html body.bvi-active .bvi-body[data-bvi-theme] .v-overlay textarea,
html body.bvi-active .bvi-body[data-bvi-theme] .v-overlay select,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog input,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog textarea,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog select,
html body.bvi-active .bvi-body[data-bvi-theme] .v-application input,
html body.bvi-active .bvi-body[data-bvi-theme] .v-application textarea,
html body.bvi-active .bvi-body[data-bvi-theme] .v-application select,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-input__slot,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-text-field__slot,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-select__slot,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-select__selections {
    background-color: #ffffff !important;
    color: #000000 !important;
    border-color: #000000 !important;
    box-shadow: none !important;
    -webkit-text-fill-color: #000000 !important;
}

html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-text-field > .v-input__control > .v-input__slot:before,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-text-field > .v-input__control > .v-input__slot:after {
    border-color: #000000 !important;
    background-color: transparent !important;
}

/* Чекбоксы / радио / лейблы */
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-input--checkbox .v-input__slot,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-input--selection-controls .v-input__slot,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-input--selection-controls__input {
    background-color: transparent !important;
}

html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-label,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-messages,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-messages__message {
    background-color: transparent !important;
    color: #000000 !important;
}

/* Иконки стрелок селекта — без фона/артефактов */
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-input__icon,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-input__append-inner,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-icon,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-icon::before,
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-icon::after {
    background-color: transparent !important;
}

/* Списки выпадающих меню (тоже телепорт) */
html body.bvi-active .bvi-body[data-bvi-theme] .v-menu__content,
html body.bvi-active .bvi-body[data-bvi-theme] .v-select__content {
    background-color: #ffffff !important;
    color: #000000 !important;
}

html body.bvi-active .bvi-body[data-bvi-theme] .v-menu__content .v-list,
html body.bvi-active .bvi-body[data-bvi-theme] .v-menu__content .v-list-item,
html body.bvi-active .bvi-body[data-bvi-theme] .v-menu__content .v-list-item__title {
    background-color: #ffffff !important;
    color: #000000 !important;
}

/* Прелоадеры картинок не должны раздувать пустое место */
html body.bvi-active .bvi-body[data-bvi-theme] .v-dialog .v-image__image--preload {
    filter: none !important;
    background-color: transparent !important;
}

/* --- Клавиатурный фокус: BVI снимает outline у ссылок --- */
html body.bvi-active .bvi-body[data-bvi-theme] a:focus-visible,
html body.bvi-active .bvi-body[data-bvi-theme] button:focus-visible,
html body.bvi-active .bvi-body[data-bvi-theme] input:focus-visible,
html body.bvi-active .bvi-body[data-bvi-theme] select:focus-visible,
html body.bvi-active .bvi-body[data-bvi-theme] textarea:focus-visible,
html body.bvi-active .bvi-body[data-bvi-theme] summary:focus-visible,
html body.bvi-active .bvi-body[data-bvi-theme] [tabindex]:focus-visible {
    outline: 3px solid currentColor !important;
    outline-offset: 3px !important;
}

html body.bvi-active .bvi-body[data-bvi-theme="black"] a:focus-visible,
html body.bvi-active .bvi-body[data-bvi-theme="black"] button:focus-visible,
html body.bvi-active .bvi-body[data-bvi-theme="black"] input:focus-visible,
html body.bvi-active .bvi-body[data-bvi-theme="black"] select:focus-visible,
html body.bvi-active .bvi-body[data-bvi-theme="black"] textarea:focus-visible,
html body.bvi-active .bvi-body[data-bvi-theme="black"] [tabindex]:focus-visible {
    outline-color: #ffffff !important;
}

html body.bvi-active .a11y-skip-link:focus,
html body.bvi-active .a11y-skip-link:focus-visible {
    background-color: #000000 !important;
    color: #ffffff !important;
    outline: 3px solid #ffffff !important;
    outline-offset: 2px !important;
    z-index: 100000 !important;
}

/* Фокус при навигации H/K по заголовкам и ссылкам */
html body.bvi-active .bvi-body[data-bvi-theme] h1:focus,
html body.bvi-active .bvi-body[data-bvi-theme] h2:focus,
html body.bvi-active .bvi-body[data-bvi-theme] h3:focus,
html body.bvi-active .bvi-body[data-bvi-theme] h4:focus,
html body.bvi-active .bvi-body[data-bvi-theme] h5:focus,
html body.bvi-active .bvi-body[data-bvi-theme] h6:focus,
html body.bvi-active .bvi-body[data-bvi-theme] [role="heading"]:focus,
html body.bvi-active .bvi-body[data-bvi-theme] a:focus {
    outline: 3px solid currentColor !important;
    outline-offset: 3px !important;
}
