/* Design tokens — Obsidian 17. Warm cream ground, terracotta accent, near
   black for the signature card and the cart bar. */

:root {
  /* Surface */
  --bg: #faf6f0;
  --bg-blur: rgba(250, 246, 240, 0.9);
  --card: #ffffff;
  --card-alt: #f4ede3;
  --line: #eae0d2;
  --line-strong: #dccdb8;

  /* Obsidian — the dark surfaces */
  --dark: #191715;
  --dark-2: #23201d;
  --dark-line: #34302b;
  --dark-ink: #ffffff;
  --dark-muted: #b9afa3;

  /* Ink */
  --ink: #1d1814;
  --muted: #6a5c4c;
  --faint: #7c6f5b;

  /* Accent */
  --accent: #ba5027;
  --accent-dim: #9c3f1d;
  --accent-soft: #fbeadf;
  /* Accent text sitting on --accent-soft needs to be darker to clear AA. */
  --accent-on-soft: #b24c25;
  --accent-glow: #e07a4a;
  --accent-ink: #ffffff;
  --price: #ba5027;
  /* The list price reads as information, not as a call to action: near-black
     ink rather than the terracotta reserved for buttons and badges. */
  --price-ink: #241c18;

  /* Semantic */
  --danger: #b4231d;
  --danger-soft: #fbeceb;
  --ok: #1f5d3b;
  --ok-soft: #e9f2ec;
  --focus: #ba5027;

  /* Shape */
  --radius-sm: 10px;
  --radius: 16px;
  --radius-lg: 22px;
  --radius-pill: 999px;
  --shadow-sm: 0 2px 10px rgba(29, 24, 20, 0.05);
  --shadow: 0 8px 26px rgba(29, 24, 20, 0.09);
  --shadow-dark: 0 14px 40px rgba(25, 23, 21, 0.3);

  /* Type — Playfair for display, Inter for everything functional */
  --font-display: 'Playfair Display', Georgia, 'Times New Roman', serif;
  --font: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, 'Segoe UI', sans-serif;
  --fs-xs: 0.6875rem;
  --fs-sm: 0.875rem;
  --fs-base: 0.9375rem;
  --fs-md: 1rem;
  --fs-lg: 1.125rem;
  --fs-xl: 1.375rem;
  --fs-2xl: 1.625rem;

  /* Space */
  --gutter: 16px;
  --tap: 44px;

  /* Layout */
  --maxw: 560px;
  --bar-h: 78px;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
