/* ─────────────────────────────────────────────────────────────────────────
 * dark-theme.css — тёмная тема для главных static-страниц
 * (main.html «/», index-new.html «/family», couples.html «/couples»,
 *  gallery-new.html). Активируется атрибутом data-theme="dark" на <html>,
 * который ставит анти-FOUC inline-сниппет в <head> ДО отрисовки.
 *
 * ПРИНЦИП: светлая тема НЕ затрагивается. Здесь только переопределения под
 * :root[data-theme="dark"] (специфичность 0,2,0 перебивает :root / голые
 * селекторы независимо от порядка подключения). Значения тёмной палитры —
 * те же, что в landings-routes.js (warm-dark под бренд cream/teal/amber),
 * чтобы вся тёмная тема сайта была единой.
 * ───────────────────────────────────────────────────────────────────────── */

:root[data-theme="dark"] {
    --teal: #3fb5ab;
    --teal-dark: #2f9a90;
    --teal-light: rgba(63,181,171,0.13);
    --teal-600: #2dd4bf;
    --teal-700: #5eead4;
    --amber: #e0b955;
    --amber-light: rgba(212,168,67,0.15);
    --amber-dark: #caa23c;
    --cta: #f59e0b;
    --cream: #1c1913;
    --gray-100: #2a261d;
    --gray-200: rgba(255,255,255,0.10);
    --gray-400: #968f81;
    --gray-500: #ada695;
    --gray-600: #c6c0b2;
    --gray-700: #e4dfd4;
    --gray-800: #f6f2ea;
    --shadow-sm: 0 2px 8px rgba(0,0,0,0.45);
    --shadow-md: 0 4px 20px rgba(0,0,0,0.55);
    --shadow-lg: 0 8px 40px rgba(0,0,0,0.66);
    --surface: #383228;
    --surface-2: #454033;
}

/* Защита для no-JS: системная тёмная, если атрибут не выставлен скриптом */
@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]):not([data-theme="dark"]) {
        --teal: #3fb5ab; --teal-dark: #2f9a90; --teal-light: rgba(63,181,171,0.13);
        --teal-600: #2dd4bf; --teal-700: #5eead4;
        --amber: #e0b955; --amber-light: rgba(212,168,67,0.15); --amber-dark: #caa23c;
        --cta: #f59e0b;
        --cream: #1c1913; --gray-100: #2a261d; --gray-200: rgba(255,255,255,0.10);
        --gray-400: #968f81; --gray-500: #ada695; --gray-600: #c6c0b2;
        --gray-700: #e4dfd4; --gray-800: #f6f2ea;
        --shadow-sm: 0 2px 8px rgba(0,0,0,0.45); --shadow-md: 0 4px 20px rgba(0,0,0,0.55);
        --shadow-lg: 0 8px 40px rgba(0,0,0,0.66);
        --surface: #383228; --surface-2: #454033;
    }
}

/* Большинство UI на этих страницах — классы -tz, читающие var(--cream)/
   var(--gray-*) → ремап выше темизирует их автоматически. Ниже — точечные
   переопределения хардкод-светлых поверхностей из Stile.css / inline-styles.css. */

/* body — на случай если Stile.css body{background:#fff} где-то перебивает
   страничный inline body{background:var(--cream)} (belt-and-suspenders) */
:root[data-theme="dark"] body { background: var(--cream); color: var(--gray-700); }

/* Карточки/панели из Stile.css (часть используется на /family, /couples) */
:root[data-theme="dark"] .room-card,
:root[data-theme="dark"] .service-card,
:root[data-theme="dark"] .review-card,
:root[data-theme="dark"] .contact-info,
:root[data-theme="dark"] .map-container { background: var(--surface); }
:root[data-theme="dark"] .service-card:hover { background: var(--surface-2); }

/* Легаси мобильное меню (основное — .mobile-nav-tz на токенах) */
:root[data-theme="dark"] .mobile-menu { background: var(--cream); }

/* Cookie-баннер 152-ФЗ (рантайм-инъекция cookies.js, фиксированный оверлей).
   Контейнер — в тёмный; кнопки оставляем как есть (белая кнопка на тёмном
   баннере = достаточный контраст, не ломаем 152-ФЗ-UX). */
:root[data-theme="dark"] .cookie-banner {
    background: var(--surface-2);
    color: var(--gray-700);
    border-color: var(--gray-200);
}
:root[data-theme="dark"] .cookie-banner a { color: var(--teal); }

/* ── Хардкод-светлые поверхности в inline-<style>/инлайн-атрибутах страниц ──
   .section-tz несёт инлайн style="background:#fff" (специфичность 1,0,0,0)
   → перебить можно только !important. Остальные surface-классы —
   защитные оверрайды (scoped к dark, светлая не тронута). DECOR
   (.gallery-btn:hover, .indicator.active, слайдер-дотсы, .btn-accept —
   белое на фото/тёмном) НЕ трогаем. */
/* Шапка: в светлой rgba(255,255,255,0.97) (inline-<style> страницы).
   В тёмной — сплошной тёмный (без glass: правило «на сайте glass не нужен»). */
