/* =========================================================
   VARIABLES.CSS — GrowLattice Design System
   ---------------------------------------------------------
   Single source of truth for every color, spacing, radius,
   shadow, font, transition and breakpoint value on the site.
   Nothing outside this file should hardcode a raw value —
   every other CSS file consumes these custom properties.
   Toggle the whole visual system by editing values here.
========================================================= */

:root {
  /* ---------- COLOR: BRAND ---------- */
  --color-primary-50:  #EEF2FF;
  --color-primary-100: #E0E7FF;
  --color-primary-200: #C7D2FE;
  --color-primary-300: #A5B4FC;
  --color-primary-400: #818CF8;
  --color-primary-500: #6366F1;
  --color-primary-600: #4F46E5;   /* primary brand color */
  --color-primary-700: #4338CA;
  --color-primary-800: #3730A3;
  --color-primary-900: #312E81;

  --color-secondary-500: #0EA5A4;  /* growth teal — secondary accent */
  --color-secondary-600: #0D9488;
  --color-secondary-700: #0F766E;

  --color-accent-500: #F59E0B;     /* warm accent for highlights/badges */
  --color-accent-600: #D97706;

  /* ---------- COLOR: SEMANTIC ---------- */
  --color-success-500: #10B981;
  --color-success-100: #D1FAE5;
  --color-warning-500: #F59E0B;
  --color-warning-100: #FEF3C7;
  --color-danger-500:  #EF4444;
  --color-danger-100:  #FEE2E2;

  /* ---------- COLOR: NEUTRALS / SURFACES ---------- */
  --color-background:      #FBFBFD;
  --color-surface:         #FFFFFF;
  --color-surface-hover:   #F5F5F8;
  --color-surface-sunken:  #F2F3F7;
  --color-border:          #E7E8EF;
  --color-border-strong:   #D6D8E3;

  --color-text:            #0B0D17;
  --color-text-secondary:  #414458;
  --color-text-muted:      #6B6E82;
  --color-text-inverse:    #FFFFFF;

  /* gradient tokens — used sparingly (hero background, CTA accents) */
  --gradient-brand: linear-gradient(135deg, var(--color-primary-600) 0%, var(--color-secondary-600) 100%);
  --gradient-surface: linear-gradient(180deg, #FFFFFF 0%, #F7F7FC 100%);
  --gradient-radial-glow: radial-gradient(600px circle at var(--x, 50%) var(--y, 0%), rgba(79, 70, 229, 0.12), transparent 70%);

  /* ---------- TYPOGRAPHY ---------- */
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
  --font-mono: 'SFMono-Regular', Consolas, 'Liberation Mono', Menlo, monospace;

  --fs-xs:   0.8125rem;   /* 13px */
  --fs-sm:   0.9375rem;   /* 15px */
  --fs-base: 1rem;        /* 16px */
  --fs-lg:   1.125rem;    /* 18px */
  --fs-xl:   1.375rem;    /* 22px */
  --fs-2xl:  1.75rem;     /* 28px */
  --fs-3xl:  2.25rem;     /* 36px */
  --fs-4xl:  2.875rem;    /* 46px */
  --fs-5xl:  3.5rem;      /* 56px */
  --fs-6xl:  4.25rem;     /* 68px */

  --lh-tight:  1.15;
  --lh-snug:   1.35;
  --lh-normal: 1.6;
  --lh-relaxed: 1.75;

  --tracking-tight: -0.02em;
  --tracking-tighter: -0.035em;
  --tracking-normal: 0;
  --tracking-wide: 0.04em;

  --fw-regular: 400;
  --fw-medium: 500;
  --fw-semibold: 600;
  --fw-bold: 700;

  /* ---------- SPACING SCALE (4px base) ---------- */
  --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;
  --space-32: 8rem;
  --space-40: 10rem;

  /* ---------- RADIUS ---------- */
  --radius-sm:  8px;
  --radius-md:  12px;
  --radius-lg:  16px;
  --radius-xl:  22px;
  --radius-2xl: 28px;
  --radius-full: 999px;

  /* ---------- SHADOW ---------- */
  --shadow-xs: 0 1px 2px rgba(15, 15, 35, 0.04);
  --shadow-sm: 0 2px 8px rgba(15, 15, 35, 0.06);
  --shadow-md: 0 8px 24px rgba(15, 15, 35, 0.08);
  --shadow-lg: 0 16px 40px rgba(15, 15, 35, 0.10);
  --shadow-xl: 0 24px 64px rgba(15, 15, 35, 0.14);
  --shadow-brand: 0 12px 32px rgba(79, 70, 229, 0.22);
  --shadow-focus: 0 0 0 3px rgba(79, 70, 229, 0.35);

  /* ---------- TRANSITIONS ---------- */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --transition-fast: 150ms var(--ease-standard);
  --transition-base: 250ms var(--ease-standard);
  --transition-slow: 450ms var(--ease-out-expo);

  /* ---------- LAYOUT ---------- */
  --container-sm:  640px;
  --container-md:  860px;
  --container-lg:  1120px;
  --container-xl:  1280px;
  --container-max: 1440px;
  --header-height: 76px;

  /* ---------- Z-INDEX SCALE ---------- */
  --z-base: 1;
  --z-dropdown: 40;
  --z-header: 100;
  --z-overlay: 200;
  --z-modal: 300;
  --z-toast: 400;
}

/* Dark-surface tokens reserved for future use (theme stays "light" per config.js) */
