/* ═══════════════════════════════════════════════════════════════
 VITO WINE TOURS — Master Stylesheet
 Estructura:
 1. Tokens (CSS Custom Properties)
 2. Reset
 3. Base
 4. Loader
 5. Cursor + Progress
 6. Navbar
 7. Mobile Menu
 8. Marquee
 9. WhatsApp Button
 10. Componentes globales (botones, kickers, separadores)
 11. Secciones — INDEX
 a. Hero
 b. Tours / Experiencias
 c. Fleet
 d. About
 e. Differentials
 f. FAQ
 g. CTA Final
 12. Footer
 13. Dark Mode
 14. Responsive
═══════════════════════════════════════════════════════════════ */

/* ─────────────────────────────────────
 1. TOKENS
───────────────────────────────────── */
:root {
 /* Altura de viewport: única fuente. 1svh por defecto; en escritorio con escala la fija js/calco.js */
 --1vh: 1svh;
 --1vw: 1vw;
 /* Palette */
 --wine: #6B1D2A;
 --wine-mid: #8B2D3E;
 --wine-dk: #4A0D1A;
 --gold: #AC3749;   /* acento del logo — reemplaza al dorado */
 --gold-lt: #AC3749;
 --ink: #1A1816;
 --gray-xlt: #E8E4DE;

 /* Semantic — light mode: TODO BLANCO */;
 --bg: #FFFFFF;
 --bg-alt: #FFFFFF;
 --bg-card: #FFFFFF;
 --text: #1C1916;
 --text-soft: #4A4540;
 --text-muted: #6B6862;
 --line: #E8E4DE;
 --nav-bg: #FFFFFF;
 --nav-text: #1A1816;
 --mob-bg: #FFFFFF;

 /* Color de acento contextual:
 - Modo claro: vino (sello premium en blanco)
 - Modo oscuro: dorado (sello premium en negro)
 Reemplaza usos de --gold en kickers, etiquetas, líneas y elementos decorativos.
 --gold se sigue usando en GRADIENTES wine→gold (sello visual del sitio). */
 --accent: var(--wine);
 --accent-lt: var(--wine-mid);

 /* Spacing */
 --nav-h: 70px;
 --max-w: calc(1280px * var(--k, 1));
 --pad-x: clamp(1.25rem, 5vw, 5rem);

 /* Easing */
 --ease: cubic-bezier(0.16,1,0.3,1);

 /* Viewport height (set by JS for Safari) */
}

/* ─────────────────────────────────────
 2. RESET
───────────────────────────────────── */
*, *::before, *::after {
 margin: 0; padding: 0; box-sizing: border-box;
}
html {
 scroll-behavior: smooth;
 -webkit-text-size-adjust: 100%;
 overflow-x: hidden;
 overscroll-behavior-y: contain;
 scroll-padding-top: var(--nav-h);
}
img, video { display: block; max-width: 100%; }
button { background: none; border: none; cursor: pointer; font: inherit; }
ul { list-style: none; }

/* ─────────────────────────────────────
 3. BASE
───────────────────────────────────── */
body {
 background: var(--bg);
 color: var(--text);
 font-family: 'Poppins', sans-serif;
 font-size: 18px;
 font-weight: 300;
 line-height: 1.75;
 overflow-x: hidden;
 transition: background .35s ease, color .35s ease;
 -webkit-tap-highlight-color: transparent;
 -webkit-overflow-scrolling: touch;
 cursor: none;
}

/* Scroll bloqueado durante el loader — JS lo libera */
html.loading,
html.loading body {
 overflow: hidden;
 height: 100%;
}
a { text-decoration: none; color: inherit; }

/* em italic: wine en modo claro, gold en modo oscuro (usa --accent contextual) */
em { font-style: italic; color: var(--accent); }

/* ─────────────────────────────────────
 4. LOADER
───────────────────────────────────── */
/* ═══════════════════════════════════════════════
   PRELOADER · reconstruido 2026
   Sin SVG embebidos: dos imágenes, una por modo.
   ═══════════════════════════════════════════════ */
#loader {
  position: fixed;
  top: 0; left: 0;
  width: calc(100 * var(--1vw)); height: calc(100 * var(--1vh)); /* fuente única: cubre el viewport real */
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFFFFF;
  will-change: transform;
  transition: transform .9s cubic-bezier(.22,1,.36,1) .18s;
}
html[data-theme="dark"] #loader { background: #000000; }
/* salida: el logo se va y la cortina se levanta */
#loader.ldr-out { pointer-events: none; }
#loader.ldr-out .vl-in { opacity: 0; transform: translateY(-26px); }
#loader.ldr-out .vl-bar { opacity: 0; }
#loader.ldr-out { transform: translateY(-101%); }
#loader.ldr-gone { visibility: hidden; }
.vl-in { transition: opacity .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1); }
.vl-bar { transition: opacity .9s cubic-bezier(.22,1,.36,1); }

.vl-in { text-align: center; }

/* el logo sube desde detrás de su propia línea */
.vl-mask { overflow: hidden; padding-bottom: .35rem; }
.vl-logo {
  display: block;
  width: calc(300.0px * var(--k, 1));
  height: auto;
  margin-inline: auto;
  transform: translateY(105%);
  transition: transform .9s cubic-bezier(.22,1,.36,1) .1s;
}
#loader.ldr-ready .vl-logo { transform: translateY(0); }

.vl-sub {
  margin: 1.1rem 0 0;
  font-family: 'Poppins', sans-serif;
  font-size: calc(10.6px * var(--k, 1));
  letter-spacing: .34em;
  text-transform: uppercase;
  font-weight: 600;
  color: #AC3749;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity .9s ease .55s, transform .9s cubic-bezier(.22,1,.36,1) .55s;
}
#loader.ldr-ready .vl-sub { opacity: 1; transform: none; }

/* línea de carga */
.vl-bar {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 2px;
  background: rgba(16,12,13,.08);
  overflow: hidden;
}
html[data-theme="dark"] .vl-bar { background: rgba(255,255,255,.12); }
.vl-bar i {
  display: block;
  height: 100%;
  width: 0;
  background: #AC3749;
  transition: width .9s cubic-bezier(.19,1,.22,1) .1s;
}
#loader.ldr-ready .vl-bar i { width: 100%; }

@media (prefers-reduced-motion: reduce) {
  .vl-logo, .vl-sub, .vl-bar i { transition: none !important; transform: none !important; opacity: 1 !important; }
  .vl-bar i { width: 100% !important; }
}

/* ─────────────────────────────────────
 5. CURSOR + PROGRESS BAR
───────────────────────────────────── */

/* Cursor nativo — cambia color según sección */
:root {
 --cur-default: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M4 2 L4 16 L8 12 L11 18 L13 17 L10 11 L15 11 Z' fill='%236B1D2A' stroke='white' stroke-width='1'/%3E%3C/svg%3E") 4 2, auto;
 --cur-pointer: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M4 2 L4 16 L8 12 L11 18 L13 17 L10 11 L15 11 Z' fill='%236B1D2A' stroke='white' stroke-width='1'/%3E%3C/svg%3E") 4 2, pointer;
 --cur-white: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20'%3E%3Cpath d='M4 2 L4 16 L8 12 L11 18 L13 17 L10 11 L15 11 Z' fill='white' stroke='%236B1D2A' stroke-width='1'/%3E%3C/svg%3E") 4 2, auto;
}

/* Secciones claras (fondo blanco) → cursor wine */
body { cursor: var(--cur-default); }
body a, body button { cursor: var(--cur-pointer); }

/* Secciones sobre fondo wine → cursor blanco */

/* Secciones oscuras (CTA, footer) → cursor gold */

/* Loader → blanco */
#loader { cursor: var(--cur-white); }

/* Custom cursor elements hidden — display:none overrides any JS-set inline styles */
#cur-dot { display: none; }
#cur-ring { display: none; }

#prog {
 position: fixed;
 top: 0; left: 0;
 height: 2px;
 width: 0%;
 background: linear-gradient(90deg, var(--wine), var(--gold));
 z-index: 9998;
 transition: width .1s linear;
 pointer-events: none;
}

/* ─────────────────────────────────────
 6. NAVBAR
───────────────────────────────────── */
#mainNav {
 position: fixed;
 top: 0; left: 0; right: 0;
 height: var(--nav-h);
 display: flex;
 align-items: center;
 justify-content: space-between;
 padding: 0 var(--pad-x);
 background: var(--nav-bg);
 backdrop-filter: blur(24px);
 -webkit-backdrop-filter: blur(24px);
 border-bottom: 1px solid var(--line);
 z-index: 900;
 transition: background .35s, border-color .35s, box-shadow .35s;
}
#mainNav.sc {
 box-shadow: 0 2px 24px rgba(26,24,22,.06);
}

/* ── Logo — light mode y dark mode ── */
#nav-logo-light { display: block; height: 44px; width: auto; }
#nav-logo-dark { display: none; height: 44px; width: auto; }

html.dark-pre #nav-logo-light,
body.dark #nav-logo-light { display: none; }
html.dark-pre #nav-logo-dark,
body.dark #nav-logo-dark { display: block; }

/* ── Links — color del tema siempre ── */
.nav-links a {
 font-size: .72rem;
 font-weight: 400;
 letter-spacing: .12em;
 text-transform: uppercase;
 color: var(--nav-text);
 position: relative;
 padding-bottom: 2px;
 transition: color .3s;
}
.nav-links a::after {
 content: '';
 position: absolute;
 bottom: -2px; left: 0;
 width: 0; height: 2px;
 background: var(--wine);
 transition: none;
}
@media (hover: hover) and (pointer: fine) {
 .nav-links a:hover { color: var(--wine); }
 html[data-theme="dark"] .nav-links a:hover { color: var(--accent); }
 .nav-links a:hover::after { width: 100%; }
}
html[data-theme="dark"] .nav-links a::after { background: var(--accent); }
.nav-has-dropdown.nav-mega-open > a { color: var(--wine); }
html[data-theme="dark"] .nav-has-dropdown.nav-mega-open > a { color: var(--accent); }
.nav-has-dropdown.nav-mega-open > a::after { width: 100%; }
html[data-theme="dark"] .nav-has-dropdown.nav-mega-open > a::after { background: var(--accent); }

/* ── Flags sin scroll: más visibles sobre imagen ── */
.nav-flag-active svg { box-shadow: 0 0 0 1.5px var(--accent), 0 2px 8px rgba(0,0,0,.3); }

/* ── Theme icons ── */

/* Logo wrap */
.nav-logo-wrap {
 display: flex;
 align-items: center;
 flex-shrink: 0;
 line-height: 0;
 text-decoration: none;
}

/* Links list */
.nav-links {
 position: absolute;
 left: 50%;
 transform: translateX(-50%);
 display: flex;
 align-items: center;
 gap: calc(32.0px * var(--k, 1));
 list-style: none;
 white-space: nowrap;
}

/* Right controls */
.nav-right {
 display: flex;
 align-items: center;
 gap: .8rem;
 flex-shrink: 0;
}

/* Flags */
.nav-lang {
 display: flex;
 align-items: center;
 gap: .35rem;
 padding-left: .8rem;
 border-left: 1px solid var(--line);
 transition: border-color .45s;
}
#mainNav.sc .nav-lang { border-left-color: var(--line); }

.nav-flag {
 display: flex;
 align-items: center;
 opacity: .4;
 transition: opacity .25s, transform .25s;
}
.nav-flag:hover { opacity: .8; transform: translateY(-1px); }

.nav-flag svg { width: 24px; height: auto; border-radius: 2px; display: block; box-shadow: 0 1px 4px rgba(0,0,0,.15); }

/* Theme toggle */
.nav-theme {
 display: flex;
 align-items: center;
 gap: .35rem;
 pointer-events: all;
 user-select: none;
}
.nav-theme-icon {
 font-size: .78rem;
 color: var(--text-muted);
 line-height: 1;
 user-select: none;
 pointer-events: none;
 transition: color .45s;
}
.nav-toggle {
 position: relative;
 width: 34px; height: 18px;
 background: var(--gray-xlt);
 border-radius: 9px;
 transition: background .3s;
 flex-shrink: 0;
}
.nav-toggle::after {
 content: '';
 position: absolute;
 top: 2px; left: 2px;
 width: 14px; height: 14px;
 background: #fff;
 border-radius: 50%;
 box-shadow: 0 1px 3px rgba(0,0,0,.2);
 transition: transform .3s var(--ease);
}
body.dark .nav-toggle { background: var(--wine); }
body.dark .nav-toggle::after { transform: translateX(16px); }

/* Hamburger */
.nav-burger {
 display: none;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 gap: 5px;
 padding: 13px 11px;
 margin: -13px -11px;
 background: none;
 border: none;
}
.nav-burger span {
 display: block;
 width: 22px; height: 1.5px;
 background: #fff;
 border-radius: 2px;
 transition: background .3s;
}

/* ─────────────────────────────────────
 7. MOBILE MENU
───────────────────────────────────── */
#mobileMenu {
 position: fixed;
 inset: 0;
 z-index: 10000;
 background: var(--mob-bg);
 backdrop-filter: blur(24px);
 -webkit-backdrop-filter: blur(24px);
 transform: translateX(100%);
 transition: transform .45s var(--ease);
}
#mobileMenu.open { transform: translateX(0); }

#mobileMenuInner {
 display: flex;
 flex-direction: column;
 height: 100%;
 padding: 1.5rem var(--pad-x);
 overflow-y: auto;
 overscroll-behavior: contain;
 -webkit-overflow-scrolling: touch;
}
#mobileMenuTop {
 display: flex;
 justify-content: flex-end;
 align-items: center;
 height: var(--nav-h);
 flex-shrink: 0;
 margin-bottom: .5rem;
}
#mobileMenuClose {
 font-size: 1.4rem;
 color: var(--text);
 width: 44px;
 height: 44px;
 display: flex;
 align-items: center;
 justify-content: center;
 background: none;
 border: none;
 cursor: pointer;
 transition: color .25s;
 font-family: inherit;
 line-height: 1;
}
@media (hover: hover) and (pointer: fine) {
 #mobileMenuClose:hover { color: var(--wine); }
}

#mobileMenuLinks {
 flex: 0 0 auto;
 display: flex;
 flex-direction: column;
 justify-content: flex-start;
 gap: .5rem;
 margin-top: 2rem;
}
#mobileMenuLinks a {
 display: flex;
 justify-content: space-between;
 align-items: center;
 font-size: calc(32.0px * var(--k, 1));
 font-weight: 600;
 padding: .75rem 0;
 border-bottom: 1px solid var(--line);
 color: var(--text);
}
@media (hover: hover) and (pointer: fine) {
 #mobileMenuLinks a {
 transition: color .25s, padding-left .25s;
 }
 #mobileMenuLinks a:hover { color: var(--wine); padding-left: .5rem; }
}

#mobileMenuBottom {
 padding-top: 1.5rem;
 border-top: 1px solid var(--line);
 display: flex;
 flex-direction: column;
 gap: 1rem;
}
#mobileThemeRow, #mobileLangRow {
 display: flex;
 align-items: center;
 justify-content: space-between;
}
#mobileThemeLbl, #mobileLangLbl {
 font-size: .72rem;
 letter-spacing: .1em;
 text-transform: uppercase;
 color: var(--text-muted);
}
#mobileThemeSwitch {
 width: 44px; height: 22px;
 background: var(--gray-xlt);
 border-radius: 11px;
 position: relative;
 cursor: pointer;
 transition: background .3s;
}
#mobileThemeSwitch.on { background: var(--wine); }
#mobileThemeKnob {
 position: absolute;
 top: 3px; left: 3px;
 width: 16px; height: 16px;
 background: #fff;
 border-radius: 50%;
 box-shadow: 0 1px 4px rgba(0,0,0,.2);
 transition: transform .3s var(--ease);
}
#mobileThemeSwitch.on #mobileThemeKnob { transform: translateX(22px); }

#mobileLangFlags { display: flex; gap: .5rem; align-items: center; }
.mob-flag {
 display: flex;
 align-items: center;
 gap: .3rem;
 padding: .3rem .5rem .35rem;
 border-radius: 4px;
 opacity: .65;
 border-bottom: 2px solid transparent;
 transition: opacity .25s, border-color .25s;
 font-size: .65rem;
 font-weight: 500;
 letter-spacing: .05em;
}
.mob-flag-active {
 opacity: 1;
 border-bottom-color: var(--wine);
 border-radius: 0;
}
html[data-theme="dark"] .mob-flag-active,
body.dark .mob-flag-active {
 border-bottom-color: var(--accent);
}
@media (hover: hover) and (pointer: fine) {
 .mob-flag:hover { opacity: 1; }
}
.mob-flag svg { width: 20px; border-radius: 2px; }

/* ─────────────────────────────────────
 8. MARQUEE / TICKER
───────────────────────────────────── */
.mq-strip {
 background: var(--wine);
 overflow: hidden;
 padding: .55rem 0;
 border-top: 1px solid var(--wine-dk);
 border-bottom: 1px solid var(--wine-dk);
}
.mq-inner {
 display: flex;
 width: max-content;
 animation: ticker 28s linear infinite;
}
.mq-strip:hover .mq-inner { animation-play-state: paused; }
@keyframes ticker {
 from { transform: translateX(0); }
 to { transform: translateX(-50%); }
}
.mq-item {
 display: flex;
 align-items: center;
 gap: .6rem;
 padding: 0 1.5rem;
 white-space: nowrap;
}
.mq-dot {
 width: 4px; height: 4px;
 border-radius: 50%;
 background: var(--accent);
 opacity: .7;
 flex-shrink: 0;
}
.mq-txt {
 font-size: .65rem;
 font-weight: 500;
 letter-spacing: .18em;
 text-transform: uppercase;
 color: rgba(255,255,255,.85);
}

/* ─────────────────────────────────────
 9. WHATSAPP + AI BUTTON
───────────────────────────────────── */
/* AI fab — solo mobile, oculto en desktop */
.ai-fab {
 display: none;
}

.wa-btn {
 position: fixed;
 bottom: 1.5rem;
 right: 1.5rem;
 width: 52px; height: 52px;
 background: #25D366;
 border-radius: 50%;
 display: flex;
 align-items: center;
 justify-content: center;
 z-index: 800;
 box-shadow: 0 4px 20px rgba(37,211,102,.35);
 transition: transform .3s var(--ease), box-shadow .3s;
}
.wa-btn:hover {
 transform: scale(1.1);
 box-shadow: 0 6px 28px rgba(37,211,102,.5);
}
.wa-btn svg { width: 26px; height: 26px; fill: #fff; }

/* In index: WA at base position */
html:has(#ai-popup) .wa-btn { bottom: 1.5rem !important; }

/* ─────────────────────────────────────
 10. COMPONENTES GLOBALES
───────────────────────────────────── */

/* Botones */

/* Kicker label */

/* Section heading */

/* Scroll reveal */
.sr {
 opacity: 0;
 transform: translateY(28px);
 transition: opacity .7s var(--ease), transform .7s var(--ease);
}
.sr.vis { opacity: 1; transform: translateY(0); }

/* ─────────────────────────────────────
 11a. HERO
───────────────────────────────────── */
.hero {
 display: grid;
 grid-template-columns: 1fr 1fr;
 min-height: calc(100 * var(--1vh));
 position: relative;
 overflow: hidden;
 padding-top: var(--nav-h);
}

/*  badges */

/* Right — image */
.hero-right-img {
 position: relative;
 overflow: hidden;
 min-height: 500px;
 will-change: transform;
}
.hero-right-img img {
 position: absolute;
 inset: 0;
 width: 100%; height: 100%;
 object-fit: cover;
 object-position: center;
 animation: heroImgReveal 1.2s var(--ease) .2s both;
}
@keyframes heroImgReveal {
 from { transform: scale(1.08); opacity: .6; }
 to { transform: scale(1); opacity: 1; }
}

/* Scroll indicator — ELIMINADO */

/* ── All Inclusive chip — diseño exacto ── */
/* ── All Inclusive button — desktop: circular con expand hover ── */

/* tablet override — same as desktop */

/* Legacy selectors cleanup */

/* ── Back to top button — wine color ── */

/* Keyframes */

/* Hero-only: solo movimiento (sin fade de invisible→visible).
 Los elementos están siempre visibles, solo "suben" al cargar. */

/* ─────────────────────────────────────
 11b. TOURS / EXPERIENCIAS
───────────────────────────────────── */
#tours { padding-top: calc(56.0px * var(--k, 1)); }

/* Exp block — split layout */

.exp-img {
 position: relative;
 overflow: hidden;
 will-change: transform;
}
.exp-img img {
 width: 100%; height: 100%;
 object-fit: cover;
 transition: transform .8s var(--ease);
 will-change: transform;
 transform-origin: center center;
}

/* Meta stats */

/* ─── Tour links — cards editoriales con identidad premium ─── */
/* Última card sin borde inferior para corte limpio */

/* Numeración estilo editorial — ancho fijo para que todos los títulos arranquen en la misma columna */

/* Flecha estilizada - flecha + línea */

/* Hover desktop: cambia color del título y de la flecha + revela línea wine→gold */

/* Modo oscuro: cambios al gold */
html[data-theme="dark"] .exp-tour:hover .exp-tour-name { color: var(--accent); }
html[data-theme="dark"] .exp-tour:hover .exp-tour-num { color: var(--accent-lt); }
html[data-theme="dark"] .exp-tour:hover .exp-tour-arr {
 border-color: var(--accent);
 color: var(--accent);
}

/* Mobile: feedback claro al hacer tap, sin animaciones de hover persistentes */
@media (hover: none), (max-width: 768px) {
 
 /* Sin transición de color persistente en mobile (la "animación de carga" del círculo) */
 
 /* Reset hover (no aplican en mobile real) */
 
 /* Feedback al TOUCH (active): card se oscurece + flecha se mueve a la derecha */
 html[data-theme="dark"] .exp-tour:active {
 background: rgba(255, 255, 255, .04);
 }

 /* En mobile, la sección de tours debe ser ESTÁTICA al hacer scroll.
 Sin animación de translateY(28px) ni transición — los títulos quedan fijos en su lugar. */
 
 .exp-img.sr {
 opacity: 1 !important;
 transform: none !important;
 transition: none !important;
 transition-delay: 0s !important;
 }
}

/* ─────────────────────────────────────
 11c. FLEET
───────────────────────────────────── */

.fc {
 display: flex;
 align-items: center;
 justify-content: space-between;
 padding: 1rem 1rem;
 border-bottom: 1px solid var(--line);
 cursor: pointer;
 /* Hover instantáneo — sin lag al pasar el mouse entre vehículos */
 transition: none;
 border-left: 3px solid transparent;
}
.fc:hover, .fc-active {
 background: var(--bg-alt);
 border-left-color: var(--wine);
 padding-left: 1.3rem;
}
.fc-name { font-size: 1.1rem; font-weight: 700; color: var(--text); }

/* Fleet visual */
.fleet-visual {
 background: var(--bg-alt);
 display: flex;
 align-items: center;
 justify-content: center;
 padding: 3rem;
 overflow: hidden;
}

/* ─────────────────────────────────────
 11d. ABOUT — rediseño
───────────────────────────────────── */

/* Columna derecha — pilares */

/* ─────────────────────────────────────
 11e. DIFFERENTIALS
───────────────────────────────────── */

.di {
 display: flex;
 flex-direction: column;
 gap: .4rem;
}

/* ─────────────────────────────────────
 11f. FAQ
───────────────────────────────────── */

.faq-item {
 border-bottom: 1px solid var(--line);
}

/* ─────────────────────────────────────
 11g. CTA FINAL
───────────────────────────────────── */

/* ─────────────────────────────────────
 12. FOOTER
───────────────────────────────────── */
footer {
 background: #0a0806;
 color: rgba(255,255,255,.55);
 padding: clamp(3rem, 7vw, 6rem) var(--pad-x) 2rem;
 /* Footer SIEMPRE tiene fondo oscuro → acento siempre dorado, sin importar el modo de la página */
 --accent: var(--gold);
 --accent-lt: var(--gold-lt);
}

.footer-grid {
 display: grid;
 grid-template-columns: 1.8fr 1fr 1fr 1fr;
 gap: 3rem;
 max-width: var(--max-w);
 margin: 0 auto;
 padding-bottom: 3rem;
 border-bottom: 1px solid rgba(255,255,255,.07);
}

.footer-brand-name {
 font-size: .6rem;
 letter-spacing: .25em;
 text-transform: uppercase;
 color: rgba(255,255,255,.65);
 margin-bottom: .5rem;
}
.footer-tagline {
 font-size: calc(20.8px * var(--k, 1));
 font-weight: 600;
 font-style: italic;
 color: var(--accent);
 line-height: 1.35;
 margin-bottom: 1.2rem;
}
.footer-desc {
 font-size: .9rem;
 line-height: 1.75;
 max-width: 300px;
 margin-bottom: 1.5rem;
}
.footer-contact { display: flex; flex-direction: column; gap: .4rem; }
.footer-contact a {
 font-size: .9rem;
 transition: color .25s;
}
.footer-contact a:hover { color: var(--accent); }

.footer-col-title {
 font-size: .58rem;
 letter-spacing: .2em;
 text-transform: uppercase;
 color: rgba(255,255,255,.65);
 margin-bottom: 1.2rem;
}
.footer-col-links { display: flex; flex-direction: column; gap: .55rem; }
.footer-col-links a {
 font-size: .9rem;
 transition: color .25s;
}
.footer-col-links a:hover { color: var(--accent); }
.footer-link-active { color: var(--accent) !important; }
.mob-link-active { color: var(--accent) !important; }

.footer-bottom {
 max-width: var(--max-w);
 margin: 0 auto;
 padding-top: 1.5rem;
 display: flex;
 align-items: center;
 justify-content: space-between;
 font-size: .65rem;
 letter-spacing: .05em;
 flex-wrap: wrap;
 gap: .5rem;
}

/* Social links */
.footer-social {
 display: flex;
 align-items: center;
 gap: .75rem;
 margin-top: 1.5rem;
}
.footer-social a {
 width: 36px; height: 36px;
 border: 1px solid rgba(255,255,255,.12);
 border-radius: 50%;
 display: flex;
 align-items: center;
 justify-content: center;
 color: rgba(255,255,255,.45);
 font-size: .8rem;
 transition: border-color .25s, color .25s, transform .25s;
}
.footer-social a:hover {
 border-color: var(--accent);
 color: var(--accent);
 transform: translateY(-2px);
}
.footer-social svg {
 width: 16px; height: 16px;
 fill: currentColor;
}

/* ── Reviews / Testimonials ── */

/* Responsive reviews */

/* ─────────────────────────────────────
 13. DARK MODE — via data-theme en html
───────────────────────────────────── */
html[data-theme="dark"] {
 --bg: #000000;
 --bg-alt: #000000;
 --bg-card: #000000;
 --text: #F5F5F5;
 --text-soft: #C0BCBA;
 --text-muted: #888480;
 --line: #1A1A1A;
 --nav-bg: #0A0908;
 --nav-text: #F5F5F5;
 --mob-bg: #0A0908;
 --ink: #F5F5F5;
 /* Modo oscuro: el acento es dorado */;
 --accent: var(--gold);
 --accent-lt: var(--gold-lt);
 --hero-ovl-mob: linear-gradient(to top,
 rgba(4,2,6,.92) 0%,
 rgba(4,2,6,.75) 35%,
 rgba(4,2,6,.40) 65%,
 rgba(4,2,6,.0) 100%);
}
html[data-theme="dark"] body {
 background: #000000;
 color: #F5F5F5;
}
html[data-theme="dark"] .hero-left,
html[data-theme="dark"] .exp-body,
html[data-theme="dark"] .fleet-sec,
html[data-theme="dark"] .fleet-visual { background: #000000; }
html[data-theme="dark"] #nav-logo-light { display: none; }
html[data-theme="dark"] #nav-logo-dark { display: block; }

/* En mobile el hero-left es transparente sobre la imagen — anular el negro del dark mode */
@media (max-width: 768px) {
 html[data-theme="dark"] .hero-left { background: transparent; }
}

/* btt usa wine siempre */

/* ─────────────────────────────────────
 14. ALL INCLUSIVE POPUP
───────────────────────────────────── */
/* ═══════════════════════════════
 ALL INCLUSIVE POPUP
═══════════════════════════════ */
#ai-popup {
 position: fixed;
 inset: 0;
 z-index: 9000;
 display: flex;
 align-items: center;
 justify-content: center;
 padding: 2rem;
 opacity: 0;
 visibility: hidden;
 transition: opacity .3s ease, visibility .3s;
 height: calc(100 * var(--1vh));
}
#ai-popup.open { opacity: 1; visibility: visible; }

.ai-popup-backdrop {
 position: fixed;
 inset: 0;
 background: rgba(4,3,2,.55);
}

/* Desktop box — 2 columnas */
.ai-popup-box {
 position: relative;
 z-index: 1;
 width: 100%;
 max-width: 860px;
 max-height: calc(90 * var(--1vh));
 display: flex;
 flex-direction: column;
 box-shadow: 0 40px 120px rgba(0,0,0,.3);
 transform: translateY(24px);
 transition: transform .5s var(--ease);
 overflow: hidden;
 border: 1px solid var(--line);
}
.ai-popup-layout {
 display: flex;
 flex-direction: column;
 flex: 1;
 min-height: 0;
 overflow: hidden;
}

/* Left — visual panel */

/* Right — content panel */
.ai-popup-content {
 background: var(--bg-card);
 display: flex;
 flex-direction: column;
 flex: 1;
 min-height: 0;
 overflow: hidden;
 position: relative;
}
body.dark .ai-popup-content { background: #0E0C0A; }

.ai-popup-close {
 position: absolute;
 top: 1.4rem; right: 1.4rem;
 width: 30px; height: 30px;
 border: 1px solid var(--line);
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: .75rem;
 color: var(--text-muted);
 background: transparent;
 transition: border-color .2s, color .2s;
 cursor: pointer;
 z-index: 10;
}
.ai-popup-close:hover { border-color: var(--wine); color: var(--wine); }

/* Drag handle: línea horizontal que actúa como agarradera para cerrar el popup en mobile */
.ai-popup-handle {
 display: none; /* Oculta por defecto en desktop */
 position: absolute;
 top: 0; left: 0; right: 0;
 width: 100%;
 height: 26px;
 margin: 0;
 padding: 0;
 background: transparent;
 border: 0;
 cursor: grab;
 z-index: 11;
 touch-action: none;
}
.ai-popup-handle::before {
 content: '';
 position: absolute;
 top: 10px;
 left: 50%;
 transform: translateX(-50%);
 width: 44px;
 height: 4px;
 border-radius: 4px;
 background: var(--text-muted);
 opacity: .35;
 transition: opacity .2s, background .2s;
}
.ai-popup-handle:hover::before { opacity: .6; }
.ai-popup-handle:active { cursor: grabbing; }

.ai-popup-head {
 padding: 2rem 2rem 1rem;
 flex-shrink: 0;
}
.ai-popup-kicker {
 font-size: .4rem; letter-spacing: .3em; text-transform: uppercase;
 color: var(--accent); font-weight: 500; margin-bottom: .8rem;
 display: flex; align-items: center; gap: .5rem;
}
.ai-popup-kicker::before {
 content: ''; width: 18px; height: 1px;
 background: var(--accent); flex-shrink: 0;
}
.ai-popup-title {
 font-size: calc(35.2px * var(--k, 1));
 font-weight: 800; color: var(--ink); line-height: 1.05; margin-bottom: .6rem;
}
html[data-theme="dark"] .ai-popup-title { color: var(--text); }
.ai-popup-title em { font-style: italic; font-weight: 300; color: var(--wine); }
html[data-theme="dark"] .ai-popup-title em { color: var(--accent-lt); }
.ai-popup-sub {
 font-size: .84rem; color: var(--text-soft); line-height: 1.7;
}

.ai-popup-divider {
 height: 1px; background: var(--line);
 margin: 0 2rem; flex-shrink: 0;
}

.ai-popup-items {
 padding: .4rem 2rem .8rem;
 display: flex;
 flex-direction: column;
 overflow-y: auto;
 flex: 1;
 min-height: 0;
 -webkit-overflow-scrolling: touch;
}
.ai-popup-item {
 display: grid;
 grid-template-columns: 30px 1fr;
 gap: 1.1rem; align-items: start;
 padding: 1rem 0;
 border-bottom: 1px solid var(--line);
}
.ai-popup-item:last-child { border-bottom: none; }
.ai-popup-item-icon {
 width: 30px; height: 30px;
 border: 1px solid rgba(172, 55, 73,.25);
 display: flex; align-items: center; justify-content: center;
 color: var(--accent);
 font-size: .55rem; font-weight: 700; letter-spacing: .04em;
 flex-shrink: 0; margin-top: .15rem;
 font-family: 'Poppins', sans-serif;
 font-feature-settings: 'tnum';
}
.ai-popup-item-name {
 font-size: .68rem; letter-spacing: .12em; text-transform: uppercase;
 color: var(--wine); font-weight: 700; margin-bottom: .3rem;
}
html[data-theme="dark"] .ai-popup-item-name { color: var(--accent); }
.ai-popup-item-desc {
 font-size: .82rem; color: var(--text-soft); line-height: 1.65;
}

.ai-popup-foot {
 padding: 1.2rem 2rem 1.6rem;
 display: flex; flex-direction: column; gap: .7rem;
 border-top: 1px solid var(--line);
 flex-shrink: 0;
}
.ai-popup-cta {
 display: flex; align-items: center; justify-content: center; gap: .8rem;
 background: var(--wine); color: #fff;
 padding: 1rem 2rem;
 font-size: .52rem; letter-spacing: .22em; text-transform: uppercase;
 font-weight: 600; transition: background .25s; width: 100%;
}
.ai-popup-cta::after { content: '→'; font-size: .9rem; letter-spacing: 0; }
.ai-popup-cta:hover { background: var(--wine-dk); }
.ai-popup-note {
 font-size: .75rem; color: var(--text-muted); text-align: center;
}

/* Mobile popup — drawer desde abajo */
@media (max-width: 768px) {
 #ai-popup { padding: 0; align-items: flex-end; }
 .ai-popup-box {
 border-radius: 16px 16px 0 0;
 border: none;
 max-width: 100%;
 max-height: calc(88 * var(--1vh));
 transform: translateY(100%);
 overscroll-behavior: contain;
 touch-action: pan-y;
 }
 #ai-popup.open .ai-popup-box { transform: translateY(0); }
 /* Single column on mobile */
 .ai-popup-layout { grid-template-columns: 1fr; }
 
 .ai-popup-content { max-height: calc(88 * var(--1vh)); overflow-y: auto; }
 .ai-popup-content::before { display: none; }
 /* Handle decorativo viejo: ocultar (lo reemplaza el botón .ai-popup-handle interactivo) */
 .ai-popup-content::after { display: none; }
 /* Mostrar el handle interactivo en mobile */
 .ai-popup-handle { display: block; }
 .ai-popup-close { top: 1.2rem; right: 1.2rem; }
 /* Padding superior aumentado para no taparse con el handle (26px) */
 .ai-popup-head { padding: 2.4rem 1.4rem 1rem; }
 .ai-popup-divider { margin: 0 1.4rem; }
 .ai-popup-items { padding: .5rem 1.4rem; }
 .ai-popup-foot { padding: 1.2rem 1.4rem max(1.4rem, calc(env(safe-area-inset-bottom) + 1rem)); }
 .ai-popup-title { font-size: calc(28.8px * var(--k, 1)); }
 .ai-popup-item { padding: 1rem 0; }
 .ai-popup-item-name { font-size: .68rem; }
 .ai-popup-head { padding: 2.4rem 1.5rem 1rem; }
 .ai-popup-divider { margin: 0 1.5rem; }
 .ai-popup-items { padding: 1rem 1.5rem; }
 .ai-popup-foot { padding: 1rem 1.5rem 2rem; }
}

/* ─────────────────────────────────────
 15. PARALLAX CINEMATOGRÁFICO
───────────────────────────────────── */

/* Parallax depth classes for JS */

/* ═══════════════════════════════════════════════════════════════
 16. RESPONSIVE
 1280px → large desktop
 1024px → laptop / tablet landscape
 768px → mobile (todo lo mobile va aquí, una sola vez)
 480px → phones pequeños
 375px → iPhone SE/14/15
═══════════════════════════════════════════════════════════════ */

/* ─── Hero mobile overlay ─── */
:root {
 --hero-ovl-mob: linear-gradient(to top,
 rgba(10,6,4,.96) 0%,
 rgba(10,6,4,.82) 35%,
 rgba(10,6,4,.48) 65%,
 rgba(10,6,4,.0) 100%);
}

/* Footer mobile — oculto en desktop */
.foot-mobile { display: none; }

/* ════════════════════
 1280px
════════════════════ */
@media (max-width: calc(1280px * var(--k, 1))) {
 :root { --pad-x: clamp(1.5rem, 4vw, 4rem); }
 .footer-grid { gap: 2rem; }
}

/* ════════════════════
 1024px
════════════════════ */
@media (max-width: calc(1024px * var(--k, 1))) {
 /* Hero */
 .hero { grid-template-columns: 1fr; min-height: auto; }
 .hero-right-img { position: relative; height: calc(1331.2px * var(--k, 1)); min-height: 300px; max-height: 480px; }
 .hero-right-img img { position: absolute; }

 /* Tours */
 .exp-img { height: calc(1280.0px * var(--k, 1)); min-height: 280px; max-height: 460px; }

 /* Fleet */
 .fleet-visual { min-height: 260px; padding: 2rem; }

 /* About */

 /* Differentials */

 /* FAQ / Footer / Reviews */
 .footer-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; }

 /* Cursor off */
 #cur-dot, #cur-ring { display: none; }
 body,
 body *,
 body *::before,
 body *::after { cursor: auto; }
}

/* ════════════════════════════════════════════════════════
 MOBILE — solo phones, no tablets
 Condición dual:
 - max-width: 768px → pantalla pequeña
 - pointer: coarse → dispositivo touch (excluye laptops touch)
 iPad Mini (768px touch) → usa desktop
 iPad / iPad Pro → usa desktop
 iPhone → usa mobile
════════════════════════════════════════════════════════ */
@media (max-width: 768px) and (pointer: coarse) {

 /* ── Variables ── */
 :root { --nav-h: 64px; }

 /* ── Navbar ── */
 #mainNav {
 height: 64px;
 padding: 0 1.6rem;
 background: var(--nav-bg);
 border-bottom-color: var(--line);
 box-shadow: 0 1px 0 var(--line);
 }
 #mainNav.sc {
 background: var(--nav-bg);
 border-bottom-color: var(--line);
 box-shadow: 0 1px 0 var(--line);
 }

 .nav-right .nav-lang,
 .nav-right .nav-theme { display: none; }
 .nav-burger { display: flex; }

 #mainNav.sc .nav-burger span { background: var(--nav-text); }
 .nav-logo-wrap img { height: 38px; }

 /* ── Hero — imagen full screen, texto y badges al fondo ── */
 .hero {
 display: block;
 position: relative;
 height: calc(100 * var(--1vh));
 min-height: calc(100 * var(--1vh));
 padding-top: 0;
 overflow: hidden;
 }

 .hero-right-img {
 position: absolute;
 inset: 0;
 height: 100%;
 max-height: none;
 min-height: 0;
 z-index: 0;
 }
 .hero-right-img img {
 position: absolute;
 inset: 0;
 width: 100%;
 height: 100%;
 object-fit: cover;
 object-position: center 30%;
 }
 .hero-right-img::after {
 content: '';
 position: absolute;
 inset: 0;
 background: var(--hero-ovl-mob);
 z-index: 1;
 pointer-events: none;
 }

 /* Textos blancos sobre imagen */

 /* Botones apilados full width */

 /* Badges  — en flujo normal, centrados debajo de los botones */

 /* Scroll indicator y notif */

 /* WhatsApp y AI fab */
 .ai-fab {
 display: flex;
 align-items: center;
 justify-content: center;
 position: fixed;
 bottom: calc(max(1.2rem, calc(env(safe-area-inset-bottom) + .8rem)) + 60px);
 right: 1.2rem;
 width: 52px;
 height: 52px;
 border-radius: 50%;
 background: var(--wine);
 color: #fff;
 font-size: 1rem;
 font-weight: 600;
 font-style: italic;
 letter-spacing: .06em;
 z-index: 800;
 box-shadow: 0 4px 20px rgba(107,29,42,.45);
 border: none;
 cursor: pointer;
 transition: transform .3s var(--ease), box-shadow .3s;
 }
 .ai-fab:active {
 transform: scale(0.95);
 box-shadow: 0 2px 12px rgba(107,29,42,.35);
 }
 .wa-btn {
 bottom: max(1.2rem, calc(env(safe-area-inset-bottom) + .8rem)) !important;
 right: 1.2rem;
 width: 52px;
 height: 52px;
 }
 

 /* ── Marquee ── */
 .mq-txt { font-size: .55rem; letter-spacing: .14em; }
 .mq-item { padding: 0 1.2rem; }

 /* ── Tours ── */
 #tours { padding-top: 0; }

 /* ═══════════════════════════════════════════════════════════════
 MOBILE — DISEÑO OVERLAY (Opción A)
 El kicker, título, descripción y stats van SOBRE la imagen
 con un degradado oscuro. Las cards de tours quedan abajo.
 Esquinas RECTAS (sin border-radius). Imagen full-bleed.
 ═══════════════════════════════════════════════════════════════ */

 /* Imagen del bloque: tall, full-bleed, sin esquinas redondeadas */
 .exp-img {
 order: 0;
 position: relative;
 width: 100%;
 margin: 0;
 padding: 0;
 height: auto;
 aspect-ratio: 4/5;
 max-height: 580px;
 min-height: 380px;
 border-radius: 0;
 overflow: hidden;
 }
 .exp-img img {
 width: 100%;
 height: 100%;
 object-fit: cover;
 transform: none !important;
 transition: none !important;
 border-radius: 0;
 }
 /* Sin animación de zoom al hover/touch en mobile */

 /* Degradado oscuro sobre la imagen para legibilidad del texto */
 .exp-img::after {
 content: '';
 position: absolute;
 inset: 0;
 background: linear-gradient(180deg,
 rgba(15, 8, 12, 0) 0%,
 rgba(15, 8, 12, .35) 45%,
 rgba(15, 8, 12, .92) 100%);
 pointer-events: none;
 z-index: 2;
 }

 /* Numeración del bloque (01, 02, etc) sobre la imagen */

 /* CONTENIDO DE TEXTO sobre la imagen
 Movemos kicker + título + descripción + stats al pie de la imagen */

 /* Crear un "panel overlay" que contiene kicker + título + descripción + stats
 sobre la parte inferior de la imagen.
 Usamos margin-top negativo para superponer sobre la imagen. */

 /* El primer elemento (kicker) sube y se superpone sobre la imagen */

 /* Línea wine→gold mantiene el sello premium */

 /* Stats (Full day · Privado · 3) abajo del párrafo, separados por un border-top blanco */

 /* Cards de tours debajo de la imagen — fondo blanco, sin border-radius */
 html[data-theme="dark"] .exp-body > .exp-tours {
 background: var(--bg);
 }

 /* Mobile: ocultar el tag superior — el nombre del tour ya dice todo y evita
 desalineación visual cuando algunos tags ocupan 1 línea y otros 2 */

 /* ── Fleet ── */
 .fleet-visual { order: 1; min-height: 180px; }
 .fc {
 display: flex;
 flex-direction: column;
 gap: .3rem;
 padding: 1rem .8rem;
 border: none;
 border-bottom: 1px solid var(--line);
 border-right: 1px solid var(--line);
 }
 .fc:nth-child(even) { border-right: none; }
 .fc:nth-last-child(-n+2) { border-bottom: none; }
 .fc::before { top: 0; bottom: auto; left: 0; right: 0; width: auto; height: 2px; transform: scaleX(0); transform-origin: left; }
 .fc:hover::before,
 .fc.fc-active::before { transform: scaleX(1); }
 .fc-name { font-size: .9rem; }

 /* ── About ── */

 /* ── Differentials ── */
 html[data-theme="dark"] .diff-mobile-title { color: var(--accent); }

 /* ── Reviews — scroll horizontal ── */
 /* Mobile: sin zoom en cards de reviews al tocar/hover */

 /* ── FAQ ── */

 /* ── CTA ── */

 /* ── Footer mobile ── */
 footer { padding: 0; }

 /* ═══════════════════════════════════════════════
 FOOTER MOBILE — Identidad premium
 Contenedor + clases .fmv2-* (ver más abajo)
 ═══════════════════════════════════════════════ */
 .foot-mobile {
 display: flex;
 flex-direction: column;
 padding: 3rem 1.6rem max(1.6rem, calc(env(safe-area-inset-bottom) + 1rem));
 background: #0a0806;
 --accent: var(--gold); /* fondo siempre oscuro */
 }

 /* ── Mobile menu ── */
 #mobileMenuLinks a { font-size: calc(28.8px * var(--k, 1)); padding: 18px 24px; }

 /* Redes sociales en fila horizontal */

 /* Contacto */

 /* Nav 2 columnas */

 /* Idiomas — texto simple sin chips */

 /* Bottom */

 /* ── Mobile menu ── */
 #mobileMenuLinks a { font-size: calc(28.8px * var(--k, 1)); padding: 18px 24px; }

 /* ══════════════════════════════════════════════
 FOOTER MOBILE v2 — Identidad premium
 Clases: fmv2-*
 ══════════════════════════════════════════════ */
 .fmv2-brand { margin-bottom: 1.2rem; }

 /* Línea sello de marca */
 .fmv2-rule {
 width: 44px; height: 2px;
 background: linear-gradient(90deg, var(--wine), var(--gold));
 margin-bottom: 1.5rem;
 }

 /* Contacto */
 .fmv2-contact { display: flex; flex-direction: column; gap: .38rem; margin-bottom: 1.1rem; }
 .fmv2-contact-link { font-size: .8rem; color: rgba(255,255,255,.7); }

 /* Redes */
 .fmv2-social { display: flex; gap: .7rem; margin-bottom: 1.8rem; }
 .fmv2-social-icon {
 width: 36px; height: 36px; border-radius: 50%;
 border: 1px solid rgba(255,255,255,.12);
 display: flex; align-items: center; justify-content: center;
 color: rgba(255,255,255,.7);
 }
 .fmv2-social-icon svg { width: 15px; height: 15px; fill: currentColor; }

 /* Separador */
 .fmv2-sep { height: 1px; background: rgba(255,255,255,.07); margin-bottom: 1.8rem; }

 /* Nav 2 columnas */
 .fmv2-nav {
 display: grid; grid-template-columns: 1fr 1fr;
 gap: 0 1rem; margin-bottom: 1.8rem;
 }
 .fmv2-nav-col { display: flex; flex-direction: column; gap: .15rem; }
 .fmv2-nav-title {
 font-size: .5rem; letter-spacing: .22em; text-transform: uppercase;
 color: var(--gold); font-weight: 600; margin-bottom: .2rem;
 }
 .fmv2-nav-title--langs { margin-top: 1.4rem; margin-bottom: .5rem; }
 .fmv2-link {
 font-size: .76rem;
 color: rgba(255,255,255,.8);
 line-height: 1.3;
 padding: .45rem 0;
 display: block;
 }

 /* Idioma pills */
 .fmv2-langs { display: flex; gap: .45rem; flex-wrap: wrap; }
 .fmv2-lang-pill {
 font-size: .58rem; letter-spacing: .1em;
 color: rgba(255,255,255,.75);
 border: 1px solid rgba(255,255,255,.25);
 padding: .28rem .65rem; border-radius: 20px;
 }
 .fmv2-lang-active { color: var(--gold); border-color: var(--gold); }

 /* Bottom */
 .fmv2-bottom {
 display: flex; justify-content: space-between;
 align-items: center; flex-wrap: wrap; gap: .5rem;
 padding-top: 1.1rem; border-top: 1px solid rgba(255,255,255,.06);
 }
 .fmv2-copy { font-size: .58rem; color: rgba(255,255,255,.7); letter-spacing: .03em; }
}
/* ↑ Cierre del @media (max-width: 768px) and (pointer: coarse) que abrió en L2088 */

/* ════════════════════
 Tablets — iPad / iPad Pro
 768px–1024px touch → layout desktop
════════════════════ */
@media (min-width: 768px) and (max-width: calc(1024px * var(--k, 1))) and (pointer: coarse) {
 /* Hero — split desktop */
 .hero {
 display: grid;
 grid-template-columns: 1fr 1fr;
 min-height: calc(100 * var(--1vh));
 padding-top: var(--nav-h);
 }
 .hero-right-img {
 position: relative;
 height: 100%;
 min-height: calc(100 * var(--1vh));
 max-height: none;
 }
 .hero-right-img img {
 position: absolute;
 inset: 0;
 width: 100%; height: 100%;
 object-fit: cover;
 }
 .hero-right-img::after { display: none; }

 /* Navbar — desktop style */
 #mainNav { padding: 0 2.5rem; }
 .nav-links { display: flex; }
 .nav-right .nav-lang,
 .nav-right .nav-theme { display: flex; }
 .nav-burger { display: none; }
 .nav-burger span { background: var(--nav-text); }

 /* Tours */
 .exp-img { height: 100%; max-height: none; aspect-ratio: unset; }

 /* Fleet */
 .fleet-visual { order: 1; min-height: 320px; }
 .fc { flex-direction: row; align-items: center; padding: 1rem 0; border: none; border-bottom: 1px solid var(--line); }

 /* About */

 /* Differentials */

 /* Reviews */

 /* FAQ */

 /* Footer */
 .footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; }
 .footer-grid { display: none; }
 .footer-bottom { display: none; }
 .foot-mobile { display: none; }

 /* Restore footer desktop on tablet */
 footer { padding: 4rem 2.5rem 2rem; }
 .footer-grid {
 display: grid;
 grid-template-columns: 1.5fr 1fr 1fr 1fr;
 gap: 2rem;
 margin-bottom: 2rem;
 }
 .footer-bottom { display: flex; }

 /* Floating buttons — igual que desktop */
 .wa-btn { bottom: 1.5rem; right: 1.5rem; width: 52px; height: 52px; }
 .ai-fab { display: none; }

 /* Cursor off on touch */
 #cur-dot, #cur-ring { display: none; }
 body, body *,
 body *::before,
 body *::after { cursor: auto; }
}

/* ════════════════════
 480px — phones pequeños
════════════════════ */

/* ════════════════════
 375px — iPhone SE/14/15
════════════════════ */
@media (max-width: 375px) and (pointer: coarse) {
 :root { --nav-h: 56px; }
 #mainNav { height: 56px; }
}

/* ════════════════════
 Landscape mobile
════════════════════ */
@media (max-height: 500px) and (orientation: landscape) and (pointer: coarse) {
 .hero { height: calc(100 * var(--1vh)); }

}

/* ════════════════════
 4K
════════════════════ */
@media (min-width: 1600px) {
 :root { --pad-x: 6rem; --max-w: calc(1440px * var(--k, 1)); }

}

/* ════════════════════
 iOS optimizations
════════════════════ */
a, button {
 -webkit-tap-highlight-color: transparent;
 touch-action: manipulation;
}

/* ════════════════════
 Print
════════════════════ */
@media print {
 #loader, #prog, .wa-btn, 
 #mainNav { position: relative; background: #fff; }
 body { font-size: 12pt; cursor: auto; }
}

/* ════════════════════
 Reduced motion
════════════════════ */
@media (prefers-reduced-motion: reduce) {
 *, *::before, *::after {
 animation-duration: .01ms;
 transition-duration: .01ms;
 }
 .sr { opacity: 1; transform: none; }
 .mq-inner { animation: none; }
}

/* ═══════════════════════════════════════════════════════════════
 17. PÁGINAS DE TOUR — BODEGAS
 Compartido por: lujandecuyo, maipu, valledeuco
═══════════════════════════════════════════════════════════════ */

/* ── HERO LUJÁN ── */

/* ── INTRO BAND ── */
html[data-theme="dark"] .intro-band-h { color: var(--text); }

/* ── ITINERARIO ── */
html[data-theme="dark"] .itinerario-sec { background: #08060A; }
html[data-theme="dark"] .itinerario-h { color: #F0EDE8; }

/* Pasos */
.pasos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; width: 100%; }
.paso { display: flex; flex-direction: column; border-right: 1px solid rgba(172, 55, 73,.1); position: relative; background: transparent; transition: background .5s var(--ease); overflow: hidden; }
.paso:last-child { border-right: none; }
@media(hover:hover) { .paso:hover { background: rgba(172, 55, 73,.04); } }
.paso::before { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(to right, var(--wine), var(--gold), transparent); transform: scaleX(0); transform-origin: left; transition: transform 1.1s var(--ease); z-index: 3; }
.paso.vis::before { transform: scaleX(1); }

/* Timeline */

/* ── MODALIDADES ── */
html[data-theme="dark"] .modalidades-sec { background: #0C0A07; }

/* ── MAPA ── */
#map { min-height: 500px; background: var(--bg-alt); }
html[data-theme="dark"] .dato-val { color: var(--text); }

/* ── CTA FINAL ── */

/* ── OTROS TOURS ── */
html[data-theme="dark"] .otros-h { color: var(--text); }
html[data-theme="dark"] .otro-h-card { color: var(--text); }

/* kicker helper for this page */

/* ── RESPONSIVE ── */
@media(max-width: 960px) {
 .pasos { grid-template-columns: repeat(2,1fr); }
 .paso { border-bottom: 1px solid rgba(172, 55, 73,.1); }
 .paso:nth-child(odd) { border-right: 1px solid rgba(172, 55, 73,.1); }
 .paso:nth-child(even) { border-right: none; }
 #map { min-height: 360px; }
}
@media(max-width: 640px) {
 .pasos { grid-template-columns: 1fr; }
 .paso { border-right: none; }
 .paso:nth-child(odd) { border-right: none; }
}

/* ═══════════════════════════════════════════════════════════════
 18. PÁGINA — ALTA MONTAÑA
═══════════════════════════════════════════════════════════════ */

/* Gradiente multicapa — oscuro abajo, cielo arriba */

/* Grain texture */

/* Altitud indicator — barra lateral derecha */

/* Contenido hero */

/* Stats strip en el hero */

/* ─────────────────────────────────────
 INTRO BAND — STORYTELLING
───────────────────────────────────── */
html[data-theme="dark"] .intro-am-h { color: var(--text); }

/* ─────────────────────────────────────
 PARADAS SECTION — DESTINOS ICÓNICOS
 Dark background, 4 columnas
───────────────────────────────────── */
html[data-theme="dark"] .paradas-sec { background: #08060A; }
html[data-theme="dark"] .hero-left-panel::after { opacity: .028; }

/* Grid 4 columnas */

.parada {
 display: flex;
 flex-direction: column;
 border-right: 1px solid rgba(172, 55, 73,.08);
 position: relative;
 overflow: hidden;
 transition: background .5s var(--ease);
 min-height: 560px;
}
.parada:last-child { border-right: none; }
@media(hover:hover) {
 .parada:hover { background: rgba(172, 55, 73,.03); }
}

.parada::before {
 content: '';
 position: absolute; top: 0; left: 0; right: 0; height: 1px;
 background: linear-gradient(to right, var(--wine), var(--gold), transparent);
 transform: scaleX(0); transform-origin: left;
 transition: transform 1.1s var(--ease);
 z-index: 3;
}
.parada.vis::before { transform: scaleX(1); }

/* Altitude badge flotante en esquina superior */

/* Timeline de horas */

/* ─────────────────────────────────────
 EXPERIENCIA — SECCIÓN STORYTELLING
───────────────────────────────────── */
/* Fondo decorativo — silueta montaña abstracta */
html[data-theme="dark"] .exp-am-h { color: var(--text); }
html[data-theme="dark"] .exp-am-body strong { color: var(--text); }
html[data-theme="dark"] .exp-stat-num { color: var(--text); }

/* ─────────────────────────────────────
 MODALIDADES — SECCIÓN
───────────────────────────────────── */

/* Single-card layout */

/* Linea decorativa top */

/* Includes list */

/* CTA row */

/* Promo badge */

/* ─────────────────────────────────────
 DIFERENCIAL SECTION
───────────────────────────────────── */
html[data-theme="dark"] .diferencial-h { color: var(--text); }
html[data-theme="dark"] .di-am-title { color: var(--accent); }

/* ─────────────────────────────────────
 CTA FINAL
───────────────────────────────────── */

/* Coordenadas decorativas */

/* ─────────────────────────────────────
 FOOTER
───────────────────────────────────── */

/* ─────────────────────────────────────
 FLOATING
───────────────────────────────────── */

/* ─────────────────────────────────────
 RESPONSIVE
───────────────────────────────────── */
@media (max-width: 960px) {
 nav { padding: 0 2rem; height: 64px; }
 .nav-links { display: none; }
}
@media (max-width: 768px) {
 .parada { border-right: none; border-bottom: 1px solid rgba(172, 55, 73,.08); min-height: auto; }
}
@media (max-width: 480px) {
 .mq-txt { font-size: .44rem; }
}

/* Dark mode adjustments */
html[data-theme="dark"] .exp-stat-card { background: rgba(255,255,255,.03); border-color: rgba(255,255,255,.07); }
html[data-theme="dark"] .intro-am-quote { background: rgba(255,255,255,.04); }
html[data-theme="dark"] .diferencial-sec { border-top-color: var(--line); }
html[data-theme="dark"] .diferencial-grid { border-color: var(--line); }
html[data-theme="dark"] .di-am { border-right-color: var(--line); }
html[data-theme="dark"] .di-am:nth-child(n) { border-top-color: var(--line); }
html[data-theme="dark"] .otros-grid { border-color: var(--line); }
html[data-theme="dark"] .otro-card { border-right-color: var(--line); }
html[data-theme="dark"] .otros-sec { border-top-color: var(--line); }

/* ── Nav responsive — igual a lujandecuyo ── */
@media (min-width: 1920px) { nav { padding: 0 5rem; } }
@media (min-width: 2560px) { nav { padding: 0 8rem; height: 90px; } }
@media (min-width: 1025px) and (max-width: calc(1400px * var(--k, 1))) { nav { padding: 0 2.5rem; height: 68px; } }
@media (max-width: 600px) { nav { height: 56px; padding: 0 1.4rem; } }
@media (max-width: 390px) { nav { height: 52px; padding: 0 1.2rem; } }
@media (max-width: 359px) { nav { height: 50px; padding: 0 1rem; } }

/* ── MAPA DE RUTA ALTA MONTAÑA ── */

#map-ruta {
 position: absolute;
 inset: 0;
 width: 100%;
 height: 100%;
 background: #060A0F;
}

/* Mapa — mismo estilo invertido que bodegas en modo claro */
html[data-theme="light"] #map-ruta {
 filter: invert(100%) hue-rotate(180deg) sepia(0.25) saturate(0.85) brightness(1.05);
}
html[data-theme="dark"] #map-ruta {
 filter: none;
}

/* Bodegas maps — dark-v11 para ambos modos
 En claro: invertido + tono beige cálido = mismo detalle, look premium */
html[data-theme="light"] #map {
 filter: invert(100%) hue-rotate(180deg) sepia(0.25) saturate(0.85) brightness(1.05);
}
html[data-theme="dark"] #map { filter: none; }

/* Panel legend superpuesto — esquina inferior izquierda */
html[data-theme="light"] .ruta-map-legend {
 background: rgba(242, 234, 220, 0.94);
 border-color: rgba(154, 122, 58, 0.25);
}
html[data-theme="light"] .rml-title {
 color: #7A5E2A;
}
html[data-theme="light"] .rml-name {
 color: rgba(40, 28, 16, 0.85);
}
html[data-theme="light"] .rml-alt {
 color: rgba(130, 100, 50, 0.65);
}
html[data-theme="light"] .rml-num {
 background: #9A7A3A;
 color: #fff;
}

/* Mapbox logo — mínimo legal, no se puede quitar */

/* Marcadores del mapa */
.rml-marker {
 width: 22px;
 height: 22px;
 border-radius: 50%;
 background: rgba(10, 8, 6, 0.9);
 color: #AC3749;
 font-size: .48rem;
 font-weight: 700;
 display: flex;
 align-items: center;
 justify-content: center;
 cursor: pointer;
 border: 1.5px solid rgba(172, 55, 73, 0.7);
 box-shadow: 0 0 0 4px rgba(172, 55, 73, 0.12), 0 2px 12px rgba(0,0,0,.6);
 transition: transform .25s, box-shadow .25s;
 font-family: 'Poppins', sans-serif;
 letter-spacing: .02em;
}
.rml-marker:hover {
 transform: scale(1.3);
 box-shadow: 0 0 0 6px rgba(172, 55, 73, 0.2), 0 4px 20px rgba(0,0,0,.7);
}
.rml-marker-last {
 background: rgba(107, 29, 42, 0.95);
 border-color: rgba(172, 55, 73, 0.9);
 color: #E8C97A;
 width: 26px;
 height: 26px;
 font-size: .52rem;
 box-shadow: 0 0 0 5px rgba(107, 29, 42, 0.2), 0 2px 16px rgba(107,29,42,.4);
}
/* Modo claro — beige/marrón */
.rml-marker.rml-marker-light {
 background: rgba(242, 234, 220, 0.97);
 color: #7A5E2A;
 border-color: rgba(154, 122, 58, 0.7);
 box-shadow: 0 0 0 4px rgba(154, 122, 58, 0.12), 0 2px 10px rgba(0,0,0,.15);
}
.rml-marker.rml-marker-last.rml-marker-light {
 background: rgba(107, 29, 42, 0.92);
 color: #E8C97A;
 border-color: rgba(154, 122, 58, 0.8);
}

/* Mapbox popup estilo premium */

/* Navigation control estilo oscuro */

/* Responsive */

/* ═══════════════════════════════════════════════════════════════
 19. PÁGINA — 4X4 EXPERIENCE
═══════════════════════════════════════════════════════════════ */

/* Dust particles */

/* Content */

/* btn-g visible sobre hero oscuro */

/* cta btn-g visible sobre fondo oscuro */

/* Stats column */

/* Scroll indicator */

/* ─────────────────────────────────────
 CONCEPTO — SPLIT SCREEN
───────────────────────────────────── */
html[data-theme="dark"] .concepto-h { color: var(--text); }
html[data-theme="dark"] .concepto-body strong { color: var(--text); }

/* ─────────────────────────────────────
 QUÉ INCLUYE — CARDS MODERNAS
───────────────────────────────────── */
html[data-theme="dark"] .incluye-sec { background: #08060A; }

/* ─────────────────────────────────────
 RECORRIDO — TIMELINE VISUAL
───────────────────────────────────── */
html[data-theme="dark"] .recorrido-h { color: var(--text); }

/* Grid 2x2 premium */

/* ─────────────────────────────────────
 GALERÍA — GRID ASIMÉTRICO
───────────────────────────────────── */
html[data-theme="dark"] .galeria-h { color: var(--text); }

/* ─────────────────────────────────────
 DIFERENCIAL
───────────────────────────────────── */

/* ─────────────────────────────────────
 CTA FINAL
───────────────────────────────────── */

/* ─────────────────────────────────────
 FOOTER
───────────────────────────────────── */
.foot-grid { max-width: calc(1280px * var(--k, 1));margin:0 auto;display:grid;grid-template-columns:2.5fr 1fr 1fr 1fr;gap:4rem;margin-bottom:4.5rem;padding-bottom:4.5rem; }
.foot-logo { font-size:.66rem;letter-spacing:.32em;text-transform:uppercase;color:#fff;font-weight:500;margin-bottom:.5rem; }
.foot-tag { font-size:1.3rem;font-weight:600;font-style:italic;color:var(--accent);margin-bottom:1.2rem;letter-spacing:-.01em; }
.foot-desc { font-size:.73rem;line-height:1.8;color:rgba(255,255,255,.3);max-width:300px;margin-bottom:1.5rem; }
.foot-ca a { display:block;font-size:.7rem;color:rgba(255,255,255,.65);margin-bottom:.4rem;transition:color .25s; }
.foot-ca a:hover { color:var(--accent); }
.foot-col-h { font-size:.48rem;letter-spacing:.3em;text-transform:uppercase;color:rgba(255,255,255,.28);font-weight:500;margin-bottom:1.2rem; }
.foot-links { list-style:none; }
.foot-links li { margin-bottom:.55rem; }
.foot-links a { font-size:.7rem;color:rgba(255,255,255,.65);transition:color .25s; }
.foot-links a:hover { color:#fff; }
.foot-bot { max-width: calc(1280px * var(--k, 1));margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;border-top:1px solid rgba(255,255,255,.07);padding-top:2rem; }
.foot-copy { font-size:.56rem;color:rgba(255,255,255,.18);letter-spacing:.1em; }
.foot-legal { display:flex;gap:2rem; }
.foot-legal a { font-size:.5rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.18);transition:color .25s; }
.foot-legal a:hover { color:rgba(255,255,255,.45); }

/* Footer mobile — estilos centralizados en el @media (max-width: 768px) principal */
 @media (min-width: 769px) { .foot-mobile { display: none; } }

/* Footer responsive — idéntico a lujandecuyo */
@media (min-width: 1920px) { footer { padding: 7rem 5rem 3.5rem; } .foot-grid { max-width: calc(1600px * var(--k, 1)); gap: 5rem; } }
@media (min-width: 2560px) { footer { padding: 9rem 8rem 4rem; } .foot-grid { max-width: calc(2000px * var(--k, 1)); } }
@media (min-width: 1025px) and (max-width: calc(1400px * var(--k, 1))) { footer { padding: 5rem 3rem 3rem; } .foot-grid { gap: 3rem; } }
@media (min-width: 768px) and (max-width: calc(1024px * var(--k, 1))) { .foot-mobile { display: none; } .foot-grid { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 2.5rem; } .foot-bot { display: flex; } footer { padding: 5rem 2.5rem 2.5rem; } }
@media (max-width: 960px) { footer { padding: 4rem 2rem 2rem; } .foot-grid { grid-template-columns: 1fr 1fr; gap: 2.5rem; } .foot-bot { flex-direction: column; align-items: flex-start; gap: .8rem; } }
/* FLOATING */

/* ─────────────────────────────────────
 DARK MODE OVERRIDES
───────────────────────────────────── */
html[data-theme="dark"] .concepto-body p { color: var(--text-soft); }

/* ─────────────────────────────────────
 RESPONSIVE
───────────────────────────────────── */

@media (max-width: 960px) {
 .nav-links { display: none; }
 .nav-toggle { display: flex; } /* compensate inner padding for full width */

 /* WA float — misma posición que lujandecuyo */
 .wa-btn { bottom: max(1.2rem, calc(env(safe-area-inset-bottom) + .8rem)); right: 1.2rem; width: 50px; height: 50px; }
}
@media (max-width: 640px) {
 #cur-dot, #cur-ring { display: none; }
 .nav-logo { font-size: .54rem; letter-spacing: .2em; }

}

/* iOS — sin bloques adicionales */

/* ═══════════════════════════════════════════════════════════════
 20. PÁGINA — BODEGAS
═══════════════════════════════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════
 SISTEMA TIPOGRÁFICO — Vito Wine Tours
 ─────────────────────────────────────────────
 Hero H1: clamp(2.6rem, 4.2vw, 5.5rem) → mobile: clamp(2.6rem, 9vw, 4rem)
 Section H2: clamp(2.8rem, 4.5vw, 5.5rem) → mobile: clamp(1.8rem, 7vw, 2.8rem)
 Card H3: clamp(1.2rem, 1.6vw, 1.8rem)
 Eyebrow: .52rem / letter-spacing: .44em
 Hero sub: .92rem
 Section sub: .9rem
 Kicker: .55rem / letter-spacing: .28em
 Stats número: clamp(1.6rem, 2vw, 2.2rem)
 Stats label: .37rem / letter-spacing: .2em
═══════════════════════════════════════════════════════════════ */

/* ── HERO BODEGAS — fullscreen igual que tours ── */

/* ═══════════════════════════════════
 MARQUEE
═══════════════════════════════════ */

/* ═══════════════════════════════════
 INTRO BAND — Numeración 3 columnas
═══════════════════════════════════ */
html[data-theme="dark"] .intro-num-n{color:var(--accent);}

/* ═══════════════════════════════════
 REGION SELECTOR — Tabs premium
═══════════════════════════════════ */
html[data-theme="dark"] .region-h{color:var(--text);}
html[data-theme="dark"] .region-h em{color:var(--accent);}

/* Tabs con diseño tipo label arquitectónico */
.region-tab {
 padding: 1rem 3.5rem;
 font-size: .55rem; letter-spacing: .22em; text-transform: uppercase; font-weight: 500;
 color: var(--text-muted); background: none; border: none;
 position: relative; transition: color .3s; cursor: inherit; white-space: nowrap;
 display: flex; align-items: center; gap: .8rem;
}
.region-tab::after {
 content: ''; position: absolute;
 bottom: -1px; left: 0; right: 0; height: 2px;
 background: var(--wine); transform: scaleX(0);
 transition: transform .4s var(--ease);
}
.region-tab.active { color: var(--wine); }
html[data-theme="dark"] .region-tab.active { color: var(--accent); }
html[data-theme="dark"] .region-tab.active::after { background: var(--accent); }
.region-tab.active::after { transform: scaleX(1); }
html[data-theme="dark"] .region-tab.active .region-tab-num { color: var(--accent); }
.region-tab:hover { color: var(--text); }

/* ═══════════════════════════════════
 BODEGAS GRID — Cards premium
═══════════════════════════════════ */
.bodegas-panel{display:none;}
.bodegas-panel.active{display:block;}

/* Card */
html[data-theme="dark"] .b-card:hover { background: #100E0B; }

/* Imagen */

/* Overlay hover */

/* Badge tipo label minimalista */

/* CTA que aparece al hover */

/* Cuerpo de la card */
html[data-theme="dark"] .b-region{color:var(--accent);}
html[data-theme="dark"] .b-name{color:var(--text);}

/* ═══════════════════════════════════
 MODAL BODEGA
═══════════════════════════════════ */

/* Prevent page scroll when modal open — no position:fixed needed, no jump */
html:has(#modalOverlay.open) { overflow: hidden; overscroll-behavior: none; }
html[data-theme="dark"] .bod-popup-box {
 background: #0E0C0A;
 border-color: rgba(172, 55, 73,.18);
 box-shadow: 0 40px 120px rgba(0,0,0,.7);
}

/* Gold line top */

/* ── HEAD ── */
html[data-theme="dark"] .bod-popup-title { color: var(--text); }

/* ── BODY — 2 columnas desktop ── */

/* Columna izquierda: highlights */
html[data-theme="dark"] .bod-popup-hl-val { color: var(--text); }

/* Columna derecha: incluye */
html[data-theme="dark"] .bod-popup-item-name { color: var(--accent); }

/* ── FOOTER ── */ /* no longer needed in 2-col layout */ /* replaced by .bod-popup-includes */

/* ── MOBILE — drawer desde abajo ── */

/* ── BOTONES BODEGAS ── */
html[data-theme="dark"] .btn-outline-light { color: rgba(240,237,232,.6); border-color: rgba(240,237,232,.2); }

/* ── INTRO BAND ── */

/* ── POR QUÉ ESTAS BODEGAS ── */
html[data-theme="dark"] .porq-h { color: var(--text); }
html[data-theme="dark"] .porq-item-h { color: var(--text); }
html[data-theme="dark"] .porq-bq p { color: var(--text); }

/* ── REVIEWS BODEGAS ── */
html[data-theme="dark"] .reviews-bod-h { color: var(--text); }
html[data-theme="dark"] .rbod-name { color: var(--text); }
/* ──  SVG (reemplaza GIFs viejos) ── */

/* ── CTA FINAL BODEGAS ── */

/* ── Bodegas layout — responsive ── */
@media (max-width: 768px) {
 .region-tab { padding: 1.2rem 1.4rem; font-size: .46rem; white-space: nowrap; }
}

/* ═══════════════════════════════════════════════════════════════
 21. PÁGINA — BLENDING EXPERIENCE
 ─────────────────────────────────────────────────────────────
 Hero: .hero-bl
 Bodega: .bl-bodega-sec
 Proceso: .bl-proceso-sec / .bl-paso
 Varietales: .bl-var-sec / .bl-var-card
 Final: .bl-final-sec / .bl-final-item
 Incluye: .bl-incluye-sec
 Diferencial:.bl-dif-sec
═══════════════════════════════════════════════════════════════ */

/* wa-btn override */

/* ── HERO ── */

/* ── BODEGA ── */
html[data-theme="dark"] .bl-bodega-h { color: var(--text); }
html[data-theme="dark"] .bl-bodega-h em { color: var(--accent); }
html[data-theme="dark"] .bl-dato-n { color: var(--accent); }

/* ── PROCESO — TIMELINE EDITORIAL ── */
html[data-theme="dark"] .bl-proceso-h { color: var(--text); }
html[data-theme="dark"] .bl-proceso-h em { color: var(--accent); }
html[data-theme="dark"] .bl-tl-item:hover { background: rgba(255,255,255,.02); }
html[data-theme="dark"] .bl-tl-h { color: var(--text); }
html[data-theme="dark"] .bl-tl-featured { background: rgba(172, 55, 73,.03); }

/* ── VARIETALES — DARK LAB PREMIUM ── */

/* ── PASOS FINALES ── */
html[data-theme="dark"] .bl-final-h { color: var(--text); }
html[data-theme="dark"] .bl-final-h em { color: var(--accent); }
html[data-theme="dark"] .bl-final-item-h { color: var(--text); }

/* ── QUÉ INCLUYE — PREMIUM ── */
html[data-theme="dark"] .bl-incluye-h { color: var(--text); }
html[data-theme="dark"] .bl-incluye-h em { color: var(--accent); }
html[data-theme="dark"] .bl-incluye-price-val { color: var(--text); }
html[data-theme="dark"] .bl-inc-title { color: var(--text); }
html[data-theme="dark"] .bl-inc-item-featured .bl-inc-title { color: var(--accent); }

/* ── DIFERENCIAL ── */

/* Blending structural containers */

/* ══════════════════════════════════════
 RESPONSIVE — BLENDING EXPERIENCE
══════════════════════════════════════ */

/* ── Tablet 769–1024px ── */

/* ── Mobile ≤768px ── */
@media (max-width: 768px) {
 /* Hero */

 /* Bodega */

 /* Proceso — Timeline mobile */

 /* Varietales */

 /* Final */

 /* Incluye */

 /* Diferencial */
}

/* ═══════════════════════════════════════════════════════════════
 22. PÁGINA — COOKING CLASS
 ─────────────────────────────────────────────────────────────
 Hero: .hero-ck
 Experiencias:.ck-exp-sec / .ck-exp-card
 Incluye: .ck-inc-sec
 Cultura: .ck-cultura-sec
═══════════════════════════════════════════════════════════════ */

/* ── HERO ── */

/* ── EXPERIENCIAS ── */
html[data-theme="dark"] .ck-exp-h { color: var(--text); }
html[data-theme="dark"] .ck-exp-h em { color: var(--accent); }

/* Cards de experiencia — alternadas */
html[data-theme="dark"] .ck-exp-title { color: var(--text); }
html[data-theme="dark"] .ck-exp-title em { color: var(--accent); }
html[data-theme="dark"] .ck-menu-item-name { color: var(--text); }
html[data-theme="dark"] .ck-menu-item-wine .ck-menu-item-name { color: var(--accent); }

/* ── QUÉ INCLUYE ── */
html[data-theme="dark"] .ck-inc-h { color: var(--text); }
html[data-theme="dark"] .ck-inc-h em { color: var(--accent); }
html[data-theme="dark"] .ck-inc-price-val { color: var(--text); }
html[data-theme="dark"] .ck-inc-title { color: var(--text); }
html[data-theme="dark"] .ck-inc-item-featured .ck-inc-title { color: var(--accent); }

/* ── CULTURA ── */
html[data-theme="dark"] .ck-cultura-h { color: var(--text); }
html[data-theme="dark"] .ck-cultura-h em { color: var(--accent); }
html[data-theme="dark"] .ck-dato-n { color: var(--accent); }

/* Structural containers */

/* ══════════════════════════════════════
 RESPONSIVE — COOKING CLASS
══════════════════════════════════════ */

/* ── Tablet 769–1024px ── */

/* ── Mobile ≤768px ── */
@media (max-width: 768px) {
 /* Hero */

 /* Experiencias */

 /* Incluye */

 /* Cultura */
}

/* ═══════════════════════════════════════════════════════════════
 23. PÁGINA — CITY TOUR MENDOZA
 ─────────────────────────────────────────────────────────────
 Diseño: editorial masivo — tipografía oversized, paradas
 full-bleed alternadas, datos urbanos en grid
═══════════════════════════════════════════════════════════════ */

/* ── HERO — TIPOGRAFÍA MASIVA ÚNICA ── */

/* Tipografía masiva oversized */

/* desc + btns — horizontal row below h1 */

/* ── INTRO — DATOS URBANOS ── */
html[data-theme="dark"] .ct-intro-h { color: var(--text); }
html[data-theme="dark"] .ct-intro-h em { color: var(--accent); }
html[data-theme="dark"] .ct-intro-dato-n { color: var(--accent); }

/* ── RECORRIDO — PARADAS FULL-BLEED ── */
html[data-theme="dark"] .ct-parada-num { color: rgba(255,255,255,.04); }
html[data-theme="dark"] .ct-parada-h { color: var(--text); }
html[data-theme="dark"] .ct-parada-h em { color: var(--accent); }

/* ── CTA STRIP ── */

/* Structural containers */

/* ══════════════════════════════════════
 RESPONSIVE — CITY TOUR
══════════════════════════════════════ */

/* ── Tablet 769–1024px ── */

/* ── Mobile ≤768px ── */
@media (max-width: 768px) {
 /* Hero */

 /* Intro */

 /* Paradas */

 /* CTA strip */
}

/* ═══════════════════════════════════════════════════════════════
 24. PÁGINA — CORPORATIVO
 ─────────────────────────────────────────────────────────────
 Hero: estándar fullscreen igual que todos los tours
 Secciones: usan variables CSS (light/dark mode completo)
 Diferencial: tono ejecutivo, grid servicios, flota formal
═══════════════════════════════════════════════════════════════ */

/* wa-btn override */
.corp-page .wa-btn { bottom: 1.5rem; }

/* ── HERO — ESTÁNDAR FULLSCREEN ── */

/* ── MANIFIESTO ── */
html[data-theme="dark"] .corp-manifiesto-quote { color: var(--text); }

/* ── SERVICIOS ── */
html[data-theme="dark"] .corp-servicios-h { color: var(--text); }
html[data-theme="dark"] .corp-servicios-h em { color: var(--accent); }
html[data-theme="dark"] .corp-srv-card-featured { background: rgba(172, 55, 73,.06); }
html[data-theme="dark"] .corp-srv-h { color: var(--text); }

/* ── FLOTA EJECUTIVA — CENTRADA Y FORMAL ── */
html[data-theme="dark"] .corp-flota-h { color: var(--text); }
html[data-theme="dark"] .corp-flota-h em { color: var(--accent); }
html[data-theme="dark"] .corp-flota-card-name { color: var(--text); }

/* ── PROCESO ── */
html[data-theme="dark"] .corp-proceso-h { color: var(--text); }
html[data-theme="dark"] .corp-proceso-h em { color: var(--accent); }
html[data-theme="dark"] .corp-step-h { color: var(--text); }

/* ── NÚMEROS ── */
html[data-theme="dark"] .corp-numero-n { color: var(--text); }
html[data-theme="dark"] .corp-numero-n span { color: var(--accent); }

/* ── CTA FINAL ── */
html[data-theme="dark"] .corp-cta-h { color: var(--text); }
html[data-theme="dark"] .corp-cta-h em { color: var(--accent); }
html[data-theme="dark"] .corp-cta-channel-val { color: var(--text); }

/* ══════════════════════════════════════
 RESPONSIVE — CORPORATIVO
══════════════════════════════════════ */

/* ── Tablet ── */

/* ── Mobile ── */
@media (max-width: 768px) {
 /* Hero */
 /* Manifiesto */
 /* Servicios */
 /* Flota */
 /* Proceso */
 /* Números */
 /* CTA */
}

/* ── Missing utility classes ── */
.ai-popup-item-txt { display: flex; flex-direction: column; gap: .2rem; }

/* ═══════════════════════════════════════════════════════════════
 26. PÁGINA — DESPEDIDA DE SOLTERO/A
═══════════════════════════════════════════════════════════════ */

/* ── HERO ── */

/* ── DIFERENCIAL OSCURO ── */

/* ── COMO FUNCIONA ── */
html[data-theme="dark"] .desp-como-h { color: var(--text); }
html[data-theme="dark"] .desp-como-h em { color: var(--accent); }
html[data-theme="dark"] .desp-como-step-h { color: var(--text); }

/* ── CTA FINAL ── */

/* Structural containers */

/* ── Tablet ── */

/* ── Mobile ── */
@media (max-width: 768px) {
 /* Hero */
 /* Gancho */
 /* Filosofía + Momentos */

 /* Diferencial */
 /* Como funciona */
 /* CTA */
}

/* ── FILOSOFÍA HEADER ── */
html[data-theme="dark"] .desp-filosofia-h { color: var(--text); }
html[data-theme="dark"] .desp-filosofia-h em { color: var(--accent); }

/* ── MOMENTOS — FULL-BLEED ALTERNADO ── */
html[data-theme="dark"] .desp-momento-txt.desp-momento-txt-featured,
html[data-theme="dark"] .desp-momento-row .desp-momento-txt-featured {
 border-left-color: #E05070;
}
html[data-theme="dark"] .desp-momento-badge-wine { color: #E05070; border-color: rgba(224,80,112,.3); }
html[data-theme="dark"] .desp-momento-h { color: var(--text); }
html[data-theme="dark"] .desp-momento-cta-h { color: var(--text); }

/* Tablet */

/* Mobile */

/* ═══════════════════════════════════════════════════════════════
 27. PÁGINA — EVENTOS EN MENDOZA (editorial de lujo)
═══════════════════════════════════════════════════════════════ */

/* ── PORTADA EDITORIAL ── */

/* Top bar — número de edición + contacto */
html[data-theme="dark"] .ev-portada-contact { color: var(--accent); }

/* Título gigante */
html[data-theme="dark"] .ev-portada-word { color: var(--text); }
html[data-theme="dark"] .ev-portada-word-italic { color: var(--accent); }

/* Bottom bar — descripción + stats */
html[data-theme="dark"] .ev-portada-stat-n { color: var(--text); }

/* ── STATEMENT ── */
html[data-theme="dark"] .ev-statement-q { color: var(--text); }
html[data-theme="dark"] .ev-statement-q em { color: var(--accent); }

/* ── LISTA EDITORIAL DE EVENTOS ── */
html[data-theme="dark"] .ev-lista-hdr-h { color: var(--text); }
html[data-theme="dark"] .ev-lista-h { color: var(--text); }
html[data-theme="dark"] .ev-lista-h em { color: var(--accent); }
html[data-theme="dark"] .ev-lista-link { color: var(--accent); }

/* ── FOTO FULL-BLEED ── */

/* ── COLUMNAS DIFERENCIAL ── */
html[data-theme="dark"] .ev-columnas-hdr-h { color: var(--text); }
html[data-theme="dark"] .ev-columnas-hdr-h em { color: var(--accent); }
html[data-theme="dark"] .ev-col-h { color: var(--text); }

/* ── PROCESO ── */
html[data-theme="dark"] .ev-proceso-hdr-h { color: var(--text); }
html[data-theme="dark"] .ev-proceso-h { color: var(--text); }

/* ── CTA EDITORIAL FINAL ── */
html[data-theme="dark"] .ev-cierre-h { color: var(--text); }
html[data-theme="dark"] .ev-cierre-btn-mail:hover { color: var(--text); }

/* ══════════════════════════════════════
 RESPONSIVE — EVENTOS
══════════════════════════════════════ */

/* Tablet */

/* Mobile */

/* ═══════════════════════════════════════════════════════════════
 28. BLOGS — Índice + Artículos individuales
═══════════════════════════════════════════════════════════════ */

/* ── BLOG INDEX — HERO ── */
html[data-theme="dark"] .blog-hero-h { color: var(--text); }
html[data-theme="dark"] .blog-hero-h em { color: var(--accent); }

/* ── BLOG GRID ── */
html[data-theme="dark"] .blog-card-h { color: var(--text); }
html[data-theme="dark"] .blog-card-link { color: var(--accent); }

/* ── BLOG ARTICLE — estructura individual ── */
.blog-article-page { background: var(--bg); }

/* Background image — full bleed */

/* Gradient overlay for text legibility */

/* Text content */

/* Hero image — hide, now used as bg */

/* Content */
html[data-theme="dark"] .blog-art-content h2 { color: var(--text); }
html[data-theme="dark"] .blog-art-content h3 { color: var(--text); }
html[data-theme="dark"] .blog-art-content strong { color: var(--text); }

/* Pull quote */
html[data-theme="dark"] .blog-pull-quote { color: var(--text); }

/* Tip box */
.blog-tip {
 background: var(--bg-alt); border-left: 3px solid var(--accent);
 padding: 1.2rem 1.5rem; margin: 2rem 0;
 font-size: .88rem; color: var(--text-soft); line-height: 1.75;
}

/* CTA inline */

/* Related posts */
html[data-theme="dark"] .blog-related-card-h { color: var(--text); }
html[data-theme="dark"] .blog-related-card-link { color: var(--accent); }

/* ══════════════════════════════════════
 RESPONSIVE — BLOGS
══════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════
 29. UTILITY — clases extraídas de style= inline
═══════════════════════════════════════════════════════════════ */

/* Index */

/* Kicker variants */

/* Sec-h tight (no margin-bottom) */

/* SVG icon sizes */

/* Alta Montaña modal overrides */

/* ═══════════════════════════════════════════════════════════════
 30. PÁGINA — NOSOTROS
═══════════════════════════════════════════════════════════════ */

/* ── HERO EDITORIAL ── */
html[data-theme="dark"] .nos-hero-h { color: var(--text); }
html[data-theme="dark"] .nos-hero-h em { color: var(--accent); }

/* ── MANIFIESTO ── */
html[data-theme="dark"] .nos-manif-q { color: var(--text); }
html[data-theme="dark"] .nos-manif-q em { color: var(--accent); }

/* ── VALORES ── */
html[data-theme="dark"] .nos-valores-hdr-h { color: var(--text); }
html[data-theme="dark"] .nos-valores-hdr-h em { color: var(--accent); }
html[data-theme="dark"] .nos-valor-h { color: var(--text); }

/* ── EQUIPO ── */
html[data-theme="dark"] .nos-equipo-hdr-h { color: var(--text); }
html[data-theme="dark"] .nos-equipo-hdr-h em { color: var(--accent); }
html[data-theme="dark"] .nos-miembro-name { color: var(--text); }

/* ── CTA FINAL ── */
html[data-theme="dark"] .nos-cta-h { color: var(--text); }
html[data-theme="dark"] .nos-cta-h em { color: var(--accent); }
html[data-theme="dark"] .nos-cta-btn-mail:hover { color: var(--text); }

/* ══════════════════════════════════════
 RESPONSIVE — NOSOTROS
══════════════════════════════════════ */

/* ═══════════════════════════════════════════════════════════════
 31. NAVBAR — Mega Menu Tours (desktop only)
═══════════════════════════════════════════════════════════════ */

.nav-has-dropdown { position: relative; }

/* navMega is a <body>-level sibling of <nav> — fixed works because no backdrop-filter parent */
.nav-mega {
 display: none;
 position: fixed;
 top: var(--nav-h);
 left: 0; right: 0;
 background: var(--bg);
 border-top: 2px solid var(--wine);
 box-shadow: 0 12px 48px rgba(0,0,0,.15);
 z-index: 500;
}
html[data-theme="dark"] .nav-mega { border-top-color: var(--accent); }
.nav-mega.nav-mega-open { display: block; }

.nav-mega-inner {
 max-width: 100%;
 padding: 0 0 0 3rem;
 display: grid;
 grid-template-columns: 200px 1fr;
 min-height: 320px;
}

/* LEFT — categories */
.nav-mega-cats {
 border-right: 1px solid var(--line);
 padding: 1.5rem 0;
 display: flex;
 flex-direction: column;
 justify-content: center;
}
.nav-mega-cat {
 display: flex;
 align-items: center;
 justify-content: space-between;
 padding: 1.2rem 1.2rem 1.2rem 0;
 font-size: 1rem;
 font-weight: 500;
 letter-spacing: -.01em;
 color: var(--ink);
 cursor: pointer;
 border: none;
 border-left: 4px solid transparent;
 background: none;
 font-family: inherit;
 width: 100%;
 text-align: left;
 transition: color .15s, padding-left .15s, border-color .15s;
}
html[data-theme="dark"] .nav-mega-cat { color: #F0EDE8; }
.nav-mega-cat:hover { color: var(--ink); padding-left: .5rem; }
html[data-theme="dark"] .nav-mega-cat:hover { color: var(--text); }
.nav-mega-cat.nav-mega-cat-active {
 color: var(--wine);
 border-left-color: var(--wine);
 padding-left: .8rem;
 font-weight: 600;
}
html[data-theme="dark"] .nav-mega-cat.nav-mega-cat-active {
 color: var(--accent);
 border-left-color: var(--accent);
}
.nav-mega-cat svg {
 width: 14px; height: 14px;
 stroke: currentColor; stroke-width: 2.5; fill: none;
 flex-shrink: 0; opacity: .25;
 transition: opacity .15s, transform .15s;
}
.nav-mega-cat.nav-mega-cat-active svg { opacity: .6; transform: translateX(2px); }

/* RIGHT — panels */
.nav-mega-panels { padding: 1.5rem 2.5rem 1.5rem 2.5rem; display: flex; align-items: stretch; }
.nav-mega-panel { display: none; width: 100%; }
.nav-mega-panel.nav-mega-panel-active {
 display: grid;
 grid-auto-columns: 1fr;
 grid-auto-flow: column;
 gap: 1.2rem;
 width: 100%;
 align-items: stretch;
}

/* Card — image fills entire card, text overlaid */
.nav-mega-card {
 display: flex;
 flex-direction: column;
 text-decoration: none;
 overflow: hidden;
 border: 1px solid var(--line);
 position: relative;
 transition: border-color .2s, transform .2s;
}
.nav-mega-card:hover { border-color: var(--wine); transform: translateY(-2px); }
html[data-theme="dark"] .nav-mega-card:hover { border-color: var(--accent); }
.nav-mega-card-img {
 flex: 1;
 overflow: hidden;
 position: relative;
}
.nav-mega-card-img img {
 width: 100%; height: 100%;
 position: absolute; inset: 0;
 object-fit: cover;
 filter: brightness(.6);
 transition: transform .4s var(--ease), filter .3s;
}
.nav-mega-card:hover .nav-mega-card-img img {
 transform: scale(1.05);
 filter: brightness(.78);
}
.nav-mega-card-body {
 position: absolute;
 inset: 0;
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 padding: .75rem;
 text-align: center;
 pointer-events: none;
}
.nav-mega-card-tag {
 font-size: .38rem; letter-spacing: .2em; text-transform: uppercase;
 color: rgba(255,255,255,.85); font-weight: 600; display: block; margin-bottom: .5rem;
}
.nav-mega-card-name {
 font-size: 1.5rem; font-weight: 800; letter-spacing: -.04em;
 color: #fff; line-height: 1.05;
 text-shadow: 0 2px 20px rgba(0,0,0,.7), 0 1px 6px rgba(0,0,0,.5);
}

/* Chevron — ::before to not conflict with underline ::after */
.nav-has-dropdown > a { padding-right: 1.1em; }
.nav-has-dropdown > a::before {
 content: "▾";
 position: absolute;
 right: 0; top: 50%;
 transform: translateY(-50%);
 font-size: .85em;
 opacity: .7;
 transition: transform .2s, opacity .2s;
 line-height: 1;
}
.nav-has-dropdown.nav-mega-open > a::before {
 transform: translateY(-50%) rotate(180deg);
 opacity: 1;
}

@media (max-width: calc(1024px * var(--k, 1))) {
 .nav-has-dropdown > a { padding-right: 0; }
 .nav-has-dropdown > a::before { display: none; }
 /* nav-mega visible en iPad landscape (>900px) */
}
/* ═══════════════════════════════════════════════════════════════
 32. PÁGINA — CONTACTO
═══════════════════════════════════════════════════════════════ */

/* ── HERO ── */
.cnt-hero {
 min-height: calc(100 * var(--1vh));
 background: var(--bg);
 padding-top: var(--nav-h);
 display: flex;
 align-items: center;
 border-bottom: 1px solid var(--line);
}
.cnt-hero-inner {
 max-width: calc(1280px * var(--k, 1));
 margin: 0 auto;
 padding: 5rem var(--pad-x);
 width: 100%;
 display: grid;
 grid-template-columns: 1fr 1.1fr;
 gap: 6rem;
 align-items: center;
}

/* Left — headline */
.cnt-eyebrow {
 display: flex; align-items: center; gap: .8rem;
 font-size: .38rem; letter-spacing: .3em; text-transform: uppercase;
 color: var(--accent); font-weight: 600; margin-bottom: 2rem;
}
.cnt-eyebrow-line { width: 24px; height: 1px; background: var(--accent); opacity: .6; }

.cnt-hero-h {
 font-size: calc(72.0px * var(--k, 1));
 font-weight: 600; letter-spacing: -.022em; line-height: 1.08;
 color: var(--ink); margin-bottom: 2rem;
}
html[data-theme="dark"] .cnt-hero-h { color: var(--text); }
.cnt-hero-h em { font-style: italic; color: var(--wine); font-weight: 300; }
html[data-theme="dark"] .cnt-hero-h em { color: var(--accent); }

.cnt-hero-sub {
 font-size: .95rem; color: var(--text-soft); line-height: 1.8;
 max-width: 400px;
}

/* Right — form card */
.cnt-form-wrap {
 background: var(--bg-alt);
 border: 1px solid var(--line);
 border-top: 3px solid var(--wine);
}
html[data-theme="dark"] .cnt-form-wrap { border-top-color: var(--accent); }

.cnt-form-header {
 padding: 1.5rem 2rem 1rem;
 border-bottom: 1px solid var(--line);
}
.cnt-form-label {
 font-size: .38rem; letter-spacing: .2em; text-transform: uppercase;
 color: var(--text-muted); font-weight: 600;
}

.cnt-form { padding: 1.8rem 2rem 2rem; display: flex; flex-direction: column; gap: 1.2rem; }

.cnt-form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }

.cnt-field { display: flex; flex-direction: column; gap: .4rem; }
.cnt-field-label {
 font-size: .38rem; letter-spacing: .1em; text-transform: uppercase;
 color: var(--text-muted); font-weight: 600;
}

.cnt-input {
 background: var(--bg);
 border: 1px solid var(--line);
 color: var(--ink);
 font-family: inherit;
 font-size: .88rem;
 padding: .75rem 1rem;
 outline: none;
 transition: border-color .2s;
 width: 100%;
 appearance: none;
 -webkit-appearance: none;
}
html[data-theme="dark"] .cnt-input { color: var(--text); }
.cnt-input::placeholder { color: var(--text-muted); opacity: .5; }
.cnt-input:focus { border-color: var(--wine); }
html[data-theme="dark"] .cnt-input:focus { border-color: var(--accent); }

.cnt-select {
 cursor: pointer;
 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238C8880' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
 background-repeat: no-repeat;
 background-position: right .8rem center;
 background-size: 16px;
 padding-right: 2.5rem;
}

.cnt-textarea { resize: vertical; min-height: 100px; }

.cnt-submit {
 display: flex; align-items: center; justify-content: center; gap: .8rem;
 background: var(--wine); color: #fff;
 border: none; cursor: pointer; font-family: inherit;
 padding: 1.1rem 2rem;
 font-size: .5rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 700;
 transition: background .25s;
 margin-top: .3rem;
}
.cnt-submit:hover { background: var(--wine-dk); }
.cnt-submit svg { width: 18px; height: 18px; stroke: currentColor; stroke-width: 2; fill: none; stroke-linecap: round; stroke-linejoin: round; }

.cnt-form-note {
 display: flex; align-items: center; gap: .5rem;
 font-size: .75rem; color: var(--text-muted);
}
.cnt-form-note svg { width: 14px; height: 14px; stroke: currentColor; stroke-width: 2; fill: none; flex-shrink: 0; }

.cnt-form-success {
 display: none; flex-direction: column; align-items: center; justify-content: center;
 gap: 1rem; padding: 3rem 2rem; text-align: center;
}
.cnt-form-success.cnt-success-visible { display: flex; }
.cnt-form-success svg { width: 48px; height: 48px; stroke: var(--wine); stroke-width: 1.5; fill: none; }
html[data-theme="dark"] .cnt-form-success svg { stroke: var(--accent); }
.cnt-form-success strong { font-size: 1.2rem; font-weight: 700; color: var(--ink); }
html[data-theme="dark"] .cnt-form-success strong { color: var(--text); }
.cnt-form-success p { font-size: .88rem; color: var(--text-soft); }

/* ── DATOS DE CONTACTO — editorial ── */
.cnt-datos-sec {
 background: var(--bg-alt);
 border-top: 1px solid var(--line);
}
.cnt-datos-inner {
 max-width: calc(1280px * var(--k, 1)); margin: 0 auto;
 padding: 5rem var(--pad-x);
 display: grid;
 grid-template-columns: 1fr 1.8fr;
 gap: 6rem;
 align-items: start;
}

.cnt-datos-headline { display: flex; flex-direction: column; gap: 1.5rem; }
.cnt-datos-h {
 font-size: calc(80.0px * var(--k, 1));
 font-weight: 800; letter-spacing: -.04em; line-height: .92;
 color: var(--ink);
}
html[data-theme="dark"] .cnt-datos-h { color: var(--text); }
.cnt-datos-h em { font-style: italic; color: var(--wine); font-weight: 300; }
html[data-theme="dark"] .cnt-datos-h em { color: var(--accent); }

.cnt-datos-list { display: flex; flex-direction: column; }

.cnt-dato-item {
 display: flex; align-items: center; gap: 2rem;
 padding: 1.6rem 0;
 border-bottom: 1px solid var(--line);
 text-decoration: none;
 transition: background .15s;
}
.cnt-dato-item:first-child { border-top: 1px solid var(--line); }

a.cnt-dato-item:hover { background: var(--bg-alt); margin: 0 -1.5rem; padding: 1.6rem 1.5rem; }

.cnt-dato-num {
 font-size: .34rem; letter-spacing: .2em; color: var(--text-muted);
 font-weight: 600; flex-shrink: 0; width: 2rem;
}
.cnt-dato-content { display: flex; flex-direction: column; gap: .25rem; flex: 1; }
.cnt-dato-type {
 font-size: .34rem; letter-spacing: .2em; text-transform: uppercase;
 color: var(--accent); font-weight: 600;
}
.cnt-dato-main {
 font-size: calc(19.2px * var(--k, 1));
 font-weight: 700; letter-spacing: -.02em;
 color: var(--ink);
}
html[data-theme="dark"] .cnt-dato-main { color: var(--text); }
a.cnt-dato-item:hover .cnt-dato-main { color: var(--wine); }
html[data-theme="dark"] a.cnt-dato-item:hover .cnt-dato-main { color: var(--accent); }
.cnt-dato-sub { font-size: .8rem; color: var(--text-soft); }
.cnt-dato-arrow {
 font-size: 1.2rem; color: var(--wine); opacity: 0;
 transition: opacity .2s, transform .2s;
 flex-shrink: 0;
}
html[data-theme="dark"] .cnt-dato-arrow { color: var(--accent); }
a.cnt-dato-item:hover .cnt-dato-arrow { opacity: 1; transform: translateX(4px); }

/* ── CTA WHATSAPP ── */
.cnt-wa-sec {
 background: var(--bg-alt);
 padding: 0 var(--pad-x) 5rem;
}
.cnt-wa-inner {
 max-width: calc(1280px * var(--k, 1)); margin: 0 auto;
 display: flex; align-items: center; justify-content: space-between; gap: 4rem;
}
.cnt-wa-eyebrow {
 font-size: .38rem; letter-spacing: .25em; text-transform: uppercase;
 color: var(--text-muted); font-weight: 600; display: block; margin-bottom: 1.2rem;
}
.cnt-wa-h {
 font-size: calc(72.0px * var(--k, 1));
 font-weight: 600; letter-spacing: -.022em; color: var(--ink); line-height: 1.08;
 margin-bottom: 1.2rem;
}
html[data-theme="dark"] .cnt-wa-h { color: var(--text); }
.cnt-wa-h em { font-style: italic; color: var(--wine); font-weight: 300; }
html[data-theme="dark"] .cnt-wa-h em { color: var(--accent); }
.cnt-wa-p { font-size: .9rem; color: var(--ink); }
html[data-theme="dark"] .cnt-wa-p { color: rgba(240,237,232,.6); }

.cnt-wa-btn {
 display: inline-flex; align-items: center; gap: .9rem; flex-shrink: 0;
 background: #25D366; color: #fff;
 padding: 1.2rem 2.5rem;
 font-size: .5rem; letter-spacing: .18em; font-weight: 700; text-transform: uppercase;
 text-decoration: none; transition: background .2s;
 white-space: nowrap;
}
.cnt-wa-btn:hover { background: #1ebe5d; }
.cnt-wa-btn svg { width: 22px; height: 22px; fill: #fff; flex-shrink: 0; }

/* ── RESPONSIVE ── */
/* ── TABLET 769–1024px ── */
@media (min-width: 769px) and (max-width: calc(1024px * var(--k, 1))) {
 /* Hero — apilado, formulario abajo */
 .cnt-hero { min-height: auto; }
 .cnt-hero-inner {
 grid-template-columns: 1fr;
 gap: 2.5rem;
 padding: 3rem 3rem 3rem;
 }
 .cnt-hero-h { font-size: calc(72.0px * var(--k, 1)); }
 .cnt-hero-sub { max-width: 100%; }

 /* Formulario — dos columnas se mantienen pero más compacto */
 .cnt-form { padding: 1.6rem 1.8rem 2rem; gap: 1rem; }
 .cnt-form-header { padding: 1.2rem 1.8rem .8rem; }

 /* Datos — 2 columnas */
 .cnt-datos-inner {
 grid-template-columns: 1fr 1.5fr;
 gap: 3rem;
 padding: 4rem 3rem;
 }
 a.cnt-dato-item:hover { margin: 0 -1rem; padding: 1.6rem 1rem; }

 /* CTA WhatsApp */
 .cnt-wa-sec { padding: 4rem 3rem; }
 .cnt-wa-inner { flex-direction: column; align-items: flex-start; gap: 2rem; }
 .cnt-wa-h { font-size: calc(72.0px * var(--k, 1)); }
 .cnt-wa-btn { align-self: flex-start; }
}

/* ── MOBILE ≤768px ── */
@media (max-width: 768px) {
 /* Hero */
 .cnt-hero { min-height: auto; }
 .cnt-hero-inner {
 grid-template-columns: 1fr;
 padding: 2rem 1.6rem 2.5rem;
 gap: 2rem;
 }
 .cnt-hero-h { font-size: calc(72.0px * var(--k, 1)); }
 .cnt-hero-sub { font-size: .88rem; }

 /* Formulario — todo en una columna */
 .cnt-form-wrap { border-top-width: 2px; }
 .cnt-form-header { padding: 1rem 1.2rem .7rem; }
 .cnt-form { padding: 1.2rem 1.2rem 1.5rem; gap: 1rem; }
 .cnt-form-row { grid-template-columns: 1fr; gap: 1rem; }
 .cnt-phone-wrap { gap: 0; }
 .cnt-phone-prefix { width: 80px; font-size: .76rem; }
 .cnt-submit { padding: .95rem 1.5rem; font-size: .44rem; }

 /* Datos */
 .cnt-datos-inner {
 grid-template-columns: 1fr;
 padding: 2.5rem 1.6rem;
 gap: 0;
 }
 .cnt-datos-headline { margin-bottom: 1.5rem; }
 .cnt-datos-h { font-size: calc(48.0px * var(--k, 1)); }
 .cnt-dato-item { padding: 1.3rem 0; }
 .cnt-dato-main { font-size: .95rem; }
 a.cnt-dato-item:hover { margin: 0; padding: 1.3rem 0; }

 /* CTA WhatsApp */
 .cnt-wa-sec { padding: 3rem 1.6rem; }
 .cnt-wa-inner { flex-direction: column; align-items: flex-start; gap: 1.5rem; }
 .cnt-wa-h { font-size: calc(72.0px * var(--k, 1)); }
 .cnt-wa-btn { width: 100%; justify-content: center; padding: 1rem 1.5rem; }
}

/* contacto — helpers */
.cnt-hero-left { display: flex; flex-direction: column; }
.cnt-hero-right { display: flex; flex-direction: column; }
.cnt-submit-text { display: inline; }
.cnt-wa-text { display: flex; flex-direction: column; }

/* ── Phone field with prefix ── */
.cnt-phone-wrap {
 display: flex;
 gap: 0;
}
.cnt-phone-prefix {
 flex-shrink: 0;
 width: 90px;
 border-right: none;
 border-radius: 0;
 padding-right: .5rem;
 font-size: .8rem;
}
.cnt-phone-num {
 flex: 1;
 border-left: 1px solid var(--line);
 min-width: 0;
}
.cnt-phone-wrap .cnt-input:focus {
 border-color: var(--wine);
 z-index: 1;
}
html[data-theme="dark"] .cnt-phone-wrap .cnt-input:focus { border-color: var(--accent); }

@media (max-width: 768px) {
}

/*  badge sizes — extracted from inline styles */

/* ─── Mobile Tours submenu (collapsible, agrupado por categorías) ─── */
.mob-tours-wrap { display: flex; flex-direction: column; }

.mob-tours-toggle {
 display: flex;
 justify-content: space-between;
 align-items: center;
 font-size: calc(32.0px * var(--k, 1));
 font-weight: 600;
 padding: .75rem 0;
 border-bottom: 1px solid var(--line);
 color: var(--text);
 background: none;
 border-left: none;
 border-right: none;
 border-top: none;
 cursor: pointer;
 width: 100%;
 text-align: left;
 font-family: inherit;
 transition: color .25s cubic-bezier(0.4, 0, 0.2, 1);
}
@media (hover: hover) and (pointer: fine) {
 .mob-tours-toggle:hover { color: var(--wine); }
 html[data-theme="dark"] .mob-tours-toggle:hover { color: var(--accent); }
}

.mob-tours-chev {
 transition: transform .25s cubic-bezier(0.4, 0, 0.2, 1);
 flex-shrink: 0;
}
.mob-tours-toggle[aria-expanded="true"] .mob-tours-chev {
 transform: rotate(180deg);
}
.mob-tours-toggle[aria-expanded="true"] { color: var(--wine); }
html[data-theme="dark"] .mob-tours-toggle[aria-expanded="true"] { color: var(--accent); }

.mob-tours-submenu {
 max-height: 0;
 overflow: hidden;
 transition: max-height .25s cubic-bezier(0.4, 0, 0.2, 1);
 display: flex;
 flex-direction: column;
}
.mob-tours-submenu.open {
 max-height: 800px;
}

/* Grupo de categoría (Tours en Bodegas, Excursiones, etc) */
.mob-tours-cat-group {
 display: flex;
 flex-direction: column;
}

/* Título de cada categoría */
.mob-tours-cat-title {
 font-size: .62rem;
 letter-spacing: .22em;
 text-transform: uppercase;
 font-weight: 700;
 color: var(--wine);
 padding: 1.1rem .5rem .5rem 1rem;
 border-bottom: 1px solid var(--line);
}
html[data-theme="dark"] .mob-tours-cat-title { color: var(--accent); }

/* Items dentro de cada categoría */
.mob-tours-submenu a {
 display: block !important;
 font-size: clamp(1rem, 3.5vw, 1.15rem) !important;
 font-weight: 500 !important;
 padding: .6rem .5rem .6rem 1.5rem !important;
 border-bottom: 1px solid var(--line) !important;
 color: var(--text-soft) !important;
 text-align: left !important;
 justify-content: flex-start !important;
}
@media (hover: hover) and (pointer: fine) {
 .mob-tours-submenu a {
 transition: color .2s !important;
 }
 .mob-tours-submenu a:hover {
 color: var(--wine) !important;
 }
 html[data-theme="dark"] .mob-tours-submenu a:hover {
 color: var(--accent) !important;
 }
}

@media (max-width: 768px) {
 .mob-tours-toggle { font-size: calc(28.8px * var(--k, 1)); padding: 18px 24px; }
 .mob-tours-cat-title { padding: 1rem 24px .5rem 24px; font-size: .58rem; }
 .mob-tours-submenu a { padding: 12px 24px 12px 36px !important; font-size: 1rem !important; }
}

/* ─── Footer bottom: link a privacidad (solo desktop, mobile usa foot-mobile) ─── */
@media (min-width: 769px), (pointer: fine) {
 .footer-bottom {
 display: flex;
 flex-wrap: wrap;
 align-items: center;
 justify-content: space-between;
 gap: 1rem;
 }
}
.footer-bottom-link {
 color: rgba(255,255,255,.7);
 text-decoration: none;
 font-size: .8rem;
 letter-spacing: .03em;
 transition: color .25s;
}
.footer-bottom-link:hover {
 color: var(--gold);
}
html[data-theme="dark"] .footer-bottom-link:hover, body.dark .footer-bottom-link:hover {
 color: var(--accent);
}
@media (max-width: 640px) {
 .footer-bottom { justify-content: center; text-align: center; }
}

/* ─── Cookie Consent Banner ─── */
.cookie-banner {
 position: fixed;
 left: 0;
 right: 0;
 bottom: 0;
 z-index: 9999;
 background: var(--bg);
 border-top: 1px solid var(--line);
 box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.08);
 transform: translateY(100%);
 transition: transform .5s cubic-bezier(.16, 1, .3, 1);
 font-family: 'Poppins', sans-serif;
}
html[data-theme="dark"] .cookie-banner,
body.dark .cookie-banner {
 box-shadow: 0 -8px 32px rgba(0, 0, 0, 0.4);
}
.cookie-banner-visible {
 transform: translateY(0);
}
.cookie-inner {
 max-width: var(--max-w);
 margin: 0 auto;
 padding: 1.25rem var(--pad-x);
 display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 2rem;
 flex-wrap: wrap;
}
.cookie-msg {
 margin: 0;
 font-size: .9rem;
 line-height: 1.55;
 color: var(--text-soft);
 flex: 1;
 min-width: 280px;
}
.cookie-link {
 color: var(--wine);
 text-decoration: underline;
 text-underline-offset: 3px;
 font-weight: 500;
 transition: color .2s;
}
html[data-theme="dark"] .cookie-link,
body.dark .cookie-link { color: var(--accent); }
.cookie-link:hover { opacity: .75; }

.cookie-actions {
 display: flex;
 gap: .75rem;
 flex-shrink: 0;
}
.cookie-btn {
 font-family: inherit;
 font-size: .75rem;
 font-weight: 600;
 letter-spacing: .12em;
 text-transform: uppercase;
 padding: .75rem 1.4rem;
 border: 1px solid;
 cursor: pointer;
 transition: all .25s;
 white-space: nowrap;
}
.cookie-btn-primary {
 background: var(--wine);
 color: white;
 border-color: var(--wine);
}
.cookie-btn-primary:hover {
 background: transparent;
 color: var(--wine);
}
html[data-theme="dark"] .cookie-btn-primary,
body.dark .cookie-btn-primary {
 background: var(--accent);
 border-color: var(--accent);
 color: #000;
}
html[data-theme="dark"] .cookie-btn-primary:hover,
body.dark .cookie-btn-primary:hover {
 background: transparent;
 color: var(--accent);
}
.cookie-btn-secondary {
 background: transparent;
 color: var(--text-soft);
 border-color: var(--line);
}
.cookie-btn-secondary:hover {
 border-color: var(--text);
 color: var(--text);
}

@media (max-width: 720px) {
 .cookie-inner {
 flex-direction: column;
 align-items: stretch;
 gap: 1rem;
 padding: 1rem var(--pad-x) 1.25rem;
 }
 .cookie-msg { font-size: .85rem; }
 .cookie-actions {
 width: 100%;
 justify-content: stretch;
 }
 .cookie-btn {
 flex: 1;
 padding: .85rem .75rem;
 font-size: .7rem;
 }
}

/* ─── Newsletter Section ─── */
html[data-theme="dark"] .news-kicker, body.dark .news-kicker { color: var(--accent); }
html[data-theme="dark"] .news-h em, body.dark .news-h em { color: var(--accent); }
html[data-theme="dark"] .news-input:focus, body.dark .news-input:focus {
 border-bottom-color: var(--accent);
}
html[data-theme="dark"] .news-submit, body.dark .news-submit {
 background: var(--accent); border-color: var(--accent); color: #000;
}
html[data-theme="dark"] .news-submit:hover:not(:disabled),
body.dark .news-submit:hover:not(:disabled) {
 background: transparent; color: var(--accent);
}
html[data-theme="dark"] .news-link:hover, body.dark .news-link:hover { color: var(--accent); }
html[data-theme="dark"] .news-success, body.dark .news-success {
 border-color: var(--accent);
 background: rgba(207, 175, 109, 0.06);
}
html[data-theme="dark"] .news-success-title, body.dark .news-success-title {
 color: var(--accent);
}

/* ─── Footer Newsletter (compacto) ─── */

@media (max-width: 720px) {

}

/* ─── Newsletter Popup ─── */
.news-popup-visible {
 opacity: 1;
 pointer-events: auto;
}
html[data-theme="dark"] .news-popup-close:hover,
body.dark .news-popup-close:hover { color: var(--accent); }
html[data-theme="dark"] .news-popup-kicker,
body.dark .news-popup-kicker { color: var(--accent); }
html[data-theme="dark"] .news-popup-title em,
body.dark .news-popup-title em { color: var(--accent); }
html[data-theme="dark"] .news-popup-input:focus,
body.dark .news-popup-input:focus { border-bottom-color: var(--accent); }
html[data-theme="dark"] .news-popup-submit,
body.dark .news-popup-submit {
 background: var(--accent); border-color: var(--accent); color: #000;
}
html[data-theme="dark"] .news-popup-submit:hover:not(:disabled),
body.dark .news-popup-submit:hover:not(:disabled) {
 background: transparent; color: var(--accent);
}
html[data-theme="dark"] .news-popup-success-title,
body.dark .news-popup-success-title { color: var(--accent); }

/* ─── Hero CTAs (btn-w / btn-g) ─── */
html[data-theme="dark"] .btn-w,
body.dark .btn-w {
 background: var(--accent);
 border-color: var(--accent);
 color: #000;
}
html[data-theme="dark"] .btn-w:hover,
body.dark .btn-w:hover {
 background: transparent;
 color: var(--accent);
}

/* ═══════════════════════════════════════════════
 BUG FIXES — Active states (navbar + footer langs)
═══════════════════════════════════════════════ */

/* Navbar — link de la página actual: vino en claro, gold en oscuro */
.nav-links a.nav-active {
 color: var(--wine);
}
.nav-links a.nav-active::after {
 width: 100%;
 background: var(--wine);
}
html[data-theme="dark"] .nav-links a.nav-active,
body.dark .nav-links a.nav-active {
 color: var(--accent);
}
html[data-theme="dark"] .nav-links a.nav-active::after,
body.dark .nav-links a.nav-active::after {
 background: var(--accent);
}

/* Mobile nav active */
.mob-nav-links a.nav-active,
.mob-tours-link.nav-active,
#mobileMenuLinks > a.nav-active,
.mob-tours-toggle.nav-active,
.mob-tours-submenu a.nav-active {
 color: var(--wine);
 font-weight: 600;
}
html[data-theme="dark"] .mob-nav-links a.nav-active,
html[data-theme="dark"] .mob-tours-link.nav-active,
html[data-theme="dark"] #mobileMenuLinks > a.nav-active,
html[data-theme="dark"] .mob-tours-toggle.nav-active,
html[data-theme="dark"] .mob-tours-submenu a.nav-active,
body.dark .mob-nav-links a.nav-active,
body.dark .mob-tours-link.nav-active,
body.dark #mobileMenuLinks > a.nav-active,
body.dark .mob-tours-toggle.nav-active,
body.dark .mob-tours-submenu a.nav-active {
 color: var(--accent);
}
/* El submenu usa !important para color en su definición — necesitamos !important para overridelo */
.mob-tours-submenu a.nav-active {
 color: var(--wine) !important;
}
html[data-theme="dark"] .mob-tours-submenu a.nav-active,
body.dark .mob-tours-submenu a.nav-active {
 color: var(--accent) !important;
}

/* Footer — idioma activo: solo color gold, mismo peso que links normales */
.footer-col-links a.footer-lang-active {
 color: var(--accent);
}

/* ═══════════════════════════════════════════════
 BUG FIX 3 — btn-g visible en heros con overlay oscuro
 (siempre blanco/claro, en modo claro Y oscuro)

 IMPORTANTE: NO incluye .hero (la home) porque ese tiene un hero SPLIT
 con fondo BLANCO en modo claro. El botón blanco sobre fondo blanco se
 vuelve invisible. Para .hero la regla base de btn-g (color: var(--text))
 es la correcta: texto oscuro sobre blanco en modo claro, texto claro sobre
 negro en modo oscuro.
═══════════════════════════════════════════════ */

/* Mobile: el hero del index también pasa a tener imagen full-screen detrás
 (el split desktop deja de ser split). El btn-g oscuro sobre imagen oscura
 se pierde, así que en mobile lo forzamos a blanco como los demás heros. */

/* Eventos título: prevenir overflow en palabras largas (palabras como "celebración") */

/* City tour título mobile no cortado */

/* Mobile staff: priorizar cabeza (object-position top) */

/* Footer mobile — link activo: gold */
.foot-mobile-links a.footer-link-active {
 color: var(--accent) !important;
}

/* ═══════════════════════════════════════════════════════════════════════
 ACENTO CONTEXTUAL — Superficies con fondo oscuro fijo
 
 Estas secciones tienen background oscuro INDEPENDIENTEMENTE del modo
 (claro u oscuro) de la página. Por lo tanto, --accent debe ser SIEMPRE
 gold para garantizar legibilidad.
 
 Esto previene el bug de "vino sobre vino" que ocurriría en modo claro,
 donde --accent normalmente es var(--wine).
═══════════════════════════════════════════════════════════════════════ */

/* Heros con fondo oscuro fijo (todas las páginas de tours individuales)
 y secciones con fondo oscuro fijo */

/* ═══════════════════════════════════════════════════════════════════════
 DARK MODE — Tipografía de acento: wine → gold
 
 En modo claro todos los em italic y textos de acento son var(--wine).
 En modo oscuro deben ser var(--gold) para contraste sobre fondo negro.
 Este bloque centraliza todos los overrides en lugar de dispersarlos.
═══════════════════════════════════════════════════════════════════════ */

/* ── Regla base: todos los em italic ── */
html[data-theme="dark"] em { color: var(--gold); }

/* ── Headings y títulos de sección ── */
html[data-theme="dark"] .sec-h em,
html[data-theme="dark"] .exp-intro-headline em,
html[data-theme="dark"] .exp-h em,
html[data-theme="dark"] .fleet-hdr .sec-h em,
html[data-theme="dark"] .reviews-hdr .sec-h em,
html[data-theme="dark"] .a-title em,
html[data-theme="dark"] .otros-h em,
html[data-theme="dark"] .hero-h1 em,
html[data-theme="dark"] .hero-luj-h1 em,
html[data-theme="dark"] .intro-band-h em,
html[data-theme="dark"] .intro-am-h em,
html[data-theme="dark"] .exp-am-h em,
html[data-theme="dark"] .diferencial-h em,
html[data-theme="dark"] .concepto-h em,
html[data-theme="dark"] .recorrido-h em,
html[data-theme="dark"] .galeria-h em,
html[data-theme="dark"] .porq-h em,
html[data-theme="dark"] .reviews-bod-h em,
html[data-theme="dark"] .bl-bodega-h em,
html[data-theme="dark"] .bl-proceso-h em,
html[data-theme="dark"] .ck-exp-h em,
html[data-theme="dark"] .corp-flota-h em,
html[data-theme="dark"] .nos-diff-h em,
html[data-theme="dark"] .nos-h em,
html[data-theme="dark"] .desp-h em,
html[data-theme="dark"] .ev-h em,
html[data-theme="dark"] .faq-h em,
html[data-theme="dark"] .news-h em,
html[data-theme="dark"] .footer-tagline em { color: var(--gold); }

/* ── Valores destacados (Full day, Privado, números de flota, etc) ── */
html[data-theme="dark"] .exp-meta-val { color: var(--gold); }
html[data-theme="dark"] .fc-val { color: var(--gold); }
html[data-theme="dark"] .fc:hover .fc-arrow,
html[data-theme="dark"] .fc-active .fc-arrow { color: var(--gold); }

/* DARK MODE — accentos wine en hover/active pasan a gold */
html[data-theme="dark"] .fc:hover,
html[data-theme="dark"] .fc-active { border-left-color: var(--gold); }
html[data-theme="dark"] .review-card:hover { border-color: var(--gold); }
html[data-theme="dark"] .faq-item.open .faq-plus { color: var(--gold); }

/* ── Titulos de features/diferenciadores (100% privado, A medida, etc) ── */
html[data-theme="dark"] .nos-feat-title,
html[data-theme="dark"] .nos-feat-h,
html[data-theme="dark"] .dif-feat-name,
html[data-theme="dark"] .dif-card-h,
html[data-theme="dark"] .feat-title { color: var(--gold); }

/* ── FAQ título abierto ── */
html[data-theme="dark"] .faq-item.open .faq-q-txt { color: var(--gold); }

/* ── Popup AI close ── */
html[data-theme="dark"] .ai-popup-close:hover { border-color: var(--gold); color: var(--gold); }

/* ── Newsletter link ── */
html[data-theme="dark"] .news-link { color: var(--gold); }

/* ── Features "Lo que nos distingue" (100% privado, A medida, etc) ── */
html[data-theme="dark"] .di-title { color: var(--gold); }
html[data-theme="dark"] .diff-mobile-title { color: var(--gold); }

/* ============================================================ */
/* SEO additions — Breadcrumbs visibles + Trust strip */
/* ============================================================ */

.vwt-breadcrumb {
 font-size: 0.78rem;
 letter-spacing: 0.08em;
 text-transform: uppercase;
 opacity: 0.6;
 margin: 1.5rem 0 0.5rem;
 padding: 0 1.5rem;
}
.vwt-breadcrumb ol {
 display: flex;
 gap: 0.5rem;
 list-style: none;
 padding: 0;
 margin: 0;
 flex-wrap: wrap;
 align-items: center;
}
.vwt-breadcrumb li:not(:last-child)::after {
 content: "/";
 margin-left: 0.5rem;
 opacity: 0.5;
}
.vwt-breadcrumb a {
 color: inherit;
 text-decoration: none;
 transition: opacity 0.2s ease;
}
.vwt-breadcrumb a:hover { opacity: 1; }
.vwt-breadcrumb [aria-current="page"] {
 font-weight: 500;
 opacity: 0.85;
}
@media (max-width: 640px) {
 .vwt-breadcrumb { font-size: 0.72rem; padding: 0 1rem; }
}

.vwt-trust-strip {
 display: flex;
 flex-wrap: wrap;
 gap: 2rem;
 justify-content: center;
 padding: 1.5rem 1rem;
 font-size: 0.7rem;
 letter-spacing: 0.18em;
 text-transform: uppercase;
 opacity: 0.55;
 font-weight: 300;
}
.vwt-trust-strip span { white-space: nowrap; }
@media (max-width: 640px) {
 .vwt-trust-strip { gap: 0.75rem; font-size: 0.62rem; }
}

/* ============================================================ */
/* SEO additions v2 — Related sections (cinematográfico) */
/* ============================================================ */

.vwt-related-sec {
 padding: clamp(3rem, 6vw, 5rem) 1.5rem;
 max-width: calc(1200px * var(--k, 1));
 margin: 0 auto;
 border-top: 1px solid rgba(255,255,255,0.06);
}
:root[data-theme="light"] .vwt-related-sec,
html:not([data-theme="dark"]) .vwt-related-sec {
 border-top-color: rgba(0,0,0,0.06);
}

.vwt-related-kicker {
 font-size: 0.72rem;
 letter-spacing: 0.22em;
 text-transform: uppercase;
 opacity: 0.55;
 margin-bottom: 1rem;
 font-weight: 400;
}
.vwt-related-h {
 font-family: 'Poppins', sans-serif;
 font-size: calc(32.0px * var(--k, 1));
 font-weight: 400;
 letter-spacing: -0.01em;
 margin: 0 0 2.5rem 0;
 line-height: 1.2;
}
.vwt-related-h em {
 font-style: italic;
 font-weight: 400;
}

.vwt-related-grid {
 display: grid;
 grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
 gap: 1.5rem;
}

.vwt-related-card {
 display: block;
 text-decoration: none;
 color: inherit;
 padding: 1.5rem 0;
 border-top: 1px solid rgba(255,255,255,0.08);
 transition: opacity 0.3s ease, transform 0.3s ease;
}
:root[data-theme="light"] .vwt-related-card,
html:not([data-theme="dark"]) .vwt-related-card {
 border-top-color: rgba(0,0,0,0.08);
}
.vwt-related-card:hover {
 opacity: 0.85;
 transform: translateX(4px);
}
.vwt-related-card-tag {
 font-size: 0.66rem;
 letter-spacing: 0.18em;
 text-transform: uppercase;
 opacity: 0.55;
 margin-bottom: 0.6rem;
}
.vwt-related-card-h {
 font-family: 'Poppins', sans-serif;
 font-size: 1.05rem;
 font-weight: 400;
 letter-spacing: -0.005em;
 line-height: 1.35;
 margin: 0 0 0.6rem 0;
}
.vwt-related-card-arrow {
 font-size: 0.78rem;
 letter-spacing: 0.08em;
 opacity: 0.5;
}

@media (max-width: 640px) {
 .vwt-related-sec { padding: 3rem 1rem; }
 .vwt-related-grid { gap: 1rem; }
}

/* ============================================================ */
/* SEO additions v2 — Author byline (E-E-A-T) */
/* ============================================================ */

.vwt-author-card {
 margin: 3rem 0 2rem 0;
 padding: 2rem;
 border: 1px solid rgba(255,255,255,0.08);
 border-radius: 4px;
 display: flex;
 gap: 1.25rem;
 align-items: flex-start;
}
:root[data-theme="light"] .vwt-author-card,
html:not([data-theme="dark"]) .vwt-author-card {
 border-color: rgba(0,0,0,0.08);
}
.vwt-author-avatar {
 width: 56px;
 height: 56px;
 border-radius: 50%;
 background: linear-gradient(135deg, #7B1A2D 0%, #4a0f1d 100%);
 display: flex;
 align-items: center;
 justify-content: center;
 color: #fff;
 font-family: 'Poppins', sans-serif;
 font-size: 1.5rem;
 flex-shrink: 0;
}
.vwt-author-body { flex: 1; min-width: 0; }
.vwt-author-tag {
 font-size: 0.66rem;
 letter-spacing: 0.18em;
 text-transform: uppercase;
 opacity: 0.55;
 margin-bottom: 0.4rem;
}
.vwt-author-name {
 font-family: 'Poppins', sans-serif;
 font-size: 1.1rem;
 font-weight: 500;
 margin: 0 0 0.4rem 0;
}
.vwt-author-bio {
 font-size: 0.88rem;
 opacity: 0.75;
 line-height: 1.55;
 margin: 0;
}
@media (max-width: 640px) {
 .vwt-author-card { padding: 1.5rem; gap: 1rem; }
 .vwt-author-avatar { width: 48px; height: 48px; font-size: 1.25rem; }
}

/* ============================================================ */
/* FIX — CTAs sobre fondo oscuro: texto siempre legible */
/* ============================================================ */

/* CTA final BODEGAS (.cta-final-sec) — fondo oscuro siempre */

/* CTA final REGIÓN/BODEGAS INDIVIDUALES (.cta-final) — reforzar kicker */

/* ============================================================ */
/* WINERY PAGES — Bloque vinos con botellas 3D */
/* Diseño cinematográfico premium · funciona en light + dark */
/* ============================================================ */
html[data-theme="dark"] .winery-wines-sec {
 background: #14100D;
}
html[data-theme="dark"] .winery-wines-h em {
 color: var(--gold-lt, #AC3749);
}
html[data-theme="dark"] .winery-wines-rule {
 background: var(--gold-lt, #AC3749);
}

.winery-wine-card {
 display: flex;
 flex-direction: column;
 align-items: center;
 text-align: center;
 padding: 1rem 1rem 0;
 transform-style: preserve-3d;
}

.winery-wine-bottle {
 width: 100%;
 max-width: 110px;
 height: 100%;
 position: relative;
 filter: drop-shadow(0 14px 28px rgba(0,0,0,0.28));
 transition: transform 0.7s cubic-bezier(.22,.61,.36,1), filter 0.7s ease;
 transform-origin: center 95%;
 transform-style: preserve-3d;
 will-change: transform;
}
html[data-theme="dark"] .winery-wine-bottle {
 filter: drop-shadow(0 14px 32px rgba(0,0,0,0.55));
}
.winery-wine-card:hover .winery-wine-bottle {
 transform: rotateY(-12deg) translateY(-14px) scale(1.04);
 filter: drop-shadow(0 28px 44px rgba(0,0,0,0.42));
}
html[data-theme="dark"] .winery-wine-card:hover .winery-wine-bottle {
 filter: drop-shadow(0 28px 44px rgba(0,0,0,0.7));
}

.winery-wine-bottle svg {
 width: 100%;
 height: 100%;
 display: block;
}
html[data-theme="dark"] .winery-wine-rule {
 background: var(--gold-lt, #AC3749);
 opacity: 0.6;
}
@media (max-width: 600px) {
 .winery-wine-bottle {
 max-width: 95px;
 }
}

/* ============================================================ */
/* FIX TOTAL — CTA .cta-final · texto siempre visible */
/* (incluye .cta-final-sub que el HTML usaba pero CSS no tenía) */
/* ============================================================ */

/* ============================================================ */
/* JS-tilt fallback — si JS no carga, no rompe nada */
/* ============================================================ */
.winery-wine-card[data-tilt] { transition: transform 0.6s cubic-bezier(.22,.61,.36,1); }

/* ============================================================ */
/* WINERY PAGES — Secciones blog SEO (history, terroir, etc) */
/* ============================================================ */
html[data-theme="dark"] .winery-content-sec + .winery-content-sec {
 border-top-color: rgba(255,255,255,0.06);
}
html[data-theme="dark"] .winery-content-h em {
 color: var(--gold-lt, #AC3749);
}
html[data-theme="dark"] .winery-content-h::after {
 background: var(--gold-lt, #AC3749);
}

/* ============================================================ */
/* WINERY FAQ — accordion premium minimalista */
/* ============================================================ */
html[data-theme="dark"] .winery-faq-sec {
 border-top-color: rgba(255,255,255,0.06);
}
html[data-theme="dark"] .winery-faq-item {
 border-bottom-color: rgba(255,255,255,0.08);
}
html[data-theme="dark"] .winery-faq-q::after {
 color: var(--gold-lt, #AC3749);
}

/* ============================================================ */
html, body, h1, h2, h3, h5, p, span, div, a, button, input, textarea, select, label {
 font-family: 'Poppins', sans-serif !important;
 font-style: normal !important;
}

/* Mejora de spacing para títulos grandes en Poppins (compensa el peso bold) */

/* ============================================================ */
@media (hover: none) and (pointer: coarse) {
 /* En mobile: reemplazar backdrop-filter por bg sólido para evitar repaint costoso */
 #mainNav, .nav, .nav-r, .nav-mobile-overlay,
 [class*="backdrop"] {
 backdrop-filter: none !important;
 -webkit-backdrop-filter: none !important;
 }
 /* Compensar con opacidad sólida */
 #mainNav.sc { background: #FFFFFF !important; }

}

/* ============================================================ */
@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;
 }
}

/* ============================================================ */

.vwt-related-sec {
 content-visibility: auto;
 contain-intrinsic-size: 1px 700px;
}

/* Apple-level scroll smoothness */
html {
 scroll-behavior: smooth;
}
@media (prefers-reduced-motion: reduce) {
 html { scroll-behavior: auto; }
}

/* ============================================================ */
a, button, .winery-wine-card,
.vwt-related-card, .nav-flag {
 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* Sin will-change permanente — solo durante hover */

/* Scroll-driven hero zoom: pausar cuando off-viewport */
@supports (animation-timeline: view()) {
 .hero-img, .hero-right-img img {
 animation-timeline: view();
 animation-range: cover;
 }
}

/* ============================================================ */
*:focus-visible {
 outline: 2px solid var(--wine, #7B1A2D);
 outline-offset: 3px;
 border-radius: 2px;
}

/* ============================================================ */
 .vwt-related-card, .winery-wine-card {
 transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
 box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1),
 border-color 0.3s ease,
 background 0.3s ease;
}

/* ============================================================ */
body {
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 text-rendering: optimizeLegibility;
}

/* Tighten body text en pantallas grandes */
@media (min-width: 1280px) {
 body {
 font-size: 16px;
 line-height: 1.65;
 }
}

/* ============================================================ */
img {
 max-width: 100%;
 height: auto;
}
img:not([src]) {
 visibility: hidden;
}

/* ════════════════════════════════════════════════════════════════ */
/* IDENTIDAD TIPOGRÁFICA — Vito Wine Tours */
/* Toda la web usa Poppins. Sin excepciones. */
/* Heros: mismo tamaño en TODAS las páginas y secciones. */
/* Mobile y desktop: misma regla responsive (clamp). */
/* ════════════════════════════════════════════════════════════════ */

/* — Familia tipográfica única en TODO elemento — */
*, *::before, *::after,
html, body,
h1, h2, h3, h5,
p, span, div, a, em, strong, b, i, u,
ul, ol, li, dl, dt, dd,
table, tr,
button, input, textarea, select, label,
nav, header, footer, main, section, article, aside,
.cnt-hero-h, .cnt-hero-h em,
.err-h1, .prv-h1 {
 font-family: 'Poppins', sans-serif !important;
 font-style: normal !important;
}

/* — HERO H1 UNIFICADO — todos los heros principales del sitio — */
/* MISMO tamaño, MISMO peso (BOLD 700), MISMA identidad */

.cnt-hero-h,
.err-h1,
.prv-h1 {
 font-family: 'Poppins', sans-serif !important;
 font-size: calc(clamp(2rem, 4.2vw, 3.6rem) !important * var(--k, 1));
 font-weight: 700 !important;
 letter-spacing: -.025em !important;
 line-height: 1.15 !important;
 font-style: normal !important;
 word-break: normal !important;
 overflow-wrap: break-word !important;
 text-wrap: balance !important;
 hyphens: manual !important;
 text-transform: none !important;
}

/* — Em dentro de heros: mismo tamaño, peso 600, color accent — */

.cnt-hero-h em {
 font-family: 'Poppins', sans-serif !important;
 font-weight: 600 !important;
 font-style: normal !important;
 color: var(--wine, #7B1A2D);
}
html[data-theme="dark"] .hero-h1 em,
html[data-theme="dark"] .hero-luj-h1 em,
html[data-theme="dark"] .region-h em,
html[data-theme="dark"] .blog-hero-h em,
html[data-theme="dark"] .ct-hero-h1 em,
html[data-theme="dark"] .cnt-hero-h em,
html[data-theme="dark"] .nos-hero-h em,
html[data-theme="dark"] .corp-hero-h1 em,
html[data-theme="dark"] .desp-hero-h1 em,
html[data-theme="dark"] .intro-band-h em,
html[data-theme="dark"] .winery-content-h em,
html[data-theme="dark"] .winery-wines-h em,
html[data-theme="dark"] .cta-final-h em,
html[data-theme="dark"] .sec-h em {
 color: var(--gold-lt, #AC3749);
}

/* — H2 SECTION HEADERS UNIFICADOS — escala secundaria, mismo peso — */

.cnt-wa-h,
.cnt-datos-h {
 font-family: 'Poppins', sans-serif !important;
 font-size: calc(clamp(1.65rem, 3.2vw, 2.6rem) !important * var(--k, 1));
 font-weight: 700 !important;
 letter-spacing: -.022em !important;
 line-height: 1.12 !important;
 font-style: normal !important;
 word-break: normal !important;
 overflow-wrap: break-word !important;
 text-wrap: balance !important;
}

/* — Eyebrows y kickers (textos pequeños sobre heros) unificados — */

.vwt-related-kicker {
 font-family: 'Poppins', sans-serif !important;
 font-size: 0.7rem !important;
 font-weight: 500 !important;
 letter-spacing: 0.3em !important;
 text-transform: uppercase !important;
 font-style: normal !important;
 line-height: 1.4 !important;
}

/* — Subtítulos / leads bajo heros unificados — */

/* ════════════════════════════════════════════════════════════════ */
/* PERFORMANCE — Mobile optimizations + animaciones off-viewport */
/* ════════════════════════════════════════════════════════════════ */
@media (hover: none) and (pointer: coarse) {
 #mainNav, .nav, .nav-r, .nav-mobile-overlay,
 [class*="backdrop"] {
 backdrop-filter: none !important;
 -webkit-backdrop-filter: none !important;
 }
 #mainNav.sc { background: #FFFFFF !important; }
 html[data-theme="dark"] #mainNav.sc { background: #0A0908 !important; }
}

@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;
 }
}


.vwt-related-sec {
 content-visibility: auto;
 contain-intrinsic-size: 1px 700px;
}

html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ════════════════════════════════════════════════════════════════ */
/* UX APPLE — Transiciones, focus, antialiasing */
/* ════════════════════════════════════════════════════════════════ */
a, button, .winery-wine-card,
.vwt-related-card,
.nav-flag {
 transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;
}

 .vwt-related-card, .winery-wine-card {
 transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
 box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1),
 border-color 0.3s ease,
 background 0.3s ease;
}

*:focus-visible {
 outline: 2px solid var(--wine, #7B1A2D);
 outline-offset: 3px;
 border-radius: 2px;
}
html[data-theme="dark"] *:focus-visible {
 outline-color: var(--gold-lt, #AC3749);
}

/* — .h-sub específico (subtítulo del hero del index) — */
/* No es un h1 hero, es un subtítulo aunque use el tag h1 por SEO */
html[data-theme="dark"] .h-sub {
 color: rgba(245, 245, 245, 0.72) !important;
}

/* ════════════════════════════════════════════════════════════════ */
/* VITO WINE TOURS — IDENTIDAD VISUAL MAESTRA (overrides finales) */
/* Bloque autoritativo. Garantiza: */
/* - Heros más grandes que cualquier título de bloque */
/* - h2 secciones siempre menores que el hero */
/* - Visibilidad en light/dark + mobile/desktop */
/* ════════════════════════════════════════════════════════════════ */

/* HERO H1 — protagonista, grande y bold */
 .cnt-hero-h,
.err-h1, .prv-h1 {
 font-family: 'Poppins', sans-serif !important;
 font-size: calc(clamp(2.6rem, 6vw, 5.2rem) !important * var(--k, 1));
 font-weight: 700 !important;
 letter-spacing: -.028em !important;
 line-height: 1.15 !important;
 font-style: normal !important;
 word-break: normal !important;
 overflow-wrap: break-word !important;
 text-wrap: balance !important;
 text-transform: none !important;
}

/* H2 SECCIONES — siempre menor y menos peso que el hero */
 .cnt-wa-h, .cnt-datos-h,
.vwt-related-h{
 font-family: 'Poppins', sans-serif !important;
 font-size: calc(clamp(1.6rem, 3vw, 2.5rem) !important * var(--k, 1));
 font-weight: 600 !important;
 letter-spacing: -.022em !important;
 line-height: 1.15 !important;
 font-style: normal !important;
 word-break: normal !important;
 overflow-wrap: break-word !important;
 text-wrap: balance !important;
}

/* H3 / sub-headings (más pequeños que h2) */
 .vwt-related-card-h {
 font-family: 'Poppins', sans-serif !important;
 font-size: clamp(1.05rem, 1.4vw, 1.3rem) !important;
 font-weight: 600 !important;
 letter-spacing: -.012em !important;
 line-height: 1.3 !important;
}

/* EM dentro de heros con fondo plano: wine en light, gold en dark */
 .cnt-hero-h em {
 font-weight: 700 !important;
 color: #6B1D2A !important;
}

/* Em en heros con imagen: gold siempre */

/* Em en h2: misma lógica */
html[data-theme="dark"] .intro-band-h em,
html[data-theme="dark"] .winery-content-h em,
html[data-theme="dark"] .winery-wines-h em,
html[data-theme="dark"] .cta-final-h em,
html[data-theme="dark"] .sec-h em {
 color: #AC3749 !important;
}

/* FIX: en .diff-left el fondo es wine (#6B1D2A), por lo que la regla global
 que pinta el <em> en wine lo hace invisible. Forzamos gold para legibilidad,
 tanto en light como en dark (siempre sobre fondo wine fijo). */

html[data-theme="dark"] .diff-left .sec-h em {
 color: #AC3749 !important;
}

/* VISIBILIDAD: heros con fondo plano (light/dark adaptive) */
 .cnt-hero-h,
.err-h1, .prv-h1 {
 color: #1A1816 !important;
}

/* VISIBILIDAD: heros con imagen — siempre blanco con shadow */

/* H-SUB del index — VISIBLE en mobile (era el bug original) */

/* Subtítulos de heros con imagen */

/* Subtítulos de heros con fondo plano */
 .cnt-hero-sub {
 color: #2C2926 !important;
 opacity: 1 !important;
 font-weight: 400 !important;
}
html[data-theme="dark"] .blog-hero-sub,
html[data-theme="dark"] .region-desc-txt,
html[data-theme="dark"] .cnt-hero-sub,
html[data-theme="dark"] .nos-hero-sub {
 color: rgba(245, 245, 245, 0.9) !important;
}

/* EYEBROWS / KICKERS */
 .vwt-related-kicker {
 font-family: 'Poppins', sans-serif !important;
 font-size: 0.72rem !important;
 font-weight: 500 !important;
 letter-spacing: 0.3em !important;
 text-transform: uppercase !important;
 font-style: normal !important;
 line-height: 1.4 !important;
 opacity: 1 !important;
}

/* Eyebrows en heros con imagen */

/* Eyebrows en heros plano: wine en light, gold en dark */
 .cnt-hero-eyebrow, .vwt-related-kicker {
 color: #6B1D2A !important;
}
html[data-theme="dark"] .blog-hero-eyebrow,
html[data-theme="dark"] .region-eyebrow,
html[data-theme="dark"] .cnt-hero-eyebrow,
html[data-theme="dark"] .nos-hero-eyebrow,
html[data-theme="dark"] .intro-band .kicker,
html[data-theme="dark"] .winery-content-kicker,
html[data-theme="dark"] .winery-wines-kicker,
html[data-theme="dark"] .cta-final-kicker,
html[data-theme="dark"] .vwt-related-kicker {
 color: #AC3749 !important;
}

/* BOTONES — siempre legibles */

/* btn-g dentro de heros con imagen: glassmorphism */

/* h-rule (línea separadora del hero index) */
html[data-theme="dark"] .h-rule {
 background: #F5F5F5 !important;
 opacity: 0.35 !important;
}

/* Body antialiasing Apple-level */
body {
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 text-rendering: optimizeLegibility;
}

/* ===== VITO WINE TOURS — FINAL OVERRIDES (NO EDITAR) ===== */
/* Heros: protagonistas (más grandes/gruesos que cualquier h2) */
/* Toda la web en Poppins. Light/Dark/Mobile/Desktop verificado. */

*, *::before, *::after,
html, body,
h1, h2, h3, h5,
p, span, div, a, em, strong, b, i,
ul, ol, li, button, input, textarea, select, label {
 font-family: 'Poppins', sans-serif !important;
 font-style: normal !important;
}

 .cnt-hero-h, .err-h1, .prv-h1 {
 font-family: 'Poppins', sans-serif !important;
 font-size: calc(clamp(2.6rem, 6vw, 5.2rem) !important * var(--k, 1));
 font-weight: 700 !important;
 letter-spacing: -.028em !important;
 line-height: 1.15 !important;
 font-style: normal !important;
 word-break: normal !important;
 overflow-wrap: break-word !important;
 text-wrap: balance !important;
 hyphens: manual !important;
 text-transform: none !important;
}

 .cnt-wa-h, .cnt-datos-h {
 font-family: 'Poppins', sans-serif !important;
 font-size: calc(clamp(1.5rem, 2.8vw, 2.2rem) !important * var(--k, 1));
 font-weight: 600 !important;
 letter-spacing: -.018em !important;
 line-height: 1.2 !important;
 font-style: normal !important;
 word-break: normal !important;
 overflow-wrap: break-word !important;
 text-wrap: balance !important;
}

 .cnt-hero-h em {
 font-family: 'Poppins', sans-serif !important;
 font-weight: 600 !important;
 font-style: normal !important;
}

/* VISIBILIDAD GARANTIZADA */
 .cnt-hero-h,
.err-h1, .prv-h1 {
 color: #1A1816 !important;
}
html[data-theme="dark"] .hero-h1,
html[data-theme="dark"] .region-h,
html[data-theme="dark"] .blog-hero-h,
html[data-theme="dark"] .cnt-hero-h,
html[data-theme="dark"] .nos-hero-h,
html[data-theme="dark"] .err-h1,
html[data-theme="dark"] .prv-h1 {
 color: #F5F5F5 !important;
}


.cnt-hero-h em {
 color: #6B1D2A !important;
}
html[data-theme="dark"] .hero-h1 em,
html[data-theme="dark"] .region-h em,
html[data-theme="dark"] .blog-hero-h em,
html[data-theme="dark"] .cnt-hero-h em,
html[data-theme="dark"] .nos-hero-h em {
 color: #AC3749 !important;
}
html[data-theme="dark"] .h-sub {
 color: rgba(245, 245, 245, 0.92) !important;
}
 .cnt-hero-sub {
 color: #2C2926 !important;
 opacity: 1 !important;
}
html[data-theme="dark"] .blog-hero-sub,
html[data-theme="dark"] .region-desc-txt,
html[data-theme="dark"] .cnt-hero-sub,
html[data-theme="dark"] .nos-hero-sub {
 color: rgba(245, 245, 245, 0.92) !important;
}
 .cnt-hero-eyebrow {
 color: #6B1D2A !important;
 font-weight: 500 !important;
 letter-spacing: 0.3em !important;
 text-transform: uppercase !important;
}
html[data-theme="dark"] .blog-hero-eyebrow,
html[data-theme="dark"] .region-eyebrow,
html[data-theme="dark"] .cnt-hero-eyebrow,
html[data-theme="dark"] .nos-hero-eyebrow {
 color: #AC3749 !important;
}
html[data-theme="dark"] .h-rule {
 background: #F5F5F5 !important; opacity: 0.4 !important;
}
html[data-theme="dark"] .btn-w {
 background: #AC3749 !important;
 color: #1A1816 !important;
}
html[data-theme="dark"] .btn-w:hover { background: #AC3749 !important; }
html[data-theme="dark"] .btn-g {
 color: #F5F5F5 !important;
 border-color: #F5F5F5 !important;
}
html[data-theme="dark"] .btn-g:hover {
 background: #F5F5F5 !important; color: #1A1816 !important;
}

body {
 -webkit-font-smoothing: antialiased;
 -moz-osx-font-smoothing: grayscale;
 text-rendering: optimizeLegibility;
}

/* ===== END VITO WINE TOURS FINAL OVERRIDES ===== */

/* ════════════════════════════════════════════════════════════════ */
/* FIXES FINALES — mobile hero index + CTA "te espera" */
/* ════════════════════════════════════════════════════════════════ */

/* ─── HERO INDEX EN MOBILE: texto SIEMPRE blanco sobre imagen ─── */
/* En desktop el hero tiene split (texto sobre fondo blanco). */
/* En mobile la imagen se solapa con el texto → texto blanco. */
@media (max-width: calc(1024px * var(--k, 1))) {
 /* Hero del index — el .hero (no .hero-luj, no .hero-am, etc.) */
 /* En dark mode mobile sigue blanco — ya estaba bien */
 html[data-theme="dark"] section.hero .hero-h1,
 html[data-theme="dark"] .hero > .hero-left .hero-h1 {
 color: #FFFFFF !important;
 }
 /* Asegurar que el texto está por encima de la imagen */
 /* Si la imagen del hero hace overlay sobre el texto, agregar gradient para legibilidad */
 .hero-right-img::before {
 content: '';
 position: absolute;
 inset: 0;
 background: linear-gradient(
 to bottom,
 rgba(0, 0, 0, 0.35) 0%,
 rgba(0, 0, 0, 0.55) 100%
 );
 z-index: 2;
 pointer-events: none;
 }
 /* btn-w sobre fondo oscuro mantiene su fondo wine */
 /* btn-g sobre fondo oscuro: agregar glassmorphism para legibilidad */
}

/* ─── CTA FINAL — "El Malbec te espera" sin quiebre visual ─── */
/* Antes: "El Malbec" weight 700 blanco + em "te espera." weight 600 gold = visualmente roto */
/* Ahora: ambos weight 700, em solo cambia color para destacar */

html[data-theme="dark"] 

/* En modo claro sobre fondo claro, el em va wine (más legible) */

/* Asegurar que el .cta-final-h tenga line-height compacto y se vea unificado */

/* ════════════════════════════════════════════════════════════════ */

/* ─── 1. CTA FINAL — título mucho más grande para llenar el bloque ─── */
/* Antes: clamp(1.6rem, 3vw, 2.5rem) = 26-40px (chico para tanto espacio) */
/* Ahora: clamp(2.2rem, 4.5vw, 4rem) = 35-64px (protagonista del bloque) */

/* También aumentar el sub del CTA proporcionalmente */

/* Kicker del CTA un poco más prominente también */

/* ─── 2. .otro-link "Descubrir →" — gold en dark mode ─── */
/* En light mode mantiene wine. En dark mode cambia a gold */
html[data-theme="dark"] .otro-link {
 color: #AC3749 !important;
}
html[data-theme="dark"] .otro-link span {
 color: #AC3749 !important;
}

/* ─── 3. .dato-icon — íconos de "Información práctica" gold en dark ─── */
/* Aplica a lujandecuyo, maipu, valledeuco y cualquier sección con esta clase */
html[data-theme="dark"] .dato-icon {
 color: #AC3749 !important;
 border-color: rgba(172, 55, 73, 0.3) !important;
}
html[data-theme="dark"] .dato-icon svg {
 stroke: #AC3749 !important;
 fill: none !important;
 color: #AC3749 !important;
}
html[data-theme="dark"] .dato-icon svg * {
 stroke: #AC3749 !important;
 color: #AC3749 !important;
}

/* También el background del ícono más sutil en dark */
html[data-theme="dark"] .dato-icon {
 background: rgba(172, 55, 73, 0.06) !important;
}

/* Si los íconos están en otras secciones similares (info-icon, datos-icon, etc.) */
html[data-theme="dark"] .info-icon,
html[data-theme="dark"] .datos-icon,
html[data-theme="dark"] .item-icon {
 color: #AC3749 !important;
}
html[data-theme="dark"] .info-icon svg,
html[data-theme="dark"] .datos-icon svg,
html[data-theme="dark"] .item-icon svg {
 stroke: #AC3749 !important;
}
html[data-theme="dark"] .info-icon svg *,
html[data-theme="dark"] .datos-icon svg *,
html[data-theme="dark"] .item-icon svg * {
 stroke: #AC3749 !important;
}
/* ════════════════════════════════════════════════════════════════ */

/* — Card contenedor — */
html[data-theme="dark"] .b-card {
 background: #14110E !important;
 border-color: rgba(255, 255, 255, 0.08) !important;
 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4),
 0 4px 16px rgba(0, 0, 0, 0.25) !important;
}

/* — Hover: lift + shadow más profunda — */
html[data-theme="dark"] .b-card:hover {
 background: #1A1714 !important;
 border-color: rgba(172, 55, 73, 0.25) !important;
 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.5),
 0 12px 32px rgba(0, 0, 0, 0.4),
 0 24px 48px rgba(172, 55, 73, 0.06) !important;
}

/* — Imagen: pega arriba sin gap, ratio fijo — */

/* — Overlay y hover label sobre imagen — */

/* — Body de la card — */

/* — Region eyebrow — */

/* — Meta como banda al pie con separador — */
html[data-theme="dark"] .b-meta {
 border-top-color: rgba(255, 255, 255, 0.08) !important;
}

/* — Mobile responsive: meta en 3 columnas más compacto — */

/* ════════════════════════════════════════════════════════════════ */
/* CARDS BODEGAS — estilo editorial minimalista, espaciadas */
/* ════════════════════════════════════════════════════════════════ */

/* — Grid: más espacio entre cards — */

/* — Card editorial con recuadro 1px — */
html[data-theme="dark"] .b-card {
 background: transparent !important;
 border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
html[data-theme="dark"] .b-card:hover {
 background: rgba(255, 255, 255, 0.02) !important;
 border-color: rgba(172, 55, 73, 0.25) !important;
}

/* — Imagen: editorial, height fija, sin radius — */

/* — Overlay y hover label sutiles — */

/* — Body con padding cómodo dentro del recuadro — */

/* — Region eyebrow — */
html[data-theme="dark"] .b-region {
 color: #AC3749 !important;
}

/* — Nombre de la bodega — */
html[data-theme="dark"] .b-name {
 color: #F5F5F5 !important;
}

/* — Tagline (descripción) — */
html[data-theme="dark"] .b-tagline {
 color: rgba(245, 245, 245, 0.7) !important;
}

/* — Meta — banda al pie con separador sutil — */
html[data-theme="dark"] .b-meta {
 border-top-color: rgba(255, 255, 255, 0.1) !important;
}
html[data-theme="dark"] .b-meta-lbl {
 color: rgba(245, 245, 245, 0.5) !important;
}
html[data-theme="dark"] .b-meta-val {
 color: #F5F5F5 !important;
}

/* ════════════════════════════════════════════════════════════════ */
/* CARDS BLOGS — mismo estilo editorial que bodegas (recuadro) */
/* ════════════════════════════════════════════════════════════════ */

/* — Grid: gap generoso (override del border container) — */

/* — Card editorial con recuadro 1px — */
html[data-theme="dark"] .blog-card {
 background: transparent !important;
 border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
html[data-theme="dark"] .blog-card:hover {
 background: rgba(255, 255, 255, 0.02) !important;
 border-color: rgba(172, 55, 73, 0.25) !important;
}

/* Override mobile responsive: quitar reglas de borders compartidos */
@media (max-width: 960px) {
 html[data-theme="dark"] .blog-card:nth-child(3n),
 html[data-theme="dark"] .blog-card:nth-child(2n) {
 border-right: 1px solid rgba(255, 255, 255, 0.1) !important;
 }
}
@media (max-width: 600px) {
 html[data-theme="dark"] .blog-card,
 html[data-theme="dark"] .blog-card:last-child {
 border: 1px solid rgba(255, 255, 255, 0.1) !important;
 }
}

/* — Imagen: pega contra los bordes superior/izquierdo/derecho — */

/* — Body con padding cómodo dentro del recuadro — */

/* — Categoría (eyebrow) — */
html[data-theme="dark"] .blog-card-cat {
 color: #AC3749 !important;
}

/* — Título del blog — */
html[data-theme="dark"] .blog-card-h {
 color: #F5F5F5 !important;
}

/* — Descripción — */
html[data-theme="dark"] .blog-card-desc {
 color: rgba(245, 245, 245, 0.7) !important;
}

/* — Link al final con separador sutil — */
html[data-theme="dark"] .blog-card-link {
 color: #AC3749 !important;
 border-top-color: rgba(255, 255, 255, 0.1) !important;
}
html[data-theme="dark"] .blog-card:hover .blog-card-link {
 color: #AC3749 !important;
}
/* ════════════════════════════════════════════════════════════════ */

/* ─── SECCIÓN MODALIDADES (cards de regiones/experiencias) ─── */
/* Estilos del pillar SEO scoped al wrapper .modalidades-inner (que solo tienen los pillars) */

/* Grid solo en pillars (donde la grid contiene .modalidad-card singular) */

/* — Card editorial estilo bodegas/blogs — */

/* Imagen */

/* Body */

/* ════════════════════════════════════════════════════════════════ */
/* NAVBAR 100% SÓLIDA — definitivo, sin transparencia */
/* ════════════════════════════════════════════════════════════════ */

/* TODOS los estados, TODOS los breakpoints, TODOS los temas */
#mainNav,
#mainNav.sc,
nav#mainNav,
nav#mainNav.sc {
 background: #FFFFFF !important;
 background-color: #FFFFFF !important;
 backdrop-filter: none !important;
 -webkit-backdrop-filter: none !important;
 z-index: 9999 !important;
 border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
 opacity: 1 !important;
}

html[data-theme="dark"] #mainNav,
html[data-theme="dark"] #mainNav.sc,
html[data-theme="dark"] nav#mainNav,
html[data-theme="dark"] nav#mainNav.sc {
 background: #0A0908 !important;
 background-color: #0A0908 !important;
 border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* Aplica también dentro de cualquier media query (mobile, touch, etc.) */
@media (max-width: calc(1024px * var(--k, 1))) {
 #mainNav, #mainNav.sc {
 background: #FFFFFF !important;
 background-color: #FFFFFF !important;
 backdrop-filter: none !important;
 -webkit-backdrop-filter: none !important;
 }

}

@media (max-width: 768px) {
 #mainNav, #mainNav.sc {
 background: #FFFFFF !important;
 background-color: #FFFFFF !important;
 backdrop-filter: none !important;
 -webkit-backdrop-filter: none !important;
 }

}

@media (hover: none) and (pointer: coarse) {
 #mainNav, #mainNav.sc {
 background: #FFFFFF !important;
 background-color: #FFFFFF !important;
 backdrop-filter: none !important;
 -webkit-backdrop-filter: none !important;
 }
 html[data-theme="dark"] #mainNav,
 html[data-theme="dark"] #mainNav.sc {
 background: #0A0908 !important;
 background-color: #0A0908 !important;
 }
}

/* navMega (dropdown bajo navbar) y mobileMenu siempre encima */
#navMega { z-index: 9998 !important; }
#mobileMenu { z-index: 10000 !important; }
/* ════════════════════════════════════════════════════════════════ */

/* Solo afecta pillars SEO (que tienen #regions y .modalidades-inner) */
html[data-theme="dark"] .modalidades-sec#regions {
 background: var(--bg) !important;
}

/* ════════════════════════════════════════════════════════════════ */
/* FIX: botón cerrar mobile menu siempre clickable */
/* ════════════════════════════════════════════════════════════════ */
#mobileMenu {
 z-index: 10000 !important;
}
#mobileMenuClose {
 position: relative !important;
 z-index: 10001 !important;
 cursor: pointer !important;
 pointer-events: auto !important;
}
#mobileMenuTop {
 position: relative !important;
 z-index: 10001 !important;
}

/* Asegurar que cuando el menú esté abierto, esté encima del navbar */
#mobileMenu.open {
 z-index: 10000 !important;
}

/* ════════════════════════════════════════════════════════════════ */
/* PILLARS SEO — CSS scopeado a #why y #regions */
/* NO afecta lujandecuyo/maipu/valledeuco (que usan #itinerario, */
/* #modalidades como ids distintos) */
/* ════════════════════════════════════════════════════════════════ */

/* ─── SECCIÓN ITINERARIO (pillar) — scopeado a id="why" ─── */
html[data-theme="dark"] .itinerario-sec#why .itinerario-h {
 color: #F5F5F5;
}
html[data-theme="dark"] .itinerario-sec#why .itinerario-h em {
 color: #AC3749;
}

/* Lista de items numerados (solo en pillar) */
html[data-theme="dark"] .itin-item {
 border-bottom-color: rgba(255, 255, 255, 0.08);
}
html[data-theme="dark"] .itin-item:first-child {
 border-top-color: rgba(255, 255, 255, 0.08);
}
html[data-theme="dark"] .itin-num {
 color: #AC3749;
}
html[data-theme="dark"] .itin-title {
 color: #F5F5F5;
}
html[data-theme="dark"] .itin-text {
 color: rgba(245, 245, 245, 0.72);
}

/* ─── SECCIÓN MODALIDADES (pillar) — scopeado a id="regions" ─── */
html[data-theme="dark"] .modalidades-sec#regions {
 background: var(--bg);
}

/* Cards (solo aparecen en pillar, .modalidad-card no existe en luján) */
html[data-theme="dark"] .modalidad-card {
 border-color: rgba(255, 255, 255, 0.1);
}
html[data-theme="dark"] .modalidad-card:hover {
 background: rgba(255, 255, 255, 0.02);
 border-color: rgba(172, 55, 73, 0.25);
}
html[data-theme="dark"] .modalidad-cat {
 color: #AC3749;
}
html[data-theme="dark"] .modalidad-h {
 color: #F5F5F5;
}
html[data-theme="dark"] .modalidad-p {
 color: rgba(245, 245, 245, 0.7);
}
html[data-theme="dark"] .modalidad-cta {
 color: #AC3749;
 border-top-color: rgba(255, 255, 255, 0.1);
}
html[data-theme="dark"] .modalidad-card:hover .modalidad-cta {
 color: #AC3749;
}

/* ─── FIXES SAFE: cosas que NO afectan páginas regionales ─── */

/* .otro-link gold en dark mode (afecta luján también pero el cambio es benign — solo color) */
html[data-theme="dark"] .otro-link,
html[data-theme="dark"] .otro-link span {
 color: #AC3749 !important;
}
html[data-theme="dark"] .otro-card:hover .otro-link,
html[data-theme="dark"] .otro-card:hover .otro-link span {
 color: #AC3749 !important;
}

/* .dato-icon gold en dark mode (afecta luján también pero es solo color, está OK) */
html[data-theme="dark"] .dato-icon {
 color: #AC3749 !important;
 border-color: rgba(172, 55, 73, 0.3) !important;
 background: rgba(172, 55, 73, 0.06) !important;
}
html[data-theme="dark"] .dato-icon svg,
html[data-theme="dark"] .dato-icon svg * {
 stroke: #AC3749 !important;
 color: #AC3749 !important;
}

/* ════════════════════════════════════════════════════════════════ */
/* FIX: texto descriptivo del bloque CTA final más grande */
/* Aplica a luján, maipú, valle de uco y todas las páginas con CTA */
/* ════════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════════ */
/* HERO RESPONSIVE — laptops (1024-1440px) sin cortes */
/* Garantiza que el título nunca se corte en pantallas intermedias */
/* ════════════════════════════════════════════════════════════════ */

/* SAFETY NET universal: word-wrap en TODOS los heros para evitar overflow */

.cnt-hero-h,
.err-h1, .prv-h1 {
 overflow-wrap: break-word;
 word-wrap: break-word;
 hyphens: auto;
 -webkit-hyphens: auto;
}

/* Laptops 1024px - 1440px (incluye 1366x768, 1440x900, 1280x800) */
@media (min-width: 1024px) and (max-width: calc(1440px * var(--k, 1))) {
 /* Hero luján/maipú/valle: reducir padding y font-size */
 
 /* Hero genérico (otras secciones): reducir font-size */
 
 .cnt-hero-h,
 .err-h1, .prv-h1 {
 font-size: calc(clamp(2rem, 4vw, 3.6rem) !important * var(--k, 1));
 line-height: 1.1 !important;
 }
 
 /* Hero subtitle también ajustado */
}

/* Notebooks específicas con altura limitada (768px) */

/* ════════════════════════════════════════════════════════════════ */
/* FIX: Preloader siempre encima del navbar mientras carga */
/* ════════════════════════════════════════════════════════════════ */
#loader {
 z-index: 100000 !important; /* Más alto que navbar (9999) y mobileMenu (10000) */
}
#loader.ldr-out {
 z-index: 100000 !important;
}

/* ════════════════════════════════════════════════════════════════ */
/* MAPBOX: ocultar cartel "Use 2 fingers" / "Use Ctrl+scroll" */
/* Mantiene el comportamiento cooperativo, solo sin el overlay */
/* ════════════════════════════════════════════════════════════════ */

/* Por si alguna versión de Mapbox usa otros nombres de clase */

/* === FIX HERO H1 - Anti-corte y sombra correcta === */
/* === FIN FIX HERO H1 === */

/* === FIX SIMETRÍA MOBILE EN HEROS === */
/* === FIN FIX SIMETRÍA MOBILE === */

/* ====================================================
 CTA GLOBAL - Bordeaux en ambos modos
 Identidad de marca consistente
==================================================== */

/* Línea decorativa dorada superior */

/* === Título principal (igual o más chico que hero) === */

/* Em destacado: dorado en AMBOS modos */

/* === Subtítulo === */

/* === Botones === */

/* Botón primario: BLANCO con texto bordeaux (alto contraste sobre fondo bordeaux) */

/* Botón secundario: outline crema */

/* === Trust elements centrados === */

/* ============================================
 RESPONSIVE — Tablet
============================================ */

/* ============================================
 RESPONSIVE — Mobile
============================================ */

/* ============================================
 FIN CTA GLOBAL
============================================ */

/* ====================================================================
 ITINERARIO + MODALIDADES - Modo claro (override de los colores oscuros)
 Mantiene estructura visual, cambia paleta para modo claro
==================================================================== */

/* === ITINERARIO en modo claro === */
html[data-theme="light"] .itinerario-sec {
 background: #FAF8F5 !important;
}
html[data-theme="light"] .itinerario-h {
 color: #1A1816 !important;
}
html[data-theme="light"] .itinerario-h em {
 color: #6B1D2A !important;
}
html[data-theme="light"] .itinerario-desc {
 color: rgba(26, 24, 22, 0.65) !important;
 border-left-color: rgba(172, 55, 73, 0.35) !important;
}
html[data-theme="light"] .itinerario-hdr {
 border-bottom-color: rgba(26, 24, 22, 0.1) !important;
}

/* Pasos en modo claro */
html[data-theme="light"] .paso {
 border-right-color: rgba(26, 24, 22, 0.08) !important;
}
html[data-theme="light"] .paso-h {
 color: #1A1816 !important;
}
html[data-theme="light"] .paso-p {
 color: rgba(26, 24, 22, 0.65) !important;
}
html[data-theme="light"] .paso-num-small {
 color: #6B1D2A !important;
}
html[data-theme="light"] .paso-tag {
 color: #6B1D2A !important;
 border-color: rgba(107, 29, 42, 0.3) !important;
}
html[data-theme="light"] .paso-rule {
 background: linear-gradient(to right, #AC3749, transparent) !important;
}

/* Timeline en modo claro */
html[data-theme="light"] .itin-timeline {
 background: rgba(172, 55, 73, 0.05) !important;
 border-bottom-color: rgba(26, 24, 22, 0.08) !important;
}
html[data-theme="light"] .itin-tl-labels span {
 color: rgba(26, 24, 22, 0.5) !important;
}
html[data-theme="light"] .itin-tl-line {
 background: linear-gradient(to right, rgba(172, 55, 73, 0.4), rgba(172, 55, 73, 0.15)) !important;
}

/* === MODALIDADES en modo claro === */
html[data-theme="light"] .modalidades-sec {
 background: #FFFFFF !important;
}
html[data-theme="light"] .modalidades-h {
 color: #1A1816 !important;
}
html[data-theme="light"] .modalidades-h em {
 color: #6B1D2A !important;
}
html[data-theme="light"] .modalidades-sub {
 color: rgba(26, 24, 22, 0.6) !important;
}
html[data-theme="light"] .modalidades-hdr {
 border-bottom-color: rgba(26, 24, 22, 0.08) !important;
}
html[data-theme="light"] .modalidades-grid {
 border-top-color: rgba(26, 24, 22, 0.08) !important;
}

/* Cards de modalidades en modo claro */
html[data-theme="light"] .modal-card {
 border-right-color: rgba(26, 24, 22, 0.08) !important;
 background: #FFFFFF !important;
}

/* Borde superior decorativo: ya iba dorado, mantenemos */

/* Botón principal dentro del card All Inclusive: blanco con texto bordeaux */

html[data-theme="light"] .modal-card::before {
 background: rgba(26, 24, 22, 0.1) !important;
}

html[data-theme="light"] .modal-badge {
 color: rgba(26, 24, 22, 0.5) !important;
}

html[data-theme="light"] .modal-h {
 color: #1A1816 !important;
}

html[data-theme="light"] .modal-rule {
 background: rgba(26, 24, 22, 0.18) !important;
}

html[data-theme="light"] .modal-p {
 color: rgba(26, 24, 22, 0.7) !important;
}
html[data-theme="light"] .modal-p strong {
 color: #1A1816 !important;
 font-weight: 600 !important;
}
html[data-theme="light"] .modal-disc {
 color: #6B1D2A !important;
}

/* Includes list en modo claro */
html[data-theme="light"] .modal-include {
 border-bottom-color: rgba(26, 24, 22, 0.06) !important;
}
html[data-theme="light"] .modal-include:first-child {
 border-top-color: rgba(26, 24, 22, 0.06) !important;
}
html[data-theme="light"] .modal-include-dot {
 background: rgba(26, 24, 22, 0.25) !important;
}

html[data-theme="light"] .modal-include-not .modal-include-dot {
 background: rgba(26, 24, 22, 0.12) !important;
}
html[data-theme="light"] .modal-include-name {
 color: #1A1816 !important;
}

html[data-theme="light"] .modal-include-not .modal-include-name {
 color: rgba(26, 24, 22, 0.4) !important;
}
html[data-theme="light"] .modal-include-text {
 color: rgba(26, 24, 22, 0.6) !important;
}

html[data-theme="light"] .modal-include-not .modal-include-text {
 color: rgba(26, 24, 22, 0.3) !important;
}

/* CTA labels y botones en modo claro */
html[data-theme="light"] .modal-cta-label {
 color: rgba(26, 24, 22, 0.5) !important;
}
html[data-theme="light"] .modal-cta-note {
 color: rgba(26, 24, 22, 0.55) !important;
}
html[data-theme="light"] .btn-modal-outline {
 color: rgba(26, 24, 22, 0.7) !important;
 border-color: rgba(26, 24, 22, 0.25) !important;
}
@media(hover:hover) {
 html[data-theme="light"] .btn-modal-outline:hover {
 border-color: #6B1D2A !important;
 color: #6B1D2A !important;
 }
}

/* Diff note (15% descuento) en modo claro */
html[data-theme="light"] .modal-diff-note {
 background: rgba(172, 55, 73, 0.08) !important;
 border-color: rgba(172, 55, 73, 0.25) !important;
}
html[data-theme="light"] .modal-diff-note-text {
 color: rgba(26, 24, 22, 0.7) !important;
}
html[data-theme="light"] .modal-diff-note-text strong {
 color: #6B1D2A !important;
}

/* Imagen del paso: en claro NO debe oscurecerse tanto */
html[data-theme="light"] .paso-img img {
 filter: brightness(0.95) saturate(1) !important;
}
html[data-theme="light"] .paso:hover .paso-img img {
 filter: brightness(1) !important;
}
html[data-theme="light"] .paso-img::after {
 background: linear-gradient(to bottom, transparent 30%, rgba(26, 24, 22, 0.35) 100%) !important;
}
html[data-theme="light"] .paso-img-num {
 background: rgba(255, 255, 255, 0.85) !important;
 color: #6B1D2A !important;
 border-color: rgba(107, 29, 42, 0.3) !important;
}

/* ====================================================================
 FIN OVERRIDES MODO CLARO
==================================================================== */

/* ====================================================================
 ALL INCLUSIVE - Card unificado (modo claro Y oscuro idénticos)
 Fondo bordeaux con texto blanco/crema/dorado SIEMPRE
==================================================================== */

/* Fondo bordeaux en AMBOS modos */

/* Badge: dorado claro */

/* Título "All Inclusive": BLANCO */

/* Línea decorativa: dorado */

/* Párrafo descripción: crema */

/* Strong/negritas: blanco */

/* "15% descuento" inline: dorado */

/* Bordes de la lista de includes */

/* Dots de includes: dorado */

/* Nombre del incluye: BLANCO */

/* Descripción del incluye: crema */

/* Labels del CTA row */

/* Caja "15% descuento de agencia" */

/* Borde superior decorativo: dorado a blanco */

/* Botón "Reservar ahora": fondo blanco con texto bordeaux */

/* ====================================================================
 FIN ALL INCLUSIVE UNIFICADO
==================================================================== */

/* ====================================================================
 CTA GLOBAL - Variantes sutiles por tour
==================================================================== */

/* MAIPÚ: gradient más cálido (toque crema/terracota) */

/* VALLE DE UCO: gradient más fresco (toque azulado/nocturno) */

/* ====================================================================
 FIN VARIANTES CTA
==================================================================== */

/* ====================================================================
 BOTONES PRIMARIOS EN MODO OSCURO - Color dorado
 Card All Inclusive y CTA Global
==================================================================== */

/* Botón "Reservar ahora" del card All Inclusive en modo oscuro */
html[data-theme="dark"] .modal-card.gold-card .btn-modal-gold {
 background: #AC3749 !important;
 color: #1A0A0E !important;
 border-color: #AC3749 !important;
}
@media(hover:hover) {
 html[data-theme="dark"] .modal-card.gold-card .btn-modal-gold:hover {
 background: #AC3749 !important;
 color: #1A0A0E !important;
 border-color: #AC3749 !important;
 transform: translateY(-2px);
 }
}

/* Botón "Reservar por WhatsApp" del CTA Global en modo oscuro */
html[data-theme="dark"] .cta-global-btn-primary {
 background: #AC3749 !important;
 color: #1A0A0E !important;
 border-color: #AC3749 !important;
}
html[data-theme="dark"] .cta-global-btn-primary:hover {
 background: #AC3749 !important;
 color: #1A0A0E !important;
 border-color: #AC3749 !important;
 transform: translateY(-2px);
 box-shadow: 0 12px 28px rgba(0, 0, 0, 0.35);
}

/* ====================================================================
 FIN BOTONES MODO OSCURO
==================================================================== */

/* ====================================================================
 OVERRIDES MODO CLARO - Todos los tours restantes
 Bloques que estaban hardcoded oscuros, ahora se adaptan al modo claro
==================================================================== */

/* ====== ALTA MONTAÑA ====== */

/* PARADAS-SEC (las 4 paradas: Potrerillos, Uspallata, etc) */
html[data-theme="light"] .paradas-sec {
 background: #FAF8F5 !important;
}
html[data-theme="light"] .paradas-h {
 color: #1A1816 !important;
}
html[data-theme="light"] .paradas-h em {
 color: #6B1D2A !important;
}
html[data-theme="light"] .paradas-desc {
 color: rgba(26, 24, 22, 0.65) !important;
}
html[data-theme="light"] .parada-h {
 color: #1A1816 !important;
}
html[data-theme="light"] .parada-p {
 color: rgba(26, 24, 22, 0.7) !important;
}
html[data-theme="light"] .paradas-hdr {
 border-bottom-color: rgba(26, 24, 22, 0.08) !important;
}
html[data-theme="light"] .parada {
 border-color: rgba(26, 24, 22, 0.08) !important;
}
html[data-theme="light"] .parada-img img {
 filter: brightness(0.95) saturate(1) !important;
}
html[data-theme="light"] .parada-img::after {
 background: linear-gradient(to bottom, transparent 30%, rgba(26, 24, 22, 0.35) 100%) !important;
}

/* PTL labels (puntos de la ruta) */
html[data-theme="light"] .ptl-lbl {
 color: rgba(26, 24, 22, 0.55) !important;
}

/* INCLUYE-SEC (qué incluye el tour) */
html[data-theme="light"] .incluye-sec {
 background: #FFFFFF !important;
}
html[data-theme="light"] .incluye-h {
 color: #1A1816 !important;
}
html[data-theme="light"] .incluye-h em {
 color: #6B1D2A !important;
}
html[data-theme="light"] .incluye-sub {
 color: rgba(26, 24, 22, 0.65) !important;
}
html[data-theme="light"] .inc-p {
 color: rgba(26, 24, 22, 0.7) !important;
}

/* REC-CARD (cards de recomendaciones) */
html[data-theme="light"] .rec-card-h {
 color: #1A1816 !important;
}
html[data-theme="light"] .rec-card-p {
 color: rgba(26, 24, 22, 0.7) !important;
}

/* CTA-P (textos de CTA viejos) */
html[data-theme="light"] .cta-p {
 color: rgba(26, 24, 22, 0.7) !important;
}

/* ====== 4x4 ====== */

html[data-theme="light"] .b-hover-label {
 color: #1A1816 !important;
}

/* ====== BLENDING EXPERIENCE ====== */

html[data-theme="light"] .bl-var-sec {
 background: #FAF8F5 !important;
}
html[data-theme="light"] .bl-var-h {
 color: #1A1816 !important;
}
html[data-theme="light"] .bl-var-h em {
 color: #6B1D2A !important;
}
html[data-theme="light"] .bl-var-sub {
 color: rgba(26, 24, 22, 0.65) !important;
}
html[data-theme="light"] .bl-var-card {
 background: #FFFFFF !important;
 border-color: rgba(26, 24, 22, 0.08) !important;
}
html[data-theme="light"] .bl-var-card-h {
 color: #1A1816 !important;
}
html[data-theme="light"] .bl-var-card-desc {
 color: rgba(26, 24, 22, 0.7) !important;
}

/* BL-DIF (diferencial blending) */
html[data-theme="light"] .bl-dif-h {
 color: #1A1816 !important;
}
html[data-theme="light"] .bl-dif-h em {
 color: #6B1D2A !important;
}
html[data-theme="light"] .bl-dif-col-title {
 color: #1A1816 !important;
}
html[data-theme="light"] .bl-dif-col-p {
 color: rgba(26, 24, 22, 0.7) !important;
}

/* ====== CITY TOUR ====== */

html[data-theme="light"] .ct-stat-l {
 color: rgba(26, 24, 22, 0.55) !important;
}
html[data-theme="light"] .ct-scroll-cue {
 color: rgba(26, 24, 22, 0.5) !important;
}

/* ====== DESPEDIDA ====== */

html[data-theme="light"] .desp-stat-l {
 color: rgba(26, 24, 22, 0.55) !important;
}
html[data-theme="light"] .desp-diff-sec {
 background: #FAF8F5 !important;
}
html[data-theme="light"] .desp-diff-h {
 color: #1A1816 !important;
}
html[data-theme="light"] .desp-diff-h em {
 color: #6B1D2A !important;
}
html[data-theme="light"] .desp-diff-item-h {
 color: #1A1816 !important;
}
html[data-theme="light"] .desp-diff-item-p {
 color: rgba(26, 24, 22, 0.7) !important;
}

/* ====== EVENTOS ====== */

html[data-theme="light"] .ev-foto-caption-num {
 color: rgba(26, 24, 22, 0.6) !important;
}

/* ====================================================================
 FIN OVERRIDES TOURS RESTANTES
==================================================================== */

/* ====================================================================
 BOTONES CTA dentro de .dif-sec (4x4 Experience)
 Mismo estilo que CTA Global - bordeaux + blanco/dorado
==================================================================== */

/* Primario: BLANCO con texto bordeaux (modo claro) */

/* Primario en modo OSCURO: dorado */
html[data-theme="dark"] .dif-cta-btn-primary {
 background: #AC3749 !important;
 color: #1A0A0E !important;
 border-color: #AC3749 !important;
}

html[data-theme="dark"] .dif-cta-btn-primary:hover {
 background: #AC3749 !important;
 color: #1A0A0E !important;
 border-color: #AC3749 !important;
}

/* Secundario: outline crema (mismo en ambos modos) */

/* Responsive mobile */

/* ==================================================================== */

/* ====================================================================
 FIX BLENDING - bl-dif-sec en modo claro
==================================================================== */

html[data-theme="light"] .bl-dif-sec {
 background: linear-gradient(168deg, #FAF8F5 0%, #F5F0E8 35%, #F0EAE0 65%, #FAF8F5 100%) !important;
}

html[data-theme="light"] .bl-dif-col {
 border-right-color: rgba(26, 24, 22, 0.1) !important;
}

html[data-theme="light"] .bl-dif-col:last-child {
 border-right: none !important;
}

html[data-theme="light"] .bl-dif-sec .kicker {
 color: rgba(107, 29, 42, 0.7) !important;
}

html[data-theme="light"] .bl-dif-col-num {
 color: #6B1D2A !important;
}

/* También el separador / línea entre número y título si existe */
html[data-theme="light"] .bl-dif-col-rule {
 background: rgba(172, 55, 73, 0.6) !important;
}

/* ====================================================================
 FIN FIX BLENDING
==================================================================== */

/* ====================================================================
 FIX ALTA MONTAÑA - .modalidades-am en modo claro
 "El tour - Traslado privado & guía experto"
==================================================================== */

/* Fondo: gradient claro */
html[data-theme="light"] .modalidades-am {
 background: linear-gradient(160deg, #FAF8F5 0%, #F5F0E8 30%, #F0EAE0 60%, #FAF8F5 100%) !important;
}

html[data-theme="light"] .modalidades-am::before {
 background: radial-gradient(ellipse, rgba(172, 55, 73,.12) 0%, transparent 70%) !important;
}

/* Header de la sección */
html[data-theme="light"] .modalidades-am-h {
 color: #1A1816 !important;
}
html[data-theme="light"] .modalidades-am-h em {
 color: #6B1D2A !important;
}
html[data-theme="light"] .modalidades-am-sub {
 color: rgba(26, 24, 22, 0.7) !important;
}
html[data-theme="light"] .modalidades-am-hdr .kicker {
 color: rgba(107, 29, 42, 0.7) !important;
}

/* Card de modalidad única */
html[data-theme="light"] .modal-am-card {
 background: #FFFFFF !important;
 border-color: rgba(26, 24, 22, 0.08) !important;
}

/* Header del card */
html[data-theme="light"] .modal-am-col-hdr {
 border-bottom-color: rgba(26, 24, 22, 0.08) !important;
}

/* Badge */
html[data-theme="light"] .modal-am-badge {
 color: rgba(26, 24, 22, 0.5) !important;
}
html[data-theme="light"] .modal-am-badge-gold {
 color: #6B1D2A !important;
}

/* Título de la modalidad */
html[data-theme="light"] .modal-am-h,
html[data-theme="light"] .modal-am-h-lg {
 color: #1A1816 !important;
}

/* Regla decorativa */
html[data-theme="light"] .modal-am-rule {
 background: rgba(26, 24, 22, 0.15) !important;
}

/* Párrafo principal */
html[data-theme="light"] .modal-am-p,
html[data-theme="light"] .modal-am-p-mt {
 color: rgba(26, 24, 22, 0.7) !important;
}

/* Strong dentro del párrafo */
html[data-theme="light"] .modal-am-p strong,
html[data-theme="light"] .modal-am-p-mt strong {
 color: #1A1816 !important;
}

/* Lista de incluidos */
html[data-theme="light"] .modal-am-item {
 border-bottom-color: rgba(26, 24, 22, 0.06) !important;
}
html[data-theme="light"] .modal-am-list .modal-am-item:first-child {
 border-top-color: rgba(26, 24, 22, 0.06) !important;
}

/* Dots de items incluidos */
html[data-theme="light"] .modal-am-dot {
 background: #AC3749 !important;
}

/* Nombre del item */
html[data-theme="light"] .modal-am-item-name {
 color: #1A1816 !important;
}

/* Descripción del item */
html[data-theme="light"] .modal-am-item-desc {
 color: rgba(26, 24, 22, 0.6) !important;
}

/* Items "no incluido" (tachados) */
html[data-theme="light"] .modal-am-item-not .modal-am-item-name {
 color: rgba(26, 24, 22, 0.4) !important;
}
html[data-theme="light"] .modal-am-item-not .modal-am-item-desc {
 color: rgba(26, 24, 22, 0.35) !important;
}
html[data-theme="light"] .modal-am-item-not .modal-am-dot {
 background: rgba(26, 24, 22, 0.15) !important;
}

/* CTA labels */
html[data-theme="light"] .modal-am-cta-label {
 color: rgba(26, 24, 22, 0.5) !important;
}
html[data-theme="light"] .modal-am-cta-note {
 color: rgba(26, 24, 22, 0.55) !important;
}

/* Promo / disc */
html[data-theme="light"] .modal-am-disc {
 color: #6B1D2A !important;
}
html[data-theme="light"] .modal-am-promo {
 background: rgba(172, 55, 73, 0.1) !important;
 border-color: rgba(172, 55, 73, 0.3) !important;
}
html[data-theme="light"] .modal-am-promo-text {
 color: rgba(26, 24, 22, 0.7) !important;
}
html[data-theme="light"] .modal-am-promo-text strong {
 color: #6B1D2A !important;
}

/* Botón outline del header (Consultá precio y disponibilidad) */
html[data-theme="light"] .btn-modal-am {
 color: rgba(26, 24, 22, 0.7) !important;
 border-color: rgba(26, 24, 22, 0.25) !important;
}
@media(hover:hover) {
 html[data-theme="light"] .btn-modal-am:hover {
 border-color: #6B1D2A !important;
 color: #6B1D2A !important;
 }
}

/* Separadores */
html[data-theme="light"] .modal-am-cta-spaced {
 border-top-color: rgba(26, 24, 22, 0.08) !important;
}

/* ====================================================================
 FIN FIX ALTA MONTAÑA
==================================================================== */

/* ====================================================================
 FIX ADICIONAL ALTA MONTAÑA - líneas doradas -> bordeaux en modo claro
==================================================================== */

/* Border del card: dorado -> bordeaux suave */
html[data-theme="light"] .modal-am-card {
 background: #FFFFFF !important;
 border-color: rgba(107, 29, 42, 0.18) !important;
}

/* Border-left del subtítulo: dorado -> bordeaux */
html[data-theme="light"] .modalidades-am-sub {
 border-left-color: rgba(107, 29, 42, 0.3) !important;
}

/* Separadores entre items: si tienen borde -> bordeaux */
html[data-theme="light"] .modal-am-item {
 border-bottom-color: rgba(107, 29, 42, 0.08) !important;
}

/* Listas */
html[data-theme="light"] .modal-am-list .modal-am-item:first-child {
 border-top-color: rgba(107, 29, 42, 0.08) !important;
}

/* Borde inferior del header del card */
html[data-theme="light"] .modal-am-col-hdr {
 border-bottom-color: rgba(107, 29, 42, 0.12) !important;
}

/* Regla decorativa: bordeaux */
html[data-theme="light"] .modal-am-rule {
 background: #6B1D2A !important;
 opacity: 0.4 !important;
}

/* Dots: bordeaux (más visible sobre blanco) */
html[data-theme="light"] .modal-am-dot {
 background: #6B1D2A !important;
}

/* Borde del modal-am-cta-spaced: usaba dorado */
html[data-theme="light"] .modal-am-cta-spaced {
 border-top-color: rgba(107, 29, 42, 0.12) !important;
}

/* Promo box: bordes y backgrounds bordeaux suaves */
html[data-theme="light"] .modal-am-promo {
 background: rgba(107, 29, 42, 0.05) !important;
 border-color: rgba(107, 29, 42, 0.2) !important;
}

/* hover del card */
@media(hover:hover) {
 html[data-theme="light"] .modal-am-card:hover {
 background: #FAF8F5 !important;
 border-color: rgba(107, 29, 42, 0.35) !important;
 }
}

/* ====================================================================
 FIN FIX ADICIONAL
==================================================================== */

/* ====================================================================
 FIX PARADAS Alta Montaña - Mobile
 En mobile: imagen visible, sin overlay oscuro (texto va abajo)
==================================================================== */

@media (max-width: 768px) {
 /* Quitar el filter oscuro de las imágenes en mobile */
 
 /* Quitar el overlay oscuro (gradient negro) - no se necesita en mobile */
 
 /* El número decorativo grande que estaba sobre la imagen: ajustar */
 
 /* Badge de altitud: asegurar buena visibilidad */
}

/* Modo claro mobile - aplicar también */
@media (max-width: 768px) {
 html[data-theme="light"] .parada-img img {
 filter: brightness(1) saturate(1) !important;
 }
 html[data-theme="light"] .parada-img::after {
 display: none !important;
 }
 html[data-theme="light"] .parada-body {
 background: #FAF8F5 !important;
 }
 html[data-theme="light"] .parada-img-num {
 color: rgba(255, 255, 255, 0.9) !important;
 }
}

/* ====================================================================
 FIN FIX PARADAS MOBILE
==================================================================== */

/* ====================================================================
 HERO SOCIAL PROOF STRIP — ⭐⭐⭐⭐⭐ + 🏆
 Reemplaza .h-counts / .h-counts-mobile en el HERO de los index.
 Soporta: desktop / mobile, light / dark mode. Colores via CSS vars.
==================================================================== */

/* Wrapper que agrupa los CTAs + el strip.
 width: fit-content hace que el wrapper tome el ancho de su hijo más ancho,
 que es .h-btns (la fila de botones). Así el strip puede usar width:100%
 y va a medir EXACTAMENTE lo mismo que la fila de CTAs. */

/* DARK MODE — texto claro, gold un tono más cálido */
html[data-theme="dark"] .hero-proof { color: #F5F5F5; }
html[data-theme="dark"] .hero-proof-stars svg,
html[data-theme="dark"] .hero-proof-award svg { fill: #AC3749; }
html[data-theme="dark"] .hero-proof-award { color: #F5F5F5; }
html[data-theme="dark"] .hero-proof-award-years { color: #AC3749; }
html[data-theme="dark"] .hero-proof-divider { background: rgba(172, 55, 73, 0.50); }

/* TABLET */

/* MOBILE — el .hero-left es transparente sobre la imagen del hero (light Y dark).
 Por eso forzamos texto BLANCO siempre y un gold cálido para los íconos.
 Coincide con .hero-h1 que usa #F0EDE8 en mobile. */
@media (max-width: 768px) { /* sin hover en mobile */
}

/* MOBILE MUY ANGOSTO */
/* ====================================================================
 FIN HERO SOCIAL PROOF STRIP
==================================================================== */

/* ====================================================================
 NOSOTROS - SECCIÓN HISTORIA (origen del equipo)
==================================================================== */
/* ====================================================================
 FIN NOSOTROS HISTORIA
==================================================================== */

/* ====================================================================
 DESACTIVAR ZOOM INFINITO DE HEROES EN MOBILE (≤768px)
 El zoom infinito (heroZoom 30s alternate) se ve invasivo en pantallas chicas
 cuando el usuario scrollea. Solo se mantiene en desktop (efecto cinematográfico).
 Cubre los 9 hero containers de páginas internas.
==================================================================== */
/* ==================================================================== */

/* ─── Alineación H1 hero index con borde izquierdo de los botones (solo desktop) ─── */
/* ==================================================================== */

/* ── Blog: Tour relacionado (CTA específico antes del WhatsApp) ── */

/* Dark mode override */
.dark-theme .blog-related-tour,
[data-theme="dark"] .blog-related-tour {
 background: linear-gradient(135deg, rgba(172, 55, 73,0.06) 0%, rgba(107,29,42,0.08) 100%);
 border-color: rgba(172, 55, 73,0.2);
 border-left-color: #AC3749;
}
.dark-theme .blog-related-tour:hover,
[data-theme="dark"] .blog-related-tour:hover {
 border-color: rgba(172, 55, 73,0.4);
}
.dark-theme .blog-related-tour-title,
[data-theme="dark"] .blog-related-tour-title { color: #AC3749; }
.dark-theme .blog-related-tour-arrow,
[data-theme="dark"] .blog-related-tour-arrow { color: #AC3749; }
.dark-theme .blog-related-tour-kicker,
[data-theme="dark"] .blog-related-tour-kicker { color: #AC3749; }

/* Mobile */

/* ─────────────────────────────────────────────────────────────────
 FIX file:// — loader fallback
 ─────────────────────────────────────────────────────────────────
 Permite que la web se vea correctamente cuando se abre con doble click
 (protocolo file://) además de cuando se sirve desde Hostinger.
 
 El loader queda visible por defecto, y a los 4 segundos se desvanece por
 pura CSS animation incluso si el JS no llega a ejecutarse (caso file://).
 
 En Hostinger, el JS removerá la clase .loading mucho antes (típicamente
 1.8-2.4 seg), por lo que este fallback nunca llega a activarse en producción.
─────────────────────────────────────────────────────────────────── */
@keyframes vwt-loader-failsafe-hide {
 0%, 70% { opacity: 1; visibility: visible; pointer-events: auto; }
 100% { opacity: 0; visibility: hidden; pointer-events: none; }
}

html.loading #loader {
 animation: vwt-loader-failsafe-hide 5s ease-in-out forwards;
}

/* Asegurar que el contenido detrás del loader es renderizable y visible
 aunque el loader esté presente. Esto evita el flash de pantalla negra. */
html.loading body {
 /* mantener bloqueo de scroll original pero permitir paint del contenido */
 overflow: hidden;
 height: 100%;
}

/* Failsafe extra: a los 5s, forzar visibilidad del body sin importar nada */
@keyframes vwt-body-failsafe-show {
 to { overflow: visible !important; height: auto !important; }
}
html.loading body {
 animation: vwt-body-failsafe-show 0s ease-in-out 5.2s forwards;
}

/* ════════════════════════════════════════════════════════════
 === HERO REDISEÑADO — agregado al final, sin tocar nada ===
════════════════════════════════════════════════════════════ */

/* Kicker */

/* Stats */

/* Chips */

[data-theme="dark"] .hero-chip {
 background: rgba(255,255,255,0.05);
 border-color: rgba(255,255,255,0.1);
}

[data-theme="dark"] .hero-chip:hover {
 box-shadow: 0 8px 22px rgba(172, 55, 73,0.18);
}

/* CTAs nuevos */

[data-theme="dark"] .hero-cta-mail {
 color: #0A0908;
 box-shadow: 0 4px 18px rgba(172, 55, 73,0.35);
}

[data-theme="dark"] .hero-cta-mail:hover {
 box-shadow: 0 8px 26px rgba(172, 55, 73,0.55);
}

/* Línea separadora */

/* Trust block */

/* @media queries del hero rediseñado */

@media (max-width: 768px) {
 /* Hero mobile: calc(100 * var(--1vh)) completo */
 .hero {
 display: block !important;
 position: relative;
 height: calc(100 * var(--1vh)) !important;
 height: calc(100 * var(--1vh)) !important;
 min-height: calc(100 * var(--1vh)) !important;
 min-height: calc(100 * var(--1vh)) !important;
 padding-top: 0 !important;
 overflow: hidden;
 }

 .hero-right-img {
 position: absolute !important;
 inset: 0;
 height: 100% !important;
 max-height: none !important;
 min-height: 0 !important;
 z-index: 0;
 }
 .hero-right-img img {
 position: absolute;
 inset: 0;
 width: 100%; height: 100%;
 object-fit: cover;
 object-position: center 30%;
 }
 /* Overlay del sitio */
 .hero-right-img::after {
 content: '';
 position: absolute; inset: 0;
 background: var(--hero-ovl-mob);
 z-index: 1;
 pointer-events: none;
 }

 /* hero-left sobre imagen, centrado */

 /* TEXTOS: base BLANCO, diferenciales DORADO SIEMPRE */

 /* Chips ocultos en mobile */
}

@media (hover: none) and (pointer: coarse) {
 [data-theme="dark"] .hero-cta-mail:hover {
 box-shadow: 0 4px 18px rgba(172, 55, 73,0.35) !important;
 }
}

/* === Fix menú TOURS para iPad === */
@media (max-width: 900px) {
 .nav-mega { display: none !important; }
}
@media (min-width: 901px) {
 /* iPad landscape (1024) y notebooks: mega menu sí funciona */
 .nav-mega.nav-mega-open { display: block !important; }
}

/* ════════════════════════════════════════════════════════════
 === FIX: Hero spacing uniforme + Marquee pegado a Tours ===
════════════════════════════════════════════════════════════ */

/* HERO: gap uniforme entre TODOS los elementos del hero-left */

/* Resetear los margins individuales de los hijos para que el gap sea LA distancia */

/* MARQUEE → siguiente sección: SIN espacio entre ellos */
.mq-strip {
 margin: 0 !important;
 padding-bottom: .55rem !important;
}

.mq-strip + section,
.mq-strip + section#tours,
.mq-strip + section .exp-block:first-child,
section#tours {
 margin-top: 0 !important;
 padding-top: 0 !important;
}

/* Asegurar que .hero termine pegado al marquee */
section.hero + .mq-strip {
 margin-top: 0 !important;
}

/* ════════════════════════════════════════════════════════════
 === FIX: Hero responsive + alineación contextual ===
 Desktop: alineado IZQUIERDA
 Mobile: alineado CENTRO
 iPhone SE: tamaños reducidos
════════════════════════════════════════════════════════════ */

/* DESKTOP/TABLET (>768px): alineado a la izquierda */

/* MOBILE (≤768px): TODO CENTRADO */
@media (max-width: 768px) {
 
 /* La línea separadora centrada */
 
 /* Stats: distribuidos al centro */
 
 /* Chips: centrados con wrap */
 
 /* CTAs: centrados, columna en mobile chico, row en mobile grande */
 
 /* Trust centrado */
}

/* iPhone SE y similares (≤375px): tamaños reducidos para que entre todo */

/* Pantallas ULTRA chicas (≤320px - iPhone SE 1st gen) */

/* ════════════════════════════════════════════════════════════
 === RESPONSIVE ===
════════════════════════════════════════════════════════════ */

/* Tablet */

/* Mobile — CENTRADO */

/* iPhone SE (≤375px) */

/* iPhone SE 1st gen (≤320px) */

/* ───── Accesibilidad ───── */

/* ════════════════════════════════════════════════════════════
 === HEROS DE TOUR: contenido centrado verticalmente ===
 El texto estaba al fondo (flex-end), lo subo al centro
 para que coincida con la posición del hero del INDEX.
════════════════════════════════════════════════════════════ */

/* En mobile mantener el centro */

/* Asegurar que el span hero-h1-accent funcione dentro de los H1 de los heros de tour */

/* ════════════════════════════════════════════════════════════
 === HEROS DE TOUR: alineación uniforme izquierda ===
 Quita el padding-left:0.25em que estaba desplazando los H1.
 Todo (kicker, h1, rule, sub, btns) empieza en la misma línea.
════════════════════════════════════════════════════════════ */

/* Forzar TODOS los H1 de tour a alineación izquierda sin padding */
@media (min-width: 769px) {
 
 /* También el span accent no debe tener margen/padding */
 
 /* Asegurar que todo el content del hero esté alineado a la izquierda */
 
 /* Eyebrow, rule, sub, btns - todos sin margin-left */
}

/* === Link "Ver el recorrido" subrayado debajo de los botones === */

/* Mobile: link centrado */
/* ════════════════════════════════════════════════════════════════
 BOTONES FLOTANTES — visibles sólo tras hacer scroll (mobile)
 El JS (main.js) toggle la clase body.scrolled cuando scrollY > 80.
 En desktop los botones se comportan normalmente.
 ════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
 .wa-btn,
 .ai-fab {
 opacity: 0;
 pointer-events: none;
 transform: translateY(12px);
 transition: opacity .35s ease, transform .35s ease;
 }
 body.scrolled .wa-btn,
 body.scrolled .ai-fab {
 opacity: 1;
 pointer-events: auto;
 transform: translateY(0);
 }
}

/* ════════════════════════════════════════════════════════════════
 MOBILE — NAVBAR TRANSPARENTE → SÓLIDA AL SCROLL
 El JS toggle la clase .sc en #mainNav cuando scrollY > 1.
 Solo aplica ≤ 768px. Anula la regla "NAVBAR 100% SÓLIDA" previa.
 ════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
 /* Estado inicial: transparente sobre el hero.
 Incluye selectores dark para ganar specificity contra
 html[data-theme="dark"] #mainNav { background: #0A0908 !important } */
 #mainNav,
 nav#mainNav,
 html[data-theme="dark"] #mainNav,
 html[data-theme="dark"] nav#mainNav,
 body.dark #mainNav,
 body.dark nav#mainNav {
 background: transparent !important;
 background-color: transparent !important;
 border-bottom-color: transparent !important;
 border-bottom: 1px solid transparent !important;
 box-shadow: none !important;
 backdrop-filter: none !important;
 -webkit-backdrop-filter: none !important;
 transition: background-color .3s ease, border-color .3s ease, box-shadow .3s ease !important;
 }

 /* Al hacer scroll: sólido con borde sutil — light mode */
 #mainNav.sc,
 nav#mainNav.sc {
 background: #FFFFFF !important;
 background-color: #FFFFFF !important;
 border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
 box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04) !important;
 }
 /* Dark mode scrolled: sólido oscuro */
 html[data-theme="dark"] #mainNav.sc,
 html[data-theme="dark"] nav#mainNav.sc,
 body.dark #mainNav.sc {
 background: #0A0908 !important;
 background-color: #0A0908 !important;
 border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
 box-shadow: 0 1px 0 rgba(255, 255, 255, 0.04) !important;
 }

 /* Sobre la imagen del hero (navbar transparente) usar la versión
 "dark" del logo (más liviana / clara) para que se vea bien.
 Aplica en ambos temas. */
 #mainNav:not(.sc) #nav-logo-light,
 html[data-theme="dark"] #mainNav:not(.sc) #nav-logo-light,
 body.dark #mainNav:not(.sc) #nav-logo-light { display: none !important; }

 #mainNav:not(.sc) #nav-logo-dark,
 html[data-theme="dark"] #mainNav:not(.sc) #nav-logo-dark,
 body.dark #mainNav:not(.sc) #nav-logo-dark { display: block !important; }

 /* Burger blanco sobre el hero (ambos temas) */
 #mainNav:not(.sc) .nav-burger span,
 html[data-theme="dark"] #mainNav:not(.sc) .nav-burger span,
 body.dark #mainNav:not(.sc) .nav-burger span {
 background: #FFFFFF !important;
 transition: background-color .3s ease;
 }
}

/* ════════════════════════════════════════════════════════════════
 MOBILE — HERO A PANTALLA COMPLETA
 calc(100 * var(--1vh)) = dynamic viewport height: se adapta al URL bar de iOS.
 Padding superior reserva espacio para la navbar transparente.
 ════════════════════════════════════════════════════════════════ */
@media (max-width: 768px) {
 .hero {
 height: calc(100 * var(--1vh)) !important; /* fallback navegadores viejos */
 height: calc(100 * var(--1vh)) !important; /* dinámico — Safari 15.4+ / Chrome 108+ */
 min-height: calc(100 * var(--1vh)) !important;
 min-height: calc(100 * var(--1vh)) !important;
 max-height: calc(100 * var(--1vh));
 }

 /* El contenido respeta el espacio de la navbar arriba y safe-area abajo.
 Como la navbar es transparente, la imagen sigue por debajo de ella —
 pero el texto NO queda tapado. */
}

/* Pantallas mobile chicas (iPhone SE / 13 mini) — compactar más */

/* ════════════════════════════════════════════════════════════════
 TL;DR / RESPUESTA RÁPIDA — bloque citable por motores de IA (GEO)
 Resumen directo al inicio del artículo. Formato que ChatGPT/
 Perplexity/Gemini extraen y citan.
 ════════════════════════════════════════════════════════════════ */
.vwt-tldr {
 border: 1px solid var(--line);
 border-left: 3px solid var(--accent);
 background: rgba(0,0,0,.02);
 border-radius: 10px;
 padding: 1.1rem 1.35rem;
 margin: 1.6rem 0 2rem;
}
.vwt-tldr-label {
 display: block;
 font-size: .72rem;
 font-weight: 600;
 letter-spacing: .09em;
 text-transform: uppercase;
 color: var(--accent);
 margin-bottom: .45rem;
}
.vwt-tldr p { margin: 0; font-size: .99rem; line-height: 1.6; }
html[data-theme="dark"] .vwt-tldr { background: rgba(255,255,255,.03); }

/* ═══════════════════════════════════════════════════════════════
 ACCESIBILIDAD — Enlace de salto al contenido principal
 Invisible en pantalla; solo aparece al navegar con el teclado
 (primera pulsacion de Tab). No altera el diseno visual.
═══════════════════════════════════════════════════════════════ */
.skip-link {
 position: absolute;
 left: -9999px;
 top: 0;
 z-index: 100000;
 padding: .8rem 1.4rem;
 background: #6B1D2A;
 color: #fff;
 font-family: 'Poppins', system-ui, sans-serif;
 font-size: .95rem;
 font-weight: 500;
 line-height: 1;
 text-decoration: none;
 border-radius: 0 0 6px 0;
 box-shadow: 0 4px 18px rgba(0,0,0,.35);
}
.skip-link:focus,
.skip-link:focus-visible {
 left: 0;
 outline: 3px solid #AC3749;
 outline-offset: 2px;
}
/* El destino del salto no debe quedar tapado por la barra fija */
#contenido { scroll-margin-top: 96px; }

/* ═══════════════════════════════════════════════
   VWT — CAPA TIPOGRÁFICA 2026
   Bloque aditivo: no modifica reglas previas.
   Para revertir, borrar desde este comentario hasta el final.
   ═══════════════════════════════════════════════ */

/* 1. Sin itálicas: el énfasis se hace con color y peso, como en el logo */
em, .ai-popup-title em {
  font-style: normal;
}

/* 2. Titulares: más peso y tracking cerrado, como el logotipo */

/* 3. Reglas y filetes: más presencia */

/* 4. Kickers: tracking amplio, como "wine tours" del logo */

/* ═══════════════════════════════════════════════
   VWT — CAPA 2: ESCALA, AIRE Y MOVIMIENTO
   Aditiva. Los cambios de escala y aire solo ≥1024px.
   Para revertir, borrar desde este comentario.
   ═══════════════════════════════════════════════ */

/* ── Curvas propias ── */
:root {
  --ease-vwt: cubic-bezier(.22,1,.36,1);
}

/* ── 1. Escala mayor, solo desktop ── */

/* ── 2. Aire entre secciones, solo desktop ── */

/* ── 3. Revelado por scroll, más fino ── */
.sr {
  transform: translateY(34px);
  transition: opacity .9s var(--ease-vwt), transform .9s var(--ease-vwt);
  will-change: opacity, transform;
}
.sr.vis { transform: none; will-change: auto; }

/* Titulares: entrada más larga y más lenta que el resto */

/* Filetes: se dibujan solos */

/* ── 4. Micro-interacciones ── */
@media (hover: hover) and (pointer: fine) {
  .btn {
    transition: transform .9s var(--ease-vwt), background .9s ease, color .9s ease, border-color .9s ease;
  }
  .btn:hover {
    transform: translateY(-2px);
  }
}

/* ── 5. Respeto por quien pide menos movimiento ── */
@media (prefers-reduced-motion: reduce) {
  .sr {
    transition-duration: .01ms !important;
    transform: none !important;
  }
}

/* ── Footer: logo en lugar del nombre y la bajada ── */
.footer-logo-link, .fmv2-logo-link { display: inline-block; margin-bottom: 1.4rem; }
.footer-logo-img { display: block; width: calc(210.0px * var(--k, 1)); height: auto; }
.fmv2-logo-img { display: block; width: 170px; height: auto; }
@media (hover: hover) {
  .footer-logo-link, .fmv2-logo-link { transition: opacity .9s var(--ease-vwt); }
  .footer-logo-link:hover, .fmv2-logo-link:hover { opacity: .75; }
}

/* Preloader: fondo segun el modo del dispositivo + logo correspondiente */

/* ═══════════════════════════════════════════════════════════
   VWT · NAVBAR — identidad Vito
   Capa aditiva. No toca HTML ni JavaScript.
   Sin color-mix ni funciones que puedan fallar: valores explícitos.
   Para revertir, borrar desde este comentario hasta el final.
   ═══════════════════════════════════════════════════════════ */

/* ─── 1. La barra ─── */
@media (min-width: 901px){ :root{ --nav-h: 56px; } }

#mainNav{
  background: rgba(255,255,255,.70);
  -webkit-backdrop-filter: saturate(180%) blur(20px);
  backdrop-filter: saturate(180%) blur(20px);
  border-bottom: 1px solid rgba(16,12,13,.08);
  box-shadow: none;
  transition: background .9s cubic-bezier(.22,1,.36,1),
              border-color .9s cubic-bezier(.22,1,.36,1);
}
#mainNav.sc{ background: rgba(255,255,255,.86); border-bottom-color: rgba(16,12,13,.12); }
html[data-theme="dark"] #mainNav{ background: rgba(10,9,8,.70); border-bottom-color: rgba(255,255,255,.10); }
html[data-theme="dark"] #mainNav.sc{ background: rgba(10,9,8,.88); border-bottom-color: rgba(255,255,255,.14); }

#nav-logo-light, #nav-logo-dark{ height: 30px; width: auto; transition: height .9s cubic-bezier(.22,1,.36,1); }
#mainNav.sc #nav-logo-light, #mainNav.sc #nav-logo-dark{ height: 27px; }

/* ─── 2. Enlaces ─── */
.nav-links{ gap: 2rem; }
.nav-links a{
  font-size: .78rem; font-weight: 400; letter-spacing: 0; text-transform: none;
  color: var(--nav-text); opacity: .8;
  transition: opacity .9s cubic-bezier(.22,1,.36,1);
}
.nav-links a:hover{ opacity: 1; }
.nav-links a::after{ height: 1px; bottom: -5px; background: currentColor; }

/* ─── 3. Idiomas ─── */
.nav-lang{ border-left: 1px solid rgba(16,12,13,.10); gap: .4rem; padding-left: .9rem; }
html[data-theme="dark"] .nav-lang{ border-left-color: rgba(255,255,255,.12); }
.nav-flag{ opacity: .45; transition: opacity .9s cubic-bezier(.22,1,.36,1); }
.nav-flag:hover{ opacity: 1; transform: none; }
.nav-flag-active{ opacity: 1; }
.nav-flag svg{ width: 20px; height: auto; border-radius: 3px; box-shadow: none; }
.nav-flag-active svg{ box-shadow: 0 0 0 1.5px var(--accent); }

/* ─── 4. Interruptor de tema ─── */
.nav-toggle{
  width: 28px; height: 15px; border-radius: 8px;
  background: rgba(16,12,13,.16);
  transition: background .9s cubic-bezier(.22,1,.36,1);
}
.nav-toggle::after{
  width: 11px; height: 11px; top: 2px; left: 2px;
  background: #fff; box-shadow: 0 1px 2px rgba(0,0,0,.18);
  transition: transform .9s cubic-bezier(.22,1,.36,1);
}
body.dark .nav-toggle{ background: var(--accent); }
body.dark .nav-toggle::after{ transform: translateX(13px); }
.nav-theme-icon{ font-size: .72rem; opacity: .45; }

/* ─── 5. Desplegable ─── */
.nav-mega{
  display: block !important;
  opacity: 0; visibility: hidden; pointer-events: none;
  transform: translateY(-10px);
  background: rgba(255,255,255,.985);
  -webkit-backdrop-filter: saturate(180%) blur(24px);
  backdrop-filter: saturate(180%) blur(24px);
  border-top: 1px solid rgba(16,12,13,.08);
  box-shadow: 0 30px 70px rgba(16,12,13,.16), 0 2px 0 rgba(16,12,13,.03);
  transition: opacity .9s cubic-bezier(.22,1,.36,1),
              transform .9s cubic-bezier(.22,1,.36,1),
              visibility 0s linear .9s;
}
html[data-theme="dark"] .nav-mega{
  background: rgba(10,9,8,.985);
  border-top-color: rgba(255,255,255,.10);
  box-shadow: 0 30px 70px rgba(0,0,0,.62);
}
.nav-mega.nav-mega-open{
  opacity: 1; visibility: visible; pointer-events: auto; transform: none;
  transition: opacity .9s cubic-bezier(.22,1,.36,1),
              transform .9s cubic-bezier(.22,1,.36,1),
              visibility 0s linear 0s;
}

.nav-mega-inner{
  max-width: calc(1320px * var(--k, 1)); margin: 0 auto;
  padding: 2rem 3rem 2.4rem;
  grid-template-columns: 210px 1fr; gap: 2.4rem; min-height: 0;
}
.nav-mega-cats{
  border-right: 1px solid rgba(16,12,13,.09);
  padding: .2rem 1.5rem .2rem 0; gap: .1rem; justify-content: flex-start;
}
html[data-theme="dark"] .nav-mega-cats{ border-right-color: rgba(255,255,255,.10); }
.nav-mega-cat{
  font-size: .95rem; font-weight: 600; letter-spacing: -.015em; text-transform: none;
  padding: .72rem 0; color: #1C1916; opacity: 1;
  transition: color .9s cubic-bezier(.22,1,.36,1);
}
html[data-theme="dark"] .nav-mega-cat{ color: #F5F2F2; }
.nav-mega-cat:hover{ color: var(--accent); }
.nav-mega-cat.nav-mega-cat-active{ color: var(--accent); font-weight: 700; }
.nav-mega-cat svg{ width: 14px; height: 14px; opacity: .55; }
.nav-mega-cat.nav-mega-cat-active svg{ opacity: 1; }

.nav-mega-panel{ grid-template-columns: repeat(3, 1fr); gap: 1rem; }
/* El recorte NO va en el elemento que se mueve: si el mismo elemento
   tiene esquinas redondeadas, overflow y transform, el navegador
   redibuja el borde con retraso y se ve la foto asomando. */
.nav-mega-card{
  position: relative; display: block; border: 0;
  border-radius: 0; overflow: visible; background: transparent;
  transition: transform .9s cubic-bezier(.22,1,.36,1);
}
.nav-mega-card-img{
  position: relative; display: block; aspect-ratio: 16/10; overflow: hidden;
  border-radius: 14px;
  transform: translateZ(0);          /* mismo plano de composición que la imagen */
  backface-visibility: hidden;
}
.nav-mega-card-img::after{
  content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background: linear-gradient(180deg, rgba(8,5,6,.05) 0%, rgba(8,5,6,.10) 38%, rgba(8,5,6,.80) 78%, rgba(8,5,6,.95) 100%);
}
.nav-mega-card-img img{
  width: 100%; height: 100%; object-fit: cover; display: block;
  backface-visibility: hidden;
  transition: transform .9s cubic-bezier(.22,1,.36,1);
}
.nav-mega-card-body{ position: absolute; z-index: 3; left: 0; right: 0; bottom: 0; padding: .85rem 1rem; background: none; pointer-events: none; }
.nav-mega-card-tag{
  display: block; font-size: .58rem; letter-spacing: .2em; text-transform: uppercase;
  font-weight: 700; color: #fff; opacity: .88; margin-bottom: .22rem;
}
.nav-mega-card-name{ display: block; font-size: 1.05rem; font-weight: 700; letter-spacing: -.025em;
  color: #fff; text-shadow: 0 1px 14px rgba(0,0,0,.45); }
.nav-mega-card:hover{ transform: translateY(-3px); }
.nav-mega-card:hover .nav-mega-card-img img{ transform: scale(1.05); }

@media (max-width: calc(1100px * var(--k, 1))){
  .nav-links{ gap: 1.35rem; }
  .nav-mega-inner{ padding: 1.6rem 2rem 2rem; grid-template-columns: 180px 1fr; }
  .nav-mega-panel{ grid-template-columns: repeat(2, 1fr); }
}
@media (prefers-reduced-motion: reduce){
  #mainNav, .nav-links a, .nav-flag, .nav-mega,
  .nav-mega-card, .nav-toggle, .nav-toggle::after{ transition: none !important; }
}

/* ═══════════════════════════════════════════════════════════
   VWT · FOOTER — identidad Vito
   Capa aditiva. No toca HTML ni JavaScript.
   Para revertir, borrar desde este comentario hasta el final.
   ═══════════════════════════════════════════════════════════ */

footer{
  background: #08060A;
  color: rgba(255,255,255,.62);
  padding: clamp(4rem, 9vw, 8rem) var(--pad-x) 2.4rem;
  --accent: #AC3749;
  --accent-lt: #AC3749;
}

/* ── Rejilla más aireada, sin filete divisorio duro ── */
.footer-grid{
  grid-template-columns: 2.1fr 1fr 1fr 1fr;
  gap: calc(80.0px * var(--k, 1));
  padding-bottom: calc(72.0px * var(--k, 1));
  border-bottom: 1px solid rgba(255,255,255,.09);
}

/* ── Marca ── */
.footer-logo-img{ width: calc(190.0px * var(--k, 1)); }
.footer-logo-link{ display: inline-block; margin-bottom: 1.6rem; opacity: 1; }
.footer-desc{
  font-size: .92rem; line-height: 1.7; font-weight: 300;
  color: rgba(255,255,255,.62); max-width: 34ch; margin-bottom: 1.8rem;
}
.footer-contact{ gap: .55rem; }
.footer-contact a{
  font-size: .92rem; font-weight: 400; color: rgba(255,255,255,.82);
  transition: color .9s cubic-bezier(.22,1,.36,1);
}
.footer-contact a:hover{ color: #fff; }

/* ── Columnas de enlaces ── */
.footer-col-title{
  font-size: .58rem; letter-spacing: .26em; text-transform: uppercase; font-weight: 700;
  color: rgba(255,255,255,.42); margin-bottom: 1.4rem;
}
.footer-col-links{ gap: .72rem; }
.footer-col-links a{
  font-size: .9rem; font-weight: 400; color: rgba(255,255,255,.66);
  transition: color .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1);
  display: inline-block;
}
.footer-col-links a:hover{ color: #fff; transform: translateX(3px); }
.footer-link-active{ color: #fff !important; }

/* ── Redes: círculos finos ── */
.footer-social a{
  width: 38px; height: 38px; border-radius: 50%;
  border: 1px solid rgba(255,255,255,.16); background: transparent;
  transition: border-color .9s cubic-bezier(.22,1,.36,1),
              background .9s cubic-bezier(.22,1,.36,1),
              transform .9s cubic-bezier(.22,1,.36,1);
}
.footer-social a:hover{ border-color: #AC3749; background: #AC3749; transform: translateY(-2px); }
.footer-social svg{ width: 16px; height: 16px; }

/* ── Línea final ── */
.footer-bottom{
  padding-top: 1.6rem;
  font-size: .68rem; letter-spacing: .04em;
  color: rgba(255,255,255,.38);
}
.footer-bottom a, .footer-bottom-link{
  color: rgba(255,255,255,.5);
  transition: color .9s cubic-bezier(.22,1,.36,1);
}
.footer-bottom a:hover, .footer-bottom-link:hover{ color: #fff; }

/* ── Footer mobile ── */
.foot-mobile{ background: #08060A; }
.fmv2-logo-img{ width: 150px; }
.fmv2-rule{ background: rgba(255,255,255,.10); }
.fmv2-nav-title{
  font-size: .56rem; letter-spacing: .26em; text-transform: uppercase; font-weight: 700;
  color: rgba(255,255,255,.42);
}
.fmv2-link{
  font-size: .9rem; color: rgba(255,255,255,.68);
  transition: color .9s cubic-bezier(.22,1,.36,1);
}
.fmv2-link:hover{ color: #fff; }
.fmv2-contact-link{ color: rgba(255,255,255,.82); font-size: .92rem; }
.fmv2-social-icon{
  border: 1px solid rgba(255,255,255,.16); border-radius: 50%; background: transparent;
  transition: border-color .9s cubic-bezier(.22,1,.36,1), background .9s cubic-bezier(.22,1,.36,1);
}
.fmv2-social-icon:hover{ border-color: #AC3749; background: #AC3749; }
.fmv2-lang-pill{
  border: 1px solid rgba(255,255,255,.16); border-radius: 100px;
  font-size: .64rem; letter-spacing: .14em; font-weight: 700;
  color: rgba(255,255,255,.7);
  transition: border-color .9s cubic-bezier(.22,1,.36,1), color .9s cubic-bezier(.22,1,.36,1);
}
.fmv2-lang-pill:hover{ border-color: #AC3749; color: #fff; }
.fmv2-copy{ font-size: .66rem; color: rgba(255,255,255,.38); }
.fmv2-sep{ background: rgba(255,255,255,.10); }

@media (max-width: calc(1024px * var(--k, 1))){
  .footer-grid{ grid-template-columns: 1fr 1fr; gap: 2.4rem; }
}
@media (prefers-reduced-motion: reduce){
  .footer-col-links a, .footer-social a, .footer-contact a, .fmv2-link{ transition: none !important; }
}

/* ── Marcar en color de marca lo activo: idioma y sección ── */
.footer-link-active{
  color: #AC3749 !important;
  font-weight: 600;
}
.mob-link-active{ color: #AC3749 !important; font-weight: 600; }

.fmv2-link.footer-link-active{ color: #AC3749 !important; }
.fmv2-lang-pill.fmv2-lang-active{
  border-color: #AC3749;
  background: #AC3749;
  color: #fff;
  font-weight: 700;
}
.fmv2-lang-pill.fmv2-lang-active:hover{ border-color: #AC3749; color: #fff; }

/* ═══ Dos correcciones de raíz ═══ */

/* 1 · Micro salto al terminar el preloader
   Causa: mientras carga, html y body tienen overflow oculto y por eso
   desaparece la barra de scroll. Al soltarla, la barra vuelve, el ancho
   de la página cambia unos píxeles y todo se recorre. Reservando el
   espacio de la barra siempre, el ancho nunca cambia y no hay salto. */
/* La barra de scroll existe SIEMPRE, aunque la pagina no tenga scroll.
   Asi su ancho nunca aparece ni desaparece y el contenido no se corre.
   Funciona en todos los navegadores, no solo en los que soportan
   scrollbar-gutter. */
html{ overflow-y: scroll; scrollbar-gutter: stable; }
html.loading{ overflow-y: scroll !important; overflow-x: hidden; }
html.loading body{
  overflow: hidden;   /* el bloqueo real: el contenido no sobresale */;
  height: 100%;
}

/* 2 · Parpadeo en el borde de las tarjetas del menú
   Causa: una imagen que se escala dentro de un contenedor con esquinas
   redondeadas y recorte produce un desfase de un cuadro en el borde.
   Se quita el escalado: el aviso de interacción pasa a ser el velo. */
.nav-mega-card-img{
  -webkit-mask-image: -webkit-radial-gradient(#fff, #000);  /* fuerza el recorte compuesto */
}
.nav-mega-card-img img{
  transform: none !important;
  transition: none !important;
}
.nav-mega-card-img::after{
  transition: background .9s cubic-bezier(.22,1,.36,1);
}
.nav-mega-card:hover .nav-mega-card-img::after{
  background: linear-gradient(180deg, rgba(8,5,6,.02) 0%, rgba(8,5,6,.06) 34%, rgba(8,5,6,.72) 76%, rgba(8,5,6,.92) 100%);
}

/* ═══════════════════════════════════════════════════════════
   VWT · LA COPA QUE SE LLENA
   Indicador de lectura en el borde: se llena de vino al bajar.
   ═══════════════════════════════════════════════════════════ */
#vwtFill{
  position: fixed;
  top: 0; right: 0;
  width: 3px;
  height: calc(100 * var(--1vh));
  z-index: 950;
  pointer-events: none;
  background: rgba(16,12,13,.07);
}
html[data-theme="dark"] #vwtFill{ background: rgba(255,255,255,.08); }
#vwtFill i{
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 0;
  background: linear-gradient(180deg, #AC3749 0%, #6B1D2A 100%);
  transform-origin: bottom;
}
#vwtFill::after{
  content: "";
  position: absolute;
  right: 0;
  width: 3px; height: 26px;
  bottom: var(--vwt-fill, 0%);
  background: #AC3749;
  filter: blur(5px);
  opacity: .55;
}
@media (max-width: 900px){ #vwtFill{ display: none; } }
@media (prefers-reduced-motion: reduce){ #vwtFill::after{ display: none; } }

/* ═══════════════════════════════════════════════════════════
   VWT · TRANSICIÓN ENTRE PÁGINAS
   La cortina baja, se navega, y en el destino sube.
   ═══════════════════════════════════════════════════════════ */
#vwtCurtain{
  position: fixed;
  top: 0; left: 0; width: calc(100 * var(--1vw)); height: calc(100 * var(--1vh));
  z-index: 99998;
  background: #FFFFFF;
  transform: translateY(-101%);
  pointer-events: none;
  display: flex; align-items: center; justify-content: center;
  transition: transform .42s cubic-bezier(.32,.72,0,1);
}
html[data-theme="dark"] #vwtCurtain{ background: #000000; }
#vwtCurtain img{ width: calc(190.0px * var(--k, 1)); height: auto; opacity: 0;
  transition: opacity .2s ease; }
#vwtCurtain.is-down{ transform: translateY(0); pointer-events: auto; }
#vwtCurtain.is-down img{ opacity: 1; }
@media (prefers-reduced-motion: reduce){
  #vwtCurtain{ transition: none; }
  #vwtCurtain img{ transition: none; }
}

/* ═══════════════════════════════════════════════════════════
   VWT · MEGA MENÚ
   Tres franjas: categorías, destinos y una tarjeta de acción
   en el color de la marca. Texto grande, aire y una sola
   llamada a la acción. Se anulan las reglas heredadas.
   ═══════════════════════════════════════════════════════════ */
.nav-mega-inner{
  max-width: calc(1320px * var(--k, 1)) !important;
  margin: 0 auto !important;
  padding: clamp(2.2rem,3.4vw,3rem) clamp(1.4rem,5vw,4rem) clamp(2.6rem,4vw,3.4rem) !important;
  display: grid !important;
  grid-template-columns: 200px 1fr !important;
  gap: clamp(2rem,4vw,3.6rem) !important;
  min-height: 0 !important;
}

/* ── Categorías ── */
.nav-mega-cats{
  display: flex !important; flex-direction: column;
  justify-content: flex-start !important;
  gap: .05rem !important; padding: 0 !important; border-right: 0 !important;
}
.nav-mega-cat{
  display: flex !important; align-items: center; justify-content: space-between;
  width: 100%; font-size: .92rem !important; font-weight: 500 !important;
  letter-spacing: -.02em !important; text-transform: none !important;
  padding: .66rem 0 !important; border: 0 !important; background: none !important;
  color: var(--nav-text) !important; opacity: .46; cursor: pointer;
  transition: opacity .9s cubic-bezier(.22,1,.36,1), color .9s cubic-bezier(.22,1,.36,1);
}
.nav-mega-cat:hover{ opacity: 1; }
.nav-mega-cat.nav-mega-cat-active{ opacity: 1; font-weight: 600 !important; color: var(--accent) !important; }
.nav-mega-cat svg{ width: 12px; height: 12px; opacity: .4; }

/* ── Panel: destinos + tarjeta de acción ── */
.nav-mega-panels{ padding: 0 !important; display: block !important; }
.nav-mega-panel{ display: none !important; }
.nav-mega-panel.nav-mega-panel-active{
  display: grid !important;
  grid-auto-flow: row !important;
  grid-auto-columns: auto !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) clamp(230px, 24%, 300px) !important;
  gap: .1rem clamp(1.6rem,3vw,3rem) !important;
  align-items: start !important; align-content: start !important;
  width: 100% !important;
}

/* ── Destinos ── */
.nav-mega-card{
  position: relative !important; display: block !important;
  padding: .78rem 0 !important;
  border: 0 !important; border-top: 1px solid rgba(127,110,115,.2) !important;
  border-radius: 0 !important; background: none !important;
  overflow: visible !important; box-shadow: none !important;
  transform: none !important; transition: none !important;
}
.nav-mega-card-img{ display: none !important; }
.nav-mega-card-body{ position: static !important; padding: 0 !important; background: none !important; display: block !important; }
.nav-mega-card-tag{
  display: block !important; font-size: .54rem !important; letter-spacing: .24em !important;
  text-transform: uppercase !important; font-weight: 700 !important;
  color: var(--nav-text) !important; opacity: .4; margin: 0 0 .18rem !important;
  transition: color .9s cubic-bezier(.22,1,.36,1), opacity .9s cubic-bezier(.22,1,.36,1);
}
.nav-mega-card-name{
  display: block !important; font-size: 1.12rem !important; font-weight: 600 !important;
  letter-spacing: -.03em !important; line-height: 1.2 !important;
  color: var(--nav-text) !important;
  transition: color .9s cubic-bezier(.22,1,.36,1), transform .9s cubic-bezier(.22,1,.36,1);
}
@media (hover: hover) and (pointer: fine){
  .nav-mega-card:hover .nav-mega-card-name{ color: var(--accent) !important; transform: translateX(5px); }
  .nav-mega-card:hover .nav-mega-card-tag{ color: var(--accent) !important; opacity: .85; }
}
.nav-mega-card:focus-visible{ outline: 3px solid var(--accent); outline-offset: 4px; }

/* ── Tarjeta de acción ── */
.nav-mega-feat{
  grid-column: 3; grid-row: 1 / span 99;
  align-self: stretch;
  display: flex; flex-direction: column;
  padding: calc(27.2px * var(--k, 1));
  border-radius: 18px;
  background: #6B1D2A;
  color: #fff;
  text-decoration: none;
  transition: background .9s cubic-bezier(.22,1,.36,1);
}
.nmf-k{
  font-size: .54rem; letter-spacing: .26em; text-transform: uppercase;
  font-weight: 700; color: #F0C9D0;
}
.nmf-t{
  margin-top: .7rem; font-size: 1.22rem; font-weight: 700;
  letter-spacing: -.035em; line-height: 1.12; color: #fff;
}
.nmf-p{
  margin-top: .55rem; font-size: .85rem; line-height: 1.5;
  color: rgba(255,255,255,.78);
}
.nmf-go{
  margin-top: auto; padding-top: 1.2rem;
  font-size: .7rem; letter-spacing: .12em; text-transform: uppercase;
  font-weight: 700; color: #fff;
  transition: transform .9s cubic-bezier(.22,1,.36,1);
  display: inline-block;
}
@media (hover: hover) and (pointer: fine){
  .nav-mega-feat:hover{ background: #AC3749; }

}
.nav-mega-feat:focus-visible{ outline: 3px solid var(--accent); outline-offset: 4px; }

@media (max-width: calc(1100px * var(--k, 1))){
  .nav-mega-inner{ grid-template-columns: 170px 1fr !important; }

  .nav-mega-feat{ grid-column: 1 / -1; grid-row: auto; margin-top: 1.2rem; }
}

/* ── Destinos: tarjetas editoriales ──
   Vuelve la foto, pero arriba y con el texto debajo sobre el
   papel, como las tarjetas de blog del sitio. Sin texto encima
   de la imagen y sin recuadros. */
.nav-mega-panel.nav-mega-panel-active{
  gap: clamp(1.2rem,2vw,1.8rem) clamp(1.2rem,2.4vw,2rem) !important;
}
.nav-mega-card{
  border-top: 0 !important;
  padding: 0 !important;
}
.nav-mega-card-img{
  display: block !important;
  position: relative !important;
  aspect-ratio: 16/10;
  width: 100% !important;
  height: auto !important;
  border-radius: 14px;
  overflow: hidden;
  background: #0B0708;
  transform: translateZ(0);
}
.nav-mega-card-img img{
  width: 100%; height: 100%; object-fit: cover;
  opacity: .92;
  transition: transform .9s cubic-bezier(.22,1,.36,1), opacity .9s cubic-bezier(.22,1,.36,1);
}
.nav-mega-card-body{ padding: .75rem 0 0 !important; }
.nav-mega-card-tag{ margin: 0 0 .22rem !important; opacity: .45; }
.nav-mega-card-name{ font-size: 1.05rem !important; }
@media (hover: hover) and (pointer: fine){
  .nav-mega-card:hover .nav-mega-card-img img{ transform: scale(1.05); opacity: 1; }
  .nav-mega-card:hover .nav-mega-card-name{ transform: none; color: var(--accent) !important; }
}

/* ── Corrección: la tarjeta de acción crecía sin límite ──
   Ocupaba todas las filas implícitas de la grilla. */
.nav-mega-feat{
  grid-column: 3 !important;
  grid-row: 1 !important;
  align-self: start !important;
  height: auto !important;
}

/* ── La etiqueta del destino, legible y en Poppins ──
   Las versalitas diminutas con tracking abierto se leían mal. */
.nav-mega-card-tag{
  font-family: 'Poppins', system-ui, sans-serif !important;
  font-size: .74rem !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  font-weight: 500 !important;
  opacity: .55;
  margin: 0 0 .1rem !important;
}
.nav-mega-card-name{
  font-family: 'Poppins', system-ui, sans-serif !important;
  font-size: 1.16rem !important;
  font-weight: 700 !important;
}
.nav-mega-feat,
.nmf-k, .nmf-t, .nmf-p, .nmf-go,
.nav-mega-cat{
  font-family: 'Poppins', system-ui, sans-serif !important;
}
.nmf-k{ font-size: .68rem; letter-spacing: .01em; text-transform: none; font-weight: 600; }

/* ── Categorías y etiquetas: tinta plena, sin gris ──
   En modo claro negro, en oscuro blanco. El gris se reservaba
   para lo inactivo y bajaba la calidad de lectura. */
.nav-mega-cat{
  color: var(--nav-text) !important;
  opacity: 1 !important;
  font-weight: 500 !important;
}
.nav-mega-cat:hover{ color: var(--accent) !important; }
.nav-mega-cat.nav-mega-cat-active{
  color: var(--accent) !important;
  font-weight: 700 !important;
}
.nav-mega-card-tag{
  color: var(--nav-text) !important;
  opacity: 1 !important;
  font-weight: 500 !important;
}
.nav-mega-card-name{ color: var(--nav-text) !important; }

/* ═══════════════════════════════════════════════════════════
   VWT · ETIQUETAS LEGIBLES — REGLA DE CIERRE
   Queda prohibido el tratamiento de versalitas diminutas con
   tracking abierto: a menos de .72rem y con más de .14em de
   separación, Poppins pierde la forma y se lee como signos
   sueltos, no como palabra.
   Esta capa normaliza las 183 etiquetas que lo tenían en todo
   el sitio. Los botones quedan fuera: ahí las versalitas son
   una decisión de diseño, no un descuido.
   ═══════════════════════════════════════════════════════════ */

.ai-popup-cta,
.ai-popup-kicker,
.cnt-dato-type,
.cnt-eyebrow,
.cnt-form-label,
.cnt-wa-eyebrow,
.fmv2-nav-title,
.foot-col-h,
.foot-logo,
.footer-brand-name,
.footer-col-title,
.mob-tours-cat-title,
.mq-txt,
.nav-mega-card-tag,
.nmf-k,
.region-tab,
.vh-cta-note,
.vh-inc span,
.vh-kick,
.vh-modal-kick,
.vh-rel-k,
.vl-sub,
.vr-bod-t,
.vr-data dd,
.vr-n span,
.vt-cd-tag,
.vt-end-k,
.vt-eyebrow,
.vt-open-lb,
.vt-pan-tx i,
.vt-spec-list dt,
.vt-step-d,
.vwt-author-tag,
.vwt-related-card-tag,
.vwt-related-kicker,
.vwt-trust-strip{
  font-size: .78rem !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  font-family: 'Poppins', sans-serif !important;
}

/* ═══════════════════════════════════════════════════════════
   VWT · ETIQUETAS Y BOTONES — CIERRE DEFINITIVO
   Se extiende la regla a los botones y enlaces de acción.
   Umbral ampliado: cualquier texto de .8rem o menos con más
   de .1em de separación pierde forma en Poppins.
   Ningún elemento del sitio vuelve a usar ese tratamiento.
   ═══════════════════════════════════════════════════════════ */
#mobileLangLbl,
#mobileThemeLbl,
.ai-popup-cta,
.ai-popup-item-name,
.ai-popup-kicker,
.cnt-dato-type,
.cnt-eyebrow,
.cnt-field-label,
.cnt-form-label,
.cnt-submit,
.cnt-wa-btn,
.cnt-wa-eyebrow,
.cookie-btn,
.fmv2-nav-title,
.foot-col-h,
.foot-legal a,
.foot-logo,
.footer-brand-name,
.footer-col-title,
.mob-tours-cat-title,
.mq-txt,
.nav-links a,
.nav-mega-card-tag,
.nmf-go,
.nmf-k,
.region-tab,
.vh-act,
.vh-cap-kick,
.vh-cta-note,
.vh-inc span,
.vh-kick,
.vh-modal-kick,
.vh-rel-k,
.vl-sub,
.vr-bod-t,
.vr-data dd,
.vr-n span,
.vt-cd-tag,
.vt-end-k,
.vt-eyebrow,
.vt-open-lb,
.vt-pan-tx i,
.vt-spec-list dt,
.vt-step-d,
.vwt-author-tag,
.vwt-related-card-tag,
.vwt-related-kicker,
.vwt-trust-strip{
  font-size: .82rem !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  font-family: 'Poppins', sans-serif !important;
}
/* los botones conservan su peso propio */
.vh-act, .vt-btn,
.cnt-submit, .cnt-wa-btn, .cookie-btn, .nmf-go{
  font-weight: 600 !important;
  font-size: .84rem !important;
}

/* ═══════════════════════════════════════════════════════════
   VWT · MEGA MENÚ · ajuste final
   Los tres destinos en una sola fila, tarjetas más grandes,
   velo más suave y una animación de entrada propia.
   ═══════════════════════════════════════════════════════════ */
.nav-mega-inner{
  max-width: calc(1440px * var(--k, 1)) !important;
  grid-template-columns: 186px 1fr !important;
}
.nav-mega-panel.nav-mega-panel-active{
  grid-template-columns: repeat(3, minmax(0,1fr)) clamp(210px, 20%, 270px) !important;
  gap: clamp(1rem,1.8vw,1.5rem) !important;
}
.nav-mega-feat{ grid-column: 4 !important; }

/* ── Tarjetas más grandes ── */
.nav-mega-card-img{
  aspect-ratio: 4/3 !important;
  border-radius: 16px !important;
}
.nav-mega-card-img img{
  opacity: 1 !important;
  filter: brightness(.94) saturate(1.02);
  transition: transform 1.05s cubic-bezier(.22,1,.36,1), filter .9s cubic-bezier(.22,1,.36,1);
}
.nav-mega-card-name{ font-size: 1.24rem !important; }
.nav-mega-card-tag{ font-size: .8rem !important; }

/* ── Entrada escalonada al abrir el panel ── */
.nav-mega-panel.nav-mega-panel-active > .nav-mega-card,
.nav-mega-panel.nav-mega-panel-active > .nav-mega-feat{
  opacity: 0;
  transform: translateY(14px);
  animation: nmEntra .8s cubic-bezier(.22,1,.36,1) forwards;
}
.nav-mega-panel.nav-mega-panel-active > .nav-mega-card:nth-child(1){ animation-delay: .02s; }
.nav-mega-panel.nav-mega-panel-active > .nav-mega-card:nth-child(2){ animation-delay: .08s; }
.nav-mega-panel.nav-mega-panel-active > .nav-mega-card:nth-child(3){ animation-delay: .14s; }
.nav-mega-panel.nav-mega-panel-active > .nav-mega-feat{ animation-delay: .2s; }
@keyframes nmEntra{ to{ opacity: 1; transform: none; } }

/* ── Al pasar el cursor: la foto se acerca y se aclara ── */
@media (hover: hover) and (pointer: fine){
  .nav-mega-card:hover .nav-mega-card-img img{
    transform: scale(1.06);
    filter: brightness(1.02) saturate(1.06);
  }
}
@media (prefers-reduced-motion: reduce){
  .nav-mega-panel.nav-mega-panel-active > *{ animation: none !important; opacity: 1; transform: none; }
}
@media (max-width: calc(1180px * var(--k, 1))){

  .nav-mega-feat{ grid-column: 1 / -1 !important; margin-top: 1rem; }
}

/* ── La tarjeta de acción es una tarjeta más ──
   Se coloca sola después de la última, cualquiera sea la
   cantidad, y ocupa exactamente el mismo alto que ellas. */
.nav-mega-panel.nav-mega-panel-active{
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
  align-items: stretch !important;
}
.nav-mega-feat{
  grid-column: auto !important;
  grid-row: auto !important;
  align-self: stretch !important;
  height: auto !important;
  border-radius: 16px;
}
@media (max-width: calc(1180px * var(--k, 1))){
  .nav-mega-panel.nav-mega-panel-active{
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }
  .nav-mega-feat{ grid-column: auto !important; margin-top: 0; }
}
@media (max-width: 900px){
  .nav-mega-panel.nav-mega-panel-active{
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   VWT · MEGA MENÚ · gesto de las tarjetas
   Cuatro cosas coordinadas con la misma curva: la tarjeta se
   eleva, la foto se acerca, un filete de marca se dibuja bajo
   la imagen y aparece un botón circular. Las hermanas se
   atenúan, como en las secciones de la web.
   ═══════════════════════════════════════════════════════════ */
.nav-mega-card{
  transition: transform .9s cubic-bezier(.22,1,.36,1),
              opacity .9s cubic-bezier(.22,1,.36,1) !important;
}
.nav-mega-card-img{ position: relative !important; }

/* filete que se dibuja bajo la foto */
.nav-mega-card-img::after{
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 3px;
  background: var(--accent);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .9s cubic-bezier(.22,1,.36,1);
  z-index: 2;
}
/* botón circular sobre la imagen */
.nav-mega-card-img::before{
  content: "→";
  position: absolute;
  z-index: 3;
  top: .7rem; right: .7rem;
  width: 34px; height: 34px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: .85rem; color: #fff;
  background: rgba(12,9,10,.42);
  border: 1px solid rgba(255,255,255,.3);
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  opacity: 0; transform: scale(.82);
  transition: opacity .9s cubic-bezier(.22,1,.36,1),
              transform .9s cubic-bezier(.22,1,.36,1),
              background .9s cubic-bezier(.22,1,.36,1),
              border-color .9s cubic-bezier(.22,1,.36,1);
}

@media (hover: hover) and (pointer: fine){
  /* las hermanas se atenúan */
  .nav-mega-panel.nav-mega-panel-active:hover .nav-mega-card{ opacity: .48; }
  .nav-mega-panel.nav-mega-panel-active:hover .nav-mega-card:hover{ opacity: 1; }

  .nav-mega-card:hover{ transform: translateY(-5px); }
  .nav-mega-card:hover .nav-mega-card-img::after{ transform: scaleX(1); }
  .nav-mega-card:hover .nav-mega-card-img::before{
    opacity: 1; transform: none;
    background: var(--accent); border-color: var(--accent);
  }

  /* la tarjeta de acción acompaña el mismo gesto */
  .nav-mega-panel.nav-mega-panel-active:hover .nav-mega-feat{ opacity: .48; }
  .nav-mega-panel.nav-mega-panel-active:hover .nav-mega-feat:hover{ opacity: 1; }
  .nav-mega-feat{ transition: background .9s cubic-bezier(.22,1,.36,1),
                              transform .9s cubic-bezier(.22,1,.36,1),
                              opacity .9s cubic-bezier(.22,1,.36,1); }
  .nav-mega-feat:hover{ transform: translateY(-5px); }
}
@media (prefers-reduced-motion: reduce){
  .nav-mega-card, .nav-mega-feat, .nav-mega-card-img::after, .nav-mega-card-img::before{
    transition: none !important;
  }
}

/* ═══════════════════════════════════════════════════════════
   VWT · MEGA MENÚ · duotono de marca
   En reposo las fotos están teñidas del bordó de la marca: el
   menú se lee como una pieza gráfica, no como un collage de
   fotos sueltas. La que apuntás recupera su color real y las
   demás se quedan teñidas. Un solo gesto, muy visible.
   ═══════════════════════════════════════════════════════════ */
.nav-mega-card-img{
  position: relative !important;
  background: #4A1520 !important;
}
.nav-mega-card-img img{
  filter: grayscale(1) contrast(1.08) brightness(1.06) !important;
  opacity: .92 !important;
  transition: filter 1.05s cubic-bezier(.22,1,.36,1),
              transform 1.05s cubic-bezier(.22,1,.36,1),
              opacity 1.05s cubic-bezier(.22,1,.36,1) !important;
}
/* la capa de color que produce el duotono */
.nav-mega-card-img::after{
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  height: auto !important;
  background: #6B1D2A !important;
  mix-blend-mode: color;
  transform: none !important;
  opacity: 1;
  transition: opacity 1.05s cubic-bezier(.22,1,.36,1) !important;
  z-index: 2;
  pointer-events: none;
}
/* se retira el botón circular: el color es el gesto */
.nav-mega-card-img::before{ content: none !important; }

@media (hover: hover) and (pointer: fine){
  .nav-mega-panel.nav-mega-panel-active:hover .nav-mega-card{ opacity: 1; }
  .nav-mega-card:hover{ transform: translateY(-4px); }
  .nav-mega-card:hover .nav-mega-card-img img{
    filter: none !important;
    opacity: 1 !important;
    transform: scale(1.05);
  }
  .nav-mega-card:hover .nav-mega-card-img::after{ opacity: 0; }
}
@media (prefers-reduced-motion: reduce){
  .nav-mega-card-img img,
  .nav-mega-card-img::after{ transition: none !important; }
}

/* ═══════════════════════════════════════════════════════════
   VWT · MEGA MENÚ · limpieza final
   Se retiran el duotono, el atenuado de las hermanas, el
   filete, el botón circular y el levantamiento. Queda la foto
   real, tipografía clara y un único movimiento: la imagen se
   acerca apenas dentro de su marco. Nada más.
   ═══════════════════════════════════════════════════════════ */
.nav-mega-card-img{
  position: relative !important;
  background: #EFEBEA !important;
  aspect-ratio: 4/3 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}
.nav-mega-card-img::after,
.nav-mega-card-img::before{ content: none !important; }
.nav-mega-card-img img{
  filter: none !important;
  opacity: 1 !important;
  transform: none;
  transition: transform 1.1s cubic-bezier(.22,1,.36,1) !important;
}
.nav-mega-card{
  transform: none !important;
  opacity: 1 !important;
  transition: none !important;
}
.nav-mega-card-name{
  transition: color .9s cubic-bezier(.22,1,.36,1) !important;
  transform: none !important;
}
@media (hover: hover) and (pointer: fine){
  .nav-mega-panel.nav-mega-panel-active:hover .nav-mega-card,
  .nav-mega-panel.nav-mega-panel-active:hover .nav-mega-feat{ opacity: 1 !important; }
  .nav-mega-card:hover .nav-mega-card-img img{ transform: scale(1.04); }

  .nav-mega-feat:hover{ transform: none !important; background: #AC3749; }
}
@media (prefers-reduced-motion: reduce){
  .nav-mega-card-img img{ transition: none !important; }
}

/* ═══════════════════════════════════════════════════════════
   VWT · MEGA MENÚ · paneles que se ensanchan
   Mismo comportamiento que las experiencias de la home: el que
   apuntás gana ancho y los demás ceden. La altura no cambia,
   así que el menú no salta: solo se reparte el espacio.
   ═══════════════════════════════════════════════════════════ */
.nav-mega-panel.nav-mega-panel-active{
  display: flex !important;
  gap: clamp(.7rem,1.2vw,1.1rem) !important;
  align-items: stretch !important;
}
.nav-mega-panel.nav-mega-panel-active > .nav-mega-card,
.nav-mega-panel.nav-mega-panel-active > .nav-mega-feat{
  flex: 1 1 0 !important;
  min-width: 0 !important;
  transition: flex-grow .9s cubic-bezier(.22,1,.36,1),
              opacity .9s cubic-bezier(.22,1,.36,1) !important;
}
/* altura fija: al ensancharse, la foto solo gana ancho */
.nav-mega-card-img{
  aspect-ratio: auto !important;
  height: clamp(155px, 15vw, 215px) !important;
}
.nav-mega-card-name{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@media (hover: hover) and (pointer: fine){
  .nav-mega-panel.nav-mega-panel-active:hover > .nav-mega-card,
  .nav-mega-panel.nav-mega-panel-active:hover > .nav-mega-feat{
    flex-grow: 1 !important;
    opacity: .58 !important;
  }
  .nav-mega-panel.nav-mega-panel-active:hover > .nav-mega-card:hover,
  .nav-mega-panel.nav-mega-panel-active:hover > .nav-mega-feat:hover{
    flex-grow: 1.85 !important;
    opacity: 1 !important;
  }
  .nav-mega-card:hover .nav-mega-card-img img{ transform: scale(1.03); }
  .nav-mega-card:hover .nav-mega-card-name{ color: var(--accent) !important; }
}
@media (prefers-reduced-motion: reduce){
  .nav-mega-panel.nav-mega-panel-active > *{ transition: none !important; }
}
@media (max-width: 900px){
  .nav-mega-panel.nav-mega-panel-active{ flex-wrap: wrap !important; }
  .nav-mega-panel.nav-mega-panel-active > *{ flex: 1 1 46% !important; }
}

/* ── La tarjeta de acción siempre encendida ──
   Es la única acción del menú: no debe atenuarse nunca. */
.nav-mega-panel.nav-mega-panel-active:hover > .nav-mega-feat{
  opacity: 1 !important;
}
.nav-mega-feat{
  background: #6B1D2A !important;
  opacity: 1 !important;
}
.nav-mega-feat:hover{ background: #AC3749 !important; }

/* ── Sin fondos ni sombras detrás del texto de las tarjetas ── */
.nav-mega-card-body,
.nav-mega-card-name,
.nav-mega-card-tag{
  background: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  text-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  border-radius: 0 !important;
}

/* ── La tarjeta de acción conserva su color al pasar el cursor ──
   Se ensancha como las demás, pero el bordó no cambia. */
.nav-mega-feat,
.nav-mega-feat:hover,
.nav-mega-feat:focus,
.nav-mega-feat:active{
  background: #6B1D2A !important;
  background-color: #6B1D2A !important;
}
.nav-mega-feat:hover .nmf-go{ transform: translateX(4px); }

/* ── Solo se ensancha: ninguna tarjeta se apaga ni se tiñe ──
   El único cambio al pasar el cursor es el ancho. */
.nav-mega-panel.nav-mega-panel-active > .nav-mega-card,
.nav-mega-panel.nav-mega-panel-active > .nav-mega-feat,
.nav-mega-panel.nav-mega-panel-active:hover > .nav-mega-card,
.nav-mega-panel.nav-mega-panel-active:hover > .nav-mega-feat,
.nav-mega-panel.nav-mega-panel-active:hover > .nav-mega-card:hover,
.nav-mega-panel.nav-mega-panel-active:hover > .nav-mega-feat:hover{
  opacity: 1 !important;
}
.nav-mega-card:hover .nav-mega-card-name,
.nav-mega-card:hover .nav-mega-card-tag{
  color: var(--nav-text) !important;
}
.nav-mega-card:hover .nav-mega-card-img img{ transform: none !important; }

/* ── El nombre del destino se tiñe del color de la marca ──
   Solo el título, solo la tarjeta apuntada. La de acción
   no cambia: ya está en el color. */
.nav-mega-card:hover .nav-mega-card-name{
  color: var(--accent) !important;
}
.nav-mega-card .nav-mega-card-name{
  transition: color .9s cubic-bezier(.22,1,.36,1) !important;
}

/* ═══════════════════════════════════════════════════════════
   VWT · MAPA DE REGIONES · componente compartido
   El mismo comportamiento en Luján, Maipú y Valle de Uco: la
   lista maneja el mapa, la región elegida se enciende y el
   mapa vuela hasta ella.
   ═══════════════════════════════════════════════════════════ */
.vwt-regiones{
  list-style: none; margin: clamp(1.8rem,3.4vw,2.6rem) 0 0; padding: 0;
  border-top: 1px solid var(--vh-line, rgba(16,12,13,.1));
}
.vwt-regiones li{ position: relative; border-bottom: 1px solid var(--vh-line, rgba(16,12,13,.1)) }
.vwt-reg{
  appearance: none; cursor: pointer; width: 100%; text-align: left;
  display: grid; grid-template-columns: 1fr auto; align-items: baseline; gap: 1rem;
  padding: .95rem 0; background: none; border: 0; font: inherit;
  color: var(--vh-ink, #100C0D);
  transition: color .9s cubic-bezier(.22,1,.36,1);
}
.vwt-reg span{ font-size: calc(20.5px * var(--k, 1)); font-weight: 600; letter-spacing: -.025em }
.vwt-reg i{ font-style: normal; font-size: .84rem; color: var(--vh-mut, #7F6E73) }
.vwt-reg:hover, .vwt-reg.is-on{ color: #AC3749 }
.vwt-reg.is-on span{ font-weight: 700 }
.vwt-reg:focus-visible{ outline: 3px solid #AC3749; outline-offset: 3px }
.vwt-regiones-n{
  margin: clamp(1rem,2vw,1.4rem) 0 0; font-size: .86rem; line-height: 1.6;
  color: var(--vh-mut, #7F6E73);
}
.vwt-regiones-n a{
  color: var(--vh-ink, #100C0D); text-decoration: underline;
  text-underline-offset: .2em; text-decoration-color: rgba(127,110,115,.45);
}
.vwt-regiones-n a:hover{ color: #AC3749; text-decoration-color: currentColor }

.vwt-pin{
  appearance: none; border: 0; background: none; cursor: pointer; padding: 0;
  display: flex; align-items: center; gap: .45rem; font: inherit;
}
.vwt-pin i{
  display: block; width: 12px; height: 12px; border-radius: 50%;
  background: rgba(255,255,255,.55); box-shadow: 0 0 0 4px rgba(8,5,6,.45);
  transition: background-color .5s cubic-bezier(.22,1,.36,1),
              transform .5s cubic-bezier(.22,1,.36,1),
              box-shadow .5s cubic-bezier(.22,1,.36,1);
}
.vwt-pin span{
  font-size: .78rem; font-weight: 600; color: #fff; white-space: nowrap;
  text-shadow: 0 1px 8px rgba(8,5,6,.8); opacity: .7;
  transition: opacity .5s cubic-bezier(.22,1,.36,1);
}
.vwt-pin.is-hover i, .vwt-pin:hover i{ background: #fff; transform: scale(1.15) }
.vwt-pin.is-on i{ background: #AC3749; transform: scale(1.25); box-shadow: 0 0 0 5px rgba(172,55,73,.35) }
.vwt-pin.is-on span{ opacity: 1 }

/* ── Lista de regiones · dentro del eje y en fila ──
   Sobre un mapa ancho, la lista va en fila arriba: cuatro
   opciones a la misma altura, con la activa marcada. En la
   página de Valle de Uco, donde el mapa va al costado, la
   lista sigue siendo vertical. */
.vwt-regiones-wrap{
  max-width: calc(1400px * var(--k, 1)); margin: 0 auto clamp(1.4rem,2.6vw,2rem);
  padding-inline: var(--vt-pad, clamp(1.4rem,5vw,6rem));
}
.vwt-regiones-wrap .vwt-regiones{
  display: grid; grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 0 clamp(1rem,2vw,2rem); margin-top: 0;
  border-top: 1px solid var(--vh-line, rgba(16,12,13,.1));
}
.vwt-regiones-wrap .vwt-regiones li{ border-bottom: 0 }
.vwt-regiones-wrap .vwt-reg{
  display: block; padding: clamp(.9rem,1.8vw,1.3rem) 0 0;
  border-top: 2px solid transparent; margin-top: -1px;
  transition: color .9s cubic-bezier(.22,1,.36,1), border-color .9s cubic-bezier(.22,1,.36,1);
}
.vwt-regiones-wrap .vwt-reg span{ display: block }
.vwt-regiones-wrap .vwt-reg i{ display: block; margin-top: .2rem }
.vwt-regiones-wrap .vwt-reg.is-on{ border-top-color: #AC3749 }
.vwt-regiones-wrap .vwt-regiones-n{ padding-top: calc(19.2px * var(--k, 1))}
@media (max-width: 700px){
  .vwt-regiones-wrap .vwt-regiones{ grid-template-columns: repeat(2, minmax(0,1fr)); gap: .6rem 1rem }
}

/* ── Los nombres de las regiones, siempre legibles ──
   En Luján la sección del mapa tiene fondo negro fijo, pero los
   textos tomaban el color del tema: en modo claro quedaban en
   negro sobre negro. Sobre fondo oscuro van en blanco, y sobre
   el claro de Maipú conservan la tinta del sitio. */
.vt-map .vwt-reg{ color: #fff }
.vt-map .vwt-reg i{ color: rgba(255,255,255,.62) }
.vt-map .vwt-reg:hover,
.vt-map .vwt-reg.is-on{ color: #AC3749 }
.vt-map .vwt-reg.is-on i{ color: rgba(255,255,255,.78) }
.vt-map .vwt-regiones,
.vt-map .vwt-regiones-wrap .vwt-regiones{ border-top-color: rgba(255,255,255,.2) }
.vt-map .vwt-regiones li{ border-bottom-color: rgba(255,255,255,.14) }
.vt-map .vwt-regiones-n{ color: rgba(255,255,255,.62) }
.vt-map .vwt-regiones-n a{ color: #fff; text-decoration-color: rgba(255,255,255,.45) }
.vt-map .vwt-regiones-n a:hover{ color: #AC3749; text-decoration-color: currentColor }

/* ═══ GARANTÍA DEL MAPA ═══
   El contenedor manda: define ancho y alto. Mapbox escribe medidas en línea sobre
   su propio lienzo a partir de lo que midió al iniciar; si por cualquier motivo esa
   medida quedó desactualizada, el lienzo dejaría un vacío dentro del marco. Estas
   reglas garantizan que el mapa ocupe siempre el 100% del contenedor. El !important
   es necesario porque compite contra los estilos en línea de la propia librería. */
#map, [data-mapa] > #map{ position: relative }
#map .mapboxgl-map,
#map .mapboxgl-canvas-container,
#map .mapboxgl-canvas{ width: 100% !important; height: 100% !important; top: 0 !important; left: 0 !important }
#map .mapboxgl-canvas-container{ position: absolute }

/* en el teléfono el gesto es más corto: la cortina acompaña al dedo */
@media (pointer: coarse){ #vwtCurtain{ transition-duration: .32s } }

/* ═══════════════════════════════════════════════════════════════
   ESTILOS DE LAS PÁGINAS EN INGLÉS Y PORTUGUÉS
   Estas reglas quedaron fuera cuando se depuró la hoja tomando como
   referencia únicamente las páginas en español. Se restituyen tal cual
   estaban en la hoja original: ninguna de ellas afecta a español,
   porque ninguno de sus selectores existe en las páginas españolas.
   ═══════════════════════════════════════════════════════════════ */

/* Secciones sobre fondo wine → cursor blanco */
.diff-left{cursor: var(--cur-white);}
.diff-left a, .diff-left button{cursor: var(--cur-white-p);}
/* Secciones oscuras (CTA{cursor: var(--cur-white);}
/* ─────────────────────────────────────
 10. COMPONENTES GLOBALES
───────────────────────────────────── */

/* Botones */

/* Kicker label */
.sec-kicker{display: inline-flex;
 align-items: center;
 gap: .6rem;
 font-size: .65rem;
 font-weight: 500;
 letter-spacing: .2em;
 text-transform: uppercase;
 color: var(--accent);
 margin-bottom: .8rem;}
.sec-kicker::before{content: '';
 display: block;
 width: 24px; height: 1.5px;
 background: var(--accent);}
/* Section heading */
.sec-h{font-size: clamp(2.8rem, 4.5vw, 5.5rem);
 font-weight: 600;
 line-height: 1.1;
 color: var(--text);}
.sec-h em{font-style: italic; color: var(--wine); font-weight: 800;}
/* Scroll reveal */
.sr{opacity: 0;
 transform: translateY(28px);
 transition: opacity .7s var(--ease), transform .7s var(--ease);}
.sr.d1{transition-delay: .1s;}
.sr.d2{transition-delay: .18s;}
.sr.d3{transition-delay: .26s;}
.sr.d4{transition-delay: .34s;}
.sr.d5{transition-delay: .42s;}
.hero-left{background: var(--bg);
 display: flex;
 flex-direction: column;
 justify-content: center;
 align-items: flex-start;
 padding: clamp(2.5rem, 5vw, 4rem) clamp(2rem, 5vw, 5rem);
 position: relative;
 z-index: 1;}
.hero-h1{font-size: clamp(2.8rem, 6vw, 5.5rem);
 font-weight: 600;
 line-height: 1.15;
 color: var(--ink);
 letter-spacing: -.02em;
 animation: heroSlideUp .9s var(--ease) .45s both;}
.hero-h1 em{color: var(--wine);
 font-style: italic;}
/* Scroll indicator — ELIMINADO */
.h-scroll{display: none;}
/* ── All Inclusive chip — diseño exacto ── */
/* ── All Inclusive button — desktop: circular con expand hover ── */
.h-notif{position: fixed;
 bottom: calc(1.5rem + 52px + 0.75rem);
 right: 1.5rem;
 width: 52px; height: 52px;
 border-radius: 50%;
 background: var(--wine);
 color: #fff;
 border: none; cursor: pointer;
 display: flex; align-items: center; justify-content: center;
 z-index: 799;
 overflow: hidden;
 animation: fadeUp .8s var(--ease) 1.6s both;
 transition: width .4s cubic-bezier(.4,0,.2,1),
 border-radius .4s cubic-bezier(.4,0,.2,1),
 background .25s;
 white-space: nowrap;
 box-shadow: 0 4px 20px rgba(107,29,42,.4);}
.h-notif:hover{width: 230px;
 border-radius: 26px;
 background: #8B1A2C;}
.h-notif-ring{display: none;}
.h-notif-ai{font-size: .72rem; font-weight: 700;
 letter-spacing: .08em; color: #fff;
 font-style: italic;
 flex-shrink: 0;
 transition: opacity .15s;
 position: relative; z-index: 1;}
.h-notif:hover .h-notif-ai{opacity: 0; width: 0; overflow: hidden;}
.h-notif-expand{font-size: .48rem; font-weight: 600;
 letter-spacing: .14em; text-transform: uppercase;
 color: #fff; opacity: 0;
 position: absolute;
 transition: opacity .2s .15s;
 pointer-events: none;}
.h-notif:hover .h-notif-expand{opacity: 1;}
/* ─────────────────────────────────────
 11b. TOURS / EXPERIENCIAS
───────────────────────────────────── */
#tours{padding-top: clamp(2rem, 4vw, 3.5rem);}
.exp-intro{max-width: var(--max-w);
 margin: 0 auto;
 padding: 0 var(--pad-x) clamp(1.5rem, 3vw, 2.5rem);}
.exp-intro-kicker{font-size: .62rem;
 font-weight: 500;
 letter-spacing: .22em;
 text-transform: uppercase;
 color: var(--accent);
 display: inline-flex;
 align-items: center;
 gap: .6rem;
 margin-bottom: .8rem;}
.exp-intro-kicker::before{content: '';
 display: block;
 width: 24px; height: 1.5px;
 background: var(--accent);}
.exp-intro-headline{font-size: clamp(2.2rem, 5.5vw, 4.2rem);
 font-weight: 600;
 line-height: 1.05;
 margin-bottom: 1.2rem;
 letter-spacing: -.02em;}
.exp-intro-headline em{font-style: italic; color: var(--wine);}
.exp-intro-sub{font-size: 1.05rem;
 color: var(--text-soft);
 max-width: 540px;
 line-height: 1.75;}
.exp-intro-rule{width: 40px; height: 2px;
 background: var(--accent);
 margin-top: 1.5rem;}
/* Exp block — split layout */
.exp-block{display: grid;
 grid-template-columns: 1fr 1fr;
 min-height: 80vh;
 position: relative;}
.exp-img{position: relative;
 overflow: hidden;
 will-change: transform;}
.exp-block:hover .exp-img img{transform: scale(1.04);}
.exp-num{position: absolute;
 top: 1.5rem;
 right: 1.5rem;
 font-size: .65rem;
 font-weight: 600;
 letter-spacing: .15em;
 color: #fff;
 background: rgba(26,24,22,.45);
 backdrop-filter: blur(8px);
 padding: .3rem .6rem;
 border-radius: 2px;}
.exp-body{background: var(--bg-alt);
 display: flex;
 flex-direction: column;
 justify-content: center;
 padding: clamp(2rem, 4vw, 4rem) clamp(2rem, 5vw, 4rem);
 /* Variable para que las cards de tours la consuman y abarquen todo el ancho del bloque */
 --exp-pad: clamp(2rem, 5vw, 4rem);}
.exp-cat{font-size: .75rem;
 font-weight: 500;
 letter-spacing: .15em;
 text-transform: uppercase;
 color: var(--accent);
 display: inline-flex;
 align-items: center;
 gap: .5rem;
 margin-bottom: .8rem;}
.exp-cat::before{content: '';
 display: block;
 width: 20px; height: 1px;
 background: var(--accent);}
.exp-h{font-size: clamp(1.8rem, 3.5vw, 2.8rem);
 font-weight: 800;
 line-height: 1.1;
 margin-bottom: .8rem;}
.exp-h em{font-style: italic; color: var(--wine);}
.exp-hr{width: 32px; height: 2px;
 background: var(--accent);
 margin-bottom: 1rem;}
.exp-p{font-size: 1rem;
 color: var(--text-soft);
 line-height: 1.75;
 max-width: 420px;}
/* Meta stats */
.exp-meta{display: flex;
 gap: 1.5rem;
 margin: 1.5rem calc(var(--exp-pad, 0px) * -1) 0;
 padding: 1.2rem var(--exp-pad, 0px);
 border-top: 1px solid var(--line);
 border-bottom: 1px solid var(--line);}
.exp-meta-item{display: flex;
 flex-direction: column;
 gap: .15rem;}
.exp-meta-val{font-size: 1.1rem;
 font-weight: 700;
 color: var(--wine);}
.exp-meta-lbl{font-size: .7rem;
 letter-spacing: .1em;
 text-transform: uppercase;
 color: var(--text-muted);}
/* ─── Tour links — cards editoriales con identidad premium ─── */
.exp-tours{display: flex;
 flex-direction: column;
 gap: 0;
 /* Sin margin-top: las cards son continuación directa de exp-meta */
 /* Margins negativos para que la card abarque más allá del padding del exp-body */
 margin-left: calc(var(--exp-pad, 0px) * -1);
 margin-right: calc(var(--exp-pad, 0px) * -1);
 /* Sin border-top: la línea horizontal viene del border-top de .exp-meta encima */
 /* Las cards entre sí se separan con el border-bottom de cada .exp-tour */}
.exp-tour{display: grid;
 grid-template-columns: auto 1fr auto;
 align-items: center;
 gap: 1.6rem;
 /* Padding lateral para "respirar" + vertical generoso */
 padding: 1.6rem var(--exp-pad, 1.4rem);
 border-bottom: 1px solid var(--line);
 cursor: pointer;
 position: relative;
 background: transparent;
 text-decoration: none;
 /* Línea gradient wine→gold que se revela al hover - sello de marca */
 overflow: hidden;}
/* Última card sin borde inferior para corte limpio */
.exp-tour:last-child{border-bottom: 0;}
.exp-tour::before{content: '';
 position: absolute;
 bottom: -1px;
 left: 0;
 right: 0;
 height: 2px;
 background: linear-gradient(to right, var(--wine), var(--gold));
 transform: scaleX(0);
 transform-origin: left;
 transition: transform .5s var(--ease);
 z-index: 2;}
/* Numeración estilo editorial — ancho fijo para que todos los títulos arranquen en la misma columna */
.exp-tour-num{font-family: 'Poppins', sans-serif;
 font-size: 1.8rem;
 font-weight: 300;
 font-style: italic;
 color: var(--accent);
 letter-spacing: -.02em;
 line-height: 1;
 /* Ancho fijo del número + dígitos tabulares (mismo ancho cada dígito) */
 width: 3.2rem;
 flex-shrink: 0;
 text-align: left;
 font-variant-numeric: tabular-nums;
 font-feature-settings: 'tnum';
 transition: color .3s var(--ease);
 user-select: none;}
.exp-tour-info{display: flex;
 flex-direction: column;
 gap: .35rem;
 min-width: 0;}
.exp-tour-tag{font-family: 'Poppins', sans-serif;
 font-size: .62rem;
 font-weight: 500;
 letter-spacing: .25em;
 text-transform: uppercase;
 color: var(--accent);}
.exp-tour-name{font-family: 'Poppins', sans-serif;
 font-size: 1.15rem;
 font-weight: 600;
 color: var(--text);
 letter-spacing: -.005em;
 transition: color .3s var(--ease);
 line-height: 1.2;}
.exp-tour-desc{font-family: 'Poppins', sans-serif;
 font-size: .88rem;
 font-weight: 300;
 color: var(--text-soft);
 line-height: 1.55;
 margin-top: .15rem;}
/* Flecha estilizada - flecha + línea */
.exp-tour-arr{display: inline-flex;
 align-items: center;
 justify-content: center;
 width: 42px;
 height: 42px;
 border-radius: 50%;
 border: 1px solid var(--line);
 color: var(--text-muted);
 font-size: 1rem;
 font-weight: 300;
 flex-shrink: 0;
 transition: border-color .3s var(--ease), color .3s var(--ease), background .3s var(--ease);
 font-family: 'Poppins', sans-serif;}
/* Hover desktop: cambia color del título y de la flecha + revela línea wine→gold */
.exp-tour:hover .exp-tour-name{color: var(--wine);}
.exp-tour:hover .exp-tour-num{color: var(--wine);}
.exp-tour:hover .exp-tour-arr{border-color: var(--wine);
 color: var(--wine);}
.exp-tour:hover::before{transform: scaleX(1);}
/* Modo oscuro: cambios al gold */
html[data-theme="dark"] .exp-tour:hover .exp-tour-name{color: var(--accent);}
/* ─────────────────────────────────────
 11c. FLEET
───────────────────────────────────── */
.fleet-sec{display: grid;
 grid-template-columns: 1fr 1fr;
 min-height: auto;
 background: var(--bg);}
.fleet-inner{display: flex;
 flex-direction: column;
 justify-content: center;
 padding: clamp(2rem, 4vw, 4rem) var(--pad-x);
 padding-right: clamp(1.5rem, 3vw, 3rem);}
.fleet-hdr{margin-bottom: 2.5rem;}
.fleet-hdr .sec-kicker{margin-bottom: .6rem;}
.fleet-hdr .sec-h{margin-bottom: .6rem;}
.fleet-hdr .sec-h em{font-style: italic; color: var(--wine);}
.fc-left{display: flex; flex-direction: column; gap: .15rem;}
.fc-tag{font-size: .72rem;
 letter-spacing: .08em;
 text-transform: uppercase;
 color: var(--text-muted);}
.fc-right{display: flex; align-items: center; gap: 1.5rem;}
.fc-specs{display: flex; gap: 1rem;}
.fc-spec{display: flex; flex-direction: column; align-items: flex-end; gap: .1rem;}
.fc-val{font-size: 1.05rem; font-weight: 700; color: var(--wine);}
.fc-lbl{font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted);}
.fc-arrow{font-size: .9rem; color: var(--gray); transition: none;}
.fc:hover .fc-arrow, .fc-active .fc-arrow{color: var(--wine); transform: translateX(3px);}
.fleet-visual-img{width: 100%;
 max-width: 500px;}
.fleet-visual-img img{width: 100%;
 object-fit: contain;
 transition: opacity .4s var(--ease), transform .4s var(--ease);}
.fleet-visual-img img.switching{opacity: 0;
 transform: scale(.96) translateY(8px);}
/* ─────────────────────────────────────
 11d. ABOUT — rediseño
───────────────────────────────────── */
.about-sec{display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 0;
 max-width: var(--max-w);
 margin: 0 auto;
 padding: clamp(1.5rem, 3vw, 2.5rem) var(--pad-x) clamp(3rem, 6vw, 5rem);
 align-items: center;}
.about-left{padding-right: clamp(2rem, 5vw, 5rem);}
.a-kicker{font-size: .62rem;
 letter-spacing: .2em;
 text-transform: uppercase;
 color: var(--accent);
 display: inline-flex;
 align-items: center;
 gap: .5rem;
 margin-bottom: .8rem;}
.a-kicker::before{content: '';
 display: block;
 width: 20px; height: 1.5px;
 background: var(--accent);}
.a-title{font-size: clamp(1.8rem, 3vw, 2.6rem);
 font-weight: 800;
 line-height: 1.1;
 letter-spacing: -.02em;
 margin-bottom: 1.5rem;}
.a-title em{font-style: italic; color: var(--wine);}
.a-p{font-size: .95rem;
 color: var(--text-soft);
 line-height: 1.8;
 margin-bottom: 1rem;}
.a-badge{display: inline-block;
 background: var(--wine);
 color: #fff;
 font-size: .58rem;
 font-weight: 600;
 letter-spacing: .12em;
 text-transform: uppercase;
 padding: .35rem .9rem;
 margin-top: .5rem;}
/* Columna derecha — pilares */
.about-right{padding-left: clamp(2rem, 5vw, 5rem);
 display: flex;
 flex-direction: column;
 gap: 2rem;}
.about-pillar-num{font-size: .52rem;
 font-weight: 700;
 letter-spacing: .25em;
 color: var(--wine);
 margin-bottom: .6rem;}
.about-pillar-title{font-size: .9rem;
 font-weight: 700;
 letter-spacing: .04em;
 text-transform: uppercase;
 color: var(--text);
 margin-bottom: .5rem;}
.about-pillar-desc{font-size: .9rem;
 color: var(--text-soft);
 line-height: 1.75;}
/* ─────────────────────────────────────
 11e. DIFFERENTIALS
───────────────────────────────────── */
.diff-sec{display: grid;
 grid-template-columns: 1fr 1fr;
 background: var(--bg-alt);}
.diff-left{background: var(--wine);
 padding: clamp(2rem, 5vw, 4rem) var(--pad-x);
 display: flex;
 flex-direction: column;
 justify-content: center;
 /* Fondo wine fijo → acento siempre dorado para contraste */
 --accent: var(--gold);
 --accent-lt: var(--gold-lt);}
.diff-left .sec-kicker{color: var(--accent);}
.diff-left .sec-kicker::before{background: var(--accent);}
.diff-left .sec-h{color: #fff; margin-bottom: 1.2rem;}
.diff-left .sec-h em{color: var(--accent);}
.diff-left-p{font-size: 1rem;
 color: rgba(255,255,255,.75);
 line-height: 1.75;
 max-width: 380px;
 margin-bottom: 2rem;}
.diff-cta{display: inline-block;
 font-size: .68rem;
 font-weight: 600;
 letter-spacing: .15em;
 text-transform: uppercase;
 color: var(--accent);
 border-bottom: 1px solid var(--accent);
 padding-bottom: 2px;
 transition: letter-spacing .3s;}
.diff-cta:hover{letter-spacing: .2em;}
.diff-right{display: grid;
 grid-template-columns: 1fr 1fr;
 padding: clamp(2rem, 4vw, 3.5rem);
 gap: 2rem;
 align-content: center;}
.di{display: flex;
 flex-direction: column;
 gap: .4rem;}
.di-icon{font-size: 1.5rem; margin-bottom: .3rem;}
.di-title{font-size: .7rem;
 font-weight: 700;
 letter-spacing: .12em;
 text-transform: uppercase;
 color: var(--wine);}
.di-p{font-size: .92rem;
 color: var(--text-soft);
 line-height: 1.65;}
/* ─────────────────────────────────────
 11f. FAQ
───────────────────────────────────── */
.faq-sec{display: grid;
 grid-template-columns: 1fr 1.6fr;
 gap: 4rem;
 padding: clamp(2.5rem, 5vw, 4rem) var(--pad-x) clamp(1.5rem, 3vw, 2.5rem);
 max-width: var(--max-w);
 margin: 0 auto;
 align-items: start;}
.faq-sec .sec-kicker{margin-bottom: .6rem;}
.faq-sec .sec-h{font-size: clamp(1.8rem, 3.5vw, 2.8rem);}
.faq-item{border-bottom: 1px solid var(--line);}
.faq-q{width: 100%;
 display: flex;
 align-items: center;
 justify-content: space-between;
 padding: 1.1rem 0;
 text-align: left;
 cursor: pointer;
 gap: 1rem;}
.faq-q-txt{font-size: .9rem;
 font-weight: 500;
 color: var(--text);
 transition: color .25s;}
.faq-item.open .faq-q-txt{color: var(--wine);}
.faq-plus{width: 24px; height: 24px;
 border: none;
 display: flex;
 align-items: center;
 justify-content: center;
 font-size: 1rem;
 color: var(--text-muted);
 flex-shrink: 0;
 transition: transform .35s var(--ease), color .25s;}
.faq-item.open .faq-plus{transform: rotate(45deg);
 color: var(--wine);}
.faq-ans{max-height: 0;
 overflow: hidden;
 transition: max-height .45s var(--ease);}
.faq-item.open .faq-ans{max-height: 200px;}
.faq-ai{font-size: .95rem;
 color: var(--text-soft);
 line-height: 1.75;
 padding-bottom: 1.1rem;}
/* ── Reviews / Testimonials ── */
.reviews-sec{padding: clamp(1.5rem, 3vw, 2.5rem) var(--pad-x) clamp(2rem, 4vw, 3.5rem);
 max-width: var(--max-w);
 margin: 0 auto;}
.reviews-top{display: flex;
 flex-direction: column;
 align-items: center;
 text-align: center;
 margin-bottom: 2.5rem;
 gap: 1.5rem;}
.reviews-hdr .sec-kicker{justify-content: center;
 margin-bottom: .6rem;}
.reviews-hdr .sec-h{font-size: clamp(1.8rem, 3.5vw, 2.8rem);}
.reviews-hdr .sec-h em{font-style: italic; color: var(--wine);}
.ta-badge{display: flex;
 align-items: center;
 gap: .75rem;
 padding: .75rem 1.2rem;
 border: 1px solid var(--line);
 flex-shrink: 0;}
.ta-badge img{height: 32px; width: auto;}
.ta-badge-txt{display: flex; flex-direction: column; gap: 1px;}
.ta-badge-label{font-size: .58rem;
 letter-spacing: .12em;
 text-transform: uppercase;
 color: var(--text-muted);}
.ta-badge-val{font-size: .82rem;
 font-weight: 700;
 color: var(--text);}
.reviews-grid{display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 1.5rem;}
.review-card{border: 1px solid var(--line);
 padding: 1.8rem;
 display: flex;
 flex-direction: column;
 gap: 1rem;
 /* Hover instantáneo — sin lag al pasar el mouse entre reviews */
 transition: none;
 position: relative;}
.review-card:hover{border-color: var(--wine);
 transform: translateY(-4px);}
.review-stars{display: flex;
 gap: 3px;}
.review-stars span{color: #00AA6C;
 font-size: .9rem;}
.review-text{font-size: .92rem;
 line-height: 1.7;
 color: var(--text-soft);
 flex: 1;}
.review-text::before{content: '"';
 font-size: 2.5rem;
 font-weight: 800;
 color: var(--wine);
 opacity: .15;
 line-height: .5;
 display: block;
 margin-bottom: .5rem;}
.review-author{display: flex;
 align-items: center;
 justify-content: space-between;
 padding-top: 1rem;
 border-top: 1px solid var(--line);}
.review-name{font-size: .8rem;
 font-weight: 600;
 color: var(--text);}
.review-origin{font-size: .72rem;
 color: var(--text-muted);
 display: flex;
 align-items: center;
 gap: .3rem;}
.review-date{font-size: .68rem;
 color: var(--text-muted);}
.review-ta-logo{position: absolute;
 top: 1.4rem;
 right: 1.4rem;
 opacity: .3;}
.review-ta-logo svg{width: 20px; height: 20px; fill: #00AA6C;}
/* ─────────────────────────────────────
 13. DARK MODE — via data-theme en html
───────────────────────────────────── */
html[data-theme="dark"]{--bg: #000000;
 --bg-alt: #000000;
 --bg-card: #000000;
 --text: #F5F5F5;
 --text-soft: #C0BCBA;
 --text-muted: #888480;
 --line: #1A1A1A;
 --nav-bg: #0A0908;
 --nav-text: #F5F5F5;
 --mob-bg: #0A0908;
 --ink: #F5F5F5;
 /* Modo oscuro: el acento es dorado */;
 --accent: var(--gold);
 --accent-lt: var(--gold-lt);
 --hero-ovl-mob: linear-gradient(to top,
 rgba(4,2,6,.92) 0%,
 rgba(4,2,6,.75) 35%,
 rgba(4,2,6,.40) 65%,
 rgba(4,2,6,.0) 100%);}
/* Drag handle: línea horizontal que actúa como agarradera para cerrar el popup en mobile */

.ai-popup-head{padding: 2rem 2rem 1rem;
 flex-shrink: 0;}
valledeuco
═══════════════════════════════════════════════════════════════ */

/* ── HERO LUJÁN ── */
.hero-luj{height: 100vh; height: 100svh;
 min-height: 700px;
 position: relative;
 display: grid;
 grid-template-columns: 1fr 1fr;
 overflow: hidden;
 background: #080604;}
.hero-luj-img{position: absolute; inset: 0; z-index: 0;}
.hero-luj-img img{width: 100%; height: 100%;
 object-fit: cover; object-position: center 30%;
 animation: heroZoom 30s ease-in-out infinite alternate;
 will-change: transform;}
.hero-luj-overlay{position: absolute; inset: 0; z-index: 1;
 background: linear-gradient(105deg, rgba(4,3,2,.88) 0%, rgba(4,3,2,.6) 45%, rgba(4,3,2,.3) 100%);}
.hero-luj-grain{position: absolute; inset: 0; z-index: 2; opacity: .03;
 background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
 pointer-events: none;}
.hero-luj-content{position: relative; z-index: 4;
 display: flex; flex-direction: column; justify-content: flex-end;
 padding: 9rem 4.5rem 5rem 6rem;
 grid-column: 1;}
.hero-luj-eyebrow{font-size: .52rem; letter-spacing: .44em; text-transform: uppercase;
 color: var(--accent); font-weight: 500; margin-bottom: 1.8rem;
 display: flex; align-items: center; gap: .7rem;
 animation: fadeUp .7s var(--ease) .4s both;}
.hero-luj-eyebrow::before{content: ''; width: 24px; height: 1px; background: var(--accent); opacity: .6;}
.hero-luj-h1{font-size: clamp(2.2rem, 4.5vw, 4.5rem);
 font-weight: 600; line-height: 1.08; letter-spacing: -.022em;
 color: #F0EDE8; margin-bottom: .8rem;}
.hero-luj-h1 .line{display: block; overflow: hidden; padding-bottom: .18em;}
.hero-luj-h1 .line span{display: block; animation: hLineUp .9s var(--ease) both;}
.hero-luj-h1 .line:nth-child(1) span{animation-delay: .5s;}
.hero-luj-h1 .line:nth-child(2) span{animation-delay: .65s;}
.hero-luj-h1 em{font-style: italic; color: var(--wine); font-weight: 500;}
.hero-luj-rule{width: 44px; height: 1px; background: var(--accent); opacity: .5; margin-bottom: 1.6rem; animation: fadeUp .7s var(--ease) .8s both;}
.hero-luj-sub{font-size: .92rem; color: rgba(240,237,232,.55); max-width: 420px; line-height: 1.85; margin-bottom: 1.4rem; animation: fadeUp .7s var(--ease) .9s both;}
.hero-luj-btns{display: flex; gap: 1rem; flex-wrap: wrap; animation: fadeUp .7s var(--ease) 1.05s both;}
.hero-luj-stats{position: absolute; bottom: 3rem; right: 4.5rem; z-index: 4;
 display: flex; flex-direction: column; gap: 1.6rem; align-items: flex-end;
 animation: fadeUp .7s var(--ease) 1.2s both;}
.hero-luj-stat{display: flex; flex-direction: column; align-items: flex-end; gap: .2rem;}
.hero-luj-stat-n{font-size: clamp(1.6rem, 2vw, 2.2rem); font-weight: 800; color: var(--accent); line-height: 1; letter-spacing: -.03em;}
.hero-luj-stat-l{font-size: .37rem; letter-spacing: .28em; text-transform: uppercase; color: rgba(240,237,232,.75);}
/* ── INTRO BAND ── */
.intro-band{background: var(--bg); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);}
.intro-band-inner{max-width: 1280px; margin: 0 auto; display: grid; grid-template-columns: 1fr 1fr; gap: 0;}
.intro-band-left{padding: 4rem 4.5rem; border-right: 1px solid var(--line); display: flex; flex-direction: column; justify-content: center;}
.intro-band-h{font-size: clamp(2.8rem, 4.5vw, 5.5rem); font-weight: 600; line-height: 1.05; letter-spacing: -.022em; color: var(--ink); margin-top: .6rem;}
html[data-theme="dark"] .intro-band-h{color: var(--text);}
.intro-band-h em{font-style: italic; color: var(--wine); font-weight: 500;}
.intro-band-right{padding: 4rem 4.5rem; display: flex; flex-direction: column; justify-content: center;}
.intro-band-right p{font-size: .88rem; color: var(--text-soft); line-height: 1.85;}
.pull-quote{border-left: 3px solid var(--accent); padding: 1.2rem 1.8rem; margin-top: 1.6rem; background: rgba(172, 55, 73,.04);}
.pull-quote p{font-size: 1rem; font-style: italic; color: var(--text-soft); line-height: 1.7; font-weight: 300; margin: 0 0 .5rem;}
.pull-quote cite{font-size: .42rem; letter-spacing: .28em; text-transform: uppercase; color: var(--accent); font-weight: 500; font-style: normal;}
/* ── ITINERARIO ── */
.itinerario-sec{background: var(--ink);
 width: 100vw; position: relative; left: 50%; right: 50%;
 margin-left: -50vw; margin-right: -50vw; overflow: hidden;}
html[data-theme="dark"] .itinerario-sec{background: #08060A;}
.itinerario-sec::after{content: ''; position: absolute; inset: 0;
 background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
 opacity: .03; pointer-events: none; z-index: 0;}
.itinerario-inner{width: 100%; max-width: none; margin: 0; position: relative; z-index: 1;}
.itinerario-hdr{display: grid; grid-template-columns: 1fr 1fr; gap: 0;
 padding: 5rem 6vw 4rem; align-items: end;
 border-bottom: 1px solid rgba(172, 55, 73,.14); position: relative;}
.itinerario-hdr::before{content: ''; position: absolute; top: 0; left: 6vw; right: 6vw;
 height: 1px; background: linear-gradient(to right, var(--gold), transparent); opacity: .25;}
.itinerario-hdr .kicker{color: var(--accent); opacity: .7;}
.itinerario-h{font-size: clamp(2.4rem, 4vw, 5rem); font-weight: 800; line-height: 1.0; letter-spacing: -.05em; color: #F0EDE8;}
.itinerario-h em{font-style: italic; color: var(--accent); font-weight: 300;}
.itinerario-desc{font-size: .9rem; color: rgba(240,237,232,.5); line-height: 1.9; padding-left: 4rem; border-left: 1px solid rgba(172, 55, 73,.18);}
.paso-img{position: relative; overflow: hidden; aspect-ratio: 3/4; flex-shrink: 0;}
.paso-img img{width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 1.4s var(--ease), filter 1.4s var(--ease); filter: brightness(.72) saturate(.9); transform-origin: center;}
.paso-img-num{display: block; position: absolute; top: 1.2rem; left: 1.4rem; z-index: 2; font-size: .38rem; letter-spacing: .3em; font-weight: 700; color: var(--accent); opacity: .9; text-transform: uppercase; background: rgba(10,8,6,.5); border: 1px solid rgba(172, 55, 73,.25); backdrop-filter: blur(6px); padding: .35rem .7rem; display: flex; align-items: center; gap: .4rem;}
.paso-img::after{content: ''; position: absolute; inset: 0; background: linear-gradient(to bottom, transparent 30%, rgba(10,8,6,.55) 100%); pointer-events: none; z-index: 1;}
.paso-body{padding: 2rem 2.2rem; display: flex; flex-direction: column; flex: 1;}
.paso-num-small{font-size: .38rem; letter-spacing: .38em; text-transform: uppercase; color: var(--accent); font-weight: 600; margin-bottom: .8rem; opacity: 0; transform: translateY(10px); transition: opacity .6s var(--ease), transform .6s var(--ease);}
.paso.vis .paso-num-small{opacity: .7; transform: none;}
.paso-rule{width: 32px; height: 1px; background: linear-gradient(to right, var(--gold), transparent); margin-bottom: 1rem; transform: scaleX(0); transform-origin: left; transition: transform .8s var(--ease) .1s;}
.paso.vis .paso-rule{transform: scaleX(1);}
.paso-h{font-size: clamp(1.05rem, 1.3vw, 1.5rem); font-weight: 700; line-height: 1.15; letter-spacing: -.03em; color: #F0EDE8; margin-bottom: .7rem; opacity: 0; transform: translateY(12px); transition: opacity .7s var(--ease) .14s, transform .7s var(--ease) .14s;}
.paso.vis .paso-h{opacity: 1; transform: none;}
.paso-p{font-size: .8rem; color: rgba(240,237,232,.45); line-height: 1.75; flex: 1; margin-bottom: 1.2rem; opacity: 0; transform: translateY(8px); transition: opacity .65s var(--ease) .22s, transform .65s var(--ease) .22s;}
.paso.vis .paso-p{opacity: 1; transform: none;}
.paso-tag{display: inline-flex; align-items: center; gap: .5rem; font-size: .36rem; letter-spacing: .22em; text-transform: uppercase; font-weight: 600; color: var(--accent); opacity: 0; transform: translateY(6px); transition: opacity .55s var(--ease) .28s, transform .55s var(--ease) .28s; border: 1px solid rgba(172, 55, 73,.2); padding: .4rem .8rem; align-self: flex-start;}
.paso.vis .paso-tag{opacity: 1; transform: none;}
/* Timeline */
.itin-timeline{padding: 1.4rem 6vw; border-bottom: 1px solid rgba(172, 55, 73,.1); background: rgba(172, 55, 73,.03); display: none;}
.itin-tl-track{display: flex; align-items: center; gap: 0; margin-bottom: .6rem;}
.itin-tl-dot{width: 7px; height: 7px; border-radius: 50%; background: var(--accent); opacity: .7; flex-shrink: 0;}
.itin-tl-line{flex: 1; height: 1px; background: linear-gradient(to right, rgba(172, 55, 73,.35), rgba(172, 55, 73,.1));}
.itin-tl-labels{display: flex; justify-content: space-between;}
.itin-tl-labels span{font-size: .36rem; letter-spacing: .22em; text-transform: uppercase; color: rgba(172, 55, 73,.4); font-weight: 500;}
/* ── MODALIDADES ── */
.modalidades-sec{background: var(--ink); padding: 0; position: relative; overflow: hidden;}
html[data-theme="dark"] .modalidades-sec{background: #0C0A07;}
.modalidades-sec::before{content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(to right, transparent, var(--gold), transparent); opacity: .25;}
.modalidades-hdr{padding: 5.5rem 4.5rem 4rem; display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: end; border-bottom: 1px solid rgba(255,255,255,.07);}
.modalidades-h{font-size: clamp(2.8rem, 4.5vw, 5.5rem); font-weight: 800; line-height: .97; letter-spacing: -.04em; color: #F0EDE8; margin-top: 1rem;}
.modalidades-h em{font-style: italic; color: var(--accent); font-weight: 300;}
.modalidades-sub{font-size: .88rem; color: rgba(240,237,232,.45); line-height: 1.8; max-width: 380px; margin-bottom: 2rem;}
.modalidades-grid{display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid rgba(255,255,255,.07);}
.modal-card{padding: 4rem 4.5rem; position: relative; border-right: 1px solid rgba(255,255,255,.07); display: flex; flex-direction: column; transition: background .35s;}
.modal-card:last-child{border-right: none;}
.modal-card::before{content: ''; position: absolute; top: 0; left: 4.5rem; right: 4.5rem; height: 2px; background: var(--line); opacity: .3;}
.modal-card.gold-card::before{background: linear-gradient(to right, var(--wine), var(--gold)); opacity: 1;}
.modal-badge{font-size: .42rem; letter-spacing: .32em; text-transform: uppercase; font-weight: 600; color: rgba(240,237,232,.35); margin-bottom: 2rem; display: flex; align-items: center; gap: .6rem;}
.modal-card.gold-card .modal-badge{color: var(--accent);}
.modal-badge::before{content: ''; width: 14px; height: 1px; background: currentColor; opacity: .6;}
.modal-h{font-size: clamp(2rem, 2.8vw, 3.2rem); font-weight: 800; line-height: 1; letter-spacing: -.04em; color: #F0EDE8; margin-bottom: 1.4rem;}
.modal-card.gold-card .modal-h{color: var(--accent);}
.modal-rule{width: 36px; height: 1px; background: rgba(255,255,255,.15); margin-bottom: 1.4rem;}
.modal-card.gold-card .modal-rule{background: var(--accent); opacity: .5;}
.modal-p{font-size: .88rem; color: rgba(240,237,232,.5); line-height: 1.85; flex: 1; margin-bottom: 2.4rem;}
.modal-card.gold-card .modal-p{color: rgba(240,237,232,.6);}
.modal-p strong{color: rgba(240,237,232,.85); font-weight: 500;}
.modal-disc{color: var(--accent); font-weight: 600; font-style: italic;}
.modal-includes{display: flex; flex-direction: column; gap: 0; margin-bottom: 2.5rem;}
.modal-include{display: flex; align-items: flex-start; gap: .8rem; padding: .75rem 0; border-bottom: 1px solid rgba(255,255,255,.04);}
.modal-include:first-child{border-top: 1px solid rgba(255,255,255,.04);}
.modal-include-dot{width: 6px; height: 6px; border-radius: 50%; background: rgba(255,255,255,.2); flex-shrink: 0; margin-top: .4rem;}
.modal-card.gold-card .modal-include-dot{background: var(--accent);}
.modal-include-not .modal-include-dot{background: rgba(255,255,255,.08);}
.modal-include-name{font-weight: 500; color: rgba(240,237,232,.85); display: block; margin-bottom: .1rem;}
.modal-include-not .modal-include-name{color: rgba(240,237,232,.3);}
.modal-card.gold-card .modal-include-name{color: #F0EDE8;}
.modal-include-text{font-size: .78rem; color: rgba(240,237,232,.55); line-height: 1.5;}
.modal-card.gold-card .modal-include-text{color: rgba(240,237,232,.7);}
.modal-include-not .modal-include-text{color: rgba(240,237,232,.25); text-decoration: line-through;}
.modal-cta-row{display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap;}
.modal-cta-label{font-size: .42rem; letter-spacing: .28em; text-transform: uppercase; color: rgba(240,237,232,.25);}
.modal-cta-note{font-size: .76rem; color: rgba(240,237,232,.4); margin-top: .2rem;}
.btn-modal-gold{background: var(--wine); color: #fff; border: 1px solid var(--wine); padding: .9rem 2rem; font-size: .54rem; letter-spacing: .22em; text-transform: uppercase; font-weight: 500; display: inline-flex; align-items: center; gap: .6rem; transition: background .25s, transform .2s; white-space: nowrap;}
.btn-modal-outline{background: transparent; color: rgba(240,237,232,.55); border: 1px solid rgba(255,255,255,.15); padding: .9rem 2rem; font-size: .54rem; letter-spacing: .22em; text-transform: uppercase; font-weight: 400; display: inline-flex; align-items: center; gap: .6rem; transition: border-color .25s, color .25s, transform .2s; white-space: nowrap;}
.modal-diff-note{background: rgba(172, 55, 73,.06); border: 1px solid rgba(172, 55, 73,.15); padding: 1rem 1.4rem; margin-bottom: 2rem; display: flex; align-items: flex-start; gap: .8rem;}
.modal-diff-note-icon{width: 16px; height: 16px; flex-shrink: 0; margin-top: .1rem;}
.modal-diff-note-icon svg{width: 100%; height: 100%; stroke: var(--accent); stroke-width: 1.8; fill: none;}
.modal-diff-note-text{font-size: .78rem; color: rgba(240,237,232,.55); line-height: 1.6;}
.modal-diff-note-text strong{color: var(--accent); font-weight: 500;}
/* ── MAPA ── */
.mapa-sec{display: grid; grid-template-columns: 1fr 1fr; border-top: 1px solid var(--line); background: var(--bg); min-height: 500px;}
.mapa-text{padding: 5rem 4.5rem; display: flex; flex-direction: column; justify-content: center; border-left: 1px solid var(--line);}
.datos-grid{display: flex; flex-direction: column; gap: 0; margin-top: 2rem;}
.dato-item{display: flex; align-items: flex-start; gap: 1.4rem; padding: 1.2rem 0; border-bottom: 1px solid var(--line);}
.dato-item:first-child{border-top: 1px solid var(--line);}
.dato-icon{width: 32px; height: 32px; flex-shrink: 0; border: 1px solid var(--line); display: flex; align-items: center; justify-content: center; color: var(--wine); margin-top: .1rem;}
.dato-icon svg{width: 14px; height: 14px; stroke: currentColor; stroke-width: 1.8; fill: none;}
.dato-info{display: flex; flex-direction: column; gap: .15rem;}
.dato-label{font-size: .4rem; letter-spacing: .26em; text-transform: uppercase; color: var(--text-muted); font-weight: 500;}
.dato-val{font-size: .9rem; font-weight: 600; color: var(--ink); letter-spacing: -.01em;}
/* ── CTA FINAL ── */

/* ── OTROS TOURS ── */
.otros-sec{background: var(--bg); padding: 3.5rem 4.5rem;}
.otros-inner{max-width: 1280px; margin: 0 auto;}
.otros-hdr{display: flex; align-items: flex-end; justify-content: space-between; gap: 2rem; margin-bottom: 3.5rem; flex-wrap: wrap;}
.otros-h{font-size: clamp(1.8rem, 2.5vw, 2.8rem); font-weight: 800; line-height: 1.1; letter-spacing: -.03em; color: var(--ink);}
html[data-theme="dark"] .otros-h{color: var(--text);}
.otros-h em{font-style: italic; color: var(--wine);}
.otros-grid{display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 0; border: 1px solid var(--line);}
.otro-card{display: flex; flex-direction: column; border-right: 1px solid var(--line); text-decoration: none; position: relative; overflow: hidden; transition: background .25s;}
.otro-card:last-child{border-right: none;}
.otro-card::after{content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 2px; background: linear-gradient(to right, var(--wine), var(--gold)); transform: scaleX(0); transform-origin: left; transition: transform .4s var(--ease);}
.otro-media{height: 340px; overflow: hidden; flex-shrink: 0;}
.otro-media-sm{height: 180px; overflow: hidden; flex-shrink: 0;}
.otro-media img, .otro-media-sm img{width: 100%; height: 100%; object-fit: cover; transition: transform 1.2s var(--ease);}
.otro-body{padding: 1.6rem 1.8rem 2rem; display: flex; flex-direction: column; flex: 1;}
.otro-tag{font-size: .4rem; letter-spacing: .28em; text-transform: uppercase; color: var(--accent); font-weight: 500; margin-bottom: .6rem;}
.otro-h-card{font-size: clamp(.9rem, 1.2vw, 1.2rem); font-weight: 700; color: var(--ink); letter-spacing: -.02em; margin-bottom: .5rem; line-height: 1.2;}
.otro-p-card{font-size: .76rem; color: var(--text-soft); line-height: 1.6; flex: 1; margin-bottom: 1rem;}
.otro-link{font-size: .46rem; letter-spacing: .22em; text-transform: uppercase; color: var(--wine); font-weight: 600; display: flex; align-items: center; gap: .4rem; transition: gap .25s;}
/* kicker helper for this page */
.kicker.left{display: inline-flex; align-items: center; gap: .5rem; font-size: .55rem; letter-spacing: .22em; text-transform: uppercase; color: var(--text-muted); font-weight: 500;}
.kicker.left::before{content: ''; display: block; width: 20px; height: 1px; background: var(--wine); opacity: .6;}
/* ═══════════════════════════════════════════════════════════════
 18. PÁGINA — ALTA MONTAÑA
═══════════════════════════════════════════════════════════════ */

.hero-am{height: 100vh;
 height: 100svh;
 min-height: 700px;
 position: relative;
 overflow: hidden;
 background: #060A0F;
 display: flex;
 align-items: stretch;}
.hero-am-img{position: absolute;
 inset: 0;
 z-index: 0;}
.hero-am-img img{width: 100%; height: 100%;
 object-fit: cover;
 object-position: center 45%;
 animation: heroZoom 35s ease-in-out infinite alternate;
 will-change: transform;
 filter: brightness(.75) contrast(1.08) saturate(.85);}
/* Gradiente multicapa — oscuro abajo, cielo arriba */
.hero-am-overlay{position: absolute; inset: 0; z-index: 1;
 background:
 linear-gradient(to top, rgba(4,6,10,1) 0%, rgba(4,6,10,.88) 35%, rgba(4,6,10,.4) 60%, rgba(4,6,10,.15) 80%, transparent 100%),
 linear-gradient(to right, rgba(4,6,10,.55) 0%, transparent 60%);}
/* Grain texture */
.hero-am-grain{position: absolute; inset: 0; z-index: 2; opacity: .04;
 background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
 pointer-events: none;}
/* Altitud indicator — barra lateral derecha */
.hero-am-altbar{position: absolute;
 right: 3.5rem; top: 50%; transform: translateY(-50%);
 z-index: 5;
 display: flex;
 flex-direction: column;
 align-items: center;
 gap: .6rem;
 animation: fadeUp 1s var(--ease) 1.6s both;}
.hero-am-altbar-line{width: 1px; height: 80px;
 background: linear-gradient(to bottom, transparent, rgba(172, 55, 73,.5));
 flex-shrink: 0;}
.hero-am-altbar-num{font-size: .38rem;
 letter-spacing: .32em;
 text-transform: uppercase;
 color: rgba(172, 55, 73,.6);
 writing-mode: vertical-rl;
 transform: rotate(180deg);
 white-space: nowrap;}
.hero-am-altbar-line2{width: 1px; height: 80px;
 background: linear-gradient(to top, transparent, rgba(172, 55, 73,.5));
 flex-shrink: 0;}
/* Contenido hero */
.hero-am-content{position: relative;
 z-index: 4;
 padding: 100px 4.5rem 4rem;
 max-width: 860px;
 width: 100%;
 display: flex;
 flex-direction: column;
 justify-content: flex-end;
 height: 100%;}
.hero-am-eyebrow{font-size: .52rem;
 letter-spacing: .28em;
 text-transform: uppercase;
 color: var(--accent);
 font-weight: 500;
 margin-bottom: 1.8rem;
 display: flex;
 align-items: center;
 gap: .6rem;
 white-space: nowrap;
 overflow: hidden;
 animation: fadeUp .8s var(--ease) .4s both;}
.hero-am-eyebrow::before{content: '';
 width: 32px; height: 1px;
 background: var(--accent);
 opacity: .6;
 flex-shrink: 0;}
.hero-am-h1{font-size: clamp(2.6rem, 4.2vw, 5.5rem);
 font-weight: 800;
 line-height: 1.0;
 letter-spacing: -.04em;
 color: #fff;
 margin-bottom: 1.6rem;}
.hero-am-h1 .line{display: block; overflow: hidden; padding-bottom: .18em;}
.hero-am-h1 .line span{display: block;
 animation: fadeUp .9s var(--ease) both;}
.hero-am-h1 .line:nth-child(1) span{animation-delay: .5s;}
.hero-am-h1 .line:nth-child(2) span{animation-delay: .65s;}
.hero-am-h1 .line:nth-child(3) span{animation-delay: .8s;}
.hero-am-h1 em{font-style: italic;
 color: var(--accent-lt);
 font-weight: 300;}
.hero-am-rule{width: 52px; height: 1px;
 background: linear-gradient(to right, var(--gold), transparent);
 margin-bottom: 1.6rem;
 animation: fadeUp .8s var(--ease) .9s both;}
.hero-am-sub{font-size: .92rem;
 color: rgba(240,237,232,.62);
 max-width: 480px;
 line-height: 1.85;
 margin-bottom: 2.4rem;
 animation: fadeUp .8s var(--ease) 1.0s both;}
.hero-am-btns{display: flex;
 gap: 1rem;
 flex-wrap: wrap;
 animation: fadeUp .8s var(--ease) 1.15s both;}
/* Stats strip en el hero */
.hero-am-stats{display: flex;
 gap: 2.4rem;
 margin-top: 2rem;
 padding-top: 1.6rem;
 border-top: 1px solid rgba(172, 55, 73,.15);
 animation: fadeUp .8s var(--ease) 1.3s both;}
.hero-am-stat{display: flex; flex-direction: column; gap: .2rem;}
.hero-am-stat-n{font-size: clamp(1.6rem, 2vw, 2.2rem);
 font-weight: 700;
 color: #fff;
 letter-spacing: -.03em;
 line-height: 1;}
.hero-am-stat-l{font-size: .42rem;
 letter-spacing: .22em;
 text-transform: uppercase;
 color: rgba(240,237,232,.4);
 font-weight: 500;}
/* ─────────────────────────────────────
 INTRO BAND — STORYTELLING
───────────────────────────────────── */
.intro-am{background: var(--bg);
 border-top: 1px solid var(--line);
 border-bottom: 1px solid var(--line);}
.intro-am-inner{max-width: 1280px;
 margin: 0 auto;
 display: grid;
 grid-template-columns: 5fr 7fr;
 gap: 0;}
.intro-am-left{padding: 5.5rem 4.5rem 5.5rem 4.5rem;
 border-right: 1px solid var(--line);
 display: flex;
 flex-direction: column;
 justify-content: center;
 position: relative;}
.intro-am-left::before{content: '';
 position: absolute;
 top: 0; bottom: 0; left: 0;
 width: 2px;
 background: linear-gradient(to bottom, transparent 10%, rgba(28,43,58,.25) 40%, var(--gold) 70%, transparent 90%);
 opacity: .4;}
.intro-am-h{font-size: clamp(1.9rem, 2.8vw, 3.4rem);
 font-weight: 800;
 line-height: 1.05;
 letter-spacing: -.04em;
 color: var(--ink);
 margin-top: .6rem;}
html[data-theme="dark"] .intro-am-h{color: var(--text);}
.intro-am-h em{font-style: italic; color: var(--wine); font-weight: 300;}
.intro-am-right{padding: 5.5rem 4.5rem;
 display: flex;
 flex-direction: column;
 justify-content: center;
 gap: 1.6rem;}
.intro-am-right p{font-size: .9rem;
 color: var(--text-soft);
 line-height: 1.9;}
.intro-am-quote{border-left: 2px solid var(--accent);
 padding: 1.2rem 1.8rem;
 background: var(--bg-alt);
 margin-top: .4rem;}
.intro-am-quote p{font-size: .88rem;
 font-style: italic;
 color: var(--text-soft);
 line-height: 1.75;}
.intro-am-quote cite{font-size: .46rem;
 letter-spacing: .24em;
 text-transform: uppercase;
 font-style: normal;
 color: var(--accent);
 font-weight: 500;
 display: block;
 margin-top: .7rem;}
4 columnas
───────────────────────────────────── */
.paradas-sec{background: var(--ink);
 width: 100vw;
 position: relative;
 left: 50%;
 right: 50%;
 margin-left: -50vw;
 margin-right: -50vw;
 overflow: hidden;}
html[data-theme="dark"] .paradas-sec{background: #08060A;}
.paradas-sec::after{content: '';
 position: absolute; inset: 0;
 background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 512 512' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
 opacity: .015;
 pointer-events: none;
 z-index: 0;}
.paradas-inner{position: relative;
 z-index: 1;
 width: 100%;}
.paradas-hdr{display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 0;
 padding: 5rem 6vw 4rem;
 align-items: end;
 border-bottom: 1px solid rgba(172, 55, 73,.12);
 position: relative;}
.paradas-hdr::before{content: '';
 position: absolute;
 top: 0; left: 6vw; right: 6vw; height: 1px;
 background: linear-gradient(to right, var(--gold), transparent);
 opacity: .2;}
.paradas-h{font-size: clamp(2.4rem, 4vw, 5rem);
 font-weight: 800;
 line-height: 1.0;
 letter-spacing: -.05em;
 color: #F0EDE8;}
.paradas-h em{font-style: italic; color: var(--accent); font-weight: 300;}
.paradas-desc{font-size: .9rem;
 color: rgba(240,237,232,.48);
 line-height: 1.9;
 padding-left: 4rem;
 border-left: 1px solid rgba(172, 55, 73,.15);}
/* Grid 4 columnas */
.paradas-grid{display: grid;
 grid-template-columns: repeat(4, 1fr);
 gap: 0;}
.parada-img{position: absolute;
 inset: 0;
 overflow: hidden;}
.parada-img img{width: 100%; height: 100%;
 object-fit: cover;
 display: block;
 transition: transform 1.4s var(--ease), filter 1.4s var(--ease);
 filter: brightness(.65) saturate(.75);}
.parada-img::after{content: '';
 position: absolute; inset: 0;
 background: linear-gradient(to bottom, transparent 35%, rgba(6,8,12,.85) 100%);
 pointer-events: none; z-index: 1;}
.parada-img-num{display: block;
 position: absolute;
 bottom: 1rem; left: 1.4rem;
 font-size: 5rem; font-weight: 800; line-height: 1;
 letter-spacing: -.08em;
 color: rgba(255,255,255,.05);
 z-index: 2; pointer-events: none;
 font-style: italic;
 -webkit-text-stroke: 1px rgba(172, 55, 73,.07);
 transition: color .5s var(--ease);}
/* Altitude badge flotante en esquina superior */
.parada-alt-badge{position: absolute;
 top: 1rem; right: 1rem;
 z-index: 4;
 display: flex;
 flex-direction: column;
 align-items: center;
 background: rgba(4,6,10,.7);
 border: 1px solid rgba(172, 55, 73,.25);
 padding: .5rem .8rem;
 opacity: 0;
 transform: translateY(-6px);
 transition: opacity .6s var(--ease) .3s, transform .6s var(--ease) .3s;}
.parada.vis .parada-alt-badge{opacity: 1; transform: none;}
.parada-alt-n{font-size: .78rem; font-weight: 700;
 color: var(--accent-lt);
 letter-spacing: -.01em;
 line-height: 1;}
.parada-alt-l{font-size: .3rem; letter-spacing: .22em;
 text-transform: uppercase;
 color: rgba(172, 55, 73,.55);
 font-weight: 500;
 margin-top: .15rem;}
.parada-body{position: relative;
 z-index: 2;
 margin-top: auto;
 padding: 2rem 2rem 1.8rem;
 display: flex;
 flex-direction: column;}
.parada-num-small{font-size: .38rem; letter-spacing: .38em; text-transform: uppercase;
 color: var(--accent); font-weight: 600; margin-bottom: .8rem;
 opacity: 0; transform: translateY(10px);
 transition: opacity .6s var(--ease), transform .6s var(--ease);}
.parada-body.vis .parada-num-small{opacity: .7; transform: none;}
.parada-rule{width: 28px; height: 1px;
 background: linear-gradient(to right, var(--gold), transparent);
 margin-bottom: .9rem;
 transform: scaleX(0); transform-origin: left;
 transition: transform .8s var(--ease) .1s;}
.parada-body.vis .parada-rule{transform: scaleX(1);}
.parada-h{font-size: clamp(1rem, 1.3vw, 1.4rem);
 font-weight: 700; line-height: 1.15;
 letter-spacing: -.02em; color: #F0EDE8;
 margin-bottom: .65rem;
 opacity: 0; transform: translateY(12px);
 transition: opacity .7s var(--ease) .12s, transform .7s var(--ease) .12s;}
.parada-body.vis .parada-h{opacity: 1; transform: none;}
.parada-p{font-size: .8rem; color: rgba(240,237,232,.42);
 line-height: 1.75; flex: 1; margin-bottom: 1.2rem;
 opacity: 0; transform: translateY(8px);
 transition: opacity .65s var(--ease) .2s, transform .65s var(--ease) .2s;}
.parada-body.vis .parada-p{opacity: 1; transform: none;}
.parada-tag{display: inline-flex; align-items: center; gap: .5rem;
 font-size: .34rem; letter-spacing: .22em; text-transform: uppercase;
 font-weight: 600; color: var(--accent);
 border: 1px solid rgba(172, 55, 73,.18);
 padding: .35rem .75rem; align-self: flex-start;
 opacity: 0; transform: translateY(6px);
 transition: opacity .55s var(--ease) .27s, transform .55s var(--ease) .27s;}
.parada-body.vis .parada-tag{opacity: 1; transform: none;}
/* Timeline de horas */
.paradas-timeline{display: grid;
 grid-template-columns: repeat(4,1fr);
 padding: 0 0;
 border-top: 1px solid rgba(172, 55, 73,.1);}
.ptl-item{display: flex;
 align-items: center;
 gap: .8rem;
 padding: 1.2rem 2rem;
 border-right: 1px solid rgba(172, 55, 73,.08);
 position: relative;}
.ptl-item:last-child{border-right: none;}
.ptl-dot{width: 6px; height: 6px; border-radius: 50%;
 background: var(--accent); opacity: .5; flex-shrink: 0;}
.ptl-time{font-size: .52rem; font-weight: 600;
 letter-spacing: .06em; color: rgba(172, 55, 73,.7);}
.ptl-lbl{font-size: .42rem; letter-spacing: .12em;
 text-transform: uppercase; color: rgba(240,237,232,.3);
 font-weight: 400;}
/* ─────────────────────────────────────
 EXPERIENCIA — SECCIÓN STORYTELLING
───────────────────────────────────── */
.experiencia-sec{background: var(--bg);
 padding: 7rem 4.5rem;
 position: relative;
 overflow: hidden;}
/* Fondo decorativo — silueta montaña abstracta */
.experiencia-sec::before{content: '';
 position: absolute;
 bottom: 0; left: 0; right: 0;
 height: 220px;
 background: var(--bg-alt);
 clip-path: polygon(0 40%, 10% 20%, 22% 35%, 38% 5%, 50% 25%, 65% 0%, 78% 18%, 90% 8%, 100% 22%, 100% 100%, 0 100%);
 opacity: .5;}
.experiencia-inner{max-width: 1280px;
 margin: 0 auto;
 display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 6rem;
 align-items: center;
 position: relative;
 z-index: 1;}
.exp-left .kicker{margin-bottom: 1.2rem;}
.exp-am-h{font-size: clamp(2.8rem, 4.5vw, 5.5rem);
 font-weight: 800;
 line-height: 1.05;
 letter-spacing: -.04em;
 color: var(--ink);
 margin-bottom: 2rem;}
html[data-theme="dark"] .exp-am-h{color: var(--text);}
.exp-am-h em{font-style: italic; color: var(--wine); font-weight: 300;}
.exp-am-body{display: flex;
 flex-direction: column;
 gap: 1.4rem;}
.exp-am-body p{font-size: .88rem;
 color: var(--text-soft);
 line-height: 1.9;}
.exp-am-body strong{color: var(--ink); font-weight: 600;}
.exp-divider{display: flex; align-items: center; gap: 1rem;
 margin: .4rem 0;}
.exp-divider-line{flex: 1; height: 1px; background: var(--line);}
.exp-divider-icon{font-size: 1rem; opacity: .35;}
.exp-right{display: flex;
 flex-direction: column;
 gap: 1.2rem;}
.exp-stat-card{background: var(--bg-alt);
 border: 1px solid var(--line);
 padding: 1.8rem 2rem;
 position: relative;
 overflow: hidden;
 transition: transform .3s var(--ease), box-shadow .3s var(--ease);}
.exp-stat-card::before{content: '';
 position: absolute;
 left: 0; top: 0; bottom: 0;
 width: 2px;
 background: linear-gradient(to bottom, var(--wine), var(--gold));
 opacity: .5;}
.exp-stat-num{font-size: 2.2rem;
 font-weight: 800;
 letter-spacing: -.04em;
 color: var(--ink);
 line-height: 1;
 margin-bottom: .3rem;}
.exp-stat-label{font-size: .52rem;
 letter-spacing: .2em;
 text-transform: uppercase;
 color: var(--accent);
 font-weight: 600;
 margin-bottom: .5rem;}
.exp-stat-desc{font-size: .8rem;
 color: var(--text-muted);
 line-height: 1.6;}
/* ─────────────────────────────────────
 MODALIDADES — SECCIÓN
───────────────────────────────────── */
.modalidades-am{background: linear-gradient(160deg, #0A0908 0%, #120F0A 30%, #1A1610 60%, #0E0C09 100%);
 padding: 7rem 0;
 position: relative;
 overflow: hidden;
 width: 100vw;
 position: relative;
 left: 50%;
 right: 50%;
 margin-left: -50vw;
 margin-right: -50vw;}
.modalidades-am::before{content: '';
 position: absolute;
 top: 50%; left: 50%;
 transform: translate(-50%,-50%);
 width: 700px; height: 500px;
 background: radial-gradient(ellipse, rgba(172, 55, 73,.06) 0%, transparent 70%);
 pointer-events: none;}
.modalidades-am-inner{max-width: 1480px;
 margin: 0 auto;
 padding: 0 3rem;
 position: relative;
 z-index: 1;}
.modalidades-am-hdr{display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 0;
 margin-bottom: 4rem;
 align-items: end;}
.modalidades-am-h{font-size: clamp(2.8rem, 4.5vw, 5.5rem);
 font-weight: 800;
 line-height: 1.0;
 letter-spacing: -.04em;
 color: #F0EDE8;}
.modalidades-am-h em{font-style: italic; color: var(--accent); font-weight: 300;}
.modalidades-am-sub{font-size: 1.02rem;
 color: rgba(240,237,232,.65);
 line-height: 1.9;
 padding-left: 4rem;
 border-left: 1px solid rgba(172, 55, 73,.15);}
/* Single-card layout */
.modal-am-single{display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 0;
 border: 1px solid rgba(172, 55, 73,.18);
 background: rgba(255,255,255,.03);}
.modal-am-single::before{content: '';
 grid-column: 1 / -1;
 height: 2px;
 background: linear-gradient(to right, var(--wine), var(--gold), transparent);
 opacity: .7;}
.modal-am-single-left{padding: 3rem 3.5rem 3rem;
 border-right: 1px solid rgba(172, 55, 73,.12);}
.modal-am-single-right{padding: 3rem 3.5rem 3rem;}
.modal-am-col-hdr{font-size: .38rem;
 letter-spacing: .32em;
 text-transform: uppercase;
 color: var(--accent);
 font-weight: 600;
 margin-bottom: 1.2rem;
 opacity: .8;}
/* Linea decorativa top */

.modal-am-badge{font-size: .38rem;
 letter-spacing: .32em;
 text-transform: uppercase;
 color: rgba(172, 55, 73,.55);
 font-weight: 500;
 margin-bottom: 1.4rem;}
.modal-am-h{font-size: clamp(1.8rem, 2.5vw, 3rem);
 font-weight: 800;
 line-height: 1.0;
 letter-spacing: -.04em;
 color: #F0EDE8;
 margin-bottom: 1.4rem;}
.modal-am-rule{width: 36px; height: 1px;
 background: linear-gradient(to right, rgba(172, 55, 73,.4), transparent);
 margin-bottom: 1.6rem;}
.modal-am-p{font-size: 1.02rem;
 color: rgba(240,237,232,.45);
 line-height: 1.85;
 margin-bottom: 2rem;}
.modal-am-p strong{color: rgba(240,237,232,.82); font-weight: 500;}
/* Includes list */
.modal-am-list{display: flex;
 flex-direction: column;
 gap: .9rem;
 margin-bottom: 2.4rem;}
.modal-am-item{display: flex;
 align-items: flex-start;
 gap: 1rem;
 padding: 1rem 0;}
.modal-am-dot{width: 5px; height: 5px;
 border-radius: 50%;
 background: rgba(172, 55, 73,.3);
 flex-shrink: 0;
 margin-top: .45rem;}
.modal-am-item-not .modal-am-dot{background: rgba(172, 55, 73,.12);}
.modal-am-item-name{display: block;
 font-size: .98rem;
 font-weight: 600;
 color: rgba(240,237,232,.7);
 letter-spacing: .04em;
 line-height: 1.3;
 margin-bottom: .1rem;}
.modal-am-item-not .modal-am-item-name{color: rgba(240,237,232,.3); text-decoration: line-through; text-decoration-color: rgba(240,237,232,.15);}
.modal-am-item-desc{display: block;
 font-size: .86rem;
 color: rgba(240,237,232,.55);
 line-height: 1.5;}
/* CTA row */
.modal-am-cta{display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 1rem;
 padding-top: 1.6rem;
 border-top: 1px solid rgba(172, 55, 73,.1);
 flex-wrap: wrap;}
.modal-am-cta-label{font-size: .38rem;
 letter-spacing: .26em;
 text-transform: uppercase;
 color: rgba(172, 55, 73,.45);
 font-weight: 500;}
.modal-am-cta-note{font-size: .72rem;
 color: rgba(240,237,232,.35);
 margin-top: .15rem;}
.btn-modal-am{display: inline-flex; align-items: center; gap: .6rem;
 border: 1px solid rgba(172, 55, 73,.25);
 color: rgba(172, 55, 73,.7);
 padding: .7rem 1.6rem;
 font-size: .5rem; letter-spacing: .2em; font-weight: 500;
 text-transform: uppercase;
 transition: border-color .25s, color .25s, background .25s;
 white-space: nowrap;}
.btn-modal-am:hover{border-color: var(--accent); color: var(--accent); background: rgba(172, 55, 73,.05);}
.btn-modal-am-gold{background: var(--wine);
 border: 1px solid var(--wine);
 color: #fff;
 padding: .7rem 1.6rem;
 font-size: .5rem; letter-spacing: .2em; font-weight: 500;
 text-transform: uppercase;
 display: inline-flex; align-items: center; gap: .6rem;
 transition: background .25s, transform .2s;
 white-space: nowrap;}
.btn-modal-am-gold:hover{background: var(--wine-mid); transform: translateY(-2px);}
/* Promo badge */

/* ─────────────────────────────────────
 DIFERENCIAL SECTION
───────────────────────────────────── */
.diferencial-sec{background: var(--bg);
 padding: 7rem 4.5rem;
 border-top: 1px solid var(--line);}
.diferencial-inner{max-width: 1280px;
 margin: 0 auto;}
.diferencial-hdr{text-align: center;
 margin-bottom: 5rem;}
.diferencial-h{font-size: clamp(2.8rem, 4.5vw, 5.5rem);
 font-weight: 800;
 letter-spacing: -.04em;
 line-height: 1.05;
 color: var(--ink);
 margin-top: .8rem;}
html[data-theme="dark"] .diferencial-h{color: var(--text);}
.diferencial-h em{font-style: italic; color: var(--wine); font-weight: 300;}
.diferencial-sub{font-size: .88rem;
 color: var(--text-muted);
 max-width: 560px;
 margin: 1.2rem auto 0;
 line-height: 1.8;}
.diferencial-grid{display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 0;
 border: 1px solid var(--line);}
.di-am{padding: 2.8rem 2.6rem;
 border-right: 1px solid var(--line);
 position: relative;
 overflow: hidden;
 transition: background .3s var(--ease);}
.di-am:nth-child(3){border-right: none;}
.di-am:nth-child(4), .di-am:nth-child(5), .di-am:nth-child(6){border-top: 1px solid var(--line);}
.di-am::before{content: '';
 position: absolute; bottom: 0; left: 0; right: 0; height: 2px;
 background: linear-gradient(to right, var(--wine), var(--gold), transparent);
 transform: scaleX(0); transform-origin: left;
 transition: transform .5s var(--ease);}
.di-am-icon{font-size: 1.6rem;
 margin-bottom: 1.4rem;
 display: block;}
.di-am-title{font-size: .62rem;
 letter-spacing: .18em;
 text-transform: uppercase;
 font-weight: 700;
 color: var(--wine);
 margin-bottom: .7rem;}
.di-am-p{font-size: .82rem;
 color: var(--text-soft);
 line-height: 1.8;}
/* ── MAPA DE RUTA ALTA MONTAÑA ── */
.ruta-map-sec{position: relative;
 width: 100%;
 height: 55vh;
 min-height: 480px;
 overflow: hidden;}
#map-ruta{position: absolute;
 inset: 0;
 width: 100%;
 height: 100%;
 background: #060A0F;}
/* Panel legend superpuesto — esquina inferior izquierda */
.ruta-map-overlay{position: absolute;
 inset: 0;
 z-index: 2;
 pointer-events: none;
 display: flex;
 align-items: flex-end;
 padding: 2rem;}
.ruta-map-legend{background: rgba(6, 8, 12, 0.82);
 border: 1px solid rgba(172, 55, 73, 0.2);
 backdrop-filter: blur(12px);
 -webkit-backdrop-filter: blur(12px);
 padding: 1.4rem 1.6rem;
 pointer-events: all;
 min-width: 220px;}
html[data-theme="light"] .ruta-map-legend{background: rgba(242, 234, 220, 0.94);
 border-color: rgba(154, 122, 58, 0.25);}
no se puede quitar */

.rml-title{font-size: .38rem;
 letter-spacing: .32em;
 text-transform: uppercase;
 color: var(--accent);
 font-weight: 600;
 margin-bottom: 1rem;
 opacity: .8;}
.rml-items{display: flex;
 flex-direction: column;
 gap: .6rem;}
.rml-item{display: flex;
 align-items: center;
 gap: .8rem;}
.rml-num{width: 20px;
 height: 20px;
 border-radius: 50%;
 background: var(--accent);
 color: #0A0804;
 font-size: .5rem;
 font-weight: 700;
 display: flex;
 align-items: center;
 justify-content: center;
 flex-shrink: 0;
 line-height: 1;}
.rml-info{display: flex; flex-direction: column; gap: .1rem;}
.rml-name{font-size: .72rem;
 font-weight: 600;
 color: rgba(240, 237, 232, .85);
 line-height: 1.2;}
.rml-alt{font-size: .5rem;
 letter-spacing: .12em;
 text-transform: uppercase;
 color: rgba(172, 55, 73, .55);
 font-weight: 400;}
/* Marcadores del mapa */
.rml-marker{width: 22px;
 height: 22px;
 border-radius: 50%;
 background: rgba(10, 8, 6, 0.9);
 color: #AC3749;
 font-size: .48rem;
 font-weight: 700;
 display: flex;
 align-items: center;
 justify-content: center;
 cursor: pointer;
 border: 1.5px solid rgba(172, 55, 73, 0.7);
 box-shadow: 0 0 0 4px rgba(172, 55, 73, 0.12), 0 2px 12px rgba(0,0,0,.6);
 transition: transform .25s, box-shadow .25s;
 font-family: 'Poppins', sans-serif;
 letter-spacing: .02em;}
/* ═══════════════════════════════════════════════════════════════
 19. PÁGINA — 4X4 EXPERIENCE
═══════════════════════════════════════════════════════════════ */

.hero-4x4{height: 100vh; height: 100svh;
 min-height: 700px;
 position: relative;
 overflow: hidden;
 background: #080604;}
.hero-4x4-img{position: absolute; inset: 0; z-index: 0;}
.hero-4x4-img img{width: 100%; height: 100%;
 object-fit: cover; object-position: center 40%;
 animation: heroZoom 30s ease-in-out infinite alternate;
 will-change: transform;}
.hero-4x4-overlay{position: absolute; inset: 0; z-index: 1;
 background: linear-gradient(
 160deg,
 rgba(4,3,2,.92) 0%,
 rgba(4,3,2,.65) 40%,
 rgba(4,3,2,.35) 70%,
 rgba(4,3,2,.55) 100%
 );}
.hero-4x4-grain{position: absolute; inset: 0; z-index: 2; opacity: .04;
 background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
 pointer-events: none;}
/* Dust particles */
.hero-4x4-dust{position: absolute; inset: 0; z-index: 3; pointer-events: none; overflow: hidden;}
/* Content */
.hero-4x4-content{position: relative; z-index: 4;
 display: flex; flex-direction: column;
 justify-content: flex-end;
 padding: 9rem 4.5rem 5rem 6rem;
 height: 100%;
 max-width: 720px;}
.hero-4x4-eyebrow{font-size: .52rem; letter-spacing: .44em; text-transform: uppercase;
 color: var(--accent); font-weight: 500; margin-bottom: 1.8rem;
 display: flex; align-items: center; gap: .7rem;
 animation: fadeUp .7s var(--ease) .4s both;}
.hero-4x4-eyebrow::before{content: ''; width: 24px; height: 1px; background: var(--accent); opacity: .6;}
.hero-4x4-h1{font-size: clamp(2.6rem, 4.2vw, 5.5rem);
 font-weight: 800; line-height: .92; letter-spacing: -.05em;
 color: #F0EDE8; margin-bottom: 1rem;}
.hero-4x4-h1 .line{display: block; overflow: hidden; padding-bottom: .18em;}
.hero-4x4-h1 .line span{display: block; animation: fadeUp .9s var(--ease) both;}
.hero-4x4-h1 .line:nth-child(1) span{animation-delay: .5s;}
.hero-4x4-h1 .line:nth-child(2) span{animation-delay: .65s;}
.hero-4x4-h1 em{font-style: italic; color: var(--accent); font-weight: 300;}
.hero-4x4-sub-line{font-size: 1.1rem; font-weight: 300; font-style: italic;
 color: rgba(172, 55, 73,.7); letter-spacing: .02em;
 margin-bottom: 2rem;
 animation: fadeUp .7s var(--ease) .85s both;}
.hero-4x4-rule{width: 44px; height: 1px; background: var(--accent); opacity: .5; margin-bottom: 1.6rem; animation: fadeUp .7s var(--ease) .95s both;}
.hero-4x4-sub{font-size: .92rem; color: rgba(240,237,232,.5);
 max-width: 420px; line-height: 1.85; margin-bottom: 2.8rem;
 animation: fadeUp .7s var(--ease) 1s both;}
.hero-4x4-btns{display: flex; gap: 1rem; flex-wrap: wrap; animation: fadeUp .7s var(--ease) 1.15s both;}
/* btn-g visible sobre hero oscuro */

/* cta btn-g visible sobre fondo oscuro */

/* Stats column */
.hero-4x4-stats{position: absolute; bottom: 3rem; right: 4.5rem; z-index: 4;
 display: flex; gap: 3rem; align-items: flex-end;
 animation: fadeUp .7s var(--ease) 1.3s both;}
.hero-4x4-stat{display: flex; flex-direction: column; align-items: center; gap: .2rem;}
.hero-4x4-stat-n{font-size: clamp(1.6rem, 2vw, 2.2rem); font-weight: 800; color: var(--accent); line-height: 1; letter-spacing: -.03em;}
.hero-4x4-stat-l{font-size: .34rem; letter-spacing: .28em; text-transform: uppercase; color: rgba(240,237,232,.5); text-align: center;}
/* Scroll indicator */

/* ─────────────────────────────────────
 CONCEPTO — SPLIT SCREEN
───────────────────────────────────── */
html[data-theme="dark"] .concepto-h{color: var(--text);}
2.2rem)
 Stats label: .37rem / letter-spacing: .2em
═══════════════════════════════════════════════════════════════ */

/* ── HERO BODEGAS — fullscreen igual que tours ── */
.hero-bod{height: 100vh; height: 100svh;
 min-height: 700px;
 position: relative;
 display: grid;
 grid-template-columns: 1fr 1fr;
 overflow: hidden;
 background: #080604;}
.hero-bod-img{position: absolute; inset: 0; z-index: 0;}
.hero-bod-img img{width: 100%; height: 100%;
 object-fit: cover; object-position: center 30%;
 animation: heroZoom 30s ease-in-out infinite alternate;
 will-change: transform;}
.hero-bod-overlay{position: absolute; inset: 0; z-index: 1;
 background: linear-gradient(105deg, rgba(4,3,2,.88) 0%, rgba(4,3,2,.6) 45%, rgba(4,3,2,.3) 100%);}
.hero-bod-grain{position: absolute; inset: 0; z-index: 2; opacity: .03;
 background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
 pointer-events: none;}
.hero-bod-content{position: relative; z-index: 4;
 display: flex; flex-direction: column; justify-content: flex-end;
 padding: 7rem 4.5rem 3.5rem 6rem;
 grid-column: 1;}
.hero-bod-eyebrow{font-size: .52rem;
 letter-spacing: .46em;
 text-transform: uppercase;
 color: var(--accent);
 font-weight: 500;
 margin-bottom: 1.8rem;
 display: flex;
 align-items: center;
 gap: .8rem;
 animation: fadeUp .8s var(--ease) .4s both;}
.hero-bod-eyebrow::before{content: '';
 width: 32px; height: 1px;
 background: var(--accent);
 opacity: .6; flex-shrink: 0;}
.hero-bod-h1{font-size: clamp(2.6rem, 4.2vw, 5.5rem);
 font-weight: 800;
 line-height: 1.0;
 letter-spacing: -.04em;
 color: #fff;
 margin-bottom: 1.2rem;}
.hero-bod-h1 .line{display: block;}
.hero-bod-h1 .line span{display: block;
 animation: fadeUp .9s var(--ease) both;}
.hero-bod-h1 .line:nth-child(1) span{animation-delay: .5s;}
.hero-bod-h1 .line:nth-child(2) span{animation-delay: .65s;}
.hero-bod-h1 .line:nth-child(3) span{animation-delay: .8s;}
.hero-bod-h1 em{font-style: italic; color: var(--accent-lt); font-weight: 300;}
.hero-bod-rule{width: 52px; height: 1px;
 background: linear-gradient(to right, var(--gold), transparent);
 margin-bottom: 1.6rem;
 animation: fadeUp .8s var(--ease) .9s both;}
.hero-bod-sub{font-size: .92rem;
 color: rgba(240,237,232,.62);
 max-width: 480px;
 line-height: 1.85;
 margin-bottom: 1.8rem;
 animation: fadeUp .8s var(--ease) 1.0s both;}
.hero-bod-btns{display: flex;
 gap: 1rem;
 flex-wrap: wrap;
 animation: fadeUp .8s var(--ease) 1.15s both;}
.hero-bod-stats{display: flex;
 gap: 2.4rem;
 margin-top: 1.4rem;
 padding-top: 1.2rem;
 border-top: 1px solid rgba(172, 55, 73,.15);
 animation: fadeUp .8s var(--ease) 1.3s both;}
.hero-bod-stat{display: flex;
 flex-direction: column;
 gap: .3rem;}
.hero-bod-stat-n{font-size: clamp(1.6rem, 2vw, 2.2rem);
 font-weight: 800;
 color: #fff;
 letter-spacing: -.03em;
 line-height: 1;}
.hero-bod-stat-l{font-size: .36rem;
 letter-spacing: .2em;
 text-transform: uppercase;
 color: rgba(240,237,232,.4);
 font-weight: 500;}
/* ═══════════════════════════════════
 MARQUEE
═══════════════════════════════════ */

/* ═══════════════════════════════════
 INTRO BAND — Numeración 3 columnas
═══════════════════════════════════ */
html[data-theme="dark"] .intro-num-n{color:var(--accent);}
/* ═══════════════════════════════════
 REGION SELECTOR — Tabs premium
═══════════════════════════════════ */
.region-sec{background:var(--bg);}
.region-header{max-width:1280px;margin:0 auto;
 padding:calc(var(--nav-h) + 1.8rem) 4.5rem 1.2rem;
 display:grid;grid-template-columns:1fr 1.2fr;gap:3rem;align-items:end;}
.region-h{font-size: clamp(2.2rem, 4.5vw, 4.2rem);
 font-weight: 600;line-height: 1.08;letter-spacing: -.022em;
 color:var(--ink);margin-top:.8rem;}
.region-h em{color:var(--wine);font-weight: 500;}
.region-desc-txt{font-size:.9rem;color:var(--text-soft);line-height:1.85;}
/* Tabs con diseño tipo label arquitectónico */
.region-tabs{max-width: 1280px; margin: 0 auto;
 padding: 0 4.5rem;
 display: flex; gap: 0;
 justify-content: center;
 margin-bottom: .5rem;}
.region-tab-num{font-size: .38rem; letter-spacing: .06em;
 color: var(--text-muted);
 opacity: .5; transition: opacity .3s, color .3s;}
.region-tab.active .region-tab-num{opacity: 1; color: var(--wine);}
.bodegas-container{max-width: 1280px; margin: 0 auto;
 padding: 1.5rem 4.5rem 2rem;}
.bodegas-grid{display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 1.5rem;
 background: transparent;
 border: none;}
/* Card */
.b-card{background: var(--bg-card);
 display: flex; flex-direction: column;
 position: relative; overflow: hidden;
 transition: background .3s;}
.b-card:hover{background: var(--bg);}
/* Imagen */
.b-img{position:relative;overflow:hidden;
 aspect-ratio:16/10;flex-shrink:0;}
.b-img img{width:100%;height:100%;object-fit:cover;
 transition:transform 1.3s var(--ease),filter .7s;
 filter:brightness(.8) saturate(.9);
 display:block;}
.b-card:hover .b-img img{transform:scale(1.07);filter:brightness(.65) saturate(1.1);}
/* Overlay hover */
.b-img-ovl{position:absolute;inset:0;
 background:linear-gradient(to bottom,transparent 30%,rgba(8,6,4,.75) 100%);
 opacity:0;transition:opacity .5s;}
.b-card:hover .b-img-ovl{opacity:1;}
/* Badge tipo label minimalista */

/* CTA que aparece al hover */
.b-hover-label{position:absolute;bottom:1.2rem;left:1.4rem;z-index:3;
 font-size:.36rem;letter-spacing:.24em;text-transform:uppercase;
 color:rgba(240,237,232,.8);font-weight:500;
 opacity:0;transform:translateY(5px);
 transition:opacity .35s,transform .35s var(--ease);}
.b-card:hover .b-hover-label{opacity:1;transform:none;}
/* Cuerpo de la card */
.b-body{padding:1.6rem 1.8rem 2rem;
 flex:1;display:flex;flex-direction:column;}
.b-region{font-size:.36rem;letter-spacing:.28em;text-transform:uppercase;
 color:var(--wine);font-weight:600;margin-bottom:.45rem;}
html[data-theme="dark"] .b-region{color:var(--accent);}
.b-name{font-size:clamp(.95rem,1.3vw,1.15rem);
 font-weight:700;letter-spacing:-.02em;
 color:var(--ink);line-height:1.18;margin-bottom:.45rem;}
.b-tagline{font-size:.76rem;color:var(--text-muted);
 line-height:1.65;flex:1;margin-bottom:1.2rem;}
.b-meta{display: flex; gap: 0;
 border-top: none; padding-top: 1rem;}
.b-meta-i{flex: 1; padding-right: 1rem;}
.b-meta-i:last-child{padding-right: 0; padding-left: 1rem;}
.b-meta-i:nth-child(2){padding: 0 1rem;}
.b-meta-lbl{font-size: .3rem; letter-spacing: .2em; text-transform: uppercase; color: var(--text-muted); font-weight: 500; margin-bottom: .15rem;}
.b-meta-val{font-size: .7rem; color: var(--text-soft); font-weight: 500;}
/* ═══════════════════════════════════
 MODAL BODEGA
═══════════════════════════════════ */
#modalOverlay{position: fixed;
 inset: 0;
 z-index: 9000;
 display: none;
 align-items: center;
 justify-content: center;
 padding: 2rem;
 opacity: 0;
 visibility: hidden;
 transition: opacity .35s ease, visibility .35s;
 background: rgba(6,4,3,.6);
 overscroll-behavior: none;
 touch-action: none;}
#modalOverlay.open{opacity: 1; visibility: visible;}
/* Prevent page scroll when modal open — no position:fixed needed{overflow: hidden; overscroll-behavior: none;}
.bod-popup-box{position: relative;
 z-index: 1;
 background: var(--bg-card);
 width: min(880px, 95vw);
 max-height: min(88vh, 760px);
 display: grid;
 grid-template-rows: auto 1fr auto;
 border: 1px solid var(--line);
 box-shadow: 0 40px 120px rgba(0,0,0,.25);
 transform: translateY(20px);
 transition: transform .45s var(--ease);
 overflow: hidden;}
/* Gold line top */
.bod-popup-box-top{position: absolute;
 top: 0; left: 0; right: 0; height: 2px;
 background: linear-gradient(to right, transparent 0%, var(--gold) 30%, rgba(172, 55, 73,.6) 70%, transparent 100%);
 z-index: 2;}
/* ── HEAD ── */
.bod-popup-head{padding: 2rem 2.5rem 1.5rem;
 position: relative;
 border-bottom: 1px solid var(--line);
 flex-shrink: 0;}
.bod-popup-kicker{font-size: .44rem;
 letter-spacing: .36em;
 text-transform: uppercase;
 color: var(--accent);
 font-weight: 600;
 margin-bottom: .5rem;
 display: flex;
 align-items: center;
 gap: .5rem;}
.bod-popup-kicker::before{content: '';
 width: 18px; height: 1px;
 background: var(--accent);
 flex-shrink: 0;}
.bod-popup-title{font-size: clamp(1.6rem, 2.5vw, 2.2rem);
 font-weight: 800;
 color: var(--ink);
 line-height: 1.05;
 letter-spacing: -.03em;
 margin-bottom: .6rem;}
html[data-theme="dark"] .bod-popup-title{color: var(--text);}
.bod-popup-sub{font-size: .84rem;
 color: var(--text-soft);
 line-height: 1.7;
 max-width: 600px;
 margin: 0;}
.bod-popup-close{position: absolute;
 top: 1.5rem; right: 1.5rem;
 width: 32px; height: 32px;
 border: 1px solid var(--line);
 display: flex; align-items: center; justify-content: center;
 font-size: .8rem; color: var(--text-muted);
 background: transparent;
 transition: border-color .2s, color .2s;
 cursor: pointer; z-index: 10;}
.bod-popup-close:hover{border-color: var(--wine); color: var(--wine);}
/* ── BODY — 2 columnas desktop ── */
.bod-popup-body{display: grid;
 grid-template-columns: 1fr 1fr;
 overflow: hidden;
 min-height: 0;}
/* Columna izquierda: highlights */
#mHl{padding: 1.5rem 2rem;
 display: grid;
 grid-template-columns: 1fr 1fr;
 align-content: start;
 gap: 0;
 border-right: 1px solid var(--line);
 overflow-y: auto;
 overscroll-behavior: contain;}
html[data-theme="dark"] .bod-popup-hl-val{color: var(--text);}
/* Columna derecha: incluye */
.bod-popup-includes{padding: 1rem 1.8rem;
 display: flex; flex-direction: column;
 overflow-y: auto;
 overscroll-behavior: contain;
 min-height: 0;}
.bod-popup-inc-title{font-size: .4rem; letter-spacing: .24em;
 text-transform: uppercase; color: var(--accent);
 font-weight: 600; margin-bottom: .8rem; opacity: .8;}
.bod-popup-item{display: grid;
 grid-template-columns: 28px 1fr;
 gap: .8rem; align-items: start;
 padding: .7rem 0;
 border-bottom: 1px solid var(--line);}
.bod-popup-item:last-child{border-bottom: none;}
.bod-popup-item-icon{width: 28px; height: 28px;
 border: 1px solid rgba(172, 55, 73,.25);
 display: flex; align-items: center; justify-content: center;
 font-size: .8rem; flex-shrink: 0;}
.bod-popup-item-body{display: flex; flex-direction: column; gap: .1rem;}
.bod-popup-item-name{font-size: .55rem; letter-spacing: .08em;
 text-transform: uppercase; color: var(--wine);
 font-weight: 700;}
html[data-theme="dark"] .bod-popup-item-name{color: var(--accent);}
.bod-popup-item-desc{font-size: .8rem; color: var(--text-soft); line-height: 1.55;}
/* ── FOOTER ── */
.bod-popup-foot{padding: 1.2rem 2.5rem 1.5rem;
 display: flex; flex-direction: column; gap: .6rem;
 border-top: 1px solid var(--line);
 flex-shrink: 0;}
.bod-popup-cta{display: flex; align-items: center; justify-content: center;
 background: var(--wine); color: #fff;
 padding: 1rem 2rem;
 font-size: .58rem; letter-spacing: .22em;
 text-transform: uppercase; font-weight: 600;
 transition: background .25s; width: 100%;}
.bod-popup-cta:hover{background: var(--wine-dk);}
.bod-popup-note{font-size: .72rem; color: var(--text-muted); text-align: center;}
/* ── BOTONES BODEGAS ── */
html[data-theme="dark"] .btn-outline-light{color: rgba(240,237,232,.6); border-color: rgba(240,237,232,.2);}
/* ── INTRO BAND ── */

/* ── POR QUÉ ESTAS BODEGAS ── */
.porq-sec{background: var(--bg-alt); padding: 3.5rem 4.5rem;}
.porq-inner{max-width: 1280px; margin: 0 auto;}
.porq-hdr{margin-bottom: 3rem;}
.porq-h{font-size: clamp(2.8rem, 4.5vw, 5.5rem); font-weight: 800; line-height: 1.05; letter-spacing: -.04em; color: var(--ink); margin-top: .6rem;}
.porq-h em{font-style: italic; color: var(--wine); font-weight: 300;}
html[data-theme="dark"] .porq-h{color: var(--text);}
.porq-grid{display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-bottom: 3rem;}
.porq-item{padding: 2rem 1.8rem; border-right: 1px solid var(--line); display: flex; flex-direction: column; gap: .8rem;}
.porq-item:last-child{border-right: none;}
.porq-num{font-size: .36rem; letter-spacing: .36em; text-transform: uppercase; color: var(--accent); font-weight: 700; opacity: .7;}
.porq-item-h{font-size: .95rem; font-weight: 700; line-height: 1.3; letter-spacing: -.02em; color: var(--ink);}
.porq-item-p{font-size: .82rem; color: var(--text-soft); line-height: 1.85; flex: 1;}
.porq-quote{border-left: 2px solid var(--accent); padding-left: 2rem; max-width: 680px;}
.porq-bq p{font-size: clamp(1rem, 1.5vw, 1.3rem); font-style: italic; font-weight: 300; color: var(--ink); line-height: 1.7; letter-spacing: -.01em; margin-bottom: .8rem;}
.porq-bq cite{font-size: .55rem; letter-spacing: .22em; text-transform: uppercase; color: var(--accent); font-weight: 500; font-style: normal;}
/* ── REVIEWS BODEGAS ── */
.reviews-bod-sec{background: var(--bg); padding: 3.5rem 4.5rem;}
.reviews-bod-inner{max-width: 1280px; margin: 0 auto;}
.reviews-bod-hdr{margin-bottom: 3rem;}
.reviews-bod-h{font-size: clamp(2.8rem, 4.5vw, 5.5rem); font-weight: 800; line-height: 1.05; letter-spacing: -.04em; color: var(--ink); margin-top: .6rem;}
.reviews-bod-h em{font-style: italic; color: var(--wine); font-weight: 300;}
html[data-theme="dark"] .reviews-bod-h{color: var(--text);}
.reviews-bod-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 2px; background: var(--line); margin-bottom: 2.5rem;}
.rbod-card{background: var(--bg); padding: 2.2rem 2rem; display: flex; flex-direction: column; gap: 1rem;}
.rbod-stars{color: var(--accent); font-size: 1rem; letter-spacing: .1em;}
.rbod-text{font-size: .84rem; color: var(--text-soft); line-height: 1.85; font-style: italic; flex: 1;}
.rbod-author{display: flex; flex-direction: column; gap: .2rem;}
.rbod-name{font-size: .78rem; font-weight: 700; color: var(--ink); letter-spacing: -.01em;}
.rbod-origin{font-size: .5rem; letter-spacing: .18em; text-transform: uppercase; color: var(--accent); font-weight: 500; opacity: .7;}
.rbod-logo img{height: 18px; width: auto; opacity: .45;}
/* ──  SVG (reemplaza GIFs viejos) ── */
.ta-badge-svg{display: inline-flex; align-items: center; flex-shrink: 0;}
.ta-badge-svg svg{height: 32px; width: 32px; fill: #00AF87;}
.rbod-logo-svg{display: inline-flex; align-items: center;}
.rbod-logo-svg svg{height: 18px; width: 18px; fill: currentColor; opacity: .45;}
.reviews-bod-cta{display: flex; justify-content: flex-start;}
.rbod-link{display: inline-flex; align-items: center; gap: .6rem; font-size: .55rem; letter-spacing: .2em; text-transform: uppercase; font-weight: 600; color: var(--accent); text-decoration: none; border-bottom: 1px solid rgba(172, 55, 73,.3); padding-bottom: .2rem; transition: gap .3s, border-color .3s;}
.rbod-link svg{width: 14px; height: 14px; stroke: currentColor; stroke-width: 2; fill: none; flex-shrink: 0;}
/* ═══════════════════════════════════════════════════════════════
 21. PÁGINA — BLENDING EXPERIENCE
 ─────────────────────────────────────────────────────────────
 Hero: .hero-bl
 Bodega: .bl-bodega-sec
 Proceso: .bl-proceso-sec / .bl-paso
 Varietales: .bl-var-sec / .bl-var-card
 Final: .bl-final-sec / .bl-final-item
 Incluye: .bl-incluye-sec
 Diferencial:.bl-dif-sec
═══════════════════════════════════════════════════════════════ */

/* wa-btn override */

/* ── HERO ── */
.hero-bl{height: 100vh; height: 100svh;
 min-height: 700px;
 position: relative;
 display: grid;
 grid-template-columns: 1fr 1fr;
 overflow: hidden;
 background: #080604;}
.hero-bl-img{position: absolute; inset: 0; z-index: 0;}
.hero-bl-img img{width: 100%; height: 100%;
 object-fit: cover; object-position: center 40%;
 animation: heroZoom 30s ease-in-out infinite alternate;
 will-change: transform;}
.hero-bl-overlay{position: absolute; inset: 0; z-index: 1;
 background: linear-gradient(105deg, rgba(4,3,2,.9) 0%, rgba(4,3,2,.65) 45%, rgba(4,3,2,.25) 100%);}
.hero-bl-grain{position: absolute; inset: 0; z-index: 2; opacity: .03;
 background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
 pointer-events: none;}
.hero-bl-content{position: relative; z-index: 4;
 display: flex; flex-direction: column; justify-content: flex-end;
 padding: 7rem 4.5rem 3.5rem 6rem;
 grid-column: 1;}
.hero-bl-eyebrow{font-size: .52rem; letter-spacing: .44em; text-transform: uppercase;
 color: var(--accent); font-weight: 500; margin-bottom: 1.8rem;
 display: flex; align-items: center; gap: .8rem;
 animation: fadeUp .8s var(--ease) .4s both;}
.hero-bl-eyebrow::before{content: ''; width: 28px; height: 1px;
 background: var(--accent); opacity: .6; flex-shrink: 0;}
.hero-bl-h1{font-size: clamp(2.6rem, 4.2vw, 5.5rem);
 font-weight: 800; line-height: .95; letter-spacing: -.04em;
 color: #F0EDE8; margin-bottom: 1.2rem;}
.hero-bl-h1 .line{display: block; overflow: hidden; padding-bottom: .05em; padding-bottom: .18em;}
.hero-bl-h1 .line span{display: block; animation: hLineUp .9s var(--ease) both;}
.hero-bl-h1 .line:nth-child(1) span{animation-delay: .5s;}
.hero-bl-h1 .line:nth-child(2) span{animation-delay: .65s;}
.hero-bl-h1 .line:nth-child(3) span{animation-delay: .8s;}
.hero-bl-h1 em{font-style: italic; color: var(--accent-lt); font-weight: 300;}
.hero-bl-rule{width: 52px; height: 1px;
 background: linear-gradient(to right, var(--gold), transparent);
 margin-bottom: 1.4rem;
 animation: fadeUp .8s var(--ease) .9s both;}
.hero-bl-sub{font-size: .92rem; color: rgba(240,237,232,.6);
 max-width: 420px; line-height: 1.85; margin-bottom: 1.4rem;
 animation: fadeUp .8s var(--ease) 1.0s both;}
.hero-bl-btns{display: flex; gap: 1rem; flex-wrap: wrap;
 animation: fadeUp .8s var(--ease) 1.15s both;}
.hero-bl-stats{display: flex; gap: 2rem; margin-top: 1.2rem;
 padding-top: 1rem;
 border-top: 1px solid rgba(172, 55, 73,.15);
 animation: fadeUp .8s var(--ease) 1.3s both;}
.hero-bl-stat{display: flex; flex-direction: column; gap: .25rem;}
.hero-bl-stat-n{font-size: clamp(1.6rem, 2vw, 2.2rem);
 font-weight: 800; color: #fff; letter-spacing: -.03em; line-height: 1;}
.hero-bl-stat-l{font-size: .37rem; letter-spacing: .2em;
 text-transform: uppercase; color: rgba(240,237,232,.38); font-weight: 500;}
/* ── BODEGA ── */
.bl-bodega-sec{background: var(--bg); padding: 5rem 4.5rem;}
.bl-bodega-inner{max-width: 1280px; margin: 0 auto;
 display: grid; grid-template-columns: 1fr 1fr; gap: 5rem; align-items: center;}
.bl-bodega-img{position: relative; overflow: hidden;}
.bl-bodega-img img{width: 100%; aspect-ratio: 4/3;
 object-fit: cover; object-position: center;
 display: block;}
.bl-bodega-img-badge{position: absolute; bottom: 1.5rem; left: 1.5rem;
 background: rgba(6,4,3,.75); backdrop-filter: blur(8px);
 color: var(--accent); font-size: .42rem; letter-spacing: .22em;
 text-transform: uppercase; font-weight: 600;
 padding: .5rem 1rem; border: 1px solid rgba(172, 55, 73,.25);}
.bl-bodega-h{font-size: clamp(2.8rem, 4.5vw, 5.5rem);
 font-weight: 800; line-height: 1.0; letter-spacing: -.04em;
 color: var(--ink); margin: .6rem 0 1.4rem;}
html[data-theme="dark"] .bl-bodega-h{color: var(--text);}
.bl-bodega-h em{font-style: italic; color: var(--wine); font-weight: 300;}
.bl-bodega-p{font-size: .9rem; color: var(--text-soft); line-height: 1.85; margin-bottom: 1rem;}
.bl-bodega-datos{display: flex; gap: 0; margin-top: 2rem;
 border-top: 1px solid var(--line);
 padding-top: 1.6rem;}
.bl-dato{flex: 1; padding-right: 1.5rem; border-right: 1px solid var(--line);}
.bl-dato:last-child{border-right: none; padding-right: 0; padding-left: 1.5rem;}
.bl-dato:nth-child(2){padding: 0 1.5rem;}
.bl-dato-n{font-size: clamp(1.4rem, 2vw, 2rem); font-weight: 800;
 color: var(--wine); letter-spacing: -.04em; line-height: 1; margin-bottom: .3rem;}
.bl-dato-l{font-size: .36rem; letter-spacing: .18em;
 text-transform: uppercase; color: var(--text-muted); font-weight: 500;}
/* ── PROCESO — TIMELINE EDITORIAL ── */
.bl-proceso-sec{background: var(--bg-alt); padding: 5rem 4.5rem;}
.bl-proceso-inner{max-width: 1280px; margin: 0 auto;}
.bl-proceso-hdr{margin-bottom: 4rem; max-width: 640px;}
.bl-proceso-h{font-size: clamp(2.8rem, 4.5vw, 5.5rem);
 font-weight: 800; line-height: 1.02; letter-spacing: -.04em;
 color: var(--ink); margin: .6rem 0 1rem;}
html[data-theme="dark"] .bl-proceso-h{color: var(--text);}
.bl-proceso-h em{font-style: italic; color: var(--wine); font-weight: 300;}
.bl-proceso-sub{font-size: .9rem; color: var(--text-soft); line-height: 1.85;}
.bl-timeline{display: flex; flex-direction: column;}
.bl-tl-item{display: grid;
 grid-template-columns: 90px 1fr 320px;
 border-top: 1px solid var(--line);
 transition: background .3s;
 min-height: 200px;}
.bl-tl-item:last-child{border-bottom: 1px solid var(--line);}
.bl-tl-left{display: flex; flex-direction: column;
 align-items: center; padding-top: 2.5rem;}
.bl-tl-num{font-size: 3rem; font-weight: 800;
 color: var(--line); letter-spacing: -.06em; line-height: 1;
 transition: color .3s; font-feature-settings: 'tnum';}
.bl-tl-item:hover .bl-tl-num{color: var(--accent);}
.bl-tl-line{width: 1px; flex: 1; min-height: 20px;
 background: var(--line); margin-top: 1rem;}
.bl-tl-body{padding: 2.5rem 2.5rem 2.5rem 1.5rem;
 display: flex; flex-direction: column; gap: .4rem;}
.bl-tl-tag{font-size: .38rem; letter-spacing: .32em; text-transform: uppercase;
 color: var(--text-muted); font-weight: 600;}
.bl-tl-tag-gold{color: var(--accent);}
.bl-tl-h{font-size: clamp(1rem, 1.4vw, 1.4rem); font-weight: 700;
 letter-spacing: -.03em; color: var(--ink); line-height: 1.2;}
.bl-tl-p{font-size: .84rem; color: var(--text-soft); line-height: 1.8; margin-top: .3rem;}
.bl-tl-detail{font-size: .36rem; letter-spacing: .18em; text-transform: uppercase;
 color: var(--accent); font-weight: 500; margin-top: .8rem; opacity: .7;}
.bl-tl-img{overflow: hidden; border-left: 1px solid var(--line);}
.bl-tl-img img{width: 100%; height: 100%; object-fit: cover;
 display: block; transition: transform .6s var(--ease);
 filter: grayscale(20%) brightness(.9);}
.bl-tl-item:hover .bl-tl-img img{transform: scale(1.05); filter: none;}
.bl-tl-featured{background: var(--bg);}
.bl-tl-featured .bl-tl-num{color: rgba(172, 55, 73,.25);}
/* ── VARIETALES — DARK LAB PREMIUM ── */
.bl-var-sec{background: #0A0806; padding: 5rem 4.5rem;}
.bl-var-inner{max-width: 1280px; margin: 0 auto;}
.bl-var-hdr{margin-bottom: 4rem; max-width: 640px;}
.bl-var-h{font-size: clamp(2.8rem, 4.5vw, 5.5rem);
 font-weight: 800; line-height: 1.02; letter-spacing: -.04em;
 color: #F0EDE8; margin: .6rem 0 1rem;}
.bl-var-h em{font-style: italic; color: var(--accent-lt); font-weight: 300;}
.bl-var-sub{font-size: .9rem; color: rgba(240,237,232,.45); line-height: 1.85;}
.bl-var-grid{display: grid; grid-template-columns: repeat(4, 1fr);
 border: 1px solid rgba(172, 55, 73,.15);}
.bl-var-card{padding: 3rem 2.2rem; position: relative; overflow: hidden;
 border-right: 1px solid rgba(172, 55, 73,.15);
 transition: background .4s;}
.bl-var-card:last-child{border-right: none;}
.bl-var-card-bg{position: absolute; bottom: -1.5rem; right: -.5rem;
 font-size: clamp(5rem, 9vw, 9rem); font-weight: 800;
 color: rgba(172, 55, 73,.06); letter-spacing: -.06em; line-height: 1;
 pointer-events: none; user-select: none;
 transition: color .4s, transform .5s;}
.bl-var-card:hover .bl-var-card-bg{color: rgba(172, 55, 73,.11); transform: scale(1.04) translateY(-4px);}
.bl-var-card-featured .bl-var-card-bg{color: rgba(172, 55, 73,.1);}
.bl-var-card-content{position: relative; z-index: 1; display: flex; flex-direction: column; height: 100%;}
.bl-var-card-eyebrow{font-size: .37rem; letter-spacing: .26em; text-transform: uppercase;
 color: var(--accent); font-weight: 600; margin-bottom: 1rem; opacity: .75;}
.bl-var-card-h{font-size: clamp(1.5rem, 2.2vw, 2.2rem); font-weight: 800;
 letter-spacing: -.04em; color: #F0EDE8; line-height: 1; margin-bottom: 1.4rem;}
.bl-var-card-sep{width: 24px; height: 1px; background: var(--accent); opacity: .35; margin-bottom: 1.4rem;}
.bl-var-card-desc{font-size: .82rem; color: rgba(240,237,232,.45); line-height: 1.8; flex: 1; margin-bottom: 1.8rem;}
.bl-var-card-attr{display: flex; gap: .4rem; flex-wrap: wrap; margin-top: auto;}
.bl-var-card-attr span{font-size: .34rem; letter-spacing: .14em; text-transform: uppercase;
 color: rgba(172, 55, 73,.55); font-weight: 500;
 border: 1px solid rgba(172, 55, 73,.18); padding: .28rem .65rem;}
.bl-var-card-featured{background: rgba(172, 55, 73,.03);}
.bl-var-card-featured .bl-var-card-h{color: var(--accent-lt);}
/* ── PASOS FINALES ── */
.bl-final-sec{background: var(--bg-alt); padding: 5rem 4.5rem;}
.bl-final-inner{max-width: 1280px; margin: 0 auto;}
.bl-final-hdr{margin-bottom: 4rem; max-width: 640px;}
.bl-final-h{font-size: clamp(2.8rem, 4.5vw, 5.5rem);
 font-weight: 800; line-height: 1.02; letter-spacing: -.04em;
 color: var(--ink); margin: .6rem 0 1rem;}
html[data-theme="dark"] .bl-final-h{color: var(--text);}
.bl-final-h em{font-style: italic; color: var(--wine); font-weight: 300;}
.bl-final-sub{font-size: .9rem; color: var(--text-soft); line-height: 1.85;}
.bl-final-grid{display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;
 border-top: 1px solid var(--line);}
.bl-final-item{padding: 2.5rem 2rem;
 border-right: 1px solid var(--line);}
.bl-final-item:last-child{border-right: none;}
.bl-final-icon{width: 44px; height: 44px; margin-bottom: 1.4rem;
 color: var(--accent);}
.bl-final-icon svg{width: 44px; height: 44px;}
.bl-final-item-h{font-size: .95rem; font-weight: 700; letter-spacing: -.02em;
 color: var(--ink); margin-bottom: .7rem;}
.bl-final-item-p{font-size: .82rem; color: var(--text-soft); line-height: 1.8;}
/* ── QUÉ INCLUYE — PREMIUM ── */
.bl-incluye-sec{background: var(--bg); padding: 5rem 4.5rem;}
.bl-incluye-inner{max-width: 1280px; margin: 0 auto;
 display: grid; grid-template-columns: 1fr 1.4fr; gap: 6rem; align-items: start;}
.bl-incluye-h{font-size: clamp(2.8rem, 4.5vw, 5.5rem);
 font-weight: 800; line-height: 1.02; letter-spacing: -.04em;
 color: var(--ink); margin: .6rem 0 1.2rem;}
html[data-theme="dark"] .bl-incluye-h{color: var(--text);}
.bl-incluye-h em{font-style: italic; color: var(--wine); font-weight: 300;}
.bl-incluye-p{font-size: .9rem; color: var(--text-soft); line-height: 1.85; margin-bottom: 2rem;}
.bl-incluye-price-box{border: 1px solid var(--line); border-left: 3px solid var(--accent);
 padding: 1.4rem 1.6rem; margin-bottom: 2rem; background: var(--bg-alt);}
.bl-incluye-price-label{font-size: .38rem; letter-spacing: .28em; text-transform: uppercase;
 color: var(--text-muted); font-weight: 500; margin-bottom: .25rem;}
.bl-incluye-price-val{font-size: 1.4rem; font-weight: 800; color: var(--ink); letter-spacing: -.04em; line-height: 1;}
.bl-incluye-price-note{font-size: .37rem; letter-spacing: .14em; text-transform: uppercase;
 color: var(--accent); font-weight: 500; margin-top: .4rem; opacity: .8;}
.bl-incluye-cta{display: inline-block;}
.bl-inc-item{display: grid; grid-template-columns: 38px 1fr; gap: 1rem;
 align-items: start; padding: 1.1rem 0;
 border-bottom: 1px solid var(--line);}
.bl-inc-item:first-child{border-top: 1px solid var(--line);}
.bl-inc-icon{width: 34px; height: 34px; display: flex; align-items: center;
 justify-content: center; font-size: 1rem; flex-shrink: 0;
 border: 1px solid var(--line); margin-top: .1rem;}
.bl-inc-title{font-size: .78rem; font-weight: 700; color: var(--ink);
 letter-spacing: -.01em; margin-bottom: .3rem;}
.bl-inc-desc{font-size: .82rem; color: var(--text-soft); line-height: 1.7;}
.bl-inc-item-featured{margin: 0 -.8rem; padding: 1.1rem .8rem;
 background: rgba(172, 55, 73,.05); border-color: rgba(172, 55, 73,.2);}
.bl-inc-item-featured .bl-inc-title{color: var(--wine);}
.bl-inc-item-featured .bl-inc-icon{border-color: rgba(172, 55, 73,.3);}
/* ── DIFERENCIAL ── */
.bl-dif-sec{background: linear-gradient(168deg, #0A0908 0%, #14100A 35%, #1E1810 65%, #0A0908 100%);
 padding: 5rem 4.5rem;}
.bl-dif-inner{max-width: 1280px; margin: 0 auto;}
.bl-dif-hdr{margin-bottom: 4rem;}
.bl-dif-h{font-size: clamp(2.8rem, 4.5vw, 5.5rem);
 font-weight: 800; line-height: 1.02; letter-spacing: -.04em;
 color: #F0EDE8; margin: .6rem 0;}
.bl-dif-h em{font-style: italic; color: var(--accent-lt); font-weight: 300;}
.bl-dif-cols{display: grid; grid-template-columns: repeat(3, 1fr); gap: 0;
 border-top: 1px solid rgba(172, 55, 73,.12);
 padding-top: 2.5rem;}
.bl-dif-col{padding-right: 3rem; border-right: 1px solid rgba(172, 55, 73,.1);}
.bl-dif-col:last-child{border-right: none; padding-right: 0; padding-left: 3rem;}
.bl-dif-col:nth-child(2){padding: 0 3rem;}
.bl-dif-col-num{font-size: clamp(2.4rem, 4vw, 4rem); font-weight: 800;
 color: var(--accent); letter-spacing: -.05em; line-height: 1; margin-bottom: .4rem;}
.bl-dif-col-title{font-size: .78rem; font-weight: 700; color: #F0EDE8;
 letter-spacing: -.01em; margin-bottom: .8rem;}
.bl-dif-col-p{font-size: .82rem; color: rgba(240,237,232,.45); line-height: 1.8;}
/* Blending structural containers */
.bl-bodega-body{display: flex; flex-direction: column;}
.bl-inc-body{display: flex; flex-direction: column;}
.bl-incluye-left{display: flex; flex-direction: column;}
.bl-incluye-right{display: flex; flex-direction: column;}
/* ═══════════════════════════════════════════════════════════════
 22. PÁGINA — COOKING CLASS
 ─────────────────────────────────────────────────────────────
 Hero: .hero-ck
 Experiencias:.ck-exp-sec / .ck-exp-card
 Incluye: .ck-inc-sec
 Cultura: .ck-cultura-sec
═══════════════════════════════════════════════════════════════ */

/* ── HERO ── */
.hero-ck{height: 100vh; height: 100svh;
 min-height: 700px;
 position: relative;
 display: grid;
 grid-template-columns: 1fr 1fr;
 overflow: hidden;
 background: #080604;}
.hero-ck-img{position: absolute; inset: 0; z-index: 0;}
.hero-ck-img img{width: 100%; height: 100%;
 object-fit: cover; object-position: center 40%;
 animation: heroZoom 30s ease-in-out infinite alternate;
 will-change: transform;}
.hero-ck-overlay{position: absolute; inset: 0; z-index: 1;
 background: linear-gradient(105deg, rgba(4,3,2,.92) 0%, rgba(4,3,2,.65) 45%, rgba(4,3,2,.2) 100%);}
.hero-ck-grain{position: absolute; inset: 0; z-index: 2; opacity: .03;
 background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
 pointer-events: none;}
.hero-ck-content{position: relative; z-index: 4;
 display: flex; flex-direction: column; justify-content: flex-end;
 padding: 7rem 4.5rem 3.5rem 6rem;
 grid-column: 1;}
.hero-ck-eyebrow{font-size: .52rem; letter-spacing: .44em; text-transform: uppercase;
 color: var(--accent); font-weight: 500; margin-bottom: 1.8rem;
 display: flex; align-items: center; gap: .8rem;
 animation: fadeUp .8s var(--ease) .4s both;}
.hero-ck-eyebrow::before{content: ''; width: 28px; height: 1px;
 background: var(--accent); opacity: .6; flex-shrink: 0;}
.hero-ck-h1{font-size: clamp(2.6rem, 4.2vw, 5.5rem);
 font-weight: 800; line-height: .95; letter-spacing: -.04em;
 color: #F0EDE8; margin-bottom: .8rem;}
.hero-ck-h1 .line{display: block; overflow: hidden; padding-bottom: .05em; padding-bottom: .18em;}
.hero-ck-h1 .line span{display: block; animation: hLineUp .9s var(--ease) both;}
.hero-ck-h1 .line:nth-child(1) span{animation-delay: .5s;}
.hero-ck-h1 .line:nth-child(2) span{animation-delay: .65s;}
.hero-ck-h1 .line:nth-child(3) span{animation-delay: .8s;}
.hero-ck-h1 em{font-style: italic; color: var(--accent-lt); font-weight: 300;}
.hero-ck-rule{width: 52px; height: 1px;
 background: linear-gradient(to right, var(--gold), transparent);
 margin-bottom: 1.4rem;
 animation: fadeUp .8s var(--ease) .9s both;}
.hero-ck-sub{font-size: .92rem; color: rgba(240,237,232,.6);
 max-width: 420px; line-height: 1.85; margin-bottom: 1.4rem;
 animation: fadeUp .8s var(--ease) 1.0s both;}
.hero-ck-btns{display: flex; gap: 1rem; flex-wrap: wrap;
 animation: fadeUp .8s var(--ease) 1.15s both;}
.hero-ck-stats{display: flex; gap: 2rem; margin-top: 1rem;
 padding-top: .9rem; border-top: 1px solid rgba(172, 55, 73,.15);
 animation: fadeUp .8s var(--ease) 1.3s both;}
.hero-ck-stat{display: flex; flex-direction: column; gap: .25rem;}
.hero-ck-stat-n{font-size: clamp(1.6rem, 2vw, 2.2rem);
 font-weight: 800; color: #fff; letter-spacing: -.03em; line-height: 1;}
.hero-ck-stat-l{font-size: .37rem; letter-spacing: .2em;
 text-transform: uppercase; color: rgba(240,237,232,.38); font-weight: 500;}
/* ── EXPERIENCIAS ── */
html[data-theme="dark"] .ck-exp-h{color: var(--text);}
datos urbanos en grid
═══════════════════════════════════════════════════════════════ */

/* ── HERO — TIPOGRAFÍA MASIVA ÚNICA ── */
.ct-hero{height: 100vh; height: 100svh;
 min-height: 700px;
 position: relative;
 overflow: hidden;
 background: #06050A;
 display: flex; flex-direction: column;}
.ct-hero-bg{position: absolute; inset: 0; z-index: 0;}
.ct-hero-bg img{width: 100%; height: 100%;
 object-fit: cover; object-position: center 60%;
 animation: heroZoom 20s ease-in-out infinite alternate;
 will-change: transform;
 filter: brightness(.55) saturate(.8);}
.ct-hero-overlay{position: absolute; inset: 0;
 background:
 linear-gradient(to right, rgba(6,5,10,.75) 0%, transparent 60%),
 linear-gradient(to top, rgba(6,5,10,.9) 0%, transparent 50%);}
.ct-hero-content{position: relative; z-index: 3;
 display: flex; flex-direction: column;
 height: 100%;
 padding: 0 4.5rem 0 6rem;}
.ct-hero-top{display: flex; align-items: center; justify-content: space-between;
 padding-top: max(5rem, calc(env(safe-area-inset-top) + 4.5rem));
 animation: fadeUp .8s var(--ease) .3s both;}
.ct-hero-eyebrow{display: flex; align-items: center; gap: .8rem;
 font-size: .46rem; letter-spacing: .42em; text-transform: uppercase;
 color: var(--accent); font-weight: 500;}
.ct-hero-dash{width: 28px; height: 1px; background: var(--accent); opacity: .6; flex-shrink: 0;}
/* Tipografía masiva oversized */
.ct-hero-title-wrap{flex: 1;
 display: flex;
 flex-direction: column;
 justify-content: flex-end;
 padding-bottom: 1.4rem;
 gap: 1.4rem;}
.ct-hero-h1{font-size: clamp(4.5rem, 11vw, 4.5rem);
 font-weight: 600;
 line-height: 1.08;
 letter-spacing: -.022em;
 color: #F0EDE8;
 margin: 0;
 user-select: none;
 animation: fadeUp 1s var(--ease) .4s both;
 word-break: keep-all;
 overflow-wrap: normal;}
.ct-hero-h1 em{font-style: italic; color: var(--accent-lt); font-weight: 300;}
/* desc + btns — horizontal row below h1 */
.ct-hero-side{display: grid;
 grid-template-columns: 1fr auto;
 gap: 3rem;
 align-items: end;
 animation: fadeUp .8s var(--ease) .85s both;}
.ct-hero-desc{font-size: .88rem; color: rgba(240,237,232,.5);
 line-height: 1.8; margin: 0;
 max-width: 420px;}
.ct-hero-btns{display: flex; gap: .8rem; flex-shrink: 0; align-items: center;}
.ct-hero-bottom{display: flex; align-items: flex-end; justify-content: space-between;
 padding-bottom: max(1.8rem, calc(env(safe-area-inset-bottom) + 1.5rem));
 animation: fadeUp .8s var(--ease) 1.1s both;}
.ct-scroll-cue{display: flex; align-items: center; gap: .6rem;
 font-size: .36rem; letter-spacing: .28em; text-transform: uppercase;
 color: rgba(240,237,232,.3); text-decoration: none;
 transition: color .3s;}
.ct-scroll-cue svg{width: 16px; height: 16px; stroke: currentColor;
 animation: ctScrollBounce 2s ease infinite;}
50%{transform: translateY(4px);}
.ct-scroll-cue:hover{color: var(--accent);}
/* ── INTRO — DATOS URBANOS ── */
.ct-intro-sec{background: var(--bg);
 padding: 5rem 4.5rem 5rem 6rem;}
.ct-intro-inner{max-width: 1280px; margin: 0 auto;
 display: grid; grid-template-columns: 1fr 1.3fr; gap: 6rem; align-items: start;}
.ct-intro-h{font-size: clamp(2.8rem, 4.5vw, 5.5rem);
 font-weight: 800; line-height: 1.05; letter-spacing: -.04em;
 color: var(--ink); margin: .6rem 0;}
html[data-theme="dark"] .ct-intro-h{color: var(--text);}
.ct-intro-h em{font-style: italic; color: var(--wine); font-weight: 300;}
.ct-intro-p{font-size: .9rem; color: var(--text-soft); line-height: 1.85; margin-bottom: 1rem;}
.ct-intro-datos{display: grid; grid-template-columns: repeat(3, 1fr); gap: 0;
 margin-top: 2.5rem; border-top: 1px solid var(--line); padding-top: 1.8rem;}
.ct-intro-dato{padding-right: 1.5rem; border-right: 1px solid var(--line);}
.ct-intro-dato:last-child{border-right: none; padding-right: 0; padding-left: 1.5rem;}
.ct-intro-dato:nth-child(2){padding: 0 1.5rem;}
.ct-intro-dato-n{font-size: clamp(1.2rem, 1.8vw, 1.8rem); font-weight: 800;
 color: var(--wine); letter-spacing: -.04em; line-height: 1; margin-bottom: .3rem;}
.ct-intro-dato-l{font-size: .35rem; letter-spacing: .18em; text-transform: uppercase;
 color: var(--text-muted); font-weight: 500;}
/* ── RECORRIDO — PARADAS FULL-BLEED ── */
.ct-recorrido-sec{background: var(--bg-alt);}
.ct-parada{display: grid;
 grid-template-columns: 1fr 1fr;
 min-height: 520px;
 position: relative;
 overflow: hidden;
 border-bottom: 1px solid var(--line);}
.ct-parada:last-child{border-bottom: none;}
.ct-parada-inv{direction: rtl;}
.ct-parada-inv .ct-parada-content{direction: ltr;}
.ct-parada-inv .ct-parada-media{direction: ltr;}
.ct-parada-media{position: relative; overflow: hidden;}
.ct-parada-media img{width: 100%; height: 100%;
 object-fit: cover; object-position: center;
 display: block;
 transition: transform .8s var(--ease), filter .6s;
 filter: grayscale(15%) brightness(.9);}
.ct-parada:hover .ct-parada-media img{transform: scale(1.04);
 filter: grayscale(0%) brightness(1);}
.ct-parada-overlay{position: absolute; inset: 0;
 background: linear-gradient(to right, transparent 60%, rgba(6,5,10,.15) 100%);
 pointer-events: none;}
.ct-parada-inv .ct-parada-overlay{background: linear-gradient(to left, transparent 60%, rgba(6,5,10,.15) 100%);}
.ct-parada-content{display: flex; align-items: center;
 padding: 4rem 4.5rem;
 background: var(--bg-alt);
 position: relative;}
.ct-parada-num{position: absolute;
 top: 2rem; right: 3rem;
 font-size: clamp(5rem, 9vw, 10rem); font-weight: 800;
 color: var(--line); letter-spacing: -.08em; line-height: 1;
 pointer-events: none; user-select: none;
 transition: color .4s;}
html[data-theme="dark"] .ct-parada-num{color: rgba(255,255,255,.04);}
.ct-parada:hover .ct-parada-num{color: rgba(172, 55, 73,.08);}
.ct-parada-inv .ct-parada-num{right: auto; left: 3rem;}
.ct-parada-info{position: relative; z-index: 1;}
.ct-parada-tag{font-size: .4rem; letter-spacing: .32em; text-transform: uppercase;
 color: var(--accent); font-weight: 600; margin-bottom: 1rem; opacity: .8;}
.ct-parada-h{font-size: clamp(1.8rem, 2.8vw, 3.2rem);
 font-weight: 800; line-height: 1.05; letter-spacing: -.04em;
 color: var(--ink); margin-bottom: 1.4rem;}
.ct-parada-h em{font-style: italic; color: var(--wine); font-weight: 300;}
.ct-parada-p{font-size: .86rem; color: var(--text-soft); line-height: 1.85;
 max-width: 440px; margin-bottom: 1.4rem;}
.ct-parada-detail{font-size: .38rem; letter-spacing: .18em; text-transform: uppercase;
 color: var(--text-muted); font-weight: 500;
 padding-top: 1rem; border-top: 1px solid var(--line);
 display: inline-block;}
/* ── CTA STRIP ── */

/* Structural containers */
.ct-intro-left{display: flex; flex-direction: column;}
.ct-intro-right{display: flex; flex-direction: column;}
/* ── HERO — ESTÁNDAR FULLSCREEN ── */
.corp-hero{height: 100vh; height: 100svh;
 min-height: 700px;
 position: relative;
 display: grid;
 grid-template-columns: 1fr 1fr;
 overflow: hidden;
 background: #080604;}
.corp-hero-img{position: absolute; inset: 0; z-index: 0;}
.corp-hero-img img{width: 100%; height: 100%;
 object-fit: cover; object-position: center 40%;
 animation: heroZoom 30s ease-in-out infinite alternate;
 will-change: transform;}
.corp-hero-overlay{position: absolute; inset: 0; z-index: 1;
 background: linear-gradient(105deg, rgba(4,3,2,.92) 0%, rgba(4,3,2,.65) 45%, rgba(4,3,2,.15) 100%);}
.corp-hero-grain{position: absolute; inset: 0; z-index: 2; opacity: .03;
 background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");
 pointer-events: none;}
.corp-hero-content{position: relative; z-index: 4;
 display: flex; flex-direction: column; justify-content: flex-end;
 padding: 7rem 4.5rem 3.5rem 6rem;
 grid-column: 1;}
.corp-hero-eyebrow{font-size: .52rem; letter-spacing: .44em; text-transform: uppercase;
 color: var(--accent); font-weight: 500; margin-bottom: 1.8rem;
 display: flex; align-items: center; gap: .8rem;
 animation: fadeUp .7s var(--ease) .4s both;}
.corp-eyebrow-line{width: 28px; height: 1px; background: var(--accent); opacity: .6; flex-shrink: 0;}
.corp-hero-h1{font-size: clamp(2.6rem, 4.2vw, 5.5rem);
 font-weight: 800; line-height: .95; letter-spacing: -.04em;
 color: #F0EDE8; margin-bottom: .8rem;}
.corp-hero-h1 .line{display: block; overflow: hidden; padding-bottom: .18em;}
.corp-hero-h1 .line span{display: block; animation: hLineUp .9s var(--ease) both;}
.corp-hero-h1 .line:nth-child(1) span{animation-delay: .5s;}
.corp-hero-h1 .line:nth-child(2) span{animation-delay: .65s;}
.corp-hero-h1 .line:nth-child(3) span{animation-delay: .8s;}
.corp-hero-h1 em{font-style: italic; color: var(--accent-lt); font-weight: 300;}
.corp-hero-rule{width: 44px; height: 1px; background: var(--accent); opacity: .5;
 margin-bottom: 1.4rem; animation: fadeUp .7s var(--ease) .8s both;}
.corp-hero-sub{font-size: .92rem; color: rgba(240,237,232,.55);
 max-width: 420px; line-height: 1.85; margin-bottom: 1.8rem;
 animation: fadeUp .7s var(--ease) .9s both;}
.corp-hero-btns{display: flex; gap: 1rem; flex-wrap: wrap;
 animation: fadeUp .7s var(--ease) 1.05s both;
 margin-bottom: 1rem;}
/* ── MANIFIESTO ── */
.corp-manifiesto{background: var(--bg-alt);
 border-top: 1px solid var(--line);
 padding: 5rem 6rem;}
.corp-manifiesto-inner{max-width: 1280px; margin: 0 auto;
 display: grid; grid-template-columns: 220px 1fr; gap: 5rem; align-items: start;}
.corp-manifiesto-left{display: flex; flex-direction: column; justify-content: flex-start;
 padding-top: .4rem;}
.corp-manifiesto-label{font-size: .4rem; letter-spacing: .32em; text-transform: uppercase;
 color: var(--accent); font-weight: 600; opacity: .7;}
.corp-manifiesto-right{display: flex; flex-direction: column;}
.corp-manifiesto-quote{font-size: clamp(1.6rem, 2.8vw, 2.8rem);
 font-style: italic; font-weight: 300;
 color: var(--ink); line-height: 1.25; letter-spacing: -.02em;
 margin: 0 0 2.2rem; border: none; padding: 0;}
html[data-theme="dark"] .corp-manifiesto-quote{color: var(--text);}
.corp-manifiesto-quote::before{content: none;}
.corp-manifiesto-p{font-size: .9rem; color: var(--text-soft);
 line-height: 1.9; max-width: 680px; margin-bottom: 1.2rem;}
/* ── SERVICIOS ── */
.corp-servicios-sec{background: var(--bg);
 padding: 5rem 4.5rem;
 border-top: 1px solid var(--line);}
.corp-servicios-inner{max-width: 1280px; margin: 0 auto;}
.corp-section-label{font-size: .4rem; letter-spacing: .38em; text-transform: uppercase;
 color: var(--accent); font-weight: 600; margin-bottom: .8rem; opacity: .8;}
.corp-servicios-hdr{margin-bottom: 4rem; max-width: 640px;}
.corp-servicios-h{font-size: clamp(2.8rem, 4.5vw, 5.5rem);
 font-weight: 800; line-height: 1.0; letter-spacing: -.04em;
 color: var(--ink); margin: .5rem 0 1rem;}
html[data-theme="dark"] .corp-servicios-h{color: var(--text);}
.corp-servicios-h em{font-style: italic; color: var(--wine); font-weight: 300;}
.corp-servicios-sub{font-size: .88rem; color: var(--text-soft); line-height: 1.85;}
.corp-servicios-grid{display: grid; grid-template-columns: repeat(3, 1fr);
 gap: 0; border: 1px solid var(--line);}
.corp-srv-card{padding: 2.8rem 2.5rem;
 border-right: 1px solid var(--line);
 border-bottom: 1px solid var(--line);
 position: relative; overflow: hidden;
 display: flex; flex-direction: column;
 transition: background .3s;}
.corp-srv-card:nth-child(3), .corp-srv-card:nth-child(6){border-right: none;}
.corp-srv-card:nth-child(4), .corp-srv-card:nth-child(5), .corp-srv-card:nth-child(6){border-bottom: none;}
.corp-srv-card-featured{background: rgba(172, 55, 73,.04);}
.corp-srv-num{position: absolute; top: 1.5rem; right: 2rem;
 font-size: 4.5rem; font-weight: 800; letter-spacing: -.08em;
 color: var(--line); line-height: 1;
 transition: color .4s; pointer-events: none;
 font-feature-settings: 'tnum';}
.corp-srv-card:hover .corp-srv-num{color: rgba(172, 55, 73,.1);}
.corp-srv-body{position: relative; z-index: 1; flex: 1; display: flex; flex-direction: column;}
.corp-srv-icon{width: 36px; height: 36px; margin-bottom: 1.4rem; color: var(--accent);}
.corp-srv-icon svg{width: 36px; height: 36px;}
.corp-srv-h{font-size: .9rem; font-weight: 700; letter-spacing: -.02em;
 color: var(--ink); margin-bottom: .7rem;}
.corp-srv-p{font-size: .82rem; color: var(--text-soft);
 line-height: 1.8; flex: 1; margin-bottom: 1.4rem;}
.corp-srv-detail{font-size: .36rem; letter-spacing: .18em; text-transform: uppercase;
 color: var(--accent); font-weight: 500; opacity: .7;
 padding-top: 1rem; border-top: 1px solid var(--line);}
/* ── FLOTA EJECUTIVA — CENTRADA Y FORMAL ── */
.corp-flota-sec{background: var(--bg-alt);
 padding: 5rem 4.5rem;
 border-top: 1px solid var(--line);}
.corp-flota-hdr{max-width: 1280px; margin: 0 auto 3.5rem;}
.corp-flota-h{font-size: clamp(2.8rem, 4.5vw, 5.5rem);
 font-weight: 800; line-height: 1.0; letter-spacing: -.04em;
 color: var(--ink); margin: .5rem 0;}
html[data-theme="dark"] .corp-flota-h{color: var(--text);}
.corp-flota-h em{font-style: italic; color: var(--wine); font-weight: 300;}
.corp-flota-grid{max-width: 1280px; margin: 0 auto;
 display: grid; grid-template-columns: repeat(4, 1fr);
 gap: 0; border: 1px solid var(--line);}
.corp-flota-card{border-right: 1px solid var(--line);
 overflow: hidden; transition: background .3s;
 display: flex; flex-direction: column;}
.corp-flota-card:last-child{border-right: none;}
.corp-flota-card-img{height: 180px; background: var(--bg-alt);
 display: flex; align-items: center; justify-content: center;
 overflow: hidden; border-bottom: 1px solid var(--line);
 padding: 1.2rem;}
.corp-flota-card-img img{width: 100%; height: 100%; object-fit: contain;
 object-position: center;
 transition: transform .5s var(--ease);}
.corp-flota-card:hover .corp-flota-card-img img{transform: scale(1.04);}
.corp-flota-card-body{padding: 1.6rem 1.8rem 2rem; flex: 1; display: flex; flex-direction: column;}
.corp-flota-card-name{font-size: .82rem; font-weight: 700; color: var(--ink);
 letter-spacing: -.01em; margin-bottom: .5rem;}
.corp-flota-card-desc{font-size: .78rem; color: var(--text-soft);
 line-height: 1.7; margin-bottom: 1.2rem; flex: 1;}
.corp-flota-card-specs{display: flex; gap: .4rem; flex-wrap: wrap;}
.corp-flota-card-specs span{font-size: .34rem; letter-spacing: .14em; text-transform: uppercase;
 color: var(--accent); border: 1px solid var(--line);
 padding: .25rem .65rem; font-weight: 500;}
/* ── PROCESO ── */
.corp-proceso-sec{background: var(--bg);
 padding: 5rem 4.5rem;
 border-top: 1px solid var(--line);}
.corp-proceso-inner{max-width: 1280px; margin: 0 auto;}
.corp-proceso-hdr{margin-bottom: 4rem; max-width: 600px;}
.corp-proceso-h{font-size: clamp(2.8rem, 4.5vw, 5.5rem);
 font-weight: 800; line-height: 1.0; letter-spacing: -.04em;
 color: var(--ink); margin: .5rem 0;}
html[data-theme="dark"] .corp-proceso-h{color: var(--text);}
.corp-proceso-h em{font-style: italic; color: var(--wine); font-weight: 300;}
.corp-proceso-steps{display: grid; grid-template-columns: repeat(4, 1fr);
 gap: 0; border-top: 1px solid var(--line);}
.corp-step{padding: 2.5rem 2.5rem 2.5rem 0; border-right: 1px solid var(--line);}
.corp-step:last-child{border-right: none; padding-right: 0;}
.corp-step:not(:first-child){padding-left: 2.5rem;}
.corp-step-track{margin-bottom: 1.4rem;}
.corp-step-body{display: flex; flex-direction: column;}
.corp-step-num{font-size: 2.8rem; font-weight: 800;
 color: var(--line); letter-spacing: -.06em; line-height: 1;
 display: block; margin-bottom: .8rem;}
.corp-step-line{width: 100%; height: 1px;
 background: linear-gradient(to right, var(--gold), transparent);
 opacity: .3;}
.corp-step-h{font-size: .88rem; font-weight: 700; color: var(--ink);
 letter-spacing: -.01em; margin-bottom: .7rem;}
.corp-step-p{font-size: .8rem; color: var(--text-soft); line-height: 1.8;}
/* ── NÚMEROS ── */
.corp-numeros-sec{background: var(--bg-alt);
 padding: 6rem 4.5rem;
 border-top: 1px solid var(--line);
 text-align: center;
 position: relative; overflow: hidden;}
.corp-numeros-grain{position: absolute; inset: 0; opacity: .015;
 background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
 pointer-events: none;}
.corp-numeros-inner{max-width: 1100px; margin: 0 auto; position: relative; z-index: 1;}
.corp-numeros-label{font-size: .4rem; letter-spacing: .38em; text-transform: uppercase;
 color: var(--accent); font-weight: 600; margin-bottom: 4rem;
 display: block; opacity: .8;}
.corp-numeros-grid{display: grid; grid-template-columns: repeat(4, 1fr);
 gap: 0; margin-bottom: 4rem;
 border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
 padding: 3.5rem 0;}
.corp-numero{padding: 0 2rem; border-right: 1px solid var(--line);}
.corp-numero:last-child{border-right: none;}
.corp-numero-n{font-size: clamp(3rem, 6vw, 6rem);
 font-weight: 800; color: var(--ink); letter-spacing: -.06em; line-height: 1;
 margin-bottom: .5rem;}
html[data-theme="dark"] .corp-numero-n{color: var(--text);}
.corp-numero-n span{color: var(--wine);}
.corp-numero-l{font-size: .38rem; letter-spacing: .18em; text-transform: uppercase;
 color: var(--text-muted); font-weight: 500; line-height: 1.6;}
.corp-numeros-quote{display: flex; align-items: center; justify-content: center; gap: 1.5rem; flex-wrap: wrap;
 font-size: clamp(.88rem, 1.4vw, 1.1rem);}
.corp-numeros-quote span:first-child{font-style: italic; color: var(--text-soft); font-weight: 300;}
.corp-numeros-quote-sep{color: var(--line); font-size: 1.5rem;}
.corp-numeros-quote span:last-child{color: var(--text-soft);}
.sec-sub{font-size: .9rem; color: var(--text-soft); margin-top: .5rem; line-height: 1.7;}
.h-scroll-chevron{display: none;}
.kicker.center{text-align: center; justify-content: center;}
/* ═══════════════════════════════════════════════════════════════
 26. PÁGINA — DESPEDIDA DE SOLTERO/A
═══════════════════════════════════════════════════════════════ */

/* ── HERO ── */
.desp-hero{height: 100vh; height: 100svh; min-height: 700px;
 position: relative; display: grid;
 grid-template-columns: 1fr 1fr; overflow: hidden; background: #080604;}
.desp-hero-img{position: absolute; inset: 0; z-index: 0;}
.desp-hero-img img{width: 100%; height: 100%; object-fit: cover; object-position: center 35%;
 animation: heroZoom 30s ease-in-out infinite alternate; will-change: transform;}
.desp-hero-overlay{position: absolute; inset: 0; z-index: 1;
 background: linear-gradient(105deg, rgba(4,3,2,.93) 0%, rgba(4,3,2,.6) 48%, rgba(4,3,2,.1) 100%);}
.desp-hero-content{position: relative; z-index: 4; display: flex; flex-direction: column;
 justify-content: flex-end; padding: 7rem 4.5rem 3.5rem 6rem; grid-column: 1;}
.desp-hero-eyebrow{font-size: .52rem; letter-spacing: .44em; text-transform: uppercase;
 color: var(--accent); font-weight: 500; margin-bottom: 1.8rem;
 display: flex; align-items: center; gap: .8rem;
 animation: fadeUp .7s var(--ease) .3s both;}
.desp-eyebrow-line{width: 28px; height: 1px; background: var(--accent); opacity: .6; flex-shrink: 0;}
.desp-hero-h1{font-size: clamp(2.6rem, 4.2vw, 5.5rem);
 font-weight: 800; line-height: .95; letter-spacing: -.04em;
 color: #F0EDE8; margin-bottom: .8rem;}
.desp-hero-h1 .line{display: block; overflow: hidden; padding-bottom: .18em;}
.desp-hero-h1 .line span{display: block; animation: hLineUp .9s var(--ease) both;}
.desp-hero-h1 .line:nth-child(1) span{animation-delay: .5s;}
.desp-hero-h1 .line:nth-child(2) span{animation-delay: .65s;}
.desp-hero-h1 .line:nth-child(3) span{animation-delay: .8s;}
.desp-hero-h1 em{font-style: italic; color: var(--accent-lt); font-weight: 300;}
.desp-hero-rule{width: 44px; height: 1px; background: var(--accent); opacity: .5; margin-bottom: 1.4rem;
 animation: fadeUp .7s var(--ease) .8s both;}
.desp-hero-sub{font-size: .92rem; color: rgba(240,237,232,.55); max-width: 420px;
 line-height: 1.85; margin-bottom: 1.6rem;
 animation: fadeUp .7s var(--ease) .9s both;}
.desp-hero-btns{display: flex; gap: 1rem; flex-wrap: wrap;
 animation: fadeUp .7s var(--ease) 1.05s both; margin-bottom: 1rem;}
/* ── DIFERENCIAL OSCURO ── */
.desp-diff-sec{background: #080604; padding: 5rem 4.5rem;
 border-top: 1px solid rgba(172, 55, 73,.08);}
.desp-diff-inner{max-width: 1280px; margin: 0 auto;}
.desp-diff-hdr{margin-bottom: 4rem; max-width: 700px;}
.desp-diff-h{font-size: clamp(2.8rem, 4.5vw, 5.5rem);
 font-weight: 800; line-height: 1.02; letter-spacing: -.04em;
 color: #F0EDE8; margin: .6rem 0;}
.desp-diff-h em{font-style: italic; color: var(--accent-lt); font-weight: 300;}
.desp-diff-grid{display: grid; grid-template-columns: repeat(4, 1fr);
 gap: 0; border-top: 1px solid rgba(172, 55, 73,.1);}
.desp-diff-item{padding: 2.5rem 2rem 2.5rem 0; border-right: 1px solid rgba(172, 55, 73,.08);}
.desp-diff-item:last-child{border-right: none;}
.desp-diff-item:not(:first-child){padding-left: 2rem;}
.desp-diff-icon{font-size: 1.2rem; color: var(--accent); margin-bottom: 1.2rem;
 display: block; opacity: .7;}
.desp-diff-item-h{font-size: .9rem; font-weight: 700; color: #F0EDE8;
 letter-spacing: -.01em; margin-bottom: .7rem;}
.desp-diff-item-p{font-size: .82rem; color: rgba(240,237,232,.35); line-height: 1.8;}
/* ── COMO FUNCIONA ── */
.desp-como-sec{background: var(--bg-alt); padding: 5rem 4.5rem;}
.desp-como-inner{max-width: 1280px; margin: 0 auto;}
.desp-como-hdr{margin-bottom: 4rem; max-width: 640px;}
.desp-como-h{font-size: clamp(2.8rem, 4.5vw, 5.5rem);
 font-weight: 800; line-height: 1.02; letter-spacing: -.04em;
 color: var(--ink); margin: .6rem 0 1rem;}
html[data-theme="dark"] .desp-como-h{color: var(--text);}
.desp-como-h em{font-style: italic; color: var(--wine); font-weight: 300;}
.desp-como-sub{font-size: .9rem; color: var(--text-soft); line-height: 1.85;}
.desp-como-steps{display: grid; grid-template-columns: repeat(4, 1fr);
 gap: 0; border-top: 1px solid var(--line);}
.desp-como-step{padding: 2.5rem 2.5rem 2.5rem 0; border-right: 1px solid var(--line);}
.desp-como-step:last-child{border-right: none; padding-right: 0;}
.desp-como-step:not(:first-child){padding-left: 2.5rem;}
.desp-como-step-num{font-size: 2.8rem; font-weight: 800; color: var(--line);
 letter-spacing: -.06em; line-height: 1; display: block; margin-bottom: 1rem;}
.desp-como-step-h{font-size: .88rem; font-weight: 700; color: var(--ink);
 letter-spacing: -.01em; margin-bottom: .7rem;}
.desp-como-step-p{font-size: .82rem; color: var(--text-soft); line-height: 1.8;}
/* ── CTA FINAL ── */

/* Structural containers */
.desp-como-step-body{display: flex; flex-direction: column;}
/* ── FILOSOFÍA HEADER ── */
.desp-filosofia-sec{background: var(--bg-alt);
 padding: 5rem 4.5rem 0;
 border-top: 1px solid var(--line);}
.desp-filosofia-inner{max-width: 1280px; margin: 0 auto;}
.desp-filosofia-hdr{display: grid; grid-template-columns: 1fr 1fr;
 gap: 5rem; align-items: start;
 margin-bottom: 5rem; padding-bottom: 4rem;
 border-bottom: 1px solid var(--line);}
.desp-filosofia-hdr-left{display: flex; flex-direction: column;}
.desp-filosofia-hdr-right{display: flex; flex-direction: column;}
.desp-filosofia-h{font-size: clamp(2.8rem, 4.5vw, 5.5rem);
 font-weight: 800; line-height: 1.02; letter-spacing: -.04em;
 color: var(--ink); margin: .6rem 0;}
html[data-theme="dark"] .desp-filosofia-h{color: var(--text);}
.desp-filosofia-h em{font-style: italic; color: var(--wine); font-weight: 300;}
.desp-filosofia-intro{font-size: .9rem; color: var(--text-soft); line-height: 1.85; margin-bottom: 2rem;}
.desp-filosofia-claim{display: flex; gap: 1rem; align-items: flex-start;
 border-left: 2px solid var(--accent); padding-left: 1.2rem;}
.desp-filosofia-claim-icon{font-size: 1rem; color: var(--accent); opacity: .7; flex-shrink: 0; margin-top: .15rem;}
.desp-filosofia-claim p{font-size: .86rem; color: var(--text-soft); line-height: 1.75; font-style: italic;}
/* ── MOMENTOS — FULL-BLEED ALTERNADO ── */
.desp-momentos{display: flex; flex-direction: column;}
.desp-momento-row{display: grid;
 grid-template-columns: 1fr 1fr;
 min-height: 520px;
 border-top: 1px solid var(--line);}
.desp-momento-row:last-of-type{border-bottom: 1px solid var(--line);}
.desp-momento-row-rev .desp-momento-img{order: 2;}
.desp-momento-img{position: relative; overflow: hidden;}
.desp-momento-img img{position: absolute; inset: 0;
 width: 100%; height: 100%;
 object-fit: cover; object-position: center;
 transition: transform .8s var(--ease);
 filter: brightness(.88) saturate(.8);}
.desp-momento-row:hover .desp-momento-img img{transform: scale(1.04);
 filter: brightness(1) saturate(1);}
.desp-momento-img-featured::after{content: '';
 position: absolute; inset: 0;
 background: linear-gradient(135deg, rgba(107,29,42,.25) 0%, transparent 60%);
 z-index: 1; pointer-events: none;}
.desp-momento-txt{display: flex; flex-direction: column; justify-content: center;
 padding: 4rem 5rem;
 background: var(--bg-alt);
 border-left: 1px solid var(--line);
 transition: background .3s;}
.desp-momento-row-rev .desp-momento-txt{border-left: none;
 border-right: 1px solid var(--line);}
.desp-momento-row:hover .desp-momento-txt{background: var(--bg);}
.desp-momento-txt.desp-momento-txt-featured, .desp-momento-row .desp-momento-txt-featured{border-left: 3px solid var(--wine);}
html[data-theme="dark"] .desp-momento-txt.desp-momento-txt-featured{border-left-color: #E05070;}
.desp-momento-meta{display: flex; align-items: center; gap: 1rem; margin-bottom: 1.2rem;}
.desp-momento-hora{font-size: .38rem; letter-spacing: .28em; text-transform: uppercase;
 color: var(--text-muted); font-weight: 500;}
.desp-momento-badge{font-size: .34rem; letter-spacing: .14em; text-transform: uppercase;
 font-weight: 600; padding: .22rem .75rem;}
.desp-momento-badge-opt{color: var(--text-muted); border: 1px solid var(--line);}
.desp-momento-badge-gold{color: var(--accent); border: 1px solid rgba(172, 55, 73,.3); background: rgba(172, 55, 73,.06);}
.desp-momento-badge-wine{color: var(--wine); border: 1px solid rgba(107,29,42,.2); background: rgba(107,29,42,.05);}
.desp-momento-h{font-size: clamp(1.8rem, 2.8vw, 3.2rem);
 font-weight: 800; letter-spacing: -.04em; color: var(--ink);
 line-height: 1.05; margin-bottom: 1.2rem;}
.desp-momento-p{font-size: .88rem; color: var(--text-soft); line-height: 1.85; margin-bottom: 1.6rem;
 max-width: 440px;}
.desp-momento-chips{display: flex; flex-wrap: wrap; gap: .4rem;}
.desp-momento-chips span{font-size: .33rem; letter-spacing: .14em; text-transform: uppercase;
 color: var(--accent); border: 1px solid var(--line); padding: .25rem .65rem; font-weight: 500;}
.desp-momento-cta-row{background: var(--bg-alt);
 padding: 5rem 4.5rem;
 display: flex; align-items: center; justify-content: center;
 text-align: center;
 border-top: 1px solid var(--line);}
.desp-momento-cta-content{max-width: 640px;}
.desp-momento-cta-icon{display: none;}
.desp-momento-cta-h{font-size: clamp(2rem, 3.5vw, 4rem);
 font-weight: 800; letter-spacing: -.04em; color: var(--ink); margin-bottom: 1rem;}
.desp-momento-cta-p{font-size: .88rem; color: var(--text-soft); line-height: 1.85; margin-bottom: 2rem;}
.desp-momento-cta-btn{display: inline-flex; align-items: center; gap: .8rem;
 background: var(--wine); color: #fff;
 padding: 1rem 2.2rem;
 font-size: .5rem; letter-spacing: .2em; font-weight: 700; text-transform: uppercase;
 transition: background .25s, transform .2s;}
.desp-momento-cta-btn:hover{background: var(--wine-dk); transform: translateY(-2px);}
.desp-momento-cta-btn svg{flex-shrink: 0; stroke: #fff;}
/* ═══════════════════════════════════════════════════════════════
 27. PÁGINA — EVENTOS EN MENDOZA (editorial de lujo)
═══════════════════════════════════════════════════════════════ */

/* ── PORTADA EDITORIAL ── */
.ev-portada{min-height: 100vh; min-height: 100svh;
 background: var(--bg);
 padding-top: var(--nav-h);
 display: flex; flex-direction: column;
 justify-content: space-between;
 border-bottom: 1px solid var(--line);
 overflow: hidden;}
/* Top bar — número de edición + contacto */
html[data-theme="dark"] .ev-portada-contact{color: var(--accent);}
/* Título gigante */
.ev-portada-titulo{padding: 0 3rem;
 flex: 1; display: flex; flex-direction: column; justify-content: center;}
.ev-portada-linea{display: block;
 line-height: 1.15;
 padding: 0 0 .12em;}
.ev-portada-word{display: block;
 font-size: clamp(3rem, 9vw, 11rem);
 font-weight: 800; letter-spacing: -.04em;
 color: var(--ink);
 animation: hLineUp 1s var(--ease) both;
 word-break: keep-all;
 overflow-wrap: normal;}
html[data-theme="dark"] .ev-portada-word{color: var(--text);}
.ev-portada-linea-1 .ev-portada-word{animation-delay: .3s;}
.ev-portada-linea-2 .ev-portada-word{animation-delay: .5s;}
.ev-portada-linea-3 .ev-portada-word{animation-delay: .7s;}
.ev-portada-word-italic{font-style: italic; color: var(--wine); font-weight: 300;}
/* ── LISTA EDITORIAL DE EVENTOS ── */
.ev-lista-sec{background: var(--bg);
 border-top: 1px solid var(--line);}
.ev-lista-inner{max-width: 1280px; margin: 0 auto;}
html[data-theme="dark"] .ev-lista-hdr-h{color: var(--text);}
.ev-lista-item{display: grid; grid-template-columns: 1fr 1.6fr;
 padding: 4rem 5rem;
 border-bottom: 1px solid var(--line);
 transition: background .3s;
 gap: 5rem; align-items: start;}
.ev-lista-item:last-child{border-bottom: none;}
.ev-lista-item-left{display: flex; flex-direction: column; gap: 1.2rem; position: sticky; top: calc(var(--nav-h) + 2rem);}
.ev-lista-n{font-size: .38rem; letter-spacing: .28em; text-transform: uppercase;
 color: var(--text-muted); font-weight: 500;}
.ev-lista-h{font-size: clamp(2rem, 3vw, 3.5rem);
 font-weight: 800; letter-spacing: -.05em; color: var(--ink); line-height: 1;}
.ev-lista-h em{display: block; font-style: italic; color: var(--wine); font-weight: 300;}
.ev-lista-item-right{display: flex; flex-direction: column; gap: 1.4rem;}
.ev-lista-p{font-size: .9rem; color: var(--text-soft); line-height: 1.85;}
.ev-lista-tags{display: flex; flex-wrap: wrap; gap: .4rem;}
.ev-lista-tags span{font-size: .33rem; letter-spacing: .14em; text-transform: uppercase;
 color: var(--accent); border: 1px solid var(--line); padding: .25rem .7rem; font-weight: 500;}
.ev-lista-link{font-size: .48rem; letter-spacing: .18em; text-transform: uppercase;
 font-weight: 700; color: var(--wine); display: inline-flex; align-items: center;
 transition: color .2s, letter-spacing .2s;}
.ev-lista-link:hover{color: var(--wine-dk); letter-spacing: .24em;}
/* ── FOTO FULL-BLEED ── */
.ev-foto-sec{position: relative; height: 70vh; min-height: 400px;
 overflow: hidden; border-top: 1px solid var(--line);}
.ev-foto-img{position: absolute; inset: 0;}
.ev-foto-img img{width: 100%; height: 100%; object-fit: cover; object-position: center 40%;
 filter: brightness(.6) saturate(.7);}
.ev-foto-caption{position: absolute; bottom: 0; left: 0; right: 0;
 padding: 2rem 5rem;
 display: flex; align-items: flex-end; gap: 2rem;
 background: linear-gradient(to top, rgba(4,3,2,.7) 0%, transparent 100%);}
.ev-foto-caption-num{font-size: .38rem; letter-spacing: .28em; text-transform: uppercase;
 color: rgba(240,237,232,.4); font-weight: 500; flex-shrink: 0; margin-bottom: .1rem;}
.ev-foto-caption p{font-size: .88rem; color: rgba(240,237,232,.55); line-height: 1.6; max-width: 500px;}
/* ── COLUMNAS DIFERENCIAL ── */
.ev-columnas-sec{background: var(--bg-alt);
 padding: 6rem 5rem;
 border-top: 1px solid var(--line);}
.ev-columnas-inner{max-width: 1280px; margin: 0 auto;}
.ev-columnas-hdr{display: flex; align-items: baseline; gap: 2rem;
 margin-bottom: 4rem; padding-bottom: 3rem;
 border-bottom: 1px solid var(--line);}
.ev-columnas-hdr-num{font-size: .38rem; letter-spacing: .28em; text-transform: uppercase;
 color: var(--text-muted); font-weight: 500; flex-shrink: 0;}
.ev-columnas-hdr-h{font-size: clamp(2rem, 4vw, 5rem);
 font-weight: 800; letter-spacing: -.05em; color: var(--ink); line-height: 1;}
html[data-theme="dark"] .ev-columnas-hdr-h{color: var(--text);}
.ev-columnas-hdr-h em{display: block; font-style: italic; color: var(--wine); font-weight: 300;}
.ev-columnas-grid{display: grid; grid-template-columns: repeat(4, 1fr); gap: 0;}
.ev-col{padding: 0 3rem 0 0;
 border-right: 1px solid var(--line);}
.ev-col:last-child{border-right: none; padding-right: 0;}
.ev-col:not(:first-child){padding-left: 3rem;}
.ev-col-rule{width: 24px; height: 2px; background: var(--accent); margin-bottom: 1.6rem; opacity: .7;}
.ev-col-h{font-size: clamp(1.1rem, 1.8vw, 2rem); font-weight: 800;
 letter-spacing: -.04em; color: var(--ink); line-height: 1.05; margin-bottom: 1rem;}
.ev-col-p{font-size: .82rem; color: var(--text-soft); line-height: 1.8;}
/* ── PROCESO ── */
.ev-proceso-sec{background: var(--bg);
 border-top: 1px solid var(--line);}
.ev-proceso-inner{max-width: 1280px; margin: 0 auto;}
.ev-proceso-hdr{display: flex; align-items: baseline; gap: 2rem;
 padding: 4rem 5rem 3rem;
 border-bottom: 1px solid var(--line);}
.ev-proceso-hdr-num{font-size: .38rem; letter-spacing: .28em; text-transform: uppercase;
 color: var(--text-muted); font-weight: 500; flex-shrink: 0;}
.ev-proceso-hdr-h{font-size: clamp(2rem, 4vw, 5rem);
 font-weight: 800; letter-spacing: -.05em; color: var(--ink); line-height: 1;}
html[data-theme="dark"] .ev-proceso-hdr-h{color: var(--text);}
.ev-proceso-lista{display: flex; flex-direction: column;}
.ev-proceso-item{display: grid; grid-template-columns: 140px 1fr;
 padding: 3rem 5rem;
 border-bottom: 1px solid var(--line);
 align-items: start; gap: 3rem;
 transition: background .3s;}
.ev-proceso-item:last-child{border-bottom: none;}
.ev-proceso-n{font-size: .38rem; letter-spacing: .28em; text-transform: uppercase;
 color: var(--text-muted); font-weight: 500; padding-top: .2rem; white-space: nowrap;}
.ev-proceso-body{display: flex; flex-direction: column; gap: .7rem;}
.ev-proceso-h{font-size: clamp(1.2rem, 2vw, 2rem); font-weight: 800;
 letter-spacing: -.03em; color: var(--ink);}
.ev-proceso-p{font-size: .88rem; color: var(--text-soft); line-height: 1.8; max-width: 600px;}
/* ═══════════════════════════════════════════════════════════════
 28. BLOGS — Índice + Artículos individuales
═══════════════════════════════════════════════════════════════ */

/* ── BLOG INDEX — HERO ── */
.blog-hero{background: var(--bg);
 padding: calc(var(--nav-h) + 4rem) 4.5rem 4rem;
 border-bottom: 1px solid var(--line);
 max-width: 1280px;
 margin: 0 auto;}
.blog-hero-eyebrow{display: flex; align-items: center; gap: .8rem;
 font-size: .52rem; letter-spacing: .44em; text-transform: uppercase;
 color: var(--accent); font-weight: 500; margin-bottom: 1.4rem;}
.blog-hero-eyebrow-line{width: 28px; height: 1px; background: var(--accent); opacity: .6;}
.blog-hero-h{font-size: clamp(2.2rem, 4.5vw, 4.2rem);
 font-weight: 600; letter-spacing: -.022em; line-height: 1.08;
 color: var(--ink); margin-bottom: 1.2rem;}
.blog-hero-h em{color: var(--wine); font-weight: 500;}
.blog-hero-sub{font-size: .92rem; color: var(--text-soft); line-height: 1.8; max-width: 560px;}
/* ── BLOG GRID ── */
.blog-grid-sec{background: var(--bg); padding: 3rem 4.5rem 6rem;}
.blog-grid-inner{max-width: 1280px; margin: 0 auto;}
.blog-grid{display: grid; grid-template-columns: repeat(3, 1fr);
 gap: 0; border: 1px solid var(--line);}
.blog-card{display: flex; flex-direction: column;
 border-right: 1px solid var(--line);
 border-bottom: 1px solid var(--line);
 text-decoration: none;
 transition: background .25s;
 overflow: hidden;}
.blog-card:nth-child(3n){border-right: none;}
.blog-card-img{height: 220px; overflow: hidden; flex-shrink: 0;
 background: var(--bg-alt);}
.blog-card-img img{width: 100%; height: 100%; object-fit: cover;
 transition: transform .6s var(--ease);
 filter: brightness(.9) saturate(.85);}
.blog-card:hover .blog-card-img img{transform: scale(1.04); filter: none;}
.blog-card-body{padding: 1.8rem 1.8rem 2rem; flex: 1; display: flex; flex-direction: column;}
.blog-card-cat{font-size: .36rem; letter-spacing: .28em; text-transform: uppercase;
 color: var(--accent); font-weight: 600; margin-bottom: .8rem; opacity: .8;}
.blog-card-h{font-size: clamp(.9rem, 1.2vw, 1.2rem); font-weight: 700;
 letter-spacing: -.02em; color: var(--ink); line-height: 1.25; margin-bottom: .7rem; flex: 1;}
html[data-theme="dark"] .blog-card-h{color: var(--text);}
.blog-card-desc{font-size: .82rem; color: var(--text-soft); line-height: 1.7; margin-bottom: 1.2rem;}
.blog-card-link{font-size: .44rem; letter-spacing: .18em; text-transform: uppercase;
 font-weight: 700; color: var(--wine); display: inline-flex; align-items: center; gap: .4rem;
 transition: gap .2s, color .2s;}
.blog-card:hover .blog-card-link{gap: .7rem;}
.blog-art-header{position: relative;
 width: 100%;
 min-height: 70vh;
 min-height: 70dvh;
 display: flex; flex-direction: column; justify-content: flex-end;
 overflow: hidden;
 padding-top: var(--nav-h);}
/* Background image — full bleed */
.blog-art-header-img{position: absolute; inset: 0; z-index: 0;}
.blog-art-header-img img{width: 100%; height: 100%; object-fit: cover; object-position: center;
 filter: brightness(.45) saturate(.75);
 display: block;}
/* Gradient overlay for text legibility */
.blog-art-header-overlay{position: absolute; inset: 0; z-index: 1;
 background: linear-gradient(
 to top,
 rgba(4,3,2,.85) 0%,
 rgba(4,3,2,.4) 50%,
 rgba(4,3,2,.15) 100%
 );}
/* Text content */
.blog-art-header-body{position: relative; z-index: 2;
 padding: 3rem 4.5rem 4rem;
 max-width: 900px;}
.blog-art-breadcrumb{display: flex; align-items: center; gap: .6rem;
 font-size: .38rem; letter-spacing: .18em; text-transform: uppercase;
 color: rgba(240,237,232,.5); margin-bottom: 1.6rem;}
.blog-art-breadcrumb a{color: rgba(240,237,232,.5); transition: color .2s;}
.blog-art-breadcrumb a:hover{color: var(--accent);}
.blog-art-breadcrumb-sep{opacity: .4;}
.blog-art-cat{font-size: .44rem; letter-spacing: .32em; text-transform: uppercase;
 color: var(--accent); font-weight: 600; margin-bottom: 1rem; opacity: .85;}
.blog-art-h1{font-size: clamp(1.8rem, 4vw, 3.4rem);
 font-weight: 600; letter-spacing: -.04em; line-height: 1.02;
 color: #F0EDE8; margin-bottom: 1rem;}
.blog-art-sub{font-size: 1rem; color: rgba(240,237,232,.65); line-height: 1.75;
 font-style: italic; margin-bottom: 1.6rem; max-width: 620px;}
.blog-art-meta{display: flex; align-items: center; gap: 1.2rem;
 padding-top: 1.2rem; border-top: 1px solid rgba(240,237,232,.15);
 font-size: .4rem; letter-spacing: .14em; text-transform: uppercase;
 color: rgba(240,237,232,.45); font-weight: 500;}
.blog-art-meta-dot{width: 3px; height: 3px; border-radius: 50%; background: rgba(240,237,232,.25);}
/* Hero image — hide, now used as bg */

/* Content */
.blog-art-content{max-width: 760px; margin: 0 auto;
 padding: 4rem 4.5rem 0;}
.blog-art-content p{font-size: .95rem; color: var(--text-soft); line-height: 1.9;
 margin-bottom: 1.6rem;}
.blog-art-content h2{font-size: clamp(1.4rem, 2.5vw, 2.2rem);
 font-weight: 800; letter-spacing: -.03em; color: var(--ink);
 margin: 3rem 0 1rem; line-height: 1.1;}
html[data-theme="dark"] .blog-art-content h2{color: var(--text);}
.blog-art-content h3{font-size: clamp(1.1rem, 1.8vw, 1.5rem);
 font-weight: 700; letter-spacing: -.02em; color: var(--ink);
 margin: 2.2rem 0 .8rem; line-height: 1.2;}
.blog-art-content ul, .blog-art-content ol{padding-left: 1.4rem; margin-bottom: 1.6rem;}
.blog-art-content li{font-size: .95rem; color: var(--text-soft); line-height: 1.8; margin-bottom: .4rem;}
.blog-art-content strong{color: var(--ink); font-weight: 700;}
.blog-art-content hr{border: none; border-top: 1px solid var(--line); margin: 2.5rem 0;}
.blog-art-content blockquote{border-left: 3px solid var(--accent); padding-left: 1.5rem;
 margin: 2rem 0; font-style: italic;}
.blog-art-content blockquote p{color: var(--text-soft); font-size: 1rem;}
/* CTA inline */
.blog-art-cta{background: var(--wine);
 /* Full-bleed: rompe la columna de contenido */;
 width: 100vw;
 position: relative;
 left: 50%;
 right: 50%;
 margin-left: -50vw;
 margin-right: -50vw;
 margin-top: 3.5rem;
 margin-bottom: 0;
 padding: 4rem 4.5rem;
 display: flex; align-items: center; justify-content: space-between;
 gap: 3rem; flex-wrap: wrap;}
.blog-art-cta-text h3{font-size: clamp(1.6rem, 3vw, 3rem);
 font-weight: 800; letter-spacing: -.04em; color: #fff;
 line-height: 1.05; margin-bottom: .6rem;}
.blog-art-cta-text p{font-size: .9rem; color: rgba(255,255,255,.65); line-height: 1.7;}
.blog-art-cta-btn{display: inline-flex; align-items: center; gap: .7rem;
 background: #fff; color: var(--wine);
 padding: 1.1rem 2.4rem;
 font-size: .52rem; letter-spacing: .2em; font-weight: 700; text-transform: uppercase;
 white-space: nowrap; flex-shrink: 0;
 transition: background .2s, transform .2s;}
.blog-art-cta-btn:hover{background: rgba(255,255,255,.92); transform: translateY(-2px);}
/* Related posts */
.blog-related-sec{background: var(--bg-alt); border-top: 1px solid var(--line);
 padding: 4rem 4.5rem;}
.blog-related-inner{max-width: 1280px; margin: 0 auto;}
.blog-related-hdr{font-size: .44rem; letter-spacing: .32em; text-transform: uppercase;
 color: var(--accent); font-weight: 600; margin-bottom: 2rem; opacity: .8;}
.blog-related-grid{display: grid; grid-template-columns: repeat(3, 1fr); gap: 0;
 border: 1px solid var(--line);}
.blog-related-card{border-right: 1px solid var(--line); padding: 1.8rem;
 display: flex; flex-direction: column; text-decoration: none;
 transition: background .25s;}
.blog-related-card:last-child{border-right: none;}
.blog-related-card-cat{font-size: .34rem; letter-spacing: .2em; text-transform: uppercase;
 color: var(--accent); font-weight: 600; margin-bottom: .6rem; opacity: .7;}
.blog-related-card-h{font-size: .88rem; font-weight: 700; color: var(--ink);
 letter-spacing: -.02em; line-height: 1.3; margin-bottom: .5rem; flex: 1;}
html[data-theme="dark"] .blog-related-card-h{color: var(--text);}
.blog-related-card-link{font-size: .38rem; letter-spacing: .16em; text-transform: uppercase;
 font-weight: 700; color: var(--wine); margin-top: .8rem;}
/* ═══════════════════════════════════════════════════════════════
 29. UTILITY — clases extraídas de style= inline
═══════════════════════════════════════════════════════════════ */

/* Index */
.sec-sub-sm{font-size: .9rem; color: var(--text-soft); margin-top: .5rem;}
/* Kicker variants */
.kicker-mb{margin-bottom: .8rem;}
.kicker-mb-lg{margin-bottom: 1rem;}
.kicker-center{justify-content: center;}
.kicker-gold{color: rgba(172, 55, 73,.7);}
/* Sec-h tight (no margin-bottom) */
.sec-h-tight{margin-bottom: 0;}
/* SVG icon sizes */
.icon-sm-flex{width: 13px; height: 13px; flex-shrink: 0;
 stroke: currentColor; stroke-width: 2;
 fill: none; stroke-linecap: round; stroke-linejoin: round;}
.icon-xs-flex{width: 12px; height: 12px; flex-shrink: 0;
 stroke: currentColor; stroke-width: 2;
 fill: none; stroke-linecap: round; stroke-linejoin: round;}
/* Alta Montaña modal overrides */
.exp-am-body-mt{margin-top: 2rem;}
.modal-am-badge-gold{color: var(--accent); opacity: 1;}
.modal-am-h-lg{font-size: clamp(2rem,3vw,3.6rem); margin-bottom: 1.6rem;}
.modal-am-p-mt{margin-top: .8rem;}
.modal-am-cta-spaced{margin-top: 2rem; padding-top: 1.8rem;}
.modal-am-list-mb{margin-bottom: 2rem;}
/* ═══════════════════════════════════════════════════════════════
 30. PÁGINA — NOSOTROS
═══════════════════════════════════════════════════════════════ */

/* ── HERO EDITORIAL ── */
.nos-hero{background: var(--bg);
 padding: calc(var(--nav-h) + 3rem) 5rem 3rem;
 border-bottom: 1px solid var(--line);
 max-width: 1280px;
 margin: 0 auto;}
.nos-hero-eyebrow{display: flex; align-items: center; gap: .8rem;
 font-size: .52rem; letter-spacing: .44em; text-transform: uppercase;
 color: var(--accent); font-weight: 500; margin-bottom: 2rem;}
.nos-hero-eyebrow-line{width: 28px; height: 1px; background: var(--accent); opacity: .6;}
.nos-hero-grid{display: grid; grid-template-columns: 1.1fr 1fr;
 gap: 6rem; align-items: end;}
.nos-hero-h{font-size: clamp(3.5rem, 7vw, 4.5rem);
 font-weight: 600; letter-spacing: -.022em; line-height: 1.08;
 color: var(--ink);}
.nos-hero-h em{font-style: italic; color: var(--wine); font-weight: 300;}
.nos-hero-right{display: flex; flex-direction: column; gap: 1.6rem; padding-bottom: .5rem;}
.nos-hero-p{font-size: .95rem; color: var(--text-soft); line-height: 1.85;}
.nos-hero-rule{width: 32px; height: 2px; background: var(--accent); opacity: .5;}
.nos-hero-since{font-size: .38rem; letter-spacing: .28em; text-transform: uppercase;
 color: var(--text-muted); font-weight: 500;}
/* ── VALORES ── */
.nos-valores-sec{background: var(--bg); padding: 3.5rem 5rem; border-bottom: 1px solid var(--line);}
.nos-valores-inner{max-width: 1280px; margin: 0 auto;}
.nos-valores-hdr{display: flex; align-items: baseline; gap: 2rem;
 margin-bottom: 2.5rem; padding-bottom: 2rem; border-bottom: 1px solid var(--line);}
.nos-valores-hdr-h{font-size: clamp(2rem, 4vw, 5rem);
 font-weight: 800; letter-spacing: -.05em; color: var(--ink); line-height: 1;}
html[data-theme="dark"] .nos-valores-hdr-h{color: var(--text);}
.nos-valores-hdr-h em{font-style: italic; color: var(--wine); font-weight: 300;}
.nos-valores-grid{display: grid; grid-template-columns: repeat(3, 1fr);}
.nos-valor{padding: 0 3rem 0 0; border-right: 1px solid var(--line);}
.nos-valor:last-child{border-right: none; padding-right: 0;}
.nos-valor:not(:first-child){padding-left: 3rem;}
.nos-valor-rule{width: 24px; height: 2px; background: var(--accent); margin-bottom: 1.6rem; opacity: .7;}
.nos-valor-h{font-size: clamp(1.1rem, 1.8vw, 1.8rem); font-weight: 800;
 letter-spacing: -.04em; color: var(--ink); line-height: 1.05; margin-bottom: 1rem;}
.nos-valor-p{font-size: .86rem; color: var(--text-soft); line-height: 1.8;}
/* ═══════════════════════════════════════════════════════════════
 31. NAVBAR — Mega Menu Tours (desktop only)
═══════════════════════════════════════════════════════════════ */

.nav-has-dropdown{position: relative;}
input[type="date"].cnt-input{height: calc(0.75rem * 2 + 1rem + 2px);
 line-height: 1;
 -webkit-appearance: none;}
/* ─── Newsletter Section ─── */
.news-sec{padding: clamp(4rem, 9vw, 7rem) var(--pad-x);
 background: var(--bg-soft);
 border-top: 1px solid var(--line);
 border-bottom: 1px solid var(--line);}
.news-inner{max-width: 720px;
 margin: 0 auto;
 text-align: center;}
.news-kicker{display: inline-block;
 font-size: .7rem;
 letter-spacing: .25em;
 text-transform: uppercase;
 color: var(--wine);
 font-weight: 600;
 margin-bottom: 1rem;}
html[data-theme="dark"] .news-kicker{color: var(--accent);}
.news-h{font-family: 'Poppins', sans-serif;
 font-size: clamp(2rem, 4.5vw, 3.4rem);
 font-weight: 700;
 line-height: 1.15;
 letter-spacing: -.02em;
 color: var(--text);
 margin: 0 0 1.25rem;}
.news-h em{font-style: italic;
 font-weight: 500;
 color: var(--wine);}
.news-sub{font-size: clamp(1rem, 1.4vw, 1.15rem);
 line-height: 1.65;
 color: var(--text-soft);
 max-width: 520px;
 margin: 0 auto 2.5rem;}
.news-form{text-align: left;
 max-width: 600px;
 margin: 0 auto;}
.news-row{display: grid;
 grid-template-columns: 1fr 1fr;
 gap: 1.25rem;
 margin-bottom: 1.5rem;}
.news-field{display: flex;
 flex-direction: column;}
.news-label{font-size: .7rem;
 letter-spacing: .15em;
 text-transform: uppercase;
 color: var(--text-muted);
 font-weight: 600;
 margin-bottom: .5rem;}
.news-input{font-family: 'Poppins', sans-serif;
 font-size: 1rem;
 padding: .85rem 0;
 background: transparent;
 border: none;
 border-bottom: 1px solid var(--line);
 color: var(--text);
 transition: border-color .25s;
 width: 100%;}
.news-input:focus{outline: none;
 border-bottom-color: var(--wine);}
.news-input::placeholder{color: var(--text-muted); opacity: .55;}
.news-submit{display: block;
 width: 100%;
 font-family: 'Poppins', sans-serif;
 font-size: .85rem;
 font-weight: 600;
 letter-spacing: .15em;
 text-transform: uppercase;
 padding: 1.1rem 2rem;
 background: var(--wine);
 color: white;
 border: 1px solid var(--wine);
 cursor: pointer;
 transition: all .25s;
 margin-top: 1rem;}
.news-submit:hover:not(:disabled){background: transparent;
 color: var(--wine);}
.news-submit:disabled{opacity: .6; cursor: not-allowed;}
.news-fineprint{font-size: .8rem;
 color: var(--text-muted);
 text-align: center;
 margin: 1.5rem 0 0;
 line-height: 1.5;}
.news-link{color: var(--text-soft);
 text-decoration: underline;
 text-underline-offset: 3px;}
.news-link:hover{color: var(--wine);}
.news-success{text-align: center;
 padding: 2rem;
 border: 1px solid var(--wine);
 background: rgba(123, 26, 45, 0.04);}
.news-success-title{font-family: 'Poppins', sans-serif;
 font-size: clamp(1.5rem, 2.5vw, 2rem);
 font-weight: 700;
 letter-spacing: -.01em;
 color: var(--wine);
 margin: 0 0 .75rem;}
.news-success-msg{font-size: 1rem;
 line-height: 1.6;
 color: var(--text-soft);
 margin: 0;}
/* ─── Newsletter Popup ─── */
.news-popup{position: fixed;
 inset: 0;
 z-index: 10000;
 display: flex;
 align-items: center;
 justify-content: center;
 padding: 1rem;
 opacity: 0;
 pointer-events: none;
 transition: opacity .35s ease;}
.news-popup-visible{opacity: 1;
 pointer-events: auto;}
.news-popup-backdrop{position: absolute;
 inset: 0;
 background: rgba(0, 0, 0, 0.5);
 backdrop-filter: blur(4px);
 -webkit-backdrop-filter: blur(4px);
 cursor: pointer;}
.news-popup-box{position: relative;
 background: var(--bg);
 max-width: 480px;
 width: 100%;
 padding: 2.75rem 2.25rem 2.25rem;
 text-align: center;
 border: 1px solid var(--line);
 box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
 transform: translateY(20px);
 transition: transform .4s cubic-bezier(.16, 1, .3, 1);
 max-height: 90vh;
 overflow-y: auto;}
.news-popup-visible .news-popup-box{transform: translateY(0);}
.news-popup-close{position: absolute;
 top: .75rem;
 right: .75rem;
 width: 36px;
 height: 36px;
 display: flex;
 align-items: center;
 justify-content: center;
 background: none;
 border: none;
 font-size: 1.25rem;
 color: var(--text-muted);
 cursor: pointer;
 transition: color .2s;
 font-family: inherit;}
.news-popup-close:hover{color: var(--wine);}
.news-popup-kicker{display: inline-block;
 font-size: .65rem;
 letter-spacing: .25em;
 text-transform: uppercase;
 color: var(--wine);
 font-weight: 600;
 margin-bottom: .75rem;}
.news-popup-title{font-family: 'Poppins', sans-serif;
 font-size: clamp(1.6rem, 3.5vw, 2.1rem);
 font-weight: 700;
 line-height: 1.15;
 letter-spacing: -.015em;
 color: var(--text);
 margin: 0 0 1rem;}
.news-popup-title em{font-style: italic;
 font-weight: 500;
 color: var(--wine);}
.news-popup-sub{font-size: .95rem;
 line-height: 1.55;
 color: var(--text-soft);
 margin: 0 0 1.75rem;}
.news-popup-form{display: flex; flex-direction: column; gap: .85rem;}
.news-popup-input{font-family: 'Poppins', sans-serif;
 font-size: 1rem;
 padding: .9rem 0;
 background: transparent;
 border: none;
 border-bottom: 1px solid var(--line);
 color: var(--text);
 text-align: center;
 transition: border-color .2s;
 width: 100%;}
.news-popup-input:focus{outline: none;
 border-bottom-color: var(--wine);}
.news-popup-input::placeholder{color: var(--text-muted); opacity: .55;}
.news-popup-submit{font-family: 'Poppins', sans-serif;
 font-size: .8rem;
 font-weight: 600;
 letter-spacing: .15em;
 text-transform: uppercase;
 padding: 1rem 1.5rem;
 background: var(--wine);
 color: white;
 border: 1px solid var(--wine);
 cursor: pointer;
 transition: all .25s;
 margin-top: .5rem;}
.news-popup-submit:hover:not(:disabled){background: transparent;
 color: var(--wine);}
.news-popup-decline{background: none;
 border: none;
 font-family: 'Poppins', sans-serif;
 font-size: .8rem;
 color: var(--text-muted);
 cursor: pointer;
 padding: .5rem;
 margin-top: .25rem;
 text-decoration: underline;
 text-underline-offset: 4px;
 transition: color .2s;}
.news-popup-decline:hover{color: var(--text);}
.news-popup-success{padding: 1rem 0;}
.news-popup-success-title{font-family: 'Poppins', sans-serif;
 font-size: 1.5rem;
 font-weight: 700;
 letter-spacing: -.01em;
 color: var(--wine);
 margin: 0 0 .75rem;}
.news-popup-success-msg{color: var(--text-soft);
 line-height: 1.5;
 margin: 0;}
/* ─── Hero CTAs (btn-w / btn-g) ─── */
.btn-w, .btn-g{display: inline-block;
 font-family: 'Poppins', sans-serif;
 font-size: .8rem;
 font-weight: 600;
 letter-spacing: .15em;
 text-transform: uppercase;
 padding: 1rem 1.75rem;
 text-decoration: none;
 border: 1px solid;
 transition: all .25s;
 white-space: nowrap;
 cursor: pointer;}
.btn-w{background: var(--wine);
 color: white;
 border-color: var(--wine);}
.btn-w:hover{background: transparent;
 color: var(--wine);}
.btn-g{background: transparent;
 color: var(--text);
 border-color: var(--text);}
.btn-g:hover{background: var(--text);
 color: var(--bg);}
texto claro sobre
 negro en modo oscuro.
═══════════════════════════════════════════════ */
.hero-4x4 .btn-g, .hero-am .btn-g, .hero-luj .btn-g, .hero-bl .btn-g, .hero-ck .btn-g, .ct-hero .btn-g{background: transparent;
 color: #fff;
 border-color: rgba(255, 255, 255, 0.85);}
.hero-4x4 .btn-g:hover, .hero-am .btn-g:hover, .hero-luj .btn-g:hover, .hero-bl .btn-g:hover, .hero-ck .btn-g:hover, .ct-hero .btn-g:hover{background: #fff;
 color: #1a1a1a;
 border-color: #fff;}
/* Mobile staff: priorizar cabeza (object-position top) */

/* Footer mobile — link activo: gold */
.foot-mobile-links a.footer-link-active{color: var(--accent) !important;}
donde --accent normalmente es var(--wine).
═══════════════════════════════════════════════════════════════════════ */

/* Heros con fondo oscuro fijo (todas las páginas de tours individuales)
 y secciones con fondo oscuro fijo */
.hero-luj, .hero-4x4, .hero-bod, .hero-bl, .hero-ck, .hero-am, .corp-hero, .desp-hero, .desp-diff-sec{--accent: var(--gold);
 --accent-lt: var(--gold-lt);}
/* ═══════════════════════════════════════════════════════════════════════
 DARK MODE — Tipografía de acento: wine → gold
 
 En modo claro todos los em italic y textos de acento son var(--wine).
 En modo oscuro deben ser var(--gold) para contraste sobre fondo negro.
 Este bloque centraliza todos los overrides en lugar de dispersarlos.
═══════════════════════════════════════════════════════════════════════ */

/* ── Regla base: todos los em italic ── */
html[data-theme="dark"] em{color: var(--gold);}
/* ============================================================ */
/* FIX — CTAs sobre fondo oscuro: texto siempre legible */
/* ============================================================ */

/* CTA final BODEGAS (.cta-final-sec) — fondo oscuro siempre */

/* CTA final REGIÓN/BODEGAS INDIVIDUALES (.cta-final) — reforzar kicker */

/* ============================================================ */
/* WINERY PAGES — Bloque vinos con botellas 3D */
/* Diseño cinematográfico premium · funciona en light + dark */
/* ============================================================ */

.winery-wines-sec{padding: clamp(4rem, 8vw, 7rem) 1.5rem;
 background: var(--bg-alt, #FAF8F4);
 position: relative;
 overflow: hidden;}
html[data-theme="dark"] .winery-wines-sec{background: #14100D;}
.winery-wines-sec::before{content: '';
 position: absolute;
 top: 0;
 left: 50%;
 transform: translateX(-50%);
 width: 120px;
 height: 1px;
 background: rgba(123, 26, 45, 0.25);}
.winery-wines-inner{max-width: 1280px;
 margin: 0 auto;}
.winery-wines-hdr{text-align: center;
 margin-bottom: clamp(3.5rem, 7vw, 6rem);}
.winery-wines-kicker{font-size: 0.7rem;
 letter-spacing: 0.3em;
 text-transform: uppercase;
 opacity: 0.55;
 margin-bottom: 1.4rem;
 font-weight: 400;
 color: var(--text);}
.winery-wines-h{font-family: 'Poppins', sans-serif;
 font-size: clamp(1.9rem, 4.2vw, 3rem);
 font-weight: 400;
 letter-spacing: -.012em;
 line-height: 1.15;
 margin: 0;
 color: var(--text);}
.winery-wines-h em{font-style: italic;
 font-weight: 400;
 color: var(--wine, #7B1A2D);}
.winery-wines-rule{width: 40px;
 height: 1px;
 background: var(--wine, #7B1A2D);
 margin: 2rem auto 0;
 opacity: 0.6;}
.winery-wines-grid{display: grid;
 grid-template-columns: repeat(4, 1fr);
 gap: clamp(1.5rem, 3vw, 3rem);
 perspective: 1500px;
 align-items: end;}
.winery-wine-bottle-wrap{width: 100%;
 height: 280px;
 display: flex;
 align-items: flex-end;
 justify-content: center;
 margin-bottom: 1.75rem;
 perspective: 800px;}
.winery-wine-num{font-family: 'Poppins', sans-serif;
 font-style: italic;
 font-size: 0.92rem;
 opacity: 0.42;
 margin-bottom: 0.6rem;
 letter-spacing: 0.02em;
 color: var(--text);}
.winery-wine-name{font-family: 'Poppins', sans-serif;
 font-size: clamp(1.05rem, 1.4vw, 1.2rem);
 font-weight: 500;
 letter-spacing: -.005em;
 margin: 0 0 0.85rem 0;
 line-height: 1.3;
 color: var(--text);}
.winery-wine-rule{width: 26px;
 height: 1px;
 background: var(--wine, #7B1A2D);
 margin: 0 auto 1.1rem;
 opacity: 0.55;}
.winery-wine-desc{font-size: 0.86rem;
 line-height: 1.65;
 opacity: 0.72;
 max-width: 240px;
 margin: 0 auto;
 color: var(--text);}
etc) */
/* ============================================================ */

.winery-content-sec{padding: clamp(4rem, 8vw, 6.5rem) 1.5rem;
 max-width: 980px;
 margin: 0 auto;
 position: relative;}
.winery-content-sec + .winery-content-sec{border-top: 1px solid rgba(0,0,0,0.06);}
html[data-theme="dark"] .winery-content-sec + .winery-content-sec{border-top-color: rgba(255,255,255,0.06);}
.winery-content-kicker{font-size: 0.7rem;
 letter-spacing: 0.3em;
 text-transform: uppercase;
 opacity: 0.55;
 margin-bottom: 1.4rem;
 font-weight: 400;
 text-align: center;
 color: var(--text);}
.winery-content-h{font-family: 'Poppins', sans-serif;
 font-size: clamp(1.9rem, 4vw, 2.8rem);
 font-weight: 400;
 letter-spacing: -.012em;
 line-height: 1.15;
 margin: 0 auto 2.5rem;
 text-align: center;
 max-width: 720px;
 color: var(--text);}
.winery-content-h em{font-weight: 400;
 color: var(--wine, #7B1A2D);}
.winery-content-h::after{content: '';
 display: block;
 width: 40px;
 height: 1px;
 background: var(--wine, #7B1A2D);
 margin: 1.6rem auto 0;
 opacity: 0.55;}
.winery-content-body{font-size: clamp(1rem, 1.15vw, 1.05rem);
 line-height: 1.8;
 text-align: left;
 max-width: 760px;
 margin: 0 auto;
 opacity: 0.88;
 color: var(--text);}
/* ============================================================ */
/* WINERY FAQ — accordion premium minimalista */
/* ============================================================ */
.winery-faq-sec{padding: clamp(4rem, 8vw, 6.5rem) 1.5rem;
 max-width: 880px;
 margin: 0 auto;
 border-top: 1px solid rgba(0,0,0,0.06);}
html[data-theme="dark"] .winery-faq-sec{border-top-color: rgba(255,255,255,0.06);}
.winery-faq-list{margin-top: 2.8rem;}
.winery-faq-item{border-bottom: 1px solid rgba(0,0,0,0.08);
 padding: 1.5rem 0;}
.winery-faq-q{font-family: 'Poppins', sans-serif;
 font-size: clamp(1.05rem, 1.3vw, 1.2rem);
 font-weight: 500;
 color: var(--text);
 cursor: pointer;
 list-style: none;
 position: relative;
 padding-right: 2.5rem;
 line-height: 1.4;
 transition: color 0.3s ease;}
.winery-faq-q::-webkit-details-marker{display: none;}
.winery-faq-q::after{content: '+';
 position: absolute;
 right: 0;
 top: 50%;
 transform: translateY(-50%);
 font-size: 1.4rem;
 font-weight: 300;
 color: var(--wine, #7B1A2D);
 transition: transform 0.3s ease;}
.winery-faq-item[open] .winery-faq-q::after{transform: translateY(-50%) rotate(45deg);}
.winery-faq-a{font-size: 0.96rem;
 line-height: 1.75;
 opacity: 0.78;
 margin-top: 1rem;
 color: var(--text);
 padding-right: 2rem;}
.region-h, .region-h em, .blog-hero-h, .blog-hero-h em, .blog-art-h1, .hero-luj-h1, .hero-luj-h1 em, .intro-band-h, .intro-band-h em, .winery-content-h, .winery-content-h em, .winery-wines-h, .winery-wines-h em, .winery-faq-q, .sec-h, .exp-intro-headline, .hero-h1{font-family: 'Poppins', sans-serif !important;
 font-style: normal !important;}
/* Mejora de spacing para títulos grandes en Poppins (compensa el peso bold) */
.region-h, .blog-hero-h, .hero-luj-h1, .hero-h1, .sec-h, .exp-intro-headline, .intro-band-h, .winery-content-h, .winery-wines-h, .blog-art-h1{word-break: normal;
 overflow-wrap: break-word;
 hyphens: manual;
 text-wrap: balance;}
/* ============================================================ */
.winery-content-sec, .winery-faq-sec, .winery-wines-sec{content-visibility: auto;
 contain-intrinsic-size: 1px 700px;}
.btn-w, .btn-g, .b-card, .blog-card{transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;}
/* ============================================================ */
.b-card, .blog-card{transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
 box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1),
 border-color 0.3s ease,
 background 0.3s ease;}
.region-h, .region-h em, .blog-hero-h, .blog-hero-h em, .blog-art-h1, .hero-luj-h1, .hero-luj-h1 em, .intro-band-h, .intro-band-h em, .winery-content-h, .winery-content-h em, .winery-wines-h, .winery-wines-h em, .winery-faq-q, .sec-h, .sec-h em, .exp-intro-headline, .hero-h1, .hero-h1 em, .ct-hero-h1, .ct-hero-h1 em, .nos-hero-h, .nos-hero-h em, .corp-hero-h1, .corp-hero-h1 em, .desp-hero-h1, .desp-hero-h1 em, .hero-4x4-h1, .hero-am-h1, .hero-bl-h1, .hero-ck-h1{font-family: 'Poppins', sans-serif !important;
 font-style: normal !important;}
MISMA identidad */
.hero-h1, .hero-luj-h1, .region-h, .blog-hero-h, .blog-art-h1, .ct-hero-h1, .nos-hero-h, .corp-hero-h1, .desp-hero-h1, .hero-4x4-h1, .hero-am-h1, .hero-bl-h1, .hero-ck-h1{font-family: 'Poppins', sans-serif !important;
 font-size: clamp(2rem, 4.2vw, 3.6rem) !important;
 font-weight: 700 !important;
 letter-spacing: -.025em !important;
 line-height: 1.15 !important;
 font-style: normal !important;
 word-break: normal !important;
 overflow-wrap: break-word !important;
 text-wrap: balance !important;
 hyphens: manual !important;
 text-transform: none !important;}
color accent — */
.hero-h1 em, .hero-luj-h1 em, .region-h em, .blog-hero-h em, .ct-hero-h1 em, .nos-hero-h em, .corp-hero-h1 em, .desp-hero-h1 em, .intro-band-h em, .winery-content-h em, .winery-wines-h em, .sec-h em{font-family: 'Poppins', sans-serif !important;
 font-weight: 600 !important;
 font-style: normal !important;
 color: var(--wine, #7B1A2D);}
mismo peso — */
.intro-band-h, .winery-content-h, .winery-wines-h, .sec-h, .exp-intro-headline, .corp-flota-h, .corp-proceso-h, .corp-servicios-h, .ev-columnas-hdr-h, .ev-proceso-hdr-h, .bl-bodega-h, .bl-dif-h, .bl-final-h, .bl-incluye-h, .bl-proceso-h, .bl-var-h, .ct-intro-h, .ct-parada-h, .nos-valores-hdr-h{font-family: 'Poppins', sans-serif !important;
 font-size: clamp(1.65rem, 3.2vw, 2.6rem) !important;
 font-weight: 700 !important;
 letter-spacing: -.022em !important;
 line-height: 1.12 !important;
 font-style: normal !important;
 word-break: normal !important;
 overflow-wrap: break-word !important;
 text-wrap: balance !important;}
/* — Eyebrows y kickers (textos pequeños sobre heros) unificados — */
.kicker, .kicker.left, .kicker.right, .hero-luj-eyebrow, .blog-hero-eyebrow, .winery-content-kicker, .winery-wines-kicker, .intro-band .kicker{font-family: 'Poppins', sans-serif !important;
 font-size: 0.7rem !important;
 font-weight: 500 !important;
 letter-spacing: 0.3em !important;
 text-transform: uppercase !important;
 font-style: normal !important;
 line-height: 1.4 !important;}
/* — Subtítulos / leads bajo heros unificados — */
.hero-luj-sub, .blog-hero-sub, .blog-art-sub, .region-desc-txt, .hero-sub{font-family: 'Poppins', sans-serif !important;
 font-size: clamp(0.95rem, 1.05vw, 1.1rem) !important;
 font-weight: 400 !important;
 line-height: 1.7 !important;
 letter-spacing: 0 !important;
 font-style: normal !important;}
.winery-content-sec, .winery-faq-sec, .winery-wines-sec{content-visibility: auto;
 contain-intrinsic-size: 1px 700px;}
.btn-w, .btn-g, .b-card, .blog-card{transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1) !important;}
.b-card, .blog-card{transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
 box-shadow 0.4s cubic-bezier(0.4, 0, 0.2, 1),
 border-color 0.3s ease,
 background 0.3s ease;}
grande y bold */
.hero-h1, .hero-luj-h1, .region-h, .blog-hero-h, .blog-art-h1, .ct-hero-h1, .nos-hero-h, .corp-hero-h1, .desp-hero-h1, .hero-4x4-h1, .hero-am-h1, .hero-bl-h1, .hero-ck-h1{font-family: 'Poppins', sans-serif !important;
 font-size: clamp(2.6rem, 6vw, 5.2rem) !important;
 font-weight: 700 !important;
 letter-spacing: -.028em !important;
 line-height: 1.15 !important;
 font-style: normal !important;
 word-break: normal !important;
 overflow-wrap: break-word !important;
 text-wrap: balance !important;
 text-transform: none !important;}
/* H2 SECCIONES — siempre menor y menos peso que el hero */
.intro-band-h, .winery-content-h, .winery-wines-h, .sec-h, .exp-intro-headline, .corp-flota-h, .corp-proceso-h, .corp-servicios-h, .ev-columnas-hdr-h, .ev-proceso-hdr-h, .bl-bodega-h, .bl-dif-h, .bl-final-h, .bl-incluye-h, .bl-proceso-h, .bl-var-h, .ct-intro-h, .ct-parada-h, .nos-valores-hdr-h{font-family: 'Poppins', sans-serif !important;
 font-size: clamp(1.6rem, 3vw, 2.5rem) !important;
 font-weight: 600 !important;
 letter-spacing: -.022em !important;
 line-height: 1.15 !important;
 font-style: normal !important;
 word-break: normal !important;
 overflow-wrap: break-word !important;
 text-wrap: balance !important;}
/* H3 / sub-headings (más pequeños que h2) */
.b-card h3, .blog-card h3, .winery-wine-name, .b-body h3{font-family: 'Poppins', sans-serif !important;
 font-size: clamp(1.05rem, 1.4vw, 1.3rem) !important;
 font-weight: 600 !important;
 letter-spacing: -.012em !important;
 line-height: 1.3 !important;}
gold en dark */
.hero-h1 em, .region-h em, .blog-hero-h em, .nos-hero-h em{font-weight: 700 !important;
 color: #6B1D2A !important;}
/* Em en heros con imagen: gold siempre */
.hero-luj-h1 em, .ct-hero-h1 em, .corp-hero-h1 em, .desp-hero-h1 em, .hero-4x4-h1 em, .hero-am-h1 em, .hero-bl-h1 em, .hero-ck-h1 em, .blog-art-h1 em{font-weight: 700 !important;
 color: #AC3749 !important;}
/* Em en h2: misma lógica */
.intro-band-h em, .winery-content-h em, .winery-wines-h em, .sec-h em{font-weight: 600 !important;
 color: #6B1D2A !important;}
tanto en light como en dark (siempre sobre fondo wine fijo). */
.diff-left .sec-h em, html[data-theme="dark"] .diff-left .sec-h em{color: #AC3749 !important;}
/* VISIBILIDAD: heros con fondo plano (light/dark adaptive) */
.hero-h1, .region-h, .blog-hero-h, .nos-hero-h{color: #1A1816 !important;}
/* VISIBILIDAD: heros con imagen — siempre blanco con shadow */
.hero-luj-h1, .ct-hero-h1, .corp-hero-h1, .desp-hero-h1, .hero-4x4-h1, .hero-am-h1, .hero-bl-h1, .hero-ck-h1, .blog-art-h1{color: #FFFFFF !important;
 text-shadow: 0 2px 28px rgba(0, 0, 0, 0.5);}
/* H-SUB del index — VISIBLE en mobile (era el bug original) */

/* Subtítulos de heros con imagen */
.hero-luj-sub, .corp-hero-sub, .desp-hero-sub, .hero-4x4-sub, .hero-am-sub, .hero-bl-sub, .hero-ck-sub, .blog-art-sub{color: rgba(255, 255, 255, 0.95) !important;
 text-shadow: 0 1px 18px rgba(0, 0, 0, 0.45);
 opacity: 1 !important;
 font-weight: 400 !important;}
/* Subtítulos de heros con fondo plano */
.blog-hero-sub, .region-desc-txt{color: #2C2926 !important;
 opacity: 1 !important;
 font-weight: 400 !important;}
/* EYEBROWS / KICKERS */
.kicker, .kicker.left, .kicker.right, .hero-luj-eyebrow, .blog-hero-eyebrow, .winery-content-kicker, .winery-wines-kicker{font-family: 'Poppins', sans-serif !important;
 font-size: 0.72rem !important;
 font-weight: 500 !important;
 letter-spacing: 0.3em !important;
 text-transform: uppercase !important;
 font-style: normal !important;
 line-height: 1.4 !important;
 opacity: 1 !important;}
/* Eyebrows en heros con imagen */
.hero-luj-eyebrow, .ct-hero-eyebrow, .corp-hero-eyebrow, .desp-hero-eyebrow, .hero-4x4-eyebrow, .hero-am-eyebrow, .hero-bl-eyebrow, .hero-ck-eyebrow{color: rgba(255, 255, 255, 0.92) !important;
 text-shadow: 0 1px 12px rgba(0, 0, 0, 0.4);}
/* Eyebrows en heros plano: wine en light, gold en dark */
.blog-hero-eyebrow, .nos-hero-eyebrow, .intro-band .kicker, .winery-content-kicker, .winery-wines-kicker{color: #6B1D2A !important;}
/* BOTONES — siempre legibles */
.btn-w{background: #6B1D2A !important;
 color: #FFFFFF !important;
 border: none !important;}
/* btn-g dentro de heros con imagen: glassmorphism */
.hero-luj .btn-g, .ct-hero .btn-g, .corp-hero .btn-g, .hero-am .btn-g, .hero-4x4 .btn-g, .hero-bl .btn-g, .hero-ck .btn-g, .desp-hero .btn-g{color: #FFFFFF !important;
 border-color: rgba(255, 255, 255, 0.7) !important;
 background: rgba(255, 255, 255, 0.1) !important;
 backdrop-filter: blur(8px);
 -webkit-backdrop-filter: blur(8px);}
/* h-rule (línea separadora del hero index) */
html[data-theme="dark"] .h-rule{background: #F5F5F5 !important;
 opacity: 0.35 !important;}
.hero-h1, .hero-luj-h1, .region-h, .blog-hero-h, .blog-art-h1, .ct-hero-h1, .nos-hero-h, .corp-hero-h1, .desp-hero-h1, .hero-4x4-h1, .hero-am-h1, .hero-bl-h1, .hero-ck-h1{font-family: 'Poppins', sans-serif !important;
 font-size: clamp(2.6rem, 6vw, 5.2rem) !important;
 font-weight: 700 !important;
 letter-spacing: -.028em !important;
 line-height: 1.15 !important;
 font-style: normal !important;
 word-break: normal !important;
 overflow-wrap: break-word !important;
 text-wrap: balance !important;
 hyphens: manual !important;
 text-transform: none !important;}
.intro-band-h, .winery-content-h, .winery-wines-h, .sec-h, .exp-intro-headline, .corp-flota-h, .corp-proceso-h, .corp-servicios-h, .ev-columnas-hdr-h, .ev-proceso-hdr-h, .bl-bodega-h, .bl-dif-h, .bl-final-h, .bl-incluye-h, .bl-proceso-h, .bl-var-h, .ct-intro-h, .ct-parada-h, .nos-valores-hdr-h{font-family: 'Poppins', sans-serif !important;
 font-size: clamp(1.5rem, 2.8vw, 2.2rem) !important;
 font-weight: 600 !important;
 letter-spacing: -.018em !important;
 line-height: 1.2 !important;
 font-style: normal !important;
 word-break: normal !important;
 overflow-wrap: break-word !important;
 text-wrap: balance !important;}
.hero-h1 em, .hero-luj-h1 em, .region-h em, .blog-hero-h em, .ct-hero-h1 em, .nos-hero-h em, .corp-hero-h1 em, .desp-hero-h1 em{font-family: 'Poppins', sans-serif !important;
 font-weight: 600 !important;
 font-style: normal !important;}
.intro-band-h em, .winery-content-h em, .winery-wines-h em, .sec-h em{font-family: 'Poppins', sans-serif !important;
 font-weight: 500 !important;
 font-style: normal !important;}
/* VISIBILIDAD GARANTIZADA */
.hero-h1, .region-h, .blog-hero-h, .nos-hero-h{color: #1A1816 !important;}
.hero-h1 em, .region-h em, .blog-hero-h em, .nos-hero-h em{color: #6B1D2A !important;}
.hero-luj-h1, .ct-hero-h1, .corp-hero-h1, .desp-hero-h1, .hero-4x4-h1, .hero-am-h1, .hero-bl-h1, .hero-ck-h1, .blog-art-h1{color: #FFFFFF !important;
 text-shadow: 0 1px 3px rgba(0,0,0,.5), 0 2px 8px rgba(0,0,0,.35) !important;}
.hero-luj-h1 em, .ct-hero-h1 em, .corp-hero-h1 em, .desp-hero-h1 em, .hero-4x4-h1 em, .hero-am-h1 em, .hero-bl-h1 em, .hero-ck-h1 em{color: #AC3749 !important;
 text-shadow: 0 1px 3px rgba(0,0,0,.5), 0 2px 8px rgba(0,0,0,.35) !important;}
.hero-luj-sub, .corp-hero-sub, .desp-hero-sub, .hero-4x4-sub, .hero-am-sub, .hero-bl-sub, .hero-ck-sub, .blog-art-sub{color: rgba(255, 255, 255, 0.95) !important;
 text-shadow: 0 1px 18px rgba(0, 0, 0, 0.4) !important;
 opacity: 1 !important;}
.blog-hero-sub, .region-desc-txt{color: #2C2926 !important;
 opacity: 1 !important;}
.hero-luj-eyebrow, .ct-hero-eyebrow, .corp-hero-eyebrow, .desp-hero-eyebrow, .hero-4x4-eyebrow, .hero-am-eyebrow, .hero-bl-eyebrow, .hero-ck-eyebrow{color: rgba(255, 255, 255, 0.92) !important;
 text-shadow: 0 1px 14px rgba(0, 0, 0, 0.4) !important;
 font-weight: 500 !important;
 letter-spacing: 0.3em !important;
 text-transform: uppercase !important;}
.blog-hero-eyebrow, .nos-hero-eyebrow{color: #6B1D2A !important;
 font-weight: 500 !important;
 letter-spacing: 0.3em !important;
 text-transform: uppercase !important;}
.btn-w{background: #6B1D2A !important;
 color: #FFFFFF !important;
 border: 1px solid transparent !important;}
.btn-w:hover{background: #8B2D3E !important;}
.btn-g{background: transparent !important;
 color: #1A1816 !important;
 border: 1px solid #1A1816 !important;}
.btn-g:hover{background: #1A1816 !important; color: #FFFFFF !important;}
.hero-luj .btn-g, .ct-hero .btn-g, .corp-hero .btn-g, .hero-am .btn-g, .hero-4x4 .btn-g, .hero-bl .btn-g, .hero-ck .btn-g, .desp-hero .btn-g{color: #FFFFFF !important;
 border-color: rgba(255, 255, 255, 0.7) !important;
 background: rgba(255, 255, 255, 0.08) !important;
 backdrop-filter: blur(6px);
 -webkit-backdrop-filter: blur(6px);}
.hero-luj .btn-g:hover, .ct-hero .btn-g:hover, .corp-hero .btn-g:hover, .hero-am .btn-g:hover, .hero-4x4 .btn-g:hover, .hero-bl .btn-g:hover, .hero-ck .btn-g:hover, .desp-hero .btn-g:hover{background: #FFFFFF !important;
 color: #1A1816 !important;}
/* ════════════════════════════════════════════════════════════════ */

/* — Card contenedor — */
.b-card{background: #FAF8F4 !important;
 border: 1px solid rgba(0, 0, 0, 0.06) !important;
 border-radius: 14px !important;
 overflow: hidden !important;
 display: flex !important;
 flex-direction: column !important;
 text-decoration: none !important;
 transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1),
 box-shadow 0.5s cubic-bezier(0.4, 0, 0.2, 1),
 border-color 0.4s ease !important;
 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04),
 0 4px 12px rgba(0, 0, 0, 0.025) !important;
 isolation: isolate;}
html[data-theme="dark"] .b-card{background: #14110E !important;
 border-color: rgba(255, 255, 255, 0.08) !important;
 box-shadow: 0 1px 2px rgba(0, 0, 0, 0.4),
 0 4px 16px rgba(0, 0, 0, 0.25) !important;}
/* — Hover: lift + shadow más profunda — */
.b-card:hover{transform: translateY(-4px) !important;
 border-color: rgba(0, 0, 0, 0.12) !important;
 box-shadow: 0 4px 8px rgba(0, 0, 0, 0.06),
 0 12px 32px rgba(0, 0, 0, 0.08),
 0 24px 48px rgba(123, 26, 45, 0.06) !important;
 background: #FFFFFF !important;}
ratio fijo — */
.b-img{position: relative !important;
 overflow: hidden !important;
 aspect-ratio: 16 / 10 !important;
 flex-shrink: 0 !important;
 background: #1A1816;
 border-radius: 0 !important;
 margin: 0 !important;}
.b-img img{width: 100% !important;
 height: 100% !important;
 object-fit: cover !important;
 display: block !important;
 transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1),
 filter 0.5s ease !important;}
.b-card:hover .b-img img{transform: scale(1.05) !important;
 filter: brightness(0.7) saturate(1.1) !important;}
/* — Overlay y hover label sobre imagen — */
.b-img-ovl{position: absolute !important;
 inset: 0 !important;
 background: linear-gradient(to top,
 rgba(0, 0, 0, 0.35) 0%,
 rgba(0, 0, 0, 0) 60%) !important;
 opacity: 0 !important;
 transition: opacity 0.4s ease !important;}
/* — Body de la card — */
.b-body{padding: 1.6rem 1.5rem 1.4rem !important;
 flex: 1 !important;
 display: flex !important;
 flex-direction: column !important;
 gap: 0.65rem !important;}
/* — Region eyebrow — */
.b-region{font-family: 'Poppins', sans-serif !important;
 font-size: 0.68rem !important;
 font-weight: 600 !important;
 letter-spacing: 0.22em !important;
 text-transform: uppercase !important;
 color: #6B1D2A !important;
 margin: 0 !important;
 line-height: 1.3 !important;}
/* — Meta como banda al pie con separador — */
.b-meta{display: grid !important;
 grid-template-columns: 1fr 1fr 1fr !important;
 gap: 0.5rem !important;
 margin-top: 1.2rem !important;
 padding-top: 1.2rem !important;
 border-top: 1px solid rgba(0, 0, 0, 0.07) !important;}
html[data-theme="dark"] .b-meta{border-top-color: rgba(255, 255, 255, 0.08) !important;}
.b-meta-i{flex: none !important;
 padding: 0 !important;
 display: flex !important;
 flex-direction: column !important;
 gap: 0.2rem !important;}
/* ════════════════════════════════════════════════════════════════ */
/* CARDS BODEGAS — estilo editorial minimalista, espaciadas */
/* ════════════════════════════════════════════════════════════════ */

/* — Grid: más espacio entre cards — */
.bodegas-grid{display: grid !important;
 grid-template-columns: repeat(3, 1fr) !important;
 gap: 3.5rem 2.5rem !important;
 background: transparent !important;
 border: none !important;}
/* — Card editorial con recuadro 1px — */
.b-card{background: transparent !important;
 border: 1px solid rgba(0, 0, 0, 0.1) !important;
 border-radius: 0 !important;
 box-shadow: none !important;
 display: flex !important;
 flex-direction: column !important;
 text-decoration: none !important;
 overflow: hidden !important;
 transition: border-color 0.3s ease, background 0.3s ease !important;}
.b-card:hover{background: rgba(0, 0, 0, 0.015) !important;
 border-color: rgba(0, 0, 0, 0.18) !important;
 box-shadow: none !important;
 transform: none !important;}
html[data-theme="dark"] .b-card{background: transparent !important;
 border: 1px solid rgba(255, 255, 255, 0.1) !important;}
sin radius — */
.b-img{position: relative !important;
 overflow: hidden !important;
 aspect-ratio: 16 / 10 !important;
 flex-shrink: 0 !important;
 background: var(--bg-alt) !important;
 border-radius: 0 !important;
 margin: 0 !important;}
.b-img img{width: 100% !important;
 height: 100% !important;
 object-fit: cover !important;
 display: block !important;
 transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1),
 filter 0.5s ease !important;
 filter: brightness(0.92) saturate(0.9) !important;}
.b-card:hover .b-img img{transform: scale(1.04) !important;
 filter: brightness(1) saturate(1) !important;}
/* — Overlay y hover label sutiles — */
.b-img-ovl{position: absolute !important;
 inset: 0 !important;
 background: linear-gradient(to top,
 rgba(0, 0, 0, 0.4) 0%,
 rgba(0, 0, 0, 0) 60%) !important;
 opacity: 0 !important;
 transition: opacity 0.4s ease !important;}
.b-card:hover .b-img-ovl{opacity: 1 !important;}
.b-hover-label{position: absolute !important;
 bottom: 1.2rem !important;
 left: 1.4rem !important;
 color: #FFFFFF !important;
 font-family: 'Poppins', sans-serif !important;
 font-size: 0.78rem !important;
 font-weight: 600 !important;
 letter-spacing: 0.05em !important;
 opacity: 0 !important;
 transform: translateX(-8px) !important;
 transition: opacity 0.4s ease, transform 0.4s ease !important;
 z-index: 2;}
.b-card:hover .b-hover-label{opacity: 1 !important;
 transform: translateX(0) !important;}
/* — Body con padding cómodo dentro del recuadro — */
.b-body{padding: 1.5rem 1.5rem 1.4rem !important;
 flex: 1 !important;
 display: flex !important;
 flex-direction: column !important;
 gap: 0.65rem !important;}
/* — Region eyebrow — */
.b-region{font-family: 'Poppins', sans-serif !important;
 font-size: 0.68rem !important;
 font-weight: 600 !important;
 letter-spacing: 0.22em !important;
 text-transform: uppercase !important;
 color: #6B1D2A !important;
 margin: 0 !important;
 line-height: 1.3 !important;
 opacity: 0.85;}
html[data-theme="dark"] .b-region{color: #AC3749 !important;}
/* — Nombre de la bodega — */
.b-name{font-family: 'Poppins', sans-serif !important;
 font-size: clamp(1.15rem, 1.5vw, 1.4rem) !important;
 font-weight: 700 !important;
 letter-spacing: -.022em !important;
 color: #1A1816 !important;
 line-height: 1.2 !important;
 margin: 0 !important;}
/* — Tagline (descripción) — */
.b-tagline{font-family: 'Poppins', sans-serif !important;
 font-size: 0.92rem !important;
 font-weight: 400 !important;
 line-height: 1.6 !important;
 color: #4A4540 !important;
 margin: 0 !important;
 flex: 1;}
html[data-theme="dark"] .b-tagline{color: rgba(245, 245, 245, 0.7) !important;}
/* — Meta — banda al pie con separador sutil — */
.b-meta{display: grid !important;
 grid-template-columns: 1fr 1fr 1fr !important;
 gap: 0.5rem !important;
 margin-top: 1.2rem !important;
 padding-top: 1rem !important;
 border-top: 1px solid rgba(0, 0, 0, 0.08) !important;}
html[data-theme="dark"] .b-meta{border-top-color: rgba(255, 255, 255, 0.1) !important;}
.b-meta-i{flex: none !important;
 padding: 0 !important;
 display: flex !important;
 flex-direction: column !important;
 gap: 0.18rem !important;}
.b-meta-i:last-child, .b-meta-i:nth-child(2), .b-meta-i:first-child{padding: 0 !important;}
.b-meta-lbl{font-family: 'Poppins', sans-serif !important;
 font-size: 0.62rem !important;
 font-weight: 600 !important;
 letter-spacing: 0.18em !important;
 text-transform: uppercase !important;
 color: #8C8880 !important;
 line-height: 1.2 !important;
 margin: 0 !important;}
.b-meta-val{font-family: 'Poppins', sans-serif !important;
 font-size: 0.85rem !important;
 font-weight: 600 !important;
 color: #1A1816 !important;
 line-height: 1.3 !important;
 margin: 0 !important;
 letter-spacing: -.005em !important;}
/* ════════════════════════════════════════════════════════════════ */
/* CARDS BLOGS — mismo estilo editorial que bodegas (recuadro) */
/* ════════════════════════════════════════════════════════════════ */

/* — Grid: gap generoso (override del border container) — */
.blog-grid{display: grid !important;
 grid-template-columns: repeat(3, 1fr) !important;
 gap: 3.5rem 2.5rem !important;
 border: none !important;
 background: transparent !important;}
/* — Card editorial con recuadro 1px — */
.blog-card{background: transparent !important;
 border: 1px solid rgba(0, 0, 0, 0.1) !important;
 border-right: 1px solid rgba(0, 0, 0, 0.1) !important;
 border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;
 border-radius: 0 !important;
 box-shadow: none !important;
 display: flex !important;
 flex-direction: column !important;
 text-decoration: none !important;
 overflow: hidden !important;
 transition: border-color 0.3s ease, background 0.3s ease !important;}
.blog-card:hover{background: rgba(0, 0, 0, 0.015) !important;
 border-color: rgba(0, 0, 0, 0.18) !important;
 box-shadow: none !important;
 transform: none !important;}
/* — Imagen: pega contra los bordes superior/izquierdo/derecho — */
.blog-card-img{height: 220px !important;
 overflow: hidden !important;
 flex-shrink: 0 !important;
 background: var(--bg-alt) !important;
 border-radius: 0 !important;
 margin: 0 !important;}
.blog-card-img img{width: 100% !important;
 height: 100% !important;
 object-fit: cover !important;
 display: block !important;
 transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1),
 filter 0.5s ease !important;
 filter: brightness(0.92) saturate(0.9) !important;}
.blog-card:hover .blog-card-img img{transform: scale(1.04) !important;
 filter: brightness(1) saturate(1) !important;}
/* — Body con padding cómodo dentro del recuadro — */
.blog-card-body{padding: 1.5rem 1.5rem 1.4rem !important;
 flex: 1 !important;
 display: flex !important;
 flex-direction: column !important;
 gap: 0.65rem !important;}
/* — Categoría (eyebrow) — */
.blog-card-cat{font-family: 'Poppins', sans-serif !important;
 font-size: 0.68rem !important;
 font-weight: 600 !important;
 letter-spacing: 0.22em !important;
 text-transform: uppercase !important;
 color: #6B1D2A !important;
 margin: 0 !important;
 line-height: 1.3 !important;
 opacity: 0.85;}
html[data-theme="dark"] .blog-card-cat{color: #AC3749 !important;}
/* — Título del blog — */
.blog-card-h{font-family: 'Poppins', sans-serif !important;
 font-size: clamp(1.05rem, 1.4vw, 1.25rem) !important;
 font-weight: 700 !important;
 letter-spacing: -.022em !important;
 color: #1A1816 !important;
 line-height: 1.25 !important;
 margin: 0 !important;
 flex: none !important;}
html[data-theme="dark"] .blog-card-h{color: #F5F5F5 !important;}
/* — Descripción — */
.blog-card-desc{font-family: 'Poppins', sans-serif !important;
 font-size: 0.92rem !important;
 font-weight: 400 !important;
 line-height: 1.6 !important;
 color: #4A4540 !important;
 margin: 0 !important;
 flex: 1;}
html[data-theme="dark"] .blog-card-desc{color: rgba(245, 245, 245, 0.7) !important;}
/* — Link al final con separador sutil — */
.blog-card-link{font-family: 'Poppins', sans-serif !important;
 font-size: 0.72rem !important;
 font-weight: 700 !important;
 letter-spacing: 0.18em !important;
 text-transform: uppercase !important;
 color: #6B1D2A !important;
 display: inline-flex !important;
 align-items: center !important;
 gap: 0.4rem !important;
 margin-top: 1.2rem !important;
 padding-top: 1rem !important;
 border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
 transition: gap 0.2s, color 0.2s !important;}
.blog-card:hover .blog-card-link{gap: 0.7rem !important;}
/* ════════════════════════════════════════════════════════════════ */

/* ─── SECCIÓN MODALIDADES (cards de regiones/experiencias) ─── */
/* Estilos del pillar SEO scoped al wrapper .modalidades-inner (que solo tienen los pillars) */
.modalidades-inner{max-width: 1280px;
 margin: 0 auto;}
.modalidades-inner ~ *, /* placeholder, no aplica nada pero mantiene parser */
.modalidades-sec:has(.modalidades-inner){padding: clamp(4rem, 8vw, 7rem) clamp(1.5rem, 4vw, 4.5rem);
 background: var(--bg);}
.modalidades-inner .modalidades-hdr{margin-bottom: clamp(2.5rem, 5vw, 4rem);
 text-align: left;}
.modalidades-inner .modalidades-hdr .kicker{margin-bottom: 1rem;}
/* Grid solo en pillars (donde la grid contiene .modalidad-card singular) */
.modalidades-grid:has(.modalidad-card){display: grid;
 grid-template-columns: repeat(2, 1fr);
 gap: 3rem 2.5rem;}
/* — Card editorial estilo bodegas/blogs — */
.modalidad-card{background: transparent;
 border: 1px solid rgba(0, 0, 0, 0.1);
 border-radius: 0;
 display: flex;
 flex-direction: column;
 text-decoration: none;
 overflow: hidden;
 transition: border-color 0.3s ease, background 0.3s ease;}
/* Imagen */
.modalidad-img{position: relative;
 overflow: hidden;
 aspect-ratio: 16 / 10;
 flex-shrink: 0;
 background: var(--bg-alt);}
/* Body */
.modalidad-body{padding: 1.6rem 1.6rem 1.5rem;
 flex: 1;
 display: flex;
 flex-direction: column;
 gap: 0.7rem;}
/* ════════════════════════════════════════════════════════════════ */
/* NAVBAR 100% SÓLIDA — definitivo{background: #FFFFFF !important;
 background-color: #FFFFFF !important;
 backdrop-filter: none !important;
 -webkit-backdrop-filter: none !important;
 z-index: 9999 !important;
 border-bottom: 1px solid rgba(0, 0, 0, 0.08) !important;
 opacity: 1 !important;}
/* ════════════════════════════════════════════════════════════════ */

/* Solo afecta pillars SEO (que tienen #regions y .modalidades-inner) */
.modalidades-sec#regions{padding: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 4vw, 4.5rem) !important;
 background: var(--bg) !important;}
.modalidades-sec#regions .modalidades-hdr{padding: 0 !important;
 margin-bottom: clamp(1.8rem, 3.5vw, 2.5rem) !important;
 display: block !important;
 grid-template-columns: none !important;
 gap: 1rem !important;
 border-bottom: none !important;}
html[data-theme="dark"] .modalidades-sec#regions{background: var(--bg) !important;}
*/
/* #modalidades como ids distintos) */
/* ════════════════════════════════════════════════════════════════ */

/* ─── SECCIÓN ITINERARIO (pillar) — scopeado a id="why" ─── */
.itinerario-sec#why{padding: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 4vw, 4.5rem);
 background: var(--bg);}
.itinerario-sec#why .itinerario-inner{max-width: 1100px;
 margin: 0 auto;}
.itinerario-sec#why .itinerario-hdr{margin-bottom: clamp(1.8rem, 3.5vw, 2.5rem);}
.itinerario-sec#why .itinerario-hdr .kicker{margin-bottom: 1rem;}
.itinerario-sec#why .itinerario-h{font-family: 'Poppins', sans-serif;
 font-size: clamp(1.8rem, 3.5vw, 2.8rem);
 font-weight: 700;
 letter-spacing: -.025em;
 line-height: 1.1;
 color: #1A1816;
 margin: 0;}
html[data-theme="dark"] .itinerario-sec#why .itinerario-h{color: #F5F5F5;}
.itinerario-sec#why .itinerario-h em{color: #6B1D2A;
 font-style: normal;
 font-weight: 700;}
/* Lista de items numerados (solo en pillar) */
.itinerario-list{display: flex;
 flex-direction: column;
 gap: 0;}
.itin-item{display: grid;
 grid-template-columns: auto 1fr;
 gap: 2.5rem;
 padding: 2rem 0;
 border-bottom: 1px solid rgba(0, 0, 0, 0.08);
 align-items: start;}
.itin-item:first-child{border-top: 1px solid rgba(0, 0, 0, 0.08);}
html[data-theme="dark"] .itin-item{border-bottom-color: rgba(255, 255, 255, 0.08);}
.itin-num{font-family: 'Poppins', sans-serif;
 font-size: clamp(2.4rem, 5vw, 3.6rem);
 font-weight: 700;
 letter-spacing: -.04em;
 line-height: 1;
 color: #6B1D2A;
 min-width: 80px;}
.itin-body{display: flex;
 flex-direction: column;
 gap: 0.5rem;
 padding-top: 0.4rem;}
.itin-title{font-family: 'Poppins', sans-serif;
 font-size: clamp(1.05rem, 1.5vw, 1.3rem);
 font-weight: 700;
 letter-spacing: -.018em;
 line-height: 1.25;
 color: #1A1816;}
.itin-text{font-family: 'Poppins', sans-serif;
 font-size: 0.95rem;
 font-weight: 400;
 line-height: 1.7;
 color: #4A4540;}
/* ─── SECCIÓN MODALIDADES (pillar) — scopeado a id="regions" ─── */
.modalidades-sec#regions{padding: clamp(2.5rem, 5vw, 4rem) clamp(1.5rem, 4vw, 4.5rem);
 background: var(--bg);
 position: static;
 overflow: visible;}
html[data-theme="dark"] .modalidades-sec#regions{background: var(--bg);}
.modalidades-sec#regions .modalidades-inner{max-width: 1280px;
 margin: 0 auto;}
.modalidades-sec#regions .modalidades-hdr{padding: 0;
 margin-bottom: clamp(1.8rem, 3.5vw, 2.5rem);
 display: block;
 grid-template-columns: none;
 gap: 1rem;
 border-bottom: none;
 text-align: left;}
.modalidades-sec#regions .modalidades-hdr .kicker{margin-bottom: 1rem;}
.modalidades-sec#regions .modalidades-grid{display: grid;
 grid-template-columns: repeat(2, 1fr);
 gap: 3rem 2.5rem;}
.modalidad-card no existe en luján) */
.modalidad-card{background: transparent;
 border: 1px solid rgba(0, 0, 0, 0.1);
 border-radius: 0;
 display: flex;
 flex-direction: column;
 text-decoration: none;
 overflow: hidden;
 transition: border-color 0.3s ease, background 0.3s ease;}
.modalidad-card:hover{background: rgba(0, 0, 0, 0.015);
 border-color: rgba(0, 0, 0, 0.18);}
html[data-theme="dark"] .modalidad-card{border-color: rgba(255, 255, 255, 0.1);}
.modalidad-img{position: relative;
 overflow: hidden;
 aspect-ratio: 16 / 10;
 flex-shrink: 0;
 background: var(--bg-alt);}
.modalidad-img img{width: 100%;
 height: 100%;
 object-fit: cover;
 display: block;
 transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1),
 filter 0.5s ease;
 filter: brightness(0.92) saturate(0.9);}
.modalidad-card:hover .modalidad-img img{transform: scale(1.04);
 filter: brightness(1) saturate(1);}
.modalidad-body{padding: 1.6rem 1.6rem 1.5rem;
 flex: 1;
 display: flex;
 flex-direction: column;
 gap: 0.7rem;}
.modalidad-cat{font-family: 'Poppins', sans-serif;
 font-size: 0.68rem;
 font-weight: 600;
 letter-spacing: 0.22em;
 text-transform: uppercase;
 color: #6B1D2A;
 line-height: 1.3;
 opacity: 0.85;}
.modalidad-h{font-family: 'Poppins', sans-serif;
 font-size: clamp(1.2rem, 1.8vw, 1.55rem);
 font-weight: 700;
 letter-spacing: -.022em;
 line-height: 1.2;
 color: #1A1816;
 margin: 0;}
.modalidad-p{font-family: 'Poppins', sans-serif;
 font-size: 0.92rem;
 font-weight: 400;
 line-height: 1.65;
 color: #4A4540;
 margin: 0;
 flex: 1;}
.modalidad-cta{font-family: 'Poppins', sans-serif;
 font-size: 0.72rem;
 font-weight: 700;
 letter-spacing: 0.18em;
 text-transform: uppercase;
 color: #6B1D2A;
 margin-top: 1rem;
 padding-top: 1rem;
 border-top: 1px solid rgba(0, 0, 0, 0.08);
 display: inline-flex;
 align-items: center;
 gap: 0.4rem;
 transition: gap 0.2s, color 0.2s;}
.modalidad-card:hover .modalidad-cta{gap: 0.7rem;}
valle de uco y todas las páginas con CTA */
/* ════════════════════════════════════════════════════════════════ */

/* ════════════════════════════════════════════════════════════════ */
/* HERO RESPONSIVE — laptops (1024-1440px) sin cortes */
/* Garantiza que el título nunca se corte en pantallas intermedias */
/* ════════════════════════════════════════════════════════════════ */

/* SAFETY NET universal: word-wrap en TODOS los heros para evitar overflow */
.hero-luj-h1, .hero-h1, .region-h, .blog-hero-h, .blog-art-h1, .nos-hero-h, .corp-hero-h1, .desp-hero-h1, .hero-4x4-h1, .hero-am-h1, .hero-bl-h1, .hero-ck-h1, .ct-hero-h1{overflow-wrap: break-word;
 word-wrap: break-word;
 hyphens: auto;
 -webkit-hyphens: auto;}
/* ════════════════════════════════════════════════════════════════ */
/* FIX: Preloader siempre encima del navbar mientras carga */
/* ════════════════════════════════════════════════════════════════ */
#loader{z-index: 100000 !important; /* Más alto que navbar (9999) y mobileMenu (10000) */}
solo sin el overlay */
/* ════════════════════════════════════════════════════════════════ */

/* Por si alguna versión de Mapbox usa otros nombres de clase */

/* === FIX HERO H1 - Anti-corte y sombra correcta === */
.hero-luj-h1, .ct-hero-h1, .corp-hero-h1, .desp-hero-h1, .hero-4x4-h1, .hero-am-h1, .hero-bl-h1, .hero-ck-h1, .blog-art-h1, .hero-h1{max-width: 100% !important;
 overflow: visible !important;
 padding-left: 0.25em !important;
 padding-right: 0.25em !important;
 box-sizing: border-box !important;}
.hero-luj-content, .ct-hero-content, .corp-hero-content, .desp-hero-content, .hero-4x4-content, .hero-am-content, .hero-bl-content, .hero-ck-content{overflow: visible !important;
 box-sizing: border-box !important;}
/* === FIN FIX SIMETRÍA MOBILE === */

/* ====================================================
 CTA GLOBAL - Bordeaux en ambos modos
 Identidad de marca consistente
==================================================== */

html .cta-global{position: relative;
 padding: clamp(3.5rem, 5vw, 5rem) clamp(1.4rem, 5vw, 4rem);
 background: #6B1D2A !important;
 color: #F5F2EE !important;
 overflow: hidden;
 isolation: isolate;
 text-align: center;}
/* Línea decorativa dorada superior */
html .cta-global::before{content: '';
 position: absolute;
 top: 0;
 left: 50%;
 transform: translateX(-50%);
 width: 64px;
 height: 1px;
 background: #AC3749;
 opacity: 0.85;}
.cta-global-inner{max-width: 960px;
 margin: 0 auto;
 display: flex;
 flex-direction: column;
 align-items: center;
 gap: clamp(0.8rem, 1.5vw, 1.4rem);}
/* === Título principal (igual o más chico que hero) === */
html .cta-global-h{font-family: 'Poppins', sans-serif !important;
 font-size: clamp(1.6rem, 3vw, 3rem) !important;
 font-weight: 700 !important;
 line-height: 1.15 !important;
 letter-spacing: -0.028em !important;
 margin: 0 !important;
 color: #FFFFFF !important;
 text-align: center !important;
 max-width: 14ch;}
/* Em destacado: dorado en AMBOS modos */
html .cta-global-h em{font-style: normal !important;
 font-weight: 700 !important;
 color: #AC3749 !important;
 display: inline;}
/* === Subtítulo === */
html .cta-global-sub{font-family: 'Poppins', sans-serif;
 font-size: clamp(0.88rem, 1vw, 1rem);
 font-weight: 400;
 line-height: 1.65;
 color: rgba(245, 242, 238, 0.78) !important;
 max-width: 56ch;
 margin: 0;
 text-align: center;}
/* === Botones === */
.cta-global-btns{display: flex;
 gap: 0.8rem;
 flex-wrap: wrap;
 margin-top: 1rem;
 justify-content: center;
 align-items: center;}
.cta-global-btn-primary, .cta-global-btn-secondary{font-family: 'Poppins', sans-serif;
 font-size: 0.82rem;
 font-weight: 500;
 letter-spacing: 0.08em;
 text-transform: uppercase;
 padding: 1rem 2rem;
 border-radius: 2px;
 text-decoration: none;
 transition: all 0.35s cubic-bezier(0.22, 1, 0.36, 1);
 display: inline-flex;
 align-items: center;
 justify-content: center;
 gap: 0.65rem;
 white-space: nowrap;}
/* Botón primario: BLANCO con texto bordeaux (alto contraste sobre fondo bordeaux) */
html .cta-global-btn-primary{background: #FFFFFF !important;
 color: #6B1D2A !important;
 border: 1px solid #FFFFFF !important;}
html .cta-global-btn-primary:hover{background: #AC3749 !important;
 color: #6B1D2A !important;
 border-color: #AC3749 !important;
 transform: translateY(-2px);
 box-shadow: 0 12px 28px rgba(0, 0, 0, 0.25);}
/* Botón secundario: outline crema */
html .cta-global-btn-secondary{background: transparent !important;
 color: #F5F2EE !important;
 border: 1px solid rgba(245, 242, 238, 0.4) !important;}
html .cta-global-btn-secondary:hover{border-color: #AC3749 !important;
 color: #AC3749 !important;
 transform: translateY(-2px);}
/* === Trust elements centrados === */
.cta-global-trust{display: flex;
 flex-wrap: wrap;
 justify-content: center;
 gap: 0.6rem 1.5rem;
 margin-top: 1.8rem;
 padding-top: 1.4rem;
 font-family: 'Poppins', sans-serif;
 font-size: 0.78rem;
 font-weight: 400;
 letter-spacing: 0.04em;
 color: rgba(245, 242, 238, 0.7) !important;
 align-items: center;
 position: relative;
 width: 100%;}
.cta-global-trust::before{content: '';
 position: absolute;
 top: 0;
 left: 50%;
 transform: translateX(-50%);
 width: 80px;
 height: 1px;
 background: rgba(245, 242, 238, 0.18);}
.cta-global-trust-item{display: inline-flex;
 align-items: center;
 gap: 0.5rem;
 color: rgba(245, 242, 238, 0.7) !important;}
.cta-global-trust-item strong{color: #AC3749 !important;
 font-weight: 600;}
.cta-global-trust-sep{width: 4px;
 height: 4px;
 border-radius: 50%;
 background: rgba(172, 55, 73, 0.5);
 display: inline-block;}
/* ============================================
 FIN CTA GLOBAL
============================================ */

/* ====================================================================
 ITINERARIO + MODALIDADES - Modo claro (override de los colores oscuros)
 Mantiene estructura visual{background: #FAF8F5 !important;}
/* ====================================================================
 FIN OVERRIDES MODO CLARO
==================================================================== */

/* ====================================================================
 ALL INCLUSIVE - Card unificado (modo claro Y oscuro idénticos)
 Fondo bordeaux con texto blanco/crema/dorado SIEMPRE
==================================================================== */

/* Fondo bordeaux en AMBOS modos */
html .modal-card.gold-card{background: #6B1D2A !important;
 color: #F5F2EE !important;}
/* Badge: dorado claro */
html .modal-card.gold-card .modal-badge{color: #AC3749 !important;}
/* Título "All Inclusive": BLANCO */
html .modal-card.gold-card .modal-h{color: #FFFFFF !important;}
/* Línea decorativa: dorado */
html .modal-card.gold-card .modal-rule{background: #AC3749 !important;
 opacity: 0.8 !important;}
/* Párrafo descripción: crema */
html .modal-card.gold-card .modal-p{color: rgba(245, 242, 238, 0.85) !important;}
/* Strong/negritas: blanco */
html .modal-card.gold-card .modal-p strong{color: #FFFFFF !important;}
/* "15% descuento" inline: dorado */
html .modal-card.gold-card .modal-disc{color: #AC3749 !important;}
/* Bordes de la lista de includes */
html .modal-card.gold-card .modal-include{border-bottom-color: rgba(245, 242, 238, 0.12) !important;}
html .modal-card.gold-card .modal-include:first-child{border-top-color: rgba(245, 242, 238, 0.12) !important;}
/* Dots de includes: dorado */
html .modal-card.gold-card .modal-include-dot{background: #AC3749 !important;}
/* Nombre del incluye: BLANCO */
html .modal-card.gold-card .modal-include-name{color: #FFFFFF !important;}
/* Descripción del incluye: crema */
html .modal-card.gold-card .modal-include-text{color: rgba(245, 242, 238, 0.78) !important;}
/* Labels del CTA row */
html .modal-card.gold-card .modal-cta-label{color: rgba(245, 242, 238, 0.6) !important;}
html .modal-card.gold-card .modal-cta-note{color: rgba(245, 242, 238, 0.65) !important;}
/* Caja "15% descuento de agencia" */
html .modal-card.gold-card .modal-diff-note{background: rgba(172, 55, 73, 0.15) !important;
 border-color: rgba(172, 55, 73, 0.3) !important;}
html .modal-card.gold-card .modal-diff-note-text{color: rgba(245, 242, 238, 0.85) !important;}
html .modal-card.gold-card .modal-diff-note-text strong{color: #AC3749 !important;}
html .modal-card.gold-card .modal-diff-note-icon svg{stroke: #AC3749 !important;}
/* Borde superior decorativo: dorado a blanco */
html .modal-card.gold-card::before{background: linear-gradient(to right, #AC3749, #FFFFFF) !important;
 opacity: 1 !important;}
/* Botón "Reservar ahora": fondo blanco con texto bordeaux */
html .modal-card.gold-card .btn-modal-gold{background: #FFFFFF !important;
 color: #6B1D2A !important;
 border-color: #FFFFFF !important;}
/* ====================================================================
 FIN ALL INCLUSIVE UNIFICADO
==================================================================== */

/* ====================================================================
 CTA GLOBAL - Variantes sutiles por tour
==================================================================== */

/* MAIPÚ: gradient más cálido (toque crema/terracota) */

/* VALLE DE UCO: gradient más fresco (toque azulado/nocturno) */

/* ====================================================================
 FIN VARIANTES CTA
==================================================================== */

/* ====================================================================
 BOTONES PRIMARIOS EN MODO OSCURO - Color dorado
 Card All Inclusive y CTA Global
==================================================================== */

/* Botón "Reservar ahora" del card All Inclusive en modo oscuro */
html[data-theme="dark"] .modal-card.gold-card .btn-modal-gold{background: #AC3749 !important;
 color: #1A0A0E !important;
 border-color: #AC3749 !important;}
que es .h-btns (la fila de botones). Así el strip puede usar width:100%
 y va a medir EXACTAMENTE lo mismo que la fila de CTAs. */

.hero-proof{display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 16px;
 /* Iguala exactamente el ancho del wrapper (= ancho de .h-btns) */
 width: 100%;
 margin-top: 24px;
 padding: 6px 4px;
 text-decoration: none;
 color: var(--text);
 /* Mismo slide-up que el resto del hero, entrando justo después de los botones (0.85s) */
 animation: heroSlideUp .8s var(--ease) 1.0s both;
 transition: transform .25s ease, opacity .25s ease;
 box-sizing: border-box;}
.hero-proof:hover{transform: translateY(-1px);
 opacity: 0.88;}
.hero-proof:focus-visible{outline: 2px solid #AC3749;
 outline-offset: 4px;
 border-radius: 4px;}
.hero-proof-stars{display: inline-flex;
 align-items: center;
 gap: 3px;
 flex-shrink: 0;}
.hero-proof-stars svg{width: 20px;
 height: 20px;
 display: block;
 fill: #AC3749;}
.hero-proof-divider{width: 1px;
 height: 18px;
 background: rgba(172, 55, 73, 0.50);
 flex-shrink: 0;}
.hero-proof-award{display: inline-flex;
 align-items: center;
 gap: 10px;
 font-family: 'Poppins', sans-serif;
 font-size: 16px;
 font-weight: 500;
 letter-spacing: 0.06em;
 text-transform: uppercase;
 color: var(--text);
 white-space: nowrap;}
.hero-proof-award svg{width: 20px;
 height: 20px;
 fill: #AC3749;
 flex-shrink: 0;}
.hero-proof-award-years{color: #A8884A;
 font-size: 19px;
 font-weight: 700;
 letter-spacing: 0.08em;}
/* DARK MODE — texto claro{color: #F5F5F5;}
/* ====================================================================
 FIN HERO SOCIAL PROOF STRIP
==================================================================== */

/* ====================================================================
 NOSOTROS - SECCIÓN HISTORIA (origen del equipo)
==================================================================== */
.nos-historia-sec{background: var(--bg-alt); padding: 3.5rem 5rem; border-bottom: 1px solid var(--line);}
.nos-historia-inner{max-width: 1280px; margin: 0 auto;}
.nos-historia-hdr{margin-bottom: 2.5rem;}
.nos-historia-hdr-h{font-family: 'Poppins', sans-serif;
 font-weight: 300;
 font-size: clamp(2rem, 4.5vw, 3.5rem);
 line-height: 1.05;
 letter-spacing: -0.01em;
 color: var(--ink);
 margin: 0;}
.nos-historia-hdr-h em{font-style: italic; color: var(--wine); font-weight: 300;}
.nos-historia-grid{display: grid;
 grid-template-columns: repeat(3, 1fr);
 gap: 2.4rem;}
.nos-historia-bloque{display: flex; flex-direction: column; gap: 1rem;}
.nos-historia-anio{font-family: 'Poppins', sans-serif;
 font-size: 0.72rem;
 letter-spacing: 0.18em;
 text-transform: uppercase;
 color: var(--accent);
 font-weight: 500;}
.nos-historia-rule{width: 32px; height: 2px; background: var(--accent); opacity: .55;}
.nos-historia-h3{font-family: 'Poppins', sans-serif;
 font-weight: 300;
 font-size: 1.25rem;
 color: var(--ink);
 margin: 0;
 line-height: 1.3;}
.nos-historia-p{font-family: 'Poppins', sans-serif;
 font-weight: 300;
 font-size: 0.95rem;
 line-height: 1.65;
 color: var(--ink);
 opacity: .85;
 margin: 0;}
/* ==================================================================== */

/* ── Blog: Tour relacionado (CTA específico antes del WhatsApp) ── */
.blog-related-tour{display: flex;
 align-items: center;
 justify-content: space-between;
 gap: 1.5rem;
 margin: 2rem 0 1.5rem;
 padding: 1.5rem 1.75rem;
 background: linear-gradient(135deg, rgba(107,29,42,0.04) 0%, rgba(172, 55, 73,0.04) 100%);
 border: 1px solid rgba(107,29,42,0.15);
 border-left: 3px solid var(--accent, #AC3749);
 border-radius: 4px;
 text-decoration: none;
 color: inherit;
 font-family: 'Poppins', sans-serif;
 transition: border-color .3s ease, background .3s ease, transform .3s ease;}
.blog-related-tour:hover{border-color: rgba(107,29,42,0.35);
 background: linear-gradient(135deg, rgba(107,29,42,0.07) 0%, rgba(172, 55, 73,0.07) 100%);
 transform: translateY(-1px);}
.blog-related-tour-meta{flex: 1;
 min-width: 0;}
.blog-related-tour-kicker{display: block;
 font-size: .58rem;
 letter-spacing: .15em;
 text-transform: uppercase;
 color: var(--accent, #AC3749);
 font-weight: 600;
 margin-bottom: .35rem;}
.blog-related-tour-title{font-size: 1.05rem;
 font-weight: 600;
 color: #6B1D2A;
 margin: 0 0 .25rem;
 line-height: 1.3;}
.blog-related-tour-subtitle{font-size: .82rem;
 color: var(--text-muted, #6a6258);
 margin: 0;
 line-height: 1.4;}
.blog-related-tour-arrow{display: flex;
 align-items: center;
 gap: .5rem;
 flex-shrink: 0;
 color: #6B1D2A;
 font-weight: 500;
 transition: gap .3s ease;}
.blog-related-tour-arrow svg{width: 18px;
 height: 18px;
 transition: transform .3s ease;}
.blog-related-tour:hover .blog-related-tour-arrow{gap: .75rem;}
.blog-related-tour:hover .blog-related-tour-arrow svg{transform: translateX(2px);}
.blog-related-tour-cta{font-size: .85rem;
 letter-spacing: .02em;}
/* Dark mode override */
.dark-theme .blog-related-tour{background: linear-gradient(135deg, rgba(172, 55, 73,0.06) 0%, rgba(107,29,42,0.08) 100%);
 border-color: rgba(172, 55, 73,0.2);
 border-left-color: #AC3749;}
sin tocar nada ===
════════════════════════════════════════════════════════════ */

/* Kicker */
.hero-kicker{display: inline-flex; align-items: center; gap: 0.7rem;
 color: var(--accent);
 font-family: 'Poppins', sans-serif;
 font-size: 0.78rem; font-weight: 600;
 letter-spacing: 0.18em;
 text-transform: uppercase;
 margin-bottom: 1.75rem;
 font-style: italic;}
.hero-kicker::before{content: '';
 width: 32px; height: 1px;
 background: var(--accent);}
.hero-h1-accent{color: var(--accent);}
.hero-sub strong.kw-accent{color: var(--accent); font-weight: 700;}
/* Stats */
.hero-stats{display: flex; align-items: center; gap: 2rem;
 margin-bottom: 2rem;
 flex-wrap: wrap;}
.hero-stat{display: flex; flex-direction: column;}
.hero-stat-num{font-family: 'Poppins', sans-serif;
 font-size: 2rem; font-weight: 800;
 color: var(--accent);
 line-height: 1;
 letter-spacing: -0.03em;}
.hero-stat-label{font-size: 0.72rem;
 color: var(--text-muted, #6B6862);
 font-weight: 500;
 letter-spacing: 0.08em;
 text-transform: uppercase;
 margin-top: 0.4rem;}
.hero-stat-divider{width: 1px; height: 40px;
 background: var(--line, #E8E4DE);}
/* Chips */
.hero-includes{display: flex; flex-wrap: wrap; gap: 0.5rem;
 margin-bottom: 2rem;}
.hero-chip{display: inline-flex; align-items: center; gap: 0.5rem;
 background: var(--bg-card, #FFFFFF);
 border: 1px solid var(--line, #E8E4DE);
 color: var(--text);
 font-family: 'Poppins', sans-serif;
 font-size: 0.82rem; font-weight: 500;
 padding: 0.6rem 0.95rem;
 border-radius: 99px;
 cursor: default;
 transition: transform 0.25s var(--ease, cubic-bezier(0.16,1,0.3,1)),
 box-shadow 0.25s var(--ease, cubic-bezier(0.16,1,0.3,1)),
 border-color 0.2s ease;}
.hero-chip:hover{transform: translateY(-3px);
 box-shadow: 0 8px 18px rgba(0,0,0,0.08);
 border-color: var(--accent);}
[data-theme="dark"] .hero-chip{background: rgba(255,255,255,0.05);
 border-color: rgba(255,255,255,0.1);}
.hero-chip svg{width: 17px; height: 17px; color: var(--accent); flex-shrink: 0;}
/* CTAs nuevos */
.hero-ctas{display: flex; gap: 0.75rem; flex-wrap: wrap;
 margin-bottom: 2.25rem;}
.hero-cta-wa{display: inline-flex; align-items: center; gap: 0.65rem;
 background-color: #25D366;
 color: #fff;
 font-family: 'Poppins', sans-serif;
 font-size: 1.02rem; font-weight: 600;
 padding: 1.1rem 1.85rem;
 border-radius: 12px;
 text-decoration: none;
 border: none; cursor: pointer;
 transition: background-color 0.2s ease,
 transform 0.25s var(--ease, cubic-bezier(0.16,1,0.3,1)),
 box-shadow 0.25s var(--ease, cubic-bezier(0.16,1,0.3,1));
 box-shadow: 0 4px 18px rgba(37,211,102,0.32);}
.hero-cta-wa:hover{background-color: #1DA851;
 transform: translateY(-2px);
 box-shadow: 0 8px 26px rgba(37,211,102,0.5);}
.hero-cta-wa svg{width: 21px; height: 21px; fill: currentColor;}
.hero-cta-mail{display: inline-flex; align-items: center; gap: 0.65rem;
 background-color: var(--accent);
 color: #fff;
 font-family: 'Poppins', sans-serif;
 font-size: 1.02rem; font-weight: 600;
 padding: 1.1rem 1.85rem;
 border-radius: 12px;
 text-decoration: none;
 border: none; cursor: pointer;
 transition: transform 0.25s var(--ease, cubic-bezier(0.16,1,0.3,1)),
 box-shadow 0.25s var(--ease, cubic-bezier(0.16,1,0.3,1));
 box-shadow: 0 4px 18px rgba(107,29,42,0.32);}
.hero-cta-mail:hover{transform: translateY(-2px);
 box-shadow: 0 8px 26px rgba(107,29,42,0.5);}
[data-theme="dark"] .hero-cta-mail{color: #0A0908;
 box-shadow: 0 4px 18px rgba(172, 55, 73,0.35);}
.hero-cta-mail svg{width: 19px; height: 19px;
 stroke: currentColor; fill: none; stroke-width: 2;}
/* Línea separadora */
.hero-rule{width: 60px; height: 2px;
 background: var(--accent);
 margin-bottom: 1.25rem;}
/* Trust block */
.hero-trust{display: flex; align-items: center; gap: 1.5rem;
 flex-wrap: wrap;}
.hero-trust-block{display: flex; flex-direction: column; gap: 0.2rem;}
.hero-trust-stars{display: flex; align-items: center; gap: 0.5rem;
 color: var(--text);
 font-size: 0.95rem; font-weight: 700;}
.hero-trust-stars-svg{display: flex; gap: 1px;}
.hero-trust-stars-svg svg{width: 15px; height: 15px; fill: #FFB700;}
.hero-trust-label{font-size: 0.74rem;
 color: var(--text-muted, #6B6862);
 font-weight: 500;
 letter-spacing: 0.04em;}
.hero-trust-divider{width: 1px; height: 32px;
 background: var(--line, #E8E4DE);}
.hero-trust-award{display: flex; align-items: center; gap: 0.55rem;
 font-family: 'Poppins', sans-serif;
 font-size: 0.82rem; font-weight: 600;
 color: var(--accent);}
.hero-trust-award svg{width: 26px; height: 26px;
 fill: var(--gold, #AC3749);
 flex-shrink: 0;}
.hero-trust-award-years{display: block;
 font-size: 0.7rem;
 color: var(--text-muted, #6B6862);
 font-weight: 500;
 margin-top: 1px;
 letter-spacing: 0.05em;}
/* ════════════════════════════════════════════════════════════
 === FIX: Hero spacing uniforme + Marquee pegado a Tours ===
════════════════════════════════════════════════════════════ */

/* HERO: gap uniforme entre TODOS los elementos del hero-left */
.hero-left{gap: 1.6rem;}
/* Resetear los margins individuales de los hijos para que el gap sea LA distancia */
.hero-left > .hero-kicker, .hero-left > .hero-h1, .hero-left > .hero-sub, .hero-left > .hero-stats, .hero-left > .hero-includes, .hero-left > .hero-ctas, .hero-left > .hero-rule, .hero-left > .hero-trust{margin: 0 !important;}
/* MARQUEE → siguiente sección: SIN espacio entre ellos */
.mq-strip{margin: 0 !important;
 padding-bottom: .55rem !important;}
section#tours > .exp-block:first-child{margin-top: 0 !important;
 padding-top: 0 !important;}
/* ════════════════════════════════════════════════════════════
 === HEROS DE TOUR: contenido centrado verticalmente ===
 El texto estaba al fondo (flex-end), lo subo al centro
 para que coincida con la posición del hero del INDEX.
════════════════════════════════════════════════════════════ */

.hero-luj-content, .hero-am-content, .ct-hero-content, .hero-4x4-content, .hero-ck-content, .hero-bl-content, .corp-hero-content, .desp-hero-content{justify-content: center !important;}
/* Asegurar que el span hero-h1-accent funcione dentro de los H1 de los heros de tour */
.hero-luj-h1 .hero-h1-accent, .hero-am-h1 .hero-h1-accent, .ct-hero-h1 .hero-h1-accent, .hero-4x4-h1 .hero-h1-accent, .hero-ck-h1 .hero-h1-accent, .hero-bl-h1 .hero-h1-accent, .corp-hero-h1 .hero-h1-accent, .desp-hero-h1 .hero-h1-accent{color: var(--accent) !important;
 font-weight: inherit;
 font-style: normal;}
/* === Link "Ver el recorrido" subrayado debajo de los botones === */
.hero-see-more{display: inline-block;
 margin-top: 1.2rem;
 color: rgba(255, 255, 255, 0.92);
 font-family: 'Poppins', sans-serif;
 font-size: 0.92rem;
 font-weight: 400;
 text-decoration: underline;
 text-underline-offset: 5px;
 text-decoration-thickness: 1px;
 text-decoration-color: rgba(255, 255, 255, 0.55);
 letter-spacing: 0.02em;
 transition: text-decoration-color 0.25s ease, color 0.25s ease;
 cursor: pointer;}
.hero-see-more:hover{color: var(--accent);
 text-decoration-color: var(--accent);}
/* ════════════════════════════════════════════════════════════════
 TL;DR / RESPUESTA RÁPIDA — bloque citable por motores de IA (GEO)
 Resumen directo al inicio del artículo. Formato que ChatGPT/
 Perplexity/Gemini extraen y citan.
 ════════════════════════════════════════════════════════════════ */
.vwt-tldr{border: 1px solid var(--line);
 border-left: 3px solid var(--accent);
 background: rgba(0,0,0,.02);
 border-radius: 10px;
 padding: 1.1rem 1.35rem;
 margin: 1.6rem 0 2rem;}
.sec-h em, .hero-h1 em, .nos-hero-h em, .nos-historia-hdr-h em, .nos-valores-hdr-h em, .intro-band-h em, .blog-art-h1 em{font-style: normal;}
.sec-h em, .hero-h1 em, .nos-historia-hdr-h em, .nos-valores-hdr-h em, .intro-band-h em, .blog-art-h1 em{font-weight: 700;
  color: var(--accent);}
como el logotipo */
.hero-h1, .sec-h, .nos-hero-h, .blog-art-h1, .nos-historia-hdr-h, .nos-valores-hdr-h, .intro-band-h{font-weight: 700;
  letter-spacing: -.035em;}
/* 3. Reglas y filetes: más presencia */
 .nos-hero-rule, .nos-historia-rule, .nos-valor-rule{height: 3px;
  background: var(--accent);
  opacity: 1;}
/* 4. Kickers: tracking amplio, como "wine tours" del logo */
.kicker, .nos-hero-eyebrow, .nos-historia-anio{letter-spacing: .26em;
  font-weight: 600;}
/* ═══════════════════════════════════════════════
   VWT — CAPA 2: ESCALA{--ease-vwt: cubic-bezier(.22,1,.36,1);
  --ease-vwt-slow: cubic-bezier(.19,1,.22,1);}
/* ── 3. Revelado por scroll{transform: translateY(34px);
  transition: opacity .9s var(--ease-vwt), transform .9s var(--ease-vwt);
  will-change: opacity, transform;}
.sr.d1{transition-delay: .08s;}
.sr.d2{transition-delay: .16s;}
.sr.d3{transition-delay: .24s;}
.sr.d4{transition-delay: .32s;}
.sr.d5{transition-delay: .40s;}
/* Titulares: entrada más larga y más lenta que el resto */
.sec-h.sr, .nos-hero-h.sr, .intro-band-h.sr, .blog-art-h1.sr{transform: translateY(52px);
  transition: opacity .9s var(--ease-vwt-slow), transform .9s var(--ease-vwt-slow);}
.sec-h.sr.vis, .nos-hero-h.sr.vis, .intro-band-h.sr.vis, .blog-art-h1.sr.vis{transform: none;}
/* Filetes: se dibujan solos */
 .sr .nos-hero-rule, .sr .nos-historia-rule, .sr .nos-valor-rule, .nos-historia-rule.sr{transform-origin: left center;
  transform: scaleX(0);
  transition: transform .9s var(--ease-vwt) .15s;}
.sr.vis .nos-hero-rule, .sr.vis .nos-historia-rule, .sr.vis .nos-valor-rule, .nos-historia-rule.sr.vis{transform: scaleX(1);}
no un descuido.
   ═══════════════════════════════════════════════════════════ */
.a-kicker, .b-hover-label, .b-meta-lbl, .b-region, .bl-bodega-img-badge, .bl-dato-l, .bl-incluye-price-label, .bl-incluye-price-note, .bl-tl-detail, .bl-tl-tag, .bl-var-card-attr span, .bl-var-card-eyebrow, .blog-art-breadcrumb, .blog-art-cat, .blog-art-meta, .blog-card-cat, .blog-hero-eyebrow, .blog-related-card-cat, .blog-related-hdr, .blog-related-tour-kicker, .bod-popup-cta, .bod-popup-inc-title, .bod-popup-kicker, .corp-flota-card-specs span, .corp-hero-eyebrow, .corp-manifiesto-label, .corp-numero-l, .corp-numeros-label, .corp-section-label, .corp-srv-detail, .ct-hero-eyebrow, .ct-intro-dato-l, .ct-parada-detail, .ct-parada-tag, .dato-label, .desp-hero-eyebrow, .desp-momento-badge, .desp-momento-chips span, .desp-momento-hora, .di-am-title, .diff-cta, .ev-columnas-hdr-num, .ev-foto-caption-num, .ev-lista-n, .ev-lista-tags span, .ev-proceso-hdr-num, .ev-proceso-n, .exp-intro-kicker, .exp-stat-label, .exp-tour-tag, .h-notif-expand, .hero-4x4-eyebrow, .hero-4x4-stat-l, .hero-am-altbar-num, .hero-am-eyebrow, .hero-am-stat-l, .hero-bl-eyebrow, .hero-bl-stat-l, .hero-bod-eyebrow, .hero-bod-stat-l, .hero-ck-eyebrow, .hero-ck-stat-l, .hero-luj-eyebrow, .hero-luj-stat-l, .intro-am-quote cite, .itin-tl-labels span, .kicker.left, .modal-am-badge, .modal-am-col-hdr, .modal-am-cta-label, .modal-badge, .modal-cta-label, .modalidad-cat, .modalidad-cta, .news-kicker, .news-label, .news-popup-kicker, .nos-hero-eyebrow, .nos-hero-since, .nos-historia-anio, .otro-tag, .parada-alt-l, .parada-num-small, .parada-tag, .paso-img-num, .paso-num-small, .paso-tag, .porq-bq cite, .porq-num, .pull-quote cite, .rbod-origin, .rml-title, .sec-kicker, .winery-content-kicker, .winery-wines-kicker{font-size: .78rem !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  font-family: 'Poppins', sans-serif !important;}
.a-badge, .a-kicker, .b-hover-label, .b-meta-lbl, .b-region, .bl-bodega-img-badge, .bl-dato-l, .bl-incluye-price-label, .bl-incluye-price-note, .bl-tl-detail, .bl-tl-tag, .bl-var-card-attr span, .bl-var-card-eyebrow, .blog-art-breadcrumb, .blog-art-cat, .blog-art-cta-btn, .blog-art-meta, .blog-card-cat, .blog-card-link, .blog-hero-eyebrow, .blog-related-card-cat, .blog-related-card-link, .blog-related-hdr, .blog-related-tour-kicker, .bod-popup-cta, .bod-popup-inc-title, .bod-popup-kicker, .btn-g, .btn-modal-am, .btn-modal-am-gold, .btn-modal-gold, .btn-modal-outline, .btn-w, .corp-flota-card-specs span, .corp-hero-eyebrow, .corp-manifiesto-label, .corp-numero-l, .corp-numeros-label, .corp-section-label, .corp-srv-detail, .ct-hero-eyebrow, .ct-intro-dato-l, .ct-parada-detail, .ct-parada-tag, .ct-scroll-cue, .dato-label, .desp-hero-eyebrow, .desp-momento-badge, .desp-momento-chips span, .desp-momento-cta-btn, .desp-momento-hora, .di-am-title, .di-title, .diff-cta, .diff-mobile-title, .ev-columnas-hdr-num, .ev-foto-caption-num, .ev-lista-link, .ev-lista-n, .ev-lista-tags span, .ev-proceso-hdr-num, .ev-proceso-n, .exp-cat, .exp-intro-kicker, .exp-meta-lbl, .exp-stat-label, .exp-tour-tag, .h-notif-expand, .hero-4x4-eyebrow, .hero-4x4-stat-l, .hero-am-altbar-num, .hero-am-eyebrow, .hero-am-stat-l, .hero-bl-eyebrow, .hero-bl-stat-l, .hero-bod-eyebrow, .hero-bod-stat-l, .hero-ck-eyebrow, .hero-ck-stat-l, .hero-kicker, .hero-luj-eyebrow, .hero-luj-stat-l, .intro-am-quote cite, .itin-tl-labels span, .kicker.left, .modal-am-badge, .modal-am-col-hdr, .modal-am-cta-label, .modal-badge, .modal-cta-label, .modalidad-cat, .modalidad-cta, .news-kicker, .news-label, .news-popup-kicker, .news-popup-submit, .nos-hero-eyebrow, .nos-hero-since, .nos-historia-anio, .otro-link, .otro-tag, .parada-alt-l, .parada-num-small, .parada-tag, .paso-img-num, .paso-num-small, .paso-tag, .porq-bq cite, .porq-num, .ptl-lbl, .pull-quote cite, .rbod-link, .rbod-origin, .rml-alt, .rml-title, .sec-kicker, .ta-badge-label, .winery-content-kicker, .winery-wines-kicker{font-size: .82rem !important;
  letter-spacing: .01em !important;
  text-transform: none !important;
  font-family: 'Poppins', sans-serif !important;}
/* los botones conservan su peso propio */
 .btn-w, .btn-g, .news-popup-submit, .blog-art-cta-btn, .desp-momento-cta-btn, .btn-modal-gold, .btn-modal-outline, .btn-modal-am, .btn-modal-am-gold, .bod-popup-cta{font-weight: 600 !important;
  font-size: .84rem !important;}
@media (min-width: 769px) and (max-width: 1024px) {
.h-notif{display: flex;}
.hero-bod-content{padding: 100px 3rem 3rem;}
.hero-bod-h1{font-size: clamp(2.4rem, 4.5vw, 4rem);}
.bodegas-grid{grid-template-columns: repeat(2, 1fr);}
.bodegas-container{padding: 2rem 3rem 3rem;}
.region-header{padding: calc(var(--nav-h) + 1.5rem) 3rem 1.2rem;}
.region-tabs{padding: 0 3rem;}
.porq-grid{grid-template-columns: 1fr 1fr;}
.reviews-bod-grid{grid-template-columns: 1fr; gap: 1px;}
.porq-sec{padding: 3rem 3rem;}
.reviews-bod-sec{padding: 3rem 3rem;}
.hero-bl-content{padding: 7rem 3rem 3rem;}
.hero-bl-h1{font-size: clamp(2.4rem, 4.5vw, 4rem);}
.bl-bodega-sec{padding: 4rem 3rem;}
.bl-bodega-inner{gap: 3rem;}
.bl-proceso-sec{padding: 4rem 3rem;}
.bl-tl-item{grid-template-columns: 70px 1fr 240px;}
.bl-tl-num{font-size: 2.4rem;}
.bl-var-sec{padding: 4rem 3rem;}
.bl-var-grid{grid-template-columns: repeat(2, 1fr);}
.bl-var-card:nth-child(2){border-right: none;}
.bl-var-card:nth-child(3){border-top: 1px solid rgba(172, 55, 73,.15);}
.bl-var-card:nth-child(4){border-top: 1px solid rgba(172, 55, 73,.15); border-right: none;}
.bl-final-sec{padding: 4rem 3rem;}
.bl-final-grid{grid-template-columns: repeat(2, 1fr);}
.bl-final-item:nth-child(2){border-right: none;}
.bl-final-item:nth-child(3), .bl-final-item:nth-child(4){border-top: 1px solid var(--line);}
.bl-final-item:nth-child(4){border-right: none;}
.bl-incluye-sec{padding: 4rem 3rem;}
.bl-incluye-inner{grid-template-columns: 1fr; gap: 3rem;}
.bl-dif-sec{padding: 4rem 3rem;}
.bl-dif-col{padding-right: 2rem;}
.bl-dif-col:last-child{padding-left: 2rem;}
.bl-dif-col:nth-child(2){padding: 0 2rem;}
.hero-ck-content{padding: 7rem 3rem 3rem;}
.hero-ck-h1{font-size: clamp(2.8rem, 5vw, 5rem);}
.ct-hero-content{padding: 0 3rem;}
.ct-hero-h1{font-size: clamp(4rem, 11vw, 4.5rem);}
.ct-hero-side{gap: 2rem;}
.ct-hero-desc{max-width: 300px;}
.ct-intro-sec{padding: 4rem 3rem;}
.ct-intro-inner{gap: 3rem;}
.ct-parada{min-height: 420px;}
.ct-parada-content{padding: 3rem;}
.ct-parada-h{font-size: clamp(1.6rem, 2.5vw, 2.4rem);}
.corp-hero-content{padding: 7rem 3rem 3rem;}
.corp-hero-h1{font-size: clamp(2.8rem, 5vw, 5rem);}
.corp-manifiesto{padding: 4rem 3rem;}
.corp-manifiesto-inner{grid-template-columns: 1fr; gap: 1.5rem;}
.corp-servicios-sec{padding: 4rem 3rem;}
.corp-servicios-grid{grid-template-columns: repeat(2, 1fr);}
.corp-srv-card:nth-child(3){border-right: 1px solid var(--line);}
.corp-srv-card:nth-child(2), .corp-srv-card:nth-child(4){border-right: none;}
.corp-srv-card:nth-child(5), .corp-srv-card:nth-child(6){border-bottom: none;}
.corp-flota-sec{padding: 4rem 3rem;}
.corp-proceso-sec{padding: 4rem 3rem;}
.corp-proceso-steps{grid-template-columns: repeat(2, 1fr);}
.corp-step:nth-child(2){border-right: none; padding-right: 0;}
.corp-step:nth-child(3){border-top: 1px solid var(--line);}
.corp-numeros-sec{padding: 4rem 3rem;}
.corp-numeros-grid{grid-template-columns: repeat(2, 1fr); padding: 2.5rem 0;}
.corp-numero:nth-child(3){border-top: 1px solid var(--line); padding-top: 2rem;}
.desp-hero-content{padding: 7rem 3rem 3rem;}
.desp-filosofia-sec{padding: 4rem 3rem;}
.desp-filosofia-hdr{grid-template-columns: 1fr !important; gap: 2rem !important; margin-bottom: 3rem !important; padding-bottom: 3rem !important;}
.desp-diff-sec{padding: 4rem 3rem;}
.desp-diff-grid{grid-template-columns: repeat(2, 1fr);}
.desp-diff-item:nth-child(2){border-right: none; padding-right: 0;}
.desp-diff-item:nth-child(3){border-top: 1px solid rgba(172, 55, 73,.08);}
.desp-como-sec{padding: 4rem 3rem;}
.desp-como-steps{grid-template-columns: repeat(2, 1fr);}
.desp-como-step:nth-child(2){border-right: none; padding-right: 0;}
.desp-como-step:nth-child(3){border-top: 1px solid var(--line);}
.desp-filosofia-sec{padding: 4rem 3rem 0;}
.desp-filosofia-hdr{grid-template-columns: 1fr; gap: 2rem;}
.desp-momento-row{min-height: 420px;}
.desp-momento-txt{padding: 3rem;}
.desp-momento-cta-row{padding: 4rem 3rem;}
.ev-portada-titulo{padding: 0 2.5rem;}
.ev-lista-item{padding: 3rem; gap: 3rem;}
.ev-foto-caption{padding: 2rem 3rem;}
.ev-columnas-sec{padding: 4rem 3rem;}
.ev-columnas-grid{grid-template-columns: repeat(2, 1fr);}
.ev-col:nth-child(2){border-right: none; padding-right: 0;}
.ev-col:nth-child(3){border-right: 1px solid var(--line); padding-left: 0; border-top: 1px solid var(--line); padding-top: 2.5rem;}
.ev-col:nth-child(4){border-right: none; padding-right: 0; padding-left: 3rem; border-top: 1px solid var(--line); padding-top: 2.5rem;}
.ev-proceso-hdr{padding: 3rem 3rem 2rem;}
.ev-proceso-item{padding: 2.5rem 3rem; grid-template-columns: 100px 1fr; gap: 2rem;}
.blog-hero{padding: calc(var(--nav-h) + 3rem) 3rem 3rem;}
.blog-grid-sec{padding: 2rem 3rem 4rem;}
.blog-grid{grid-template-columns: repeat(2, 1fr);}
.blog-card:nth-child(3n){border-right: 1px solid var(--line);}
.blog-card:nth-child(2n){border-right: none;}
.blog-art-header{min-height: 70svh;}
.blog-art-header-body{padding: 2.5rem 3rem 3.5rem;}
.blog-art-content{padding: 3rem 3rem 4rem;}
.blog-related-sec{padding: 3rem;}
.blog-related-grid{grid-template-columns: repeat(2, 1fr);}
.blog-related-card:nth-child(2){border-right: none;}
.blog-related-card:nth-child(3){display: none;}
.nos-hero{padding: calc(var(--nav-h) + 2rem) 3rem 2rem;}
.nos-hero-grid{grid-template-columns: 1fr; gap: 2.5rem;}
.nos-valores-sec{padding: 2.5rem 3rem;}
.nos-valores-grid{grid-template-columns: 1fr; gap: 2.5rem;}
}
@media (hover: none), (max-width: 768px) {
.exp-tour::before{display: none;}
/* Sin transición de color persistente en mobile (la "animación de carga" del círculo) */
 .exp-tour-arr{transition: none;}
.exp-tour-name, .exp-tour-num{transition: none;}
/* Reset hover (no aplican en mobile real) */
 .exp-tour:hover .exp-tour-name, .exp-tour:hover .exp-tour-num, .exp-tour:hover .exp-tour-arr{color: inherit;
 border-color: var(--line);}
/* Feedback al TOUCH (active): card se oscurece + flecha se mueve a la derecha */
 .exp-tour:active{background: rgba(0, 0, 0, .04);
 transition: background .12s ease;}
.exp-tour:active .exp-tour-arr{transform: translateX(6px);
 transition: transform .15s ease;}
html[data-theme="dark"] .exp-tour:active{background: rgba(255, 255, 255, .04);}
la sección de tours debe ser ESTÁTICA al hacer scroll.
 Sin animación de translateY(28px) ni transición — los títulos quedan fijos en su lugar. */
 .exp-block .sr, .exp-block.sr, .exp-body.sr, .exp-img.sr, .exp-tour.sr, .exp-tours .sr{opacity: 1 !important;
 transform: none !important;
 transition: none !important;
 transition-delay: 0s !important;}
}
@media (max-width: 1024px) {
.reviews-grid{grid-template-columns: 1fr 1fr;}
.hero-left{padding: clamp(2.5rem, 6vw, 4rem) var(--pad-x); min-height: auto; justify-content: center;}
/* Tours */
 .exp-block{grid-template-columns: 1fr; min-height: auto;}
.exp-block.exp-reverse{direction: ltr;}
.exp-img{height: 50vw; min-height: 280px; max-height: 460px;}
.exp-body{padding: clamp(2rem, 5vw, 4rem);}
/* Fleet */
 .fleet-sec{grid-template-columns: 1fr;}
.fleet-inner{padding: clamp(2rem, 5vw, 4rem) var(--pad-x);}
.fleet-visual{min-height: 260px; padding: 2rem;}
/* About */
 .about-sec{grid-template-columns: 1fr 1fr; gap: 3rem; padding: 3rem var(--pad-x);}
/* Differentials */
 .diff-sec{grid-template-columns: 1fr;}
.diff-mobile-list{display: flex; flex-direction: column; padding: clamp(2rem, 5vw, 4rem) var(--pad-x);}
/* FAQ / Footer / Reviews */
 .faq-sec{grid-template-columns: 1fr; gap: 2rem;}
.reviews-grid{grid-template-columns: 1fr 1fr;}
.winery-wines-grid{grid-template-columns: repeat(2, 1fr);
 gap: clamp(2rem, 4vw, 3rem);}
.winery-wine-bottle-wrap{height: 240px;}
etc.) */
 section.hero .hero-h1, .hero > .hero-left .hero-h1{color: #FFFFFF !important;
 text-shadow: 0 2px 28px rgba(0, 0, 0, 0.6),
 0 1px 8px rgba(0, 0, 0, 0.4);}
section.hero .hero-h1 em, .hero > .hero-left .hero-h1 em{color: #AC3749 !important;
 text-shadow: 0 2px 28px rgba(0, 0, 0, 0.6);}
section.hero .h-sub, .hero > .hero-left .h-sub{color: rgba(255, 255, 255, 0.95) !important;
 text-shadow: 0 1px 18px rgba(0, 0, 0, 0.55),
 0 1px 6px rgba(0, 0, 0, 0.35);}
section.hero .h-rule, .hero > .hero-left .h-rule{background: #FFFFFF !important;
 opacity: 0.5 !important;}
/* En dark mode mobile sigue blanco — ya estaba bien */
 html[data-theme="dark"] section.hero .hero-h1{color: #FFFFFF !important;}
/* Asegurar que el texto está por encima de la imagen */
 .hero-left{position: relative;
 z-index: 3;}
/* Si la imagen del hero hace overlay sobre el texto{content: '';
 position: absolute;
 inset: 0;
 background: linear-gradient(
 to bottom,
 rgba(0, 0, 0, 0.35) 0%,
 rgba(0, 0, 0, 0.55) 100%
 );
 z-index: 2;
 pointer-events: none;}
/* btn-w sobre fondo oscuro mantiene su fondo wine */
 /* btn-g sobre fondo oscuro: agregar glassmorphism para legibilidad */
 section.hero .btn-g, .hero > .hero-left .btn-g{color: #FFFFFF !important;
 border-color: rgba(255, 255, 255, 0.7) !important;
 background: rgba(255, 255, 255, 0.1) !important;
 backdrop-filter: blur(8px);
 -webkit-backdrop-filter: blur(8px);}
section.hero .btn-g:hover, .hero > .hero-left .btn-g:hover{background: #FFFFFF !important;
 color: #1A1816 !important;}
.cta-global{padding: 4rem 2rem;}
html .cta-global-h{font-size: clamp(1.5rem, 2.6vw, 2.4rem) !important;}
.hero-left{gap: 1.4rem;}
.hero-t-wrap{grid-template-columns: 1fr;
 min-height: auto;}
.hero-t-left{padding: 4rem 2.5rem 3rem;
 order: 2;}
.hero-t-right{order: 1;
 min-height: 340px;
 max-height: 380px;}
.hero-t-right::after{background: linear-gradient(180deg, transparent 60%, rgba(11, 11, 14, 0.85) 100%);}
}
@media (max-width: 600px) {
.reviews-grid{grid-template-columns: 1fr;}
.reviews-top{flex-direction: column; align-items: flex-start;}
.news-row{grid-template-columns: 1fr; gap: 1rem;}
.winery-wines-grid{grid-template-columns: 1fr;
 gap: 3.5rem;}
.winery-wine-bottle-wrap{height: 220px;}
.bodegas-grid{grid-template-columns: 1fr !important;
 gap: 3rem !important;}
.blog-grid{grid-template-columns: 1fr !important;
 gap: 3rem !important;}
.blog-card{border: 1px solid rgba(0, 0, 0, 0.1) !important;}
.blog-card:last-child{border-bottom: 1px solid rgba(0, 0, 0, 0.1) !important;}
}
@media (max-width: 768px) {
/* Mostrar el handle interactivo en mobile */
 .ai-popup-close{top: 1.2rem; right: 1.2rem;}
.paradas-grid{grid-template-columns: 1fr;}
.parada-img{position: relative;
 inset: auto;
 height: 260px;
 flex-shrink: 0;}
.parada-body{position: relative;
 margin-top: 0;
 background: #0A0806;
 padding: 1.6rem 1.6rem 2rem;}
.parada-num-small, .parada-h, .parada-rule, .parada-p, .parada-tag{opacity: 1; transform: none;}
.paradas-timeline{grid-template-columns: repeat(2,1fr);}
.diferencial-grid{grid-template-columns: 1fr;}
.di-am{border-right: none;}
.di-am:nth-child(n){border-top: 1px solid var(--line); border-right: none;}
.di-am:first-child{border-top: none;}
.otros-grid{grid-template-columns: 1fr 1fr;}
.otros-sec{padding: 3rem 1.4rem;}
.ruta-map-sec{height: 60vh; min-height: 320px;}
.ruta-map-overlay{padding: 1rem;}
.ruta-map-legend{min-width: 180px; padding: 1rem 1.2rem;}
.rml-name{font-size: .65rem;}
#modalOverlay{padding: 0;
 align-items: flex-end;
 /* prevent background scroll */
 overscroll-behavior: none;}
.bod-popup-box{width: 100%;
 max-height: 88dvh;
 border-radius: 16px 16px 0 0;
 border-left: none; border-right: none; border-bottom: none;
 display: flex; flex-direction: column;
 grid-template-rows: none;
 transform: translateY(100%);}
#modalOverlay.open .bod-popup-box{transform: translateY(0);}
.bod-popup-head{padding: 1.6rem 1.4rem 1.2rem;}
.bod-popup-body{grid-template-columns: 1fr;
 overflow-y: auto;
 overscroll-behavior: contain;
 -webkit-overflow-scrolling: touch;
 flex: 1; min-height: 0;}
#mHl{border-right: none;
 border-bottom: 1px solid var(--line);
 overflow-y: visible;
 padding: 1rem 1.4rem;}
.bod-popup-includes{overflow-y: visible;
 padding: .8rem 1.4rem;}
.bod-popup-foot{padding: 1rem 1.4rem 2rem;}
.hero-bod{grid-template-columns: 1fr;}
.hero-bod-content{padding: 0 2rem; padding-top: max(5rem,calc(env(safe-area-inset-top)+4rem)); padding-bottom: max(3rem,calc(env(safe-area-inset-bottom)+2rem)); justify-content: center; text-align: center; grid-column: 1;}
.hero-bod-h1{font-size: clamp(2.6rem, 9vw, 4rem);}
.hero-bod-eyebrow{justify-content: center;}
.hero-bod-eyebrow::before{display: none;}
.hero-bod-rule{margin: 0 auto 1.6rem;}
.hero-bod-sub{margin: 0 auto 1.8rem; font-size: .84rem;}
.hero-bod-btns{flex-direction: column; gap: .8rem; width: 100%;}
.hero-bod-stats{justify-content: center; flex-wrap: wrap; gap: 1.5rem; margin-top: 2rem;}
.region-header{grid-template-columns: 1fr; padding: calc(var(--nav-h) + 1.2rem) 1.6rem 1rem; gap: .8rem;}
.region-tabs{padding: 0 1.6rem; overflow-x: auto; scrollbar-width: none; justify-content: flex-start;}
.region-tabs::-webkit-scrollbar{display: none;}
.bodegas-container{padding: 1.5rem 1.2rem 2rem;}
.bodegas-grid{grid-template-columns: 1fr; gap: 1rem;}
.porq-sec{padding: 2.5rem 1.4rem;}
.porq-grid{grid-template-columns: 1fr;}
.porq-item{border-right: none; border-bottom: 1px solid var(--line);}
.porq-item:last-child{border-bottom: none;}
.porq-hdr{margin-bottom: 2rem;}
.reviews-bod-sec{padding: 2.5rem 1.4rem;}
.reviews-bod-h{font-size: clamp(1.8rem, 7vw, 2.8rem);}
/* Hero */
 .hero-bl{grid-template-columns: 1fr;}
.hero-bl-content{padding: 0 1.6rem;
 padding-top: max(5rem, calc(env(safe-area-inset-top) + 4rem));
 padding-bottom: max(3rem, calc(env(safe-area-inset-bottom) + 2rem));
 justify-content: center;
 text-align: center;
 grid-column: 1;}
.hero-bl-eyebrow{justify-content: center;}
.hero-bl-eyebrow::before{display: none;}
.hero-bl-h1{font-size: clamp(2.6rem, 9vw, 4rem);}
.hero-bl-rule{margin: 0 auto 1.4rem;}
.hero-bl-sub{margin: 0 auto 1.8rem; font-size: .84rem;}
.hero-bl-btns{flex-direction: column; gap: .7rem; width: 100%;}
.hero-bl-stats{justify-content: center; flex-wrap: wrap; gap: 1.4rem; margin-top: 1.8rem;}
/* Bodega */
 .bl-bodega-sec{padding: 3rem 1.6rem;}
.bl-bodega-inner{grid-template-columns: 1fr; gap: 2rem;}
.bl-bodega-h{font-size: clamp(1.8rem, 7vw, 2.8rem);}
/* Proceso — Timeline mobile */
 .bl-proceso-sec{padding: 3rem 1.6rem;}
.bl-proceso-h{font-size: clamp(1.8rem, 7vw, 2.8rem);}
.bl-tl-item{grid-template-columns: 54px 1fr;}
.bl-tl-img{display: none;}
.bl-tl-num{font-size: 2rem;}
.bl-tl-body{padding: 1.8rem 0 1.8rem 1rem;}
/* Varietales */
 .bl-var-sec{padding: 3rem 1.6rem;}
.bl-var-h{font-size: clamp(1.8rem, 7vw, 2.8rem);}
.bl-var-grid{grid-template-columns: 1fr; border: none;}
.bl-var-card{border-right: none; border-bottom: 1px solid rgba(172, 55, 73,.15); padding: 2.2rem 0;}
.bl-var-card:last-child{border-bottom: none;}
.bl-var-card-bg{font-size: 5rem;}
/* Final */
 .bl-final-sec{padding: 3rem 1.6rem;}
.bl-final-h{font-size: clamp(1.8rem, 7vw, 2.8rem);}
.bl-final-grid{grid-template-columns: 1fr;}
.bl-final-item{border-right: none; border-bottom: 1px solid var(--line); padding: 1.8rem 0;}
.bl-final-item:last-child{border-bottom: none;}
/* Incluye */
 .bl-incluye-sec{padding: 3rem 1.6rem;}
.bl-incluye-inner{grid-template-columns: 1fr; gap: 2.5rem;}
.bl-incluye-h{font-size: clamp(1.8rem, 7vw, 2.8rem);}
.bl-incluye-cta{width: 100%; text-align: center; display: block;}
.bl-inc-item-featured{margin: 0; padding: 1.1rem 0;}
/* Diferencial */
 .bl-dif-sec{padding: 3rem 1.6rem;}
.bl-dif-h{font-size: clamp(1.8rem, 7vw, 2.8rem);}
.bl-dif-cols{grid-template-columns: 1fr; gap: 0; padding-top: 0; border-top: none;}
.bl-dif-col{border-right: none; padding: 1.8rem 0; border-bottom: 1px solid rgba(172, 55, 73,.1);}
.bl-dif-col:last-child{border-bottom: none; padding-left: 0;}
.bl-dif-col:nth-child(2){padding: 1.8rem 0;}
/* Hero */
 .hero-ck{grid-template-columns: 1fr;}
.hero-ck-content{padding: 0 1.6rem;
 padding-top: max(5rem, calc(env(safe-area-inset-top) + 4rem));
 padding-bottom: max(3rem, calc(env(safe-area-inset-bottom) + 2rem));
 justify-content: center; text-align: center; grid-column: 1;}
.hero-ck-eyebrow{justify-content: center;}
.hero-ck-eyebrow::before{display: none;}
.hero-ck-h1{font-size: clamp(2.6rem, 9vw, 4rem);}
.hero-ck-rule{margin: 0 auto 1.4rem;}
.hero-ck-sub{margin: 0 auto 1.8rem; font-size: .84rem;}
.hero-ck-btns{flex-direction: column; gap: .7rem; width: 100%;}
.hero-ck-stats{justify-content: center; flex-wrap: wrap; gap: 1.4rem; margin-top: 1.8rem;}
/* Hero */
 .ct-hero-content{padding: 0 1.6rem;}
.ct-hero-top{flex-direction: column; align-items: flex-start; gap: .6rem;
 padding-top: max(5rem, calc(env(safe-area-inset-top) + 4.5rem));}
.ct-hero-h1{font-size: clamp(3.5rem, 17vw, 4.5rem); line-height: 1.08; word-break: keep-all;}
.ct-hero-title-wrap{gap: 1rem; padding-bottom: 1.2rem;}
.ct-hero-side{grid-template-columns: 1fr;
 gap: 1.2rem;}
.ct-hero-desc{font-size: .84rem; max-width: 100%;}
.ct-hero-btns{flex-direction: column; gap: .6rem;}
.ct-hero-bottom{flex-direction: column; align-items: flex-start; gap: 1.2rem;
 padding-bottom: max(2rem, calc(env(safe-area-inset-bottom) + 1.5rem));}
.ct-scroll-cue{display: none;}
/* Intro */
 .ct-intro-sec{padding: 3rem 1.6rem;}
.ct-intro-inner{grid-template-columns: 1fr; gap: 2rem;}
.ct-intro-h{font-size: clamp(1.8rem, 7vw, 2.8rem);}
.ct-intro-datos{grid-template-columns: 1fr; gap: 1rem;}
.ct-intro-dato{border-right: none; padding: 0 0 1rem; border-bottom: 1px solid var(--line);}
.ct-intro-dato:last-child{border-bottom: none; padding: 0;}
.ct-intro-dato:nth-child(2){padding: 0 0 1rem;}
/* Paradas */
 .ct-parada{grid-template-columns: 1fr; min-height: auto; direction: ltr;}
.ct-parada-media{height: 260px; min-height: 0;}
.ct-parada-inv .ct-parada-media{order: 0;}
.ct-parada-content{padding: 2rem 1.6rem; order: 1;}
.ct-parada-num{font-size: 4rem; top: 1.2rem; right: 1.4rem;}
.ct-parada-inv .ct-parada-num{left: auto; right: 1.4rem;}
.ct-parada-h{font-size: clamp(1.5rem, 6vw, 2rem);}
.ct-parada-p{max-width: 100%; font-size: .84rem;}
/* Hero */
 .corp-hero{grid-template-columns: 1fr;}
.corp-hero-content{padding: 0 1.6rem;
 padding-top: max(5rem, calc(env(safe-area-inset-top) + 4.5rem));
 padding-bottom: max(3rem, calc(env(safe-area-inset-bottom) + 2rem));
 justify-content: center; text-align: center;}
.corp-hero-eyebrow{justify-content: center;}
.corp-eyebrow-line{display: none;}
.corp-hero-h1{font-size: clamp(2.4rem, 9vw, 4rem);}
.corp-hero-rule{margin: 0 auto 1.4rem;}
.corp-hero-sub{margin: 0 auto 1.6rem; font-size: .84rem;}
.corp-hero-btns{flex-direction: column; gap: .7rem; width: 100%;}
/* Manifiesto */
 .corp-manifiesto{padding: 3rem 1.6rem;}
.corp-manifiesto-inner{grid-template-columns: 1fr; gap: 1.2rem;}
.corp-manifiesto-quote{font-size: clamp(1.3rem, 5.5vw, 1.8rem);}
/* Servicios */
 .corp-servicios-sec{padding: 3rem 1.6rem;}
.corp-servicios-h{font-size: clamp(1.8rem, 7vw, 2.8rem);}
.corp-servicios-grid{grid-template-columns: 1fr;}
.corp-srv-card{border-right: none;}
.corp-srv-card:nth-child(6){border-bottom: none;}
.corp-srv-card{padding: 2rem 1.6rem;}
/* Flota */
 .corp-flota-sec{padding: 3rem 1.6rem;}
.corp-flota-h{font-size: clamp(1.8rem, 7vw, 2.8rem);}
.corp-flota-grid{grid-template-columns: repeat(2, 1fr);}
.corp-flota-card:nth-child(2){border-right: none;}
.corp-flota-card:nth-child(1), .corp-flota-card:nth-child(2){border-bottom: 1px solid var(--line);}
/* Proceso */
 .corp-proceso-sec{padding: 3rem 1.6rem;}
.corp-proceso-h{font-size: clamp(1.8rem, 7vw, 2.8rem);}
.corp-proceso-steps{grid-template-columns: 1fr;}
.corp-step{border-right: none; border-bottom: 1px solid var(--line); padding: 2rem 0;}
.corp-step:not(:first-child){padding-left: 0;}
.corp-step:last-child{border-bottom: none;}
/* Números */
 .corp-numeros-sec{padding: 3.5rem 1.6rem;}
.corp-numeros-grid{grid-template-columns: repeat(2, 1fr); padding: 2rem 0;}
.corp-numero{padding: 0 1rem;}
.corp-numero:nth-child(2){border-right: none;}
.corp-numero:nth-child(3){border-top: 1px solid var(--line); padding-top: 1.5rem;}
.corp-numero-n{font-size: clamp(2.5rem, 10vw, 4rem);}
.corp-numeros-quote{flex-direction: column; gap: .5rem; text-align: center;}
.corp-numeros-quote-sep{display: none;}
/* Hero */
 .desp-hero{grid-template-columns: 1fr;}
.desp-hero-content{padding: 0 1.6rem;
 padding-top: max(5rem, calc(env(safe-area-inset-top) + 4.5rem));
 padding-bottom: max(3rem, calc(env(safe-area-inset-bottom) + 2rem));
 justify-content: center; text-align: center;}
.desp-hero-eyebrow{justify-content: center;}
.desp-eyebrow-line{display: none;}
.desp-hero-h1{font-size: clamp(2.4rem, 9vw, 4rem);}
.desp-hero-rule{margin: 0 auto 1.4rem;}
.desp-hero-sub{margin: 0 auto 1.6rem; font-size: .84rem;}
.desp-hero-btns{flex-direction: column; gap: .7rem; width: 100%;}
/* Gancho */
 /* Filosofía + Momentos */
 .desp-filosofia-sec{padding: 3rem 1.6rem;}
.desp-filosofia-hdr{grid-template-columns: 1fr; gap: 1.8rem; margin-bottom: 2rem; padding-bottom: 2rem;}
/* Diferencial */
 .desp-diff-sec{padding: 3rem 1.6rem;}
.desp-diff-h{font-size: clamp(1.8rem, 7vw, 2.8rem);}
.desp-diff-grid{grid-template-columns: 1fr;}
.desp-diff-item{border-right: none; border-bottom: 1px solid rgba(172, 55, 73,.08); padding: 2rem 0;}
.desp-diff-item:last-child{border-bottom: none;}
.desp-diff-item:not(:first-child){padding-left: 0;}
/* Como funciona */
 .desp-como-sec{padding: 3rem 1.6rem;}
.desp-como-h{font-size: clamp(1.8rem, 7vw, 2.8rem);}
.desp-como-steps{grid-template-columns: 1fr;}
.desp-como-step{border-right: none; border-bottom: 1px solid var(--line); padding: 2rem 0;}
.desp-como-step:last-child{border-bottom: none;}
.desp-como-step:not(:first-child){padding-left: 0;}
.desp-filosofia-sec{padding: 3rem 1.6rem 0;}
.desp-filosofia-hdr{grid-template-columns: 1fr; gap: 1.8rem; margin-bottom: 0; padding-bottom: 2rem;}
.desp-filosofia-h{font-size: clamp(1.8rem, 7vw, 2.8rem);}
.desp-momento-row{grid-template-columns: 1fr; min-height: auto;}
.desp-momento-row-rev .desp-momento-img{order: 0;}
.desp-momento-row-rev .desp-momento-txt{order: 1;}
.desp-momento-img{height: 56vw; min-height: 220px; position: relative;}
.desp-momento-txt{padding: 2rem 1.6rem; border-left: none !important; border-right: none !important; border-top: 1px solid var(--line);}
.desp-momento-txt-featured{border-left: none !important; border-top: 3px solid var(--wine) !important;}
.desp-momento-h{font-size: clamp(1.5rem, 6vw, 2.2rem);}
.desp-momento-p{max-width: 100%; font-size: .84rem;}
.desp-momento-cta-row{padding: 3.5rem 1.6rem;}
.desp-momento-cta-h{font-size: clamp(1.6rem, 6vw, 2.4rem);}
.desp-momento-cta-btn{width: 100%; justify-content: center;}
.ev-portada-titulo{padding: 0 1.5rem;}
.ev-portada-word{font-size: clamp(2.5rem, 11vw, 5rem);}
.ev-lista-item{grid-template-columns: 1fr; padding: 2.5rem 1.6rem; gap: 2rem;}
.ev-lista-item-left{position: static;}
.ev-lista-h{font-size: clamp(1.6rem, 7vw, 2.5rem);}
.ev-foto-sec{height: 50vw; min-height: 260px;}
.ev-foto-caption{padding: 1.5rem 1.6rem; gap: 1rem;}
.ev-columnas-sec{padding: 3rem 1.6rem;}
.ev-columnas-grid{grid-template-columns: 1fr; gap: 2.5rem;}
.ev-col{border-right: none; padding: 0 !important; border-top: 1px solid var(--line); padding-top: 2rem !important;}
.ev-col:first-child{border-top: none; padding-top: 0 !important;}
.ev-proceso-hdr{padding: 2rem 1.6rem 1.5rem;}
.ev-proceso-item{grid-template-columns: 1fr; padding: 2rem 1.6rem; gap: .8rem;}
.blog-hero{padding: calc(var(--nav-h) + 2rem) 1.6rem 2.5rem;}
.blog-hero-h{font-size: clamp(2.2rem, 4.5vw, 4.2rem);}
.blog-grid-sec{padding: 1.5rem 1.6rem 3rem;}
.blog-grid{grid-template-columns: 1fr;}
.blog-card{border-right: none;}
.blog-card:last-child{border-bottom: none;}
.blog-card-img{height: 200px;}
.blog-art-header{min-height: 70svh; justify-content: center;}
.blog-art-header-body{padding: 2rem 1.6rem;}
.blog-art-h1{font-size: clamp(1.8rem, 4vw, 3.4rem);}
.blog-art-content{padding: 2.5rem 1.6rem 0;}
.blog-art-content h2{font-size: clamp(1.2rem, 5vw, 1.8rem);}
.blog-art-cta{flex-direction: column; padding: 3rem 1.6rem;}
.blog-art-cta-text h3{font-size: clamp(1.4rem, 7vw, 2rem);}
.blog-art-cta-btn{width: 100%; justify-content: center;}
.blog-related-sec{padding: 3rem 1.6rem;}
.blog-related-grid{grid-template-columns: 1fr;}
.blog-related-card{border-right: none; border-bottom: 1px solid var(--line);}
.blog-related-card:last-child{border-bottom: none;}
.nos-hero{padding: calc(var(--nav-h) + 1.5rem) 1.6rem 2rem;}
.nos-hero-grid{grid-template-columns: 1fr; gap: 2rem;}
.nos-hero-h{font-size: clamp(3rem, 12vw, 4.5rem);}
.nos-valores-sec{padding: 2rem 1.6rem;}
.nos-valores-grid{grid-template-columns: 1fr;}
.nos-valor{border-right: none; padding: 0 0 2.5rem; border-bottom: 1px solid var(--line);}
.nos-valor:last-child{border-bottom: none; padding-bottom: 0;}
.nos-valor:not(:first-child){padding-left: 0;}
.hero .btn-g{background: transparent;
 color: #fff;
 border-color: rgba(255, 255, 255, 0.85);}
.hero .btn-g:hover, .hero .btn-g:active{background: #fff;
 color: #1a1a1a;
 border-color: #fff;}
.modalidades-grid:has(.modalidad-card){grid-template-columns: 1fr;
 gap: 2.5rem;}
.itin-item{grid-template-columns: 1fr;
 gap: 0.8rem;
 padding: 1.6rem 0;}
.itin-num{min-width: auto;
 font-size: 2rem;}
.itin-body{padding-top: 0;}
.modalidades-sec#regions .modalidades-grid{grid-template-columns: 1fr;
 gap: 2.5rem;}
/* Quitar el filter oscuro de las imágenes en mobile */
 .parada-img img{filter: brightness(1) saturate(1) !important;}
/* Quitar el overlay oscuro (gradient negro) - no se necesita en mobile */
 .parada-img::after{display: none !important;}
/* El número decorativo grande que estaba sobre la imagen: ajustar */
 .parada-img-num{color: rgba(255, 255, 255, 0.85) !important;
 font-size: 2.5rem !important;
 -webkit-text-stroke: 0 !important;
 text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
 bottom: 0.8rem !important;
 left: 1rem !important;}
/* Badge de altitud: asegurar buena visibilidad */
 .parada-alt-badge{background: rgba(0, 0, 0, 0.7) !important;
 backdrop-filter: blur(8px);}
.hero-proof{width: 100%;
 margin-top: 1.2rem;
 padding: 6px 4px;
 justify-content: center;
 gap: 14px;
 flex-wrap: wrap;
 color: #F0EDE8;}
.hero-proof:hover{opacity: 1;}
/* sin hover en mobile */
 .hero-proof-award{color: #F0EDE8;
 font-size: 12px;
 letter-spacing: 0.05em;
 gap: 9px;}
.hero-proof-stars svg, .hero-proof-award svg{width: 18px; height: 18px; fill: #AC3749;}
.hero-proof-divider{display: none;}
.hero-proof-award-years{color: #AC3749;}
.hero-luj-img img, .hero-am-img img, .hero-4x4-img img, .hero-bod-img img, .hero-bl-img img, .hero-ck-img img, .ct-hero-bg img, .corp-hero-img img, .desp-hero-img img{animation: none !important;}
.hero-left{gap: 1.2rem;}
.hero-left{align-items: center !important;
 text-align: center !important;
 padding-left: 1.5rem !important;
 padding-right: 1.5rem !important;}
.hero-left > .hero-kicker, .hero-left > .hero-h1, .hero-left > .hero-sub, .hero-left > .hero-stats, .hero-left > .hero-includes, .hero-left > .hero-ctas, .hero-left > .hero-rule, .hero-left > .hero-trust{text-align: center !important;
 align-self: center !important;
 margin-left: auto !important;
 margin-right: auto !important;
 width: 100% !important;
 max-width: 100% !important;
 justify-content: center !important;}
/* La línea separadora centrada */
 .hero-left > .hero-rule{margin-left: auto !important;
 margin-right: auto !important;
 width: 60px !important;}
/* Stats: distribuidos al centro */
 .hero-left > .hero-stats{display: flex !important;
 justify-content: center !important;
 align-items: center !important;
 flex-wrap: wrap !important;
 gap: 1rem !important;}
/* Chips: centrados con wrap */
 .hero-left > .hero-includes{display: flex !important;
 flex-wrap: wrap !important;
 justify-content: center !important;
 gap: .6rem !important;}
/* CTAs: centrados, columna en mobile chico, row en mobile grande */
 .hero-left > .hero-ctas{display: flex !important;
 flex-direction: column !important;
 align-items: stretch !important;
 width: 100% !important;
 gap: .8rem !important;}
.hero-left > .hero-ctas > a{width: 100% !important;
 justify-content: center !important;}
/* Trust centrado */
 .hero-left > .hero-trust{display: flex !important;
 flex-wrap: wrap !important;
 justify-content: center !important;
 align-items: center !important;
 gap: 1rem !important;}
.hero-t-left{padding: 3rem 1.5rem 2.5rem;
 align-items: center;
 text-align: center;
 gap: 1.4rem;}
.hero-t-kicker{justify-content: center;}
.hero-t-h1{font-size: clamp(2rem, 8vw, 2.6rem);}
.hero-t-sub{max-width: 100%;
 font-size: 0.95rem;}
.hero-t-meta{justify-content: center;
 gap: 22px;
 max-width: 100%;
 flex-wrap: wrap;}
.hero-t-meta-item{align-items: center;
 text-align: center;}
.hero-t-ctas{width: 100%;
 flex-direction: column;
 align-items: stretch;
 gap: 10px;}
.hero-t-cta-wa, .hero-t-cta-mail{width: 100%;
 justify-content: center;}
.hero-t-right{min-height: 260px;
 max-height: 300px;}
.hero-luj-content, .hero-am-content, .ct-hero-content, .hero-4x4-content, .hero-ck-content, .hero-bl-content, .corp-hero-content, .desp-hero-content{justify-content: center !important;}
.hero-see-more{display: block;
 text-align: center;
 margin-top: 1rem;}
/* El contenido respeta el espacio de la navbar arriba y safe-area abajo.
 Como la navbar es transparente, la imagen sigue por debajo de ella —
 pero el texto NO queda tapado. */
 .hero-left{padding-top: calc(var(--nav-h, 64px) + 0.5rem) !important;
 padding-bottom: max(1.25rem, env(safe-area-inset-bottom)) !important;
 padding-left: 1.5rem !important;
 padding-right: 1.5rem !important;
 /* justify-content: center ya está aplicado por la regla previa;
 el contenido queda centrado verticalmente en el área disponible */}
}
@media (max-width: 768px) and (pointer: coarse) {
.hero-left{position: relative;
 z-index: 2;
 background: transparent;
 display: flex;
 flex-direction: column;
 justify-content: center;
 height: 100svh;
 padding: max(4.5rem, calc(env(safe-area-inset-top) + 3.5rem)) 1.6rem max(2rem, calc(env(safe-area-inset-bottom) + 1.5rem));}
.hero-left::before{display: none;}
/* Textos blancos sobre imagen */
 .hero-h1{color: #F0EDE8;
 font-size: clamp(2.4rem, 8.5vw, 3.4rem);
 line-height: 1.15;
 margin-bottom: 1.2rem;}
.hero-h1 em{color: #AC3749;}
/* Botones apilados full width */

 /* Badges  — en flujo normal, centrados debajo de los botones */

 /* Scroll indicator y notif */
 .h-scroll{display: none;}
.h-notif{display: none !important;}
/* WhatsApp y AI fab */
 .ai-fab{display: flex;
 align-items: center;
 justify-content: center;
 position: fixed;
 bottom: calc(max(1.2rem, calc(env(safe-area-inset-bottom) + .8rem)) + 60px);
 right: 1.2rem;
 width: 52px;
 height: 52px;
 border-radius: 50%;
 background: var(--wine);
 color: #fff;
 font-size: 1rem;
 font-weight: 600;
 font-style: italic;
 letter-spacing: .06em;
 z-index: 800;
 box-shadow: 0 4px 20px rgba(107,29,42,.45);
 border: none;
 cursor: pointer;
 transition: transform .3s var(--ease), box-shadow .3s;}
.exp-intro{padding: 2.5rem 1.6rem 1.5rem;}
.exp-intro-kicker{font-size: .44rem;}
.exp-intro-headline{font-size: clamp(1.8rem, 7vw, 2.4rem);}
.exp-intro-sub{font-size: .85rem;}
descripción y stats van SOBRE la imagen
 con un degradado oscuro. Las cards de tours quedan abajo.
 Esquinas RECTAS (sin border-radius). Imagen full-bleed.
 ═══════════════════════════════════════════════════════════════ */
 .exp-block{display: flex;
 flex-direction: column;
 min-height: auto;
 position: relative;
 border-radius: 0;}
.exp-block.exp-reverse{direction: ltr; flex-direction: column;}
/* Imagen del bloque: tall{order: 0;
 position: relative;
 width: 100%;
 margin: 0;
 padding: 0;
 height: auto;
 aspect-ratio: 4/5;
 max-height: 580px;
 min-height: 380px;
 border-radius: 0;
 overflow: hidden;}
/* Sin animación de zoom al hover/touch en mobile */
 .exp-block:hover .exp-img img, .exp-block:active .exp-img img, .exp-block:focus .exp-img img{transform: none !important;
 transition: none !important;}
/* Degradado oscuro sobre la imagen para legibilidad del texto */
 .exp-img::after{content: '';
 position: absolute;
 inset: 0;
 background: linear-gradient(180deg,
 rgba(15, 8, 12, 0) 0%,
 rgba(15, 8, 12, .35) 45%,
 rgba(15, 8, 12, .92) 100%);
 pointer-events: none;
 z-index: 2;}
etc) sobre la imagen */
 .exp-num{z-index: 3;
 color: rgba(255, 255, 255, .55);}
/* CONTENIDO DE TEXTO sobre la imagen
 Movemos kicker + título + descripción + stats al pie de la imagen */
 .exp-body{order: 1;
 padding: 0;
 --exp-pad: 1.6rem;
 background: transparent;
 /* Sin display flex aquí — los hijos se posicionan sobre la imagen y debajo */}
.exp-body::before, .exp-body::after{display: none;}
/* Crear un "panel overlay" que contiene kicker + título + descripción + stats
 sobre la parte inferior de la imagen.
 Usamos margin-top negativo para superponer sobre la imagen. */
 .exp-body > .exp-cat, .exp-body > .exp-h, .exp-body > .exp-hr, .exp-body > .exp-p, .exp-body > .exp-meta{position: relative;
 z-index: 3;
 color: #fff;
 margin-left: 0;
 margin-right: 0;
 padding-left: 1.4rem;
 padding-right: 1.4rem;}
/* El primer elemento (kicker) sube y se superpone sobre la imagen */
 .exp-body > .exp-cat{/* El bloque overlay arranca desde aquí: subir todo el contenido sobre la imagen */;
 margin-top: -260px;
 color: var(--gold);
 font-size: .42rem;
 letter-spacing: .38em;
 margin-bottom: .55rem;
 padding-top: 0;}
.exp-body > .exp-cat::before{background: var(--gold);
 width: 18px;}
.exp-body > .exp-h{font-size: clamp(1.65rem, 6.5vw, 2rem);
 line-height: 1.05;
 color: #fff;
 margin-bottom: .6rem;}
.exp-body > .exp-h em{color: #fff;
 font-style: italic;
 font-weight: 700;}
/* Línea wine→gold mantiene el sello premium */
 .exp-body > .exp-hr{width: 36px;
 height: 2px;
 background: linear-gradient(90deg, var(--wine), var(--gold));
 margin: .2rem 0 .9rem;
 margin-left: 1.4rem;
 margin-right: 1.4rem;
 padding: 0;}
.exp-body > .exp-p{font-size: .82rem;
 color: rgba(255, 255, 255, .85);
 line-height: 1.5;
 margin-bottom: 1rem;}
/* Stats (Full day · Privado · 3) abajo del párrafo, separados por un border-top blanco */
 .exp-body > .exp-meta{margin: 0;
 padding: .9rem 1.4rem 1.2rem;
 border-top: 1px solid rgba(255, 255, 255, .15);
 border-bottom: 0;
 gap: 1.2rem;}
.exp-meta-val{color: #fff;
 font-size: .92rem;}
.exp-meta-lbl{color: rgba(255, 255, 255, .55);
 font-size: .58rem;}
/* Cards de tours debajo de la imagen — fondo blanco, sin border-radius */
 .exp-body > .exp-tours{margin-top: 0;
 margin-left: 0;
 margin-right: 0;
 background: var(--bg);
 border-radius: 0;}
html[data-theme="dark"] .exp-body > .exp-tours{background: var(--bg);}
.exp-h{font-size: clamp(1.6rem, 6vw, 2.2rem);}
.exp-p{font-size: .84rem;}
.exp-tour-desc{display: none;}
.exp-tour-name{font-size: .92rem;
 line-height: 1.25;
 /* Permitir wrap pero forzar ancho mínimo controlado */
 word-break: keep-all;
 overflow-wrap: break-word;}
.exp-cat{font-size: .42rem; letter-spacing: .38em;}
/* Mobile: ocultar el tag superior — el nombre del tour ya dice todo y evita
 desalineación visual cuando algunos tags ocupan 1 línea y otros 2 */
 .exp-tour-tag{display: none;}
.exp-tour{gap: 1rem;
 align-items: center;
 /* Min-height para que los rows tengan altura uniforme aunque el título sea de 1 o 2 líneas */
 min-height: 60px;}
.exp-tour-info{/* Centrar el contenido del info verticalmente */
 justify-content: center;}
.exp-tour-num{width: 2.6rem; font-size: 1.6rem;}
.exp-tour-arr{width: 36px; height: 36px; font-size: .9rem;}
/* ── Fleet ── */
 .fleet-sec{display: flex; flex-direction: column; min-height: auto;}
.fleet-visual{order: 1; min-height: 180px;}
.fleet-inner{order: 0; padding: 2rem 1.6rem 0;}
.fleet-inner::before{display: none;}
.fleet-hdr{margin-bottom: 1.5rem;}
.fleet-strip{display: grid;
 grid-template-columns: 1fr 1fr;}
.fc-left{flex-direction: column; align-items: flex-start; gap: .1rem;}
.fc-tag{font-size: .35rem;}
.fc-right{gap: 1rem; margin-top: .4rem;}
.fc-specs{gap: .8rem;}
.fc-val{font-size: .9rem;}
.fc-lbl{font-size: .32rem;}
.fc-arrow{display: none;}
/* ── About ── */
 .about-sec{grid-template-columns: 1fr; padding: 2.5rem 1.6rem; gap: 2.5rem;}
.about-right{padding-left: 0; gap: 1.5rem;}
.a-title{font-size: clamp(1.6rem, 6vw, 2.2rem);}
.a-p{font-size: .88rem;}
.about-pillar-desc{font-size: .84rem;}
/* ── Differentials ── */
 .diff-sec{display: flex; flex-direction: column;}
.diff-left{padding: 2.5rem 1.6rem 2rem;}
.diff-left .sec-h{font-size: clamp(1.8rem, 7vw, 2.5rem);}
.diff-left-p{font-size: .84rem; max-width: 100%;}
.diff-right{display: none;}
.diff-mobile-list{display: flex;
 flex-direction: column;
 background: var(--bg);
 padding: 0 1.6rem 1.5rem;}
.diff-mobile-item{display: flex;
 align-items: center;
 gap: 1rem;
 padding: 1rem 0;
 border-bottom: 1px solid var(--line);}
.diff-mobile-item:last-child{border-bottom: none;}
.diff-mobile-icon{font-size: 1.2rem; flex-shrink: 0;}
.diff-mobile-text{flex: 1;}
.diff-mobile-title{font-size: .68rem;
 font-weight: 700;
 color: var(--wine);
 letter-spacing: .1em;
 text-transform: uppercase;
 margin-bottom: .2rem;}
.diff-mobile-desc{font-size: .8rem; color: var(--text-soft); line-height: 1.5;}
.diff-mobile-arrow{display: none;}
/* ── Reviews — scroll horizontal ── */
 .reviews-sec{padding: 2rem 0 1.5rem;}
.reviews-top{padding: 0 1.6rem;}
.reviews-grid{display: flex;
 overflow-x: auto;
 overflow-y: hidden;
 scroll-snap-type: x mandatory;
 -webkit-overflow-scrolling: touch;
 overscroll-behavior-x: contain;
 gap: 1rem;
 padding: 1rem 1.6rem;
 scrollbar-width: none;
 /* permite scroll horizontal del slider Y scroll vertical de la página */
 touch-action: pan-x pan-y;}
.reviews-grid::-webkit-scrollbar{display: none;}
.review-card{scroll-snap-align: start;
 flex: 0 0 84vw;
 max-width: 320px;
 min-width: 0;
 /* permite tanto scroll horizontal del slider como vertical de la página */
 touch-action: pan-x pan-y;}
/* Mobile: sin zoom en cards de reviews al tocar/hover */
 .review-card:hover, .review-card:active, .review-card:focus{transform: none !important;
 border-color: var(--line) !important;}
.review-text{font-size: .82rem;}
/* ── FAQ ── */
 .faq-sec{grid-template-columns: 1fr; gap: 1.5rem; padding: 2.5rem 1.6rem;}
.faq-q-txt{font-size: .84rem;}
.faq-ai{font-size: .82rem;}
/* ── CTA ── */

 /* ── Footer mobile ── */
 footer{padding: 0;}
}
@media (max-width: 768px) and (pointer: coarse) que abrió en L2088 */

/* ════════════════════
 Tablets — iPad / iPad Pro
 768px–1024px touch → layout desktop
════════════════════ */
@media (min-width: 768px) and (max-width: 1024px) and (pointer: coarse) {
.hero-left{display: flex;
 flex-direction: column;
 justify-content: center;
 padding: 3rem 2.5rem;
 background: var(--bg);
 height: auto;}
.hero-h1{color: var(--ink); font-size: clamp(2rem, 4vw, 3rem);}
.hero-h1 em{color: var(--wine);}
/* Tours */
 .exp-block{grid-template-columns: 1fr 1fr; min-height: 480px;}
.exp-block.exp-reverse{direction: rtl;}
.exp-block.exp-reverse > *{direction: ltr;}
.exp-img{height: 100%; max-height: none; aspect-ratio: unset;}
.exp-body{padding: 2.5rem; display: flex; flex-direction: column; justify-content: center; --exp-pad: 2.5rem;}
.exp-h{font-size: clamp(1.6rem, 3vw, 2.2rem);}
.exp-tour-desc{display: block;}
/* Fleet */
 .fleet-sec{grid-template-columns: 1fr 1fr; min-height: auto;}
.fleet-inner{order: 0; padding: 3rem 2.5rem;}
.fleet-visual{order: 1; min-height: 320px;}
.fleet-strip{display: flex; flex-direction: column;}
.fc-left{flex-direction: column; align-items: flex-start;}
.fc-arrow{display: flex;}
/* About */
 .about-sec{grid-template-columns: 1fr 1fr; gap: 3rem; padding: 3rem 2.5rem;}
.about-left{padding-right: 0;}
.about-right{padding-left: 0;}
/* Differentials */
 .diff-sec{grid-template-columns: 1fr 1fr;}
.diff-right{display: grid;}
.diff-mobile-list{display: none;}
/* Reviews */
 .reviews-grid{display: grid; grid-template-columns: 1fr 1fr; overflow-x: visible;}
.review-card{flex: none; max-width: none;}
/* FAQ */
 .faq-sec{grid-template-columns: 1fr 1.6fr;}
/* Footer */
 .footer-grid{display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr;}
.h-notif{display: flex;}
}
@media (max-width: 480px) and (pointer: coarse) {
.hero-h1{font-size: clamp(2rem, 9vw, 2.8rem);}
.exp-intro-headline{font-size: clamp(1.7rem, 7vw, 2.2rem);}
.review-card{flex: 0 0 88vw;}
}
@media (max-width: 375px) and (pointer: coarse) {
.hero-h1{font-size: clamp(1.8rem, 9vw, 2.4rem);}
}
@media (max-height: 500px) and (orientation: landscape) and (pointer: coarse) {
.hero-h1{font-size: clamp(1.4rem, 4vw, 2rem);}
}
@media (min-width: 1600px) {
.hero-h1{font-size: 5.5rem;}
}
@media(hover:hover) {
.paso:hover .paso-img img{transform: scale(1.06); filter: brightness(.95);}
.btn-modal-gold:hover{background: var(--wine-dk); transform: translateY(-2px);}
.btn-modal-outline:hover{border-color: rgba(255,255,255,.35); color: rgba(240,237,232,.85); transform: translateY(-2px);}
.otro-card:hover{background: var(--bg-alt);}
.otro-card:hover::after{transform: scaleX(1);}
.otro-card:hover .otro-media img, .otro-card:hover .otro-media-sm img{transform: scale(1.05);}
.otro-card:hover .otro-link{gap: .7rem;}
.parada:hover .parada-img img{transform: scale(1.07); filter: brightness(.8) saturate(.85);}
.exp-stat-card:hover{transform: translateX(6px);
 box-shadow: -4px 0 0 var(--accent);}
.otro-card:hover{background: var(--bg-alt);}
.otro-card:hover::after{transform: scaleX(1);}
.otro-card:hover .otro-media img, .otro-card:hover .otro-media-sm img{transform: scale(1.05);}
.rbod-link:hover{gap: 1rem; border-color: var(--accent);}
.bl-tl-item:hover{background: var(--bg);}
.bl-var-card:hover{background: rgba(172, 55, 73,.04);}
.corp-srv-card:hover{background: var(--bg-alt);}
.corp-flota-card:hover{background: var(--bg);}
.ev-lista-item:hover{background: var(--bg-alt);}
.ev-proceso-item:hover{background: var(--bg-alt);}
.blog-card:hover{background: var(--bg-alt);}
.blog-related-card:hover{background: var(--bg);}
html .modal-card.gold-card .btn-modal-gold:hover{background: #AC3749 !important;
 color: #6B1D2A !important;
 border-color: #AC3749 !important;}
}
@media(min-width: 961px) {
.itin-timeline{display: block;}
}
@media(max-width: 1200px) {
.hero-luj-content{padding: 9rem 3.5rem 5rem 5rem;}
.hero-luj-stats{right: 3.5rem;}
.intro-band-left, .intro-band-right{padding: 3.5rem;}
.itinerario-hdr{gap: 3rem; padding: 4rem 4vw 3rem;}
.itinerario-desc{padding-left: 2.5rem;}
.paso-body{padding: 1.6rem 1.8rem 2rem;}
.modalidades-hdr{padding: 4.5rem 3.5rem 3.5rem; gap: 3rem;}
.modal-card{padding: 3.5rem;}
.modal-card::before{left: 3.5rem; right: 3.5rem;}
.mapa-text{padding: 4rem 3.5rem;}
.otros-sec{padding: 4rem 3.5rem;}
}
@media(max-width: 960px) {
.hero-luj{grid-template-columns: 1fr;}
.hero-luj-content{padding: 0 2rem; padding-top: max(5rem, calc(env(safe-area-inset-top) + 4rem)); padding-bottom: max(3rem, calc(env(safe-area-inset-bottom) + 2rem)); justify-content: center; text-align: center;}
.hero-luj-eyebrow{justify-content: center;}
.hero-luj-eyebrow::before{display: none;}
.hero-luj-rule{margin: 0 auto 1.6rem;}
.hero-luj-sub{margin: 0 auto 2.8rem;}
.hero-luj-stats{position: static; flex-direction: row; flex-wrap: wrap; gap: 1.5rem; margin-top: 2.5rem; align-items: flex-start; justify-content: center;}
.hero-luj-stat{align-items: center;}
.hero-luj-btns{flex-direction: column; gap: .8rem; width: 100%;}
.intro-band-inner{grid-template-columns: 1fr;}
.intro-band-left{padding: 3rem 2rem; border-right: none; border-bottom: 1px solid var(--line); text-align: center;}
.intro-band-right{padding: 2.5rem 2rem 3rem; text-align: center;}
.itinerario-hdr{grid-template-columns: 1fr; gap: 1.5rem; padding: 3rem 2rem 2.5rem;}
.itinerario-desc{padding-left: 0; border-left: none; border-top: 1px solid rgba(172, 55, 73,.15); padding-top: 1.5rem;}
.paso-body{padding: 1.4rem 1.6rem 1.8rem;}
.paso-num-small, .paso-h, .paso-rule, .paso-p, .paso-tag{opacity: 1; transform: none;}
.paso-img{aspect-ratio: 3/4;}
.modalidades-hdr{grid-template-columns: 1fr; gap: 1.5rem; padding: 3.5rem 2rem 2.5rem;}
.modalidades-grid{grid-template-columns: 1fr;}
.modal-card{border-right: none; border-bottom: 1px solid rgba(255,255,255,.07); padding: 3rem 2rem;}
.modal-card:last-child{border-bottom: none;}
.modal-card::before{left: 2rem; right: 2rem;}
.modal-cta-row{flex-direction: column; align-items: flex-start;}
.btn-modal-gold, .btn-modal-outline{width: 100%; justify-content: center;}
.mapa-sec{grid-template-columns: 1fr;}
.mapa-text{padding: 3rem 2rem; border-left: none; border-top: 1px solid var(--line);}
.otros-hdr{flex-direction: column; align-items: flex-start;}
}
@media(max-width: 640px) {
.hero-luj-content{padding: 0 1.4rem; padding-top: max(4.5rem, calc(env(safe-area-inset-top) + 3.5rem)); padding-bottom: max(3rem, calc(env(safe-area-inset-bottom) + 2rem));}
.intro-band-left{padding: 2.5rem 1.4rem;}
.intro-band-right{padding: 2rem 1.4rem 2.5rem;}
.paso-img{aspect-ratio: 16/9;}
.paso-body{padding: 1.2rem 1.4rem 1.6rem;}
.modalidades-hdr{padding: 3rem 1.4rem 2rem;}
.modal-card{padding: 2.5rem 1.4rem;}
.modal-card::before{left: 1.4rem; right: 1.4rem;}
.mapa-text{padding: 2.5rem 1.4rem;}
}
@media(hover:hover){
.parada:hover .parada-img-num{color: rgba(172, 55, 73,.1);}
.di-am:hover{background: var(--bg-alt);}
.di-am:hover::before{transform: scaleX(1);}
.otro-card:hover .otro-link{gap: .8rem;}
}
@media (max-width: 960px) {
.hero-am-content{padding: 80px 2rem 2.5rem; max-width: 100%; justify-content: center; text-align: center;}
.hero-am-eyebrow{justify-content: center;}
.hero-am-eyebrow::before{display: none;}
.hero-am-rule{margin: 0 auto 1.6rem;}
.hero-am-sub{margin: 0 auto 2rem;}
.hero-am-btns{flex-direction: column; width: 100%;}
.hero-am-stats{justify-content: center; flex-wrap: wrap; gap: 1.5rem;}
.hero-am-altbar{display: none;}
.hero-am-sub{font-size: .82rem; max-width: 100%;}
.hero-am-btns{flex-direction: column; width: 100%; gap: .7rem;}
.hero-am-stats{gap: 1.4rem; flex-wrap: wrap;}
.intro-am-inner{grid-template-columns: 1fr;}
.intro-am-left{border-right: none; border-bottom: 1px solid var(--line); padding: 3rem 2rem;}
.intro-am-left::before{display: none;}
.intro-am-right{padding: 3rem 2rem;}
.paradas-hdr{grid-template-columns: 1fr; padding: 3.5rem 2rem 2.5rem;}
.paradas-desc{padding-left: 0; border-left: none; margin-top: 1.5rem;}
.paradas-grid{grid-template-columns: repeat(2,1fr);}
.ptl-item:nth-child(2){border-right: none;}
.ptl-item:nth-child(3), .ptl-item:nth-child(4){border-top: 1px solid rgba(172, 55, 73,.08);}
.experiencia-sec{padding: 4rem 2rem;}
.experiencia-sec::before{display: none;}
.experiencia-inner{grid-template-columns: 1fr; gap: 3rem;}
.modalidades-am{padding: 4rem 0;}
.modalidades-am-inner{padding: 0 2rem;}
.modalidades-am-hdr{grid-template-columns: 1fr; gap: 2rem;}
.modalidades-am-sub{padding-left: 0; border-left: none;}
.modal-am-single{grid-template-columns: 1fr;}
.modal-am-single::before{grid-column: 1;}
.modal-am-single-left{border-right: none; border-bottom: 1px solid rgba(172, 55, 73,.12); padding: 2.4rem 2rem;}
.modal-am-single-right{padding: 2.4rem 2rem;}
.diferencial-sec{padding: 4rem 2rem;}
.diferencial-grid{grid-template-columns: 1fr 1fr;}
.di-am:nth-child(2){border-right: none;}
.di-am:nth-child(3){border-right: 1px solid var(--line); border-top: 1px solid var(--line);}
.di-am:nth-child(4){border-right: none;}
.di-am:nth-child(5), .di-am:nth-child(6){border-top: 1px solid var(--line);}
.di-am:nth-child(5){border-right: 1px solid var(--line);}
.di-am:nth-child(6){border-right: none;}
.otros-sec{padding: 3.5rem 2rem;}
.otro-card.featured{grid-column: span 2;}
.otro-media{height: 260px;}
.hero-4x4-content{padding: 0 2rem; padding-top: max(5rem,calc(env(safe-area-inset-top)+4rem)); padding-bottom: max(3rem,calc(env(safe-area-inset-bottom)+2rem)); max-width: 100%; justify-content: center; text-align: center;}
.hero-4x4-eyebrow{justify-content: center;}
.hero-4x4-eyebrow::before{display: none;}
.hero-4x4-rule{margin: 0 auto 1.6rem;}
.hero-4x4-sub{margin: 0 auto 2rem;}
.hero-4x4-sub-line{font-size: .9rem; text-align: center;}
.hero-4x4-btns{flex-direction: column; width: 100%;}
.hero-4x4-stats{position: static; flex-direction: row; flex-wrap: wrap; gap: 1.5rem; margin-top: 2rem; justify-content: center; animation: fadeUp .7s var(--ease) 1.3s both;}
/* compensate inner padding for full width */

 
 
 .otro-card:nth-child(2){border-right: none;}
.otro-card:nth-child(3), .otro-card:nth-child(4){border-top: 1px solid var(--line);}
/* WA float — misma posición que lujandecuyo */
 .wa-btn{bottom: max(1.2rem, calc(env(safe-area-inset-bottom) + .8rem)); right: 1.2rem; width: 50px; height: 50px;}
.bodegas-grid{grid-template-columns: repeat(2, 1fr) !important;
 gap: 3rem 2rem !important;}
.blog-grid{grid-template-columns: repeat(2, 1fr) !important;
 gap: 3rem 2rem !important;}
.blog-card:nth-child(3n){border-right: 1px solid rgba(0, 0, 0, 0.1) !important;}
.blog-card:nth-child(2n){border-right: 1px solid rgba(0, 0, 0, 0.1) !important;}
.hero-luj-content, .ct-hero-content, .corp-hero-content, .desp-hero-content, .hero-4x4-content, .hero-am-content, .hero-bl-content, .hero-ck-content{text-align: center !important;
 align-items: center !important;}
.hero-luj-h1, .ct-hero-h1, .corp-hero-h1, .desp-hero-h1, .hero-4x4-h1, .hero-am-h1, .hero-bl-h1, .hero-ck-h1, .blog-art-h1, .hero-h1{text-align: center !important;
 margin-left: auto !important;
 margin-right: auto !important;
 padding-left: 0 !important;
 padding-right: 0 !important;}
.hero-luj-sub, .corp-hero-sub, .desp-hero-sub{text-align: center !important;
 margin-left: auto !important;
 margin-right: auto !important;}
.hero-luj-eyebrow{text-align: center !important;
 margin-left: auto !important;
 margin-right: auto !important;}
}
@media (max-width: 480px) {
.hero-am-eyebrow{display: none;}
.otros-grid{grid-template-columns: 1fr;}
.otro-card.featured{grid-column: span 1;}
.news-popup-box{padding: 2.25rem 1.5rem 1.75rem;}
.btn-w, .btn-g{text-align: center; width: 100%;}
.ev-portada-word{letter-spacing: -.08em;}
.ct-hero-content{padding: 0 1rem;}
.ct-hero-h1{letter-spacing: -.022em;}
.b-body{padding: 1.3rem 1.2rem 1.2rem !important;}
.b-meta{gap: 0.3rem !important;
 margin-top: 1rem !important;
 padding-top: 1rem !important;}
.b-meta-lbl{font-size: 0.58rem !important;}
.b-meta-val{font-size: 0.78rem !important;}
}
@media (max-width: 960px) and (orientation: landscape) {
.hero-am-h1{font-size: clamp(2.6rem, 9vw, 4rem);}
.hero-am-sub{display: none;}
}
@media (max-width: 640px) {
.hero-4x4-content{padding: 60px 1.4rem 2rem;}
.hero-4x4-h1{font-size: clamp(2.6rem, 9vw, 4rem);}
.hero-4x4-sub{font-size: .78rem; max-width: 100%;}
.hero-4x4-btns{flex-direction: column; gap: .7rem; width: 100%;}
.hero-4x4-stats{gap: 1rem;}
.hero-4x4-stat-n{font-size: 1.2rem;}
.cta-global{padding: 3rem 1.4rem;}
html .cta-global::before{width: 48px;}
.cta-global-inner{gap: 1.4rem;}
html .cta-global-h{font-size: clamp(1.5rem, 5.5vw, 2rem) !important;
 line-height: 1.15 !important;
 max-width: 100%;}
html .cta-global-sub{font-size: 0.98rem !important;
 max-width: 90%;}
.cta-global-btns{flex-direction: column;
 width: 100%;
 gap: 0.7rem;
 margin-top: 1rem;}
.cta-global-btn-primary, .cta-global-btn-secondary{width: 100%;
 padding: 1.15rem 1.5rem;}
.cta-global-trust{flex-direction: column;
 gap: 0.5rem;
 margin-top: 2.2rem;
 padding-top: 1.6rem;}
.cta-global-trust-sep{display: none;}
.blog-related-tour{flex-direction: column;
 align-items: flex-start;
 gap: 1rem;
 padding: 1.25rem;}
.blog-related-tour-arrow{width: 100%;
 justify-content: flex-end;}
}
@media (hover: none) and (pointer: coarse) {
.b-img-ovl{backdrop-filter: none !important;
 -webkit-backdrop-filter: none !important;}
.b-img-ovl{backdrop-filter: none !important;
 -webkit-backdrop-filter: none !important;}
.hero-cta-wa, .hero-cta-wa:hover, .hero-cta-wa:active, .hero-cta-mail, .hero-cta-mail:hover, .hero-cta-mail:active, .hero-chip, .hero-chip:hover, .hero-chip:active{transform: none !important;}
.hero-cta-wa:hover{background-color: #25D366 !important;
 box-shadow: 0 4px 18px rgba(37,211,102,0.32) !important;}
.hero-cta-mail:hover{box-shadow: 0 4px 18px rgba(107,29,42,0.32) !important;}
}
@media (min-width: 1024px) and (max-width: 1440px) {
/* Hero luján/maipú/valle: reducir padding y font-size */
 .hero-luj-content{padding: 7rem 3.5rem 4rem 4rem !important;}
.hero-luj-h1{font-size: clamp(2rem, 3.5vw, 3.4rem) !important;
 line-height: 1.1 !important;}
.hero-luj-stats{right: 3.5rem !important;
 bottom: 2.5rem !important;}
/* Hero genérico (otras secciones): reducir font-size */
 .hero-h1, .region-h, .blog-hero-h, .blog-art-h1, .nos-hero-h, .corp-hero-h1, .desp-hero-h1, .hero-4x4-h1, .hero-am-h1, .hero-bl-h1, .hero-ck-h1, .ct-hero-h1{font-size: clamp(2rem, 4vw, 3.6rem) !important;
 line-height: 1.1 !important;}
/* Hero subtitle también ajustado */
 .hero-luj-sub{font-size: 0.95rem !important;
 max-width: 90% !important;}
}
@media (min-width: 1024px) and (max-width: 1440px) and (max-height: 800px) {
.hero-luj{min-height: 600px !important;}
.hero-luj-content{padding: 5.5rem 3rem 3rem 3.5rem !important;}
.hero-luj-h1{font-size: clamp(1.9rem, 3.2vw, 3rem) !important;}
.hero-luj-eyebrow{margin-bottom: 1.2rem !important;}
.hero-luj-rule{margin-bottom: 1.2rem !important;}
.hero-luj-sub{margin-bottom: 1.2rem !important;
 line-height: 1.7 !important;}
}
@media (min-width: 769px) and (max-width: 1280px) {
.hero-luj-h1, .ct-hero-h1, .corp-hero-h1, .desp-hero-h1, .hero-4x4-h1, .hero-am-h1, .hero-bl-h1, .hero-ck-h1, .blog-art-h1{font-size: clamp(2.4rem, 4.8vw, 4rem) !important;}
}
@media (max-width: 900px) {
.hero-proof{gap: 14px;
 margin-top: 22px;}
.hero-proof-award{font-size: 14px; letter-spacing: 0.05em; gap: 9px;}
.hero-proof-award-years{font-size: 19px;}
.hero-proof-stars svg, .hero-proof-award svg{width: 18px; height: 18px;}
.nos-historia-sec{padding: 2.5rem 1.5rem;}
.nos-historia-grid{grid-template-columns: 1fr; gap: 2rem;}
.nos-historia-hdr{margin-bottom: 1.8rem;}
}
@media (max-width: 420px) {
.hero-proof{gap: 12px;}
.hero-proof-award{font-size: 11.5px; gap: 8px;}
.hero-proof-stars svg, .hero-proof-award svg{width: 17px; height: 17px;}
}
@media (min-width: 1025px) {
.hero > .hero-left > .hero-h1{margin-left: -1.6rem;}
}
@media queries del hero rediseñado */

@media (max-width: 768px) {
/* Hero mobile: 100vh completo */
 .hero{display: block !important;
 position: relative;
 height: 100vh !important;
 height: 100svh !important;
 min-height: 100vh !important;
 min-height: 100svh !important;
 padding-top: 0 !important;
 overflow: hidden;}
/* hero-left sobre imagen, centrado */
 .hero-left{position: relative;
 z-index: 2;
 background: transparent !important;
 display: flex;
 flex-direction: column;
 justify-content: center !important;
 align-items: center !important;
 text-align: center !important;
 height: 100%;
 min-height: 100%;
 padding: 1.5rem !important;}
/* TEXTOS: base BLANCO, diferenciales DORADO SIEMPRE */
 .hero-kicker{color: var(--gold) !important;
 font-size: 0.85rem;
 margin-bottom: 1.1rem;
 justify-content: center;
 letter-spacing: 0.16em;}
.hero-kicker::before{background: var(--gold) !important;
 width: 22px;}
.hero .hero-h1{color: #fff !important;
 font-size: clamp(2.9rem, 12.5vw, 4.1rem);
 line-height: 1;
 margin-bottom: 1rem;
 text-align: center;}
.hero-h1-accent{color: var(--gold) !important;}
.hero-sub{color: #fff !important;
 font-size: 1.05rem;
 line-height: 1.5;
 max-width: 520px;
 text-align: center;
 margin: 0 auto 1.5rem;}
.hero-sub strong{color: #fff !important;}
.hero-sub strong.kw-accent{color: var(--gold) !important;
 font-weight: 700;}
.hero-stats{gap: 1.85rem;
 margin-bottom: 1.5rem;
 justify-content: center;}
.hero-stat{align-items: center;}
.hero-stat-num{color: var(--gold) !important;
 font-size: 2rem;}
.hero-stat-label{color: #fff !important;
 font-size: 0.74rem;
 opacity: 0.9;
 margin-top: 0.45rem;}
.hero-stat-divider{height: 40px;
 background: rgba(255,255,255,0.25);}
/* Chips ocultos en mobile */
 .hero-includes{display: none !important;}
.hero-ctas{flex-direction: column;
 gap: 0.55rem;
 margin-bottom: 1.25rem;
 width: 100%;
 max-width: 360px;
 align-items: stretch;}
.hero-cta-wa, .hero-cta-mail{width: 100%;
 justify-content: center;
 font-size: 1.02rem;
 padding: 0.95rem 1.5rem;}
.hero-rule{margin: 0 auto 0.7rem;
 background: #fff !important;}
.hero-trust{gap: 1rem;
 flex-direction: row;
 align-items: center;
 justify-content: center;
 flex-wrap: wrap;}
.hero-trust-block{align-items: center;}
.hero-trust-divider{height: 28px;
 background: rgba(255,255,255,0.25);}
.hero-trust-stars-svg svg{width: 17px; height: 17px;}
.hero-trust-stars{color: #fff !important;
 font-size: 1rem;}
.hero-trust-label{color: #fff !important;
 opacity: 0.9;
 font-size: 0.78rem;}
.hero-trust-award{color: #fff !important;
 font-size: 0.85rem;}
.hero-trust-award svg{fill: var(--gold) !important;
 width: 26px; height: 26px;}
.hero-trust-award-years{color: #fff !important;
 opacity: 0.9;
 font-size: 0.74rem;}
}
@media (max-width: 380px) {
.hero .hero-h1{font-size: 2.6rem !important;}
.hero-trust{gap: 0.7rem;}
.hero-stats{gap: 1.3rem;}
.hero-stat-num{font-size: 1.7rem;}
.hero-sub{font-size: 0.98rem;}
.hero-left{padding-top: calc(var(--nav-h, 64px) + 0.25rem) !important;
 padding-bottom: max(0.8rem, env(safe-area-inset-bottom)) !important;}
.hero-kicker{margin-bottom: 0.8rem !important; font-size: 0.78rem !important;}
.hero .hero-h1{margin-bottom: 0.7rem !important; line-height: 1 !important;}
.hero-sub{margin-bottom: 1rem !important; font-size: 0.92rem !important; line-height: 1.4 !important;}
.hero-stats{margin-bottom: 1rem !important; gap: 1.2rem !important;}
.hero-ctas{margin-bottom: 0.9rem !important; gap: 0.45rem !important;}
.hero-cta-wa, .hero-cta-mail{padding: 0.8rem 1.2rem !important; font-size: 0.95rem !important;}
.hero-rule{margin: 0 auto 0.5rem !important;}
}
@media (min-width: 769px) {
.hero-left{align-items: flex-start !important;}
.hero-left > .hero-kicker, .hero-left > .hero-h1, .hero-left > .hero-sub, .hero-left > .hero-stats, .hero-left > .hero-includes, .hero-left > .hero-ctas, .hero-left > .hero-rule, .hero-left > .hero-trust{padding-left: 0 !important;
 padding-right: 0 !important;
 margin-left: 0 !important;
 margin-right: 0 !important;
 text-align: left !important;
 align-self: flex-start !important;}
.hero-left > .hero-h1{padding-left: 0 !important;
 margin-left: 0 !important;
 text-indent: 0 !important;}
.hero-left > .hero-rule{margin-left: 0 !important;
 width: 60px !important;}
.hero-luj-h1, .ct-hero-h1, .corp-hero-h1, .desp-hero-h1, .hero-4x4-h1, .hero-am-h1, .hero-bl-h1, .hero-ck-h1{padding-left: 0 !important;
 padding-right: 0 !important;
 margin-left: 0 !important;
 text-indent: 0 !important;
 text-align: left !important;}
/* También el span accent no debe tener margen/padding */
 .hero-luj-h1 .hero-h1-accent, .ct-hero-h1 .hero-h1-accent, .corp-hero-h1 .hero-h1-accent, .desp-hero-h1 .hero-h1-accent, .hero-4x4-h1 .hero-h1-accent, .hero-am-h1 .hero-h1-accent, .hero-bl-h1 .hero-h1-accent, .hero-ck-h1 .hero-h1-accent{padding: 0 !important;
 margin: 0 !important;
 display: inline-block;}
/* Asegurar que todo el content del hero esté alineado a la izquierda */
 .hero-luj-content, .hero-am-content, .ct-hero-content, .hero-4x4-content, .hero-ck-content, .hero-bl-content, .corp-hero-content, .desp-hero-content{align-items: flex-start !important;
 text-align: left !important;}
/* Eyebrow, rule, sub, btns - todos sin margin-left */
 .hero-luj-content > *, .hero-am-content > *, .ct-hero-content > *, .hero-4x4-content > *, .hero-ck-content > *, .hero-bl-content > *, .corp-hero-content > *, .desp-hero-content > *{margin-left: 0 !important;
 padding-left: 0 !important;}
}
@media (max-width: 375px) {
.hero-left{padding-left: 1rem !important;
 padding-right: 1rem !important;
 gap: 1rem !important;}
.hero-left > .hero-kicker{font-size: .7rem !important;
 letter-spacing: .12em !important;}
.hero-left > .hero-h1{font-size: clamp(1.8rem, 9vw, 2.4rem) !important;
 line-height: 1.1 !important;}
.hero-left > .hero-sub{font-size: .9rem !important;
 line-height: 1.5 !important;}
.hero-left > .hero-stats{gap: .6rem !important;}
.hero-left .hero-stat-num{font-size: 1.6rem !important;}
.hero-left .hero-stat-label{font-size: .65rem !important;}
.hero-left > .hero-includes{gap: .4rem !important;}
.hero-left .hero-chip{font-size: .75rem !important;
 padding: .5rem .8rem !important;}
.hero-left .hero-cta-wa, .hero-left .hero-cta-mail{font-size: .9rem !important;
 padding: .9rem 1rem !important;}
.hero-t-left{padding: 2.5rem 1rem 2rem;}
.hero-t-h1{font-size: 1.85rem;}
.hero-t-meta{gap: 16px;}
.hero-t-meta-val{font-size: 13.5px;}
.hero-t-meta-lbl{font-size: 9.5px;}
}
@media (max-width: 320px) {
.hero-left{padding-left: .8rem !important;
 padding-right: .8rem !important;}
.hero-left > .hero-h1{font-size: 1.6rem !important;}
.hero-left .hero-stat-num{font-size: 1.4rem !important;}
.hero-t-h1{font-size: 1.6rem;}
.hero-t-meta{gap: 12px;}
}
@media (prefers-reduced-motion: reduce) {
.hero-t-cta-wa, .hero-t-cta-mail{transition: none;}
.sec-h.sr, .nos-hero-h.sr, .intro-band-h.sr, .blog-art-h1.sr{transition-duration: .01ms !important;
    transform: none !important;}
.sr .nos-hero-rule, .sr .nos-historia-rule, .sr .nos-valor-rule{transform: none !important;
    transition: none !important;}
}
@media (min-width: 1024px) {
.hero-h1{font-size: clamp(3.4rem, 6.6vw, 6.4rem); line-height: 1.02;}
.sec-h, .nos-hero-h, .nos-historia-hdr-h, .nos-valores-hdr-h, .intro-band-h{font-size: clamp(3rem, 5vw, 6rem);
    line-height: 1.04;}
.blog-art-h1{line-height: 1.06;}
.faq-sec, .reviews-sec, .nos-historia-sec, .nos-valores-sec, .reviews-bod-sec{padding-top: clamp(4rem, 7vw, 7.5rem);
    padding-bottom: clamp(4rem, 7vw, 7.5rem);}
.nos-historia-grid{gap: 4rem;}
}
@media (hover: hover) and (pointer: fine) {
.exp-tour, .nos-valor, .blog-card, .b-card{transition: transform .9s var(--ease-vwt);}
.exp-tour:hover, .nos-valor:hover, .blog-card:hover, .b-card:hover{transform: translateY(-4px);}
.btn-modal-gold, .hero-cta{transition: transform .9s var(--ease-vwt), background .9s ease, color .9s ease, border-color .9s ease;}
.btn-modal-gold:hover, .hero-cta:hover{transform: translateY(-2px);}
}