/**
 * Kalyx Skill Training Institute
 * CSS Design Tokens & Variable System
 * 
 * NOTE: This is a temporary, modular design-token system.
 * You can effortlessly change the entire brand palette by editing
 * the hex values under "Brand Colors" below.
 */

:root {
  /* ==========================================================================
     1. BRAND COLORS (Change these 4-5 tokens to rebrand the site)
     ========================================================================== */
  --brand-primary: #1e3a8a;          /* Authoritative Deep Indigo / Navy */
  --brand-primary-hover: #172554;    /* Darker shade for hover/active */
  --brand-primary-light: #eff6ff;    /* Soft tint for badges and highlights */
  --brand-primary-subtle: #dbeafe;   /* Subtle border/ring tint */

  --brand-accent: #2563eb;           /* High-contrast electric blue for CTAs */
  --brand-accent-hover: #1d4ed8;     /* Accent hover */
  --brand-accent-light: #f0fdf4;

  --brand-whatsapp: #25d366;         /* Official WhatsApp Green */
  --brand-whatsapp-hover: #20ba5a;

  /* ==========================================================================
     2. SURFACE & BACKGROUND TOKENS
     ========================================================================== */
  --surface-body: #ffffff;
  --surface-alt: #f8fafc;            /* Off-white alternate section background */
  --surface-card: #ffffff;           /* Card container background */
  --surface-card-hover: #ffffff;
  --surface-muted: #f1f5f9;          /* Neutral input & badge background */
  --surface-border: #e2e8f0;         /* Subtle structural borders */
  --surface-border-strong: #cbd5e1;  /* High-contrast borders */
  --surface-overlay: rgba(15, 23, 42, 0.6); /* Backdrop for modals */

  /* ==========================================================================
     3. TEXT & CONTRAST TOKENS
     ========================================================================== */
  --text-primary: #0f172a;           /* Highest contrast charcoal for headings */
  --text-secondary: #334155;         /* Crisp, accessible slate for body copy */
  --text-muted: #64748b;             /* Secondary helper & meta text */
  --text-light: #94a3b8;             /* Footers and subtle labels */
  --text-inverse: #ffffff;           /* Text on dark buttons & banners */
  --text-link: var(--brand-accent);

  /* ==========================================================================
     4. FEEDBACK & STATUS COLORS
     ========================================================================== */
  --color-success: #16a34a;
  --color-success-bg: #f0fdf4;
  --color-error: #dc2626;
  --color-error-bg: #fef2f2;
  --color-warning: #d97706;
  --color-warning-bg: #fffbeb;

  /* ==========================================================================
     5. TYPOGRAPHY SYSTEM
     ========================================================================== */
  --font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji";
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;

  /* Font Sizes using fluid scaling */
  --text-xs: 0.75rem;       /* 12px */
  --text-sm: 0.875rem;      /* 14px */
  --text-base: 1rem;         /* 16px */
  --text-md: 1.125rem;      /* 18px */
  --text-lg: 1.25rem;       /* 20px */
  --text-xl: 1.5rem;        /* 24px */
  --text-2xl: clamp(1.625rem, 2vw + 1rem, 2rem);        /* ~26px - 32px */
  --text-3xl: clamp(2rem, 3vw + 1rem, 2.75rem);         /* ~32px - 44px */
  --text-4xl: clamp(2.35rem, 4vw + 1rem, 3.5rem);        /* ~38px - 56px */

  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;

  --line-height-tight: 1.2;
  --line-height-snug: 1.35;
  --line-height-relaxed: 1.65;

  /* ==========================================================================
     6. 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: 4.5rem;    /* 72px */
  --space-4xl: 6rem;      /* 96px */

  /* ==========================================================================
     7. ELEVATION, RADIUS & TRANSITIONS
     ========================================================================== */
  --radius-xs: 4px;
  --radius-sm: 6px;
  --radius-md: 10px;
  --radius-lg: 14px;
  --radius-xl: 20px;
  --radius-full: 9999px;

  --shadow-xs: 0 1px 2px 0 rgba(15, 23, 42, 0.04);
  --shadow-sm: 0 1px 3px 0 rgba(15, 23, 42, 0.08), 0 1px 2px -1px rgba(15, 23, 42, 0.06);
  --shadow-md: 0 4px 6px -1px rgba(15, 23, 42, 0.08), 0 2px 4px -2px rgba(15, 23, 42, 0.06);
  --shadow-lg: 0 10px 15px -3px rgba(15, 23, 42, 0.08), 0 4px 6px -4px rgba(15, 23, 42, 0.04);
  --shadow-xl: 0 20px 25px -5px rgba(15, 23, 42, 0.09), 0 8px 10px -6px rgba(15, 23, 42, 0.04);

  --transition-fast: 150ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-normal: 250ms cubic-bezier(0.4, 0, 0.2, 1);
  --transition-slow: 350ms cubic-bezier(0.4, 0, 0.2, 1);

  /* ==========================================================================
     8. LAYOUT MAX-WIDTHS & Z-INDEX
     ========================================================================== */
  --container-max-w: 1200px;
  --container-narrow-w: 800px;
  --container-padding: clamp(1rem, 4vw, 2rem);

  --z-header: 100;
  --z-drawer: 200;
  --z-modal: 300;
  --z-toast: 400;
  --z-floating: 90;
}
