/* ==========================================================================
   SECONDARY PAGES — "Game world" override layer
   Guides (lead magnets) and legal pages keep their structural CSS
   (css/styles.css + page <style>) and load this layer last with
   <body class="gw-page">. It aligns them with the homepage: flat solid
   colors (no gradients or neon glows), Archivo Expanded headings, Pixelify Sans
   labels, chunky cyan buttons with a hard press shadow, homepage-style nav.
   ========================================================================== */

body.gw-page {
  --gw-bg: #0a0a0f;
  --gw-surface: #14151d;
  --gw-line: rgba(255, 255, 255, 0.12);
  --gw-text: #f2f3f6;
  --gw-text-2: #a3a8b5;
  --gw-accent: #00f5ff;
  --gw-accent-ink: #001a1d;
  --gw-accent-press: #00a4ac;
  --gw-accent-soft: rgba(0, 245, 255, 0.1);
  --gw-dot: rgba(255, 255, 255, 0.07);
  --gw-display: 'Archivo Expanded', 'Inter', system-ui, sans-serif;
  --gw-pixel: 'Pixelify Sans', 'Courier New', monospace;

  /* Neutralize the legacy gradient and display-font tokens */
  --font-display: var(--gw-display);
  --gradient-neon: var(--gw-accent);
  --gradient-hero: var(--gw-accent);
  --gradient-button: var(--gw-accent);
  --gradient-card: var(--gw-surface);
  --glow-cyan: none;
  --glow-magenta: none;
  --glow-violet: none;
  --glow-cyan-intense: none;
  --shadow-glow: none;

  background: var(--gw-bg) !important;
  background-image: radial-gradient(var(--gw-dot) 1.2px, transparent 1.3px) !important;
  background-size: 24px 24px !important;
  color: var(--gw-text);
}

html[data-theme="light"] body.gw-page {
  --gw-bg: #f4f5f7;
  --gw-surface: #ffffff;
  --gw-line: rgba(10, 10, 15, 0.14);
  --gw-text: #0a0a0f;
  --gw-text-2: #464b57;
  --gw-accent: #007788;
  --gw-accent-ink: #ffffff;
  --gw-accent-press: #004e59;
  --gw-accent-soft: rgba(0, 119, 136, 0.09);
  --gw-dot: rgba(10, 10, 15, 0.08);
}

@media (prefers-color-scheme: light) {
  html:not([data-theme]) body.gw-page {
    --gw-bg: #f4f5f7;
    --gw-surface: #ffffff;
    --gw-line: rgba(10, 10, 15, 0.14);
    --gw-text: #0a0a0f;
    --gw-text-2: #464b57;
    --gw-accent: #007788;
    --gw-accent-ink: #ffffff;
    --gw-accent-press: #004e59;
    --gw-accent-soft: rgba(0, 119, 136, 0.09);
    --gw-dot: rgba(10, 10, 15, 0.08);
  }
}

body.gw-page .parallax-bg,
body.gw-page .floating-orb,
body.gw-page .grid-overlay {
  display: none !important;
}

/* ---------------------------------------------------------------- headings */
body.gw-page h1,
body.gw-page .hero-title,
body.gw-page .section-title,
body.gw-page .legal-header h1 {
  font-family: var(--gw-display) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  word-spacing: 0.06em !important;
  line-height: 1.08 !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
  color: var(--gw-text) !important;
  text-shadow: none !important;
}

body.gw-page .gradient {
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
  color: var(--gw-text) !important;
}

body.gw-page .form-title,
body.gw-page .feature-title,
body.gw-page .pathway-title,
body.gw-page .social-proof-title,
body.gw-page .author-info h3,
body.gw-page .card h3,
body.gw-page .success-message h3,
body.gw-page .legal-block h2,
body.gw-page .stat-number {
  font-family: var(--gw-display) !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  word-spacing: 0.06em !important;
  text-shadow: none !important;
}

body.gw-page .legal-block h2 {
  color: var(--gw-text) !important;
  font-size: clamp(1.15rem, 2vw, 1.4rem) !important;
}

/* ------------------------------------------------------------- HUD labels */
body.gw-page .hero-badge,
body.gw-page .section-tag,
body.gw-page .card-kicker,
body.gw-page .pathway-kicker,
body.gw-page .proof-pill,
body.gw-page .consent-badge {
  border-radius: 4px !important;
  font-family: var(--gw-pixel) !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase;
  color: var(--gw-accent) !important;
  background: var(--gw-accent-soft) !important;
  border-color: var(--gw-accent) !important;
  box-shadow: none !important;
}

body.gw-page .section-tag {
  background: none !important;
  font-size: 0.95rem !important;
}

