/* ========================================
   Design Tokens — Next Destino
   Custom Properties para fácil manutenção
   ======================================== */

:root {
  /* ---- Paleta ---- */
  --color-bg: #fbfaf7;          /* off-white quente */
  --color-bg-alt: #f3f1ec;      /* fundo de seção alternada */
  --color-surface: #ffffff;
  --color-ink: #0d2436;         /* azul-petróleo escuro — texto */
  --color-ink-soft: #4a5a6b;
  --color-ink-mute: #8a96a3;
  --color-line: rgba(13, 36, 54, 0.08);
  --color-line-strong: rgba(13, 36, 54, 0.14);

  --color-primary: #0d2436;     /* base premium */
  --color-primary-2: #143850;
  --color-accent: #d97548;      /* coral terroso — CTAs */
  --color-accent-2: #e88a5c;
  --color-gold: #c9a35b;        /* selo / detalhe */
  --color-success: #2f8a5b;

  /* ---- Tipografia ---- */
  --font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif;
  --font-serif: 'Fraunces', 'Times New Roman', Georgia, serif;

  --fs-xs: 0.78rem;
  --fs-sm: 0.875rem;
  --fs-md: 1rem;
  --fs-lg: 1.125rem;
  --fs-xl: 1.375rem;
  --fs-2xl: 1.75rem;
  --fs-3xl: clamp(2rem, 4vw + 1rem, 3.25rem);
  --fs-hero: clamp(2.6rem, 6vw + 1rem, 5rem);

  --lh-tight: 1.1;
  --lh-snug: 1.25;
  --lh-base: 1.55;

  /* ---- Espaçamentos ---- */
  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.5rem;
  --space-6: 2rem;
  --space-7: 3rem;
  --space-8: 4rem;
  --space-9: 6rem;

  /* ---- Layout ---- */
  --container: 1200px;
  --radius-sm: 8px;
  --radius-md: 14px;
  --radius-lg: 20px;
  --radius-xl: 28px;
  --radius-pill: 999px;

  /* ---- Sombras ---- */
  --shadow-xs: 0 1px 2px rgba(13, 36, 54, 0.06);
  --shadow-sm: 0 4px 14px rgba(13, 36, 54, 0.06);
  --shadow-md: 0 12px 30px rgba(13, 36, 54, 0.10);
  --shadow-lg: 0 24px 60px rgba(13, 36, 54, 0.16);
  --shadow-accent: 0 10px 24px rgba(217, 117, 72, 0.30);

  /* ---- Transições ---- */
  --t-fast: 160ms cubic-bezier(.2,.7,.3,1);
  --t-base: 280ms cubic-bezier(.2,.7,.3,1);
  --t-slow: 480ms cubic-bezier(.2,.7,.3,1);

  /* ---- Header ---- */
  --header-h: 80px;
  --header-h-scrolled: 64px;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
