/**
 * Светлая и тёмная тема — Kapital77 mobile
 * data-theme="light" | "dark" на <html>
 * Авто: светлая по умолчанию; тёмная — ночь (22:00–06:00 локально) или prefers-color-scheme: dark; URL: ?utm_theme= (см. js/theme-toggle.js, без кнопок в UI)
 *
 * Цвета: использовать var(--color-text), var(--color-bg), var(--color-bg-light) в модулях —
 * тогда темы применяются автоматически. Хардкод #fff, #333 и т.п. переопределён здесь.
 *
 * Контраст: карточка .form-aggressive-container — color:var(--color-text) в aggressive-form.css
 * (белый текст от .section-form). Возражения — .objection-title/text в dark ниже.
 * См. docs/kapital77/MOBILE_THEME_KONTRAST.md
 */

/*
 * Светлая тема — Hero: низ к #e8eef8 (как background-color .section-hero2 в sections.css),
 * верхние стопы в духе того же linear-gradient hero2 — без резкого шва с #hero2.
 * Перебивает backgrounds.css для [data-theme="light"] (выше специфичность, чем .section-hero).
 */
[data-theme="light"] .section-hero {
    background: #FAF9F6 !important;
}

/* Тёмная тема — переопределение переменных */
[data-theme="dark"] {
    --color-text: #e2e8f0;
    --color-text-light: #94a3b8;
    --color-text-muted: #64748b;
    --color-bg: #0f172a;
    --color-bg-light: #1e293b;
    --color-primary: #60a5fa;
    --color-primary-dark: #3b82f6;
    --color-primary-light: #93c5fd;
    --color-secondary: #94a3b8;
    --color-accent: #818cf8;
    --color-accent-dark: #6366f1;
    --color-gray-100: #1e293b;
    --color-gray-200: #334155;
    --color-gray-300: #475569;
    --color-gray-600: #94a3b8;
    --color-gray-700: #cbd5e1;
    --color-gray-800: #e2e8f0;
    --color-gray-900: #f1f5f9;
    --color-success: #34d399;
    --color-success-dark: #10b981;
    --color-warning: #fbbf24;
    --color-warning-dark: #f59e0b;
    --color-danger: #f87171;
    --shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.3);
    --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.4);
    --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.5);
    --shadow-xl: 0 12px 40px rgba(0, 0, 0, 0.5);
}

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

/* Sticky bar в тёмной теме */
[data-theme="dark"] .section-sticky-bar {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.98) 0%, rgba(30, 41, 59, 0.98) 100%);
    border-bottom-color: rgba(148, 163, 184, 0.15);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

[data-theme="dark"] .section-sticky-bar.scrolled {
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.4);
}

[data-theme="dark"] .header__panel {
    background: linear-gradient(180deg, var(--color-bg-light) 0%, var(--color-bg) 100%) !important;
    box-shadow: -8px 0 32px rgba(0, 0, 0, 0.45);
}

[data-theme="dark"] .header__panel-lead {
    border-bottom-color: rgba(148, 163, 184, 0.22);
}

[data-theme="dark"] .header__panel-messengers {
    border-bottom-color: rgba(148, 163, 184, 0.15);
}

[data-theme="dark"] .header__panel-messengers .header__messenger {
    background: rgba(255, 255, 255, 0.06);
    border-color: rgba(255, 255, 255, 0.12);
}

[data-theme="dark"] .header__panel-messengers .header__messenger:hover {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
}

[data-theme="dark"] .header__panel-nav:not(:empty) {
    border-bottom-color: rgba(148, 163, 184, 0.15);
}

[data-theme="dark"] .header__overlay {
    background: rgba(0, 0, 0, 0.55);
}

[data-theme="dark"] .header__panel-theme-label {
    color: var(--color-text-light);
}

[data-theme="dark"] .bottom-cta-mobile {
    background: linear-gradient(180deg, rgba(15, 23, 42, 0.98) 0%, rgba(15, 23, 42, 1) 100%);
    border-top-color: var(--color-gray-300);
}

[data-theme="dark"] .comment-card {
    background: var(--color-bg-light) !important;
    border-color: var(--color-gray-300) !important;
    color: var(--color-text);
}

[data-theme="dark"] .comment-author,
[data-theme="dark"] .comment-text {
    color: var(--color-text) !important;
}

/* Карточка ответа в комментариях — тёмный фон в dark */
[data-theme="dark"] .comment-answer {
    background: var(--color-bg) !important;
    border-left-color: var(--color-primary) !important;
}

