/* =========================================================
   DARK THEME (v1.2)
   - Добавлена анимация баннера (Запрос #5)
   - Добавлена цена .price-old (Запрос #2)
   - Добавлен #promo-banner (Запрос #6)
   ========================================================= */

.dark .theme-root {
  --bg:#0b1220;
  --bg-raised:#0c1322;
  --card:#0e1525;
  --border:#111a2e;
  --text:#e5e7eb;
  --text-soft:#cbd5e1;
  --muted:#94a3b8;
  --primary-from:#7c3aed;   /* фиолетовый */
  --primary-to:#22d3ee;     /* голубой */
  --secondary-from:#38bdf8; /* синий */
  --secondary-to:#10b981;   /* зелёный */
  --shadow:0 12px 30px rgba(2,6,23,.25);
  --shadow-strong:0 18px 40px rgba(2,6,23,.35);
  color: var(--text);
  background: var(--bg);
}

/* Общий текст/оттенки */
.dark .theme-root .muted { color: var(--text-soft); }
.dark .theme-root .lead { color: var(--text-soft); }
.dark .theme-root .section-title { color: var(--text); }

/* ---------- Хиро ---------- */
.dark .theme-root .hero-wrap{ position:relative; overflow:hidden }
.dark .theme-root .hero-bg{ 
  position:absolute; inset:0; z-index:-2; 
  background:
    radial-gradient(1100px 600px at 12% 22%, rgba(124,58,237,.15) 0%, transparent 60%),
    radial-gradient(900px 520px at 88% 28%, rgba(34,211,238,.12) 0%, transparent 70%);
  
  /* START: (ЗАПРОС #5) Анимация баннера */
  animation: hero-colors-dark 20s ease-in-out infinite;
  /* END: (ЗАПРОС #5) */
}

/* START: (ЗАПРОС #5) Ключевые кадры для темной темы */
@keyframes hero-colors-dark {
  0% {
    background:
      radial-gradient(1100px 600px at 12% 22%, rgba(124,58,237,.15) 0%, transparent 60%),
      radial-gradient(900px 520px at 88% 28%, rgba(34,211,238,.12) 0%, transparent 70%);
  }
  33% {
    background:
      radial-gradient(1100px 600px at 32% 32%, rgba(236, 72, 153, .15) 0%, transparent 60%), /* Pinkish */
      radial-gradient(900px 520px at 78% 18%, rgba(56, 189, 248, .12) 0%, transparent 70%); /* Blueish */
  }
  66% {
    background:
      radial-gradient(1100px 600px at 8% 42%, rgba(16, 185, 129, .15) 0%, transparent 60%), /* Greenish */
      radial-gradient(900px 520px at 92% 38%, rgba(245, 158, 11, .12) 0%, transparent 70%); /* Amber */
  }
  100% {
    background:
      radial-gradient(1100px 600px at 12% 22%, rgba(124,58,237,.15) 0%, transparent 60%),
      radial-gradient(900px 520px at 88% 28%, rgba(34,211,238,.12) 0%, transparent 70%);
  }
}
/* END: (ЗАПРОС #5) */

