/* ═══════════════════════════════════════════════════════════════════
   SERPpro Theme System — Full Dark + Light
   Scoped under [data-theme="dark"] and [data-theme="light"]
   Petronas Teal accent: #00D2BE (dark) / #00A896 (light)
   NOTE: Geist font is loaded via <link> in page <head> (not @import here)
   to avoid render-blocking on each page load.
   ═══════════════════════════════════════════════════════════════════ */

/* ──────────────────────────────────────────────────────────────────
   DARK MODE
   ────────────────────────────────────────────────────────────────── */
html[data-theme="dark"] {
  color-scheme: dark;
  --white: #121316;
  --off: #121316;
  --off2: #22252B;
  --border: #2A2D33;
  --border-dark: #3A3E46;
  --text: #F5F6F7;
  --text-2: #D0D2D7;
  --text-3: #A0A4AB;
  --text-4: #6B7076;
  --accent: #00D2BE;
  --ink: #F5F6F7;
  --green: #00D2BE;
  --green-bg: rgba(0, 210, 190, 0.12);
  --blue: #3B82F6;
  --blue-bg: rgba(59, 130, 246, 0.12);
  --amber: #F59E0B;
  --amber-bg: rgba(245, 158, 11, 0.12);
}
html[data-theme="dark"],
html[data-theme="dark"] body {
  background: #0A0B0D !important;
  background-color: #0A0B0D !important;
  color: #F5F6F7;
}

