/* ARCH-RST Theme System – полная версия для сайта */

/* ===== ПЕРЕМЕННЫЕ ТЕМ ===== */
:root {
  --bg-primary: #141110;
  --bg-secondary: rgba(255, 255, 255, 0.03);
  --bg-hover: rgba(255, 255, 255, 0.05);
  --text-primary: #ffffff;
  --text-secondary: rgba(255, 255, 255, 0.6);
  --text-tertiary: rgba(255, 255, 255, 0.5);
  --border-color: rgba(255, 255, 255, 0.1);
  --border-hover: rgba(255, 255, 255, 0.2);
  --accent-color: #795f5d;
  --accent-light: #eae8e6;
  --accent-dark: #2e2b2a;
  --success-color: #4caf50;
  --error-color: #ef5350;
  --code-bg: #1e1b1a;
  --code-color: #a5d6ff;
  --shadow: 0 25px 50px -12px #000;
  --shadow-color: rgba(0, 0, 0, 0.3);
}

.theme-light {
  --bg-primary: #ffffff;
  --bg-secondary: #f5f5f5;
  --bg-hover: #f0f0f0;
  --text-primary: #141110;
  --text-secondary: rgba(20, 17, 16, 0.7);
  --text-tertiary: rgba(20, 17, 16, 0.5);
  --border-color: rgba(20, 17, 16, 0.1);
  --border-hover: rgba(20, 17, 16, 0.2);
  --accent-color: #795f5d;
  --accent-light: #eae8e6;
  --accent-dark: #2e2b2a;
  --code-bg: #f0f0f0;
  --code-color: #1e1b1a;
  --shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.1);
  --shadow-color: rgba(0, 0, 0, 0.12);
}

body.theme-forest {
  --bg-primary: #1a2f1a;
  --bg-secondary: rgba(100, 180, 100, 0.08);
  --bg-hover: rgba(100, 180, 100, 0.12);
  --text-primary: #e8f5e9;
  --text-secondary: rgba(232, 245, 233, 0.6);
  --text-tertiary: rgba(232, 245, 233, 0.5);
  --border-color: rgba(100, 180, 100, 0.2);
  --border-hover: rgba(100, 180, 100, 0.3);
  --accent-color: #4caf50;
  --accent-light: #66bb6a;
  --accent-dark: #1b5e20;
  --code-bg: #0d1f0d;
  --code-color: #a5d6a5;
  --shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.3);
  --shadow-color: rgba(0, 0, 0, 0.35);
}

body.theme-ocean {
  --bg-primary: #0a1f3a;
  --bg-secondary: rgba(100, 150, 200, 0.08);
  --bg-hover: rgba(100, 150, 200, 0.12);
  --text-primary: #e3f2fd;
  --text-secondary: rgba(227, 242, 253, 0.6);
  --text-tertiary: rgba(227, 242, 253, 0.5);
  --border-color: rgba(100, 150, 200, 0.2);
  --border-hover: rgba(100, 150, 200, 0.3);
  --accent-color: #1976d2;
  --accent-light: #42a5f5;
  --accent-dark: #0d47a1;
  --code-bg: #051530;
  --code-color: #90caf9;
  --shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.3);
  --shadow-color: rgba(0, 0, 0, 0.35);
}

body.theme-amber {
  --bg-primary: #1a1410;
  --bg-secondary: rgba(212, 160, 23, 0.06);
  --bg-hover: rgba(212, 160, 23, 0.1);
  --text-primary: #fff8e7;
  --text-secondary: rgba(255, 248, 231, 0.6);
  --text-tertiary: rgba(255, 248, 231, 0.5);
  --border-color: rgba(212, 160, 23, 0.2);
  --border-hover: rgba(212, 160, 23, 0.3);
  --accent-color: #d4a017;
  --accent-light: #f0c75e;
  --accent-dark: #8a6508;
  --code-bg: #120e0a;
  --code-color: #f0c75e;
  --shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.3);
  --shadow-color: rgba(0, 0, 0, 0.35);
}

body.theme-plum {
  --bg-primary: #1a1025;
  --bg-secondary: rgba(156, 39, 176, 0.06);
  --bg-hover: rgba(156, 39, 176, 0.1);
  --text-primary: #f3e5f5;
  --text-secondary: rgba(243, 229, 245, 0.6);
  --text-tertiary: rgba(243, 229, 245, 0.5);
  --border-color: rgba(156, 39, 176, 0.2);
  --border-hover: rgba(156, 39, 176, 0.3);
  --accent-color: #9c27b0;
  --accent-light: #ce93d8;
  --accent-dark: #4a148c;
  --code-bg: #12081a;
  --code-color: #ce93d8;
  --shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.3);
  --shadow-color: rgba(0, 0, 0, 0.35);
}





/* ===== ГЛОБАЛЬНЫЕ СТИЛИ, ПРИВЯЗАННЫЕ К ТЕМЕ (только уникальные, не перекрываемые переменными) ===== */

.text:hover {
  opacity: 0.8;
}

.logo_opti {
  color: var(--text-primary);
}

.cal-day.present {
  background: var(--success-color);
}

.faq-marker {
  font-family: monospace;
}

.step-title {
  font-weight: 400;
}

.step-desc {
  grid-column: 2;
  font-size: 0.875rem;
}

.step-number {
  font-size: 16px;
  font-weight: 200;
  line-height: 1;
  grid-row: span 2;
}

.faq-section h2 {
  display: inline-block;
  text-transform: uppercase;
}

.cta-section h2 {
  font-size: 1rem;
  font-weight: 400;
  margin-bottom: 0.5rem;
}

.cta-section p {
  font-size: 0.875rem;
  margin-bottom: 2rem;
}