/* ==========================================================================
   New Hope Women Education Foundation
   Design System Tokens (Zero Inline CSS Architecture)
   ========================================================================== */

:root {
  /* --- Brand Color Palette (Terra / Rooted Warmth) --- */
  --color-primary-dark: #002716;      /* Deep Forest Green */
  --color-primary: #0f3e28;           /* Rich Evergreen */
  --color-primary-light: #225a3d;     /* Emerald Medium */
  --color-primary-subtle: #eaf7ed;    /* Pale Sage Background */
  --color-primary-fixed: #bdeece;     /* Soft Mint Badge */
  --color-primary-fixed-dim: #a1d1b3;
  --color-on-primary: #ffffff;

  --color-secondary: #016a6a;         /* Deep Teal */
  --color-secondary-dark: #004f50;
  --color-secondary-light: #158a8a;
  --color-secondary-container: #d9f4f4;
  --color-on-secondary: #ffffff;

  --color-accent: #cd8500;            /* Warm Amber / Harvest Gold */
  --color-accent-dark: #705c30;
  --color-accent-light: #ffdead;
  --color-accent-badge: #fabc4d;

  /* --- Neutral & Surface System --- */
  --color-background: #faf6f0;        /* Warm Cream Organic Canvas */
  --color-surface: #ffffff;           /* Crisp Card Surface */
  --color-surface-tint: #f4faf5;       /* Subtle Tinted Card */
  --color-surface-container: #e4f1e7;  /* Light Mint Card */
  --color-surface-alt: #f0ebe1;        /* Warm Secondary Sand */
  --color-surface-dark: #13241b;       /* Dark Section Backdrop */

  /* --- Text & Contrast --- */
  --color-text-main: #131e18;          /* Primary Body Text */
  --color-text-secondary: #3d4a41;     /* Subdued Body & Captions */
  --color-text-muted: #5e6b62;         /* Metadata & Tertiary Text */
  --color-text-light: #ffffff;         /* Text on Dark Backgrounds */
  --color-text-inverse-muted: #c1c9c1;

  /* --- Borders & Outlines --- */
  --color-border: #d9e2db;
  --color-border-light: #e8eee9;
  --color-border-focus: #0f3e28;
  --color-outline: #717972;

  /* --- Status Colors --- */
  --color-success: #1b6d39;
  --color-warning: #9e6400;
  --color-danger: #a82020;
  --color-info: #006080;

  /* --- Typography Families --- */
  --font-headline: 'Literata', Georgia, serif;
  --font-title: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  --font-body: 'Nunito Sans', 'Inter', system-ui, -apple-system, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;

  /* --- Type Scale --- */
  --font-size-xs: 0.75rem;     /* 12px */
  --font-size-sm: 0.875rem;    /* 14px */
  --font-size-base: 1rem;      /* 16px */
  --font-size-md: 1.125rem;    /* 18px */
  --font-size-lg: 1.25rem;     /* 20px */
  --font-size-xl: 1.5rem;      /* 24px */
  --font-size-2xl: 1.875rem;   /* 30px */
  --font-size-3xl: 2.25rem;    /* 36px */
  --font-size-4xl: 3rem;       /* 48px */
  --font-size-5xl: 3.75rem;    /* 60px */

  /* --- Font Weights --- */
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;

  /* --- Line Heights --- */
  --line-height-tight: 1.15;
  --line-height-snug: 1.3;
  --line-height-base: 1.6;
  --line-height-relaxed: 1.75;

  /* --- Spacing Scale --- */
  --space-2xs: 0.25rem;   /* 4px */
  --space-xs: 0.5rem;     /* 8px */
  --space-sm: 0.75rem;    /* 12px */
  --space-md: 1rem;       /* 16px */
  --space-lg: 1.5rem;     /* 24px */
  --space-xl: 2rem;       /* 32px */
  --space-2xl: 3rem;      /* 48px */
  --space-3xl: 4rem;      /* 64px */
  --space-4xl: 6rem;      /* 96px */

  /* --- Layout & Containers --- */
  --container-max-width: 1280px;
  --container-narrow-width: 960px;
  --container-padding: 1.5rem;

  /* --- Border Radii --- */
  --radius-xs: 0.25rem;   /* 4px */
  --radius-sm: 0.5rem;    /* 8px */
  --radius-md: 0.75rem;   /* 12px */
  --radius-lg: 1rem;      /* 16px */
  --radius-xl: 1.5rem;    /* 24px */
  --radius-full: 9999px;  /* Pills */

  /* --- Elevation & Shadows --- */
  --shadow-xs: 0 1px 2px rgba(15, 62, 40, 0.05);
  --shadow-sm: 0 2px 8px rgba(15, 62, 40, 0.06);
  --shadow-md: 0 6px 20px rgba(15, 62, 40, 0.08);
  --shadow-lg: 0 12px 32px -4px rgba(15, 62, 40, 0.12);
  --shadow-xl: 0 20px 48px -8px rgba(15, 62, 40, 0.16);
  --shadow-inset: inset 0 2px 4px rgba(0, 0, 0, 0.05);

  /* --- Transitions & Timing --- */
  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-normal: 250ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 400ms cubic-bezier(0.4, 0, 0.2, 1);

  /* --- Z-Index Hierarchy --- */
  --z-base: 1;
  --z-card: 10;
  --z-sticky: 100;
  --z-header: 1000;
  --z-drawer: 1100;
  --z-modal: 1200;
  --z-toast: 1300;
}
