/* ═══════════════════════════════════════════════════════════════════════
   FastFixCell.com — Futuristic Design Token System v3.0
   Glassmorphism + Neon Tech + Circuit-Inspired
   Phone Repair | Futuristic | Ultra-Fast
   ═══════════════════════════════════════════════════════════════════════ */

:root {
  /* ── Primary: Electric Blue ─────────────────────────────────── */
  --primary-50: #eff6ff;
  --primary-100: #dbeafe;
  --primary-200: #bfdbfe;
  --primary-300: #93c5fd;
  --primary-400: #60a5fa;
  --primary-500: #2563eb;
  --primary-600: #1d4ed8;
  --primary-700: #1e40af;
  --primary-800: #1e3a5f;
  --primary-900: #0f172a;
  --primary: var(--primary-500);
  --primary-glow: 0 0 20px rgba(37, 99, 235, 0.4), 0 0 60px rgba(37, 99, 235, 0.15);

  /* ── Accent: Neon Amber ─────────────────────────────────────── */
  --accent-50: #fffbeb;
  --accent-100: #fef3c7;
  --accent-200: #fde68a;
  --accent-300: #fcd34d;
  --accent-400: #fbbf24;
  --accent-500: #f59e0b;
  --accent-600: #d97706;
  --accent-700: #b45309;
  --accent-800: #92400e;
  --accent-900: #78350f;
  --accent: var(--accent-500);
  --accent-glow: 0 0 20px rgba(245, 158, 11, 0.4), 0 0 60px rgba(245, 158, 11, 0.15);

  /* ── Neon Accent Colors ─────────────────────────────────────── */
  --neon-cyan: #06b6d4;
  --neon-cyan-glow: 0 0 15px rgba(6, 182, 212, 0.5);
  --neon-purple: #a855f7;
  --neon-purple-glow: 0 0 15px rgba(168, 85, 247, 0.5);
  --neon-green: #22c55e;
  --neon-green-glow: 0 0 15px rgba(34, 197, 94, 0.5);

  /* ── Neutral Scale ──────────────────────────────────────────── */
  --neutral-50: #f8fafc;
  --neutral-100: #f1f5f9;
  --neutral-200: #e2e8f0;
  --neutral-300: #cbd5e1;
  --neutral-400: #94a3b8;
  --neutral-500: #64748b;
  --neutral-600: #475569;
  --neutral-700: #334155;
  --neutral-800: #1e293b;
  --neutral-900: #0f172a;
  --neutral-950: #020617;

  /* ── Semantic Colors ────────────────────────────────────────── */
  --success: #22c55e;
  --success-glow: 0 0 12px rgba(34, 197, 94, 0.35);
  --warning: #f59e0b;
  --warning-glow: 0 0 12px rgba(245, 158, 11, 0.35);
  --error: #ef4444;
  --error-glow: 0 0 12px rgba(239, 68, 68, 0.35);
  --info: #3b82f6;
  --info-glow: 0 0 12px rgba(59, 130, 246, 0.35);

  /* ── Surfaces (LIGHT Theme — Default for public site flow) ─── */
  --surface-0: #f8fafc;       /* Page bg */
  --surface-1: #ffffff;       /* Main bg */
  --surface-2: #f1f5f9;       /* Card / muted surface */
  --surface-3: #e2e8f0;       /* Elevated / hover */
  --surface-4: #cbd5e1;       /* Strong hover */

  /* ── Glass Surfaces ─────────────────────────────────────────── */
  --glass-bg: rgba(255, 255, 255, 0.86);
  --glass-bg-hover: rgba(255, 255, 255, 0.95);
  --glass-border: rgba(15, 23, 42, 0.08);
  --glass-border-hover: rgba(15, 23, 42, 0.14);
  --glass-blur: blur(16px);
  --glass-blur-heavy: blur(24px);

  /* ── Text ───────────────────────────────────────────────────── */
  --text-primary: #0f172a;
  --text-secondary: #475569;
  --text-muted: #64748b;
  --text-inverse: #f8fafc;

  /* ── Typography ─────────────────────────────────────────────── */
  --font-sans: 'Inter', 'SF Pro Display', -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif;
  --font-mono: 'JetBrains Mono', 'Cascadia Code', 'Fira Code', 'SF Mono', Consolas, monospace;
  --font-display: 'Inter', 'SF Pro Display', system-ui, sans-serif;

  --text-xs: 0.75rem;     /* 12px */
  --text-sm: 0.875rem;    /* 14px */
  --text-base: 1rem;      /* 16px */
  --text-lg: 1.125rem;    /* 18px */
  --text-xl: 1.25rem;     /* 20px */
  --text-2xl: 1.5rem;     /* 24px */
  --text-3xl: 1.875rem;   /* 30px */
  --text-4xl: 2.25rem;    /* 36px */
  --text-5xl: 3rem;       /* 48px */
  --text-6xl: 3.75rem;    /* 60px */
  --text-7xl: 4.5rem;     /* 72px */

  --font-normal: 400;
  --font-medium: 500;
  --font-semibold: 600;
  --font-bold: 700;
  --font-extrabold: 800;
  --font-black: 900;

  --leading-tight: 1.1;
  --leading-snug: 1.3;
  --leading-normal: 1.6;
  --leading-relaxed: 1.75;

  --tracking-tight: -0.025em;
  --tracking-normal: 0;
  --tracking-wide: 0.025em;
  --tracking-wider: 0.05em;

  /* ── Spacing ────────────────────────────────────────────────── */
  --space-1: 0.25rem;   /* 4px */
  --space-2: 0.5rem;    /* 8px */
  --space-3: 0.75rem;   /* 12px */
  --space-4: 1rem;      /* 16px */
  --space-5: 1.25rem;   /* 20px */
  --space-6: 1.5rem;    /* 24px */
  --space-8: 2rem;      /* 32px */
  --space-10: 2.5rem;   /* 40px */
  --space-12: 3rem;     /* 48px */
  --space-16: 4rem;     /* 64px */
  --space-20: 5rem;     /* 80px */
  --space-24: 6rem;     /* 96px */

  /* ── Border Radius ──────────────────────────────────────────── */
  --radius-sm: 0.375rem;
  --radius-md: 0.5rem;
  --radius-lg: 0.75rem;
  --radius-xl: 1rem;
  --radius-2xl: 1.25rem;
  --radius-3xl: 1.5rem;
  --radius-full: 9999px;

  /* ── Shadows ────────────────────────────────────────────────── */
  --shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.05);
  --shadow-md: 0 4px 10px rgba(15, 23, 42, 0.07);
  --shadow-lg: 0 12px 28px rgba(15, 23, 42, 0.1);
  --shadow-xl: 0 20px 48px rgba(15, 23, 42, 0.12);
  --shadow-glow-blue: 0 0 24px rgba(37, 99, 235, 0.18);
  --shadow-glow-amber: 0 0 24px rgba(245, 158, 11, 0.18);
  --shadow-glow-cyan: 0 0 24px rgba(6, 182, 212, 0.18);

  /* ── Borders ────────────────────────────────────────────────── */
  --border-subtle: 1px solid rgba(15, 23, 42, 0.05);
  --border-default: 1px solid rgba(15, 23, 42, 0.1);
  --border-strong: 1px solid rgba(15, 23, 42, 0.14);
  --border-glow: 1px solid rgba(37, 99, 235, 0.28);

  /* ── Transitions ────────────────────────────────────────────── */
  --transition-fast: 150ms cubic-bezier(0.22, 1, 0.36, 1);
  --transition-base: 250ms cubic-bezier(0.22, 1, 0.36, 1);
  --transition-slow: 400ms cubic-bezier(0.22, 1, 0.36, 1);
  --transition-spring: 400ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* ── Z-Index Scale ──────────────────────────────────────────── */
  --z-base: 1;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-nav: 1000;
  --z-modal: 2000;
  --z-toast: 3000;
  --z-tooltip: 4000;

  /* ── Layout ─────────────────────────────────────────────────── */
  --container-max: 1200px;
  --container-narrow: 900px;
  --container-wide: 1280px;
  --nav-height: 64px;
  --section-gap: clamp(3.5rem, 7vw, 6rem);

  /* ── Background Patterns ────────────────────────────────────── */
  --bg-grid: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%232563eb' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
  --bg-dots: radial-gradient(circle at 1px 1px, rgba(37, 99, 235, 0.06) 1px, transparent 0);
  --bg-circuit: url("data:image/svg+xml,%3Csvg width='100' height='100' viewBox='0 0 100 100' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M10 50h20v2H10zm30-10v20h2V40zm10 0h20v2H50zm-10 20v20h2V60zm30-30v20h2V30zm-50 40h20v2H20z' stroke='%232563eb' stroke-width='0.5' fill='none' opacity='0.08'/%3E%3Ccircle cx='30' cy='40' r='2' fill='%232563eb' opacity='0.15'/%3E%3Ccircle cx='60' cy='60' r='1.5' fill='%232563eb' opacity='0.12'/%3E%3Ccircle cx='50' cy='90' r='2' fill='%232563eb' opacity='0.15'/%3E%3Ccircle cx='80' cy='30' r='1.5' fill='%232563eb' opacity='0.12'/%3E%3C/svg%3E");

  /* ── Scan Line Effect (for hero) ────────────────────────────── */
  --scan-line: repeating-linear-gradient(0deg, transparent, transparent 2px, rgba(37, 99, 235, 0.015) 2px, rgba(37, 99, 235, 0.015) 4px);
}

