/* ===================================================================
   Avenue Voyage — Design tokens
   Source of truth from the brand design system (Claude Design handoff).
   Warm editorial luxury: espresso ink on bone cream, champagne gold accent,
   one emerald jewel for featured moments.
   =================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Bodoni+Moda:ital,opsz,wght@0,6..96,400;0,6..96,500;0,6..96,600;0,6..96,700;1,6..96,400;1,6..96,500&family=Marcellus&family=Jost:wght@300;400;500&display=swap");

:root {
  /* ---- Ink (warm near-black) ---- */
  --ink-900: #14100b;
  --ink-800: #1d1812;
  --ink-700: #2a2319;
  --ink-600: #3a3127;
  --ink-500: #574b3c;

  /* ---- Cream / paper ---- */
  --cream-050: #fbf9f3;
  --cream-100: #f5f1e8;
  --cream-200: #ece5d6;
  --cream-300: #ddd3bd;

  /* ---- Champagne gold ---- */
  --gold-700: #856a2c;
  --gold-500: #a3863f;
  --gold-300: #c2a662;
  --gold-100: #e6d8b4;

  /* ---- Voyage emerald ---- */
  --emerald-700: #0b4639;
  --emerald-500: #0f5c4a;
  --emerald-300: #2e7d68;

  --white: #ffffff;
  --black: #000000;

  /* ---- Text ---- */
  --text-primary: var(--ink-800);
  --text-secondary: rgba(29, 24, 18, 0.72);
  --text-muted: rgba(29, 24, 18, 0.55);
  --text-faint: rgba(29, 24, 18, 0.40);
  --text-on-ink: var(--cream-100);
  --text-on-ink-muted: rgba(245, 241, 232, 0.62);
  --text-accent: var(--gold-700);

  /* ---- Surfaces ---- */
  --surface-page: var(--cream-100);
  --surface-raised: var(--cream-050);
  --surface-card: var(--white);
  --surface-ink: var(--ink-800);
  --surface-ink-soft: var(--ink-700);
  --surface-emerald: var(--emerald-500);
  --surface-gold: var(--gold-500);

  /* ---- Lines ---- */
  --line: rgba(29, 24, 18, 0.14);
  --line-strong: rgba(29, 24, 18, 0.28);
  --line-on-ink: rgba(245, 241, 232, 0.20);
  --line-gold: var(--gold-500);

  /* ---- Accents ---- */
  --accent: var(--gold-500);
  --accent-hover: var(--gold-700);
  --accent-on-ink: var(--gold-300);
  --accent-bold: var(--emerald-500);

  --status-success: #4a7c59;
  --status-error: #9c3b2e;
  --status-warning: #b8821f;

  /* ---- Type families ---- */
  --font-display: "Bodoni Moda", "Times New Roman", serif;
  --font-serif:   "Marcellus", "Times New Roman", serif;
  --font-sans:    "Jost", "Helvetica Neue", Arial, sans-serif;

  --weight-light: 300;
  --weight-regular: 400;
  --weight-medium: 500;
  --weight-semibold: 600;
  --weight-bold: 700;

  /* ---- Spacing (4px grid) ---- */
  --space-1: 4px;  --space-2: 8px;  --space-3: 12px; --space-4: 16px;
  --space-5: 24px; --space-6: 32px; --space-7: 48px; --space-8: 64px;
  --space-9: 96px; --space-10: 128px; --space-11: 160px;
  --container-max: 1240px;

  /* ---- Radii ---- */
  --radius-xs: 2px;
  --radius-sm: 3px;
  --radius-md: 5px;
  --radius-lg: 8px;
  --radius-pill: 999px;

  /* ---- Borders ---- */
  --border-hairline: 1px solid var(--line);
  --border-strong: 1px solid var(--line-strong);
  --border-gold: 1px solid var(--gold-500);

  /* ---- Shadows ---- */
  --shadow-xs: 0 1px 3px rgba(29, 24, 18, 0.08);
  --shadow-sm: 0 2px 8px rgba(29, 24, 18, 0.08);
  --shadow-md: 0 8px 20px rgba(29, 24, 18, 0.12);
  --shadow-lg: 0 18px 44px rgba(29, 24, 18, 0.16);
  --shadow-gold: 0 10px 24px rgba(163, 134, 63, 0.30);

  /* ---- Motion ---- */
  --ease-standard: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-entrance: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast: 160ms;
  --duration-base: 260ms;
  --duration-slow: 420ms;
}