[data-theme="dark"] .comment-answer__header,
[data-theme="dark"] .comment-answer__text {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .comment-answer__text strong {
    color: var(--color-primary-light) !important;
}

/* Кнопка переключения темы */
.theme-toggle {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    padding: 0;
    border: none;
    border-radius: var(--radius-sm);
    background: transparent;
    color: var(--color-text-muted);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    transition: color 0.2s, background 0.2s;
    -webkit-tap-highlight-color: transparent;
}

.theme-toggle:hover {
    color: var(--color-primary);
    background: rgba(37, 99, 235, 0.08);
}

[data-theme="dark"] .theme-toggle:hover {
    background: rgba(96, 165, 250, 0.12);
}

.theme-toggle:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

/* Совместимость с .dark-theme (phone-input.css) */
[data-theme="dark"] .dark-theme,
html.dark-theme {
    /* дублируем для селекторов .dark-theme */
}

[data-theme="dark"] .phone-input-mask {
    color: rgba(255, 255, 255, 0.3);
}

[data-theme="dark"] .phone-input-mask .mask-filled {
    color: rgba(255, 255, 255, 0.6);
}

[data-theme="dark"] input[type="tel"][name="phone"],
[data-theme="dark"] input[type="tel"].phone-input {
    color: #fff;
}

[data-theme="dark"] .scroll-to-form-anchor {
    background: rgba(30, 41, 59, 0.95);
    color: var(--color-primary-light);
}

[data-theme="dark"] .scroll-to-form-anchor:hover {
    background: rgba(51, 65, 85, 0.98);
}

/* ========== Секции, карточки, формы — фон и текст ========== */

[data-theme="dark"] .section,
[data-theme="dark"] .container {
    color: var(--color-text);
}

[data-theme="dark"] .section__title,
[data-theme="dark"] .section__subtitle,
[data-theme="dark"] h1, [data-theme="dark"] h2, [data-theme="dark"] h3 {
    color: var(--color-text);
}

[data-theme="dark"] .faq-item,
[data-theme="dark"] .faq-question,
[data-theme="dark"] .faq-answer {
    background-color: var(--color-bg-light);
    color: var(--color-text);
}

[data-theme="dark"] .faq-question:hover {
    background-color: var(--color-gray-200);
}

[data-theme="dark"] .objection-card,
[data-theme="dark"] details.objection-card {
    background-color: var(--color-bg-light);
    border-color: var(--color-gray-300);
}

/* Текст возражений: заголовки и первая фраза (lead-in) в цвете */
[data-theme="dark"] .section-objections .section__title,
[data-theme="dark"] .section-objections .section__subtitle {
    color: var(--color-text) !important;
}

[data-theme="dark"] .section-objections .section__lead-in {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .objection-title {
    color: var(--color-text) !important;
}

[data-theme="dark"] .objection-card:hover .objection-title,
[data-theme="dark"] .objection-card--selected .objection-title {
    color: var(--color-primary-light) !important;
}

[data-theme="dark"] .objection-text,
[data-theme="dark"] .objection-card--selected .objection-text {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .trust-card {
    background-color: var(--color-bg-light);
    border-color: var(--color-gray-300);
}

/* Trust: заголовок и текст карточек — светлый на тёмном (контраст по модулю) */
[data-theme="dark"] .trust-header__main {
    color: var(--color-text) !important;
}

[data-theme="dark"] .trust-title {
    color: var(--color-text) !important;
}

[data-theme="dark"] .trust-text,
[data-theme="dark"] .trust-card--selected .trust-text {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .trust-badge {
    color: var(--color-primary-light) !important;
    border-color: rgba(96, 165, 250, 0.4);
    background: rgba(96, 165, 250, 0.12);
}

[data-theme="dark"] .trust-expenses,
[data-theme="dark"] .trust-expenses p,
[data-theme="dark"] .trust-expenses li {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .calculator__note {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .calculator,
[data-theme="dark"] .form-aggressive-container {
    background-color: var(--color-bg-light);
    border-color: var(--color-gray-300);
}

[data-theme="dark"] .form__input,
[data-theme="dark"] input.form__input,
[data-theme="dark"] input[type="text"],
[data-theme="dark"] input[type="tel"],
[data-theme="dark"] input[type="email"],
[data-theme="dark"] textarea {
    background-color: var(--color-bg);
    color: var(--color-text);
    border-color: var(--color-gray-300);
}

[data-theme="dark"] .form__input::placeholder,
[data-theme="dark"] input::placeholder {
    color: var(--color-text-muted);
}

[data-theme="dark"] label,
[data-theme="dark"] .form-aggressive-container label,
[data-theme="dark"] .multi-step-form label {
    color: var(--color-text) !important;
}

[data-theme="dark"] .form-hint,
[data-theme="dark"] .form-legal-disclaimer {
    color: var(--color-text-light);
}

[data-theme="dark"] .form-hint a,
[data-theme="dark"] .form-legal-disclaimer a {
    color: var(--color-primary-light);
}

[data-theme="dark"] input[readonly],
[data-theme="dark"] input[readonly].form__input {
    background-color: var(--color-gray-200) !important;
}

/* Bottom CTA */
[data-theme="dark"] .bottom-cta-mobile {
    background: var(--color-bg-light);
    border-top-color: var(--color-gray-300);
}

[data-theme="dark"] .bottom-cta-mobile__amount-input {
    background-color: var(--color-bg);
    color: var(--color-text);
    border-color: var(--color-gray-300);
}

[data-theme="dark"] .bottom-cta-mobile__lead {
    color: #ffffff;
}

/* Cookie consent */
[data-theme="dark"] .cookie-consent-container,
[data-theme="dark"] #cookie-consent-banner {
    background: var(--color-bg-light);
    border-color: var(--color-gray-300);
}

[data-theme="dark"] .cookie-consent-title,
[data-theme="dark"] .cookie-consent-text {
    color: var(--color-text);
}

/* Plan cards, timeline (inline styles override) */
[data-theme="dark"] .plan-card,
[data-theme="dark"] .timeline-item {
    background: var(--color-bg-light) !important;
    border-color: var(--color-gray-300) !important;
}

[data-theme="dark"] #three-plans-table {
    background: var(--color-gray-200) !important;
}

[data-theme="dark"] .process-timeline {
    background: var(--color-gray-200) !important;
    border-color: var(--color-gray-300) !important;
}

/* Детальные сроки: карточки timeline — перебиваем inline background: white (ПЛАН_ИСПРАВЛЕНИЙ 2.1) */
[data-theme="dark"] .timeline-item {
    background: var(--color-bg-light) !important;
    border-color: var(--color-gray-300) !important;
}

[data-theme="dark"] .process-timeline-note {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .process-timeline-note strong {
    color: var(--color-text) !important;
}

/* Hero2 flowchart, process steps */
[data-theme="dark"] .hero2-flowchart-step__result,
[data-theme="dark"] .step-timing,
[data-theme="dark"] .process-timeline-title,
[data-theme="dark"] .timeline-item-title {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .timeline-item-time {
    color: var(--color-text-light) !important;
}

/* Risks: подзаголовок и карточки — светлый текст на тёмном */
[data-theme="dark"] .section-risks .section__lead-in,
[data-theme="dark"] .section-risks .section__title,
[data-theme="dark"] .section-risks .section__subtitle {
    color: var(--color-text) !important;
}

[data-theme="dark"] .section-risks .risks-title {
    color: var(--color-text) !important;
}

[data-theme="dark"] .section-risks .risks-card {
    background-color: var(--color-bg-light) !important;
    border-color: var(--color-gray-300) !important;
}

[data-theme="dark"] .section-risks .risks-card p,
[data-theme="dark"] .section-risks .risks-card .risks-subtitle,
[data-theme="dark"] .section-risks .risks-card .risks-protection,
[data-theme="dark"] .section-risks .risks-card ul,
[data-theme="dark"] .section-risks .risks-card ul li {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .section-risks .risks-law-link a {
    color: var(--color-primary-light) !important;
}

/* Advantages: фон секции + заголовки и карточки */
[data-theme="dark"] .section-advantages {
    background: var(--color-bg) !important;
    background-image: linear-gradient(135deg, var(--color-bg-light) 0%, var(--color-bg) 50%, var(--color-bg-light) 100%) !important;
}

[data-theme="dark"] .section-advantages .section__title,
[data-theme="dark"] .section-advantages .section__subtitle,
[data-theme="dark"] .section-advantages h2,
[data-theme="dark"] .section-advantages h3,
[data-theme="dark"] .section-advantages p {
    color: var(--color-text) !important;
    text-shadow: none !important;
}

[data-theme="dark"] .advantage-card {
    background-color: var(--color-bg-light) !important;
    border-color: var(--color-gray-300) !important;
}

[data-theme="dark"] .advantage-title,
[data-theme="dark"] .advantage-text {
    color: var(--color-text) !important;
}

/* Purposes: «Что вам важнее?» и заголовки */
[data-theme="dark"] .section-purposes .section__title,
[data-theme="dark"] .section-purposes .section__subtitle,
[data-theme="dark"] .section-purposes .section__lead-in {
    color: var(--color-text) !important;
}

[data-theme="dark"] .quiz-chip-label {
    color: var(--color-text) !important;
}

[data-theme="dark"] .section-purposes .section__title + p,
[data-theme="dark"] .section-purposes .purposes-intro {
    color: var(--color-text-light) !important;
}

/* Process: карточки шагов — тёмный фон, светлый текст */
[data-theme="dark"] .process-step {
    background-color: var(--color-bg-light) !important;
    border-color: var(--color-gray-300) !important;
}

[data-theme="dark"] .process-step-bg-num {
    color: rgba(96, 165, 250, 0.14);
}

[data-theme="dark"] .process-step__icon-box {
    background: var(--color-bg) !important;
    border-color: var(--color-gray-300) !important;
    color: var(--color-text) !important;
}

[data-theme="dark"] .process-step__timing-pill {
    background: var(--color-bg) !important;
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .process-timeline-bar,
[data-theme="dark"] .process-summary-banner {
    background: var(--color-bg-light) !important;
    border-color: var(--color-gray-300) !important;
}

[data-theme="dark"] .process-timeline-day,
[data-theme="dark"] .process-summary-banner__title {
    color: var(--color-text) !important;
}

[data-theme="dark"] .process-timeline-desc,
[data-theme="dark"] .process-summary-banner__text {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .process-summary-banner__tag {
    background: var(--color-bg) !important;
    border-color: var(--color-gray-300) !important;
    color: var(--color-text) !important;
}

[data-theme="dark"] .process-privacy-note {
    color: var(--color-primary-light, #60a5fa) !important;
}

[data-theme="dark"] .step-title,
[data-theme="dark"] .step-text {
    color: var(--color-text) !important;
}

/* Документы для заявки: заголовки и список */
[data-theme="dark"] .document-category-title,
[data-theme="dark"] .document-category-list,
[data-theme="dark"] .document-item {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .document-category {
    background-color: var(--color-bg-light) !important;
    border-color: var(--color-gray-300) !important;
}

/*
 * Документы для заявки (#documents-checklist): в sections.css светлый фон секции,
 * а [data-theme="dark"] .section__title / .section__subtitle дают светлый текст → «не в цвете».
 * Решение: тёмный фон секции + явные цвета подводки/подзаголовка; заметка и подсказка под CTA.
 */
[data-theme="dark"] .section-documents-checklist {
    background-color: var(--color-bg) !important;
    background-image:
        radial-gradient(circle at 65% 25%, rgba(96, 165, 250, 0.1) 0%, transparent 55%),
        radial-gradient(circle at 10% 90%, rgba(99, 102, 241, 0.06) 0%, transparent 40%),
        linear-gradient(180deg, var(--color-bg-light) 0%, var(--color-bg) 100%) !important;
}

[data-theme="dark"] .section-documents-checklist .section__title {
    color: var(--color-text) !important;
}

[data-theme="dark"] .section-documents-checklist .section__lead-in,
[data-theme="dark"] .section-documents-checklist .section__subtitle {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .process-documents-note {
    background: var(--color-bg-light) !important;
    border-color: var(--color-gray-300) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

[data-theme="dark"] .process-documents-note p {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .process-documents-note strong {
    color: var(--color-text) !important;
}

[data-theme="dark"] .document-category-cta-hint {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .document-item:hover .document-checkbox-label {
    color: var(--color-text) !important;
}

/* Bottom CTA: placeholder в поле «Сколько нужно?» */
[data-theme="dark"] .bottom-cta-mobile__amount-input::placeholder {
    color: var(--color-text-muted) !important;
}

/* Form Tinkoff / multi-step */
[data-theme="dark"] .form-tinkoff .form__input,
[data-theme="dark"] .form-tinkoff input {
    background: var(--color-bg) !important;
    color: var(--color-text) !important;
    border-color: var(--color-gray-300);
}

[data-theme="dark"] .form-tinkoff label {
    color: var(--color-text) !important;
}

/* Section backgrounds — светлые секции в тёмной теме */
[data-theme="dark"] .section-calculator {
    background: var(--color-bg) !important;
}

/*
 * Hero1 dark — два варианта:
 * — max-width 768px: «глубокий» (как deep в test-hero-mobile-gradients); низ к --color-bg-light (стык с Hero2).
 * — min-width 769px: «минимальный двух-тон».
 */
@media (max-width: 768px) {
    [data-theme="dark"] .section-hero {
        background: linear-gradient(
            180deg,
            #0d1520 0%,
            #1a2744 35%,
            #2d3d5c 70%,
            #141a24 85%,
            var(--color-bg-light) 100%
        ) !important;
    }
}

@media (min-width: 769px) {
    [data-theme="dark"] .section-hero {
        background: linear-gradient(
            165deg,
            #1d3557 0%,
            #415a77 48%,
            #344a5f 78%,
            var(--color-bg-light) 100%
        ) !important;
    }
}

/*
 * Hero2 dark — здесь два варианта (test-hero-mobile-gradients):
 * — max-width 768px: «обогащённый» — radial + linear (h2-dark-rich), база --color-bg.
 * — min-width 769px: «минимальный двух-тон» (спокойный вертикальный переход slate → фон).
 */
@media (max-width: 768px) {
    [data-theme="dark"] .section-hero2 {
        background-color: var(--color-bg) !important;
        background-image:
            radial-gradient(ellipse 88% 52% at 50% 0%, rgba(59, 130, 246, 0.28) 0%, transparent 58%),
            radial-gradient(ellipse 58% 42% at 82% 10%, rgba(129, 140, 248, 0.14) 0%, transparent 52%),
            radial-gradient(ellipse 45% 35% at 18% 18%, rgba(56, 189, 248, 0.08) 0%, transparent 50%),
            linear-gradient(
                180deg,
                var(--color-bg-light) 0%,
                var(--color-bg) 48%,
                var(--color-bg) 100%
            ) !important;
        background-repeat: no-repeat !important;
        border-top-color: var(--color-gray-300) !important;
    }
}

@media (min-width: 769px) {
    [data-theme="dark"] .section-hero2 {
        background: linear-gradient(
            180deg,
            var(--color-bg-light) 0%,
            var(--color-bg) 50%,
            var(--color-bg) 100%
        ) !important;
        border-top-color: var(--color-gray-300) !important;
    }
}

[data-theme="dark"] .hero2__subtitle,
[data-theme="dark"] .hero2__subtitle strong,
[data-theme="dark"] .hero2__explain,
[data-theme="dark"] .hero2__bridge {
    color: var(--color-text) !important;
}

[data-theme="dark"] .hero2__badge {
    background: var(--color-bg-light) !important;
    border-color: var(--color-gray-300) !important;
    color: var(--color-text) !important;
}

/* Блок с мостом «Ответьте на вопросы сценария…» + flowchart — без светлой «карточки» на фоне секции */
[data-theme="dark"] .hero2__quiz-block {
    background: var(--color-bg) !important;
    border-color: rgba(148, 163, 184, 0.22) !important;
    box-shadow: none !important;
}

[data-theme="dark"] .hero2__quiz-connector {
    background: linear-gradient(to bottom, var(--color-primary) 0%, rgba(96, 165, 250, 0.25) 100%) !important;
}

/* Hero CTA ghost в тёмной теме — контраст на тёмном фоне */
[data-theme="dark"] .section-hero .btn-ghost.hero__cta-btn {
    border-color: var(--color-gray-600);
    color: var(--color-text);
}
[data-theme="dark"] .section-hero .btn-ghost.hero__cta-btn:hover {
    border-color: var(--color-primary);
    color: var(--color-primary-light);
    background-color: rgba(96, 165, 250, 0.08);
}

/* section-form — синий градиент, белый текст оставляем (контраст на синем) */

/* section-form-final — светлый фон в light, тёмный в dark */
[data-theme="dark"] .section-form-final {
    background: var(--color-bg) !important;
}

[data-theme="dark"] .section-form-final .section__title,
[data-theme="dark"] .section-form-final .section__subtitle,
[data-theme="dark"] .section-form-final .section__lead-in,
[data-theme="dark"] .section-form-final .final-lead-privacy,
[data-theme="dark"] .section-form-final .final-lead-footnote,
[data-theme="dark"] .section-form-final .final-form-note {
    color: var(--color-text) !important;
}

[data-theme="dark"] .section-form-final .final-lead-privacy a,
[data-theme="dark"] .section-form-final .final-lead-footnote a {
    color: var(--color-primary-light);
}

/* Footer, ссылки */
[data-theme="dark"] .footer {
    background-color: var(--color-bg-light);
    color: var(--color-text);
    border-top-color: var(--color-gray-300);
}

[data-theme="dark"] .footer a {
    color: var(--color-text-light);
}

[data-theme="dark"] .footer a:hover {
    color: var(--color-primary-light);
}

/* Footer: контейнер и inline-элементы (footer.html) — переопределение хардкода */
[data-theme="dark"] #footer-container {
    background: var(--color-bg-light) !important;
}

[data-theme="dark"] .footer-cta .btn,
[data-theme="dark"] .footer-cta a.btn {
    background: var(--color-primary) !important;
    color: var(--color-bg) !important;
}

[data-theme="dark"] .footer-subscribe-text,
[data-theme="dark"] .footer-subscribe-note {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .footer-subscribe-input {
    color: var(--color-text) !important;
    background: var(--color-bg) !important;
    border-color: var(--color-gray-300) !important;
}

[data-theme="dark"] .footer-subscribe-input::placeholder {
    color: var(--color-text-muted) !important;
}

/* Watermark, декоративные элементы */
[data-theme="dark"] .section-bg-watermark {
    color: rgba(96, 165, 250, 0.08);
}

/* Quiz chips, badges */
[data-theme="dark"] .quiz-chip {
    background-color: var(--color-bg-light);
    border-color: var(--color-gray-300);
    color: var(--color-text);
}

[data-theme="dark"] .quiz-chip.is-selected {
    background-color: rgba(96, 165, 250, 0.2);
    border-color: var(--color-primary);
}

[data-theme="dark"] .section-badge {
    background-color: var(--color-gray-200);
    color: var(--color-text);
}

[data-theme="dark"] .chip-microlabel-block {
    background: linear-gradient(135deg, rgba(96, 165, 250, 0.12) 0%, rgba(30, 58, 138, 0.15) 100%);
    border-color: rgba(96, 165, 250, 0.28);
}

[data-theme="dark"] .purposes-selected .purposes-selected-chip {
    background: var(--color-bg-light);
    border-color: var(--color-gray-300);
}

/* Chips в тёмной теме (Swiss Private Banking 2026) */
[data-theme="dark"] .channel-chip {
    background: #1E293B;
    border-color: #334155;
    color: #F1F5F9;
}
[data-theme="dark"] .channel-chip:hover {
    border-color: #059669;
    background: #0F172A;
    color: #FFFFFF;
}
[data-theme="dark"] .channel-chip.is-active,
[data-theme="dark"] .channel-chip:has(input:checked) {
    background: rgba(5, 150, 105, 0.2);
    border-color: #059669;
    color: #34D399;
}

[data-theme="dark"] .case-chip-btn {
    background: #1E293B;
    border-color: #334155;
    color: #94A3B8;
}
[data-theme="dark"] .case-chip-btn:hover {
    background: #0F172A;
    border-color: #475569;
    color: #F8FAFC;
}
[data-theme="dark"] .case-chip-btn.is-active {
    background: #059669;
    border-color: #059669;
    color: #FFFFFF;
}

[data-theme="dark"] .valuation-city-chip {
    background: #1E293B !important;
    border-color: #334155 !important;
    color: #94A3B8 !important;
}
[data-theme="dark"] .valuation-city-chip:hover {
    background: #0F172A !important;
    border-color: #475569 !important;
    color: #FFFFFF !important;
}
[data-theme="dark"] .valuation-city-chip.active {
    background: #059669 !important;
    border-color: #059669 !important;
    color: #FFFFFF !important;
}

/* ========== Кнопки — цвета для тёмной темы ========== */
[data-theme="dark"] .btn-primary {
    background-color: var(--color-success) !important;
    color: #0f172a !important;
    border: none;
    box-shadow: 0 4px 12px rgba(16, 185, 129, 0.4);
}

[data-theme="dark"] .btn-primary:hover {
    background-color: var(--color-success-dark) !important;
    color: #fff !important;
    box-shadow: 0 6px 16px rgba(16, 185, 129, 0.5);
}

[data-theme="dark"] .btn-secondary {
    background-color: transparent !important;
    color: var(--color-primary-light) !important;
    border-color: var(--color-primary) !important;
}

[data-theme="dark"] .btn-secondary:hover {
    background-color: rgba(96, 165, 250, 0.15) !important;
    color: var(--color-primary-light) !important;
    border-color: var(--color-primary-light) !important;
}

[data-theme="dark"] .btn-ghost {
    background-color: transparent !important;
    color: var(--color-text) !important;
    border-color: var(--color-gray-600) !important;
}

[data-theme="dark"] .btn-ghost:hover {
    background-color: rgba(96, 165, 250, 0.08) !important;
    color: var(--color-primary-light) !important;
    border-color: var(--color-primary) !important;
}

[data-theme="dark"] .btn-outline {
    background-color: transparent !important;
    color: var(--color-primary-light) !important;
    border-color: var(--color-primary) !important;
}

[data-theme="dark"] .btn-outline:hover {
    background-color: rgba(96, 165, 250, 0.12) !important;
    color: var(--color-primary-light) !important;
}

[data-theme="dark"] .btn-small {
    color: inherit;
}

/* CTA в секциях (section-cta, cta-redundant-mobile) */
[data-theme="dark"] .section-cta .btn,
[data-theme="dark"] .cta-redundant-mobile .btn {
    color: inherit;
}

/* Sticky bar CTA — на тёмном фоне */
[data-theme="dark"] .sticky-bar__cta .btn,
[data-theme="dark"] .btn-cta-callback,
[data-theme="dark"] .btn-cta-sticky {
    color: var(--color-primary-light) !important;
    border-color: var(--color-primary) !important;
}

[data-theme="dark"] .sticky-bar__cta .btn-primary,
[data-theme="dark"] .sticky-bar__cta .btn-cta-callback.btn-primary {
    color: #0f172a !important;
}

/* ========== FAQ: убрать «размытие» от text-shadow в тёмной теме ========== */
[data-theme="dark"] .section-faq .section__lead-in,
[data-theme="dark"] .section-faq .section__title,
[data-theme="dark"] .section-faq .section__subtitle {
    color: var(--color-text) !important;
    text-shadow: none !important;
}

[data-theme="dark"] .section-faq .faq-question {
    text-shadow: none !important;
}

[data-theme="dark"] .section-faq .faq-question span:not(.faq-icon) {
    text-shadow: none !important;
}

[data-theme="dark"] .faq-answer p,
[data-theme="dark"] .faq-answer a {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .faq-answer a {
    color: var(--color-primary-light) !important;
}

/* ========== Сравнение и условия ========== */
[data-theme="dark"] .section-comparison .section__lead-in,
[data-theme="dark"] .section-comparison .section__title,
[data-theme="dark"] .section-comparison .section__subtitle {
    color: var(--color-text) !important;
}

[data-theme="dark"] .comparison-table,
[data-theme="dark"] .comparison-table th,
[data-theme="dark"] .comparison-table td {
    background-color: var(--color-bg-light) !important;
    border-color: var(--color-gray-300) !important;
    color: var(--color-text) !important;
}

[data-theme="dark"] .comparison-weakness,
[data-theme="dark"] .comparison-conclusion {
    background-color: var(--color-bg-light) !important;
    border-color: var(--color-gray-300) !important;
}

[data-theme="dark"] .comparison-subtitle,
[data-theme="dark"] .comparison-weakness-list li,
[data-theme="dark"] .comparison-conclusion-list li,
[data-theme="dark"] .comparison-note {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .section-conditions-ranges .section__title,
[data-theme="dark"] .section-conditions-ranges .section__subtitle,
[data-theme="dark"] .section-conditions-ranges .section__lead-in {
    color: var(--color-text) !important;
}

[data-theme="dark"] .condition-range-card,
[data-theme="dark"] .conditions-ranges {
    background-color: var(--color-bg-light) !important;
    border-color: var(--color-gray-300) !important;
    color: var(--color-text) !important;
}

[data-theme="dark"] .conditions-ranges-disclaimer {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .condition-range-title,
[data-theme="dark"] .condition-range-value {
    color: var(--color-text) !important;
}

[data-theme="dark"] .condition-range-note,
[data-theme="dark"] .condition-range-note strong {
    color: var(--color-text-light) !important;
}

/* ========== База знаний ========== */
[data-theme="dark"] .section-knowledge-base .section__title,
[data-theme="dark"] .section-knowledge-base .section__subtitle,
[data-theme="dark"] .knowledge-base-header__text,
[data-theme="dark"] .knowledge-base-facts {
    color: var(--color-text) !important;
}

[data-theme="dark"] .knowledge-base-article-card {
    background: var(--color-bg-light) !important;
    border-color: var(--color-gray-300) !important;
}

[data-theme="dark"] .article-card-title,
[data-theme="dark"] .article-card-excerpt {
    color: var(--color-text) !important;
}

[data-theme="dark"] .article-card-excerpt {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .knowledge-base-categories {
    border-bottom-color: rgba(255, 255, 255, 0.12);
}

[data-theme="dark"] .knowledge-base-category-btn {
    background: transparent;
    border: none;
    border-bottom: 3px solid transparent;
    color: var(--color-text);
}

[data-theme="dark"] .knowledge-base-category-btn + .knowledge-base-category-btn {
    border-left-color: rgba(255, 255, 255, 0.12);
}

[data-theme="dark"] .knowledge-base-category-btn.active {
    background: transparent;
    border-bottom-color: var(--color-primary);
    color: var(--color-primary);
}

/* ========== Комментарии (слайдер) ========== */
[data-theme="dark"] .section-comments-slider .section__title,
[data-theme="dark"] .section-comments-slider .section__subtitle,
[data-theme="dark"] .section-comments-slider .section__lead-in {
    color: var(--color-text) !important;
}

[data-theme="dark"] .comments-slider-container,
[data-theme="dark"] .comment-slide {
    color: var(--color-text);
}

/* ========== Purposes: карточки сценариев ========== */
[data-theme="dark"] .purpose-card {
    background-color: var(--color-bg-light) !important;
    border-color: var(--color-gray-300) !important;
}

[data-theme="dark"] .purpose-card .purpose-title {
    color: var(--color-text) !important;
}

[data-theme="dark"] .purpose-card .purpose-text,
[data-theme="dark"] .purpose-card .purpose-meta {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .purposes-selected {
    color: var(--color-text-light) !important;
}

/* Purposes: последние 2 плитки + aside-карточки — тёмный фон */
[data-theme="dark"] .purpose-card:nth-last-child(-n+2),
[data-theme="dark"] .purposes-aside-card,
[data-theme="dark"] .purposes-aside-card--muted {
    background-color: var(--color-bg-light) !important;
    border-color: var(--color-gray-300) !important;
}

[data-theme="dark"] .purposes-aside-title,
[data-theme="dark"] .purposes-aside-list,
[data-theme="dark"] .purposes-aside-list li,
[data-theme="dark"] .purposes-note {
    color: var(--color-text-light) !important;
}

/* ========== Риски: спокойный фон в тёмной теме (меньше «шума») ========== */
[data-theme="dark"] .section-risks {
    background: var(--color-bg) !important;
    background-image: none !important;
}

/* Риски: убрать светлый градиент ::after (мост Trust → Risks) в тёмной теме */
[data-theme="dark"] .section-risks::after {
    background: linear-gradient(180deg, var(--color-bg) 0%, transparent 100%) !important;
}

/* Плашка «Для уверенности» и блок anti-scam — тёмный фон, светлый текст */
[data-theme="dark"] .section-risks .risks-disclaimer,
[data-theme="dark"] .section-risks .risks-anti-scam .trust-accordion-content {
    background: var(--color-bg-light) !important;
    border-color: var(--color-gray-300) !important;
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .section-risks .risks-disclaimer-title,
[data-theme="dark"] .section-risks .risks-disclaimer p,
[data-theme="dark"] .section-risks .risks-disclaimer ul {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .section-risks .risks-disclaimer a {
    color: var(--color-primary-light) !important;
}

[data-theme="dark"] .section-risks .risks-anti-scam .trust-accordion-content ul {
    color: var(--color-text-light) !important;
}

/* ========== На что использовать (purposes): фон секции и нижние плашки ========== */
[data-theme="dark"] .section-purposes {
    background-color: var(--color-bg) !important;
    background-image: none !important;
}

[data-theme="dark"] .section-purposes::after {
    opacity: 0 !important;
    pointer-events: none !important;
}

[data-theme="dark"] .section-purposes .section-cta,
[data-theme="dark"] .section-purposes .section-cta-note {
    color: var(--color-text-light) !important;
}

/* ========== Загрузка документов, сравнение, условия, база статей — фон секции ========== */
[data-theme="dark"] .section-documents-upload {
    background-color: var(--color-bg) !important;
    background-image: none !important;
}

[data-theme="dark"] .section-comparison {
    background-color: var(--color-bg) !important;
    background-image: none !important;
}

[data-theme="dark"] .section-conditions-ranges {
    background-color: var(--color-bg) !important;
    background-image: none !important;
}

[data-theme="dark"] .section-knowledge-base {
    background-color: var(--color-bg) !important;
    background-image: none !important;
}

[data-theme="dark"] .kb-fact,
[data-theme="dark"] .knowledge-base-header__cta {
    background: var(--color-bg-light) !important;
    border-color: var(--color-gray-300) !important;
    color: var(--color-text) !important;
}

/* База статей: бейджи, CTA-нотка, текст в плитке WhatsApp */
[data-theme="dark"] .section-knowledge-base .section-badges .section-badge {
    background: var(--color-bg-light) !important;
    border-color: var(--color-gray-300) !important;
    color: var(--color-text) !important;
}

[data-theme="dark"] .knowledge-base-cta-note {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .knowledge-base-header__cta .btn-outline {
    color: var(--color-primary-light) !important;
    border-color: var(--color-primary) !important;
}

/* ========== Форма заявки: синий фон на mobile в тёмной теме оставлен по концепции (CTA-блок) ========== */
/* При необходимости заменить на тёмный: раскомментировать ниже и убрать градиент в aggressive-form/backgrounds */
/* [data-theme="dark"] .section-form.section-form-aggressive { background: var(--color-bg) !important; } */

/* ========== Whitewill-референс: единый dark shell, карточки, ритм (ПЛАН 2.2) ========== */
[data-theme="dark"] {
    --radius-card: 16px;
    --radius-card-sm: 12px;
    --spacing-section: 48px;
    --spacing-card: 24px;
}

/* three-plans-table, plan-card — убрать светлые inline */
[data-theme="dark"] .three-plans-table,
[data-theme="dark"] #three-plans-table {
    background: var(--color-bg-light) !important;
    border: 1px solid var(--color-gray-300) !important;
}

[data-theme="dark"] .three-plans-title {
    color: var(--color-text) !important;
}

[data-theme="dark"] .plan-card {
    background: var(--color-bg-light) !important;
    border: 1px solid var(--color-gray-300) !important;
}

[data-theme="dark"] .plan-card h4,
[data-theme="dark"] .plan-card li {
    color: var(--color-text) !important;
}

/* hero2-flowchart: lead-in, label (карточки и .hero2-flowchart-step__result — расширенный блок в конце файла) */
[data-theme="dark"] .hero2-flowchart-step__lead-in--success {
    color: var(--color-success) !important;
}

[data-theme="dark"] .hero2-flowchart-phone-label {
    color: var(--color-text) !important;
}

[data-theme="dark"] .required {
    color: var(--color-danger) !important;
}

/* trust-expenses: уже в блоке выше, дублируем для title/total */
[data-theme="dark"] .trust-expenses-title,
[data-theme="dark"] .trust-expenses-total {
    color: var(--color-text-light) !important;
}

/* documents-upload: форма и success — тёмный фон */
[data-theme="dark"] .documents-upload-form,
[data-theme="dark"] #documents-upload-form {
    background: var(--color-bg-light) !important;
    border-color: var(--color-gray-300) !important;
}

[data-theme="dark"] .documents-upload-success,
[data-theme="dark"] #documents-upload-success {
    background: var(--color-bg-light) !important;
    border-color: var(--color-gray-300) !important;
}

[data-theme="dark"] .documents-upload-form .form-hint,
[data-theme="dark"] .documents-upload-form .form-group h4,
[data-theme="dark"] .documents-upload-form .form-group div,
[data-theme="dark"] .documents-upload-form .form-group strong,
[data-theme="dark"] .documents-upload-form .form-group p,
[data-theme="dark"] .documents-upload-form .file-upload-text,
[data-theme="dark"] .documents-upload-form .file-upload-hint,
[data-theme="dark"] .documents-upload-form .form-stats p {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .success-title,
[data-theme="dark"] .success-text,
[data-theme="dark"] .documents-upload-success p {
    color: var(--color-text) !important;
}

[data-theme="dark"] .documents-upload-success .success-text {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] #tracking-link {
    background: var(--color-bg) !important;
    color: var(--color-text) !important;
    border-color: var(--color-gray-300) !important;
}

/* process-timeline: контейнер без inline background */
[data-theme="dark"] .process-timeline {
    background: var(--color-bg-light) !important;
    border: 1px solid var(--color-gray-300) !important;
}

/* ========== FAQ: единая схема desktop + mobile, тёмная тема — фон секции ========== */
[data-theme="dark"] .section-faq {
    background: var(--color-bg) !important;
    background-image: none !important;
    animation: none !important;
}

/* FAQ: каноническая центральная сетка 900px в контейнере 1200px (T-FAQ) */
.section-faq .container {
    width: 100% !important;
    max-width: 1200px !important;
    box-sizing: border-box !important;
    padding-left: var(--spacing-md, 16px) !important;
    padding-right: var(--spacing-md, 16px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.section-faq .faq-list {
    max-width: 900px !important;
    width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ========== Hero2 flowchart: тёмная тема — без «белых карточек» и тёмного текста на тёмном ========== */
[data-theme="dark"] .hero2-flowchart-step__card {
    background: var(--color-gray-200) !important;
    border-color: var(--color-gray-300) !important;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.45) !important;
}

[data-theme="dark"] .hero2-flowchart-step__num {
    color: var(--color-text-muted) !important;
}

[data-theme="dark"] .hero2-flowchart-step__question {
    color: var(--color-text) !important;
}

[data-theme="dark"] .hero2-flowchart-step__option {
    background: var(--color-bg) !important;
    color: var(--color-text) !important;
    border: 2px solid var(--color-gray-300) !important;
}

[data-theme="dark"] .hero2-flowchart-step__option:hover {
    background: var(--color-gray-200) !important;
    border-color: rgba(96, 165, 250, 0.45) !important;
}

[data-theme="dark"] .hero2-flowchart-step__option:focus {
    border-color: var(--color-primary) !important;
    box-shadow: 0 0 0 3px rgba(96, 165, 250, 0.2) !important;
}

[data-theme="dark"] .hero2-flowchart-step__result {
    background: rgba(96, 165, 250, 0.12) !important;
    color: var(--color-text-light) !important;
    border: 1px solid rgba(96, 165, 250, 0.25);
}

[data-theme="dark"] .hero2-flowchart-step__result strong {
    color: var(--color-text) !important;
}

[data-theme="dark"] .hero2-flowchart-step__cta .btn-secondary {
    background: var(--color-gray-200) !important;
    color: var(--color-text) !important;
}

[data-theme="dark"] .hero2-flowchart-step__cta .btn-secondary:hover {
    background: var(--color-gray-300) !important;
}

[data-theme="dark"] .hero2-flowchart__path-item {
    color: var(--color-text) !important;
    background: var(--color-bg-light) !important;
    border-color: var(--color-gray-300) !important;
}

[data-theme="dark"] .hero2-flowchart .bank-investor-card--bank {
    background: rgba(59, 130, 246, 0.18) !important;
    border-color: rgba(96, 165, 250, 0.45) !important;
}

[data-theme="dark"] .hero2-flowchart .bank-investor-card--bank .bank-investor-card__title {
    color: var(--color-text) !important;
}

[data-theme="dark"] .hero2-flowchart .bank-investor-card__desc {
    color: var(--color-text-light) !important;
}

[data-theme="dark"] .hero2-flowchart .bank-investor-card--bank.is-impossible {
    background: var(--color-bg) !important;
    border-color: var(--color-gray-300) !important;
}

[data-theme="dark"] .hero2-flowchart .bank-investor-card--investor {
    background: rgba(34, 197, 94, 0.14) !important;
    border-color: rgba(52, 211, 153, 0.45) !important;
}

[data-theme="dark"] .hero2-flowchart .bank-investor-msg {
    background: linear-gradient(135deg, rgba(34, 197, 94, 0.2) 0%, rgba(16, 185, 129, 0.12) 100%) !important;
    color: var(--color-text) !important;
    border-left-color: #34d399 !important;
}

[data-theme="dark"] .hero2-flowchart .bank-investor-msg strong {
    color: var(--color-success) !important;
}

[data-theme="dark"] .hero2-flowchart-form .form__input {
    background: var(--color-bg) !important;
    color: var(--color-text) !important;
    border-color: var(--color-gray-300) !important;
}

[data-theme="dark"] .hero2-flowchart .bank-investor-card--bank .bank-investor-card__impossible {
    color: #f87171 !important;
}

/* Hero2 квиз: перебор поздних листов (glass и др.) — секция и квиз одного тона с страницей */
[data-theme="dark"] .section-hero2 .hero2__quiz-block {
    background: var(--color-bg) !important;
    border-color: rgba(148, 163, 184, 0.22) !important;
    box-shadow: none !important;
}

[data-theme="dark"] .section-hero2 .hero2-flowchart-step__card {
    background: var(--color-gray-200) !important;
    border-color: var(--color-gray-300) !important;
}

[data-theme="dark"] .section-hero2 .hero2-flowchart-step__option {
    background: var(--color-bg) !important;
    color: var(--color-text) !important;
    border-color: var(--color-gray-300) !important;
}

[data-theme="dark"] .section-hero2 .hero2-flowchart-step__option:hover {
    background: var(--color-gray-200) !important;
    border-color: rgba(96, 165, 250, 0.45) !important;
}

/* Корень: без горизонтального «зазора» в обеих темах (дополняет main.css на mobile) */
html[data-theme="dark"],
html[data-theme="light"] {
    overflow-x: hidden;
    max-width: 100%;
}
