/* ============================================================
 *  theme.css — тёмная тема для avemedia.ru (v1)
 *  Механизм — как на board.avemedia.ru:
 *  класс .theme-light/.theme-dark на <html> (ставит скрипт в <head>),
 *  все цвета через переменные, выбор в localStorage('avemedia-theme').
 *  Дефолт — ВСЕГДА светлая (основная тема сайта).
 *
 *  Этап 1 (этот файл): каркас + шапка/футер + BS-примитивы +
 *  наши дизайн-системы (.ord/.fb/.ct-contacts, включая API-блок контактов).
 *  Старые страницы без тёмных правил остаются читаемыми на тёмном фоне —
 *  полируются постепенно.
 * ============================================================ */

/* ---------- 1. ПЕРЕМЕННЫЕ ---------- */
:root, .theme-light {
    --page-bg: #f7f7fa;
    --card-bg: #ffffff;
    --ink: #17171a;
    --mute: #77777f;
    --line: #e6e6ea;
    --brand-green: #2f9e54;
    --brand-yellow: #ffc107;
    --brand-red: #d9271e;
    --input-bg: #ffffff;
    --input-border: #d9d9df;
    --soft-bg: #fcfcfd;
    --soft-bg2: #f0f0f4;
    --card-shadow: 0 1px 2px rgba(16,16,24,.04), 0 4px 16px rgba(16,16,24,.07);
    --nav-bg: #ffffff;
    --link: #d9271e;
    --switch-text: #77777f;
    --switch-track: #d9d9df;
}
.theme-dark {
    --page-bg: #14171b;
    --card-bg: #1e2227;
    --ink: #f1f3f5;
    --mute: #8a929a;
    --line: #2a2f36;
    --brand-green: #3db968;
    --brand-yellow: #ffc107;
    --brand-red: #ff5f57;
    --input-bg: #191c20;
    --input-border: #3a414a;
    --soft-bg: #22262c;
    --soft-bg2: #2a2f36;
    --card-shadow: 0 1px 2px rgba(0,0,0,.3), 0 6px 20px rgba(0,0,0,.35);
    --nav-bg: #191c20;
    --link: #ffcf30;
    --switch-text: #adb5bd;   /* значения с борда */
    --switch-track: #3a414a;
}

/* ---------- 2. ПЕРЕКЛЮЧАТЕЛЬ — иконки, компактный (v6) ---------- */
.avm-toggle-wrap { display: flex; align-items: center; justify-content: center; gap: 7px; }
.avm-toggle-side { display: flex; align-items: center; color: var(--switch-text); transition: color .15s; }
.avm-toggle-side svg { width: 15px; height: 15px; fill: currentColor; display: block; }
.avm-toggle-side.active { color: var(--brand-yellow); }
.avm-switch { position: relative; display: inline-block; width: 44px; height: 22px; margin: 0; }
.avm-switch input { opacity: 0; width: 0; height: 0; }
.avm-switch .track {
    position: absolute; cursor: pointer; inset: 0;
    background: var(--switch-track); border-radius: 22px; transition: background .2s;
}
.avm-switch .thumb {
    position: absolute; height: 16px; width: 16px; left: 3px; top: 3px;
    background: #ffffff; border-radius: 50%; transition: transform .2s;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .35);
}
.avm-switch input:checked + .track { background: #ffc107; }
.avm-switch input:checked + .track .thumb { transform: translateX(22px); }
.avm-switch input:focus-visible + .track { box-shadow: 0 0 0 3px rgba(255, 193, 7, .35); }

/* в шапке: отступ от лупы; на узких экранах прячем подписи — остаётся свитч */
#header-main .avm-toggle-wrap { margin-right: 14px; }
@media (max-width: 575.98px) {
    #header-main .avm-toggle-side { display: none; }
    #header-main .avm-toggle-wrap { gap: 0; margin-right: 8px; }
}

/* ---------- 3. БАЗА ---------- */
.theme-dark body, .theme-dark { background: var(--page-bg); color: var(--ink); }
.theme-dark a { color: var(--link); }
.theme-dark body { transition: background .25s, color .25s; }

/* ---------- 4. ШАПКА (#header-main) ---------- */
.theme-dark #header-main { background-color: var(--nav-bg); }
.theme-dark #header-main .navbar-light .navbar-toggler-icon {
    background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(241,243,245,0.9)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}
.theme-dark #header-main .navbar-nav .nav-link { color: var(--ink) !important; }
.theme-dark #header-main .navbar-nav .nav-link:hover,
.theme-dark #header-main .navbar-nav .nav-item.active .nav-link { color: #ffffff !important; }
.theme-dark #header-main .search-trigger { color: var(--brand-yellow); }
.theme-dark #header-main .search-trigger:hover { background-color: var(--soft-bg2); color: #ffffff; }
@media (max-width: 991px) {
    .theme-dark #header-main .navbar-collapse { background-color: var(--nav-bg); border-top: 1px solid var(--line); }
}

/* ЛОГОТИП: свап на светлую версию (файл лежит рядом с logo.png) */
.theme-dark #header-main .navbar-brand img.logo { content: url("/images/logo-light.png"); }

/* ---------- 5. ФУТЕР (#footer-main) ---------- */
.theme-dark #footer-main { background-color: var(--nav-bg) !important; color: var(--mute); }
.theme-dark #footer-main .footer-title { color: var(--ink); }
.theme-dark #footer-main .footer-link { color: var(--mute); }
.theme-dark #footer-main .footer-link:hover { color: var(--brand-yellow); }
.theme-dark #footer-main .social-icon { background-color: var(--soft-bg2); color: var(--ink); }
.theme-dark #footer-main .social-icon:hover { background-color: var(--brand-yellow); color: #1a1a1a; }
.theme-dark #footer-main .footer-bottom-bar { border-top: 1px solid var(--line); }
.theme-dark #footer-main .footer-bottom-bar, .theme-dark #footer-main .bg-light { background-color: transparent !important; }

