/* ============================================
   CREDIAN — Design Tokens & Variables
   Central source of truth for all design values
   ============================================ */

:root {
  /* ---- Brand Colors ---- */
  --color-blue: #2B4DA8;
  --color-blue-dark: #1E3A7A;
  --color-blue-light: #3A6BD6;
  --color-green: #3AAA6E;
  --color-green-dark: #2D8A58;
  --color-green-light: #4CC882;

  /* ---- Neutral Colors ---- */
  --color-dark: #3D3D3D;
  --color-navbar: #1A1D24;
  --color-white: #FFFFFF;
  --color-gray-light: #F5F6FA;
  --color-gray-mid: #E0E2EA;
  --color-gray-text: #6B7280;
  --color-overlay: rgba(26, 29, 36, 0.95);

  /* ---- Gradients ---- */
  --gradient-brand: linear-gradient(135deg, var(--color-blue) 0%, var(--color-green) 100%);
  --gradient-brand-reverse: linear-gradient(135deg, var(--color-green) 0%, var(--color-blue) 100%);
  --gradient-hero: linear-gradient(160deg, #1a2e5a 0%, #2B4DA8 35%, #3AAA6E 100%);
  --gradient-dark: linear-gradient(135deg, #111317 0%, #1A1D24 100%);
  --gradient-card: linear-gradient(180deg, rgba(255,255,255,0) 0%, rgba(245,246,250,0.5) 100%);
  --gradient-shimmer: linear-gradient(90deg, transparent 0%, rgba(255,255,255,0.4) 50%, transparent 100%);

  /* ---- Typography ---- */
  --font-display: 'Plus Jakarta Sans', 'Segoe UI', sans-serif;
  --font-body: 'DM Sans', 'Segoe UI', sans-serif;

  /* Fluid type scale using clamp() */
  --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
  --text-sm: clamp(0.8125rem, 0.75rem + 0.3vw, 0.9375rem);
  --text-base: clamp(0.9375rem, 0.875rem + 0.3vw, 1.0625rem);
  --text-lg: clamp(1.0625rem, 0.95rem + 0.5vw, 1.25rem);
  --text-xl: clamp(1.25rem, 1.1rem + 0.7vw, 1.5rem);
  --text-2xl: clamp(1.5rem, 1.25rem + 1.2vw, 2rem);
  --text-3xl: clamp(1.875rem, 1.5rem + 1.8vw, 2.75rem);
  --text-4xl: clamp(2.25rem, 1.75rem + 2.5vw, 3.5rem);
  --text-5xl: clamp(2.75rem, 2rem + 3.5vw, 4.5rem);

  /* Font weights */
  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;
  --fw-extrabold: 800;

  /* ---- Spacing ---- */
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
  --space-4xl: 6rem;
  --space-section: clamp(4rem, 3rem + 5vw, 7rem);

  /* ---- Layout ---- */
  --max-width: 1200px;
  --max-width-narrow: 900px;
  --container-padding: clamp(1.25rem, 1rem + 2vw, 2rem);
  --navbar-height: 80px;

  /* ---- Border Radius ---- */
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-2xl: 32px;
  --radius-pill: 100px;
  --radius-full: 50%;

  /* ---- Shadows ---- */
  --shadow-sm: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 12px rgba(0,0,0,0.08), 0 2px 4px rgba(0,0,0,0.04);
  --shadow-lg: 0 10px 30px rgba(0,0,0,0.1), 0 4px 8px rgba(0,0,0,0.05);
  --shadow-xl: 0 20px 50px rgba(0,0,0,0.12), 0 8px 16px rgba(0,0,0,0.06);
  --shadow-navbar: 0 8px 32px rgba(0,0,0,0.18);
  --shadow-card-hover: 0 16px 40px rgba(43,77,168,0.15), 0 6px 12px rgba(0,0,0,0.06);
  --shadow-glow-blue: 0 0 40px rgba(43,77,168,0.3);
  --shadow-glow-green: 0 0 40px rgba(58,170,110,0.3);

  /* ---- Transitions ---- */
  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-base: 300ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 500ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-spring: 500ms cubic-bezier(0.175, 0.885, 0.32, 1.275);

  /* ---- Z-indexes ---- */
  --z-base: 1;
  --z-dropdown: 100;
  --z-navbar: 1000;
  --z-overlay: 2000;
  --z-modal: 3000;
  --z-cursor: 9999;
}
