/* =========================================
   BP Soft Solutions - Design System Variables
   ========================================= */

:root {
  /* Brand Colors */
  --bp-blue: #1565ff;
  --bp-blue-light: #00a8ff;
  --bp-blue-dark: #0d3fa6;
  --bp-green: #00e676;
  --bp-green-light: #39ff14;
  --bp-green-dark: #00b248;
  --bp-cyan: #00cfff;

  /* Gradient Definitions */
  --grad-brand: linear-gradient(135deg, var(--bp-blue) 0%, var(--bp-cyan) 50%, var(--bp-green) 100%);
  --grad-hero: linear-gradient(135deg, #070b14 0%, #0d1832 50%, #060e1f 100%);
  --grad-card: linear-gradient(145deg, rgba(21, 101, 255, 0.08), rgba(0, 230, 118, 0.05));
  --grad-btn-primary: linear-gradient(135deg, var(--bp-blue), var(--bp-blue-light));
  --grad-btn-green: linear-gradient(135deg, var(--bp-green-dark), var(--bp-green));

  /* Background Colors - Dark Mode (Default) */
  --bg-primary: #070b14;
  --bg-secondary: #0d1320;
  --bg-tertiary: #111927;
  --bg-card: #0f1926;
  --bg-card-hover: #162236;
  --bg-glass: rgba(13, 19, 32, 0.7);
  --bg-glass-light: rgba(255, 255, 255, 0.04);
  --bg-nav: rgba(7, 11, 20, 0.92);

  /* Text Colors - Dark Mode */
  --text-primary: #f0f4ff;
  --text-secondary: #8fa3c8;
  --text-muted: #4d6080;
  --text-accent: var(--bp-blue-light);

  /* Border Colors */
  --border-primary: rgba(21, 101, 255, 0.2);
  --border-secondary: rgba(255, 255, 255, 0.06);
  --border-card: rgba(21, 101, 255, 0.15);

  /* Shadow */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 8px 32px rgba(0, 0, 0, 0.4);
  --shadow-lg: 0 16px 64px rgba(0, 0, 0, 0.5);
  --shadow-blue: 0 4px 24px rgba(21, 101, 255, 0.3);
  --shadow-green: 0 4px 24px rgba(0, 230, 118, 0.2);
  --shadow-glow: 0 0 40px rgba(21, 101, 255, 0.15);

  /* Typography */
  --font-primary: 'Outfit', 'Inter', sans-serif;
  --font-mono: 'JetBrains Mono', 'Fira Code', monospace;

  /* Font Sizes */
  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 1.875rem;
  --text-4xl: 2.25rem;
  --text-5xl: 3rem;
  --text-6xl: 3.75rem;
  --text-7xl: 4.5rem;

  /* Spacing */
  --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;

  /* Border Radius */
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 20px;
  --radius-xl: 32px;
  --radius-full: 9999px;

  /* Transitions */
  --transition-fast: 150ms ease;
  --transition-base: 300ms ease;
  --transition-slow: 500ms ease;
  --transition-bounce: 400ms cubic-bezier(0.34, 1.56, 0.64, 1);

  /* Z-Index Scale */
  --z-base: 1;
  --z-dropdown: 100;
  --z-sticky: 200;
  --z-modal: 300;
  --z-toast: 400;

  /* Layout */
  --max-width: 1280px;
  --nav-height: 80px;
}

/* Light Mode Overrides */
[data-theme="light"] {
  --bg-primary: #f4f7ff;
  --bg-secondary: #eef2ff;
  --bg-tertiary: #e8eeff;
  --bg-card: #ffffff;
  --bg-card-hover: #f0f4ff;
  --bg-glass: rgba(255, 255, 255, 0.85);
  --bg-glass-light: rgba(0, 0, 0, 0.03);
  --bg-nav: rgba(244, 247, 255, 0.95);

  --text-primary: #0a0f1e;
  --text-secondary: #3a4a6b;
  --text-muted: #7a8fbb;
  --text-accent: var(--bp-blue);

  --border-primary: rgba(21, 101, 255, 0.25);
  --border-secondary: rgba(0, 0, 0, 0.08);
  --border-card: rgba(21, 101, 255, 0.2);

  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.06);
  --shadow-md: 0 8px 32px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 16px 64px rgba(0, 0, 0, 0.12);
  --shadow-blue: 0 4px 24px rgba(21, 101, 255, 0.2);
  --shadow-green: 0 4px 24px rgba(0, 230, 118, 0.15);
  --shadow-glow: 0 0 40px rgba(21, 101, 255, 0.08);

  --grad-hero: linear-gradient(135deg, #e8eeff 0%, #f4f7ff 50%, #eef2ff 100%);
  --grad-card: linear-gradient(145deg, rgba(21, 101, 255, 0.05), rgba(0, 230, 118, 0.03));
}
