/* ===== MIZORA DARK/RED THEME ===== */
@import url('https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap');

/* Override body for dark */
body.dark-theme { background: #0a0a0a; color: #fff; }

/* Serif accent helper */
.dt-serif { font-family: 'Instrument Serif', Georgia, serif; font-weight: 400; font-style: italic; }

/* ===== FLOATING PILL NAV ===== */
/* Nav styles now in nav.css — dark-theme only overrides active state */
body.dark-theme .nav-logo-home .nav-logo-icon { background: #dc3545; border-color: #dc3545; }
body.dark-theme .nav-center a.nav-active { background: rgba(220,50,50,.12); color: #fff !important; font-weight: 600; }
body.dark-theme .nav-center a.nav-active:hover { background: rgba(220,50,50,.2); color: #fff !important; }

/* ===== PAGE HERO - DARK ===== */
body.dark-theme .page-hero {
  background: #080808;
  padding: calc(var(--nav-h) + 80px) 0 80px;
  position: relative;
  overflow: hidden;
}
body.dark-theme .page-hero::before {
  content: '';
  position: absolute;
  top: -100px; right: -150px;
  width: 500px; height: 400px;
  background: radial-gradient(ellipse, rgba(180,25,25,.12), transparent 70%);
  pointer-events: none;
}
body.dark-theme .page-hero-tag { color: #dc3545; }
body.dark-theme .page-hero-headline, body.dark-theme .page-hero h1 { color: #fff; }
body.dark-theme .page-hero-sub, body.dark-theme .page-hero p { color: rgba(255,255,255,.4); }

/* ===== SECTION OVERRIDES ===== */
body.dark-theme .pg-section.bg-white { background: #0a0a0a; color: #fff; }
body.dark-theme .pg-section.bg-light { background: #0e0e0e; color: #fff; }
body.dark-theme .pg-section.bg-dark { background: #080808; }

body.dark-theme .section-headline { color: #fff; }
body.dark-theme .section-headline .muted,
body.dark-theme .section-headline span { color: rgba(255,255,255,.3); }
body.dark-theme .sec-label { color: rgba(255,255,255,.3); }
body.dark-theme .sec-num { color: #dc3545; }

/* Cards and grids */
body.dark-theme .ch-step,
body.dark-theme .obj-card,
body.dark-theme .tier-card,
body.dark-theme .ao-card,
body.dark-theme .diff-card,
body.dark-theme .tl-card,
body.dark-theme .rule-ref-card {
  background: #111;
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 12px;
  color: #fff;
}
body.dark-theme .ch-step:hover,
body.dark-theme .ao-card:hover,
body.dark-theme .diff-card:hover { border-color: rgba(200,30,30,.15); }

body.dark-theme .ch-step h3,
body.dark-theme .diff-card h3,
body.dark-theme .ao-card h3 { color: #fff; }
body.dark-theme .ch-step p,
body.dark-theme .diff-card p,
body.dark-theme .ao-card p,
body.dark-theme .ao-note { color: rgba(255,255,255,.3); }
body.dark-theme .ch-step-num,
body.dark-theme .diff-num { color: #dc3545; }
body.dark-theme .ch-step-line { background: #dc3545; }
body.dark-theme .ch-step-dot { background: #dc3545; }

/* Objective cards */
body.dark-theme .obj-label { color: rgba(255,255,255,.3); }
body.dark-theme .obj-card p { color: rgba(255,255,255,.3); }

/* Tier cards */
body.dark-theme .tier-tag { color: #dc3545; }
body.dark-theme .tier-target { color: rgba(255,255,255,.25); }
body.dark-theme .tier-cta { border-color: rgba(200,30,30,.25); color: rgba(255,255,255,.5); }
body.dark-theme .tier-cta:hover { border-color: #dc3545; color: #dc3545; }

/* Add-on rows */
body.dark-theme .ao-row { color: rgba(255,255,255,.4); border-color: rgba(255,255,255,.06); }
body.dark-theme .ao-price { color: #dc3545; }

/* Comparison table */
body.dark-theme .comparison-table th { background: #0a0a0a; color: rgba(255,255,255,.4); border-color: rgba(255,255,255,.06); }
body.dark-theme .comparison-table td { color: rgba(255,255,255,.5); border-color: rgba(255,255,255,.06); font-family: var(--mono); }
body.dark-theme .comparison-table td:first-child { background: #0a0a0a; color: rgba(255,255,255,.6); }
body.dark-theme .comparison-table th:first-child { background: #0a0a0a; }
body.dark-theme .comparison-table .col-popular { background: rgba(200,30,30,.04); }
body.dark-theme .comparison-table th.col-popular { color: #dc3545; border-bottom-color: #dc3545; }
body.dark-theme .comparison-table tbody tr:hover { background: rgba(255,255,255,.02); }
body.dark-theme .comparison-wrap { overflow-x: auto; }

/* Rule ref */
body.dark-theme .rule-ref-value { color: #fff; }
body.dark-theme .rule-ref-label { color: rgba(255,255,255,.25); }
body.dark-theme .rule-ref-note { color: rgba(255,255,255,.15); }
body.dark-theme .rule-ref-card:hover { background: #141414; }

/* Steps grid override */
body.dark-theme .ch-steps { gap: 16px; }
body.dark-theme .ch-step { border-left: none; }

/* Page CTA */
body.dark-theme .pg-cta { background: #080808; }
body.dark-theme .pg-cta h2 { color: #fff; }
body.dark-theme .pg-cta p { color: rgba(255,255,255,.3); }
body.dark-theme .btn-primary { background: #dc3545; border-radius: 8px; }
body.dark-theme .btn-primary:hover { background: #b82d3a; }
body.dark-theme .btn-ghost-light { border-color: rgba(255,255,255,.15); border-radius: 8px; }

/* Market detail cards */
body.dark-theme .market-detail-card { background: #111; border: 1px solid rgba(255,255,255,.06); border-radius: 12px; }
body.dark-theme .market-detail-card:hover { background: #141414; border-color: rgba(200,30,30,.15); }

/* Feature cards */
body.dark-theme .feature-card { background: #111; border: 1px solid rgba(255,255,255,.06); border-radius: 12px; }
body.dark-theme .feature-card:hover { background: #141414; }
body.dark-theme .feature-num { color: #dc3545; }

/* Instrument tables */
body.dark-theme .instrument-table th { color: rgba(255,255,255,.3); border-color: rgba(255,255,255,.06); }
body.dark-theme .instrument-table td { color: rgba(255,255,255,.4); border-color: rgba(255,255,255,.06); }
body.dark-theme .instrument-table td:first-child { color: #fff; }
body.dark-theme .instrument-category { color: #fff; }
body.dark-theme .table-note { color: rgba(255,255,255,.25); }

/* Calendar */
body.dark-theme .calendar-preview { border-color: rgba(255,255,255,.06); }
body.dark-theme .calendar-row { border-color: rgba(255,255,255,.06); color: rgba(255,255,255,.4); }
body.dark-theme .cal-date { color: #fff; }
body.dark-theme .cal-event { color: rgba(255,255,255,.6); }

/* FAQ */
body.dark-theme .faq-section { background: #0a0a0a; }
body.dark-theme .faq-page-section { background: #0a0a0a; color: #fff; }
body.dark-theme .faq-category-title,
body.dark-theme .faq-group-heading { color: #dc3545; }
body.dark-theme .faq-title { color: #fff; }
body.dark-theme .faq-item { border-color: rgba(255,255,255,.06); }
body.dark-theme .faq-question { color: rgba(255,255,255,.7); }
body.dark-theme .faq-toggle { color: rgba(255,255,255,.2); }
body.dark-theme .faq-answer-inner { color: rgba(255,255,255,.3); }

/* Mission/About */
body.dark-theme .mission-text { color: rgba(255,255,255,.35); }
body.dark-theme .mission-heading { color: #fff; }

/* Page stats */
body.dark-theme .page-stat-card { background: #0e0e0e; }
body.dark-theme .page-stats-grid { background: rgba(255,255,255,.06); }

/* Timeline */
body.dark-theme .tl-date { color: #dc3545; }
body.dark-theme .tl-card h3 { color: #fff; }
body.dark-theme .tl-card p { color: rgba(255,255,255,.3); }

/* Footer */
body.dark-theme .landing-footer { background: #060606 !important; padding: 48px 0 24px !important; }
body.dark-theme .diagonal-transition { display: none; }
body.dark-theme .footer-top { margin-bottom: 32px !important; gap: 32px !important; }
body.dark-theme .footer-heading { font-size: clamp(18px, 2.5vw, 24px) !important; margin-bottom: 4px !important; }
body.dark-theme .footer-email { font-size: clamp(18px, 2.5vw, 24px) !important; margin-bottom: 16px !important; }
body.dark-theme .footer-crosses { display: none !important; }
body.dark-theme .footer-brand { padding: 24px 0 !important; gap: 16px !important; }
body.dark-theme .footer-brand-logo { width: 40px !important; }
body.dark-theme .footer-brand-text { font-size: clamp(28px, 5vw, 48px) !important; letter-spacing: 8px !important; }
body.dark-theme .footer-nav-list li { padding: 10px 0 !important; font-size: 13px !important; }

/* Contact form */
body.dark-theme .form-group input,
body.dark-theme .form-group textarea,
body.dark-theme .form-group select {
  background: rgba(255,255,255,.05);
  border-color: rgba(255,255,255,.1);
  color: #fff;
}
body.dark-theme .form-group input:focus,
body.dark-theme .form-group textarea:focus,
body.dark-theme .form-group select:focus { border-color: rgba(200,30,30,.4); }
body.dark-theme .form-group label { color: rgba(255,255,255,.4); }
body.dark-theme .form-submit { background: #dc3545; }
body.dark-theme .form-submit:hover { background: #b82d3a; }

/* Blog cards */
body.dark-theme .blog-card { background: #111; border: 1px solid rgba(255,255,255,.06); border-radius: 12px; }
body.dark-theme .blog-card:hover { background: #141414; }
body.dark-theme .blog-card h3 { color: #fff; }
body.dark-theme .blog-card p { color: rgba(255,255,255,.3); }
body.dark-theme .blog-card-cat { color: #dc3545; }

/* Contact cards */
body.dark-theme .contact-card { background: #111; border: 1px solid rgba(255,255,255,.06); border-radius: 12px; }
body.dark-theme .contact-card:hover { background: #141414; }
body.dark-theme .contact-card h3 { color: #fff; }
body.dark-theme .contact-card p { color: rgba(255,255,255,.3); }
body.dark-theme .contact-card a { color: #dc3545; }

/* Grid gaps - use spacing instead of 1px borders */
body.dark-theme .ch-steps,
body.dark-theme .obj-grid,
body.dark-theme .tier-grid,
body.dark-theme .ao-grid,
body.dark-theme .diff-grid,
body.dark-theme .tl-grid,
body.dark-theme .rules-ref-grid,
body.dark-theme .features-grid,
body.dark-theme .market-detail-grid {
  background: transparent;
  gap: 16px;
}
