/* ==========================================================================
   Design Tokens — Colors, Typography, Spacing
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:ital,wght@0,400;0,700;1,400&family=Lato:wght@300;400;700&display=swap');

:root {
  /* ── Primary Colors ── */
  --color-primary: #722F37;
  --color-primary-dark: #5A1A22;
  --color-primary-light: #9B4D56;

  /* ── Secondary / Accent ── */
  --color-secondary: #C9A96E;
  --color-secondary-dark: #A8883F;
  --color-secondary-light: #E0CFA0;

  /* ── Backgrounds ── */
  --color-bg: #FAF8F5;
  --color-bg-alt: #F0EBE3;
  --color-bg-dark: #1A1A1A;

  /* ── Text ── */
  --color-text: #2C2C2C;
  --color-text-light: #6B6B6B;
  --color-text-inverse: #FAF8F5;

  /* ── Semantic / Status ── */
  --color-success: #4A7C59;
  --color-warning: #D4A843;
  --color-error: #B83232;
  --color-info: #3A6B9F;

  /* ── Borders ── */
  --color-border: #D9D2C7;
  --color-border-light: #E8E3DB;

  /* ── Typography ── */
  --font-heading: 'Playfair Display', Georgia, serif;
  --font-body: 'Lato', 'Segoe UI', sans-serif;

  --text-xs: 0.75rem;
  --text-sm: 0.875rem;
  --text-base: 1rem;
  --text-lg: 1.125rem;
  --text-xl: 1.25rem;
  --text-2xl: 1.5rem;
  --text-3xl: 2rem;
  --text-4xl: 2.5rem;
  --text-5xl: 3.25rem;

  --weight-light: 300;
  --weight-regular: 400;
  --weight-bold: 700;

  /* ── Spacing ── */
  --space-xs: 0.25rem;
  --space-sm: 0.5rem;
  --space-md: 1rem;
  --space-lg: 1.5rem;
  --space-xl: 2rem;
  --space-2xl: 3rem;
  --space-3xl: 4rem;
  --space-4xl: 6rem;

  /* ── Layout ── */
  --max-width: 1200px;
  --header-height: 72px;

  /* ── Borders & Shadows ── */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 12px;
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 4px 12px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 8px 24px rgba(0, 0, 0, 0.12);

  /* ── Transitions ── */
  --transition-fast: 150ms ease;
  --transition-base: 250ms ease;
}
