/* LIMA 2027 Apparel — design tokens (mockup-exact). Single source of truth.
   Copy into lima-theme/assets/css/tokens.css when values change. */
:root {
  /* Brand palette (from the jersey artwork swatches) */
  --lima-navy: #180092;
  --lima-cobalt: #1800E7;
  --lima-sky: #99B6FF;
  --lima-orange: #FF7A00;
  --lima-grey: #D9D9D9;

  /* Neutrals */
  --lima-white: #FFFFFF;
  --lima-surface: #F5F6FA;      /* page bg (admin), tinted cards (storefront) */
  --lima-ink: #0B1020;          /* body text */
  --lima-ink-soft: #4B5068;     /* captions, labels, muted */
  --lima-line: #D9D9D9;         /* storefront card border */
  --lima-line-soft: #E3E5EC;    /* admin card border, table header rule */
  --lima-line-row: #EEF0F5;     /* admin table row rule */
  --lima-control: #C9CCD8;      /* input / control border */

  /* Tints (bg / fg pairs) */
  --lima-pre-bg: #FFE8D6;  --lima-pre-fg: #9A4300;   /* pre-order, surcharge, warnings */
  --lima-blue-bg: #E6ECFF; --lima-blue-fg: #180092;  /* info, ready stock, category */
  --lima-ok-bg: #DDF4E6;   --lima-ok-fg: #0F5132;    /* paid, received */
  --lima-crit-bg: #FBE3E1; --lima-crit-fg: #8A1C14;  /* failed, shortage */
  --lima-muted-bg: #EEF0F5;--lima-muted-fg: #4B5068; /* cancelled, closed */
  --lima-danger: #B42318;                            /* form errors */
  --lima-chart: #2F3FD1;                             /* default bar */

  /* Semantic aliases used by theme.css / admin.css */
  --color-bg: #FFFFFF;
  --color-bg-admin: var(--lima-surface);
  --color-card: var(--lima-white);
  --color-text: var(--lima-ink);
  --color-text-muted: var(--lima-ink-soft);
  --color-border: var(--lima-line);
  --color-primary: var(--lima-cobalt);
  --color-primary-strong: var(--lima-navy);
  --color-accent: var(--lima-orange);

  /* Typography */
  --font-display: "Barlow Condensed", "Arial Narrow", sans-serif;  /* 700, uppercase, line-height 1.02, letter-spacing .01–.02em */
  --font-body: "Barlow", system-ui, -apple-system, "Segoe UI", sans-serif;
  --fs-body: 1rem;        /* 16px storefront */
  --fs-body-admin: 15px;
  --fs-caption: 14px;
  --fs-small: 13px;
  --fs-micro: 12px;       /* admin KPI labels, table headers — never storefront body */
  --fs-price-card: 22px;  /* product card price */
  --fs-price-hero: 38px;  /* product page price */
  --fs-kpi: 32px;         /* admin KPI value */
  --fs-h1: 34px;          /* storefront page title (36px on Shop) */
  --fs-h2: 28px;          /* storefront section heading */
  --fs-h2-admin: 20px;
  --fs-h3: 24px;          /* checkout step heading */
  --lbl: 14px;            /* .lbl: uppercase, 600, letter-spacing .06em, ink-soft */

  /* Spacing (4px base; the mockup uses 20px page gutter on mobile) */
  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px; --sp-5: 20px; --sp-6: 24px; --sp-8: 32px; --sp-12: 48px;
  --gutter: 20px;
  --section-gap: 16px;    /* vertical rhythm between storefront sections (18px before headings) */

  /* Shape */
  --radius-card: 14px;        /* storefront card */
  --radius-card-admin: 12px;
  --radius-control: 10px;     /* buttons, inputs, size buttons, segmented */
  --radius-control-sm: 8px;   /* admin buttons, cart qty buttons, nav items */
  --radius-pill: 999px;
  --border-control: 1.5px;

  /* Sizes */
  --h-header: 56px;
  --h-strip: 36px;            /* sales-mode strip */
  --h-btn: 52px;
  --h-btn-admin: 40px;
  --h-input: 48px;
  --h-size-btn: 48px;
  --h-seg: 44px;
  --h-chip: 40px;
  --h-pill: 26px;
  --h-tag: 24px;
  --touch: 44px;
  --w-sidebar: 240px;
  --w-icon: 24px;
  --w-icon-sm: 18px;

  /* Elevation (used once: sticky bottom bar) */
  --shadow-bar: 0 -6px 16px rgba(11,16,32,.06);

  /* Motion */
  --dur: 160ms;
  --ease: cubic-bezier(.2,.7,.2,1);
}

@media (prefers-reduced-motion: reduce) { :root { --dur: 0ms; } }