/* ---------- 6. BOOTSTRAP-ПРИМИТИВЫ (по всему сайту) ---------- */
.theme-dark .card { background-color: var(--card-bg); border-color: var(--line); }
.theme-dark .bg-light { background-color: var(--nav-bg) !important; }
.theme-dark .bg-white { background-color: var(--card-bg) !important; }
.theme-dark .text-dark { color: var(--ink) !important; }
.theme-dark .text-muted, .theme-dark .text-secondary { color: var(--mute) !important; }
.theme-dark .form-control {
    background-color: var(--input-bg); border-color: var(--input-border); color: var(--ink);
}
.theme-dark .form-control::placeholder { color: var(--mute); }
.theme-dark .form-control:focus { background-color: var(--input-bg); color: var(--ink); }
.theme-dark .btn-light, .theme-dark .btn-outline-secondary { background-color: var(--soft-bg2); border-color: var(--input-border); color: var(--ink); }
.theme-dark .modal-content { background-color: var(--card-bg); border-color: var(--line); }
.theme-dark .dropdown-menu { background-color: var(--card-bg); border-color: var(--line); }
.theme-dark .dropdown-item { color: var(--ink); }
.theme-dark .dropdown-item:hover { background-color: var(--soft-bg2); }
.theme-dark .list-group-item { background-color: var(--card-bg); border-color: var(--line); color: var(--ink); }
.theme-dark .table td, .theme-dark .table th { border-color: var(--line); color: var(--ink); }
.theme-dark .close { color: var(--ink); }
.theme-dark .alert-info    { background-color: #1a2430; border-color: #2b3d52; color: var(--ink); }
.theme-dark .alert-warning { background-color: #2b2517; border-color: #4a3f1e; color: var(--ink); }
.theme-dark .alert-success { background-color: #1d2b22; border-color: #2c4a36; color: var(--ink); }
.theme-dark .alert-danger  { background-color: #2e1a1c; border-color: #4e282b; color: var(--ink); }

/* ---------- 7. НАШИ ДИЗАЙН-СИСТЕМЫ ---------- */

/* 7а. Страница заказа (.ord) */
.theme-dark .ord { --ord-green: var(--brand-green); --ord-line: var(--line); --ord-ink: var(--ink); --ord-mute: var(--mute); }
.theme-dark .ord-card { background: var(--card-bg); box-shadow: var(--card-shadow); }
.theme-dark .ord .form-control { background-color: var(--input-bg); border-color: var(--input-border); color: var(--ink); }
.theme-dark .ord-pay { border-color: var(--input-border); background: var(--soft-bg); }
.theme-dark .ord-pay.on { border-color: var(--brand-green); background: #1d2b22; }
.theme-dark .ord-tk { background: var(--card-bg); border-color: var(--line); box-shadow: -6px 0 14px rgba(0,0,0,.3); }
.theme-dark .ord-empty { background: var(--soft-bg); color: var(--mute); }
.theme-dark .ord .viewsw { background: var(--soft-bg2); }
.theme-dark .ord .viewsw__b.on { background: var(--card-bg); color: var(--ink); }
.theme-dark .ord .ord-paybtn { color: #1a1a1a; }
.theme-dark .ord-mobbar { background: var(--card-bg); border-top: 1px solid var(--line); }

/* 7б. Фидбек (.fb) */
.theme-dark .fb { --fb-green: var(--brand-green); --fb-line: var(--line); --fb-ink: var(--ink); --fb-mute: var(--mute); --fb-red: var(--brand-red); }
.theme-dark .fb-card { background: var(--card-bg); box-shadow: var(--card-shadow); }
.theme-dark .fb .fb-control { background: var(--input-bg); border-color: var(--input-border); color: var(--ink); }
.theme-dark .fb-pay { border-color: var(--input-border); background: var(--soft-bg); }
.theme-dark .fb-pay.on { border-color: var(--brand-green); background: #1d2b22; }
.theme-dark .fb-drop { border-color: #3a414a; background: var(--soft-bg); }
.theme-dark .fb-drop__icon { background: var(--soft-bg2); color: var(--mute); }
.theme-dark .fb-note--info  { background: #1a2430; border-color: #2b3d52; }
.theme-dark .fb-note--warn  { background: #2b2517; border-color: #4a3f1e; }
.theme-dark .fb-note--danger{ background: #2e1a1c; border-color: #4e282b; color: #f1b8bd; }
.theme-dark .fb-note--ok    { background: #1d2b22; border-color: #2c4a36; color: #9fdcb4; }
.theme-dark .fb .fb-paybtn { color: #1a1a1a; }
.theme-dark .fb-captcha-box { background: var(--soft-bg2); color: var(--ink); }

/* 7в. Контакты: и страница, и API-блок (.ct-contacts/.ctc-*) */
.theme-dark .ct-contacts { --ctg: var(--brand-green); --ctl: var(--line); --cti: var(--ink); --ctm: var(--mute); --ctr: var(--brand-red); }
.theme-dark .ct-contacts .ctc-card { background: var(--card-bg); box-shadow: var(--card-shadow); }
.theme-dark .ct-contacts .ctc-row { border-color: var(--input-border); background: var(--soft-bg); }
.theme-dark .ct-contacts .ctc-ico { background: var(--soft-bg2); color: var(--mute); }
.theme-dark .ct-contacts .ctc-btn { background: var(--soft-bg2); color: var(--ink); }
.theme-dark .ct-contacts .ctc-btn:hover { background: #343a42; }
.theme-dark .ct-contacts .ctc-badge { background: #1d2b22; border-color: #2c4a36; color: #9fdcb4; }
.theme-dark .ct-contacts .ctc-state.is-open { color: var(--brand-green); }
.theme-dark .ct-contacts .ctc-state.is-closed { color: var(--brand-red); }
.theme-dark .ct-contacts .ctc-req td { border-bottom-color: var(--line); }

/* ---------- 8. МОДАЛКА ПРОВЕРКИ EMAIL (email-check-modal) ---------- */
.theme-dark .email-check-modal .modal-content { background: var(--card-bg); color: var(--ink); }

/* ============================================================
 *  ЭТАП 2 (v2): календарь афиши, пагинация, корзина/категории заказа,
 *  модалки email-check и vpn, cookie-виджет, datepicker.
 * ============================================================ */

/* ---------- КАЛЕНДАРЬ АФИШИ (avm-calendar) ---------- */
.theme-dark .avm-calendar-wrapper { background: var(--card-bg); box-shadow: 0 8px 30px rgba(0,0,0,.4); }
.theme-dark .avm-quick-btn { background: var(--soft-bg2); border-color: var(--input-border); color: var(--ink); }
.theme-dark .avm-calendar-nav { background: var(--card-bg); border-color: var(--input-border); color: var(--ink); }
.theme-dark .avm-datepicker-btn { background: var(--card-bg); border-color: var(--input-border); color: var(--ink); }
.theme-dark .avm-datepicker-popup { background: var(--card-bg); border-color: var(--line); box-shadow: 0 20px 40px rgba(0,0,0,.5); }
.theme-dark .avm-dp-nav { background: var(--card-bg); border-color: var(--input-border); color: var(--ink); }
.theme-dark .avm-dp-day { background: var(--card-bg); color: var(--ink); }
.theme-dark .avm-dp-day.weekend,
.theme-dark .weekend { background: var(--soft-bg); }

/* ---------- ПАГИНАЦИЯ ---------- */
.theme-dark .pagination .page-link {
    background-color: var(--card-bg); border-color: var(--line); color: var(--ink);
}
.theme-dark .pagination .page-item:not(.disabled) .page-link:hover {
    background-color: var(--soft-bg2); color: #ffffff;
}
.theme-dark .pagination .page-item.active .page-link {
    background-color: var(--brand-yellow); border-color: var(--brand-yellow); color: #1a1a1a;
}
.theme-dark .pagination .page-item.disabled .page-link {
    background-color: var(--soft-bg); border-color: var(--line); color: var(--mute);
}

/* ---------- КОРЗИНА И КАТЕГОРИИ (страница заказа) ---------- */
.theme-dark .cart-item:hover { background-color: var(--soft-bg); }
.theme-dark .cart-item__remove { background: var(--soft-bg2); color: var(--mute); border-color: transparent; }
.theme-dark .cart-item__remove:hover { background: #2e1a1c; color: #ff8a8a; }
.theme-dark .ticket-category-toggle { color: var(--ink); }
.theme-dark .ticket-category-toggle:hover { background: var(--soft-bg); }
.theme-dark .hall-plan-toggle { color: var(--ink); }
.theme-dark .hall-plan-toggle:hover { background: var(--soft-bg); }

/* ---------- МОДАЛКА ПРОВЕРКИ EMAIL (email-check-modal) ---------- */
.theme-dark .email-check-modal .modal-content { background: var(--card-bg); color: var(--ink); }
.theme-dark .email-check-modal__icon { background: var(--soft-bg2); color: var(--mute); }
.theme-dark .email-check-modal__icon--warning { background: #2b2517; color: #ffcf30; }
.theme-dark .email-check-modal__icon--error   { background: #2e1a1c; color: #ff8a8a; }
.theme-dark .email-check-modal__notice--warning { background: #2b2517; color: #e8d9a0; }
.theme-dark .email-check-modal__notice--error   { background: #2e1a1c; color: #f1b8bd; }
.theme-dark .email-check-modal__keep {
    border-color: var(--input-border); background: var(--soft-bg2); color: var(--ink);
}
.theme-dark .email-check-modal__keep:hover { background: #343a42; }
.theme-dark .email-check-modal__edit { /* главная кнопка модалки */ }

/* ---------- VPN-АЛЕРТ ---------- */
.theme-dark .vpn-alert-modal .modal-content { background: var(--card-bg); color: var(--ink); }
.theme-dark .vpn-alert-modal__icon { background: var(--soft-bg2); color: var(--mute); }
.theme-dark .vpn-alert-modal__advice { color: var(--mute); }
.theme-dark .vpn-alert-modal__footer { background: var(--soft-bg); border-top: 1px solid var(--line); }

/* ---------- COOKIE-ВИДЖЕТ ---------- */
.theme-dark #cookie {
    background-color: var(--card-bg); color: var(--ink);
    border-top: 1px solid var(--line); border-right: 1px solid var(--line);
    border-left: 5px solid var(--brand-yellow);
    box-shadow: 0 10px 30px rgba(0,0,0,.5);
}

/* ---------- BOOTSTRAP-DATEPICKER (всплывающий) ---------- */
.theme-dark .datepicker { background: var(--card-bg); color: var(--ink); border-color: var(--line); }
.theme-dark .datepicker .datepicker-switch,
.theme-dark .datepicker .prev,
.theme-dark .datepicker .next,
.theme-dark .datepicker table tr td,
.theme-dark .datepicker table tr th,
.theme-dark .datepicker table tr td day { color: var(--ink); }
.theme-dark .datepicker table tr td.day:hover,
.theme-dark .datepicker table tr td.focused { background: var(--soft-bg2); }
.theme-dark .datepicker table tr td.active,
.theme-dark .datepicker table tr td.active:hover,
.theme-dark .datepicker table tr td span.active { background: var(--brand-yellow); color: #1a1a1a; }
.theme-dark .datepicker table tr td.today { background: #2b2517; color: #ffcf30; }
.theme-dark .datepicker table tr td.old,
.theme-dark .datepicker table tr td.new { color: var(--mute); }

/* ---------- МЕЛКАЯ ПОЛИРОВКА ---------- */
.theme-dark .breadcrumb { background: transparent; }
.theme-dark .breadcrumb-item a { color: var(--mute); }
.theme-dark .breadcrumb-item.active { color: var(--ink); }
.theme-dark .breadcrumb-item + .breadcrumb-item::before { color: var(--mute); }
.theme-dark .close:hover { color: #ffffff; }
.theme-dark .form-control:disabled, .theme-dark .form-control[readonly] {
    background-color: var(--soft-bg); color: var(--mute);
}
.theme-dark ::placeholder { color: var(--mute); opacity: .8; }
.theme-dark hr { border-top: 1px solid var(--line); }
.theme-dark .text-warning { color: var(--brand-yellow) !important; }
.theme-dark .text-success { color: var(--brand-green) !important; }
.theme-dark .text-danger  { color: var(--brand-red) !important; }
.theme-dark .text-primary { color: var(--link) !important; }

/* ============================================================
 *  ЭТАП 2.1 (v3): легаси-контент — инлайн-стили редактора
 *  и оставшиеся компоненты. Проверено по 13 страницам:
 *  инлайн color:#000 — это <a>/<strong> из визуального редактора,
 *  ни один не на цветном фоне (жёлтых бейджей с таким текстом нет).
 * ============================================================ */

/* --- чёрный текст инлайн -> светлый --- */
.theme-dark [style*="color:#000"], .theme-dark [style*="color: #000"],
.theme-dark [style*="color:#000000"], .theme-dark [style*="color: #000000"],
.theme-dark [style*="color:#333"], .theme-dark [style*="color: #333"],
.theme-dark [style*="color:#212529"], .theme-dark [style*="color: #212529"],
.theme-dark [style*="color:#2b2b2b"], .theme-dark [style*="color:#2b2b2b"],
.theme-dark [style*="color:#444"], .theme-dark [style*="color:#555"] {
    color: var(--ink) !important;
}

/* --- инлайн светлые фоны -> тёмная карточка --- */
.theme-dark [style*="background:#fff"], .theme-dark [style*="background: #fff"],
.theme-dark [style*="background-color:#fff"], .theme-dark [style*="background-color: #fff"],
.theme-dark [style*="background:#ffffff"], .theme-dark [style*="background: #ffffff"],
.theme-dark [style*="background:#f5f5f5"], .theme-dark [style*="background: #f5f5f5"],
.theme-dark [style*="background:#f8f9fa"], .theme-dark [style*="background: #f8f9fa"],
.theme-dark [style*="background:#fafbfc"], .theme-dark [style*="background: #fafbfc"],
.theme-dark [style*="background:#fcfcfd"], .theme-dark [style*="background: #fcfcfd"] {
    background: var(--card-bg) !important;
    color: var(--ink);
}

/* --- карточка хлебных крошек (crumb-card) --- */
.theme-dark .crumb-card {
    background: var(--card-bg);
    box-shadow: 0 1px 2px rgba(0,0,0,.3), 0 4px 16px rgba(0,0,0,.35);
    color: var(--ink);
}
.theme-dark .crumb-card a { color: var(--mute); }
.theme-dark .crumb-card a:hover { color: var(--link); }

/* --- возрастной бейдж на постерах (0+, 12+, 16+...) --- */
.theme-dark .age-restriction-badge {
    background-color: rgba(20, 23, 27, .82);
    color: var(--ink);
}

/* --- страховка: Bootstrap-утилиты, встречающиеся в контенте --- */
.theme-dark .text-body { color: var(--ink) !important; }
.theme-dark .text-black-50 { color: var(--mute) !important; }
.theme-dark .btn-outline-dark {
    color: var(--ink); border-color: var(--input-border);
}
.theme-dark .btn-outline-dark:hover { background: var(--soft-bg2); color: #fff; }
.theme-dark .btn-dark { background: var(--soft-bg2); border-color: var(--input-border); color: var(--ink); }
.theme-dark .jumbotron { background: var(--card-bg); color: var(--ink); }
.theme-dark .badge-light { background: var(--soft-bg2); color: var(--ink); }

/* ============================================================
 *  ЭТАП 2.2 (v4): постраничные вшитые <style>-блоки
 *  (аудит 13 страниц; жёлтые элементы usp/llm/buy-btn не трогаем —
 *   тёмный текст на жёлтом корректен в обеих темах)
 * ============================================================ */

/* --- ГЛАВНАЯ (афиша): панель фильтров --- */
.theme-dark .filters-form {
    background: var(--card-bg) !important;
    box-shadow: 0 8px 30px rgba(0,0,0,.4) !important;
}
.theme-dark .filters-form .btn-secondary {
    background: var(--soft-bg2) !important;
    border: 1px solid var(--input-border) !important;
    color: var(--ink) !important;
}
.theme-dark .filters-form .btn-secondary:hover {
    background: #2b2517 !important;
    border-color: #4a3f1e !important;
    color: #ffcf30 !important;
}
.theme-dark .afisha-main-container .empty-state-card,
.theme-dark .afisha-main-container .search-results-box {
    background: var(--card-bg) !important;
    color: var(--ink);
}

/* заголовки-ссылки карточек афиши: hover был чёрным (!important у них) */
.theme-dark .custom-hover-link:hover,
.theme-dark .custom-hover-link:focus {
    color: #ffffff !important;
    border-bottom-color: var(--brand-yellow) !important;
}

/* --- ПОМОЩЬ (/help): вшитые .hlp__* --- */
.theme-dark .hlp__navcard,
.theme-dark .hlp__item,
.theme-dark .hlp__empty {
    background: var(--card-bg) !important;
    color: var(--ink);
}
.theme-dark .hlp__navcard:hover,
.theme-dark .hlp__item:hover {
    background: var(--soft-bg) !important;
}
.theme-dark .hlp__search input {
    background: var(--input-bg) !important;
    border-color: var(--input-border) !important;
    color: var(--ink) !important;
}
.theme-dark .hlp__search input::placeholder { color: var(--mute); }

/* --- ВОЗВРАТ (/refund): Bootstrap-3 панели и заголовки --- */
.theme-dark .panel { background: var(--card-bg) !important; color: var(--ink); }
.theme-dark .panel-default > .panel-heading,
.theme-dark .card-header {
    background: var(--soft-bg) !important;
    color: var(--ink) !important;
    border-bottom: 1px solid var(--line);
}
.theme-dark .panel-warning > .panel-heading {
    background: #2b2517 !important;
    color: #e8d9a0 !important;
    border-bottom: 1px solid #4a3f1e;
}
.theme-dark .panel-body, .theme-dark .card-body { color: var(--ink); }
.theme-dark .alert-secondary {
    background: var(--soft-bg);
    border-color: var(--line);
    color: var(--ink);
}

/* кнопка-аккордеон фильтров (белая с тёмным текстом) */
.theme-dark .avm-filters-toggle {
    background: var(--card-bg) !important;
    color: var(--ink) !important;
    border: 1px solid var(--line) !important;
}
.theme-dark .avm-filters-toggle:hover {
    background: #2b2517 !important;
    border-color: #4a3f1e !important;
    color: #ffcf30 !important;
}

/* --- универсальная страховка для страниц с жёсткими !important --- */
.theme-dark a.btn-warning, .theme-dark .btn-warning {
    color: #1a1a1a; /* текст на жёлтом остаётся тёмным */
}

/* ============================================================
 *  ЭТАП 2.3 (v5): лента дат календаря, страница помощи, cookie.
 *  Жёлтые элементы с чёрным текстом (selected/active в календаре)
 *  не трогаем — они корректны в обеих темах.
 * ============================================================ */

/* --- ЛЕНТА ДАТ КАЛЕНДАРЯ (главная) --- */
.theme-dark .avm-date-item,
.theme-dark .avm-date-item .avm-date-num,
.theme-dark .avm-date-item.avm-date--weekend .avm-date-num {
    color: var(--ink) !important;
}
.theme-dark .avm-date-item:hover,
.theme-dark .avm-date-item:focus {
    color: #ffffff !important;
}
/* выходные: как в светлой теме — красный ДЕНЬ НЕДЕЛИ, число обычное */
.theme-dark .avm-date-item.avm-date--weekend:not(.avm-date--selected) .avm-date-week {
    color: #ff6b6b !important;
}
.theme-dark .avm-date-item.avm-date--weekend .avm-date-num {
    color: var(--ink) !important;
}
.theme-dark .avm-dp-weekdays span { color: var(--mute) !important; }
.theme-dark .avm-dp-weekdays span.weekend { color: #ff6b6b !important; }
.theme-dark .avm-quick-btn:hover,
.theme-dark .avm-quick-btn:focus { color: var(--ink) !important; }
.theme-dark .avm-datepicker-btn:hover { color: var(--ink) !important; }
.theme-dark .avm-dp-footer button {
    background: var(--soft-bg2) !important;
    color: var(--ink) !important;
}
.theme-dark .avm-dp-footer button.avm-dp-today { color: #ffcf30 !important; }

/* --- СТРАНИЦА ПОМОЩИ (.hlp__*) — тексты --- */
.theme-dark .hlp__h2,
.theme-dark .hlp__item > summary,
.theme-dark .hlp__item > summary *,
.theme-dark .hlp__navcard,
.theme-dark .hlp__navcard *,
.theme-dark .hlp__empty b {
    color: var(--ink) !important;
}
/* тела ответов (#3a3a42) — светлый графит */
.theme-dark .hlp__ans,
.theme-dark .hlp__ans li,
.theme-dark .hlp__ans p {
    color: #c7cdd4 !important;
}
/* подписи (#66666e, #8b8b93) — приглушённый */
.theme-dark .hlp__tail,
.theme-dark .hlp__empty,
.theme-dark .hlp__navnum,
.theme-dark .hlp__contact .hlp__contact-note {
    color: var(--mute) !important;
}
.theme-dark .hlp__clear {
    background: var(--soft-bg2) !important;
    color: var(--mute) !important;
}
/* подсветка поиска: жёлтая заливка остаётся, текст тёмный */
.theme-dark .hlp mark {
    color: #1a1a1a !important;
}

/* --- COOKIE: ссылка была синей #0056b3 --- */
.theme-dark #cookie-link,
.theme-dark #cookie-link:hover { color: var(--link) !important; }

/* --- мелочи футера --- */
.theme-dark #footer-main .toggle-icon { color: var(--mute); }

/* ============================================================
 *  ЭТАП 2.4 (v6): план зала (hp-*), шапка события и организатор
 *  (ord-ev/ord-go), категории билетов (ord-ti), промо-плашка
 *  с таймером, страница места (place-redesign), инлайн в верхнем
 *  регистре (#FFFFFF / rgb(255,255,255)).
 * ============================================================ */

/* --- ПЛАН ЗАЛА (hall-plan.css) --- */
.theme-dark .hp-bar { background: var(--card-bg); }
.theme-dark .hp-bar__total { color: var(--mute); }
.theme-dark .hp-bar__total b { color: var(--ink); }
.theme-dark .hp-bar__cards::-webkit-scrollbar-thumb { background: #3a414a; }
.theme-dark .hp-card { background: var(--card-bg); }
.theme-dark .hp-card__title,
.theme-dark .hp-card__price { color: var(--ink); }
.theme-dark .hp-card__sector { color: var(--mute); }
.theme-dark .hp-card__remove { background: var(--soft-bg2); color: var(--mute); }
.theme-dark .hp-card__remove:hover { background: #2e1a1c; color: #ff8a8a; }
.theme-dark .hp-extra { background: var(--card-bg); }
.theme-dark .hp-extra.is-selected { background: #2b2517; }
.theme-dark .hp-extras__title { color: var(--mute); }
.theme-dark .hp-legend__item { background: var(--card-bg); }
.theme-dark .hp-legend__item em { color: var(--mute); }
.theme-dark .hp-modal-footer { background: var(--card-bg); }
.theme-dark .hp-root { color: var(--ink); }
.theme-dark .hp-stage-wrap { background: var(--soft-bg); }
.theme-dark .hp-unavailable { background: var(--soft-bg); }
.theme-dark .hp-unavailable__hint { color: var(--mute); }
.theme-dark .hp-unavailable__text { color: var(--ink); }
.theme-dark .hp-zoom { background: rgba(30, 34, 39, .95); }
.theme-dark .hp-zoom button { color: var(--ink); }
.theme-dark .hp-zoom button:hover { background: var(--soft-bg2); }
.theme-dark .hp-zoom__level { color: var(--mute); }

/* --- ЗАКАЗ: шапка события, организатор, категории --- */
.theme-dark .ord .ord-ev__title,
.theme-dark .ord .ord-ev__place:hover,
.theme-dark .ord .ord-ev__date b { color: var(--ink); }
.theme-dark .ord .ord-ev__meta { color: var(--mute); }
.theme-dark .ord .ord-go__name { color: var(--ink); }
.theme-dark .ord .ord-go__hint { color: var(--mute); }
.theme-dark .ord .ord-go__warn { background: var(--soft-bg); color: var(--mute); }
.theme-dark .ord .ord-go__warn .fa { color: var(--brand-yellow); }
.theme-dark .ord .ord-pay .fa-question-circle { color: var(--mute); }
.theme-dark .ord .ticket-category-item .ord-ti { background: var(--card-bg); }
.theme-dark .ord .ticket-category-item .ord-ti:hover { background: var(--soft-bg); }
.theme-dark .ord .ticket-category-item .ord-ti.is-on { background: #1d2b22; }
.theme-dark .ord .ticket-category-item .input-group-addon { color: var(--ink); }
.theme-dark .ord .ord-tk__price { color: var(--mute); }
.theme-dark .ord .ord-tk__x { background: var(--soft-bg2); }
.theme-dark .ord-errors .alert-danger {
    background: #2e1a1c; border-color: #4e282b; color: #f1b8bd;
}
.theme-dark .ord .form-control.is-invalid-ord { background: #2e1a1c; border-color: #e05260; }
.theme-dark .ord .form-control.is-invalid-ord::placeholder { color: #c2707a; }

/* --- ПРОМО-ПЛАШКА С ТАЙМЕРОМ (avemedia-tw-opt) --- */
.theme-dark .avemedia-tw-opt {
    background-color: #2b2517; border-color: #4a3f1e; color: var(--ink);
    animation: none; /* пульсация жёлтым в тёмной выключена — не слепит */
}
.theme-dark .avemedia-tw-opt-title { color: var(--ink); }
.theme-dark .avemedia-tw-opt-desc { color: #c7cdd4; }
.theme-dark .avemedia-tw-opt-timer-box { background: var(--card-bg); border-color: #4a3f1e; }
.theme-dark .avemedia-tw-opt-timer-lbl { color: var(--mute); }

/* --- СТРАНИЦА МЕСТА (place-redesign) --- */
.theme-dark .place-redesign .place-gallery-wrap { background: var(--card-bg); }
.theme-dark .place-redesign .place-repertoire-item { background: var(--card-bg); }
.theme-dark .place-redesign .place-repertoire-item a:hover { color: #ffffff !important; }
.theme-dark .place-redesign .place-tabs .nav-link { background: var(--card-bg); color: var(--mute); }
.theme-dark .place-redesign .place-tabs .nav-link.active { background: var(--card-bg); color: var(--ink); }
.theme-dark .place-redesign .ave-notice { background: #2b2517; color: var(--ink); }

/* --- ИНЛАЙН в верхнем регистре и rgb() (атрибут-селекторы
       чувствительны к регистру — ловим оба написания) --- */
.theme-dark [style*="background:#FFFFFF"], .theme-dark [style*="background: #FFFFFF"],
.theme-dark [style*="background-color:#FFFFFF"], .theme-dark [style*="background-color: #FFFFFF"],
.theme-dark [style*="background:rgb(255"], .theme-dark [style*="background-color:rgb(255"],
.theme-dark [style*="background:RGB(255"], .theme-dark [style*="background-color:RGB(255"] {
    background: var(--card-bg) !important;
    color: var(--ink);
}
.theme-dark [style*="color:#333333"], .theme-dark [style*="color: #333333"],
.theme-dark [style*="color:#000000;"], .theme-dark [style*="color: #000000;"] {
    color: var(--ink) !important;
}

/* ============================================================
 *  ЭТАП 2.5 (v7): страницы шоу и площадки (токены --ave-*),
 *  кнопки-ссылки заказа (.ord-link), аддоны категорий, цены
 *  на схеме зала, контакты (литеральный цвет обёртки).
 * ============================================================ */

/* --- ШОУ и ПЛОЩАДКА: переворачиваем их дизайн-токены --- */
.theme-dark .show-redesign,
.theme-dark .place-redesign {
    --ave-dark: var(--ink);        /* весь тёмный текст страниц -> светлый */
    --ave-light: var(--card-bg);   /* все светлые подложки -> тёмные */
    --ave-border: var(--line);
    --ave-yellow-soft: #2b2517;    /* жёлто-кремовый hover -> тёмно-жёлтый */
}
/* фоторама/галерея */
.theme-dark .show-redesign .show-gallery-wrap,
.theme-dark .place-redesign .place-gallery-wrap { background: var(--card-bg) !important; }
.theme-dark .fotorama { background: transparent; }
/* табы: Расписание / План зала / Отзывы */
.theme-dark .show-redesign .show-tabs .nav-link,
.theme-dark .place-redesign .place-tabs .nav-link {
    background: var(--card-bg) !important;
    color: var(--mute) !important;
    border-color: var(--line) !important;
}
.theme-dark .show-redesign .show-tabs .nav-link:hover,
.theme-dark .place-redesign .place-tabs .nav-link:hover {
    background: #2b2517 !important;
    color: #ffcf30 !important;
    border-color: #4a3f1e !important;
}
.theme-dark .show-redesign .show-tabs .nav-link.active,
.theme-dark .place-redesign .place-tabs .nav-link.active {
    background: var(--card-bg) !important;
    color: var(--ink) !important;
    border-bottom-color: var(--card-bg) !important;
    box-shadow: inset 0 3px 0 var(--brand-yellow);
}
/* ссылки площадки/шоу: hover был тёмным */
.theme-dark .show-redesign .show-place-link,
.theme-dark .show-redesign .show-place-link:hover,
.theme-dark .place-redesign .place-repertoire-item a,
.theme-dark .place-redesign .place-repertoire-item a:hover { color: var(--ink) !important; }
/* плашки-уведомления на обеих страницах */
.theme-dark .show-redesign .ave-notice,
.theme-dark .place-redesign .ave-notice {
    background: #2b2517; border-color: #4a3f1e; color: var(--ink);
}
/* герой-карточка и мета (название, дата, адрес, метро) */
.theme-dark .show-redesign .show-hero-card,
.theme-dark .show-redesign .show-meta,
.theme-dark .show-redesign .show-org-box,
.theme-dark .place-redesign .place-hero,
.theme-dark .place-redesign .place-meta,
.theme-dark .place-redesign .place-description { color: var(--ink); }
.theme-dark .show-redesign .show-meta-item,
.theme-dark .place-redesign .place-meta-item { color: var(--mute); }
.theme-dark .show-redesign .show-meta-item b,
.theme-dark .show-redesign .show-meta-item strong,
.theme-dark .place-redesign .place-meta-item b,
.theme-dark .place-redesign .place-meta-item strong { color: var(--ink); }

/* --- ЗАКАЗ: кнопки-ссылки (заголовок и площадка внутри h1) --- */
.theme-dark .ord .ord-link { color: var(--ink); }
.theme-dark .ord .ord-link:hover { color: #ffffff; text-decoration-color: var(--brand-yellow); }

/* --- ЗАКАЗ: категории списком — аддоны и строки --- */
.theme-dark .ord .ticket-category-item .input-group-addon {
    background: var(--soft-bg2);
    border-color: var(--input-border);
    color: var(--ink);
}
.theme-dark .ord .ticket-category-toggle { color: var(--ink); }
.theme-dark .ord .ticket-category-toggle span,
.theme-dark .ord .ticket-category-toggle small { color: var(--mute); }
.theme-dark .ord .hall-plan-toggle__title { color: var(--ink); }
.theme-dark .ord .hall-plan-toggle__description { color: var(--mute); }

/* --- ЗАКАЗ: цены на схеме зала (SVG-текст;
       CSS перекрывает fill-атрибуты) --- */
.theme-dark .hp-stage text,
.theme-dark .hp-stage tspan { fill: #f1f3f5; }

/* --- КОНТАКТЫ: литеральный цвет обёртки API-блока --- */
.theme-dark .ct-contacts { color: var(--ink) !important; }
.theme-dark .ct-contacts .ctc-hours b { color: var(--ink); }

/* ============================================================
 *  ЭТАП 2.6 (v8): страховки с !important для заказа (категории,
 *  заголовок, дата), пилюли цен на схеме (.hp-stage-wrap!),
 *  панельные заголовки (новости: блок «Добавьте сайт в Закладки»).
 * ============================================================ */

/* --- ЗАКАЗ: категории — гарантированно тёмные --- */
.theme-dark .ord .ticket-category-item .ord-ti,
.theme-dark .ord label.ord-ti {
    background: var(--card-bg) !important;
    color: var(--ink) !important;
    border-color: var(--input-border) !important;
}
.theme-dark .ord .ord-ti:hover,
.theme-dark .ord .ord-ti:focus { background: var(--soft-bg) !important; }
.theme-dark .ord .ord-ti.is-on {
    background: #1d2b22 !important;
    border-color: var(--brand-green) !important;
}

/* --- ЗАКАЗ: заголовок и дата события — гарантированно светлые --- */
.theme-dark .ord .ord-link { color: var(--ink) !important; }
.theme-dark .ord .ord-link:hover { color: #ffffff !important; }
.theme-dark .ord .ord-ev__meta,
.theme-dark .ord .ord-ev__date { color: var(--mute) !important; }
.theme-dark .ord .ord-ev__date b { color: var(--ink) !important; }

/* --- ЗАКАЗ: пилюли цен на схеме зала ---
   svg живёт в .hp-stage-wrap (не .hp-stage!); fill может быть
   инлайн-стилем, поэтому !important */
.theme-dark .hp-stage-wrap text, .theme-dark .hp-stage-wrap tspan,
.theme-dark .hp-root text, .theme-dark .hp-root tspan,
.theme-dark .ord svg text, .theme-dark .ord svg tspan {
    fill: #f1f3f5 !important;
}

/* --- ПАНЕЛЬНЫЕ ЗАГОЛОВКИ (новости: «Добавьте сайт в Закладки»
       и другие блоки .panel-heading без .panel-default) --- */
.theme-dark .panel-heading {
    background: var(--soft-bg) !important;
    color: var(--ink) !important;
    border-bottom: 1px solid var(--line);
}
.theme-dark .panel-heading a { color: var(--link); }
.theme-dark .panel { color: var(--ink); }

/* ============================================================
 *  ЭТАП 2.7 (v9): асистент (assistant.css), игра (game.css),
 *  QR-генератор (страничные стили /qr).
 * ============================================================ */

/* --- АСИСТЕНТ: чат --- */
.theme-dark .av-avatar { background: var(--card-bg); }
.theme-dark .av-status { background: var(--card-bg); color: var(--brand-green); }
.theme-dark .av-chat-header { color: var(--ink); }
.theme-dark .av-chat-header-avatar { background: var(--card-bg); }
.theme-dark .av-chat-body { background: var(--soft-bg); }
.theme-dark .msg .sources { color: var(--mute); }
.theme-dark .msg .sources a { background: #2b2517; color: #ffcf30; }
.theme-dark .msg .sources a:hover { color: #ffffff; }
.theme-dark .av-chat-suggestions,
.theme-dark .av-chat-form { background: var(--card-bg); }
.theme-dark .assistant-widget-badge { background: #2b2517; color: #ffcf30; }
.theme-dark .assistant-widget-panel { background: var(--card-bg); }
.theme-dark .assistant-widget-close { color: var(--ink); }

/* --- ИГРА: Ticket Rush --- */
.theme-dark .ticket-rush-page,
.theme-dark .ticket-rush-title,
.theme-dark .preview-title,
.theme-dark .ticket-rush-section-title,
.theme-dark .ticket-rush-side-title,
.theme-dark .why-us-title,
.theme-dark .marketing-title,
.theme-dark .record-row strong { color: var(--ink); }
.theme-dark .ticket-rush-lead,
.theme-dark .preview-label,
.theme-dark .ticket-rush-section-subtitle,
.theme-dark .why-us-label,
.theme-dark .stat-label,
.theme-dark .record-row span { color: var(--mute); }
.theme-dark .preview-value,
.theme-dark .stat-value { color: var(--ink); }
.theme-dark .game-status-box { background: var(--soft-bg); color: var(--mute); }
.theme-dark .game-note { background: #2b2517; color: #e8d9a0; }
.theme-dark .game-note--muted { background: var(--soft-bg); color: var(--mute); }
.theme-dark .board-overlay-message { background: rgba(30, 34, 39, .96); color: var(--ink); }
.theme-dark .milestone-banner { background: rgba(30, 34, 39, .96); }
.theme-dark .milestone-banner__text { color: #ffcf30; }
.theme-dark .milestone-banner__sub { color: var(--mute); }
/* билеты на игровом поле: текст на полупрозрачных плашках */
.theme-dark .ticket-word,
.theme-dark .ticket-points { color: #f1f3f5; }
.theme-dark .ticket-item.golden .ticket-word,
.theme-dark .ticket-item.golden .ticket-points { color: #ffcf30; }
.theme-dark .about-toggle { color: var(--ink); }
.theme-dark .record-chase-box { color: #ffcf30; }

/* --- QR-ГЕНЕРАТОР (/qr) --- */
/* страница перекрашивает сам body — перебиваем */
.theme-dark body { background: var(--page-bg) !important; color: var(--ink) !important; }
.theme-dark .qr-gen-wrapper,
.theme-dark .hero-title,
.theme-dark .form-label-custom,
.theme-dark .sticker-title { color: var(--ink); }
.theme-dark .sticker-hint,
.theme-dark .sticker-footer { color: var(--mute); }
.theme-dark .card-ave,
.theme-dark .preview-card-box,
.theme-dark .qr-canvas-holder { background: var(--card-bg); }
.theme-dark .type-nav-pills::-webkit-scrollbar-thumb { background: #3a414a; }
.theme-dark .pill-tab-btn { background: var(--soft-bg); color: var(--ink); }
.theme-dark .pill-tab-btn i { color: var(--mute); }
.theme-dark .pill-tab-btn:hover { background: var(--soft-bg2); color: var(--ink); }
.theme-dark .pill-tab-btn.active { background: var(--brand-yellow); color: #1a1a1a; }
.theme-dark .pill-tab-btn.active i { color: #1a1a1a; }
.theme-dark .form-control-ave { background: var(--input-bg); border-color: var(--input-border); color: var(--ink); }
.theme-dark .accordion-item-ave { background: var(--card-bg); }
.theme-dark .accordion-toggle-btn { background: var(--soft-bg); color: var(--ink); }
.theme-dark .accordion-toggle-btn .arrow-icon { color: var(--mute); }
.theme-dark .color-input-box { background: var(--soft-bg); }
.theme-dark .logo-card,
.theme-dark .frame-btn { background: var(--card-bg); }
.theme-dark .logo-card.active,
.theme-dark .frame-btn.active { background: #2b2517; }
.theme-dark .logo-icon-box { background: var(--soft-bg2); }
.theme-dark .upload-dropzone { background: var(--soft-bg); border-color: var(--input-border); }
.theme-dark .upload-dropzone:hover { background: #2b2517; }
.theme-dark .custom-logo-active-box { background: #1d2b22; }
.theme-dark .btn-delete-logo { background: #2e1a1c; color: #ff8a8a; border-color: transparent; }
.theme-dark .btn-delete-logo:hover { background: #4e282b; color: #ffffff; }
.theme-dark .btn-ave-main:disabled { background: var(--soft-bg2); color: var(--mute); }
.theme-dark .btn-ave-sub { background: var(--soft-bg2); color: var(--ink); border-color: var(--input-border); }
.theme-dark .btn-ave-sub:hover { background: #343a42; }
.theme-dark .btn-ave-sub:disabled { background: var(--soft-bg); color: var(--mute); }
.theme-dark .rate-limit-badge { background: var(--soft-bg); color: var(--mute); }
.theme-dark .rate-limit-badge.warning { background: #2b2517; color: #ffcf30; }
.theme-dark .history-chip-item { background: var(--soft-bg); color: var(--ink); }

/* ВАЖНО: сам QR-код на белом холне оставляем белым —
   контраст нужен для сканирования камерой */

/* ============================================================
 *  ЭТАП 2.8 (v10): КРИТИЧЕСКИЙ ФИКС шапки события заказа.
 *  Блок .ord-ev (заголовок, дата, площадка) лежит ВНЕ обёртки .ord —
 *  прежние селекторы ".theme-dark .ord .ord-ev__*" не совпадали вовсе.
 *  Проверено матчем на живой странице: эти — совпадают.
 * ============================================================ */
.theme-dark .ord-ev__title { color: var(--ink) !important; }
.theme-dark .ord-link { color: var(--ink) !important; }
.theme-dark .ord-link:hover {
    color: #ffffff !important;
    text-decoration-color: var(--brand-yellow) !important;
}
.theme-dark .ord-ev__meta,
.theme-dark .ord-ev__date { color: var(--mute) !important; }
.theme-dark .ord-ev__date b { color: var(--ink) !important; }
.theme-dark .ord-ev__badge { color: #1a1a1a; } /* жёлтый бейдж «Без сбора» */

/* страховка пилюль: и без привязки к .ord */
.theme-dark .hall-plan-section svg text,
.theme-dark .hall-plan-section svg tspan { fill: #f1f3f5 !important; }

/* ============================================================
 *  ЭТАП 2.9 (v11): пагинация с !important (включая нестандартную
 *  активную ссылку class="page-link active"), календарь — выходные
 *  зеркально светлой теме (правки в блоке v5 выше).
 * ============================================================ */
.theme-dark .pagination .page-link {
    background-color: var(--card-bg) !important;
    border-color: var(--line) !important;
    color: var(--ink) !important;
}
.theme-dark .pagination .page-link:hover {
    background-color: var(--soft-bg2) !important;
    color: #ffffff !important;
}
.theme-dark .pagination .page-link.active,
.theme-dark .pagination .page-item.active .page-link {
    background-color: var(--brand-yellow) !important;
    border-color: var(--brand-yellow) !important;
    color: #1a1a1a !important;
}
.theme-dark .pagination .page-item.disabled .page-link {
    background-color: var(--soft-bg) !important;
    border-color: var(--line) !important;
    color: var(--mute) !important;
}

/* ============================================================
 *  ЭТАП 2.10 (v12): страница заказа, режим «Списком» — аккордеон
 *  категорий и строки из style.css (белые фоны + #252b31/#55555d,
 *  специфичность равная — нужна победа порядком через !important),
 *  блок «План зала», пилюли цен на схеме (.hp-zone__text).
 * ============================================================ */

/* --- аккордеон категорий (заголовки-строки) --- */
.theme-dark .ticket-category-toggle {
    background: var(--card-bg) !important;
    color: var(--ink) !important;
}
.theme-dark .ticket-category-toggle:hover { background: var(--soft-bg) !important; }
.theme-dark .ticket-category-toggle__meta,
.theme-dark .ticket-category-toggle__price,
.theme-dark .ticket-category-toggle__arrow { color: var(--mute) !important; }

/* --- контейнер и строки категорий --- */
.theme-dark .ticket-category-items {
    background: var(--soft-bg) !important;
    border-top: 1px solid var(--line) !important;
}
.theme-dark .ticket-category-item {
    background: var(--card-bg) !important;
    border-color: var(--line) !important;
}
.theme-dark .ticket-category-item:hover {
    background: var(--soft-bg) !important;
    border-color: #3a414a !important;
}
/* названия и цены внутри строк (nth-of-type у них равен по
   специфичности — перебиваем !important-ом) */
.theme-dark .ticket-category-item .input-group-addon,
.theme-dark .ticket-category-item .input-group-addon:nth-of-type(1),
.theme-dark .ticket-category-item .input-group-addon:nth-of-type(2) {
    color: var(--ink) !important;
}
.theme-dark .ticket-category-item [itemprop="price"] { color: var(--mute) !important; }

/* --- блок «План зала» --- */
.theme-dark .hall-plan-toggle {
    background: transparent !important;
    border-color: var(--input-border) !important;
}
.theme-dark .hall-plan-toggle:hover { background: var(--soft-bg) !important; }
.theme-dark .hall-plan-toggle__icon { background: var(--soft-bg2) !important; color: var(--mute) !important; }
.theme-dark .hall-plan-toggle__title { color: var(--ink) !important; }
.theme-dark .hall-plan-toggle__description { color: var(--mute) !important; }
.theme-dark .hall-plan-toggle__arrow { color: var(--mute) !important; }

/* --- ПИЛЮЛИ ЦЕН НА СХЕМЕ: точный класс из hall-plan.js --- */
.theme-dark .hp-zone__text { fill: #f1f3f5 !important; }

/* v13: настоящие пилюли — ценники .hp-zone-label (у них нет ни fill-
   атрибута, ни CSS-правила: SVG-текст по умолчанию ЧЁРНЫЙ) */
.theme-dark .hp-zone-label { fill: #f1f3f5 !important; }

/* v13: легенда цен под схемой — кнопки были с чёрным текстом
   (дефолт <button>) */
.theme-dark .hp-legend__item { color: var(--ink) !important; }
.theme-dark .hp-legend__item:hover { color: #ffffff !important; }
.theme-dark .hp-legend__item.is-active { background: var(--brand-yellow) !important; color: #1a1a1a !important; }

/* ============================================================
 *  ЭТАП 2.11 (v14): модалки страницы заказа.
 *  Модалка организатора (#ordGoModal) живёт ВНЕ .ord — прежние
 *  правила ".theme-dark .ord .ord-go__*" не совпадали (та же
 *  история, что с заголовком события). Плюс общая страховка
 *  для всех модалок сайта.
 * ============================================================ */
.theme-dark .ord-go__name { color: var(--ink) !important; }
.theme-dark .ord-go__hint { color: var(--mute) !important; }
.theme-dark .ord-go__warn { background: var(--soft-bg) !important; color: var(--mute) !important; }
.theme-dark .ord-go__warn .fa { color: var(--brand-yellow) !important; }

/* общая страховка: заголовки/тексты/кнопки-крестики всех модалок */
.theme-dark .modal-title,
.theme-dark .modal-body,
.theme-dark .modal-header,
.theme-dark .modal-footer { color: var(--ink); }
.theme-dark .modal-header .close,
.theme-dark .modal-content .close { color: var(--ink); }
.theme-dark .modal-content .btn-light { color: var(--ink); }

/* ============================================================
 *  ЭТАП 2.12 (v15): инлайн-стили в ЛЮБОМ регистре.
 *  Блок закладок на новостях: style="background-color: #F5F5F5;"
 *  (заглавными) — атрибут-селекторы регистрозависимы, строчных
 *  вариантов не хватило. Флаг "i" делает поиск регистронезависимым.
 * ============================================================ */
.theme-dark [style*="background:#f5f5f5" i],
.theme-dark [style*="background-color:#f5f5f5" i],
.theme-dark [style*="background:#f8f9fa" i],
.theme-dark [style*="background-color:#f8f9fa" i],
.theme-dark [style*="background:#fafbfc" i],
.theme-dark [style*="background-color:#fafbfc" i],
.theme-dark [style*="background:#fcfcfd" i],
.theme-dark [style*="background-color:#fcfcfd" i],
.theme-dark [style*="background:#fafafa" i],
.theme-dark [style*="background-color:#fafafa" i],
.theme-dark [style*="background:#ffffff" i],
.theme-dark [style*="background-color:#ffffff" i],
.theme-dark [style*="background:#fff" i],
.theme-dark [style*="background-color:#fff" i] {
    background: var(--card-bg) !important;
    color: var(--ink);
}
.theme-dark [style*="color:#000000" i],
.theme-dark [style*="color:#212529" i],
.theme-dark [style*="color:#2b2b2b" i],
.theme-dark [style*="color:#333333" i],
.theme-dark [style*="color:#333" i] {
    color: var(--ink) !important;
}

/* ============================================================
 *  ЭТАП 2.13 (v16): пробел после двоеточия в инлайнах редактора
 *  ("background-color: #F5F5F5;") + новый цвет #E2E3E5 (алерты
 *  на новостях, 12+ блоков).
 * ============================================================ */
.theme-dark [style*="background: #f5f5f5" i], .theme-dark [style*="background-color: #f5f5f5" i],
.theme-dark [style*="background:#e2e3e5" i],  .theme-dark [style*="background: #e2e3e5" i],
.theme-dark [style*="background-color:#e2e3e5" i], .theme-dark [style*="background-color: #e2e3e5" i],
.theme-dark [style*="background: #f8f9fa" i], .theme-dark [style*="background-color: #f8f9fa" i],
.theme-dark [style*="background: #fafbfc" i], .theme-dark [style*="background-color: #fafbfc" i],
.theme-dark [style*="background: #fcfcfd" i], .theme-dark [style*="background-color: #fcfcfd" i],
.theme-dark [style*="background: #ffffff" i], .theme-dark [style*="background-color: #ffffff" i],
.theme-dark [style*="background: #fff" i], .theme-dark [style*="background-color: #fff" i] {
    background: var(--card-bg) !important;
    color: var(--ink);
}
.theme-dark [style*="color: #000000" i], .theme-dark [style*="color: #212529" i],
.theme-dark [style*="color: #2b2b2b" i], .theme-dark [style*="color: #333333" i],
.theme-dark [style*="color: #333" i] {
    color: var(--ink) !important;
}

/* ============================================================
 *  ЭТАП 2.14 (v17): игра «Поймай билет» — БЕЛЫЕ ГРАДИЕНТЫ
 *  (доска, карточки статистики, «почему мы», превью) + фикс
 *  золотого билета (светлый текст на золоте был нечитаем).
 * ============================================================ */

/* доска: светлый градиент -> тёмный, свечения приглушены */
.theme-dark .ticket-rush-board-wrap {
    background: linear-gradient(180deg, #1b1f24 0%, #14171b 100%) !important;
}
.theme-dark .ticket-rush-board {
    background:
        radial-gradient(circle at 20% 15%, rgba(255, 214, 102, .08), transparent 20%),
        radial-gradient(circle at 80% 20%, rgba(111, 170, 255, .05), transparent 20%),
        linear-gradient(180deg, #1e2227 0%, #171a1f 100%) !important;
}

/* кремовые градиентные карточки */
.theme-dark .preview-item { background: var(--card-bg) !important; color: var(--ink); }
.theme-dark .stat-box { background: var(--card-bg) !important; }
.theme-dark .stat-box--accent { background: #2b2517 !important; }
.theme-dark .why-us-card { background: var(--card-bg) !important; }
.theme-dark .why-us-item { background: var(--card-bg) !important; }

/* золотой билет: градиент золота оставляем, текст — тёмный
   (в v9 светло-жёлтый на золоте был нечитаем) */
.theme-dark .ticket-item.golden .ticket-word,
.theme-dark .ticket-item.golden .ticket-points { color: #4a3300 !important; }

/* ЭТАП 3 (дальше): отдельные страницы —
   полировать по факту жалоб/просмотров, база их уже читаема. */