/* =========================================================
   ENROLAB — THEME TOKENS
   Change ANY color/font/radius here to re-theme the site.
   ========================================================= */

:root {
    /* ---------- BRAND COLORS ---------- */
    --brand-primary:        #0f4c5c;
    --brand-primary-dark:   #0a3744;
    --brand-primary-light:  #1a6e83;
    --brand-accent:         #e36414;
    --brand-accent-dark:    #b94e0a;
    --brand-accent-light:   #f7a072;

    /* ---------- NEUTRALS ---------- */
    --color-ink:            #14181f;
    --color-ink-soft:       #4a5360;
    --color-line:           #e4e7ec;
    --color-bg:             #fbfaf6;
    --color-bg-alt:         #f1ede4;
    --color-card:           #ffffff;
    --color-dark:           #0a1419;

    /* ---------- STATUS COLORS ---------- */
    --color-success:        #2d8659;
    --color-danger:         #c0392b;

    /* ---------- TYPOGRAPHY ---------- */
    --font-display: 'Fraunces', 'Times New Roman', serif;
    --font-body:    'Inter Tight', system-ui, -apple-system, sans-serif;
    --font-mono:    'JetBrains Mono', ui-monospace, monospace;

    --fs-hero:     clamp(2.25rem, 5.5vw, 4.75rem);
    --fs-h1:       clamp(2rem, 4vw, 3.25rem);
    --fs-h2:       clamp(1.6rem, 3vw, 2.4rem);
    --fs-h3:       1.4rem;
    --fs-lead:     1.1rem;
    --fs-body:     1rem;
    --fs-small:    0.875rem;
    --fs-eyebrow:  0.75rem;

    /* ---------- RADII / SHADOWS ---------- */
    --radius-sm: 4px;
    --radius:    8px;
    --radius-lg: 16px;
    --radius-xl: 24px;

    --shadow-sm:  0 1px 2px rgba(15, 76, 92, 0.06);
    --shadow:     0 4px 16px rgba(15, 76, 92, 0.08);
    --shadow-lg:  0 18px 48px -12px rgba(15, 76, 92, 0.18);
    --shadow-xl:  0 30px 80px -20px rgba(15, 76, 92, 0.25);

    --transition-fast: 150ms cubic-bezier(.2,.8,.2,1);
    --transition:      280ms cubic-bezier(.2,.8,.2,1);

    /* ---------- BOOTSTRAP OVERRIDES ---------- */
    --bs-primary:        var(--brand-primary);
    --bs-primary-rgb:    15, 76, 92;
    --bs-body-color:     var(--color-ink);
    --bs-body-bg:        var(--color-bg);
    --bs-body-font-family: var(--font-body);
    --bs-border-color:   var(--color-line);
    --bs-link-color:     var(--brand-primary);
    --bs-link-hover-color: var(--brand-accent);
    --bs-border-radius:  var(--radius);
}

/* ---------- ALTERNATIVE THEMES ---------- */
[data-theme="midnight"] {
    --brand-primary: #1e3a8a; --brand-primary-dark: #172554; --brand-primary-light: #3b5fd9;
    --brand-accent: #fbbf24; --brand-accent-dark: #d97706; --brand-accent-light: #fcd34d;
    --color-bg: #f8fafc; --color-bg-alt: #eef2f7;
    --bs-primary-rgb: 30, 58, 138;
}
[data-theme="forest"] {
    --brand-primary: #1f5128; --brand-primary-dark: #143318; --brand-primary-light: #3a7a45;
    --brand-accent: #d97706; --brand-accent-dark: #b45309; --brand-accent-light: #fbbf24;
    --color-bg: #faf9f4; --color-bg-alt: #efeee5;
    --bs-primary-rgb: 31, 81, 40;
}
[data-theme="crimson"] {
    --brand-primary: #991b1b; --brand-primary-dark: #6b0e0e; --brand-primary-light: #c53030;
    --brand-accent: #f59e0b; --brand-accent-dark: #d97706; --brand-accent-light: #fbbf24;
    --color-bg: #fdfaf7; --color-bg-alt: #f5ede5;
    --bs-primary-rgb: 153, 27, 27;
}
[data-theme="dark"] {
    --color-ink: #f5f3ee; --color-ink-soft: #a8b0bc; --color-line: #2a313a;
    --color-bg: #0a1419; --color-bg-alt: #121c22; --color-card: #161f26;
    --brand-primary: #4ecdc4; --brand-primary-dark: #2bb3a9; --brand-primary-light: #7dd9d2;
    --brand-accent: #ff9f1c; --brand-accent-dark: #e07f00; --brand-accent-light: #ffbe5c;
    --bs-body-color: #f5f3ee; --bs-body-bg: #0a1419;
    --bs-primary-rgb: 78, 205, 196;
}