/* Geist font site-wide in dark mode */
html[data-theme="dark"] body,
html[data-theme="dark"] button,
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] p,
html[data-theme="dark"] a,
html[data-theme="dark"] li,
html[data-theme="dark"] div,
html[data-theme="dark"] label,
html[data-theme="dark"] h3,
html[data-theme="dark"] h4,
html[data-theme="dark"] h5,
html[data-theme="dark"] h6 {
  font-family: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-feature-settings: 'ss01', 'ss02', 'cv11';
}
html[data-theme="dark"] h1,
html[data-theme="dark"] h2.sec-title {
  font-family: 'Geist', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
}
html[data-theme="dark"] h2.sec-title em,
html[data-theme="dark"] .cta-box h2 em {
  font-style: normal !important;
  font-weight: 800 !important;
  background: linear-gradient(90deg, #00D2BE, #4DE0CE);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent !important;
}
html[data-theme="dark"] .sec-tag,
html[data-theme="dark"] .price-tier,
html[data-theme="dark"] .hero-stat-num,
html[data-theme="dark"] .stat-box-num,
html[data-theme="dark"] .ticker-item,
html[data-theme="dark"] .ret-table td,
html[data-theme="dark"] .step-n,
html[data-theme="dark"] .pain-num,
html[data-theme="dark"] .bar-label,
html[data-theme="dark"] .bar-count,
html[data-theme="dark"] .price-amount,
html[data-theme="dark"] .dpr-price-big,
html[data-theme="dark"] .spec-price {
  font-family: 'Geist Mono', ui-monospace, 'SF Mono', Menlo, monospace !important;
}
html[data-theme="dark"] body { letter-spacing: -0.005em; }

/* Nav — dark */
html[data-theme="dark"] nav {
  background: rgba(10, 11, 13, 0.92) !important;
  border-bottom-color: #2A2D33 !important;
  backdrop-filter: blur(16px);
}
html[data-theme="dark"] .nav-links a { color: #A0A4AB; }
html[data-theme="dark"] .nav-links a:hover { color: #F5F6F7; background: #22252B; }
html[data-theme="dark"] .nav-cta {
  background: #00D2BE !important;
  color: #000 !important;
  box-shadow: 0 0 0 1px #00D2BE, 0 4px 12px rgba(0, 210, 190, 0.35);
}
html[data-theme="dark"] .nav-cta:hover { background: #26D9C4 !important; }
html[data-theme="dark"] .nav-dropdown-menu {
  background: #1A1C20 !important;
  border-color: #2A2D33 !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.5);
}
html[data-theme="dark"] .nav-dropdown-menu a { color: #A0A4AB !important; }
html[data-theme="dark"] .nav-dropdown-menu a:hover { background: #22252B !important; color: #F5F6F7 !important; }
html[data-theme="dark"] .nav-dropdown-label { color: #6B7076; }
html[data-theme="dark"] .hamburger span { background: #F5F6F7; }

/* Buttons — dark */
html[data-theme="dark"] .btn-primary {
  background: #00D2BE !important;
  color: #000 !important;
  box-shadow: 0 0 0 1px #00D2BE, 0 4px 12px rgba(0, 210, 190, 0.35);
}
html[data-theme="dark"] .btn-primary:hover {
  background: #26D9C4 !important;
  box-shadow: 0 0 0 1px #26D9C4, 0 6px 20px rgba(0, 210, 190, 0.45);
  transform: translateY(-1px);
}
html[data-theme="dark"] .btn-secondary {
  background: #1A1C20 !important;
  border-color: #2A2D33 !important;
  color: #F5F6F7 !important;
}
html[data-theme="dark"] .btn-secondary:hover {
  border-color: #00D2BE !important;
  color: #00D2BE !important;
}

/* Pop pricing cards */
html[data-theme="dark"] .price-card.pop {
  background: #00D2BE !important;
  border-color: #00D2BE !important;
  color: #000 !important;
}
html[data-theme="dark"] .price-card.pop .price-tier,
html[data-theme="dark"] .price-card.pop .price-per { color: rgba(0,0,0,0.6) !important; }
html[data-theme="dark"] .price-card.pop .price-type,
html[data-theme="dark"] .price-card.pop .price-amount { color: #000 !important; }
html[data-theme="dark"] .price-card.pop .price-feats li { color: rgba(0,0,0,0.75) !important; }
html[data-theme="dark"] .price-card.pop .feat-dot { background: rgba(0,0,0,0.4) !important; }
html[data-theme="dark"] .price-card.pop .btn-primary {
  background: #000 !important;
  color: #00D2BE !important;
  box-shadow: 0 0 0 1px #000 !important;
}
html[data-theme="dark"] .price-card.pop .btn-primary:hover { background: #111 !important; }

/* Cards + surfaces */
html[data-theme="dark"] .price-card,
html[data-theme="dark"] .dpr-card,
html[data-theme="dark"] .spec-card,
html[data-theme="dark"] .pain-card,
html[data-theme="dark"] .how-step,
html[data-theme="dark"] .stat-box,
html[data-theme="dark"] .test-card {
  background: #1A1C20 !important;
  border-color: #2A2D33 !important;
}
html[data-theme="dark"] .price-card:hover,
html[data-theme="dark"] .dpr-card:hover,
html[data-theme="dark"] .pain-card:hover,
html[data-theme="dark"] .how-step:hover,
html[data-theme="dark"] .test-card:hover {
  border-color: #3A3E46 !important;
  background: #22252B !important;
}
html[data-theme="dark"] .dpr-card.mid { background: #22252B !important; }

/* Section backgrounds */
html[data-theme="dark"] .network,
html[data-theme="dark"] .retainer,
html[data-theme="dark"] .testimonials,
html[data-theme="dark"] [class*="section"][style*="off"] {
  background: #121316 !important;
  border-color: #2A2D33 !important;
}

/* Ticker */
html[data-theme="dark"] .ticker-strip { background: #121316 !important; border-color: #2A2D33 !important; }
html[data-theme="dark"] .ticker-item { color: #A0A4AB; }
html[data-theme="dark"] .ticker-dr { color: #6B7076; }
html[data-theme="dark"] .ticker-sep { color: #3A3E46; }

/* Bars */
html[data-theme="dark"] .bar-track { background: #22252B !important; }
html[data-theme="dark"] .bar-fill { background: #00D2BE !important; }

/* Tables */
html[data-theme="dark"] .ret-table { background: #1A1C20 !important; border-color: #2A2D33 !important; }
html[data-theme="dark"] .ret-table th { background: #22252B !important; color: #A0A4AB; border-color: #2A2D33 !important; }
html[data-theme="dark"] .ret-table td { color: #D0D2D7; border-color: #2A2D33 !important; }
html[data-theme="dark"] .ret-table td:first-child { color: #F5F6F7; }
html[data-theme="dark"] .ret-table tr:hover td { background: #22252B !important; }
html[data-theme="dark"] .ret-table td.bonus { color: #00D2BE !important; }

/* Forms */
html[data-theme="dark"] input[type="text"],
html[data-theme="dark"] input[type="email"],
html[data-theme="dark"] input[type="number"],
html[data-theme="dark"] input[type="search"],
html[data-theme="dark"] select,
html[data-theme="dark"] textarea {
  background: #1A1C20 !important;
  border-color: #2A2D33 !important;
  color: #F5F6F7 !important;
}
html[data-theme="dark"] input:focus,
html[data-theme="dark"] select:focus,
html[data-theme="dark"] textarea:focus { border-color: #00D2BE !important; outline: none; }
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder { color: #6B7076 !important; }
html[data-theme="dark"] label { color: #A0A4AB !important; }

/* Tags */
html[data-theme="dark"] .tag-green { background: rgba(0, 210, 190, 0.12) !important; color: #00D2BE !important; }
html[data-theme="dark"] .tag-blue { background: rgba(59, 130, 246, 0.12) !important; color: #3B82F6 !important; }
html[data-theme="dark"] .tag-amber { background: rgba(245, 158, 11, 0.12) !important; color: #F59E0B !important; }
html[data-theme="dark"] .ck { color: #00D2BE !important; }

/* CTA */
html[data-theme="dark"] .cta-box { background: #121316 !important; border-color: #2A2D33 !important; }
html[data-theme="dark"] .cta-box::before { background: #00D2BE !important; }

/* Footer */
html[data-theme="dark"] footer { background: #0A0B0D !important; border-color: #2A2D33 !important; }
html[data-theme="dark"] .footer-col a { color: #A0A4AB; }
html[data-theme="dark"] .footer-col a:hover { color: #F5F6F7; }
html[data-theme="dark"] .footer-col h4 { color: #6B7076; }
html[data-theme="dark"] .footer-copy,
html[data-theme="dark"] .footer-legal a { color: #6B7076; }
html[data-theme="dark"] .footer-legal a:hover { color: #D0D2D7; }
html[data-theme="dark"] .footer-bottom { border-color: #2A2D33 !important; }

/* Sticky bar */
html[data-theme="dark"] .sticky-bottom { background: rgba(10, 11, 13, 0.95) !important; border-color: #2A2D33 !important; }
html[data-theme="dark"] .sticky-bottom p { color: #A0A4AB; }
html[data-theme="dark"] .sticky-bottom .sticky-cta { background: #00D2BE !important; color: #000 !important; }
html[data-theme="dark"] .sticky-bottom .sticky-cta:hover { background: #26D9C4 !important; }
html[data-theme="dark"] .sticky-bottom .sticky-close:hover { background: #22252B; color: #F5F6F7; }

/* Mobile nav menu */
@media (max-width: 960px) {
  html[data-theme="dark"] .nav-links { background: #121316 !important; border-color: #2A2D33 !important; }
  html[data-theme="dark"] .nav-links li { border-color: #2A2D33 !important; }
  html[data-theme="dark"] .nav-links .nav-cta { background: none !important; color: #F5F6F7 !important; }
}

/* Inline white / light bg catch-all */
html[data-theme="dark"] [style*="background:white"],
html[data-theme="dark"] [style*="background: white"],
html[data-theme="dark"] [style*="background:#fff"],
html[data-theme="dark"] [style*="background: #fff"],
html[data-theme="dark"] [style*="background:#ffffff"],
html[data-theme="dark"] [style*="background: #ffffff"],
html[data-theme="dark"] [style*="background:#FFFFFF"],
html[data-theme="dark"] [style*="background: #FFFFFF"] {
  background: #1A1C20 !important;
}
html[data-theme="dark"] [style*="color:#444"],
html[data-theme="dark"] [style*="color: #444"] { color: #D0D2D7 !important; }
html[data-theme="dark"] [style*="color:#888"],
html[data-theme="dark"] [style*="color: #888"] { color: #6B7076 !important; }
html[data-theme="dark"] [style*="border:1px solid rgba(0,0,0,0.08)"],
html[data-theme="dark"] [style*="border-top:1px solid rgba(0,0,0,0.08)"] { border-color: #2A2D33 !important; }

/* ──────────────────────────────────────────────────────────────────
   DARK MODE — inline-style tables & widgets
   Every page bundles its own <style> block with hardcoded #fff / var(--ink)
   table backgrounds that resolve to white-on-white in dark mode.
   Catch them all here rather than patching every file.
   ────────────────────────────────────────────────────────────────── */

/* Generic table wrappers — retainer, comparison, pricing, volume, margin, lang, ai-platform, bonus-embed */
html[data-theme="dark"] .retainer-table,
html[data-theme="dark"] .compare-table,
html[data-theme="dark"] .comparison-table,
html[data-theme="dark"] .pricing-table,
html[data-theme="dark"] .margin-table,
html[data-theme="dark"] .volume-table,
html[data-theme="dark"] .lang-table,
html[data-theme="dark"] .ai-platform-table,
html[data-theme="dark"] .bonus-embed table,
html[data-theme="dark"] .table-wrap table,
html[data-theme="dark"] .be-table-wrap table {
  background: #1A1C20 !important;
  color: #F5F6F7 !important;
  border-color: #2A2D33 !important;
}
html[data-theme="dark"] .retainer-table-wrap,
html[data-theme="dark"] .be-table-wrap,
html[data-theme="dark"] .table-wrap {
  border-color: #2A2D33 !important;
}

/* Table headers (many use var(--ink) which is #F5F6F7 in dark = white-on-white) */
html[data-theme="dark"] .retainer-table thead tr,
html[data-theme="dark"] .retainer-table thead th,
html[data-theme="dark"] .compare-table th,
html[data-theme="dark"] .compare-table thead th,
html[data-theme="dark"] .comparison-table th,
html[data-theme="dark"] .pricing-table thead th,
html[data-theme="dark"] .margin-table thead th,
html[data-theme="dark"] .volume-table thead th,
html[data-theme="dark"] .lang-table th,
html[data-theme="dark"] .ai-platform-table th,
html[data-theme="dark"] .bonus-embed th,
html[data-theme="dark"] .table-wrap th {
  background: #0F1114 !important;
  color: #F5F6F7 !important;
  border-color: #2A2D33 !important;
}

/* Table body cells */
html[data-theme="dark"] .retainer-table td,
html[data-theme="dark"] .compare-table td,
html[data-theme="dark"] .comparison-table td,
html[data-theme="dark"] .pricing-table td,
html[data-theme="dark"] .margin-table td,
html[data-theme="dark"] .volume-table td,
html[data-theme="dark"] .lang-table td,
html[data-theme="dark"] .ai-platform-table td,
html[data-theme="dark"] .bonus-embed td,
html[data-theme="dark"] .table-wrap td {
  color: #D0D2D7 !important;
  border-color: #2A2D33 !important;
  background: transparent !important;
}
html[data-theme="dark"] .retainer-table td:first-child,
html[data-theme="dark"] .compare-table td:first-child,
html[data-theme="dark"] .comparison-table td:first-child,
html[data-theme="dark"] .pricing-table td:first-child,
html[data-theme="dark"] .ai-platform-table td:first-child { color: #F5F6F7 !important; }

/* Alternating rows — override hardcoded #fff / #F7F6F3 / var(--off) */
html[data-theme="dark"] .retainer-table tbody tr:nth-child(odd),
html[data-theme="dark"] .retainer-table tbody tr:nth-child(odd) td,
html[data-theme="dark"] .retainer-table tbody tr:nth-child(even),
html[data-theme="dark"] .retainer-table tbody tr:nth-child(even) td,
html[data-theme="dark"] .bonus-embed tbody tr:nth-child(odd),
html[data-theme="dark"] .bonus-embed tbody tr:nth-child(odd) td,
html[data-theme="dark"] .bonus-embed tbody tr:nth-child(even),
html[data-theme="dark"] .bonus-embed tbody tr:nth-child(even) td,
html[data-theme="dark"] .table-wrap tbody tr:nth-child(odd),
html[data-theme="dark"] .table-wrap tbody tr:nth-child(odd) td,
html[data-theme="dark"] .table-wrap tbody tr:nth-child(even),
html[data-theme="dark"] .table-wrap tbody tr:nth-child(even) td {
  background: #1A1C20 !important;
}
html[data-theme="dark"] .retainer-table tbody tr:nth-child(even),
html[data-theme="dark"] .retainer-table tbody tr:nth-child(even) td,
html[data-theme="dark"] .bonus-embed tbody tr:nth-child(even),
html[data-theme="dark"] .bonus-embed tbody tr:nth-child(even) td,
html[data-theme="dark"] .table-wrap tbody tr:nth-child(even),
html[data-theme="dark"] .table-wrap tbody tr:nth-child(even) td { background: #22252B !important; }

/* Table hover */
html[data-theme="dark"] .retainer-table tbody tr:hover td,
html[data-theme="dark"] .compare-table tbody tr:hover td,
html[data-theme="dark"] .comparison-table tr:hover td,
html[data-theme="dark"] .pricing-table tbody tr:hover td,
html[data-theme="dark"] .margin-table tbody tr:hover td,
html[data-theme="dark"] .volume-table tbody tr:hover td,
html[data-theme="dark"] .lang-table tr:hover td,
html[data-theme="dark"] .ai-platform-table tr:hover td,
html[data-theme="dark"] .bonus-embed tr:hover td {
  background: #2A2D33 !important;
}

/* Inline styles using CSS vars whose fallbacks are light */
html[data-theme="dark"] [style*="background:var(--off"],
html[data-theme="dark"] [style*="background: var(--off"],
html[data-theme="dark"] [style*="background:var(--white"],
html[data-theme="dark"] [style*="background: var(--white"] {
  background: #1A1C20 !important;
}
html[data-theme="dark"] [style*="background:var(--ink"],
html[data-theme="dark"] [style*="background: var(--ink"] {
  background: #0F1114 !important;
}
html[data-theme="dark"] [style*="color:var(--ink"],
html[data-theme="dark"] [style*="color: var(--ink"] { color: #F5F6F7 !important; }

/* btn-primary with inline style="background:white;color:var(--ink)" — keep accent */
html[data-theme="dark"] a.btn-primary[style*="background:white"],
html[data-theme="dark"] a.btn-primary[style*="background: white"] {
  background: #00D2BE !important;
  color: #000 !important;
}
html[data-theme="dark"] a.btn-primary[style*="background:white"]:hover,
html[data-theme="dark"] a.btn-primary[style*="background: white"]:hover {
  background: #26D9C4 !important;
  color: #000 !important;
}

/* .price-card.pop still gets white-bg buttons — keep them black-on-teal */
html[data-theme="dark"] .price-card.pop a.btn-primary[style*="background:white"],
html[data-theme="dark"] .price-card.pop a.btn-primary[style*="background: white"] {
  background: #000 !important;
  color: #00D2BE !important;
}

/* Bonus embed badges & toggles */
html[data-theme="dark"] .bonus-embed .be-badge { background: rgba(245, 158, 11, 0.14) !important; color: #F59E0B !important; }
html[data-theme="dark"] .bonus-embed .be-toggle-inner { background: #1A1C20 !important; border-color: #2A2D33 !important; }
html[data-theme="dark"] .bonus-embed .be-toggle { color: #A0A4AB !important; }
html[data-theme="dark"] .bonus-embed .be-toggle.active { background: #00D2BE !important; color: #000 !important; }

/* Demo form fields on API / calc pages */
html[data-theme="dark"] .demo-field select,
html[data-theme="dark"] .demo-field input {
  background: #1A1C20 !important;
  border-color: #2A2D33 !important;
  color: #F5F6F7 !important;
}
html[data-theme="dark"] .demo-field select:focus,
html[data-theme="dark"] .demo-field input:focus { border-color: #00D2BE !important; box-shadow: 0 0 0 3px rgba(0,210,190,0.15) !important; }
html[data-theme="dark"] .demo-field label { color: #A0A4AB !important; }

/* Hero badges with inline var(--off) bg */
html[data-theme="dark"] .hero-badge,
html[data-theme="dark"] .badge,
html[data-theme="dark"] .country-tag {
  background: #1A1C20 !important;
  border-color: #2A2D33 !important;
  color: #D0D2D7 !important;
}

/* Proof slide (logo strip) */
html[data-theme="dark"] .proof-slide {
  background: #1A1C20 !important;
  border-color: #2A2D33 !important;
}

/* Dark header color swap — compare/comparison first-col tinted highlights */
html[data-theme="dark"] .compare-table .highlight-col { background: rgba(0, 210, 190, 0.08) !important; }
html[data-theme="dark"] .compare-table .check,
html[data-theme="dark"] .pricing-table .margin-col,
html[data-theme="dark"] .margin-table .margin-highlight { color: #00D2BE !important; }

/* Residual #444 / #666 / #888 color leaks */
html[data-theme="dark"] [style*="color:#666"],
html[data-theme="dark"] [style*="color: #666"] { color: #A0A4AB !important; }
html[data-theme="dark"] [style*="color:#0d0d0d"],
html[data-theme="dark"] [style*="color: #0d0d0d"],
html[data-theme="dark"] [style*="color:#0F0E0C"],
html[data-theme="dark"] [style*="color: #0F0E0C"],
html[data-theme="dark"] [style*="color:#1a1a1a"],
html[data-theme="dark"] [style*="color: #1a1a1a"] { color: #F5F6F7 !important; }

/* Catch-all for style="background-color:..." variants */
html[data-theme="dark"] [style*="background-color:white"],
html[data-theme="dark"] [style*="background-color: white"],
html[data-theme="dark"] [style*="background-color:#fff"],
html[data-theme="dark"] [style*="background-color: #fff"],
html[data-theme="dark"] [style*="background-color:#ffffff"],
html[data-theme="dark"] [style*="background-color: #ffffff"] { background-color: #1A1C20 !important; }

/* ──────────────────────────────────────────────────────────────────
   LIGHT MODE — soft off-white with teal accents
   ────────────────────────────────────────────────────────────────── */
html[data-theme="light"] {
  color-scheme: light;
  --accent: #00A896;
  --accent-hover: #00B8A6;
}
html[data-theme="light"],
html[data-theme="light"] body {
  background: #F7F6F3 !important;
  background-color: #F7F6F3 !important;
  color: #0F0E0C !important;
}

/* Geist font in light mode too */
html[data-theme="light"] body,
html[data-theme="light"] button,
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea,
html[data-theme="light"] p,
html[data-theme="light"] a,
html[data-theme="light"] li,
html[data-theme="light"] div,
html[data-theme="light"] label,
html[data-theme="light"] h3,
html[data-theme="light"] h4,
html[data-theme="light"] h5,
html[data-theme="light"] h6 {
  font-family: 'Geist', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
  font-feature-settings: 'ss01', 'ss02', 'cv11';
}
html[data-theme="light"] h1,
html[data-theme="light"] h2.sec-title {
  font-family: 'Geist', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  color: #0F0E0C !important;
}
html[data-theme="light"] h2.sec-title em,
html[data-theme="light"] .cta-box h2 em {
  font-style: normal !important;
  font-weight: 800 !important;
  background: linear-gradient(90deg, #00A896, #00D2BE) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}
html[data-theme="light"] .sec-tag,
html[data-theme="light"] .price-tier,
html[data-theme="light"] .hero-stat-num,
html[data-theme="light"] .stat-box-num,
html[data-theme="light"] .ticker-item,
html[data-theme="light"] .ret-table td,
html[data-theme="light"] .step-n,
html[data-theme="light"] .pain-num,
html[data-theme="light"] .bar-label,
html[data-theme="light"] .bar-count,
html[data-theme="light"] .price-amount,
html[data-theme="light"] .dpr-price-big,
html[data-theme="light"] .spec-price {
  font-family: 'Geist Mono', ui-monospace, 'SF Mono', Menlo, monospace !important;
}

/* Nav — light */
html[data-theme="light"] nav {
  background: rgba(255, 255, 255, 0.92) !important;
  border-bottom-color: #E8E5DF !important;
  backdrop-filter: blur(16px);
}
html[data-theme="light"] .nav-links a { color: #3D3B36 !important; }
html[data-theme="light"] .nav-links a:hover { color: #0F0E0C !important; background: #F0EEE9 !important; }
html[data-theme="light"] .nav-cta {
  background: #00A896 !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 0 1px #00A896, 0 4px 12px rgba(0, 168, 150, 0.25);
}
html[data-theme="light"] .nav-cta:hover { background: #00B8A6 !important; }
html[data-theme="light"] .nav-dropdown-menu {
  background: #FFFFFF !important;
  border-color: #E8E5DF !important;
  box-shadow: 0 12px 40px rgba(0,0,0,0.08) !important;
}
html[data-theme="light"] .nav-dropdown-menu a { color: #3D3B36 !important; }
html[data-theme="light"] .nav-dropdown-menu a:hover { background: #F0EEE9 !important; color: #0F0E0C !important; }
html[data-theme="light"] .nav-dropdown-label { color: #767269 !important; }
html[data-theme="light"] .hamburger span { background: #0F0E0C !important; }

/* Buttons — light */
html[data-theme="light"] .btn-primary {
  background: #00A896 !important;
  color: #FFFFFF !important;
  box-shadow: 0 0 0 1px #00A896, 0 4px 12px rgba(0, 168, 150, 0.25);
}
html[data-theme="light"] .btn-primary:hover {
  background: #00B8A6 !important;
  box-shadow: 0 0 0 1px #00B8A6, 0 6px 20px rgba(0, 168, 150, 0.35);
}
html[data-theme="light"] .btn-secondary {
  background: #FFFFFF !important;
  border-color: #D4D0C8 !important;
  color: #0F0E0C !important;
}
html[data-theme="light"] .btn-secondary:hover {
  border-color: #00A896 !important;
  color: #00A896 !important;
}

/* Pop pricing — light */
html[data-theme="light"] .price-card.pop {
  background: #00A896 !important;
  border-color: #00A896 !important;
  color: #FFFFFF !important;
}
html[data-theme="light"] .price-card.pop .price-tier,
html[data-theme="light"] .price-card.pop .price-per { color: rgba(255,255,255,0.75) !important; }
html[data-theme="light"] .price-card.pop .price-type,
html[data-theme="light"] .price-card.pop .price-amount { color: #FFFFFF !important; }

/* Cards — light */
html[data-theme="light"] .price-card,
html[data-theme="light"] .dpr-card,
html[data-theme="light"] .spec-card,
html[data-theme="light"] .pain-card,
html[data-theme="light"] .how-step,
html[data-theme="light"] .stat-box,
html[data-theme="light"] .test-card {
  background: #FFFFFF !important;
  border-color: #E8E5DF !important;
}
html[data-theme="light"] .price-card:hover,
html[data-theme="light"] .dpr-card:hover,
html[data-theme="light"] .pain-card:hover,
html[data-theme="light"] .how-step:hover,
html[data-theme="light"] .test-card:hover {
  border-color: #00A896 !important;
  box-shadow: 0 12px 32px rgba(0, 168, 150, 0.10) !important;
}

/* Sections — light alternate */
html[data-theme="light"] .network,
html[data-theme="light"] .retainer,
html[data-theme="light"] .testimonials {
  background: #FFFFFF !important;
  border-color: #E8E5DF !important;
}

/* Ticker — light */
html[data-theme="light"] .ticker-strip { background: #FFFFFF !important; border-color: #E8E5DF !important; }
html[data-theme="light"] .ticker-item { color: #3D3B36 !important; }
html[data-theme="light"] .ticker-dr { color: #767269 !important; }
html[data-theme="light"] .ticker-sep { color: #D4D0C8 !important; }

/* Bars — light */
html[data-theme="light"] .bar-track { background: #F0EEE9 !important; }
html[data-theme="light"] .bar-fill { background: #00A896 !important; }

/* Tables — light */
html[data-theme="light"] .ret-table { background: #FFFFFF !important; border-color: #E8E5DF !important; }
html[data-theme="light"] .ret-table th { background: #F7F6F3 !important; color: #767269 !important; border-color: #E8E5DF !important; }
html[data-theme="light"] .ret-table td { color: #3D3B36 !important; border-color: #E8E5DF !important; }
html[data-theme="light"] .ret-table td.bonus { color: #00A896 !important; }

/* Forms — light */
html[data-theme="light"] input,
html[data-theme="light"] select,
html[data-theme="light"] textarea {
  background: #FFFFFF !important;
  border-color: #D4D0C8 !important;
  color: #0F0E0C !important;
}
html[data-theme="light"] input:focus,
html[data-theme="light"] select:focus,
html[data-theme="light"] textarea:focus { border-color: #00A896 !important; }
html[data-theme="light"] input::placeholder { color: #767269 !important; }
html[data-theme="light"] label { color: #767269 !important; }

/* Tags — light */
html[data-theme="light"] .tag-green { background: rgba(0, 168, 150, 0.10) !important; color: #00A896 !important; }
html[data-theme="light"] .ck { color: #00A896 !important; }

/* CTA — light */
html[data-theme="light"] .cta-box { background: #FFFFFF !important; border-color: #E8E5DF !important; }
html[data-theme="light"] .cta-box::before { background: #00A896 !important; }

/* Footer — light */
html[data-theme="light"] footer { background: #F0EEE9 !important; border-color: #E8E5DF !important; }
html[data-theme="light"] .footer-col a { color: #5C5951 !important; }
html[data-theme="light"] .footer-col a:hover { color: #0F0E0C !important; }
html[data-theme="light"] .footer-col h4 { color: #767269 !important; }
html[data-theme="light"] .footer-copy,
html[data-theme="light"] .footer-legal a { color: #767269 !important; }

/* Sticky bar — light */
html[data-theme="light"] .sticky-bottom { background: rgba(255, 255, 255, 0.96) !important; border-color: #E8E5DF !important; }
html[data-theme="light"] .sticky-bottom .sticky-cta { background: #00A896 !important; color: #FFFFFF !important; }

/* ──────────────────────────────────────────────────────────────────
   FOOTER RESPONSIVENESS (both modes)
   ────────────────────────────────────────────────────────────────── */
@media (max-width: 960px) {
  footer .footer-grid,
  footer .footer-grid[style] {
    grid-template-columns: 1fr 1fr !important;
    gap: 32px !important;
  }
  footer .footer-brand { grid-column: 1 / -1; }
  .footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
  }
  .footer-bottom > div {
    text-align: left !important;
    margin-top: 0 !important;
  }
}
@media (max-width: 600px) {
  footer .footer-grid,
  footer .footer-grid[style] {
    grid-template-columns: 1fr !important;
    gap: 24px !important;
  }
  footer .footer-brand { grid-column: auto; }
}

/* ──────────────────────────────────────────────────────────────────
   SENJA WIDGET — dark/light scoped
   ────────────────────────────────────────────────────────────────── */
html[data-theme="dark"] .senja-embed,
html[data-theme="dark"] .senja-embed * { color: #F5F6F7 !important; }
.senja-embed svg[class*="star"],
.senja-embed [class*="star"] svg,
.senja-embed svg[data-icon="star"] { fill: #FBBF24 !important; }
.senja-embed,
.senja-embed > div[class*="container"],
.senja-embed > div[class*="wrapper"] {
  background: transparent !important;
  background-color: transparent !important;
}
/* Dark: bubble cards */
html[data-theme="dark"] .senja-embed [class*="card"],
html[data-theme="dark"] .senja-embed [class*="tile"],
html[data-theme="dark"] .senja-embed article,
html[data-theme="dark"] .senja-embed [role="article"],
html[data-theme="dark"] .senja-embed [class*="slide"] > div {
  background: #1A1C20 !important;
  background-color: #1A1C20 !important;
  color: #F5F6F7 !important;
  border-color: #2A2D33 !important;
}
html[data-theme="dark"] .senja-embed [class*="masked-overflow"],
html[data-theme="dark"] .senja-embed [class*="overflow"] {
  background: transparent !important;
}
/* Light: bubble cards white, readable text */
html[data-theme="light"] .senja-embed [class*="card"],
html[data-theme="light"] .senja-embed [class*="tile"],
html[data-theme="light"] .senja-embed article,
html[data-theme="light"] .senja-embed [role="article"],
html[data-theme="light"] .senja-embed [class*="slide"] > div {
  background: #FFFFFF !important;
  color: #0F0E0C !important;
  border: 1px solid #E8E5DF !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.05) !important;
}
html[data-theme="light"] .senja-embed .masked-overflow,
html[data-theme="light"] .senja-embed [class*="masked-overflow"],
html[data-theme="light"] .senja-embed [class*="overflow"] {
  background: transparent !important;
  background-color: transparent !important;
}
html[data-theme="light"] .senja-embed [style*="background-color: rgb(26"],
html[data-theme="light"] .senja-embed [style*="background-color:rgb(26"] {
  background: transparent !important;
  background-color: transparent !important;
}
.senja-embed img { opacity: 1 !important; filter: none !important; }

/* ──────────────────────────────────────────────────────────────────
   LOGO — JS handles swap via theme-toggle.js
   Filter fallback: invert the dark logo if someone loads the wrong variant
   ────────────────────────────────────────────────────────────────── */
html[data-theme="dark"] .logo img[src*="logo.png"]:not([src*="logo-white"]) {
  filter: brightness(0) invert(1) brightness(0.95);
}

/* ──────────────────────────────────────────────────────────────────
   THEME TOGGLE BUTTON
   ────────────────────────────────────────────────────────────────── */
/* Mobile toggle: hidden on desktop, shown on mobile next to hamburger */
.theme-toggle-mobile { display: none !important; }
@media (max-width: 960px) {
  .theme-toggle-mobile { display: inline-flex !important; margin-right: 8px; }
  .nav-links .theme-toggle-btn:not(.theme-toggle-mobile) { display: none !important; }
}
.theme-toggle-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid var(--border-dark, #D4D0C8);
  background: transparent;
  border-radius: 8px;
  cursor: pointer;
  padding: 0;
  margin-right: 4px;
  transition: all 0.2s ease;
  color: inherit;
}
html[data-theme="dark"] .theme-toggle-btn {
  border-color: #2A2D33;
  color: #F5F6F7;
}
html[data-theme="dark"] .theme-toggle-btn:hover {
  border-color: #00D2BE;
  background: rgba(0, 210, 190, 0.08);
  color: #00D2BE;
}
html[data-theme="light"] .theme-toggle-btn {
  border-color: #D4D0C8;
  color: #0F0E0C;
}
html[data-theme="light"] .theme-toggle-btn:hover {
  border-color: #00A896;
  background: rgba(0, 168, 150, 0.06);
  color: #00A896;
}
.theme-toggle-btn svg { width: 16px; height: 16px; display: block; }
.theme-toggle-btn .sun-icon { display: none; }
html[data-theme="dark"] .theme-toggle-btn .sun-icon { display: block; }
html[data-theme="dark"] .theme-toggle-btn .moon-icon { display: none; }

/* ──────────────────────────────────────────────────────────────────
   DRAFT MODE FLOATING LABEL
   ────────────────────────────────────────────────────────────────── */
.draft-mode-label {
  position: fixed;
  bottom: 16px;
  left: 16px;
  z-index: 9999;
  font-family: 'Geist Mono', 'DM Mono', monospace;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  padding: 6px 12px;
  border-radius: 6px;
  pointer-events: none;
}
html[data-theme="dark"] .draft-mode-label {
  background: rgba(0, 210, 190, 0.12);
  border: 1px solid rgba(0, 210, 190, 0.3);
  color: #00D2BE;
}
html[data-theme="light"] .draft-mode-label {
  background: rgba(0, 168, 150, 0.08);
  border: 1px solid rgba(0, 168, 150, 0.3);
  color: #00A896;
}

/* ──────────────────────────────────────────────────────────────────
   UNIFIED HERO — matches /dark-preview.html
   Centered Geist bold h1, teal-gradient <em> accent (no italic),
   full-width image below, hero-stats bar. Dark + light modes.
   ────────────────────────────────────────────────────────────────── */
html[data-theme] .hero {
  padding: 90px 0 48px !important;
  border-bottom: 1px solid;
  position: relative;
  overflow: hidden;
}
html[data-theme="dark"] .hero { border-bottom-color: #2A2D33; }
html[data-theme="light"] .hero { border-bottom-color: #E8E5DF; }

/* Center the hero's text column */
html[data-theme] .hero > .container > div:first-child {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  max-width: 820px;
  margin: 0 auto;
}

/* Agencies badge — small dot pill above h1 */
html[data-theme] .agencies-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  padding: 5px 11px !important;
  border-radius: 100px !important;
  margin-bottom: 20px !important;
  border: 1px solid !important;
  font-family: 'Geist', sans-serif !important;
}
html[data-theme="dark"] .agencies-badge { color: #A0A4AB !important; background: #1A1C20 !important; border-color: #3A3E46 !important; }
html[data-theme="light"] .agencies-badge { color: #767269 !important; background: #FFFFFF !important; border-color: #D4D0C8 !important; }
html[data-theme] .agencies-badge::before {
  content: '';
  width: 5px; height: 5px;
  background: #00D2BE;
  border-radius: 50%;
}
html[data-theme="light"] .agencies-badge::before { background: #00A896; }

/* Hero label (line + uppercase text) */
html[data-theme] .hero-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  margin-bottom: 28px !important;
  font-family: 'Geist', sans-serif !important;
}
html[data-theme="dark"] .hero-label { color: #A0A4AB !important; }
html[data-theme="light"] .hero-label { color: #767269 !important; }
html[data-theme] .hero-label-line {
  display: inline-block !important;
  width: 24px !important;
  height: 1px !important;
  background: #00D2BE !important;
}

/* Bold Geist h1 — matches dark-preview */
html[data-theme] .hero h1,
html[data-theme="dark"] .hero h1,
html[data-theme="light"] .hero h1 {
  font-family: 'Geist', -apple-system, BlinkMacSystemFont, sans-serif !important;
  font-size: clamp(38px, 5vw, 72px) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.03em !important;
  max-width: 820px !important;
  margin: 0 auto 16px !important;
}
html[data-theme="dark"] .hero h1 { color: #F5F6F7 !important; }
html[data-theme="light"] .hero h1 { color: #0F0E0C !important; }

/* Teal gradient em — NO italic. IMPORTANT: background-clip rules must come
   AFTER the background rule or the gradient shows as a solid block. */
html[data-theme] .hero h1 em,
html[data-theme="dark"] .hero h1 em {
  font-style: normal !important;
  font-weight: 800 !important;
  background-image: linear-gradient(90deg, #00D2BE, #4DE0CE) !important;
  background-color: transparent !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}
html[data-theme="light"] .hero h1 em {
  font-style: normal !important;
  font-weight: 800 !important;
  background-image: linear-gradient(90deg, #00A896, #00D2BE) !important;
  background-color: transparent !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* Hide the typing-rotate artefacts if any remain */
html[data-theme] .hero h1 .typed-spacer { display: none !important; }
html[data-theme] .hero h1 .typed-text { border-right: none !important; animation: none !important; }

html[data-theme] .hero-sub {
  font-size: 17px !important;
  line-height: 1.65 !important;
  max-width: 620px !important;
  margin: 0 auto 24px !important;
  font-weight: 400 !important;
  font-family: 'Geist', sans-serif !important;
  text-align: center;
}
html[data-theme="dark"] .hero-sub { color: #A0A4AB !important; }
html[data-theme="light"] .hero-sub { color: #3D3B36 !important; }

html[data-theme] .hero-actions {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  margin: 0 auto 0 !important;
}

/* Image below hero — full width, bordered card */
html[data-theme] .hero-image-below,
html[data-theme] .hero > .container > div.reveal[style*="border-radius"] {
  margin: 32px auto 0 !important;
  max-width: 1440px !important;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid;
}

/* Senja embed inside hero — keep it compact */
html[data-theme] .hero .hero-center .reveal .senja-embed,
html[data-theme] .hero .hero-center > .reveal:has(.senja-embed) {
  min-height: 0 !important;
}
html[data-theme] .hero .hero-center > .reveal.reveal-d5 {
  margin: 16px 0 0 !important;
  min-height: 0 !important;
}
html[data-theme] .hero .hero-center > .reveal.reveal-d5 .senja-embed {
  min-height: 0 !important;
}
html[data-theme="dark"] .hero-image-below,
html[data-theme="dark"] .hero > .container > div.reveal[style*="border-radius"] {
  border-color: #2A2D33 !important;
  box-shadow: 0 30px 80px rgba(0,0,0,0.55), 0 0 60px rgba(0, 210, 190, 0.12) !important;
}
html[data-theme="light"] .hero-image-below,
html[data-theme="light"] .hero > .container > div.reveal[style*="border-radius"] {
  border-color: #E8E5DF !important;
  box-shadow: 0 20px 60px rgba(0,0,0,0.10) !important;
}

/* Hero stats bar — centered below image */
html[data-theme] .hero-stats {
  display: flex;
  align-items: stretch;
  gap: 0;
  border: 1px solid;
  border-radius: 14px;
  overflow: hidden;
  width: fit-content;
  margin: 48px auto 0 !important;
}
html[data-theme="dark"] .hero-stats { background: #121316; border-color: #2A2D33; }
html[data-theme="light"] .hero-stats { background: #FFFFFF; border-color: #E8E5DF; }
html[data-theme] .hero-stat { padding: 20px 28px; border-right: 1px solid; }
html[data-theme="dark"] .hero-stat { border-right-color: #2A2D33; }
html[data-theme="light"] .hero-stat { border-right-color: #E8E5DF; }
html[data-theme] .hero-stat:last-child { border-right: none; }
html[data-theme] .hero-stat-num {
  font-family: 'Geist Mono', ui-monospace, 'SF Mono', monospace !important;
  font-size: 22px;
  font-weight: 500;
  line-height: 1;
  margin-bottom: 4px;
  letter-spacing: -0.02em;
}
html[data-theme="dark"] .hero-stat-num { color: #F5F6F7; }
html[data-theme="light"] .hero-stat-num { color: #0F0E0C; }
html[data-theme] .hero-stat-label { font-size: 12px; font-weight: 500; letter-spacing: 0.02em; }
html[data-theme="dark"] .hero-stat-label { color: #6B7076; }
html[data-theme="light"] .hero-stat-label { color: #767269; }

/* Mobile: ease hero, stack stats */
@media (max-width: 768px) {
  html[data-theme] .hero { padding: 80px 0 40px !important; }
  html[data-theme] .hero h1 { font-size: clamp(32px, 8vw, 44px) !important; }
  html[data-theme] .hero-stats { flex-wrap: wrap; }
  html[data-theme] .hero-stat { border-right: none; border-bottom: 1px solid; }
  html[data-theme="dark"] .hero-stat { border-bottom-color: #2A2D33; }
  html[data-theme="light"] .hero-stat { border-bottom-color: #E8E5DF; }
  html[data-theme] .hero-stat:last-child { border-bottom: none; }
  html[data-theme] .hero .container > div[style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }
}

/* ──────────────────────────────────────────────────────────────────
   WHITE-CARD CATCH-ALLS — about page team/values, form inputs
   ────────────────────────────────────────────────────────────────── */
html[data-theme="dark"] .team-card,
html[data-theme="dark"] .value-card,
html[data-theme="dark"] .package-card,
html[data-theme="dark"] .case-card,
html[data-theme="dark"] .testimonial-card,
html[data-theme="dark"] .feature-card,
html[data-theme="dark"] .why-card,
html[data-theme="dark"] .result-card,
html[data-theme="dark"] .metric-card,
html[data-theme="dark"] .step-card,
html[data-theme="dark"] .benefit-card,
html[data-theme="dark"] .pillar-card,
html[data-theme="dark"] .faq-item,
html[data-theme="dark"] .path-card,
html[data-theme="dark"] .guarantee-card-lg,
html[data-theme="dark"] .guarantee-card,
html[data-theme="dark"] .tl-step,
html[data-theme="dark"] .tl-card,
html[data-theme="dark"] .timeline-step,
html[data-theme="dark"] .timeline-card,
html[data-theme="dark"] .info-card,
html[data-theme="dark"] .compare-card,
html[data-theme="dark"] .opt-card,
html[data-theme="dark"] .option-card {
  background: #1A1C20 !important;
  border-color: #2A2D33 !important;
  color: #F5F6F7;
}
html[data-theme="dark"] .path-card h3,
html[data-theme="dark"] .guarantee-card-lg h3,
html[data-theme="dark"] .guarantee-card h3,
html[data-theme="dark"] .tl-step h3,
html[data-theme="dark"] .tl-step h4 { color: #F5F6F7 !important; }
html[data-theme="dark"] .path-card p,
html[data-theme="dark"] .guarantee-card-lg p,
html[data-theme="dark"] .guarantee-card p,
html[data-theme="dark"] .tl-step p { color: #A0A4AB !important; }
html[data-theme="dark"] .path-card ul li,
html[data-theme="dark"] .path-card .check-list li { color: #D0D2D7 !important; }
html[data-theme="dark"] .guarantee-card-lg .gc-icon,
html[data-theme="dark"] .guarantee-card .gc-icon {
  background: rgba(0, 210, 190, 0.10) !important;
  color: #00D2BE !important;
}
html[data-theme="dark"] .team-card h3,
html[data-theme="dark"] .value-card h3,
html[data-theme="dark"] .feature-card h3,
html[data-theme="dark"] .why-card h3 { color: #F5F6F7 !important; }
html[data-theme="dark"] .team-card .team-role,
html[data-theme="dark"] .team-role,
html[data-theme="dark"] .value-card p { color: #A0A4AB !important; }
html[data-theme="dark"] .team-card:hover,
html[data-theme="dark"] .value-card:hover,
html[data-theme="dark"] .package-card:hover { background: #22252B !important; border-color: #3A3E46 !important; }
html[data-theme="dark"] .team-avatar {
  background: #22252B !important;
  border-color: #3A3E46 !important;
  color: #D0D2D7 !important;
}

/* Form fields that have hardcoded background:#FAFAF8 / background-color:#fff */
html[data-theme="dark"] [style*="background:#FAFAF8"],
html[data-theme="dark"] [style*="background: #FAFAF8"],
html[data-theme="dark"] [style*="background-color:#FAFAF8"],
html[data-theme="dark"] [style*="background-color: #FAFAF8"],
html[data-theme="dark"] [style*="background:#F9FAFB"],
html[data-theme="dark"] [style*="background: #F9FAFB"] {
  background: #1A1C20 !important;
  background-color: #1A1C20 !important;
}
html[data-theme="dark"] input,
html[data-theme="dark"] textarea,
html[data-theme="dark"] select {
  background: #1A1C20 !important;
  background-color: #1A1C20 !important;
  border-color: #2A2D33 !important;
  color: #F5F6F7 !important;
}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder { color: #6B7076 !important; }

/* ──────────────────────────────────────────────────────────────────
   LANGUAGE SELECTOR — nav dropdown, dark + light, mobile friendly
   ────────────────────────────────────────────────────────────────── */
html[data-theme] .lang-selector { position: relative; }
html[data-theme] .lang-selector-btn {
  display: inline-flex; align-items: center; gap: 6px;
  height: 34px; padding: 0 10px;
  font-family: 'Geist', sans-serif !important;
  font-size: 13px; font-weight: 500;
  border: 1px solid;
  border-radius: 8px;
  background: transparent;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s, color 0.15s;
}
html[data-theme="dark"] .lang-selector-btn { color: #D0D2D7; border-color: #2A2D33; }
html[data-theme="dark"] .lang-selector-btn:hover { border-color: #00D2BE; color: #00D2BE; background: rgba(0,210,190,0.06); }
html[data-theme="light"] .lang-selector-btn { color: #3D3B36; border-color: #D4D0C8; }
html[data-theme="light"] .lang-selector-btn:hover { border-color: #00A896; color: #00A896; background: rgba(0,168,150,0.05); }
html[data-theme] .lang-selector-btn .lang-chev { margin-left: 2px; transition: transform 0.15s; }
html[data-theme] .lang-selector.open .lang-selector-btn .lang-chev { transform: rotate(180deg); }
html[data-theme] .lang-selector-menu {
  position: absolute; top: calc(100% + 8px); right: 0;
  min-width: 200px;
  border: 1px solid;
  border-radius: 12px;
  padding: 6px;
  display: none;
  z-index: 100;
}
html[data-theme] .lang-selector.open .lang-selector-menu { display: block; }
html[data-theme="dark"] .lang-selector-menu {
  background: #1A1C20;
  border-color: #2A2D33;
  box-shadow: 0 16px 40px rgba(0,0,0,0.55);
}
html[data-theme="light"] .lang-selector-menu {
  background: #FFFFFF;
  border-color: #E8E5DF;
  box-shadow: 0 16px 40px rgba(0,0,0,0.10);
}
html[data-theme] .lang-selector-opt {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 12px;
  font-size: 13.5px;
  font-family: 'Geist', sans-serif !important;
  font-weight: 500;
  text-decoration: none;
  border-radius: 8px;
}
html[data-theme="dark"] .lang-selector-opt { color: #D0D2D7; }
html[data-theme="dark"] .lang-selector-opt:hover { background: #22252B; color: #F5F6F7; }
html[data-theme="dark"] .lang-selector-opt[aria-current="true"] { background: #22252B; color: #00D2BE; }
html[data-theme="light"] .lang-selector-opt { color: #3D3B36; }
html[data-theme="light"] .lang-selector-opt:hover { background: #F0EEE9; color: #0F0E0C; }
html[data-theme="light"] .lang-selector-opt[aria-current="true"] { background: #F0EEE9; color: #00A896; }
html[data-theme] .lang-flag {
  display: inline-flex; align-items: center; justify-content: center;
  width: 18px; height: 18px; border-radius: 50%;
  font-size: 10px; font-weight: 700; letter-spacing: 0;
  font-family: 'Geist Mono', monospace !important;
  text-transform: uppercase;
  background: rgba(0,210,190,0.10);
  color: #00D2BE;
  border: 1px solid rgba(0,210,190,0.25);
}
html[data-theme="light"] .lang-flag { background: rgba(0,168,150,0.08); color: #00A896; border-color: rgba(0,168,150,0.20); }
html[data-theme] .lang-flag::before {
  content: attr(data-flag);
}
@media (max-width: 960px) {
  html[data-theme] .lang-selector-menu { right: auto; left: 0; }
}

/* Close menu when clicking outside — handled by tiny inline JS in head */

/* ──────────────────────────────────────────────────────────────────
   FOOTER — condensed, accessible, mobile-stacked
   Tier 1: brand + 4 link columns
   Tier 2: <details> directory accordion
   Tier 3: copyright strip
   ────────────────────────────────────────────────────────────────── */
html[data-theme] footer {
  padding: 56px 0 28px !important;
}
html[data-theme] footer .container {
  position: relative;
  z-index: 1;
}

/* Tier 1 grid: 5 columns on desktop */
html[data-theme] footer .footer-grid-primary {
  display: grid;
  grid-template-columns: 2.2fr 1fr 1fr 1fr 1fr;
  gap: 40px;
  align-items: start;
}

html[data-theme] footer .footer-brand p {
  margin-top: 12px;
  font-size: 13px;
  line-height: 1.6;
  max-width: 320px;
}
html[data-theme="dark"] footer .footer-brand p { color: #A0A4AB; }
html[data-theme="light"] footer .footer-brand p { color: #5C5951; }

html[data-theme] footer .footer-col h4 {
  font-family: 'Geist Mono', ui-monospace, monospace !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  margin-bottom: 14px !important;
  display: flex; align-items: center; gap: 6px;
}
html[data-theme="dark"] footer .footer-col h4 { color: #6B7076 !important; }
html[data-theme="light"] footer .footer-col h4 { color: #767269 !important; }

html[data-theme] footer .dir-count {
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.04em;
  padding: 2px 6px;
  border-radius: 100px;
  background: rgba(0, 210, 190, 0.10);
  color: #00D2BE;
  border: 1px solid rgba(0, 210, 190, 0.2);
  text-transform: none;
}
html[data-theme="light"] footer .dir-count {
  background: rgba(0, 168, 150, 0.08);
  color: #00A896;
  border-color: rgba(0, 168, 150, 0.25);
}

html[data-theme] footer .footer-col ul {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
html[data-theme] footer .footer-col ul li a {
  font-size: 13px;
  font-family: 'Geist', sans-serif;
  text-decoration: none;
  transition: color 0.15s;
  display: inline-block;
  line-height: 1.4;
}
html[data-theme="dark"] footer .footer-col ul li a { color: #D0D2D7; }
html[data-theme="dark"] footer .footer-col ul li a:hover { color: #00D2BE; }
html[data-theme="light"] footer .footer-col ul li a { color: #3D3B36; }
html[data-theme="light"] footer .footer-col ul li a:hover { color: #00A896; }

/* Tier 2 — directory accordion */
html[data-theme] footer .footer-directory {
  margin-top: 40px;
  padding-top: 28px;
  border-top: 1px solid;
}
html[data-theme="dark"] footer .footer-directory { border-top-color: #2A2D33; }
html[data-theme="light"] footer .footer-directory { border-top-color: #E8E5DF; }

html[data-theme] footer .footer-directory > summary {
  list-style: none;
  cursor: pointer;
  display: flex; align-items: center; justify-content: space-between;
  padding: 14px 0;
  font-family: 'Geist', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -0.01em;
  user-select: none;
}
html[data-theme] footer .footer-directory > summary::-webkit-details-marker { display: none; }
html[data-theme="dark"] footer .footer-directory > summary { color: #F5F6F7; }
html[data-theme="light"] footer .footer-directory > summary { color: #0F0E0C; }
html[data-theme] footer .footer-directory[open] > summary .footer-dir-chevron {
  transform: rotate(180deg);
}
html[data-theme] footer .footer-dir-chevron { transition: transform 0.2s; }

html[data-theme] footer .footer-directory[open] > .footer-dir-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px 28px;
  padding: 24px 0 8px;
}
html[data-theme] footer .footer-directory:not([open]) > .footer-dir-grid {
  display: none !important;
}

html[data-theme] footer .dir-list {
  list-style: none; padding: 0; margin: 0;
  display: block !important;
}
html[data-theme] footer .dir-list li {
  margin: 0 0 6px 0;
  break-inside: avoid;
}
html[data-theme] footer .dir-list-multi {
  columns: 2;
  column-gap: 16px;
}
html[data-theme] footer .dir-list-quad {
  columns: 3;
  column-gap: 16px;
}
@media (min-width: 1100px) {
  html[data-theme] footer .dir-list-quad { columns: 4; }
}
html[data-theme] footer .footer-col-wide {
  grid-column: span 2;
}
html[data-theme] footer .dir-list a {
  font-size: 12.5px;
  line-height: 1.5;
}

/* Tier 3 — legal strip */
html[data-theme] footer .footer-bottom {
  margin-top: 32px;
  padding-top: 20px;
  border-top: 1px solid;
  display: flex; align-items: center; justify-content: space-between;
  flex-wrap: wrap; gap: 12px;
}
html[data-theme="dark"] footer .footer-bottom { border-top-color: #2A2D33; }
html[data-theme="light"] footer .footer-bottom { border-top-color: #E8E5DF; }
html[data-theme] footer .footer-bottom .footer-copy {
  font-size: 12px;
  font-family: 'Geist Mono', monospace;
  letter-spacing: 0.04em;
  margin: 0;
}
html[data-theme="dark"] footer .footer-bottom .footer-copy { color: #6B7076; }
html[data-theme="light"] footer .footer-bottom .footer-copy { color: #767269; }
html[data-theme] footer .footer-bottom a { text-decoration: none; }
html[data-theme="dark"] footer .footer-bottom a { color: #6B7076; }
html[data-theme="dark"] footer .footer-bottom a:hover { color: #D0D2D7; }
html[data-theme="light"] footer .footer-bottom a { color: #767269; }
html[data-theme="light"] footer .footer-bottom a:hover { color: #0F0E0C; }

/* Responsive — tablet */
@media (max-width: 1024px) {
  html[data-theme] footer .footer-grid-primary {
    grid-template-columns: 1fr 1fr 1fr;
    gap: 32px 28px;
  }
  html[data-theme] footer .footer-brand { grid-column: 1 / -1; }
  html[data-theme] footer .footer-directory[open] > .footer-dir-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  html[data-theme] footer .footer-col-wide { grid-column: 1 / -1; }
  html[data-theme] footer .dir-list-quad { columns: 3; }
}

/* Mobile — stack everything */
@media (max-width: 640px) {
  html[data-theme] footer { padding: 40px 0 24px !important; }
  html[data-theme] footer .footer-grid-primary {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  html[data-theme] footer .footer-directory[open] > .footer-dir-grid {
    grid-template-columns: 1fr;
    gap: 28px;
  }
  html[data-theme] footer .dir-list-multi,
  html[data-theme] footer .dir-list-quad {
    columns: 1;
  }
  html[data-theme] footer .footer-col-wide { grid-column: 1; }
  html[data-theme] footer .footer-directory {
    margin-top: 28px;
  }
  html[data-theme] footer .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}

/* Senja testimonials slider — limit to ~4 rows */
html[data-theme] .senja-slider-wide .sj-masonry > .sj-masonry-item:nth-child(n+13) {
  display: none !important;
}

/* FAQ — add horizontal padding so text isn't flush with edge */
html[data-theme] .faq-q,
html[data-theme] .faq-question {
  padding-left: 24px !important;
  padding-right: 48px !important;
}
html[data-theme] .faq-a,
html[data-theme] .faq-answer {
  padding-left: 24px !important;
  padding-right: 24px !important;
}
html[data-theme] .faq-a p,
html[data-theme] .faq-answer p {
  padding-left: 0 !important;
  margin-left: 0 !important;
}

/* Contact page specifics */
html[data-theme="dark"] .ways-card,
html[data-theme="dark"] .contact-card,
html[data-theme="dark"] .contact-form-card {
  background: #1A1C20 !important;
  border-color: #2A2D33 !important;
  color: #F5F6F7;
}
html[data-theme="dark"] .ways-card:hover { background: #22252B !important; }
html[data-theme="dark"] .ways-card h3 { color: #F5F6F7 !important; }
html[data-theme="dark"] .ways-card p,
html[data-theme="dark"] .ways-card a.ways-link { color: #A0A4AB !important; }
html[data-theme="dark"] .ways-card-icon {
  background: rgba(0, 210, 190, 0.08) !important;
  border-color: rgba(0, 210, 190, 0.25) !important;
}
html[data-theme="dark"] .ways-card-icon svg { color: #00D2BE !important; stroke: #00D2BE !important; }

/* Submit buttons using background:var(--ink) — flip to accent teal in dark */
html[data-theme="dark"] #contact-submit,
html[data-theme="dark"] button[id$="-submit"],
html[data-theme="dark"] button.submit-btn {
  background: #00D2BE !important;
  color: #000 !important;
  box-shadow: 0 0 0 1px #00D2BE, 0 4px 12px rgba(0, 210, 190, 0.35) !important;
}
html[data-theme="dark"] #contact-submit:hover,
html[data-theme="dark"] button[id$="-submit"]:hover {
  background: #26D9C4 !important;
  color: #000 !important;
}
html[data-theme="dark"] #contact-submit:disabled {
  background: #2A2D33 !important;
  color: #6B7076 !important;
  box-shadow: none !important;
}

/* Contact page hero — not .hero but .contact-hero with inline-styled h1 */
html[data-theme="dark"] .contact-hero h1 {
  font-family: 'Geist', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  color: #F5F6F7 !important;
}
html[data-theme="dark"] .contact-hero h1 em {
  font-style: normal !important;
  background: linear-gradient(90deg, #00D2BE, #4DE0CE) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}
html[data-theme="light"] .contact-hero h1 {
  font-family: 'Geist', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em !important;
  color: #0F0E0C !important;
}
html[data-theme="light"] .contact-hero h1 em {
  font-style: normal !important;
  background: linear-gradient(90deg, #00A896, #00D2BE) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  -webkit-text-fill-color: transparent !important;
  color: transparent !important;
}

/* ──────────────────────────────────────────────────────────────────
   "Who Is SERPpro For?" cards — dark mode override
   The inline page CSS hard-codes `background: white` and ink text
   color, which makes these cards look broken on the dark theme.
   ────────────────────────────────────────────────────────────────── */
html[data-theme="dark"] .who-for {
  background: #0F1115 !important;
  border-top-color: #2A2D33 !important;
  border-bottom-color: #2A2D33 !important;
}
html[data-theme="dark"] .who-card {
  background: #1A1C20 !important;
  border-color: #2A2D33 !important;
}
html[data-theme="dark"] .who-card:hover {
  border-color: #00D2BE !important;
  box-shadow: 0 4px 16px rgba(0, 210, 190, 0.12) !important;
}
html[data-theme="dark"] .who-card h3 {
  color: #F5F6F7 !important;
}
html[data-theme="dark"] .who-card p {
  color: #A8ABB2 !important;
}
html[data-theme="dark"] .who-icon {
  color: #00D2BE !important;
  filter: brightness(1.4);
}

/* ──────────────────────────────────────────────────────────────────
   Nav alignment — force every direct <li> child of .nav-links to
   center vertically and keep a single row regardless of text length.
   When the language switches to one with longer item text (e.g. German),
   items can wrap or shift; this rule keeps the row stable.
   ────────────────────────────────────────────────────────────────── */
@media (min-width: 961px) {
  .nav-links {
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 8px;
  }
  .nav-links > li {
    display: flex !important;
    align-items: center !important;
    list-style: none;
    margin: 0;
    flex-shrink: 0;
    white-space: nowrap;
  }
  .nav-links > li > a,
  .nav-links > li > button {
    display: inline-flex;
    align-items: center;
    line-height: 1;
    white-space: nowrap;
  }
  .nav-cta {
    white-space: nowrap !important;
  }
}

/* ════════════════════════════════════════════════════════════════════
   COMPREHENSIVE DARK-MODE COMPONENT OVERRIDES (Phase 1, Step 2)
   Catches all the page-specific card / box / panel components that have
   hardcoded "background: white" or "background: #fff" in inline <style>
   blocks. These were previously light-only and showed as white-on-dark
   when the page was rendered in dark mode.
   ════════════════════════════════════════════════════════════════════ */

/* Cards & panels with hardcoded white backgrounds */
html[data-theme="dark"] .pain-card,
html[data-theme="dark"] .price-card,
html[data-theme="dark"] .dpr-card,
html[data-theme="dark"] .spec-card,
html[data-theme="dark"] .stat-box,
html[data-theme="dark"] .feature-card,
html[data-theme="dark"] .value-card,
html[data-theme="dark"] .team-card,
html[data-theme="dark"] .ways-card,
html[data-theme="dark"] .path-card,
html[data-theme="dark"] .net-stat-card,
html[data-theme="dark"] .how-step,
html[data-theme="dark"] .tl-step,
html[data-theme="dark"] .calc-wrap,
html[data-theme="dark"] .guarantee-card-lg,
html[data-theme="dark"] .blog-cta-box,
html[data-theme="dark"] .cta-box,
html[data-theme="dark"] .bonus-embed,
html[data-theme="dark"] .link-table,
html[data-theme="dark"] .ret-table,
html[data-theme="dark"] .feature-icon,
html[data-theme="dark"] .ways-card-icon,
html[data-theme="dark"] .team-avatar,
html[data-theme="dark"] .stat-card,
html[data-theme="dark"] .info-card,
html[data-theme="dark"] .timeline-card,
html[data-theme="dark"] .deliverable-card,
html[data-theme="dark"] .package-card,
html[data-theme="dark"] .testimonial-card,
html[data-theme="dark"] .compare-card,
html[data-theme="dark"] .benefit-card,
html[data-theme="dark"] .roi-card {
  background: #1A1C20 !important;
  border-color: #2A2D33 !important;
  color: #F5F6F7;
}
html[data-theme="dark"] .pain-card h3,
html[data-theme="dark"] .price-card h3,
html[data-theme="dark"] .feature-card h3,
html[data-theme="dark"] .value-card h3,
html[data-theme="dark"] .team-card h3,
html[data-theme="dark"] .ways-card h3,
html[data-theme="dark"] .path-card h3,
html[data-theme="dark"] .stat-card h3,
html[data-theme="dark"] .info-card h3,
html[data-theme="dark"] .deliverable-card h3,
html[data-theme="dark"] .package-card h3,
html[data-theme="dark"] .testimonial-card h3,
html[data-theme="dark"] .benefit-card h3 {
  color: #F5F6F7 !important;
}
html[data-theme="dark"] .pain-card p,
html[data-theme="dark"] .price-card p,
html[data-theme="dark"] .feature-card p,
html[data-theme="dark"] .value-card p,
html[data-theme="dark"] .team-card p,
html[data-theme="dark"] .ways-card p,
html[data-theme="dark"] .path-card p,
html[data-theme="dark"] .stat-card p,
html[data-theme="dark"] .info-card p,
html[data-theme="dark"] .deliverable-card p,
html[data-theme="dark"] .package-card p,
html[data-theme="dark"] .testimonial-card p,
html[data-theme="dark"] .benefit-card p {
  color: #A8ABB2 !important;
}

/* Inline-style "background: white" / "#fff" — catch-all via attribute selector.
   Inline styles win on specificity except for !important. */
html[data-theme="dark"] [style*="background:white" i],
html[data-theme="dark"] [style*="background: white" i],
html[data-theme="dark"] [style*="background:#fff" i],
html[data-theme="dark"] [style*="background: #fff" i],
html[data-theme="dark"] [style*="background:#FFFFFF" i],
html[data-theme="dark"] [style*="background: #FFFFFF" i],
html[data-theme="dark"] [style*="background-color:white" i],
html[data-theme="dark"] [style*="background-color: white" i],
html[data-theme="dark"] [style*="background-color:#fff" i],
html[data-theme="dark"] [style*="background-color: #fff" i] {
  background: #1A1C20 !important;
  background-color: #1A1C20 !important;
}

/* Legacy hard-coded near-black text on dark bg → flip to light text */
html[data-theme="dark"] [style*="color:#0F0E0C" i],
html[data-theme="dark"] [style*="color: #0F0E0C" i],
html[data-theme="dark"] [style*="color:black" i],
html[data-theme="dark"] [style*="color: black" i],
html[data-theme="dark"] [style*="color:#000" i],
html[data-theme="dark"] [style*="color: #000" i] {
  color: #F5F6F7 !important;
}

/* Section-level cream/off-white backgrounds that don't use vars */
html[data-theme="dark"] [style*="background:#F7F6F3" i],
html[data-theme="dark"] [style*="background: #F7F6F3" i],
html[data-theme="dark"] [style*="background:#f8f7f4" i],
html[data-theme="dark"] [style*="background: #f8f7f4" i] {
  background: #0F1115 !important;
}

/* Borders that hardcode a light edge (#e6e4df, #E8E5DF, #D4D0C8) */
html[data-theme="dark"] [style*="border-color:#E8E5DF" i],
html[data-theme="dark"] [style*="border-color: #E8E5DF" i],
html[data-theme="dark"] [style*="border-color:#e6e4df" i],
html[data-theme="dark"] [style*="border-color: #e6e4df" i],
html[data-theme="dark"] [style*="border-color:#D4D0C8" i],
html[data-theme="dark"] [style*="border-color: #D4D0C8" i],
html[data-theme="dark"] [style*="border:1px solid #e6e4df" i],
html[data-theme="dark"] [style*="border: 1px solid #e6e4df" i] {
  border-color: #2A2D33 !important;
}

/* Forms — input/textarea/select default to dark surface */
html[data-theme="dark"] input[type="text"],
html[data-theme="dark"] input[type="email"],
html[data-theme="dark"] input[type="url"],
html[data-theme="dark"] input[type="tel"],
html[data-theme="dark"] input[type="number"],
html[data-theme="dark"] input[type="search"],
html[data-theme="dark"] textarea,
html[data-theme="dark"] select {
  background-color: #0F1115 !important;
  color: #F5F6F7 !important;
  border-color: #2A2D33 !important;
}
html[data-theme="dark"] input::placeholder,
html[data-theme="dark"] textarea::placeholder {
  color: #767A82 !important;
}

/* Section dividers + subtle box-shadows that assume light theme */
html[data-theme="dark"] [style*="box-shadow:0 4px 16px rgba(0,0,0,0.05)"],
html[data-theme="dark"] [style*="box-shadow:0 12px 40px rgba(0,0,0,0.04)"],
html[data-theme="dark"] [style*="box-shadow:0 12px 40px rgba(0,0,0,0.10)"] {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.4) !important;
}

/* ════════════════════════════════════════════════════════════════════
   LIGHT-THEME VARIABLE OVERRIDES
   platform.css defines all base CSS vars (--bg-elevated, --bg-surface,
   --bg-base, --bg-hover, --border-default, --text, etc.) as DARK
   values in :root. Without explicit light overrides, every component
   that uses var(--bg-elevated) or similar stays dark in light mode too.
   This block flips every base variable when html[data-theme="light"]
   is set, so the entire site honors the theme toggle.
   ════════════════════════════════════════════════════════════════════ */
html[data-theme="light"] {
  /* Generic */
  --white: #FFFFFF;
  --off: #F7F6F3;
  --off2: #F0EEE9;
  --border: #E8E5DF;
  --border-dark: #D4D0C8;
  --text: #0F0E0C;
  --text-2: #3D3B36;
  --text-3: #5C5951;
  --text-4: #767269;
  --accent: #0F0E0C;
  --ink: #0F0E0C;
  --green: #1C7C54;
  --green-bg: #EBF5EF;
  --blue: #1B4FD8;
  --blue-bg: #EEF2FD;
  --amber: #92600A;
  --amber-bg: #FEF5E7;

  /* Surfaces */
  --bg-base: #FFFFFF;
  --bg-surface: #FFFFFF;
  --bg-elevated: #FFFFFF;
  --bg-hover: #F7F6F3;

  /* Borders */
  --border-subtle: #F0EEE9;
  --border-default: #E8E5DF;
  --border-strong: #D4D0C8;

  /* Text scale */
  --text-primary: #0F0E0C;
  --text-secondary: #3D3B36;
  --text-tertiary: #5C5951;
  --text-quaternary: #767269;

  color-scheme: light;
}
html[data-theme="light"] body {
  background-color: #FFFFFF !important;
  color: #0F0E0C !important;
}

/* Light-mode form element styling — paired with dark form rules above */
html[data-theme="light"] input[type="text"],
html[data-theme="light"] input[type="email"],
html[data-theme="light"] input[type="url"],
html[data-theme="light"] input[type="tel"],
html[data-theme="light"] input[type="number"],
html[data-theme="light"] input[type="search"],
html[data-theme="light"] textarea,
html[data-theme="light"] select {
  background-color: #FFFFFF !important;
  color: #0F0E0C !important;
  border-color: #E8E5DF !important;
}
html[data-theme="light"] input:focus,
html[data-theme="light"] textarea:focus,
html[data-theme="light"] select:focus {
  border-color: #00A896 !important;
  outline: none !important;
}
html[data-theme="light"] input::placeholder,
html[data-theme="light"] textarea::placeholder {
  color: #9B9893 !important;
}
/* Dark-mode focus */
html[data-theme="dark"] input:focus,
html[data-theme="dark"] textarea:focus,
html[data-theme="dark"] select:focus {
  border-color: #00D2BE !important;
  outline: none !important;
}

/* Primary action buttons that hardcode background:var(--ink) — in dark mode
   --ink resolves to near-white, making the button invisible (white-on-white).
   Force the teal accent in dark mode. */
html[data-theme="dark"] .calc-btn,
html[data-theme="dark"] .calc-wrap .calc-btn,
html[data-theme="dark"] button[type="submit"]:not(.btn-secondary):not(.btn-outline),
html[data-theme="dark"] input[type="submit"] {
  background: #00D2BE !important;
  color: #0A0B0D !important;
  border: none !important;
}
html[data-theme="dark"] .calc-btn:hover,
html[data-theme="dark"] .calc-wrap .calc-btn:hover,
html[data-theme="dark"] button[type="submit"]:not(.btn-secondary):not(.btn-outline):hover,
html[data-theme="dark"] input[type="submit"]:hover {
  background: #26D9C4 !important;
}

/* Catch input[type="button"] as well — calc-btn is type=button not submit */
html[data-theme="dark"] input.calc-btn,
html[data-theme="dark"] .calc-wrap input.calc-btn,
html[data-theme="dark"] input[type="button"].calc-btn,
html[data-theme="dark"] input[type="button"][onclick] {
  background: #00D2BE !important;
  background-color: #00D2BE !important;
  color: #0A0B0D !important;
  border: none !important;
}
html[data-theme="light"] input.calc-btn,
html[data-theme="light"] .calc-wrap input.calc-btn,
html[data-theme="light"] input[type="button"].calc-btn {
  background: #0F0E0C !important;
  background-color: #0F0E0C !important;
  color: #FFFFFF !important;
  border: none !important;
}

/* ════════════════════════════════════════════════════════════════════
   FAQ + GUARANTEE LIGHT-MODE OVERRIDES
   Companion to the base styles in platform.css.
   ════════════════════════════════════════════════════════════════════ */
html[data-theme="light"] .guarantees {
  background: #F7F6F3 !important;
  border-color: #E8E5DF !important;
}
html[data-theme="light"] .guarantee-card {
  background: #FFFFFF !important;
  border-color: #E8E5DF !important;
}
html[data-theme="light"] .guarantee-title {
  color: #0F0E0C !important;
}
html[data-theme="light"] .guarantee-desc {
  color: #5C5951 !important;
}
html[data-theme="light"] .guarantee-icon,
html[data-theme="light"] .guarantee-icon svg {
  color: #00A896 !important;
  stroke: #00A896 !important;
}

html[data-theme="light"] .faq-item {
  border-bottom-color: #E8E5DF !important;
}
html[data-theme="light"] .faq-q {
  color: #0F0E0C !important;
}
html[data-theme="light"] .faq-q::after {
  color: #767269 !important;
}
html[data-theme="light"] .faq-a p {
  color: #3D3B36 !important;
}

/* ── Accessibility: skip-to-content link (visually hidden until focused) */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 9999;
  background: #00D2BE;
  color: #0A0B0D;
  padding: 12px 18px;
  text-decoration: none;
  font-weight: 600;
  border-radius: 0 0 8px 0;
}
.skip-link:focus {
  left: 0;
}

/* ── Wider centered iframes (demo + marketplace) ──
   Strategy: bump the parent .container max-width so it's wider than the
   default 1120px, then auto-center the iframe wrapper inside it. No
   transform tricks — just standard max-width + auto margins so the
   wrapper stays inside its parent and centered, with safe page padding. */

/* Hero container: when it contains the demo iframe, allow expansion to
   1520px (1440 iframe + 40px padding × 2). Container's own padding-left/
   right of 40px keeps a safe gutter from the viewport edge. */
.hero .container:has(> .reveal-d3 iframe[src*="demo-tour"]),
.hero .container:has(> .reveal iframe[src*="demo-tour"]) {
  max-width: 1520px !important;
}

/* Iframe wrapper inside hero — auto-center, capped at 1440px */
.hero .container > .reveal-d3:has(iframe[src*="demo-tour"]),
.hero .container > .reveal:has(iframe[src*="demo-tour"]) {
  width: 100% !important;
  max-width: 1440px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  transform: none !important;
}

/* Marketplace iframe wrapper (niche pages): same treatment.
   The wrapper is .niche-embed-wrap, inside .container, inside .niche-embed
   section. Bump the parent .container's max-width when it has this wrapper. */
section:has(> .container > .niche-embed-wrap) > .container,
section .container:has(> .niche-embed-wrap) {
  max-width: 1520px !important;
}
.niche-embed-wrap {
  width: 100%;
  max-width: 1440px;
  margin-left: auto;
  margin-right: auto;
  transform: none;
}

/* Iframes themselves: full width inside their wrapper */
section.hero iframe[src*="demo-tour"],
section iframe[src*="marketplace"] {
  display: block;
  width: 100% !important;
}

/* Case studies light-mode */
html[data-theme="light"] .case-card {
  background: #FFFFFF !important;
  border-color: #E8E5DF !important;
}
html[data-theme="light"] .case-card:hover {
  border-color: #D4D0C8 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05) !important;
}
html[data-theme="light"] .case-title { color: #0F0E0C !important; }
html[data-theme="light"] .case-desc { color: #5C5951 !important; }
html[data-theme="light"] .case-metrics {
  background: #E8E5DF !important;
  border-color: #E8E5DF !important;
}
html[data-theme="light"] .case-metric { background: #FFFFFF !important; }
html[data-theme="light"] .case-metric-num { color: #1C7C54 !important; }
html[data-theme="light"] .case-metric-label,
html[data-theme="light"] .case-industry { color: #767269 !important; }

/* Light-mode for portfolio + team + timeline */
html[data-theme="light"] .portfolio-card {
  background: #FFFFFF !important;
  border-color: #E8E5DF !important;
}
html[data-theme="light"] .portfolio-card:hover {
  border-color: #D4D0C8 !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.05) !important;
}
html[data-theme="light"] .portfolio-title { color: #0F0E0C !important; }
html[data-theme="light"] .portfolio-desc { color: #5C5951 !important; }
html[data-theme="light"] .portfolio-pub,
html[data-theme="light"] .timeline-year { color: #767269 !important; }
html[data-theme="light"] .team-name { color: #0F0E0C !important; }
html[data-theme="light"] .team-av {
  background: #F0EEE9 !important;
  border-color: #E8E5DF !important;
  color: #5C5951 !important;
}
html[data-theme="light"] .timeline-item { border-bottom-color: #E8E5DF !important; }
html[data-theme="light"] .form-field label { color: #767269 !important; }

/* Hide any leftover Draft Preview label from cached old theme-toggle.js
   in users' browsers. Belt-and-suspenders alongside the JS code removal. */
.draft-mode-label,
[class*="draft-mode-label"],
[class*="draft-preview"] { display: none !important; visibility: hidden !important; }
