/* ════════════════════════════════════════
   BASE LAYER HQ — THEME SYSTEM
   theme.css — loaded on every page
   ════════════════════════════════════════ */

/* ── DEFAULT: RED ── */
:root {
  --accent: #e02020;
  --accent-dark: #7a1010;
  --accent-glow: rgba(224,32,32,.06);
  --accent-glow-md: rgba(224,32,32,.04);
  --accent-hover: #ff2828;
  --btn-text: #fff;
  --wm-xxs:  rgba(224,32,32,.022);
  --wm-xs:   rgba(224,32,32,.04);
  --wm-sm:   rgba(224,32,32,.05);
  --wm-md:   rgba(224,32,32,.06);
  --wm-lg:   rgba(224,32,32,.07);
  --wm-xl:   rgba(224,32,32,.12);
  --wm-border: rgba(224,32,32,.3);
  --wm-shaft: rgba(224,32,32,.06);
}

/* ── AMBER OVERRIDE ── */
[data-theme="amber"] {
  --accent: #C8A84B;
  --accent-dark: #6A5520;
  --accent-glow: rgba(200,168,75,.06);
  --accent-glow-md: rgba(200,168,75,.04);
  --accent-hover: #d4a843;
  --btn-text: #080808;
  --wm-xxs:  rgba(200,168,75,.022);
  --wm-xs:   rgba(200,168,75,.04);
  --wm-sm:   rgba(200,168,75,.05);
  --wm-md:   rgba(200,168,75,.06);
  --wm-lg:   rgba(200,168,75,.07);
  --wm-xl:   rgba(200,168,75,.12);
  --wm-border: rgba(200,168,75,.3);
  --wm-shaft: rgba(200,168,75,.06);
}

/* ── THEME SWITCHER ── */
.theme-toggle-btn {
  background: transparent;
  border: 1px solid #1e1e1e;
  color: #444;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 8px;
  letter-spacing: .18em;
  text-transform: uppercase;
  padding: 5px 10px;
  cursor: pointer;
  transition: border-color .2s, color .2s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  flex-shrink: 0;
}
.theme-toggle-btn:hover { border-color: var(--accent); color: var(--accent); }
.theme-toggle-swatch {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--accent); flex-shrink: 0; transition: background .3s;
}

/* ════════════════════════════════════════
   MOBILE RESPONSIVE
   ════════════════════════════════════════ */

@media (max-width: 900px) {
  .wrap { padding: 0 32px !important; }
  nav { padding: 0 24px !important; }
  .nav-links li:not(:last-child) { display: none; }
  footer { padding: 48px 32px 0 !important; grid-template-columns: 1fr 1fr !important; }
  .ft-bottom { padding: 18px 32px !important; flex-wrap: wrap; gap: 12px; }
}

