/* Hallmark · pre-emit critique: P4 H4 E4 S4 R4 V4 · genre: modern-minimal retail · macrostructure: local-commerce workbench · tone: practical-premium · anchor hue: station-green · contrast: pass (40-41) · mobile: pass target (34,49,50-57) */
:root {
  --color-paper: oklch(98% 0.006 142);
  --color-paper-2: oklch(95.5% 0.014 142);
  --color-paper-3: oklch(92% 0.02 142);
  --color-ink: oklch(18% 0.028 150);
  --color-ink-2: oklch(34% 0.03 150);
  --color-muted: oklch(49% 0.026 150);
  --color-rule: oklch(87% 0.018 142);
  --color-accent: oklch(43% 0.13 151);
  --color-accent-2: oklch(54% 0.14 151);
  --color-accent-ink: oklch(99% 0.005 142);
  --color-warn: oklch(83% 0.16 86);
  --color-warn-ink: oklch(22% 0.05 86);
  --color-map: oklch(51% 0.17 257);
  --color-focus: oklch(61% 0.17 151);
  --color-danger: oklch(48% 0.18 28);

  --font-display: Arial, Helvetica, sans-serif;
  --font-body: Arial, Helvetica, sans-serif;
  --font-outlier: Arial, Helvetica, sans-serif;

  --space-2xs: 0.5rem;
  --space-xs: 0.75rem;
  --space-sm: 1rem;
  --space-md: 1.5rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-2xl: 4.5rem;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-md: 1rem;
  --text-lg: 1.25rem;
  --text-xl: 1.75rem;
  --text-2xl: 2.25rem;
  --text-display: clamp(2rem, 4vw, 4.25rem);

  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-short: 180ms;
  --dur-base: 240ms;
  --radius-sm: 0.5rem;
  --radius-md: 0.75rem;
  --radius-card: 1rem;
  --radius-pill: 999px;
  --rule-hairline: 1px solid var(--color-rule);
}

html,
body {
  overflow-x: clip;
}

body {
  color: var(--color-ink);
  background: var(--color-paper);
  font-family: var(--font-body);
}

h1,
h2,
h3,
.section-title,
.product-title {
  font-family: var(--font-display);
  font-style: normal;
  letter-spacing: 0;
  min-width: 0;
  overflow-wrap: anywhere;
}

:focus-visible {
  outline: 3px solid var(--color-focus);
  outline-offset: 2px;
}

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