/* ============================================================
   Ladybug Lane — Typography Tokens
   Display: Baloo 2 (chunky, friendly — but composed)
   Heading: Fredoka (rounded, friendly)
   Body:    Nunito (readable, warm)
   Mono:    Space Mono (SKUs, order numbers)
   ============================================================ */

:root {
  /* Families */
  --font-display: "Baloo 2", "Fredoka", ui-rounded, system-ui, sans-serif;
  --font-heading: "Fredoka", ui-rounded, "Segoe UI", system-ui, sans-serif;
  --font-body:    "Nunito", ui-rounded, "Segoe UI", system-ui, sans-serif;
  --font-mono:    "Space Mono", ui-monospace, "SFMono-Regular", monospace;

  /* Type scale (16px base) */
  --text-xs:      0.75rem;   /* 12 */
  --text-sm:      0.875rem;  /* 14 */
  --text-base:    1rem;      /* 16 */
  --text-md:      1.125rem;  /* 18 */
  --text-lg:      1.25rem;   /* 20 */
  --text-xl:      1.5rem;    /* 24 */
  --text-2xl:     1.875rem;  /* 30 */
  --text-3xl:     2.25rem;   /* 36 */
  --text-4xl:     3rem;      /* 48 */
  --text-5xl:     3.75rem;   /* 60 */
  --text-display: 4.5rem;    /* 72 */

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

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

  /* Letter spacing */
  --tracking-tight:  -0.01em;
  --tracking-normal: 0;
  --tracking-wide:   0.04em;
  --tracking-caps:   0.09em;

  /* Semantic roles */
  --type-hero:        var(--weight-bold) var(--text-display)/var(--leading-none) var(--font-display);
  --type-display:     var(--weight-bold) var(--text-4xl)/var(--leading-tight) var(--font-display);
  --type-h1:          var(--weight-bold) var(--text-3xl)/var(--leading-tight) var(--font-heading);
  --type-h2:          var(--weight-semibold) var(--text-2xl)/var(--leading-snug) var(--font-heading);
  --type-h3:          var(--weight-semibold) var(--text-xl)/var(--leading-snug) var(--font-heading);
  --type-title:       var(--weight-semibold) var(--text-md)/var(--leading-snug) var(--font-heading);
  --type-body:        var(--weight-regular) var(--text-base)/var(--leading-normal) var(--font-body);
  --type-body-sm:     var(--weight-regular) var(--text-sm)/var(--leading-normal) var(--font-body);
  --type-label:       var(--weight-bold) var(--text-sm)/var(--leading-snug) var(--font-body);
  --type-eyebrow:     var(--weight-bold) var(--text-xs)/var(--leading-snug) var(--font-body);
  --type-price:       var(--weight-extra) var(--text-xl)/var(--leading-none) var(--font-heading);
}
