/* =============================================
   MURMANLIB MODERN — тёмная тема «Северное сияние»
   Полярная ночь: глубокий тёмно-синий фон, зелёный акцент сияния,
   живые ленты сияния в шапке, слайдере и подвале.
   Включается классом html.theme-dark; в версии для слабовидящих (html.bvi-active) не действует.
   ============================================= */

/* --- Токены --- */
html.theme-dark:not(.bvi-active) {
    color-scheme: dark;

    --c-bg: #07101f;
    --c-surface: #0e1a2e;
    --c-surface-2: #15243d;
    --c-text: #e3ecf5;
    --c-muted: #93a4b8;
    --c-line: #1f3048;
    --c-primary: #4ff0b0;
    --c-primary-dark: #2fd49a;
    --c-ink: #040a15;
    --c-accent: #4ff0b0;
    --c-accent-dark: #8ff7cf;
    --c-on-dark: #ffffff;
    --c-on-dark-muted: rgba(227, 236, 245, 0.72);
    --c-on-dark-line: rgba(255, 255, 255, 0.12);

    /* Палитра сияния */
    --aurora-green: #4ff0b0;
    --aurora-teal: #38d6e0;
    --aurora-violet: #9d6bff;
    --aurora-pink: #ff6fb5;
    --aurora-line: linear-gradient(90deg, var(--aurora-green), var(--aurora-teal) 40%, var(--aurora-violet) 75%, var(--aurora-pink));
    --aurora-night: #050c1a;
}

html.theme-dark:not(.bvi-active) ::selection {
    background: rgba(79, 240, 176, 0.32);
    color: #ffffff;
}

/* =============================================
   ЛЕНТЫ СИЯНИЯ
   Наслоенные эллиптические градиенты медленно дрейфуют по горизонтали;
   поверх — едва заметные вертикальные «лучи».
   ============================================= */
html.theme-dark:not(.bvi-active) .site-header,
html.theme-dark:not(.bvi-active) .hero-slider,
html.theme-dark:not(.bvi-active) .site-footer {
    position: relative;
    isolation: isolate;
    background: var(--aurora-night);
}

/* Шапка выше слайдера, чтобы выпадающие меню ложились поверх него */
html.theme-dark:not(.bvi-active) .site-header {
    z-index: 30;
}

html.theme-dark:not(.bvi-active) .site-header::before,
html.theme-dark:not(.bvi-active) .hero-slider::before,
html.theme-dark:not(.bvi-active) .site-footer::before {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    /* Слои по 150% ширины: сдвиг позиции 0↔100% проводит ленту через полстраницы */
    background:
        repeating-linear-gradient(97deg, transparent 0 22px, rgba(255, 255, 255, 0.035) 22px 25px, transparent 25px 47px),
        radial-gradient(ellipse 20% 120% at 35% 0%, rgba(79, 240, 176, 0.6), transparent 70%),
        radial-gradient(ellipse 16% 100% at 75% 0%, rgba(79, 240, 176, 0.45), transparent 70%),
        radial-gradient(ellipse 18% 110% at 55% 0%, rgba(56, 214, 224, 0.45), transparent 70%),
        radial-gradient(ellipse 22% 120% at 25% 0%, rgba(157, 107, 255, 0.5), transparent 72%),
        radial-gradient(ellipse 14% 90% at 82% 0%, rgba(255, 111, 181, 0.35), transparent 72%);
    background-size: 100% 100%, 150% 100%, 150% 100%, 150% 100%, 150% 100%, 150% 100%;
    background-repeat: no-repeat;
    background-position: 0 0, 0% 0, 0% 0, 100% 0, 100% 0, 0% 0;
    -webkit-mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0.85) 60%, rgba(0, 0, 0, 0.55) 100%);
    mask-image: linear-gradient(180deg, #000 0%, rgba(0, 0, 0, 0.85) 60%, rgba(0, 0, 0, 0.55) 100%);
    animation: aurora-drift 28s ease-in-out infinite alternate, aurora-breathe 9s ease-in-out infinite alternate;
}

/* Слайдер продолжает сияние шапки и гаснет к низу */
html.theme-dark:not(.bvi-active) .hero-slider::before {
    -webkit-mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.15) 45%, transparent 100%);
    mask-image: linear-gradient(180deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.15) 45%, transparent 100%);
}

/* В подвале — едва тлеющее сияние над горизонтом */
html.theme-dark:not(.bvi-active) .site-footer::before {
    animation-delay: -20s, -2s;
    opacity: 0.4;
}

