/* ==========================================================================
   APK STATION LANJOUW — DESIGN TOKENS
   Automotive-diagnostic visual language: deep navy, precision blue,
   technical mono accents. Derived from the brand's own van livery.
   ========================================================================== */

:root {
  /* ---- Brand color core (from real logo / van livery) ---- */
  --navy-950: #0a1220;   /* deepest — footer, overlays */
  --navy-900: #0d1729;   /* hero overlay base */
  --navy-800: #0f1f3d;   /* primary brand navy */
  --navy-700: #16294f;   /* card / panel navy */
  --navy-600: #1e3a63;   /* border on navy */

  --blue-600: #2b5fce;   /* primary accent — CTAs, links */
  --blue-500: #3f74e0;   /* hover state */
  --blue-400: #4f8cff;   /* glow / highlight */
  --blue-100: #e6edfb;   /* tint bg on white */

  --white: #ffffff;
  --grey-50: #f5f7fa;
  --grey-100: #eceff3;
  --grey-200: #dde1e8;
  --grey-300: #c6cbd3;   /* metallic silver accent */
  --grey-500: #838b99;
  --grey-600: #5c6474;
  --grey-700: #414957;
  --ink: #0e1420;        /* near-black body text */

  /* ---- Sterrenhemel accent palette (used only in that section) ---- */
  --star-red: #ff4b4b;
  --star-blue: #4f8cff;
  --star-gold: #eab54c;
  --star-green: #3fc97f;
  --star-white: #fff6e3;

  /* ---- Semantic aliases ---- */
  --color-bg: var(--white);
  --color-bg-alt: var(--grey-50);
  --color-text: var(--ink);
  --color-text-muted: var(--grey-600);
  --color-brand: var(--navy-800);
  --color-accent: var(--blue-600);
  --color-border: var(--grey-200);

  /* ---- Typography ---- */
  --font-display: 'Space Grotesk', 'Arial Narrow', sans-serif;
  --font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-mono: 'JetBrains Mono', 'SFMono-Regular', Consolas, monospace;

  --text-xs: 0.75rem;      /* 12px */
  --text-sm: 0.875rem;     /* 14px */
  --text-base: 1rem;       /* 16px */
  --text-md: 1.125rem;     /* 18px */
  --text-lg: 1.3rem;       /* ~21px */
  --text-xl: clamp(1.5rem, 1.3rem + 0.9vw, 1.9rem);
  --text-2xl: clamp(1.9rem, 1.5rem + 1.6vw, 2.6rem);
  --text-3xl: clamp(2.4rem, 1.8rem + 2.4vw, 3.4rem);
  --text-hero: clamp(2.6rem, 1.9rem + 3.3vw, 4.6rem);

  --leading-tight: 1.08;
  --leading-snug: 1.28;
  --leading-normal: 1.6;

  /* ---- Spacing scale (base 4px) ---- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
  --space-32: 8rem;

  --section-pad-y: clamp(4rem, 3rem + 4vw, 7.5rem);
  --container-w: 1240px;
  --container-pad: clamp(1.25rem, 4vw, 2.5rem);

  /* ---- Radius ---- */
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 22px;
  --radius-xl: 32px;
  --radius-pill: 999px;

  /* ---- Shadow (navy-tinted, automotive precision) ---- */
  --shadow-sm: 0 1px 2px rgba(10, 18, 32, 0.08);
  --shadow-md: 0 8px 24px -8px rgba(10, 18, 32, 0.22);
  --shadow-lg: 0 24px 60px -16px rgba(10, 18, 32, 0.35);
  --shadow-navy: 0 20px 50px -12px rgba(15, 31, 61, 0.45);
  --glow-blue: 0 0 0 1px rgba(79, 140, 255, 0.25), 0 8px 30px -6px rgba(43, 95, 206, 0.45);

  /* ---- Motion ---- */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 0.2s;
  --dur-base: 0.4s;
  --dur-slow: 0.7s;

  /* ---- Z-index scale ---- */
  --z-nav: 100;
  --z-overlay: 200;
  --z-modal: 300;
  --z-fab: 90;

  --nav-height: 76px;
}

@media (max-width: 768px) {
  :root {
    --nav-height: 64px;
  }
}

/* Reduced motion: shrink durations to near-instant, keep transforms functional */
@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-fast: 0.01s;
    --dur-base: 0.01s;
    --dur-slow: 0.01s;
  }
}
