/* ===========================================================================
   SaleStreams — Typography tokens
   Display = Libre Baskerville (serif). UI/body = Hanken Grotesk. Mono = Spline
   Sans Mono for prices/figures (uses tabular figures).
   =========================================================================== */

:root {
  /* --- Families --------------------------------------------------------- */
  --font-display: 'Libre Baskerville', 'Baskerville', 'Georgia', serif;
  --font-sans:    'Hanken Grotesk', system-ui, -apple-system, 'Segoe UI', sans-serif;
  --font-mono:    'Spline Sans Mono', ui-monospace, 'SFMono-Regular', monospace;

  /* --- Weights ---------------------------------------------------------- */
  --weight-regular:  400;
  --weight-medium:   500;
  --weight-semibold: 600;
  --weight-bold:     700;
  --weight-extra:    800;

  /* --- Type scale (rem, 16px base) -------------------------------------- */
  --text-2xs:  0.6875rem;  /* 11px — micro labels */
  --text-xs:   0.75rem;    /* 12px — captions, badges */
  --text-sm:   0.875rem;   /* 14px — secondary UI */
  --text-base: 1rem;       /* 16px — body */
  --text-md:   1.125rem;   /* 18px — emphasised body */
  --text-lg:   1.375rem;   /* 22px — card titles */
  --text-xl:   1.75rem;    /* 28px — section heads */
  --text-2xl:  2.25rem;    /* 36px — page titles */
  --text-3xl:  3rem;       /* 48px — display */
  --text-4xl:  4rem;       /* 64px — hero display */
  --text-5xl:  5.25rem;    /* 84px — marketing hero */

  /* --- Line heights ----------------------------------------------------- */
  --leading-tight:   1.08;
  --leading-snug:    1.25;
  --leading-normal:  1.5;
  --leading-relaxed: 1.65;

  /* --- Letter spacing --------------------------------------------------- */
  --tracking-tight:  -0.02em;
  --tracking-snug:   -0.01em;
  --tracking-normal: 0em;
  --tracking-wide:   0.04em;
  --tracking-caps:   0.08em;  /* uppercase eyebrows / labels */

  /* --- Semantic roles --------------------------------------------------- */
  --role-eyebrow-size:    var(--text-xs);
  --role-eyebrow-weight:  var(--weight-semibold);
  --role-eyebrow-track:   var(--tracking-caps);

  --role-price-family:    var(--font-mono);
  --role-price-weight:    var(--weight-500, 500);
}