/* ═══════════════════════════════════════════════════════════════════════
   DARK THEME OVERRIDES (optional — theme toggle)
   ═══════════════════════════════════════════════════════════════════════ */
[data-theme="dark"] {
  --surface-0: #020617;
  --surface-1: #0a0f1e;
  --surface-2: #111827;
  --surface-3: #1a2332;
  --surface-4: #243044;
  --glass-bg: rgba(17, 24, 39, 0.72);
  --glass-bg-hover: rgba(26, 35, 50, 0.88);
  --glass-border: rgba(255, 255, 255, 0.08);
  --glass-border-hover: rgba(255, 255, 255, 0.14);
  --text-primary: #f1f5f9;
  --text-secondary: #94a3b8;
  --text-muted: #64748b;
  --text-inverse: #0f172a;
  --border-subtle: 1px solid rgba(255, 255, 255, 0.06);
  --border-default: 1px solid rgba(255, 255, 255, 0.1);
  --border-strong: 1px solid rgba(255, 255, 255, 0.15);
  --border-glow: 1px solid rgba(37, 99, 235, 0.35);
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 6px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.5);
  --shadow-xl: 0 20px 50px rgba(0, 0, 0, 0.6);
}

/* Keep light token alias working for older code that sets data-theme=light */
[data-theme="light"] {
  /* inherits light :root defaults */
}