@media (max-width: 680px) {
  nav { padding: 0 20px !important; height: 52px !important; top: 28px !important; }
  .nav-links li { display: none !important; }
  .nav-links li:last-child { display: block !important; }
  .nav-cta { font-size: 9px !important; padding: 6px 12px !important; }
  .nav-logo { font-size: 10px !important; letter-spacing: .12em !important; }
  .ticker { padding: 7px 0 !important; }
  .ticker-item { font-size: 9px !important; padding: 0 20px !important; }

  .hero { grid-template-columns: 1fr !important; min-height: auto !important; }
  .hero-left { padding: 72px 24px 48px !important; border-right: none !important; border-bottom: 1px solid #1e1e1e; }
  .hero-right { padding: 40px 24px 56px !important; }
  .hero-h1 { font-size: clamp(72px,18vw,110px) !important; }
  .hero-btns { flex-direction: column !important; }
  .hero-btns a, .hero-btns button { text-align: center !important; }
  .billing-num { font-size: clamp(32px,8vw,48px) !important; }
  .tx { grid-template-columns: 58px 1fr auto !important; font-size: 9px !important; padding: 9px 14px !important; }
  .billing-main { padding: 18px 14px 8px !important; }
  .billing-top, .billing-foot { padding: 12px 14px !important; }
  .billing-foot { font-size: 7px !important; }

  .stats-inner { grid-template-columns: 1fr 1fr !important; padding: 0 20px !important; }
  .stat { padding: 28px 10px !important; }
  .intel-head { padding: 12px 20px !important; }
  .intel-card { min-width: 190px !important; padding: 16px 18px !important; }
  .ic-n { font-size: 2rem !important; }

  .wrap { padding: 0 20px !important; }
  .explainer, .how-to, .sites-sec, .pipeline-wrap, .method,
  .channel, .briefing, .fa-section { padding: 64px 0 !important; }
  .ops-section { padding: 64px 20px !important; }

  .big-title { font-size: clamp(44px,11vw,68px) !important; }
  .explainer-head { grid-template-columns: 1fr !important; gap: 40px !important; margin-bottom: 48px !important; }
  .geo-grid { grid-template-columns: 1fr !important; gap: 32px !important; }

  .htr-top { grid-template-columns: 1fr !important; gap: 36px !important; }
  .htr-news { grid-template-columns: 1fr !important; }
  .htr-col + .htr-col { border-left: none !important; border-top: 1px solid #1e1e1e; padding-left: 0 !important; padding-top: 24px !important; margin-top: 24px !important; }
  .terms-grid { grid-template-columns: 1fr !important; }

  .sites-header { flex-direction: column !important; align-items: flex-start !important; gap: 14px !important; margin-bottom: 28px !important; }
  .sites-grid { grid-template-columns: 1fr !important; }
  .drill-card { padding: 24px 20px !important; }
  .dc-title { font-size: 30px !important; }

  .pipeline-head { padding: 0 20px !important; margin-bottom: 32px !important; }
  .pipe-item { width: 250px !important; height: 260px !important; padding: 20px !important; }

  .method-grid, .channel-grid, .brief-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
  .brief-title { font-size: clamp(44px,11vw,68px) !important; }

  .fa-header { margin-bottom: 28px !important; }
  .fa-body { grid-template-columns: 1fr !important; gap: 40px !important; }

  .ops-h { font-size: clamp(2.2rem,9vw,3.6rem) !important; }
  .ops-bg-word { font-size: 36vw !important; }
  .ops-btns { flex-direction: column !important; align-items: center !important; }
  .ops-price-n { font-size: 3rem !important; }
  .fuel-block { grid-template-columns: 1fr !important; gap: 24px !important; padding: 22px !important; text-align: left !important; }
  .fuel-btns { flex-direction: column !important; min-width: auto !important; width: 100% !important; }
  .fuel-btns a, .fuel-btns button { text-align: center !important; }
  .fuel-title { font-size: clamp(1.5rem,6vw,2rem) !important; }

  footer { grid-template-columns: 1fr !important; padding: 40px 20px 0 !important; gap: 24px !important; }
  .ft-bottom { padding: 16px 20px !important; flex-direction: column !important; align-items: flex-start !important; gap: 10px !important; }
  .ft-rotating { max-width: 100% !important; text-align: left !important; }

  /* LANDING PAGES */
  .page-hero { padding: 64px 0 48px !important; }
  .hero-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
  .hero-title { font-size: clamp(60px,15vw,90px) !important; }
  .hero-receipt { max-width: 100% !important; }
  .receipt-num { font-size: clamp(22px,5.5vw,34px) !important; word-break: keep-all !important; }
  .ch-grid { grid-template-columns: 1fr !important; }
  .findings-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
  .two-col { grid-template-columns: 1fr !important; }
  .ver-side + .ver-side { border-left: none !important; border-top: 1px solid #1e1e1e; }
  .how-grid { grid-template-columns: 1fr !important; }
  .form-grid { grid-template-columns: 1fr !important; gap: 40px !important; }
  .vs-grid { grid-template-columns: 1fr !important; }
  .page-footer { flex-direction: column !important; gap: 16px !important; padding: 28px 20px !important; }
  .ft-links { flex-wrap: wrap !important; gap: 10px 16px !important; }
  .ft-verdict { display: none; }
  .buy-price { font-size: clamp(52px,13vw,80px) !important; }
  .tier-grid { grid-template-columns: 1fr !important; }
  .form-row { flex-direction: column !important; }
  .form-row .f-input { border-right: 1px solid #1e1e1e !important; }
  .btn-submit, .btn-r[style*="width:100%"] { font-size: 11px !important; }
}

/* ════════════════════════════════════════
   LANDING PAGE MOBILE — all pages
   ════════════════════════════════════════ */
@media (max-width: 680px) {

  /* SCORE + BOOKING + CLOSING + OPERATORS hero */
  .page-hero { padding: 64px 0 48px !important; }
  .hero-grid,
  .series-grid,
  .delivery-grid,
  .findings-grid,
  .two-col,
  .compare-grid,
  .fa-outer,
  .fa-body { grid-template-columns: 1fr !important; gap: 32px !important; }

  /* Score hero panels */
  .sp-stats { grid-template-columns: 1fr !important; }
  .score-panel { margin-top: 0 !important; }

  /* All page hero titles */
  .hero-title { font-size: clamp(60px,15vw,90px) !important; }
  .hero-btns { flex-direction: column !important; }
  .hero-btns a, .hero-btns button { text-align: center !important; }
  .hero-note { font-size: 7px !important; }
  .verdict-block { margin-bottom: 28px !important; }

  /* Chapters grids */
  .ch-grid { grid-template-columns: 1fr !important; }
  .ch-card[style*="span 2"] { grid-column: span 1 !important; }

  /* Coming soon pipeline */
  .pipeline-section { padding: 48px 0 !important; }
  .pipeline-header { padding: 0 20px !important; flex-direction: column !important; align-items: flex-start !important; gap: 20px !important; margin-bottom: 28px !important; }
  .pipe-tile { width: 280px !important; height: auto !important; min-height: 320px !important; padding: 20px !important; }
  .pt-ghost { font-size: 7rem !important; }

  /* Files grid on operators page */
  .files-grid { grid-template-columns: 1fr !important; }
  .file-card[style*="span 2"] { grid-column: span 1 !important; }

  /* Fuel block */
  .fuel-block { grid-template-columns: 1fr !important; gap: 28px !important; padding: 28px 20px !important; }
  .fuel-btns { min-width: auto !important; width: 100% !important; flex-direction: column !important; }
  .fuel-title { font-size: clamp(2rem,8vw,3rem) !important; }

  /* Guarantee strip */
  .guarantee-inner { flex-direction: column !important; align-items: flex-start !important; gap: 28px !important; }

  /* Price card */
  .price-card { margin-top: 0 !important; }
  .price-n { font-size: 40px !important; }

  /* Buy sections */
  .buy-price { font-size: clamp(52px,13vw,80px) !important; }
  .buy-btns { flex-direction: column !important; align-items: center !important; }
  .buy-btns a { width: 100% !important; text-align: center !important; }

  /* How grid on field analysts */
  .how-grid { grid-template-columns: 1fr !important; }
  .vs-grid { grid-template-columns: 1fr !important; }

  /* Series map */
  .sm-row { font-size: 9px !important; gap: 10px !important; }

  /* Briefing CTA */
  .bc-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  .bc-row { flex-direction: column !important; }
  .bc-input { border-right: 1px solid var(--border) !important; }

  /* General wrap override for landing pages */
  .wrap { padding: 0 20px !important; }

  /* Page footers */
  .page-footer { flex-direction: column !important; gap: 16px !important; padding: 28px 20px !important; }
  .ft-links { flex-wrap: wrap !important; gap: 10px 16px !important; }
  .ft-verdict { display: none !important; }
}

/* ── BRIEFING PAGE MOBILE ── */
@media (max-width: 680px) {
  .page-hero { grid-template-columns: 1fr !important; min-height: auto !important; }
  .hero-left { padding: 64px 20px 40px !important; border-right: none !important; border-bottom: 1px solid var(--border); }
  .hero-right { padding: 40px 20px 56px !important; }
  .big-title { font-size: clamp(44px,11vw,68px) !important; }
  .form-panel { padding: 24px 20px !important; }
  .form-panel-title { font-size: clamp(32px,9vw,48px) !important; }
  .what-grid { grid-template-columns: 1fr !important; }
  .sample-grid { grid-template-columns: 1fr !important; gap: 32px !important; }
  .hero-eyebrow { font-size: 8px !important; letter-spacing: .18em !important; }
  .hero-desc { font-size: 14px !important; }
  .hero-note { font-size: 7px !important; }
}
