/* ─────────────────────────────────────────────────────────────
   MENVA — Design Tokens
   Light, elite, quiet confidence. A printed steakhouse menu:
   ivory paper, fine hairlines, one accent used sparingly.
   ───────────────────────────────────────────────────────────── */

:root,
[data-theme="default"],
[data-theme="gauchos"] {
  /* Paper & surfaces */
  --paper: #EFEBE2;
  --surface: #FFFFFF;
  --surface-2: #E3DCCF;
  --surface-offset: #ECE4D6;
  --line: #DCD3C4;

  /* Ink */
  --ink: #1A1714;
  --muted: #5C5349;
  --faint: #A89A88;

  /* Accent — MENVA ember; Gauchos oxblood overrides below */
  --accent: #B5371F;
  --accent-ink: #FFFFFF;
  /* Brass — fine rules and small ornaments only, never body text */
  --gold: #9C7C45;

  /* Dish stage: a tablecloth, not a void */
  --stage: #E9E3D7;
  /* Fixed cream card for the restaurant cover — reads like a printed insert in both modes */
  --cover-paper: #F5EFE4;
  --cover-ink: #241A15;

  --radius: 16px;
  --radius-sm: 10px;
  --radius-lg: 24px;
  --radius-pill: 999px;
  --ease: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-fast: 160ms cubic-bezier(0.16, 1, 0.3, 1);
  --ease-slow: 400ms cubic-bezier(0.16, 1, 0.3, 1);
  --shadow: 0 1px 2px rgba(30, 26, 22, 0.04), 0 6px 20px rgba(30, 26, 22, 0.05);
  --shadow-lg: 0 8px 30px rgba(30, 26, 22, 0.12);
  --font-display: 'Instrument Serif', Georgia, 'Times New Roman', serif;
  --font-body: 'DM Sans', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --font-condensed: 'Barlow Condensed', 'Arial Narrow', sans-serif;

  /* Motion */
  --ease-out: cubic-bezier(.2, .8, .2, 1);
  --ease-in-out: cubic-bezier(.65, 0, .35, 1);
  --dur-fast: 140ms;
  --dur: 280ms;
  --dur-slow: 560ms;
}

/* Restaurant pages keep their own accent — never MENVA's on a restaurant screen */
[data-theme="gauchos"] {
  --accent: #7C2A1C;
}

/* Baraza Coffee — cream & deep olive, a calm specialty-coffee register */
[data-theme="baraza"] {
  --paper: #FAF5EC;
  --surface: #FFFFFF;
  --surface-2: #EFE8D8;
  --surface-offset: #EFE8D8;
  --line: #E2D9C6;
  --ink: #10150F;
  --muted: #6B6552;
  --faint: #A89A88;
  --accent: #4B5A2B;
  --accent-ink: #FAF5EC;
  --stage: #EFE8D8;
  --brand-band: #8A9060;
  --brand-band-ink: #10150F;
}

/* ═══ DARK MODE — same quiet confidence, warm near-black ═══ */
html[data-mode="dark"],
html[data-mode="dark"] body {
  --paper: #17140F;
  --surface: #1D1A14;
  --surface-2: #241F18;
  --surface-offset: #2A241C;
  --line: #352E24;

  --ink: #F1EAE0;
  --muted: #B4A896;
  --faint: #6E6455;

  --accent: #E2896D;
  --accent-ink: #1B120D;
  --gold: #C7A567;

  --stage: #1D1A14;
  --shadow: 0 1px 2px rgba(0, 0, 0, 0.3), 0 8px 24px rgba(0, 0, 0, 0.35);
  --shadow-lg: 0 12px 36px rgba(0, 0, 0, 0.45);
}
html[data-mode="dark"] [data-theme="gauchos"] {
  --accent: #E2896D;
}
/* Baraza — "espresso by night" */
html[data-mode="dark"] [data-theme="baraza"] {
  --paper: #10150F;
  --surface: #171D15;
  --surface-2: #1F261C;
  --surface-offset: #1F261C;
  --line: #2C3427;
  --ink: #FAF5EC;
  --muted: #B9B39E;
  --faint: #6E6455;
  --accent: #A9B07A;
  --accent-ink: #10150F;
  --stage: #171D15;
  --brand-band: #4B5A2B;
  --brand-band-ink: #FAF5EC;
}

/* ═══ Type Scale ═══ */
:root {
  --text-xs: clamp(0.75rem, 0.71rem + 0.2vw, 0.8125rem);
  --text-sm: clamp(0.875rem, 0.83rem + 0.25vw, 0.9375rem);
  --text-base: clamp(0.9375rem, 0.9rem + 0.2vw, 1rem);
  --text-lg: clamp(1.125rem, 1.03rem + 0.5vw, 1.375rem);
  --text-xl: clamp(1.375rem, 1.15rem + 1vw, 1.875rem);
  --text-2xl: clamp(1.75rem, 1.3rem + 2vw, 2.75rem);
  --text-hero: clamp(2.25rem, 1.3rem + 4vw, 3.75rem);
  --text-display: clamp(2.75rem, 1rem + 6vw, 5.5rem);

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-8: 2rem;
  --space-10: 2.5rem;
  --space-12: 3rem;
  --space-16: 4rem;
  --space-20: 5rem;
  --space-24: 6rem;
}

/* Small-caps style overline used throughout: section labels, table chip, category tag */
.overline {
  font-family: var(--font-body);
  font-size: 11px;
  letter-spacing: 0.14em;
  font-weight: 500;
  text-transform: uppercase;
  color: var(--muted);
}

/* Dialog settle — a short, subtle rise, nothing bouncy */
@keyframes settle {
  from { opacity: 0; transform: translateY(14px); }
  to { opacity: 1; transform: translateY(0); }
}