.dark .theme-root .hero-title{ color: var(--text); text-shadow:none; }
.dark .theme-root .hero-sub{ color: #e2e8f0; }
.dark .theme-root #hero-canvas{ position:absolute; inset:0; z-index:-1; filter: blur(.2px); opacity:.7 }

/* ---------- Кнопки ---------- */
.dark .theme-root .btn-accent{
  background: linear-gradient(90deg,var(--primary-from),var(--primary-to));
  color:#fff; font-weight:800; border-radius:9999px; padding:.9rem 2rem;
  box-shadow: 0 20px 40px rgba(124,58,237,.25);
  transition: transform .2s, box-shadow .2s; text-decoration:none; display:inline-block;
}
.dark .theme-root .btn-accent:hover{ transform: translateY(-1px) scale(1.02); box-shadow: 0 28px 50px rgba(6,182,212,.25); }

.dark .theme-root .btn-outline{
  border:1px solid #475569; color:#e5e7eb; border-radius:9999px; padding:.9rem 2rem;
  display:inline-block; text-decoration:none; background: transparent;
}
.dark .theme-root .btn-outline:hover{ background:#1f2937; }

/* ИСПРАВЛЕНИЕ 5: Кнопка калькулятора (текст белый) */
.dark .theme-root .btn-secondary{
  background: linear-gradient(90deg, var(--secondary-from), var(--secondary-to));
  color: #ffffff; /* <-- ИЗМЕНЕНО */
  font-weight: 800; border-radius:9999px; padding:.9rem 2rem;
  box-shadow: 0 20px 40px rgba(56,189,248,.25);
  transition: transform .2s, box-shadow .2s; text-decoration:none; display:inline-block;
}
.dark .theme-root .btn-secondary:hover{ transform: translateY(-1px) scale(1.02); box-shadow: 0 28px 50px rgba(16,185,129,.25); }

/* ---------- Карточки и секции ---------- */
.dark .theme-root .card{
  background: var(--card); color: var(--text);
  border:1px solid var(--border); border-top:3px solid transparent;
  border-image: linear-gradient(90deg,var(--primary-from),var(--primary-to)) 1; border-image-slice:1;
  box-shadow: var(--shadow); transition: transform .2s, box-shadow .2s;
}
.dark .theme-root .card:hover{ transform: translateY(-2px); box-shadow: var(--shadow-strong); }

.dark .theme-root .section-raised { background: var(--bg-raised); border-top:1px solid var(--border); border-bottom:1px solid var(--border); }

.dark .theme-root .accent-primary .icon-gradient-bg { background: linear-gradient(135deg, var(--primary-from), var(--primary-to)); }
.dark .theme-root .accent-primary .gradient-text{
  background: linear-gradient(90deg,#c084fc,var(--primary-to)); -webkit-background-clip:text; -webkit-text-fill-color:transparent;
}
.dark .theme-root .accent-secondary .icon-gradient-bg { background: linear-gradient(135deg, var(--secondary-from), var(--secondary-to)); }
.dark .theme-root .accent-secondary .gradient-text{
  background: linear-gradient(90deg, var(--secondary-from), var(--secondary-to)); -webkit-background-clip:text; -webkit-text-fill-color:transparent;
}

/* ---------- Таблица сравнения ---------- */
.dark .theme-root .table-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:thin; border:1px solid var(--border); background:transparent; }
.dark .theme-root .table-scroll::-webkit-scrollbar{ height:8px }
.dark .theme-root .table-scroll::-webkit-scrollbar-thumb{ background:rgba(148,163,184,.35); border-radius:8px }
.dark .theme-root table{ width:100%; border-collapse:collapse; }
.dark .theme-root thead{ background:#0e1525; }
.dark .theme-root thead th{ color:#e5e7eb; border-bottom:1px solid var(--border); }

/* ИСПРАВЛЕНИЕ 3: Заголовок "Signaturum" (текст белый) */
.dark .theme-root .th-brand{ 
  color: #ffffff !important; /* <-- ИЗМЕНЕНО */
  background: linear-gradient(90deg,var(--primary-from),var(--primary-to)); 
}
.dark .theme-root tbody td{ color:#e5e7eb; border-bottom:1px solid var(--border); }
.dark .theme-root tbody td:first-child{ color:#e5e7eb; font-weight:600; }
.dark .theme-root .row-alt{ background: rgba(124,58,237,.08); }
.dark .theme-root .ok{ color:#34d399; }
.dark .theme-root .bad{ color:#fb7185; }
.dark .theme-root .mid{ color:#cbd5e1; }
.dark .theme-root .mid-strong{ color:#e5e7eb; }
.dark .theme-root .hi{ color:#34d399; font-weight:700; }

/* ---------- Разделитель ---------- */
.dark .theme-root .section-divider{ height:1px; width:min(92%,1100px); margin:0 auto;
  background:linear-gradient(90deg,transparent,rgba(148,163,184,.35),transparent) }

/* ---------- Шаги ---------- */
.dark .theme-root .step-line{ display:flex; gap:12px; align-items:flex-start; }
.dark .theme-root .step-num{
  min-width:40px; height:40px; border-radius:9999px; display:flex; align-items:center; justify-content:center;
  font-weight:800; color:#fff; box-shadow:0 8px 18px rgba(34,211,238,.2);
  background: linear-gradient(135deg, var(--primary-from), var(--primary-to));
}
.dark .theme-root .step-title{ color: var(--secondary-from); }

/* ---------- RWA-анимация ---------- */
.dark .theme-root .rwa-anim{
  position:relative; overflow:hidden; background: var(--card); border:1px solid var(--border);
  border-radius:1rem; min-height:260px;
}
.dark .theme-root .rwa-anim .cube{
  position:absolute; width:10px; height:10px;
  background: linear-gradient(90deg,var(--secondary-from),var(--secondary-to));
  opacity:.75; filter: drop-shadow(0 6px 10px rgba(56,189,248,.25));
  animation: fall linear infinite;
}
@keyframes fall { 0% { transform:translateY(-20px) } 100% { transform: translateY(340px) } }
.dark .theme-root .rwa-caption{ position:absolute; bottom:16px; left:16px; color:#fff; font-weight:600; font-size:1.25rem; z-index:10; }
.dark .theme-root .bullet{ color:#22d3ee; }

/* ---------- Отзывы ---------- */
.dark .theme-root .avatar{
  width:48px; height:48px; border-radius:9999px; display:flex; align-items:center; justify-content:center;
  font-weight:700; background: linear-gradient(135deg, var(--secondary-from), var(--secondary-to)); color:#0b0f1a;
}
.dark .theme-root .name{ color:#fff; font-weight:600; }
.dark .theme-root .role{ color:#94a3b8; font-size:.9rem; }
.dark .theme-root .stamp{ color:#94a3b8; font-size:.78rem; }
.dark .theme-root .label{ display:block; font-size:.9rem; margin-bottom:.25rem; color:#cbd5e1; }
.dark .theme-root .input, .dark .theme-root .textarea{
  width:100%; padding:.75rem; border-radius:.6rem; border:1px solid var(--border); background:#0b1220; color:#e5e7eb;
}
.dark .theme-root .input:focus, .dark .theme-root .textarea:focus{ outline:none; box-shadow:0 0 0 2px #22d3ee55; border-color:#22d3ee; }

/* ---------- Тарифы ---------- */
.dark .theme-root .badge{
  display:inline-flex; align-items:center; font-size:.75rem; font-weight:600; padding:.25rem .5rem;
  border-radius:9999px; border:1px solid #22d3ee; color:#22d3ee;
}
.dark .theme-root .price{ font-size:1.875rem; font-weight:800; color:#fff; }

/* START: (ЗАПРОС #2) Стиль для зачеркнутой цены (Темная тема) */
.dark .theme-root #pricing .price-old {
  font-size: 1rem;
  text-decoration: line-through;
  color: var(--muted);
  opacity: 0.7;
}
/* END: (ЗАПРОС #2) */

.dark .theme-root .price-hint{ color:#94a3b8; font-size:.9rem; }
.dark .theme-root .feature{ display:flex; align-items:flex-start; gap:.5rem; color:#cbd5e1; }
.dark .theme-root .check{ color:#7c3aed; }
.dark .theme-root .footnote{ color:#94a3b8; }

/* ---------- ИСПРАВЛЕНИЕ 1: Стили для FAQ (Темная тема) ---------- */
.dark .theme-root .faq-item {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: 0.75rem;
  overflow: hidden;
  border-top: 2px solid transparent;
  border-image: linear-gradient(90deg,var(--primary-from),var(--primary-to)) 1;
  border-image-slice: 1;
  transition: all 0.2s;
}
.dark .theme-root .faq-item:hover {
  box-shadow: var(--shadow-strong);
  transform: translateY(-2px);
}
.dark .theme-root .faq-q {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1.25rem 1.5rem;
  font-weight: 600;
  font-size: 1.125rem;
  color: var(--text);
  cursor: pointer;
  list-style: none; /* Убрать маркер */
}
.dark .theme-root .faq-q::-webkit-details-marker { display: none; }
.dark .theme-root .faq-q::after {
  content: '\f067'; /* fa-plus */
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  color: var(--primary-to);
  font-size: 1.25rem;
  transition: transform 0.2s ease-in-out;
}
.dark .theme-root .faq-item[open] .faq-q::after {
  content: '\f068'; /* fa-minus */
  transform: rotate(180deg);
}
.dark .theme-root .faq-a {
  padding: 0 1.5rem 1.5rem 1.5rem;
  color: var(--text-soft);
  line-height: 1.7;
  border-top: 1px solid var(--border);
  margin: 0 1.5rem;
  padding-top: 1.25rem;
}

/* ---------- ИСПРАВЛЕНИЕ 2: Блок "О нас" ---------- */
.dark .theme-root #about.accent-secondary {
  background: var(--bg); /* Сброс фона */
}
.dark .theme-root #about .lead {
  background: var(--card);
  border: 1px solid var(--border);
  border-top: 3px solid transparent;
  border-image: linear-gradient(90deg,var(--primary-from),var(--primary-to)) 1;
  border-image-slice: 1;
  box-shadow: var(--shadow-strong);
  padding: 2rem 2.5rem;
  border-radius: 1rem;
  color: var(--text-soft);
  line-height: 1.7;
}

/* ---------- Регистрация ---------- */
.dark .theme-root .input-file{
  width:100%; padding:1rem; border:1px solid var(--border); border-radius:.75rem; color:#e5e7eb; background:#0b1220;
}
.dark .theme-root .select{
  width:100%; padding:1rem; border:1px solid var(--border); border-radius:.75rem; color:#e5e7eb; background:#0b1220; appearance:none;
}
.dark .theme-root .hint{ color:#94a3b8; font-size:.86rem; }

/* ---------- Модалка ---------- */
.dark .theme-root .modal-overlay{
  position:fixed; inset:0; z-index:998; background:rgba(0,0,0,.7); backdrop-filter: blur(4px);
  opacity:0; visibility:hidden; transition: all .25s ease-out;
}
.dark .theme-root .modal-container{
  position:fixed; top:50%; left:50%; transform: translate(-50%, -50%) scale(.96);
  z-index:999; width:92%; max-width:560px; padding:2.2rem;
  background: var(--card); color: var(--text); border:1px solid var(--border);
  border-radius:16px; box-shadow: 0 24px 60px rgba(2,6,23,.55);
  opacity:0; visibility:hidden; transition: all .25s ease-out; text-align:center;
}
.dark .theme-root .modal-overlay.show, .dark .theme-root .modal-container.show{ opacity:1; visibility:visible; }
.dark .theme-root .modal-container.show{ transform: translate(-50%, -50%) scale(1); }
.dark .theme-root .modal-close{ position:absolute; top:14px; right:14px; color:#94a3b8; font-size:1.35rem; cursor:pointer; }
.dark .theme-root .modal-title{ font-size:1.875rem; font-weight:800; margin-bottom:.5rem; color:var(--text); }

/* ИСПРАВЛЕНИЕ 4: Текст в модалке (выравнивание по левому краю) */
.dark .theme-root .modal-text{ 
  font-size:1.125rem; 
  color:#cbd5e1; 
  text-align: left; /* <-- ДОБАВЛЕНО */
}
.dark .theme-root .modal-cta{ margin-top:1.25rem; display:inline-block; }

/* ---------- Служебное ---------- */
.dark .theme-root .list .bullet{ color:#22d3ee; }

/* START: (ЗАПРОС #6) Стили для блока промокода (Темная тема) */
.dark .theme-root #promo-banner .gradient-text {
  background: linear-gradient(90deg, var(--primary-from), var(--primary-to)); 
  -webkit-background-clip:text; 
  -webkit-text-fill-color:transparent;
  font-weight: 800;
}
/* END: (ЗАПРОС #6) */