/* ═══════════════════════════════════════
   Tech Warrior — Design Tokens
   Cyber Sentinel Design System
   ═══════════════════════════════════════ */

/* Import Google Fonts - loaded via PHP but declare as fallback */

:root {
  /* ── Surface Palette (Dark Mode Default) ── */
  --surface: #0c141b;
  --surface-dim: #0c141b;
  --surface-bright: #323a42;
  --surface-container-lowest: #070f16;
  --surface-container-low: #151c24;
  --surface-container: #192028;
  --surface-container-high: #232b32;
  --surface-container-highest: #2e363d;
  
  /* ── Primary ── */
  --primary: #a8caeb;
  --on-primary: #0b334d;
  --primary-container: #002b45;
  --on-primary-container: #7293b2;
  
  /* ── Secondary ── */
  --secondary: #a9c7ff;
  --on-secondary: #003063;
  --secondary-container: #005db7;
  --on-secondary-container: #c6d9ff;
  
  /* ── Tertiary / Accent (Electric Cyan) ── */
  --tertiary: #00dbe9;
  --on-tertiary: #00363a;
  --tertiary-container: #002e31;
  --on-tertiary-container: #009fa9;
  
  /* ── Error ── */
  --error: #ffb4ab;
  --on-error: #690005;
  --error-container: #93000a;
  
  /* ── Text ── */
  --on-surface: #dbe3ee;
  --on-surface-variant: #c2c7ce;
  --inverse-surface: #dbe3ee;
  --inverse-on-surface: #293139;
  
  /* ── Outlines ── */
  --outline: #8c9198;
  --outline-variant: #42474d;
  
  /* ── Semantic ── */
  --success: #00C853;
  --success-container: rgba(0, 200, 83, 0.15);
  --whatsapp-green: #25D366;
  
  /* ── Typography ── */
  --font-display: 'Montserrat', sans-serif;
  --font-body: 'Geist', 'Montserrat', sans-serif;
  --font-mono: 'JetBrains Mono', 'Courier Prime', monospace;
  
  /* ── Font Sizes ── */
  --text-display-xl: 64px;
  --text-headline-lg: 40px;
  --text-headline-lg-mobile: 32px;
  --text-headline-md: 24px;
  --text-body-lg: 18px;
  --text-body-md: 16px;
  --text-label-md: 14px;
  --text-label-sm: 12px;
  --text-price: 28px;
  
  /* ── Spacing (8px rhythm) ── */
  --space-xs: 4px;
  --space-sm: 8px;
  --space-md: 16px;
  --space-lg: 24px;
  --space-xl: 32px;
  --space-2xl: 48px;
  --space-3xl: 64px;
  --space-4xl: 80px;
  --space-section: 80px;
  --space-gutter: 24px;
  
  /* ── Border Radius ── */
  --radius-sm: 0.125rem;
  --radius: 0.25rem;
  --radius-md: 0.375rem;
  --radius-lg: 0.5rem;
  --radius-xl: 0.75rem;
  --radius-full: 9999px;
  
  /* ── Container ── */
  --container-max: 1280px;
  --container-padding: 24px;
  
  /* ── Glass Panel ── */
  --glass-bg: rgba(0, 43, 69, 0.6);
  --glass-border: rgba(255, 255, 255, 0.1);
  --glass-blur: 20px;
  
  /* ── Gradients ── */
  --gradient-primary: linear-gradient(135deg, #00dbe9 0%, #005db7 100%);
  --gradient-hero: linear-gradient(135deg, #002b45 0%, #0c141b 100%);
  
  /* ── Shadows / Glows ── */
  --glow-cyan: 0 0 15px rgba(0, 219, 233, 0.4);
  --glow-cyan-sm: 0 0 8px rgba(0, 219, 233, 0.3);
  --shadow-card: 0 4px 24px rgba(0, 0, 0, 0.2);
  
  /* ── Transitions ── */
  --transition-fast: 150ms ease;
  --transition-normal: 300ms ease;
  --transition-slow: 500ms ease;
  
  /* ── Z-Index ── */
  --z-header: 1000;
  --z-drawer: 1100;
  --z-overlay: 1050;
  --z-modal: 1200;
  --z-tooltip: 1300;
  
  /* ── Grid Columns (overridden by customizer) ── */
  --shop-cols-mobile: 2;
  --shop-cols-tablet: 3;
  --shop-cols-desktop: 4;
}

/* ── Light Mode ── */
[data-theme="light"] {
  --surface: #faf8ff;
  --surface-dim: #d2d9f4;
  --surface-bright: #faf8ff;
  --surface-container-lowest: #ffffff;
  --surface-container-low: #f2f3ff;
  --surface-container: #eaedff;
  --surface-container-high: #e2e7ff;
  --surface-container-highest: #dae2fd;
  
  --primary: #004cca;
  --on-primary: #ffffff;
  --primary-container: #0062ff;
  --on-primary-container: #f3f3ff;
  
  --secondary: #006591;
  --on-secondary: #ffffff;
  --secondary-container: #39b8fd;
  --on-secondary-container: #004666;
  
  --tertiary: #4142ce;
  --on-tertiary: #ffffff;
  --tertiary-container: #5a5de8;
  --on-tertiary-container: #f5f2ff;
  
  --error: #ba1a1a;
  --on-error: #ffffff;
  --error-container: #ffdad6;
  
  --on-surface: #131b2e;
  --on-surface-variant: #424656;
  --inverse-surface: #283044;
  --inverse-on-surface: #eef0ff;
  
  --outline: #737687;
  --outline-variant: #c2c6d9;
  
  --font-body: 'Montserrat', sans-serif;
  
  --glass-bg: rgba(255, 255, 255, 0.8);
  --glass-border: rgba(0, 0, 0, 0.08);
  
  --gradient-primary: linear-gradient(135deg, #0062ff 0%, #004cca 100%);
  --gradient-hero: linear-gradient(135deg, #eaedff 0%, #faf8ff 100%);
  
  --glow-cyan: 0 4px 20px rgba(0, 98, 255, 0.08);
  --glow-cyan-sm: 0 2px 10px rgba(0, 98, 255, 0.06);
  --shadow-card: 0 1px 3px rgba(0, 0, 0, 0.08);
  
  --container-max: 1440px;
}
