/* Design tokens shared by the sales site, the diner menu and the owner app.
   World: a warm, candle-lit American bistro at golden hour. Espresso dark, cream paper,
   saffron light, tomato-red for the one action that matters. Editorial serif + clean sans. */
:root {
  --ink: #17120e;          /* espresso: main dark */
  --ink-2: #241c16;        /* raised dark surface */
  --ink-3: #33281f;        /* borders on dark */
  --paper: #f7f1e8;        /* cream page */
  --paper-2: #efe6d8;      /* raised cream */
  --paper-3: #e2d5c2;      /* borders on cream */
  --text: #1d1712;
  --text-2: #5d5147;       /* secondary text on cream */
  --text-inv: #fbf6ee;     /* text on dark */
  --text-inv-2: #c8baa8;   /* secondary text on dark */
  --saffron: #e9a83b;      /* warm highlight, prices, focus */
  --tomato: #d4482b;       /* primary action */
  --tomato-2: #b93a20;     /* primary action hover */
  --sage: #6f8160;         /* success / veg */
  --chili: #c2361d;        /* spicy */
  --danger: #b3261e;
  --ok: #3f7d4e;

  --font-display: 'Fraunces', Georgia, 'Times New Roman', serif;
  --font-body: 'Instrument Sans', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;

  --r-sm: 8px; --r: 14px; --r-lg: 22px; --r-pill: 999px;
  --shadow: 0 1px 2px rgba(23,18,14,.06), 0 8px 24px rgba(23,18,14,.08);
  --shadow-lg: 0 24px 60px rgba(23,18,14,.22);
  --ease: cubic-bezier(.2,.7,.2,1);
  --wrap: 1180px;
  --gutter: clamp(16px, 4vw, 40px);
}
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; font-family: var(--font-body); color: var(--text); background: var(--paper); line-height: 1.55; -webkit-font-smoothing: antialiased; }
img, video { max-width: 100%; display: block; }
button, input, select, textarea { font: inherit; color: inherit; }
a { color: inherit; }
:focus-visible { outline: 3px solid var(--saffron); outline-offset: 2px; border-radius: 4px; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
@media (prefers-reduced-motion: reduce) { *, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; } }
