/* ═══════════════════════════════════════════════════════
   variables.css — Design tokens / Custom properties
   ═══════════════════════════════════════════════════════ */

:root {
  /* ── Palette ── */
  --color-bg: #FAFAFA;
  --color-surface: #FFFFFF;
  --color-surface-2: #F0F0F0;
  --color-primary: #111111;
  /* elegant graphite/black */
  --color-primary-mid: #2A2A2A;
  --color-accent: #D4AF37;
  /* classic gold */
  --color-accent-light: #F3E5AB;
  /* pale gold */
  --color-text: #1A1A1A;
  --color-text-muted: #666666;
  --color-border: #E0E0E0;
  --color-white: #FFFFFF;
  --color-overlay: rgba(17, 17, 17, 0.72);

  /* ── Typography ── */
  --font-display: 'Playfair Display', serif;
  /* formal & elegant */
  --font-body: 'Lato', sans-serif;

  --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: 3.75rem;
  --text-6xl: 5rem;

  --weight-regular: 400;
  --weight-medium: 500;
  --weight-bold: 700;

  --leading-tight: 1.15;
  --leading-snug: 1.35;
  --leading-normal: 1.6;

  /* ── Spacing ── */
  --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;
  --space-32: 8rem;

  /* ── Layout ── */
  --container-max: 1200px;
  --container-pad: var(--space-6);
  --section-pad: var(--space-20);

  /* ── Radius ── */
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-xl: 24px;
  --radius-full: 9999px;

  /* ── Shadows ── */
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.10);
  --shadow-lg: 0 12px 40px rgba(0, 0, 0, 0.14);
  --shadow-xl: 0 24px 64px rgba(0, 0, 0, 0.18);

  /* ── Transitions ── */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --duration-fast: 180ms;
  --duration-normal: 350ms;
  --duration-slow: 600ms;

  /* ── Z-index ── */
  --z-base: 1;
  --z-above: 10;
  --z-nav: 100;
  --z-modal: 200;
  --z-toast: 300;
}

/* ── Icon styles ── */
.icon-primary {
  color: var(--color-primary);
}