@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400..900;1,400..900&family=Plus+Jakarta+Sans:ital,wght@0,300..800;1,300..800&display=swap');

/* ==========================================
   VARIABLES.CSS — Seed → Derived Token System
   Single Source of Truth for Theme System
   ========================================== */

:root, [data-theme="bw-gold"] {
  /* SEED TOKENS — Keep Talent Black & White Gold (Default) */
  --seed-primary: #d4af37;
  --seed-secondary: #f3e5ab;
  --seed-neutral: #e5e5e5;
  --seed-mode: dark;
  --color-bg: #0a0a0a;
  --color-btn-primary-text: #0a0a0a;
}

[data-theme="bw-dark"] {
  /* SEED TOKENS — Keep Talent Black & White Dark */
  --seed-primary: #ffffff;
  --seed-secondary: #d4d4d4;
  --seed-neutral: #e5e5e5;
  --seed-mode: dark;
  --color-bg: #0a0a0a;
  --color-btn-primary-text: #0a0a0a;
}

[data-theme="bw-light"] {
  /* SEED TOKENS — Keep Talent Black & White Light */
  --seed-primary: #0a0a0a;
  --seed-secondary: #404040;
  --seed-neutral: #171717;
  --seed-mode: light;
  --color-bg: #ffffff;
  --color-btn-primary-text: #ffffff;
}

[data-theme="midnight"] {
  --seed-primary: #818cf8;
  --seed-secondary: #f472b6;
  --seed-neutral: #e0e0e0;
  --seed-mode: dark;
  --color-bg: #121212;
}

[data-theme="ocean"] {
  --seed-primary: #2563eb;
  --seed-secondary: #f59e0b;
  --seed-neutral: #1e293b;
  --seed-mode: light;
  --color-bg: #ffffff;
}

[data-theme="forest"] {
  --seed-primary: #15803d;
  --seed-secondary: #ca8a04;
  --seed-neutral: #1c2b22;
  --seed-mode: light;
  --color-bg: #ffffff;
}

[data-theme="sunset"] {
  --seed-primary: #ea580c;
  --seed-secondary: #7c3aed;
  --seed-neutral: #292524;
  --seed-mode: light;
  --color-bg: #ffffff;
}

[data-theme="slate"] {
  --seed-primary: #475569;
  --seed-secondary: #0891b2;
  --seed-neutral: #1e293b;
  --seed-mode: light;
  --color-bg: #ffffff;
}

[data-theme="sage"] {
  --seed-primary: #7c8a6f;
  --seed-secondary: #d4a373;
  --seed-neutral: #3d3a34;
  --seed-mode: light;
  --color-bg: #f5f4f0;
}

[data-theme="terracotta"] {
  --seed-primary: #c1633d;
  --seed-secondary: #8b8168;
  --seed-neutral: #3a2f2a;
  --seed-mode: light;
  --color-bg: #f7f1ea;
}

[data-theme="carbon"] {
  --seed-primary: #2dd4bf;
  --seed-secondary: #a78bfa;
  --seed-neutral: #c9d1d9;
  --seed-mode: dark;
  --color-bg: #1a1a1a;
}

[data-theme="plum"] {
  --seed-primary: #c084fc;
  --seed-secondary: #fb923c;
  --seed-neutral: #e5d9f2;
  --seed-mode: dark;
  --color-bg: #1e1425;
}

[data-theme="pinegrove"] {
  --seed-primary: #4ade80;
  --seed-secondary: #facc15;
  --seed-neutral: #dbe4dd;
  --seed-mode: dark;
  --color-bg: #14201a;
}

:root {
  /* DERIVED COLOR TOKENS — calculated dynamically via color-mix */
  --color-primary: var(--seed-primary);
  --color-primary-dark: color-mix(in srgb, var(--seed-primary) 75%, black);
  --color-primary-light: color-mix(in srgb, var(--seed-primary) 20%, white);
  --color-secondary: var(--seed-secondary);
  --color-secondary-dark: color-mix(in srgb, var(--seed-secondary) 75%, black);

  --color-bg-alt: color-mix(in srgb, var(--seed-neutral) 4%, var(--color-bg));
  --color-text: color-mix(in srgb, var(--seed-neutral) 92%, black);
  --color-text-muted: color-mix(in srgb, var(--seed-neutral) 55%, white);
  --color-border: color-mix(in srgb, var(--seed-neutral) 15%, var(--color-bg));

  --color-success: #16a34a;
  --color-error: #dc2626;

  /* Typography */
  --font-heading: 'Playfair Display', Georgia, 'Times New Roman', Times, serif;
  --font-body: 'Plus Jakarta Sans', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --fs-h1: clamp(2rem, 5vw, 3.5rem);
  --fs-h2: clamp(1.5rem, 3vw, 2.25rem);
  --fs-h3: clamp(1.2rem, 2vw, 1.5rem);
  --fs-body: 1rem;
  --fs-small: 0.875rem;

  /* Spacing scale */
  --space-xs: 0.5rem;
  --space-sm: 1rem;
  --space-md: 2rem;
  --space-lg: 4rem;
  --space-xl: 8rem;

  /* Structural tokens */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.08);
  --shadow-lg: 0 10px 30px rgba(0, 0, 0, 0.12);
  --transition-fast: 150ms ease;
  --transition-med: 300ms ease;
  --max-width: 1200px;
}
