/* ============================================
   Tour Di Viaggio v3 — Pasaporte Editorial
   variables.css : paleta · tipografía · escala
   ============================================ */

:root {
  /* ---------- Paleta institucional ---------- */
  --c-blue:       #0E2A47;   /* azul logo TDV — tinta editorial */
  --c-blue-90:    rgba(14, 42, 71, 0.90);
  --c-blue-60:    rgba(14, 42, 71, 0.60);
  --c-blue-30:    rgba(14, 42, 71, 0.30);
  --c-blue-12:    rgba(14, 42, 71, 0.12);
  --c-blue-06:    rgba(14, 42, 71, 0.06);

  --c-cream:      #F5EFE3;   /* fondo principal — papel */
  --c-cream-85:   rgba(245, 239, 227, 0.85);
  --c-bone:       #FBF8F2;   /* fondo de tarjetas */

  --c-terracotta: #C8553D;   /* CTA primario / urgencia */
  --c-terracotta-15: rgba(200, 85, 61, 0.15);

  --c-mustard:    #D4A24C;   /* dorado apagado — detalle editorial */
  --c-mustard-25: rgba(212, 162, 76, 0.25);

  --c-sage:       #7A8B6F;   /* badges / disponibilidad */
  --c-sage-15:    rgba(122, 139, 111, 0.15);

  --c-ink:        #1A1A1A;   /* texto secundario / cuerpo */
  --c-ink-70:     rgba(26, 26, 26, 0.70);
  --c-ink-50:     rgba(26, 26, 26, 0.50);

  --c-wa-green:   #25D366;   /* WhatsApp */
  --c-wa-dark:    #128C7E;

  /* ---------- Tipografía ---------- */
  --ff-display: "Fraunces", "Times New Roman", Georgia, serif;
  --ff-body:    "Inter Tight", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --ff-hand:    "Caveat", "Comic Sans MS", cursive;

  /* Fluid type scale — clamp(min, vw, max) */
  --fs-xs:   clamp(0.72rem, 0.7rem  + 0.1vw, 0.78rem);
  --fs-sm:   clamp(0.84rem, 0.8rem  + 0.2vw, 0.92rem);
  --fs-base: clamp(0.98rem, 0.93rem + 0.2vw, 1.06rem);
  --fs-md:   clamp(1.10rem, 1.0rem  + 0.4vw, 1.25rem);
  --fs-lg:   clamp(1.35rem, 1.1rem  + 1.0vw, 1.65rem);
  --fs-xl:   clamp(1.85rem, 1.4rem  + 2.0vw, 2.6rem);
  --fs-2xl:  clamp(2.4rem,  1.7rem  + 3.2vw, 3.6rem);
  --fs-3xl:  clamp(2.8rem,  1.8rem  + 4.4vw, 4.7rem);
  --fs-hero: clamp(3.0rem,  1.8rem  + 5.6vw, 5.8rem);

  /* Line heights */
  --lh-tight:  1.05;
  --lh-snug:   1.18;
  --lh-normal: 1.45;
  --lh-loose:  1.65;

  /* Tracking */
  --tr-tight:  -0.02em;
  --tr-snug:   -0.01em;
  --tr-normal: 0;
  --tr-wide:   0.08em;
  --tr-wider:  0.14em;

  /* ---------- Espaciado ---------- */
  --sp-1:  4px;
  --sp-2:  8px;
  --sp-3:  12px;
  --sp-4:  16px;
  --sp-5:  24px;
  --sp-6:  32px;
  --sp-7:  48px;
  --sp-8:  64px;
  --sp-9:  96px;
  --sp-10: 128px;

  /* ---------- Sombras duras editoriales ---------- */
  --sh-hard-sm: 3px 3px 0 var(--c-blue);
  --sh-hard:    6px 6px 0 var(--c-blue);
  --sh-hard-lg: 10px 10px 0 var(--c-blue);
  --sh-hard-terra: 6px 6px 0 var(--c-terracotta);
  --sh-hard-mustard: 4px 4px 0 var(--c-mustard);

  /* ---------- Anchos ---------- */
  --max-w:    1240px;
  --max-w-narrow: 980px;
  --max-w-text:   720px;

  /* ---------- Radios (mínimos — editorial es escuadrado) ---------- */
  --r-sm: 4px;
  --r-md: 8px;
  --r-pill: 999px;

  /* ---------- Header height ---------- */
  --header-h: 76px;

  /* ---------- Motion ---------- */
  --ease-out: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
  --dur-fast: 180ms;
  --dur:      320ms;
  --dur-slow: 620ms;
}

/* Fraunces — activamos opsz y SOFT por contexto */
.f-display {
  font-family: var(--ff-display);
  font-variation-settings: "opsz" 120, "SOFT" 100, "wght" 600;
}
.f-display-light {
  font-family: var(--ff-display);
  font-variation-settings: "opsz" 120, "SOFT" 100, "wght" 400;
}
.f-display-heavy {
  font-family: var(--ff-display);
  font-variation-settings: "opsz" 144, "SOFT" 100, "wght" 900;
}
.f-italic {
  font-style: italic;
  font-variation-settings: "opsz" 120, "SOFT" 100, "wght" 600;
}

/* Modo lectura cómoda */
@media (prefers-reduced-motion: reduce) {
  :root {
    --dur-fast: 0ms;
    --dur: 0ms;
    --dur-slow: 0ms;
  }
}