/* Звёзды над шапкой */
html.theme-dark:not(.bvi-active) .site-header::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background-image:
        radial-gradient(1px 1px at 12% 22%, rgba(255, 255, 255, 0.8), transparent),
        radial-gradient(1px 1px at 31% 64%, rgba(255, 255, 255, 0.55), transparent),
        radial-gradient(1.5px 1.5px at 47% 18%, rgba(255, 255, 255, 0.7), transparent),
        radial-gradient(1px 1px at 63% 48%, rgba(255, 255, 255, 0.5), transparent),
        radial-gradient(1px 1px at 78% 12%, rgba(255, 255, 255, 0.75), transparent),
        radial-gradient(1.5px 1.5px at 91% 70%, rgba(255, 255, 255, 0.45), transparent);
    background-size: 320px 160px;
    opacity: 0.7;
}

@keyframes aurora-drift {
    0% {
        background-position: 0 0, 0% 0, 0% 0, 100% 0, 100% 0, 0% 0;
    }

    50% {
        background-position: 30px 0, 60% 0, 35% 0, 40% 0, 55% 0, 70% 0;
    }

    100% {
        background-position: 60px 0, 100% 0, 80% 0, 0% 0, 0% 0, 100% 0;
    }
}

@keyframes aurora-breathe {
    from {
        filter: saturate(1) brightness(1);
    }

    to {
        filter: saturate(1.25) brightness(1.15);
    }
}

@media (prefers-reduced-motion: reduce) {
    html.theme-dark:not(.bvi-active) .site-header::before,
    html.theme-dark:not(.bvi-active) .hero-slider::before,
    html.theme-dark:not(.bvi-active) .site-footer::before {
        animation: none;
    }
}

/* =============================================
   ШАПКА
   ============================================= */
html.theme-dark:not(.bvi-active) .topbar {
    background: rgba(2, 6, 14, 0.55);
    border-bottom: 1px solid var(--c-on-dark-line);
}

html.theme-dark:not(.bvi-active) .masthead,
html.theme-dark:not(.bvi-active) .main-navigation {
    background: transparent;
}

/* В светлой теме меню и слайдер — светлые; ночью — часть неба шапки, как раньше */
html.theme-dark:not(.bvi-active) .main-navigation {
    color: var(--c-on-dark);
    border-top: 1px solid var(--c-on-dark-line);
    border-bottom: 0;
}

html.theme-dark:not(.bvi-active) .hero-slider,
html.theme-dark:not(.bvi-active) .slider-arrow {
    color: var(--c-on-dark);
}

html.theme-dark:not(.bvi-active) .slider-arrow:hover {
    color: var(--aurora-green);
}

@media (max-width: 1023px) {
    html.theme-dark:not(.bvi-active) .main-navigation .menu > li > a,
    html.theme-dark:not(.bvi-active) .main-navigation .menu > li > .menu-parent,
    html.theme-dark:not(.bvi-active) .main-navigation .menu > li > .menu-nolink {
        border-bottom-color: var(--c-on-dark-line);
    }

    html.theme-dark:not(.bvi-active) .main-navigation .sub-menu {
        color: var(--c-on-dark-muted);
    }

    html.theme-dark:not(.bvi-active) .main-navigation .sub-menu a:hover,
    html.theme-dark:not(.bvi-active) .main-navigation .sub-menu .current-menu-item > a {
        color: var(--c-on-dark);
    }
}

/* Фирменный узор — призрачным контуром, чтобы не спорить с сиянием */
html.theme-dark:not(.bvi-active) .masthead-pattern {
    filter: grayscale(1) brightness(1.6);
    mix-blend-mode: screen;
    opacity: 0.16;
}

html.theme-dark:not(.bvi-active) .main-navigation .sub-menu {
    background: var(--c-surface-2);
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.5), 0 0 0 1px var(--c-line);
}

@media (max-width: 1023px) {
    html.theme-dark:not(.bvi-active) .main-navigation .sub-menu {
        background: none;
        box-shadow: none;
    }
}

/* =============================================
   СЛАЙДЕР
   ============================================= */
html.theme-dark:not(.bvi-active) .slide-media {
    background: #0b1830;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.06), 0 24px 60px -24px rgba(79, 240, 176, 0.35);
}

html.theme-dark:not(.bvi-active) .slider-dot {
    background: rgba(255, 255, 255, 0.18);
}

