/* ============================================================
   Craveva — Typography tokens
   Display:  Yeseva One  (Grouch BT substitute) — headlines, wordmark
   Sans:     Mulish      — body, UI, controls
   Mono:     Space Mono  — eyebrows, recipe metadata, tags
   ============================================================ */

:root {
  /* ---- Families ---- */
  --font-display: 'Grouch BT', 'Yeseva One', 'Playfair Display', Georgia, serif;
  --font-sans: 'Mulish', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono: 'Space Mono', 'SFMono-Regular', ui-monospace, monospace;

  /* ---- Weights (Mulish) ---- */
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;
  --weight-extrabold: 800;

  /* ---- Font sizes (rem @ 16px base) ---- */
  --text-2xs: 0.6875rem;  /* 11px */
  --text-xs:  0.75rem;    /* 12px */
  --text-sm:  0.8125rem;  /* 13px */
  --text-base:0.9375rem;  /* 15px */
  --text-md:  1rem;       /* 16px */
  --text-lg:  1.125rem;   /* 18px */
  --text-xl:  1.375rem;   /* 22px */
  --text-2xl: 1.75rem;    /* 28px */
  --text-3xl: 2.25rem;    /* 36px */
  --text-4xl: 3rem;       /* 48px */
  --text-5xl: 4rem;       /* 64px */
  --text-6xl: 5.25rem;    /* 84px */

  /* ---- Line heights ---- */
  --leading-none: 1;
  --leading-tight: 1.08;
  --leading-snug: 1.22;
  --leading-normal: 1.5;
  --leading-relaxed: 1.65;

  /* ---- Letter spacing ---- */
  --tracking-tighter: -0.03em;
  --tracking-tight: -0.015em;
  --tracking-normal: 0;
  --tracking-wide: 0.06em;
  --tracking-wider: 0.14em;   /* eyebrows / mono labels */

  /* ============================================================
     Role tokens — shorthand: weight | size/line | family
     ============================================================ */
  --type-display-xl: var(--weight-regular) var(--text-6xl)/var(--leading-none) var(--font-display);
  --type-display-lg: var(--weight-regular) var(--text-5xl)/var(--leading-tight) var(--font-display);
  --type-display-md: var(--weight-regular) var(--text-4xl)/var(--leading-tight) var(--font-display);
  --type-display-sm: var(--weight-regular) var(--text-3xl)/var(--leading-snug) var(--font-display);
  --type-heading:    var(--weight-bold) var(--text-2xl)/var(--leading-snug) var(--font-sans);
  --type-subheading: var(--weight-bold) var(--text-xl)/var(--leading-snug) var(--font-sans);
  --type-body-lg:    var(--weight-regular) var(--text-lg)/var(--leading-relaxed) var(--font-sans);
  --type-body:       var(--weight-regular) var(--text-md)/var(--leading-normal) var(--font-sans);
  --type-body-sm:    var(--weight-regular) var(--text-base)/var(--leading-normal) var(--font-sans);
  --type-label:      var(--weight-semibold) var(--text-sm)/var(--leading-snug) var(--font-sans);
  --type-eyebrow:    var(--weight-bold) var(--text-xs)/var(--leading-snug) var(--font-mono);
  --type-mono:       var(--weight-regular) var(--text-sm)/var(--leading-normal) var(--font-mono);
}