/* --------------------------------------------------------------- surfaces */
body.gw-page .card,
body.gw-page .feature-card,
body.gw-page .pathway-card,
body.gw-page .author-card,
body.gw-page .stat-card,
body.gw-page .form-container,
body.gw-page .form-panel,
body.gw-page .cta-box,
body.gw-page .legal-content,
body.gw-page .legal-block,
body.gw-page .faq-item {
  background: var(--gw-surface) !important;
  border-color: var(--gw-line) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body.gw-page .legal-content {
  border: 2px solid var(--gw-line) !important;
  border-radius: 16px !important;
}

body.gw-page .legal-block {
  background: transparent !important;
}

body.gw-page .pathway-card.highlight,
body.gw-page .form-container,
body.gw-page .form-panel,
body.gw-page .cta-box {
  border: 2px solid var(--gw-accent) !important;
  box-shadow: 0 6px 0 var(--gw-accent-press) !important;
}

body.gw-page .author-avatar {
  background: var(--gw-accent-soft) !important;
  font-family: var(--gw-display) !important;
  color: var(--gw-accent) !important;
}

body.gw-page .pdf-mockup,
body.gw-page .mockup,
body.gw-page .lead-magnet-mockup-img {
  box-shadow: none !important;
  filter: none !important;
}

/* Bullets: small cyan squares instead of glowing gradient dots / diamonds */
body.gw-page .hero-points li::before,
body.gw-page .check-list li::before,
body.gw-page .pathway-list li::before {
  background: var(--gw-accent) !important;
  box-shadow: none !important;
  border-radius: 1px !important;
}

body.gw-page .legal-block li::before {
  content: '' !important;
  width: 7px !important;
  height: 7px !important;
  border: 2px solid var(--gw-accent) !important;
  background: none !important;
  color: transparent !important;
  transform: none !important;
}

body.gw-page a:not(.btn):not(.nav-cta):not(.nav-logo) {
  text-shadow: none;
}

/* ---------------------------------------------------------------- buttons */
body.gw-page .btn,
body.gw-page .lead-magnet-btn,
body.gw-page .newsletter-btn {
  border-radius: 12px !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  transition: transform 120ms ease, box-shadow 120ms ease !important;
}

body.gw-page .btn-primary,
body.gw-page .lead-magnet-btn,
body.gw-page .newsletter-btn {
  background: var(--gw-accent) !important;
  color: var(--gw-accent-ink) !important;
  border: 2px solid transparent !important;
  box-shadow: 0 5px 0 var(--gw-accent-press) !important;
}

body.gw-page .btn-primary:hover,
body.gw-page .lead-magnet-btn:hover,
body.gw-page .newsletter-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 7px 0 var(--gw-accent-press) !important;
}

body.gw-page .btn-primary:active,
body.gw-page .lead-magnet-btn:active {
  transform: translateY(4px) !important;
  box-shadow: 0 1px 0 var(--gw-accent-press) !important;
}

body.gw-page .btn-outline {
  background: var(--gw-surface) !important;
  border: 2px solid var(--gw-line) !important;
  color: var(--gw-text) !important;
  box-shadow: 0 5px 0 var(--gw-line) !important;
}

body.gw-page input[type="email"]:focus {
  box-shadow: none !important;
  border-color: var(--gw-accent) !important;
}

/* -------------------------------------------------------------------- nav */
body.gw-page .nav {
  background: color-mix(in srgb, var(--gw-bg) 90%, transparent) !important;
  border-bottom: 1px solid var(--gw-line) !important;
  box-shadow: none !important;
}

body.gw-page .nav-logo-img {
  height: 2.1rem !important;
}

body.gw-page .nav-logo-name {
  font-size: 0.66rem !important;
  letter-spacing: 0.1em !important;
}

body.gw-page .nav-links a {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.gw-page .nav-links a::after {
  display: none !important;
}

body.gw-page .nav-links .nav-cta {
  padding: 0.55rem 1rem !important;
  border-radius: 10px !important;
  background: var(--gw-accent) !important;
  color: var(--gw-accent-ink) !important;
  font-weight: 700 !important;
  box-shadow: 0 3px 0 var(--gw-accent-press) !important;
}

body.gw-page .theme-toggle {
  border-radius: 10px !important;
  background: transparent !important;
  border: 1px solid var(--gw-line) !important;
  box-shadow: none !important;
}

/* ----------------------------------------------------------------- footer */
body.gw-page .footer {
  background: var(--gw-bg) !important;
  border-top: 1px solid var(--gw-line) !important;
}

body.gw-page .footer-title {
  font-family: var(--gw-pixel) !important;
  font-weight: 600 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase;
  color: var(--gw-text-2) !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
}

/* ---------------------------------------------------------------- consent */
body.gw-page .consent-banner {
  background: var(--gw-surface) !important;
  border: 2px solid var(--gw-line) !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body.gw-page .consent-title,
body.gw-page .consent-panel-title {
  font-family: 'Inter', system-ui, sans-serif !important;
  background: none !important;
  -webkit-text-fill-color: currentColor !important;
}

body.gw-page .legal-title-note {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
}