html.theme-dark:not(.bvi-active) .slider-dot.is-active {
    background: var(--aurora-green);
    box-shadow: 0 0 10px rgba(79, 240, 176, 0.8);
}

/* =============================================
   РАЗДЕЛЫ И КОМПОНЕНТЫ
   ============================================= */
html.theme-dark:not(.bvi-active) .btn-primary,
html.theme-dark:not(.bvi-active) .pager .pager-current,
html.theme-dark:not(.bvi-active) .pager li > a:hover,
html.theme-dark:not(.bvi-active) .search-form__submit {
    background: var(--aurora-green);
    border-color: var(--aurora-green);
    color: var(--c-ink);
}

html.theme-dark:not(.bvi-active) .btn-primary:hover,
html.theme-dark:not(.bvi-active) .search-form__submit:hover {
    background: var(--c-accent-dark);
    box-shadow: 0 0 24px rgba(79, 240, 176, 0.45);
}

/* Акцентные линии разделов — переливом сияния */
html.theme-dark:not(.bvi-active) .section-head {
    border-image: var(--aurora-line) 1;
}

/* Плитки сервисов: значки и подписи — зелёным сиянием (--c-primary), под курсором — подсвеченная поверхность */
html.theme-dark:not(.bvi-active) .service-link:hover,
html.theme-dark:not(.bvi-active) .service-link:focus-visible {
    box-shadow: inset 0 40px 40px -40px rgba(79, 240, 176, 0.35);
}

html.theme-dark:not(.bvi-active) .card-media {
    background: #0b1830;
}

html.theme-dark:not(.bvi-active) .card-media-placeholder {
    background:
        repeating-linear-gradient(90deg, transparent 0 22px, rgba(79, 240, 176, 0.07) 22px 30px),
        #0f2238;
}

/* Баннеры правой колонки нарисованы под светлый фон — светлые плашки, чуть приглушённые */
html.theme-dark:not(.bvi-active) .region--sidebar-second .textwidget > .button-sidebar-second,
html.theme-dark:not(.bvi-active) .region--sidebar-second .block-button-sidebar-second > .button-sidebar-second {
    background: #ffffff;
    border-color: transparent;
    filter: brightness(0.9);
    transition: filter var(--transition), box-shadow var(--transition);
}

html.theme-dark:not(.bvi-active) .region--sidebar-second .textwidget > .button-sidebar-second:hover,
html.theme-dark:not(.bvi-active) .region--sidebar-second .block-button-sidebar-second > .button-sidebar-second:hover {
    filter: none;
    box-shadow: 0 0 20px rgba(79, 240, 176, 0.3);
}

/* Текстовая кнопка («Доступная среда») — на светлой плашке тёмным */
html.theme-dark:not(.bvi-active) .region--sidebar-second .sdbr2-btn {
    color: #355469;
}

/* Логотипы партнёров рисованы под светлый фон — каждый на светлой плашке */
html.theme-dark:not(.bvi-active) .partners-section {
    border-top-color: var(--c-line);
}

html.theme-dark:not(.bvi-active) .partner-png {
    padding: 8px 14px;
    background: #ffffff;
    filter: brightness(0.82);
    transition: filter var(--transition);
}

html.theme-dark:not(.bvi-active) .partner-png:hover {
    filter: none;
}

html.theme-dark:not(.bvi-active) .error-code {
    text-shadow: 0 0 32px rgba(79, 240, 176, 0.55);
}

html.theme-dark:not(.bvi-active) .site-footer {
    border-top: 1px solid var(--c-on-dark-line);
}

/* =============================================
   ТЕКСТЫ СО СТАРОГО САЙТА
   Цвет текста и фон в атрибуте style подобраны под белую страницу: чёрный, тёмно-зелёный, бордовый
   на ночном фоне не читаются, белая подложка абзацев слепит.
   ============================================= */
html.theme-dark:not(.bvi-active) .entry-content [style*="color"] {
    color: inherit !important;
}

html.theme-dark:not(.bvi-active) .entry-content [style*="background"] {
    background-color: transparent !important;
}

html.theme-dark:not(.bvi-active) .entry-content [style*="color"] a,
html.theme-dark:not(.bvi-active) .entry-content a[style*="color"] {
    color: var(--c-primary) !important;
}

/* Картинки в текстах на белом фоне — без резкой границы с ночью */
html.theme-dark:not(.bvi-active) .entry-content img {
    filter: brightness(0.92);
}
