/* ==========================================================================
   theme.css — светлая тема для линолеум.бел (override существующего dark)
   --------------------------------------------------------------------------
   Подключается перед любыми inline-стилями на странице:
      <link rel="stylesheet" href="/theme.css?v=N">
   + inline theme-init (в HEAD каждого HTML) ставит data-theme="light|dark"
     до первой отрисовки. Отсюда — без FOUC.

   Как работает специфичность:
      inline :root{...}          → (0,1,0)
      :root[data-theme="light"]  → (0,2,0)  — выигрывает
   Поэтому все CSS-переменные (--bg, --gold, --acc, --btn, --card и т.д.)
   в каждой из 73 страниц мгновенно становятся светлыми.
   ========================================================================== */

/* ----- palette ----- */
:root[data-theme="light"] {
  --bg: #FAF7F2;
  --page-bg: linear-gradient(175deg, #FAF7F2 0%, #F4EFE6 45%, #FAF7F2 100%);
  --gold: #A6894E;
  --acc: #A6894E;
  --btn: linear-gradient(135deg, #C8A96E, #A6894E);
  --btn-c: #FFFFFF;
  --card: rgba(28,43,45,.035);
  --cb: rgba(28,43,45,.1);
  --muted: #7A6F64;
  --lead-c: #3D3A33;
}

/* ----- body / base text ----- */
:root[data-theme="light"] body {
  background: #FAF7F2;
  color: #2D2D2D;
}

/* ----- header / sticky top ----- */
:root[data-theme="light"] .header,
:root[data-theme="light"] header.header {
  background: rgba(250,247,242,.94) !important;
  border-bottom: 1px solid rgba(28,43,45,.08) !important;
}
:root[data-theme="light"] .header-back { color: #A6894E !important; }
:root[data-theme="light"] .header-back svg { stroke: #A6894E !important; }
:root[data-theme="light"] .back { color: rgba(28,43,45,.55) !important; }

/* ----- burger / menu buttons ----- */
:root[data-theme="light"] .menu-btn,
:root[data-theme="light"] .menu,
:root[data-theme="light"] .linav-btn {
  background: rgba(28,43,45,.06) !important;
  border: 1px solid rgba(28,43,45,.1) !important;
}
:root[data-theme="light"] .menu-btn span,
:root[data-theme="light"] .menu span,
:root[data-theme="light"] .linav-btn span {
  background: rgba(28,43,45,.7) !important;
}

/* ----- h1 / section titles ----- */
:root[data-theme="light"] h1 { color: #A6894E !important; }
:root[data-theme="light"] .section-title,
:root[data-theme="light"] .final-cta-title { color: #1C2B2D !important; }

/* ----- body text (cards / badges / etc.) ----- */
:root[data-theme="light"] .card-title,
:root[data-theme="light"] .nav-card .nt,
:root[data-theme="light"] .faq-btn,
:root[data-theme="light"] .class-name,
:root[data-theme="light"] .line-name,
:root[data-theme="light"] .compare-val,
:root[data-theme="light"] .ok-text,
:root[data-theme="light"] .sb strong,
:root[data-theme="light"] .dc-body strong,
:root[data-theme="light"] .mistake-body strong,
:root[data-theme="light"] .room strong,
:root[data-theme="light"] .h1 { color: #1C2B2D !important; }

/* ----- muted / secondary ----- */
:root[data-theme="light"] .sub,
:root[data-theme="light"] .lead,
:root[data-theme="light"] .card-desc,
:root[data-theme="light"] .nav-card .nd,
:root[data-theme="light"] .line-desc,
:root[data-theme="light"] .class-hint,
:root[data-theme="light"] .compare-label,
:root[data-theme="light"] .dc-body span,
:root[data-theme="light"] .mistake-body span,
:root[data-theme="light"] .room span,
:root[data-theme="light"] .sb span,
:root[data-theme="light"] .faq-answer { color: #4A4842 !important; }

/* ----- cards / surfaces ----- */
:root[data-theme="light"] .card,
:root[data-theme="light"] .nav-card,
:root[data-theme="light"] .line,
:root[data-theme="light"] .class-card,
:root[data-theme="light"] .compare-row,
:root[data-theme="light"] .ok-row,
:root[data-theme="light"] .faq-item,
:root[data-theme="light"] .mistake,
:root[data-theme="light"] .fi,
:root[data-theme="light"] .factor,
:root[data-theme="light"] .dc,
:root[data-theme="light"] .room,
:root[data-theme="light"] .section-card,
:root[data-theme="light"] .art-card,
:root[data-theme="light"] .brand-card,
:root[data-theme="light"] .type-card,
:root[data-theme="light"] .ukhod-card,
:root[data-theme="light"] .stat-card,
:root[data-theme="light"] .hero-utp {
  background: #FFFFFF !important;
  border-color: rgba(28,43,45,.09) !important;
  box-shadow: 0 2px 8px rgba(28,43,45,.05), 0 1px 3px rgba(28,43,45,.03) !important;
}

/* ----- hero panel (index/главная) ----- */
:root[data-theme="light"] .hero-panel {
  background: linear-gradient(160deg, #FFFFFF, #FAF7F2) !important;
  border: 1px solid rgba(166,137,78,.22) !important;
  box-shadow: 0 10px 24px rgba(28,43,45,.07) !important;
}
:root[data-theme="light"] .hero-kicker { color: #7A6F64 !important; }

/* ----- tags / badges / labels ----- */
:root[data-theme="light"] .page-tag,
:root[data-theme="light"] .badge,
:root[data-theme="light"] .line-tag {
  background: rgba(166,137,78,.1) !important;
  border: 1px solid rgba(166,137,78,.3) !important;
  color: #8C6F3A !important;
}
:root[data-theme="light"] .section-label { color: #A6894E !important; }
:root[data-theme="light"] .section-label::after { background: rgba(166,137,78,.25) !important; }
:root[data-theme="light"] .rtag {
  background: rgba(166,137,78,.12) !important;
  border-color: rgba(166,137,78,.35) !important;
  color: #8C6F3A !important;
}

/* ----- buttons ----- */
:root[data-theme="light"] .btn-primary,
:root[data-theme="light"] .bp {
  background: linear-gradient(135deg, #C8A96E, #A6894E) !important;
  color: #FFFFFF !important;
  border: 1px solid rgba(166,137,78,.4) !important;
  box-shadow: 0 8px 20px rgba(166,137,78,.28) !important;
}
:root[data-theme="light"] .btn-outline,
:root[data-theme="light"] .bs {
  color: #A6894E !important;
  border: 1.5px solid rgba(166,137,78,.55) !important;
  background: transparent !important;
}
:root[data-theme="light"] .hero-cta {
  background: linear-gradient(180deg, #1C2B2D, #2E4547) !important;
  color: #FAF7F2 !important;
  border: 1px solid rgba(28,43,45,.22) !important;
  box-shadow: 0 10px 24px rgba(28,43,45,.2) !important;
}

/* ----- bottom bar ----- */
:root[data-theme="light"] .bottom-bar {
  background: rgba(250,247,242,.97) !important;
  border-top: 1px solid rgba(166,137,78,.22) !important;
}
:root[data-theme="light"] .bottom-pill {
  color: #A6894E !important;
  border-color: #A6894E !important;
}
:root[data-theme="light"] .bottom-icon-btn {
  background: rgba(28,43,45,.04) !important;
  border: 1px solid rgba(28,43,45,.1) !important;
}
:root[data-theme="light"] .bottom-icon-btn--chat {
  background: rgba(166,137,78,.12) !important;
  border-color: rgba(166,137,78,.4) !important;
}

/* ----- dividers ----- */
:root[data-theme="light"] .divider,
:root[data-theme="light"] .div { background: rgba(28,43,45,.08) !important; }

/* ----- faq ----- */
:root[data-theme="light"] .faq-answer { border-top-color: rgba(28,43,45,.08) !important; }

/* ----- calculator ----- */
:root[data-theme="light"] .calc-wrap {
  background: linear-gradient(145deg, rgba(166,137,78,.1), rgba(166,137,78,.04)) !important;
  border: 1px solid rgba(166,137,78,.3) !important;
}
:root[data-theme="light"] .calc-head { border-bottom: 1px solid rgba(166,137,78,.18) !important; }
:root[data-theme="light"] .calc-head h3 { color: #A6894E !important; }
:root[data-theme="light"] .calc-head p { color: #7A6F64 !important; }
:root[data-theme="light"] .calc-field label,
:root[data-theme="light"] .roll-label { color: #7A6F64 !important; }
:root[data-theme="light"] .calc-field input {
  background: #FFFFFF !important;
  border: 1.5px solid rgba(28,43,45,.14) !important;
  color: #1C2B2D !important;
}
:root[data-theme="light"] .calc-field input:focus {
  border-color: #A6894E !important;
  background: #FFFFFF !important;
}
:root[data-theme="light"] .calc-field input::placeholder { color: rgba(28,43,45,.3) !important; }
:root[data-theme="light"] .calc-dims .x { color: #7A6F64 !important; }
:root[data-theme="light"] .roll-chips .rc {
  background: #FFFFFF !important;
  border: 1.5px solid rgba(28,43,45,.1) !important;
  color: #1C2B2D !important;
}
:root[data-theme="light"] .rc.active {
  background: linear-gradient(135deg, rgba(166,137,78,.18), rgba(166,137,78,.14)) !important;
  border-color: #A6894E !important;
  color: #A6894E !important;
}
:root[data-theme="light"] .reserve-row {
  border-top: 1px solid rgba(28,43,45,.08) !important;
  border-bottom: 1px solid rgba(28,43,45,.08) !important;
}
:root[data-theme="light"] .reserve-row span { color: #1C2B2D !important; }
:root[data-theme="light"] .toggle {
  background: rgba(28,43,45,.1) !important;
  border-color: rgba(28,43,45,.18) !important;
}
:root[data-theme="light"] .toggle.on {
  background: rgba(166,137,78,.5) !important;
  border-color: #A6894E !important;
}
:root[data-theme="light"] .calc-result {
  background: #FFFFFF !important;
  border: 1px solid rgba(28,43,45,.08) !important;
}
:root[data-theme="light"] .calc-result-empty { color: #9A8F82 !important; }
:root[data-theme="light"] .cr-main {
  background: linear-gradient(135deg, rgba(166,137,78,.18), rgba(166,137,78,.1)) !important;
}
:root[data-theme="light"] .cr-main .cr-label,
:root[data-theme="light"] .cr-main .cr-value,
:root[data-theme="light"] .cr-main .cr-unit { color: #A6894E !important; }
:root[data-theme="light"] .cr-grid { border-top: 1px solid rgba(28,43,45,.08) !important; }
:root[data-theme="light"] .cr-cell { border-right: 1px solid rgba(28,43,45,.08) !important; }
:root[data-theme="light"] .cr-cell .cl { color: #7A6F64 !important; }
:root[data-theme="light"] .cr-cell .cv { color: #1C2B2D !important; }

/* ----- steps (ukladka) ----- */
:root[data-theme="light"] .steps::before {
  background: linear-gradient(180deg, rgba(166,137,78,.5), rgba(166,137,78,.12)) !important;
}
:root[data-theme="light"] .sn {
  background: linear-gradient(135deg, #C8A96E, #A6894E) !important;
  color: #FFFFFF !important;
}

/* ----- nav drawer (инжектится nav.js) ----- */
:root[data-theme="light"] .linav-dr {
  background: linear-gradient(180deg, #FFFFFF, #FAF7F2) !important;
  border-left: 1px solid rgba(28,43,45,.1) !important;
}
:root[data-theme="light"] .linav-head { border-bottom: 1px solid rgba(28,43,45,.08) !important; }
:root[data-theme="light"] .linav-logo { color: #1C2B2D !important; }
:root[data-theme="light"] .linav-x {
  background: rgba(28,43,45,.05) !important;
  border: 1px solid rgba(28,43,45,.1) !important;
  color: rgba(28,43,45,.6) !important;
}
:root[data-theme="light"] .linav-sec { color: #9A8F82 !important; }
:root[data-theme="light"] .linav-a {
  color: #1C2B2D !important;
  border-bottom: 1px solid rgba(28,43,45,.05) !important;
}
:root[data-theme="light"] .linav-a .na { color: rgba(28,43,45,.28) !important; }
:root[data-theme="light"] .linav-cta {
  background: linear-gradient(135deg, #C8A96E, #A6894E) !important;
  color: #FFFFFF !important;
}

/* ----- breadcrumbs (перекрывает форс из nav.js) ----- */
:root[data-theme="light"] .breadcrumbs__item,
:root[data-theme="light"] .breadcrumb__item,
:root[data-theme="light"] .breadcrumbs li { color: rgba(28,43,45,.55) !important; }
:root[data-theme="light"] .breadcrumbs__item a,
:root[data-theme="light"] .breadcrumb a,
:root[data-theme="light"] .breadcrumbs a { color: rgba(28,43,45,.55) !important; }
:root[data-theme="light"] .breadcrumbs__item--current { color: #1C2B2D !important; }

/* ----- AI-чат (chat2.js widget) ----- */
:root[data-theme="light"] .lichw-box {
  background: #FFFFFF !important;
  border: 1.5px solid rgba(166,137,78,.5) !important;
  box-shadow: 0 0 0 1px rgba(28,43,45,.08), 0 16px 48px rgba(28,43,45,.18) !important;
}
:root[data-theme="light"] .lichw-head {
  background: rgba(166,137,78,.08) !important;
  border-bottom: 1px solid rgba(28,43,45,.08) !important;
}
:root[data-theme="light"] .lichw-title { color: #1C2B2D !important; }
:root[data-theme="light"] .lichw-close {
  color: rgba(28,43,45,.6) !important;
  background: rgba(28,43,45,.05) !important;
}
:root[data-theme="light"] .lichw-msgs { background: #FFFFFF !important; }
:root[data-theme="light"] .lichw-msg.bot {
  background: rgba(28,43,45,.04) !important;
  color: #1C2B2D !important;
  border: 1px solid rgba(28,43,45,.08) !important;
}
:root[data-theme="light"] .lichw-msg.user {
  background: rgba(166,137,78,.16) !important;
  color: #3D2A00 !important;
  border: 1px solid rgba(166,137,78,.32) !important;
}
:root[data-theme="light"] .lichw-quick,
:root[data-theme="light"] .lichw-row {
  background: #FFFFFF !important;
  border-top: 1px solid rgba(28,43,45,.08) !important;
}
:root[data-theme="light"] .lichw-qbtn {
  background: rgba(28,43,45,.04) !important;
  border: 1px solid rgba(28,43,45,.1) !important;
  color: #1C2B2D !important;
}
:root[data-theme="light"] .lichw-inp {
  background: #FFFFFF !important;
  border: 1.5px solid rgba(28,43,45,.12) !important;
  color: #1C2B2D !important;
}
:root[data-theme="light"] .lichw-inp::placeholder { color: rgba(28,43,45,.3) !important; }

/* ----- quiz ----- */
:root[data-theme="light"] .quiz-option {
  background: #FFFFFF !important;
  border: 1px solid rgba(28,43,45,.1) !important;
  color: #1C2B2D !important;
}
:root[data-theme="light"] .quiz-option.is-selected {
  background: rgba(166,137,78,.12) !important;
  border-color: #A6894E !important;
  color: #A6894E !important;
}

/* ----- theme-toggle кнопка (виджет, инжектится theme.js) ----- */
.theme-toggle {
  width: 36px; height: 36px;
  border-radius: 10px;
  background: rgba(255,255,255,.07);
  border: 1px solid rgba(255,255,255,.12);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; padding: 0; margin: 0 8px 0 0;
  -webkit-tap-highlight-color: transparent;
  transition: background .2s ease, border-color .2s ease;
  flex-shrink: 0;
}
.theme-toggle:hover { background: rgba(255,255,255,.12); }
.theme-toggle svg { width: 18px; height: 18px; display: block; }
.theme-toggle .sun { display: none; }
.theme-toggle .moon { display: block; color: rgba(255,255,255,.75); }
:root[data-theme="light"] .theme-toggle {
  background: rgba(28,43,45,.06) !important;
  border: 1px solid rgba(28,43,45,.1) !important;
}
:root[data-theme="light"] .theme-toggle:hover { background: rgba(28,43,45,.1) !important; }
:root[data-theme="light"] .theme-toggle .moon { display: none; }
:root[data-theme="light"] .theme-toggle .sun { display: block; color: #A6894E; }

/* ----- smooth transition при смене темы ----- */
html { transition: background-color .25s ease, color .25s ease; }
.card, .nav-card, .line, .class-card, .compare-row, .ok-row, .faq-item,
.mistake, .fi, .factor, .dc, .room, .section-card, .art-card, .brand-card,
.type-card, .ukhod-card, .stat-card, .hero-panel, .final-cta,
.header, .bottom-bar, .linav-dr, .lichw-box {
  transition: background-color .25s ease, border-color .25s ease,
              color .25s ease, box-shadow .25s ease;
}
