/* ==========================================================================
   EDU POINT — DESIGN TOKENS
   Central source of truth for color, type, spacing, motion and elevation.
   Every other stylesheet reads from these custom properties only.
   ========================================================================== */

:root {

  /* ---------- Brand Colors ---------- */
  --color-primary: #1464F4;
  --color-primary-light: #2E7BFF;
  --color-primary-dark: #0D4FC7;
  --color-navy: #081B3A;
  --color-navy-soft: #10254A;
  --color-bg: #F8FAFC;
  --color-white: #FFFFFF;
  --color-accent: #FF9D2D;
  --color-green: #1FA971;
  --color-text: #0F172A;
  --color-text-muted: #56637A;
  --color-text-soft: #8A96A8;
  --color-border: #E4E9F1;
  --color-border-soft: rgba(15, 23, 42, 0.08);

  /* ---------- Gradients ---------- */
  --gradient-primary: linear-gradient(135deg, #1464F4 0%, #2E7BFF 100%);
  --gradient-navy: linear-gradient(160deg, #081B3A 0%, #0D2C5C 55%, #123B78 100%);
  --gradient-radial-glow: radial-gradient(circle at 30% 20%, rgba(46, 123, 255, 0.35), transparent 60%);
  --gradient-accent: linear-gradient(120deg, #FF9D2D 0%, #FFB25C 100%);
  --gradient-fade-bottom: linear-gradient(180deg, rgba(8, 27, 58, 0) 0%, rgba(8, 27, 58, 0.9) 100%);

  /* ---------- Typography ---------- */
  --font-display: 'Outfit', 'Inter', sans-serif;
  --font-body: 'Inter', 'Outfit', sans-serif;

  --fs-display-xl: clamp(2rem, 3.4vw, 3.25rem);
  --fs-display-lg: clamp(2rem, 3.2vw, 3.75rem);
  --fs-display-md: clamp(1.85rem, 3vw, 2.75rem);
  --fs-display-sm: clamp(1.5rem, 2.2vw, 2rem);
  --fs-lead: 1rem; /* 16px desktop; overridden to 13px on mobile in responsive.css */
  --fs-body: 1rem;
  --fs-small: 0.875rem;
  --fs-tiny: 0.75rem;

  --lh-tight: 1.1;
  --lh-snug: 1.3;
  --lh-normal: 1.6;
  --lh-loose: 1.8;

  --ls-tight: -0.02em;
  --ls-wide: 0.08em;
  --ls-wider: 0.18em;

  /* ---------- Spacing Scale ---------- */
  --space-3xs: 0.25rem;
  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-2xl: 4.5rem;
  --space-3xl: 6.5rem;
  --space-4xl: 9rem;

  --container-max: 1320px;
  --container-narrow: 860px;
  --container-pad: clamp(1.25rem, 5vw, 4rem);

  /* ---------- Radius ----------
     Standardized to a single flat 8px across the whole site (cards, banners,
     buttons, pills) at every breakpoint — no more oversized rounded corners. */
  --radius-sm: 8px;
  --radius-md: 8px;
  --radius-lg: 8px;
  --radius-xl: 8px;
  --radius-pill: 8px;

  /* ---------- Shadow / Elevation ---------- */
  --shadow-sm: 0 2px 8px rgba(8, 27, 58, 0.06);
  --shadow-md: 0 12px 32px rgba(8, 27, 58, 0.10);
  --shadow-lg: 0 24px 64px rgba(8, 27, 58, 0.14);
  --shadow-glow: 0 20px 60px rgba(20, 100, 244, 0.28);
  --shadow-card-hover: 0 30px 70px rgba(8, 27, 58, 0.18);

  /* ---------- Glass ---------- */
  --glass-bg: rgba(255, 255, 255, 0.08);
  --glass-border: rgba(255, 255, 255, 0.18);
  --glass-blur: blur(20px);
  --glass-bg-light: rgba(255, 255, 255, 0.7);
  --glass-border-light: rgba(255, 255, 255, 0.5);

  /* ---------- Motion ---------- */
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 0.25s;
  --dur-med: 0.5s;
  --dur-slow: 0.9s;

  /* ---------- Z-Index ---------- */
  --z-header: 500;
  --z-overlay: 600;
  --z-modal: 700;
  --z-toast: 800;
}
