/* ===== ТЁМНАЯ ТЕМА ===== */
/* Автоматически – по системным настройкам */
@media (prefers-color-scheme: dark) {
    body:not(.light-theme) {
        /* все стили тёмной темы */
        --bg-body: #121212;
        --bg-card: #1e1e1e;
        --bg-input: #2a2a2a;
        --text-primary: #e0e0e0;
        --text-secondary: #bbdefb;
        --text-muted: #999;
        --border-color: #333;
        --link-color: #90caf9;
        --link-hover: #64b5f6;
        --accent: #498bfa;
    }
}

/* Ручной переключатель (приоритет выше) */
body.dark-theme {
    --bg-body: #121212;
    --bg-card: #1e1e1e;
    --bg-input: #2a2a2a;
    --text-primary: #e0e0e0;
    --text-secondary: #bbdefb;
    --text-muted: #999;
    --border-color: #333;
    --link-color: #90caf9;
    --link-hover: #64b5f6;
    --accent: #498bfa;
}

/* ---- Применяем переменные ко всем элементам ---- */
body.dark-theme,
@media (prefers-color-scheme: dark) {
    body:not(.light-theme) {
        background: var(--bg-body) !important;
        color: var(--text-primary) !important;
    }
    a, a:hover, a:focus {
        color: var(--link-color) !important;
    }
    a:visited {
        color: #7e8fba !important;
    }

    /* шапка */
    .header {
        background: var(--bg-card) !important;
        box-shadow: 0 5px 11px 0 rgba(0, 0, 0, 0.6) !important;
    }
    .header-content {
        background: var(--bg-card) !important;
    }
    .site-tagline {
        color: var(--text-secondary) !important;
    }
    .search-box input {
        background: var(--bg-input) !important;
        border-color: var(--border-color) !important;
        color: var(--text-primary) !important;
    }
    .search-box input:focus {
        border-color: var(--link-hover) !important;
        background: #222 !important;
    }
    .search-box button {
        color: var(--text-muted) !important;
    }
    .btn-menu {
        background: var(--bg-input) !important;
        border-color: var(--border-color) !important;
        color: var(--text-muted) !important;
    }
    .btn-menu:hover {
        background: #333 !important;
    }

    /* блоки */
    .wrap, .block.center, .cols, .main, .side, .center {
        background: var(--bg-body) !important;
    }
    .short, .shorth, .side-box, .color-title, .content-block,
    .fullwidth-navigation, .carou {
        background: var(--bg-card) !important;
        border-color: var(--border-color) !important;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.5) !important;
    }
    .short .color-title,
    .shorth .color-title {
        background: var(--bg-card) !important;
        border-bottom-color: var(--border-color) !important;
    }

    /* заголовки */
    h1, h2, h3, h4, h5,
    .news-title,
    .s-top h2 a,
    .s-top h2,
    .title-link h2,
    .sect-title {
        color: var(--text-secondary) !important;
        text-shadow: 0 1px 0 rgba(0, 0, 0, 0.5) !important;
    }
    .news-title a,
    .s-top h2 a {
        color: var(--text-secondary) !important;
    }
    .news-title a:hover,
    .s-top h2 a:hover {
        color: var(--link-hover) !important;
    }

    /* текст */
    .s-text, .s-texthome, .s-text p, .s-texthome p,
    .coment_message, .caption-text, .content-block span {
        color: var(--text-primary) !important;
    }
    .s-text a, .s-texthome a, .coment_message a {
        color: var(--link-color) !important;
    }

    /* разделители */
    .hr {
        border-bottom-color: var(--border-color) !important;
    }
    .footer-section {
        background: var(--bg-card) !important;
        border-top-color: var(--border-color) !important;
    }
    .footer {
        color: var(--text-muted) !important;
    }
    .footer a {
        color: var(--link-color) !important;
    }

    /* лайки и рейтинг */
    .rating_like_r {
        background: #1a237e !important;
        color: #fff !important;
    }
    .rating_like a:hover .rating_like_r {
        background: #c62828 !important;
    }
    .like2, .likex {
        color: var(--text-primary) !important;
        text-shadow: 0 1px 0 rgba(0, 0, 0, 0.3) !important;
    }
    .likeplus, .likeplus_hover {
        filter: invert(1) !important;
    }

    /* поля ввода и кнопки */
    input[type="text"], input[type="password"], input[type="email"],
    input[type="search"], input[type="number"],
    textarea, select {
        background: var(--bg-input) !important;
        border-color: #444 !important;
        color: var(--text-primary) !important;
    }
    input[type="text"]:focus,
    input[type="password"]:focus,
    input[type="email"]:focus,
    input[type="search"]:focus,
    input[type="number"]:focus,
    textarea:focus,
    select:focus {
        border-color: var(--link-hover) !important;
        box-shadow: 0 0 0 2px rgba(100, 181, 246, 0.2) !important;
    }
    input[type="submit"],
    input[type="button"],
    input[type="reset"],
    button,
    .button,
    .pagi-load a,
    .up-second li a,
    .usp-edit a,
    .qq-upload-button,
    .meta-fav a,
    .usp-btn a {
        background: var(--bg-input) !important;
        color: var(--text-primary) !important;
        border-color: #444 !important;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3) !important;
    }
    input[type="submit"]:hover,
    input[type="button"]:hover,
    input[type="reset"]:hover,
    button:hover,
    .button:hover,
    .pagi-load a:hover,
    .up-second li a:hover,
    .usp-edit a:hover,
    .qq-upload-button:hover,
    .meta-fav a:hover,
    .usp-btn a:hover {
        background: #333 !important;
        color: #fff !important;
        border-color: #555 !important;
    }

    /* пагинация */
    .navigation a,
    .swchItemA,
    .pnext a,
    .pprev a,
    .pprev > span,
    .pnext > span {
        background: var(--bg-card) !important;
        color: var(--text-primary) !important;
        border-color: var(--border-color) !important;
        box-shadow: 0 1px 4px rgba(0, 0, 0, 0.4) !important;
    }
    .swchItemA,
    .pagi-nav a:hover {
        background: #1a237e !important;
        color: #fff !important;
    }

    /* комментарии */
    .comment-item {
        background: rgba(30, 30, 30, 0.9) !important;
        border-color: var(--border-color) !important;
    }
    .comment-author {
        color: var(--text-secondary) !important;
    }
    .comment-meta,
    .comment-date,
    .comment-number {
        color: var(--text-muted) !important;
    }
    .comment-text {
        color: var(--text-primary) !important;
    }
    .moderator-comment {
        border-left-color: var(--accent) !important;
        background: rgba(73, 139, 250, 0.08) !important;
    }
    .moderator-badge {
        background: #1a237e !important;
        color: #fff !important;
    }

    /* форма комментариев */
    .comment-form-container {
        background: var(--bg-card) !important;
        border-color: var(--border-color) !important;
    }
    .comment-form-container input,
    .comment-form-container textarea {
        background: var(--bg-input) !important;
        border-color: #444 !important;
        color: var(--text-primary) !important;
    }
    #comment-toggle-btn {
        background: #1a237e !important;
        color: #fff !important;
        border-color: #1a237e !important;
    }
    #comment-toggle-btn:hover {
        background: #0d1555 !important;
    }

    /* регистрация/вход */
    .uf-reg-wrap {
        background: transparent !important;
    }
    #uf-register .uf-field > label {
        color: var(--text-primary) !important;
    }
    #uf-register .uf-field input[type="text"],
    #uf-register .uf-field input[type="password"],
    #uf-register .uf-field input[type="email"] {
        background: var(--bg-input) !important;
        border-color: #444 !important;
        color: var(--text-primary) !important;
    }
    #uf-register .uf-field input[type="text"]:focus,
    #uf-register .uf-field input[type="password"]:focus,
    #uf-register .uf-field input[type="email"]:focus {
        border-color: var(--link-hover) !important;
    }
    #uf-register span.uf-status p {
        background-color: rgba(0, 0, 0, 0.85) !important;
        color: #fff !important;
    }
    #uf-register span.uf-status i {
        border-bottom-color: rgba(0, 0, 0, 0.85) !important;
    }
    #uf-register input#uf-show-pass[type="checkbox"] + label span {
        background: #444 !important;
    }
    #uf-register input#uf-show-pass[type="checkbox"]:checked + label span {
        background: #444 !important;
    }
    #uf-register .uf-required {
        color: #ef5350 !important;
    }

    /* чат */
    .cBlock0, .cBlock1, .cBlock2 {
        background: var(--bg-card) !important;
        border-color: var(--border-color) !important;
        color: var(--text-primary) !important;
    }
    .cMessage {
        color: var(--text-primary) !important;
    }

    /* спойлеры */
    .caption-spoiler {
        background: var(--bg-card) !important;
        border-color: var(--border-color) !important;
    }
    .caption-summary {
        color: var(--text-secondary) !important;
    }
    .caption-summary:hover {
        background: var(--bg-input) !important;
    }
    .caption-content {
        background: var(--bg-card) !important;
    }

    /* таблицы */
    .manTable, .manTd1, .manTd2, .manTdBut {
        background: var(--bg-card) !important;
        border-color: var(--border-color) !important;
        color: var(--text-primary) !important;
    }
    .manTdSep hr {
        border-color: var(--border-color) !important;
    }
    .manTdError {
        color: #ef5350 !important;
    }

    /* попапы */
    .popuptable {
        background: var(--bg-card) !important;
        border-color: var(--border-color) !important;
    }
    .popuptitle {
        color: var(--text-secondary) !important;
        background: var(--bg-card) !important;
        border-bottom-color: var(--border-color) !important;
    }
    .popupbody {
        background: var(--bg-card) !important;
        color: var(--text-primary) !important;
    }
    .udtb {
        color: var(--text-primary) !important;
    }
    .udtlb {
        color: var(--text-muted) !important;
    }

    /* боковая панель */
    .side-panel {
        background: var(--bg-card) !important;
    }
    .side-panel-content {
        background: var(--bg-card) !important;
        color: var(--text-primary) !important;
    }
    .side-category-item {
        border-bottom-color: var(--border-color) !important;
        color: var(--text-primary) !important;
    }
    .side-category-item:hover {
        background: var(--bg-input) !important;
    }

    /* элементы для категорий и дат */
    .date-divider {
        color: var(--text-muted) !important;
    }
    .date-divider::before,
    .date-divider::after {
        border-bottom-color: var(--border-color) !important;
    }
    .date-divider a {
        color: var(--text-secondary) !important;
    }
    .date-divider a:hover {
        color: var(--link-hover) !important;
    }
    .material-footer {
        color: var(--text-muted) !important;
    }
    .material-footer .comments-link,
    .material-footer .similar-link {
        color: #aaa !important;
    }
    .material-footer .comments-link:hover,
    .material-footer .similar-link:hover {
        background: rgba(73, 139, 250, 0.15) !important;
        color: var(--link-color) !important;
    }
    .material-footer .comments-link.active,
    .material-footer .similar-link.active {
        color: var(--link-color) !important;
    }
    .similar-container {
        background: transparent !important;
    }

    /* сортировка и фильтры */
    .sort-filter-panel {
        border-color: var(--border-color) !important;
    }
    .sort-link {
        color: #aaa !important;
    }
    .sort-link:hover {
        background: rgba(73, 139, 250, 0.15) !important;
        color: var(--link-color) !important;
    }
    .sort-link.active {
        color: var(--link-color) !important;
        font-weight: 600 !important;
    }
    .filter-controls label {
        color: #bbb !important;
    }
    .filter-controls input[type="checkbox"] {
        accent-color: var(--link-hover) !important;
    }

    /* цитаты */
    .quote-block {
        background: var(--bg-card) !important;
        border-left-color: var(--accent) !important;
    }
    .quote-content {
        color: var(--text-primary) !important;
    }
    .quote-author {
        color: var(--text-muted) !important;
    }

    /* индикаторы загрузки */
    .loading-indicator,
    #loading-indicator,
    #loading-more {
        background: var(--bg-card) !important;
        color: var(--text-muted) !important;
    }

    /* кнопка "Загрузить ещё" */
    #load-more-btn {
        background: transparent !important;
        color: #aaa !important;
        border-color: #444 !important;
    }
    #load-more-btn:hover:not(:disabled) {
        background: var(--bg-input) !important;
        border-color: #555 !important;
        color: var(--text-primary) !important;
    }

    /* изображения – немного тусклее для комфорта */
    img:not([src*=".svg"]):not([src*="nvr.png"]) {
        opacity: 0.85 !important;
    }

    /* полоса прокрутки */
    ::-webkit-scrollbar {
        background: var(--bg-body) !important;
        width: 12px !important;
    }
    ::-webkit-scrollbar-thumb {
        background: #444 !important;
        border-radius: 6px !important;
    }
    ::-webkit-scrollbar-thumb:hover {
        background: #555 !important;
    }

    /* видео */
    video {
        background: #000 !important;
    }
}

/* ----- Светлая тема (принудительно, если нужно) ----- */
body.light-theme {
    /* можно переопределить переменные для светлой, если потребуется */
}