:root[data-theme="dark"] .header-tz { background: #241f17 !important; }
:root[data-theme="dark"] .header-tz.scrolled { background: #241f17 !important; }

/* 3-уровневая модель тёмной темы:
   фон страницы var(--cream) #1c1913  <  секции var(--gray-100) #2a261d
   <  карточки var(--surface) #383228. Все не-брендовые .section-tz
   (и инлайн-#fff, и прозрачные #about/#reviews) → лёгкий подъём
   --gray-100 (не «чёрные»). Брендовая .final-cta-tz (teal-градиент)
   исключена — темнеет сама через ремап токенов. */
:root[data-theme="dark"] .section-tz:not(.final-cta-tz) { background: var(--gray-100) !important; }
/* Модалки/мобильное CTA-обрамление — сплошной surface (фокус/читаемость, без glass) */
:root[data-theme="dark"] .modal-body,
:root[data-theme="dark"] .mobile-cta-wrap-tz { background: var(--surface) !important; }

/* ── Карточки: iOS-style liquid glass (тёмная тема, Михаил 17.05) ──
   Базовый слой = ФОЛБЭК без backdrop-filter: сплошной surface + хайрлайн,
   карточка НЕ становится прозрачной на старых браузерах. */
:root[data-theme="dark"] .included-item-tz,
:root[data-theme="dark"] .audience-card-tz,
:root[data-theme="dark"] .card-tz,
:root[data-theme="dark"] .feature-card-tz,
:root[data-theme="dark"] .info-card-tz,
:root[data-theme="dark"] .benefit-item-tz,
:root[data-theme="dark"] .room-card-tz,
:root[data-theme="dark"] .room-type-card-tz,
:root[data-theme="dark"] .review-card-tz {
    background: var(--surface) !important;
    border: 1px solid rgba(255,255,255,0.08) !important;
}
/* Liquid glass — тёплый полупрозрачный материал + backdrop blur+saturate,
   люминесцентная кромка (верхний внутр. хайлайт) + мягкая тень-глубина.
   Цель — «как тёмная тема iPhone», уйти от плоского депрессивного surface. */
@supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    :root[data-theme="dark"] .included-item-tz,
    :root[data-theme="dark"] .audience-card-tz,
    :root[data-theme="dark"] .card-tz,
    :root[data-theme="dark"] .feature-card-tz,
    :root[data-theme="dark"] .info-card-tz,
    :root[data-theme="dark"] .benefit-item-tz,
    :root[data-theme="dark"] .room-card-tz,
    :root[data-theme="dark"] .room-type-card-tz,
    :root[data-theme="dark"] .review-card-tz {
        background: linear-gradient(180deg, rgba(255,244,224,0.10), rgba(255,244,224,0.055)) !important;
        -webkit-backdrop-filter: blur(22px) saturate(180%);
        backdrop-filter: blur(22px) saturate(180%);
        border: 1px solid rgba(255,238,210,0.17) !important;
        box-shadow: 0 10px 34px rgba(0,0,0,0.42), inset 0 1px 0 rgba(255,240,220,0.20) !important;
    }
}
:root[data-theme="dark"] .benefit-item-tz,
:root[data-theme="dark"] .room-card-tz,
:root[data-theme="dark"] .room-type-card-tz,
:root[data-theme="dark"] .review-card-tz { color: var(--gray-700); }
:root[data-theme="dark"] .mobile-nav-tz { background: var(--cream) !important; }
/* Мега-меню дропдаун «Об отеле ▾» (mega-menu.css, белая панель) */
:root[data-theme="dark"] .dropdown-tz,
:root[data-theme="dark"] .mega-panel-tz,
:root[data-theme="dark"] .submenu-tz {
    background: var(--surface) !important;
    border-color: var(--gray-200) !important;
}
:root[data-theme="dark"] input,
:root[data-theme="dark"] textarea,
:root[data-theme="dark"] select {
    background: var(--surface-2);
    color: var(--gray-700);
    border-color: var(--gray-200);
}
/* Карточка на тёмном фоне: текст/иконки, если захардкожены тёмными,
   подтягиваем к токенам (var() уже сами флипнутся; это для литералов) */
:root[data-theme="dark"] .section-tz:not(.final-cta-tz),
:root[data-theme="dark"] .included-item-tz,
:root[data-theme="dark"] .audience-card-tz { color: var(--gray-700); }

/* Галерея: sticky фильтр-бар «Все/Номера/Территория…» (.filter-bar-tz).
   Цвет = var(--surface) (светлее хедера #262219) → хедер и фильтр-бар
   ЯВНО различаются. Табы уже на var(--gray-500)/--teal/--amber. */
:root[data-theme="dark"] .filter-bar-tz,
:root[data-theme="dark"] .filter-bar-tz.sticky {
    background: var(--surface) !important;
    border-bottom: 1px solid rgba(255,255,255,0.08) !important;
}

/* Иконка «развернуть фото» (.photo-zoom-icon) — DECOR-контрол НА фото.
   В светлой: белый круг + тёмная иконка. В тёмной токен делал иконку
   светлой на белом круге (невидимо). Пин к фото-контролу: тёмный
   полупрозрачный круг + светлая иконка (читаемо на любом фото). */
:root[data-theme="dark"] .gallery-photo .photo-zoom-icon {
    background: rgba(0, 0, 0, 0.55) !important;
    color: #ffffff !important;
}
:root[data-theme="dark"] .gallery-photo .photo-zoom-icon svg { stroke: #ffffff; }

/* Кнопка-переключатель ☀/🌙 в шапке (наследует цвет через var(--gray-700)) */
.theme-toggle-tz {
    background: none; border: 0; cursor: pointer;
    display: inline-flex; align-items: center; justify-content: center;
    padding: 6px; margin: 0; color: var(--gray-700); line-height: 0;
    opacity: 0.8; transition: opacity 0.15s;
}
.theme-toggle-tz:hover { opacity: 1; }
