/* ==========================================================================
   EMBER & SALT — Design Tokens
   Wood-fired coastal grill. Identity built around char, ember glow, and salt.
   ========================================================================== */

:root {
  /* ---- Color: Light mode ---- */
  --color-bg: #F7F3EC;              /* bone / salt white */
  --color-bg-raised: #FFFFFF;
  --color-bg-sunken: #EDE6D8;
  --color-char: #1B1815;            /* deep charcoal - primary text/ink */
  --color-char-soft: #3A342C;
  --color-ink-muted: #6B6255;
  --color-ember: #C1502E;           /* signature accent - live coal orange */
  --color-ember-deep: #9C3D22;
  --color-ember-glow: #F0824F;
  --color-olive: #6B7156;           /* herb / olive - secondary accent */
  --color-gold: #B8935A;            /* utility / data accent */
  --color-line: rgba(27, 24, 21, 0.12);
  --color-line-strong: rgba(27, 24, 21, 0.22);
  --color-success: #4C7A4F;
  --color-danger: #B4392B;
  --color-warning: #B8863A;

  /* ---- Color: Dark mode (charcoal service) ---- */
  --dark-bg: #14120F;
  --dark-bg-raised: #1E1B17;
  --dark-bg-sunken: #0D0B09;
  --dark-ink: #F3EDE2;
  --dark-ink-soft: #C9BFAE;
  --dark-ink-muted: #8D8375;
  --dark-line: rgba(243, 237, 226, 0.12);
  --dark-line-strong: rgba(243, 237, 226, 0.22);

  /* ---- Typography ---- */
  --font-display: 'Fraunces', Georgia, serif;
  --font-body: 'Public Sans', -apple-system, BlinkMacSystemFont, sans-serif;
  --font-mono: 'IBM Plex Mono', 'SF Mono', monospace;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.375rem;
  --text-2xl: 1.75rem;
  --text-3xl: 2.25rem;
  --text-4xl: 3rem;
  --text-5xl: 4rem;
  --text-6xl: 5.5rem;

  /* ---- Spacing (8px base) ---- */
  --sp-1: 0.25rem;
  --sp-2: 0.5rem;
  --sp-3: 0.75rem;
  --sp-4: 1rem;
  --sp-5: 1.5rem;
  --sp-6: 2rem;
  --sp-8: 3rem;
  --sp-10: 4rem;
  --sp-12: 6rem;
  --sp-16: 8rem;

  /* ---- Radius & elevation ---- */
  --radius-sm: 4px;
  --radius-md: 10px;
  --radius-lg: 18px;
  --radius-pill: 999px;
  --shadow-sm: 0 2px 8px rgba(27, 24, 21, 0.08);
  --shadow-md: 0 8px 24px rgba(27, 24, 21, 0.12);
  --shadow-lg: 0 20px 48px rgba(27, 24, 21, 0.18);
  --shadow-ember: 0 0 0 1px rgba(193, 80, 46, 0.25), 0 8px 24px rgba(193, 80, 46, 0.25);

  /* ---- Motion ---- */
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --dur-fast: 150ms;
  --dur-med: 320ms;
  --dur-slow: 600ms;

  /* ---- Layout ---- */
  --container-max: 1240px;
  --header-h: 76px;
}

[data-theme="dark"] {
  --color-bg: var(--dark-bg);
  --color-bg-raised: var(--dark-bg-raised);
  --color-bg-sunken: var(--dark-bg-sunken);
  --color-char: var(--dark-ink);
  --color-char-soft: var(--dark-ink-soft);
  --color-ink-muted: var(--dark-ink-muted);
  --color-line: var(--dark-line);
  --color-line-strong: var(--dark-line-strong);
}

@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;
  }
}
