/* ============================================
   СОКОЛИНАЯ ОХОТА — тёмная схема
   Активируется атрибутом data-theme="dark" на <html>.
   Ничего не меняет, пока атрибут не выставлен.
   ============================================ */

html[data-theme="dark"] {
  color-scheme: dark;

  /* Тёмные поверхности */
  --dk-bg: #12121F;
  --dk-surface: #21213A;
  --dk-surface-2: #2A2A47;
  --dk-surface-3: #1A1A2E;

  /* Переопределение токенов дизайн-системы */
  --color-light: #16162A;
  --color-light-alt: #1E1E36;
  --color-text: #EDEAE3;
  --color-text-light: #B4B0C0;
  --color-text-muted: #8C8899;
  --color-border: #34324D;
  --color-gold: #D4B876;
  --color-gold-light: #E4CE9A;
  --shadow-sm: 0 1px 3px rgba(0,0,0,.45);
  --shadow-md: 0 8px 24px rgba(0,0,0,.55);
}

html[data-theme="dark"] body,
html[data-theme="dark"] body.v2 {
  background: var(--dk-bg);
  color: var(--color-text);
}

/* --- Текст, который в светлой теме почти чёрный --- */
html[data-theme="dark"] .v2 h1,
html[data-theme="dark"] .v2 h2,
html[data-theme="dark"] .v2 h3,
html[data-theme="dark"] .v2 h4,
html[data-theme="dark"] .v2-section-title h2,
html[data-theme="dark"] .v2-hall-card__title,
html[data-theme="dark"] .v2-advantage__title,
html[data-theme="dark"] .v2-review-card__name,
html[data-theme="dark"] .v2-faq-item__question,
html[data-theme="dark"] .v2-contact-item strong,
html[data-theme="dark"] .v2-article-content strong,
html[data-theme="dark"] .v2-menu-item__name,
html[data-theme="dark"] .v2-set-card__title,
html[data-theme="dark"] .v2-process__title,
html[data-theme="dark"] .v2-calc__result-price,
html[data-theme="dark"] .v2-calc__result-breakdown span,
html[data-theme="dark"] .so-related-card__body h3,
html[data-theme="dark"] .v2-legal-content h2,
html[data-theme="dark"] .v2-legal-content strong,
html[data-theme="dark"] .v2-avail-dates__hall-header h3 {
  color: var(--color-text);
}

/* --- Светлые поверхности → тёмные --- */
html[data-theme="dark"] .v2-hall-card,
html[data-theme="dark"] .v2-review-card,
html[data-theme="dark"] .v2-booking,
html[data-theme="dark"] .v2-contact-item,
html[data-theme="dark"] .v2-set-card,
html[data-theme="dark"] .v2-process__step,
html[data-theme="dark"] .v2-spoke-card,
html[data-theme="dark"] .so-video-card,
html[data-theme="dark"] .so-related-card,
html[data-theme="dark"] .v2 .page-numbers,
html[data-theme="dark"] .v2-container--narrow table,
html[data-theme="dark"] .mc-topbar,
html[data-theme="dark"] .mc-cat,
html[data-theme="dark"] .mc-modal__content,
html[data-theme="dark"] .so-chatbot__window {
  background: var(--dk-surface);
  color: var(--color-text);
  border-color: var(--color-border);
}

html[data-theme="dark"] .v2-nav__dropdown,
html[data-theme="dark"] .v2-nav__dropdown--mega {
  background: var(--dk-surface-3);
  border: 1px solid var(--color-border);
}

html[data-theme="dark"] .so-videos-slider__arrow,
html[data-theme="dark"] .v2-download-card:hover,
html[data-theme="dark"] .so-chatbot__quick-btn {
  background: var(--dk-surface-2);
  color: var(--color-text);
}

/* Карточки, объявленные инлайном как var(--color-white) в шаблонах */
html[data-theme="dark"] [style*="--color-white"] {
  background: var(--dk-surface) !important;
}

/* --- Таблицы --- */
html[data-theme="dark"] .v2-container--narrow table thead,
html[data-theme="dark"] .v2-compare-table th {
  background: var(--color-primary);
}
html[data-theme="dark"] .v2-container--narrow table td,
html[data-theme="dark"] .v2-compare-table td {
  border-color: var(--color-border);
}

