/* Virts global theme overrides layered over Dawn's base.css.
   Direction: design/lifeisgood-brief.md (supersedes SPEC §3 monochrome):
   cream base + warm charcoal ink + marigold accent, Libre Franklin display
   over Inter UI, soft corners, LiG's warmth — but Virts' words carry more
   weight, so the accent stays scarce (WCAG: marigold-on-white = 2.1:1,
   FAILS body text; marigold appears only as large text, buttons, and
   badge/offer surfaces where charcoal labels it at 5.1:1).

   Token style: every consumer uses var(--virts-x, #HEX) with the hex
   inline as fallback, and alpha composites use color-mix(in srgb, ...) —
   so the house palette is greppable as literal hex anywhere it lands. */

:root {
  /* House tokens (brief §1: LiG's exact warmth). */
  --virts-ink: #393D3C;       /* warm charcoal — ALL text + buttons */
  --virts-bg: #EFE9DB;        /* cream page base */
  --virts-paper: #FFFFFF;     /* white cards */
  --virts-marigold: #F59E0B;  /* accent: large text / buttons / offer only */
  --virts-amber: #FBBF24;     /* highlight fills (promo gradient) only */
  /* Play palette → tiers (brief §1). Full lilac #A978B8 and slate teal as
     BACKGROUND fail small-text contrast (3.2:1 / 2.8:1) — used as washes
     and rules, or as text on white where teal #526870 = 5.9:1 ✓. */
  --virts-navy: #2A3C67;      /* Deep List */
  --virts-teal: #526870;      /* Deep List secondary (text on white ok) */
  --virts-teal-soft: #758992; /* Deep List rules/hover (decorative only) */
  --virts-lilac: #E6D6EC;     /* Desert Fathers wash (tint; full #A978B8 fails) */
  --virts-mint: #A0E781;      /* Desert Fathers wash */
  --virts-pink: #FFDEDE;      /* Desert Fathers wash */

  /* Dawn reads these; live font files come from Shopify's font library
     (libre_franklin_n7 / inter_n4 in settings_data), the offline preview
     registers the same family names from assets/fonts. */
  --font-heading-family: 'Libre Franklin', 'Franklin Gothic', 'Arial', sans-serif;
  --font-body-family: 'Inter', -apple-system, 'Segoe UI', Helvetica, Arial, sans-serif;
}

html {
  background: var(--virts-bg, #EFE9DB);
}

body {
  letter-spacing: 0.005em;
}

/* Wordmark: lowercase, tight, sturdy — the shirt's voice on the masthead. */
.header__heading-logo-wrapper,
.header__heading-link .header__heading {
  text-transform: lowercase;
  letter-spacing: -0.02em;
}

.site-header {
  background: var(--virts-bg, #EFE9DB);
  box-shadow: none !important;
  border-bottom: 1px solid color-mix(in srgb, var(--virts-ink, #393D3C) 12%, transparent);
}

.footer {
  background: var(--virts-bg, #EFE9DB);
  color: var(--virts-ink, #393D3C);
  border-top: 1px solid color-mix(in srgb, var(--virts-ink, #393D3C) 12%, transparent);
}

/* LiG conversion energy: charcoal buttons, marigold offer surfaces. */
.button,
.shopify-challenge__button {
  border-radius: 8px !important;
  box-shadow: none !important;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.8125rem;
  font-weight: 600;
}

.button--secondary {
  background: var(--virts-marigold, #F59E0B);
  color: var(--virts-ink, #393D3C);
  border-color: var(--virts-marigold, #F59E0B);
}

/* Product cards in any grid: white on cream, the word wins. */
.card-information__title {
  text-transform: uppercase;
  letter-spacing: 0.02em;
  font-weight: 600;
}

.price {
  font-variant-numeric: tabular-nums;
  color: var(--virts-navy, #2A3C67);
}

/* Variant pills: ink selection. */
.variant-input:checked ~ .variant-item__label,
.swatch__wrapper {
  border-color: var(--virts-ink, #393D3C) !important;
}

/* Forms: hairlines on white. */
.field__input,
.customer input,
.localization-form__select {
  border-radius: 6px;
  box-shadow: none !important;
}

/* The List owns its section spacing; cream under the whole page. */
.shopify-section:has(.section-the-list) {
  background: var(--virts-bg, #EFE9DB);
}
