/* ============================================================
   SHIRT ARCHIVE — design tokens
   Single source of truth. No hex values anywhere else.
   ============================================================ */

:root {
  /* colour */
  --base:      #F4F1EA;   /* newsprint — never pure white */
  --base-warm: #EDE9DF;   /* recessed panels, image beds */
  --ink:       #14110F;
  --deep:      #1B2A3A;
  --accent:    #E4572E;   /* floodlight orange */
  --green:     #2E5E3A;   /* availability only */
  --muted:     #8C877D;
  --rule-c:    #D6D0C4;   /* hairline rules */

  /* listing tag families — one colour per family, never per tag.
     Kept low-chroma so a row of five chips still reads as newsprint. */
  --tag-era:   #E4572E;   /* Retro / Recent / Current */
  --tag-kit:   #1B2A3A;   /* Home / Away / GK  */
  --tag-fit:   #2F6B6B;   /* Women's / Kids    */
  --tag-team:  #14110F;   /* team, links out   */
  --tag-comp:  #8A6A2F;   /* league / cup      */

  /* fixed pair — panels that stay ink-on-cream in BOTH themes
     (hero panel, footer). Deliberately not theme-swapped. */
  --panel-bg:  #14110F;
  --panel-fg:  #F4F1EA;

  /* turf bands — dark sections backed by black-and-white pitch photography.
     Same fixed pair as the panels: these stay ink-on-cream in both themes,
     because the artwork underneath is always dark. The scrim sits between the
     photograph and the type; raise its alpha if a band ever reads too busy. */
  --band-bg:    #14110F;
  --band-fg:    #F4F1EA;
  --band-scrim: rgba(20, 17, 15, 0.46);
  --band-rule:  rgba(244, 241, 234, 0.18);

  /* type — owner-approved 2026-08-08 off the /international/england/ test:
     Archivo (the display family) carries the UI chrome and the card
     titles/prices; Geist Mono (600 cut mapped to every weight) carries the
     catalogue codes. Body text stays Inter. */
  --font-display: 'Archivo', 'Haettenschweiler', 'Arial Narrow', sans-serif;
  --font-body:    'Inter', system-ui, -apple-system, sans-serif;
  --font-mono:    'Geist Mono', 'Consolas', ui-monospace, monospace;
  --font-ui:      'Archivo', sans-serif;   /* nav, offer strip, dropdown heads */
  --wght-ui:      680;
  --wdth-ui:      80%;
  --font-card:    'Archivo', sans-serif;   /* card titles + prices */

  /* display axes — Archivo is variable in BOTH weight and width.
     These two values are the whole character of the headline type. */
  --wght-display: 800;
  --wdth-display: 74%;

  --fs-hero:   clamp(2.75rem, 5.6vw, 5rem);
  --fs-h2:     1.375rem;
  --fs-body:   1.0625rem;   /* 17px */
  --fs-mono:   0.8125rem;   /* 13px */
  --fs-micro:  0.6875rem;   /* 11px */

  --lh-tight: 0.94;
  --lh-body:  1.65;
  --tr-tight: -0.02em;
  --tr-wide:  0.15em;

  /* space */
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-6: 1.5rem;
  --sp-8: 2rem;
  --sp-12: 3rem;
  --sp-16: 4rem;

  --gutter: clamp(1.25rem, 3vw, 3rem);
  --maxw: 1600px;

  /* form */
  --radius: 4px;               /* maximum, anywhere */
  --rule: 1px solid var(--rule-c);
  --rule-ink: 1px solid var(--ink);
  --t: 150ms ease;
}

:root[data-theme="dark"] {
  --base:      #14110F;
  --base-warm: #1C1917;
  --ink:       #F4F1EA;
  --muted:     #9A948A;
  --rule-c:    #35302A;
  --deep:      #0E1620;

  /* tag families, lifted for contrast on ink */
  --tag-era:   #F0784F;
  --tag-kit:   #7FA3C4;
  --tag-fit:   #63A8A8;
  --tag-team:  #F4F1EA;
  --tag-comp:  #C4A059;
}

/* NOTE: dark mode is deliberately OPT-IN via the footer toggle only.
   It is NOT wired to prefers-color-scheme. This design is a printed,
   beige, newsprint object — auto-flipping it to black on a machine set
   to dark mode destroys the entire identity. Do not "fix" this. */