/* --- Формы --- */
html[data-theme="dark"] .v2-form-group input,
html[data-theme="dark"] .v2-form-group select,
html[data-theme="dark"] .v2-form-group textarea,
html[data-theme="dark"] .mc-guests__input,
html[data-theme="dark"] .mc-search__input,
html[data-theme="dark"] .mc-item__qty input {
  background: var(--dk-surface-2);
  color: var(--color-text);
  border-color: var(--color-border);
}
html[data-theme="dark"] .v2-form-group input::placeholder,
html[data-theme="dark"] .v2-form-group textarea::placeholder {
  color: var(--color-text-muted);
}
html[data-theme="dark"] .v2-form-group label,
html[data-theme="dark"] .v2-form-consent label {
  color: var(--color-text-light);
}

/* --- Секции --- */
html[data-theme="dark"] .v2-section--light {
  background: var(--color-light);
}
html[data-theme="dark"] .v2-section--dark {
  background: var(--dk-surface-3);
}

/* --- Кнопки --- */
html[data-theme="dark"] .v2-btn--secondary {
  background: var(--dk-surface-2);
  border-color: var(--color-border);
  color: var(--color-text);
}
html[data-theme="dark"] .v2-btn--secondary:hover {
  background: var(--dk-surface);
  color: var(--color-gold);
}

/* --- Бургер (полоски) --- */
html[data-theme="dark"] .v2-burger span {
  background: #fff;
}

/* ============================================
   SO Reviews — «Отзывы на площадках», инверсия
   ============================================ */
html[data-theme="dark"] .sorev {
  --sorev-text: #EDEAE3;
  --sorev-text-soft: #B4B0C0;
  --sorev-star: #E0B84C;
  --sorev-star-empty: #3A3752;
  --sorev-link: #8AB4F8;
  --sorev-bg: #1A1A2E;
  --sorev-card-bg: #21213A;
  --sorev-card-border: #34324D;
  --sorev-card-shadow: 0 6px 20px rgba(0,0,0,.5);
  --sorev-bar-bg: #1A1A2E;
  --sorev-dot: #3A3752;
  --sorev-dot-active: #D4B876;
  --sorev-arrow-bg: #2A2A47;
  --sorev-arrow-color: #EDEAE3;
}
html[data-theme="dark"] .sorev__card {
  border: 1px solid var(--sorev-card-border);
}
html[data-theme="dark"] .sorev__bar {
  border: 1px solid var(--sorev-card-border);
}
html[data-theme="dark"] .sorev__bar-sep {
  color: #4A4766;
}
html[data-theme="dark"] .sorev__bar-platform {
  border-color: var(--sorev-card-border);
}
html[data-theme="dark"] .sorev__card-date {
  color: var(--color-text-muted);
}
html[data-theme="dark"] .sorev__arrow:hover {
  background: #383556;
}
html[data-theme="dark"] .sorev__card-avatar {
  background: var(--dk-surface-3);
}

/* ============================================
   Переключатель темы в шапке
   ============================================ */
.v2-theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: 1px solid rgba(255,255,255,.25);
  border-radius: var(--radius-full);
  background: rgba(255,255,255,.08);
  color: #fff;
  cursor: pointer;
  transition: background .2s, border-color .2s, color .2s;
  flex-shrink: 0;
}
.v2-theme-toggle:hover {
  background: rgba(197,162,88,.2);
  border-color: var(--color-gold);
  color: var(--color-gold);
}
.v2-theme-toggle svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.v2-theme-toggle__sun { display: none; }
.v2-theme-toggle__moon { display: block; }
html[data-theme="dark"] .v2-theme-toggle__sun { display: block; }
html[data-theme="dark"] .v2-theme-toggle__moon { display: none; }

/* Переключатель в мобильном меню */
.v2-mobile-nav .v2-theme-toggle {
  width: auto;
  height: 44px;
  gap: 10px;
  padding: 0 16px;
  border-radius: var(--radius-md);
  font-size: var(--font-size-sm);
  letter-spacing: var(--letter-spacing-wide);
  text-transform: uppercase;
}
.v2-theme-toggle__label { display: none; }
.v2-mobile-nav .v2-theme-toggle__label { display: inline; }

@media (max-width: 1024px) {
  .v2-header__actions .v2-theme-toggle { display: none; }
}
