/* DCG · páginas interiores (Conoce DCG, Nuestros viajes, Agenda tu cita, Preguntas, Datos legales, Documentos legales,
   Aviso de privacidad, Créditos y 404). Las que reutilizan piezas de la portada cargan inicio.css antes que esta hoja
   (escenario, titular de dos tamaños, sello del RNT, abanico, pestañas, boleto); aquí van sus variantes y las piezas
   nuevas hechas con lo mismo: barras del logo, ruta de pasos, acordeón, visor de documentos, mini tira de destinos,
   barras del descuento y formulario de cita. Movimiento sin botón de pausa (assets/js/interiores.js). */

/* ---------- Títulos de sección (los de la portada) ---------- */

.seccion{position:relative;padding:clamp(72px,10vw,140px) var(--margen);overflow:clip}
.seccion__dentro{position:relative;max-width:var(--ancho);margin:0 auto}
.seccion-titulo{font:800 var(--t-titulo)/1 var(--letra);letter-spacing:-.015em;text-transform:uppercase;color:var(--marino);text-wrap:balance}
.seccion-entrada{max-width:44ch;margin-top:var(--e2);font-size:var(--t-entrada)}
.seccion--marino{background:var(--marino);color:var(--crema)}
.seccion--marino .seccion-titulo{color:var(--crema)}
.seccion--blanco{background:var(--blanco)}

/* ---------- Cabecera con foto (escenario corto, un solo fondo) ---------- */

.escenario--pagina{min-height:max(66vh,600px)}
.escenario--pagina .escenario__dentro{padding-bottom:clamp(36px,6vh,72px)}
.escenario--pagina .escenario__fondo img{transform:scale(1.03)}
/* El acercamiento lento de la portada, aquí de ida y vuelta (se detiene igual: .es-quieto). */
.escenario--pagina .escenario__fondo.es-activo img{animation:acerca-pagina 16s ease-in-out infinite alternate both}
@keyframes acerca-pagina{from{transform:scale(1.03)}to{transform:scale(1.13)}}
.escenario--pagina.es-quieto .escenario__fondo.es-activo img{animation-play-state:paused}
.escenario--pagina .estampa{margin-bottom:0}
.escenario--pagina .titular__grande{font-size:clamp(2.6rem,calc(var(--k,14.3) * 1cqi),var(--tope,7.6rem))}
.escenario__etiqueta{display:inline-flex;align-items:center;gap:10px;margin-top:22px;padding:9px 14px;border-radius:var(--r);background:rgb(13 30 59 / .72);color:var(--crema);font-weight:700;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}
.escenario__etiqueta::before{content:"";width:10px;height:10px;border-radius:50%;background:var(--cielo);box-shadow:0 0 0 4px rgb(55 181 255 / .3)}
@media (min-width:960px){
  .escenario--pagina .escenario__dentro{grid-template-columns:minmax(0,1fr) minmax(0,.62fr)}
  .escenario--pagina .estampa{top:clamp(110px,18vh,170px)}
}
@media (max-width:959px){
  .escenario--pagina{min-height:70svh}
}

/* ---------- Cabecera marina con titular de dos tamaños y las barras del logo detrás ---------- */

.pagina-cabeza{position:relative;padding:clamp(56px,8vw,112px) var(--margen) clamp(48px,6vw,88px);background:var(--marino);color:var(--crema);overflow:clip;isolation:isolate}
.pagina-cabeza::after{content:"";position:absolute;z-index:-1;right:-10vw;top:-20vw;width:44vw;aspect-ratio:1;border-radius:50%;background:radial-gradient(circle,rgb(55 181 255 / .3),transparent 65%);pointer-events:none}
.pagina-cabeza__dentro{position:relative;display:grid;gap:var(--e3);max-width:var(--ancho);margin:0 auto}
.pagina-cabeza__texto{position:relative;min-width:0;container-type:inline-size}
.pagina-cabeza .titular{text-shadow:none}
.pagina-cabeza .titular__grande{font-size:clamp(2.4rem,calc(var(--k,14.3) * 1cqi),var(--tope,7.6rem))}
.pagina-cabeza .estampa{justify-self:start;order:-1;background:rgb(13 30 59 / .5)}
.pagina-entrada{max-width:46ch;margin-top:var(--e2);font-size:var(--t-entrada);color:rgb(242 237 232 / .92)}
.pagina-cabeza .pagina-entrada{opacity:1}
.js .pagina-cabeza__texto > .pagina-entrada,.js .pagina-cabeza__texto > .pagina-nota,.js .pagina-cabeza__texto > .indice,.js .pagina-cabeza__texto > .pagina-acciones{opacity:0;transform:translateY(16px);transition:opacity .8s var(--suave) .35s,transform .9s var(--suave) .35s}
.listo .pagina-cabeza__texto > .pagina-entrada,.listo .pagina-cabeza__texto > .pagina-nota,.listo .pagina-cabeza__texto > .indice,.listo .pagina-cabeza__texto > .pagina-acciones{opacity:1;transform:none}
.pagina-nota{display:flex;gap:10px;max-width:52ch;margin-top:var(--e3);padding:12px 16px;border-left:5px solid var(--cielo);border-radius:0 var(--r) var(--r) 0;background:rgb(13 30 59 / .45);font-weight:500}
/* Las 4 barras del logo, crecientes, a la derecha; crecen una vez al cargar. En celular van tenues para no tapar el texto. */
.pagina-cabeza__barras{position:absolute;z-index:-1;right:var(--margen);bottom:0;display:flex;align-items:flex-end;gap:clamp(8px,1.2vw,18px);height:78%;pointer-events:none}
.pagina-cabeza__barras i{width:clamp(22px,3.6vw,58px);height:calc(34% + var(--n) * 22%);border-radius:8px 8px 0 0;background:linear-gradient(180deg,var(--cielo),rgb(55 181 255 / .2));opacity:.22;transform-origin:bottom}
.pagina-cabeza__barras i:nth-child(4){background:linear-gradient(180deg,var(--bugambilia),rgb(214 51 108 / .15))}
.js .pagina-cabeza__barras i{transform:scaleY(0);transition:transform 1.1s var(--rebote);transition-delay:calc(.25s + var(--n) * 110ms)}
.listo .pagina-cabeza__barras i{transform:none}
@media (min-width:960px){
  .pagina-cabeza__dentro{grid-template-columns:minmax(0,1fr) auto;align-items:end}
  .pagina-cabeza__texto{max-width:860px}
  .pagina-cabeza .estampa{order:0;align-self:start;justify-self:end;margin:0 calc(clamp(22px,3.6vw,58px) * 2) 0 0}
  .pagina-cabeza__barras i{opacity:.55}
}

/* Índice y anclas con forma de pestaña (las de la portada, aquí como enlaces). */
.indice{display:flex;flex-wrap:wrap;gap:10px;margin-top:var(--e4);padding:0;list-style:none}
.indice a{--color:var(--cielo);display:inline-flex;align-items:center;gap:10px;min-height:50px;padding:8px 16px;border:2px solid rgb(242 237 232 / .3);border-radius:var(--r);color:var(--crema);font-weight:800;font-size:.95rem;letter-spacing:.04em;text-transform:uppercase;text-decoration:none;
  transition:background-color .3s,border-color .3s,color .3s,transform .35s var(--rebote)}
.indice a::before{content:"";flex:none;width:12px;height:12px;border-radius:3px;background:var(--color);transition:transform .4s var(--rebote)}
.indice a:hover{background:var(--color);border-color:var(--color);color:var(--marino-noche);transform:translateY(-2px)}
.indice a:hover::before{background:var(--marino-noche);transform:rotate(45deg) scale(.9)}
.indice__2,.pestana--cruceros{--color:#FF7FA8}
.indice__3{--color:var(--estrella)}
.indice__4{--color:var(--cielo-claro)}
.indice__5{--color:var(--bugambilia)}
.indice a.pestana--familia{--color:var(--cielo)}
.indice a.pestana--cruceros{--color:#FF7FA8}
.indice a.pestana--circuitos{--color:var(--estrella)}
.indice a.pestana--luna{--color:var(--cielo-claro)}

/* ---------- Cabeceras antiguas (Créditos y 404) ---------- */

.pagina-titulo{font:800 var(--t-titulo)/1 var(--letra);letter-spacing:-.015em;text-transform:uppercase;text-wrap:balance}
.pagina-error{font:900 clamp(5rem,3rem + 10vw,11rem)/.8 var(--letra);color:var(--cielo);letter-spacing:-.04em}
.pagina-acciones{display:flex;flex-wrap:wrap;gap:12px;margin-top:var(--e4)}

.pagina-cuerpo{max-width:780px;margin:0 auto;padding:clamp(48px,7vw,96px) var(--margen)}
.pagina-cuerpo--ancho{max-width:calc(var(--ancho) + 2 * var(--margen))}
.pagina-cuerpo > p{margin-top:var(--e2)}
.pagina-cuerpo a,.texto-corrido a{color:var(--marino);font-weight:700;text-decoration-thickness:2px;text-underline-offset:.2em}
.pagina-cuerpo a:hover,.texto-corrido a:hover{text-decoration-color:var(--cielo)}

.pregunta{padding:var(--e4) 0;border-top:2px solid var(--crema-honda)}
.pregunta:first-child{padding-top:0;border-top:0}
.pregunta h2{font:800 var(--t-rotulo)/1.15 var(--letra);color:var(--marino);text-wrap:balance}
.pregunta h3{margin-top:var(--e3);font-weight:800;font-size:1.15rem;color:var(--marino)}
.pregunta p{margin-top:var(--e15)}

/* ---------- Ficha de datos ---------- */

.ficha{display:grid;gap:0;border-radius:var(--r-grande);background:var(--blanco);box-shadow:var(--sombra);overflow:hidden}
.ficha div{display:grid;gap:4px;padding:16px 22px;border-top:1px solid var(--crema)}
.ficha div:first-child{border-top:0}
.ficha dt{font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:#5A6B86}
.ficha dd{font-weight:700;color:var(--marino);overflow-wrap:anywhere}
.ficha dd small{display:block;margin-top:4px;font-weight:500;color:var(--tinta)}
.ficha a{color:inherit;text-decoration-thickness:2px;text-underline-offset:.2em}
.ficha--rnt{background:var(--marino)}
.ficha--rnt div{border-top-color:rgb(242 237 232 / .14)}
.ficha--rnt dt{color:var(--cielo)}
.ficha--rnt dd{color:var(--crema)}
.ficha--rnt dd small{color:rgb(242 237 232 / .82)}
@media (min-width:640px){
  .ficha div{grid-template-columns:220px 1fr;align-items:baseline}
}
.pasos{display:grid;gap:10px;margin-top:var(--e15);padding-left:1.4em}
.nota{margin-top:var(--e3);font-size:var(--t-chico);color:#4A5875}
.seccion--marino .nota{color:rgb(242 237 232 / .8)}

/* Pasos numerados grandes (cómo comprobar el RNT) */
.cuenta{display:grid;gap:14px;margin-top:var(--e3);padding:0;list-style:none;counter-reset:paso}
.cuenta li{position:relative;padding:16px 18px 16px 70px;border-radius:var(--r);background:var(--blanco);counter-increment:paso;box-shadow:0 14px 30px -24px rgb(13 30 59 / .6)}
.cuenta li::before{content:counter(paso);position:absolute;left:16px;top:12px;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--cielo);color:var(--marino-noche);font-weight:900;font-size:1.25rem;transform:rotate(-6deg)}
.cuenta li:nth-child(2)::before{background:var(--estrella)}
.cuenta li:nth-child(3)::before{background:#FF7FA8}
.cuenta a{color:var(--marino);font-weight:700;text-decoration-thickness:2px;text-underline-offset:.2em}

/* ---------- Tarjetas de canal (las de «Agenda tu cita»), en otros colores ---------- */

.canales{display:grid;gap:var(--e2);margin-top:var(--e4);padding:0;list-style:none}
.canal--cielo a{background:var(--cielo);color:var(--marino-noche)}
.canal--marino a{background:var(--marino);color:var(--crema)}
.canal--bugambilia a{background:var(--bugambilia);color:var(--blanco)}
.canal--bugambilia .canal__tipo{opacity:1}   /* con la opacidad de base.css quedaba a 3.7:1 sobre la bugambilia */
.canal--blanco a{background:var(--blanco);color:var(--marino)}
.canal--crema a{background:var(--crema);color:var(--marino)}
.canal__dato--texto{font:700 1.12rem/1.35 var(--letra)!important;letter-spacing:0!important}
.canal__dato{font:900 clamp(1.45rem,1.05rem + 1.4vw,2.1rem)/1.05 var(--letra);letter-spacing:-.01em;overflow-wrap:anywhere}
@media (min-width:820px){
  .canales--3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .canales--3 .canal a{height:100%;align-content:start}
  .canales--3 .canal__accion{margin-top:auto;padding-top:10px}
}

/* ---------- Conoce DCG: cuatro piezas (las barras del logo) ---------- */

.piezas__cabeza{display:grid;gap:var(--e2)}
.piezas__lista{display:grid;gap:18px;margin-top:var(--e5);padding:0;list-style:none}
.pieza{display:grid;grid-template-columns:auto minmax(0,1fr);column-gap:18px;align-items:end}
.pieza__barra{grid-row:1 / span 2;display:grid;place-items:center;width:46px;height:calc(58px + var(--n) * 22px);border-radius:10px 10px 4px 4px;background:linear-gradient(180deg,var(--c1),var(--c2));box-shadow:0 18px 30px -18px rgb(13 30 59 / .6);transform-origin:bottom}
/* Cada barra lleva su pieza dibujada (avión, cama, auto, boleto): sin ella, en computadora se leían como fotos que no cargaron. */
.pieza__icono{width:26px;height:26px;fill:var(--marino-noche)}
.pieza{container-type:inline-size}
.pieza:nth-child(1){--n:0;--c1:var(--cielo-claro);--c2:#9ED8FB}
.pieza:nth-child(2){--n:1;--c1:#9ED8FB;--c2:#6CC6FE}
.pieza:nth-child(3){--n:2;--c1:#6CC6FE;--c2:var(--cielo)}
.pieza:nth-child(4){--n:3;--c1:var(--cielo);--c2:#1F8FDB}
.pieza__nombre{font:900 clamp(1.5rem,1.1rem + 1.4vw,2.25rem)/1 var(--letra);text-transform:uppercase;color:var(--marino)}
.pieza__nombre{font-size:min(clamp(1.5rem,1.1rem + 1.4vw,2.25rem),12.5cqi)}   /* «EXPERIENCIAS» cabe en su columna de 960 a 1180 */
.pieza__texto{margin-top:6px;max-width:30ch;color:var(--tinta)}
.js .piezas__lista:not(.visto) .pieza__barra{transform:scaleY(.05)}
.js .piezas__lista .pieza__barra{transition:transform 1s var(--rebote);transition-delay:calc(var(--n) * 140ms)}
.js .piezas__lista .pieza__nombre,.js .piezas__lista .pieza__texto{transition:opacity .6s var(--suave),transform .7s var(--suave);transition-delay:calc(var(--n) * 140ms + .25s)}
.js .piezas__lista:not(.visto) .pieza__nombre,.js .piezas__lista:not(.visto) .pieza__texto{opacity:0;transform:translateY(10px)}
.piezas__lista[data-revela]{opacity:1;transform:none}
@media (min-width:820px){
  .piezas__lista{grid-template-columns:repeat(4,minmax(0,1fr));align-items:end;gap:clamp(18px,2.4vw,36px)}
  .pieza{grid-template-columns:minmax(0,1fr);row-gap:0}
  /* Más bajas que antes (70 a 232 px): con tanto alto y nada dentro parecían fotos que no cargaron. */
  .pieza__barra{grid-row:auto;order:3;width:100%;height:calc(68px + var(--n) * 34px);margin-top:18px;border-radius:14px 14px 6px 6px}
  .pieza__icono{width:clamp(34px,3.4vw,48px);height:clamp(34px,3.4vw,48px)}
  .pieza__nombre{order:1}
  .pieza__texto{order:2;min-height:3.2em}
}

/* ---------- Conoce DCG: así armamos tu viaje (ruta con el avión) ---------- */

.ruta__dentro{display:grid;gap:clamp(36px,5vw,72px)}
.ruta__pista{position:relative}
.ruta__lista.ruta__lista{position:relative;display:grid;gap:clamp(28px,4vw,48px);margin:0;padding:0 0 0 76px;list-style:none;counter-reset:ruta}
.ruta__lista::before{content:"";position:absolute;left:27px;top:8px;bottom:8px;border-left:3px dashed rgb(242 237 232 / .35)}
.ruta__avion{position:absolute;left:8px;top:0;width:42px;height:42px;padding:8px;border-radius:50%;background:var(--cielo);color:var(--marino-noche);box-shadow:0 0 0 6px rgb(55 181 255 / .25);transform:translateY(var(--y,0px));transition:transform .8s var(--suave)}
.ruta__avion svg{width:100%;height:100%;fill:currentColor;transform:rotate(180deg)}
.ruta__paso{position:relative;counter-increment:ruta;transition:opacity .5s}
.ruta__numero{display:block;font:900 clamp(2.4rem,1.6rem + 3vw,4.2rem)/.9 var(--letra);color:var(--cielo);letter-spacing:-.03em}
.ruta__nombre{margin-top:6px;font:800 var(--t-rotulo)/1.1 var(--letra);text-transform:uppercase}
.ruta__paso p{max-width:46ch;margin-top:8px;color:rgb(242 237 232 / .88)}
.ruta__paso a{color:var(--cielo-claro);font-weight:700;text-decoration-thickness:2px;text-underline-offset:.2em}
.js .ruta__paso:not(.es-actual) .ruta__numero{color:rgb(55 181 255 / .75)}   /* 3.5:1 sobre el marino */
.ruta__paso.es-actual .ruta__numero{color:var(--cielo)}
.ruta .boton{margin-top:var(--e4)}
.ruta .seccion-entrada{color:rgb(242 237 232 / .88)}
@media (min-width:960px){
  .ruta__dentro{grid-template-columns:.85fr 1.15fr;align-items:start}
  .ruta__cabeza{position:sticky;top:120px}
}

/* ---------- Clientes preferenciales (franja corta) ---------- */

.preferencial{position:relative;padding:clamp(56px,8vw,104px) var(--margen);background:var(--marino-noche);color:var(--crema);overflow:clip}
.preferencial::before{content:"";position:absolute;left:-8vw;bottom:-22vw;width:44vw;aspect-ratio:1;border-radius:50%;background:var(--bugambilia);opacity:.22}
.preferencial::after{content:"";position:absolute;right:-6vw;top:-14vw;width:30vw;aspect-ratio:1;border-radius:50%;border:clamp(16px,3vw,40px) solid rgb(55 181 255 / .25)}
.preferencial__dentro{position:relative;z-index:1;display:grid;gap:var(--e3);max-width:var(--ancho);margin:0 auto;align-items:center}
.preferencial__titulo{font:800 clamp(2rem,1.2rem + 3vw,3.6rem)/1 var(--letra);letter-spacing:-.015em;text-transform:uppercase}
.preferencial p{max-width:46ch;font-size:var(--t-entrada)}
.preferencial__titulo + p{margin-top:var(--e2)}
.preferencial__nota{font-size:1rem!important;color:rgb(242 237 232 / .82)}
.preferencial__nota a{color:var(--cielo-claro);font-weight:700;text-decoration-thickness:2px;text-underline-offset:.2em}
@media (min-width:900px){
  .preferencial__dentro{grid-template-columns:1.2fr .8fr}
  .preferencial__accion{justify-self:end;text-align:right}
}
.preferencial__accion{display:grid;gap:14px;justify-items:start}
@media (min-width:900px){.preferencial__accion{justify-items:end}}

/* ---------- Nuestros viajes: cabecera con abanico ---------- */

.pagina-cabeza--viajes .pagina-cabeza__dentro{align-items:center}
.pagina-cabeza--viajes .abanico{width:min(100%,440px)}
.pagina-cabeza--viajes .indice a{min-height:54px}
.abanico--suelto .abanico__carta{cursor:default}
.abanico--suelto .abanico__carta:hover{z-index:9!important;filter:none}
.abanico--suelto .abanico__carta:hover img{transform:scale(1.06)}
.abanico--suelto .abanico__pie{transition:opacity .3s}
.abanico--suelto .abanico__carta:not(:last-child):not(:hover) .abanico__pie{opacity:0}   /* las de atrás quedaban cortadas («PL… Riv») */
@media (min-width:960px){
  .pagina-cabeza--viajes .pagina-cabeza__dentro{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}
  .pagina-cabeza--viajes .abanico{grid-area:auto;width:min(100%,500px);justify-self:end}
}
@media (max-width:959px){
  .pagina-cabeza--viajes .abanico{margin-top:var(--e2)}
}

/* ---------- Nuestros viajes: una sección por forma de viajar ---------- */

.forma{--acento:var(--cielo);--fondo:var(--crema);--texto:var(--tinta);--titulo:var(--marino);
  position:relative;padding:clamp(72px,9vw,128px) var(--margen);background:var(--fondo);color:var(--texto);overflow:clip}
.forma--familia{--acento:var(--cielo);--fondo:var(--crema)}
.forma--crucero{--acento:#FF7FA8;--fondo:var(--marino);--texto:var(--crema);--titulo:var(--crema)}
.forma--circuitos{--acento:var(--estrella);--fondo:#FFF3D1;--titulo:var(--marino)}
.forma--luna{--acento:var(--bugambilia);--fondo:#FCE6EF;--titulo:var(--bugambilia-honda)}
.forma::before{content:"";position:absolute;right:-12vw;top:-16vw;width:40vw;aspect-ratio:1;border-radius:50%;background:var(--acento);opacity:.14;pointer-events:none}
.forma__dentro{position:relative;display:grid;gap:clamp(32px,4vw,56px);max-width:var(--ancho);margin:0 auto;align-items:center}
.forma__tipo{display:inline-flex;align-items:center;gap:10px;padding:6px 12px;border-radius:8px;background:var(--acento);color:var(--marino-noche);font-weight:800;font-size:.85rem;letter-spacing:.1em;text-transform:uppercase;transform:rotate(-2deg)}
.forma--luna .forma__tipo{color:var(--blanco)}
.forma__titulo{margin-top:var(--e2);font:800 clamp(2.1rem,1.2rem + 3.2vw,3.9rem)/1 var(--letra);letter-spacing:-.015em;text-transform:uppercase;color:var(--titulo);text-wrap:balance}
/* La palabra más larga («COMPLICACIONES») tiene que caber en su columna: entre 960 y 1366 px se salía y se metía
   debajo de la mini tira. 11cqi = 11 % del ancho de .forma__texto; donde sobra espacio manda el clamp de arriba. */
.forma__texto{container-type:inline-size}
.forma__titulo{font-size:min(clamp(2.1rem,1.2rem + 3.2vw,3.9rem),11cqi)}
.forma__texto > p{max-width:46ch;margin-top:var(--e2);font-size:1.1rem}
.forma__rotulo{margin-top:var(--e3);font:800 .85rem/1.3 var(--letra);letter-spacing:.12em;text-transform:uppercase;color:var(--titulo)}
.forma .panel__incluye{--color:var(--acento);grid-template-columns:repeat(auto-fill,minmax(min(100%,210px),1fr));gap:12px 18px;margin-top:12px}
.forma--crucero .panel__incluye li::before{background-color:var(--acento)}
.forma__acciones{display:flex;flex-wrap:wrap;align-items:center;gap:14px 22px;margin-top:var(--e4)}
.forma__acciones .enlace{color:var(--titulo)}
.quien__texto .forma__acciones .boton{margin-top:0}   /* inicio.css le da margen al botón de «Quién está detrás»; aquí lo da el contenedor */
.forma--luna .boton{--b-fondo:var(--bugambilia);--b-texto:var(--blanco)}
.forma--circuitos .boton{--b-fondo:var(--marino);--b-texto:var(--crema)}
@media (min-width:960px){
  .forma__dentro{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}
  .forma:nth-of-type(even) .forma__texto{order:2}
}

/* ---------- Mini tira de destinos: la elegida se ensancha y muestra su texto ---------- */

.mini-tira{min-width:0}
.mini-tira__lista{display:flex;gap:10px;height:clamp(380px,52vw,520px);margin:0;padding:0;list-style:none;touch-action:pan-y}   /* el gesto horizontal es de la tira (si no, el navegador manda pointercancel) */
.mini-tira__item{flex:1 1 0;min-width:0;transition:flex-grow .9s var(--suave)}
.mini-tira__item.es-activo{flex-grow:4.2}
.mini-tira__boton{position:relative;display:block;width:100%;height:100%;padding:0;border:0;border-radius:var(--r-grande);overflow:hidden;background:var(--marino);color:var(--crema);text-align:left;cursor:pointer;
  box-shadow:0 26px 50px -30px rgb(13 30 59 / .85);transition:box-shadow .4s,transform .4s var(--rebote)}
.mini-tira__boton:focus-visible{outline-offset:-5px}
.mini-tira__boton img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform 1.2s var(--suave),filter .5s}
.mini-tira__item:not(.es-activo) .mini-tira__boton img{filter:saturate(.8) brightness(.78)}
.mini-tira__item:not(.es-activo) .mini-tira__boton:hover{transform:translateY(-4px)}
.mini-tira__item:not(.es-activo) .mini-tira__boton:hover img{filter:none;transform:scale(1.06)}
.mini-tira__item.es-activo .mini-tira__boton{box-shadow:0 0 0 3px var(--acento,var(--cielo)),0 30px 60px -30px rgb(13 30 59 / .9)}
.mini-tira__texto{position:absolute;left:0;right:0;bottom:0;display:grid;gap:4px;padding:56px 20px 20px;background:linear-gradient(rgb(13 30 59 / 0),rgb(13 30 59 / .7) 38%,rgb(13 30 59 / .94))}
.mini-tira__nombre{font:900 clamp(1.4rem,1rem + 1.4vw,2.1rem)/1 var(--letra);text-transform:uppercase;letter-spacing:-.005em}
.mini-tira__lugar{font-weight:700;font-size:.92rem;color:var(--cielo-claro)}
.mini-tira__frase{max-width:36ch;margin-top:4px;font-size:1rem;line-height:1.45}
.mini-tira__item:not(.es-activo) .mini-tira__texto{padding:0;inset:0;align-content:end;justify-items:center;background:linear-gradient(rgb(13 30 59 / 0) 40%,rgb(13 30 59 / .85))}
.mini-tira__item:not(.es-activo) .mini-tira__lugar,.mini-tira__item:not(.es-activo) .mini-tira__frase{display:none}
.mini-tira__item:not(.es-activo) .mini-tira__nombre{padding:18px 0;font-size:1rem;letter-spacing:.06em;writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}
.mini-tira__item.es-activo .mini-tira__texto > *{animation:sube .7s var(--suave) both}
.mini-tira__item.es-activo .mini-tira__lugar{animation-delay:.06s}
.mini-tira__item.es-activo .mini-tira__frase{animation-delay:.12s}
.mini-tira .tira__barras{height:30px;margin-top:16px}
.mini-tira .tira__barras i{background:rgb(30 58 105 / .16)}
.mini-tira .tira__barras i::after{background:var(--acento)}
.mini-tira .tira__barras i.es-hecha::after{background:var(--acento);opacity:.5}
.forma--crucero .mini-tira .tira__barras i{background:rgb(242 237 232 / .22)}
.mini-tira.es-quieto .tira__barras i.es-corre::after{animation-play-state:paused}
@media (max-width:519px){
  .mini-tira__lista{gap:7px;height:420px}
  .mini-tira__texto{padding:48px 14px 16px}
  .mini-tira__frase{font-size:.95rem}
}

/* ---------- Barras del descuento (el medidor de la portada, en barras) ---------- */

.barras-desc.barras-desc{display:grid;gap:16px;margin:0;padding:clamp(20px,3vw,32px);border-radius:var(--r-grande);background:var(--blanco);box-shadow:var(--sombra);list-style:none}
/* El dato va a la derecha del nombre si caben los dos; si no (celular, dentro del acordeón), baja a su propio renglón
   en vez de dejar el nombre con una palabra por renglón. */
.barras-desc li{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 14px;align-items:baseline}
.barras-desc__nombre{flex:1 1 14ch}
.barras-desc__nombre{font-weight:800;color:var(--marino);line-height:1.25}
.barras-desc__dato{font-weight:800;color:var(--bugambilia-honda);white-space:nowrap}
.barras-desc__pista{flex:1 0 100%;position:relative;height:22px;border-radius:11px;background:var(--crema-honda);overflow:hidden}
.barras-desc__lleno{position:absolute;inset:0 auto 0 0;width:calc(var(--v) / 35 * 100%);border-radius:11px;background:linear-gradient(90deg,var(--cielo),var(--cielo-medio) 55%,var(--bugambilia));background-size:calc(35 / var(--v) * 100%) 100%;transform-origin:left;transition:transform 1.2s var(--suave)}
.barras-desc__cero{position:absolute;inset:3px auto 3px 3px;width:16px;border-radius:8px;border:2px dashed rgb(30 58 105 / .45)}
.barras-desc__escala{flex:1 0 100%;display:flex;justify-content:space-between;font-size:.8rem;font-weight:700;color:#5A6B86}
.js .barras-desc:not(.visto) .barras-desc__lleno{transform:scaleX(0)}
.js .barras-desc li:nth-child(2) .barras-desc__lleno{transition-delay:.15s}
.barras-desc[data-revela]{opacity:1;transform:none}
.barras-desc--en-linea{box-shadow:none;border:2px solid var(--crema-honda);margin-top:var(--e2)}

.descuento-corto__dentro{display:grid;gap:clamp(32px,4vw,56px);max-width:var(--ancho);margin:0 auto;align-items:center}
.descuento-corto__aviso{max-width:46ch;margin-top:var(--e3);padding:14px 16px;border-left:6px solid var(--bugambilia);border-radius:0 var(--r) var(--r) 0;background:var(--blanco);font-weight:500}
.descuento-corto__aviso b{display:block;color:var(--bugambilia-honda);font-size:1.1rem}
.descuento-corto .boton{margin-top:var(--e4)}
@media (min-width:960px){
  .descuento-corto__dentro{grid-template-columns:1fr 1fr}
}

/* ---------- Preguntas: grupos con acordeón ---------- */

.grupo{--acento:var(--cielo);padding:clamp(56px,8vw,104px) var(--margen);scroll-margin-top:70px}
.grupo:nth-of-type(even){background:var(--blanco)}
.grupo--descuento{--acento:var(--bugambilia)}
.grupo--confiable{--acento:var(--cielo)}
.grupo--agendar{--acento:var(--estrella)}
.grupo--clientes{--acento:#FF7FA8}
.grupo__dentro{display:grid;gap:clamp(24px,4vw,56px);max-width:var(--ancho);margin:0 auto}
.grupo__titulo{display:flex;flex-direction:column;gap:14px;font:800 clamp(2rem,1.2rem + 3vw,3.6rem)/1 var(--letra);letter-spacing:-.015em;text-transform:uppercase;color:var(--marino);text-wrap:balance}
.grupo__cabeza{container-type:inline-size}
.grupo__titulo{font-size:min(clamp(2rem,1.2rem + 3vw,3.6rem),11.5cqi)}   /* «PREFERENCIALES» cabe en su columna */
.grupo__titulo::before{content:"";width:64px;height:12px;border-radius:6px;background:var(--acento)}
.grupo__lista{display:grid;gap:12px;min-width:0}
@media (min-width:960px){
  .grupo__dentro{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:start}   /* sin minmax, «PREFERENCIALES» ensanchaba su columna */
  .grupo__cabeza{position:sticky;top:120px}
}

.acordeon{border-radius:var(--r-grande);background:var(--crema);box-shadow:inset 0 0 0 2px rgb(30 58 105 / .1);scroll-margin-top:110px;transition:box-shadow .3s,background-color .3s}
.grupo:nth-of-type(odd) .acordeon{background:var(--blanco)}
.acordeon[open]{box-shadow:inset 0 0 0 2px var(--marino)}
.acordeon summary{position:relative;display:flex;align-items:center;gap:16px;min-height:64px;padding:16px 20px;border-radius:var(--r-grande);font:800 clamp(1.08rem,1rem + .4vw,1.3rem)/1.25 var(--letra);color:var(--marino);cursor:pointer;list-style:none}
.acordeon summary::-webkit-details-marker{display:none}
.acordeon__pregunta{margin:0;font:inherit;color:inherit}
.acordeon summary:hover{background:rgb(55 181 255 / .1)}
.acordeon summary:focus-visible{outline-offset:-3px}
.acordeon__avion{flex:none;display:grid;place-items:center;width:38px;height:38px;margin-left:auto;border-radius:10px;background:var(--acento);color:var(--marino-noche);transition:transform .45s var(--rebote),background-color .3s}
.grupo--descuento .acordeon__avion{color:var(--blanco)}
.acordeon__avion svg{width:22px;height:22px;fill:currentColor;transform:rotate(90deg)}
.acordeon[open] .acordeon__avion{transform:rotate(90deg);background:var(--marino);color:var(--crema)}
.acordeon__cuerpo{padding:0 20px 22px}
.acordeon__cuerpo > * + *{margin-top:12px}
.acordeon__cuerpo ul{display:grid;gap:10px;padding-left:1.2em}
.acordeon__cuerpo ul li::marker{color:var(--acento)}
.acordeon__cuerpo a{color:var(--marino);font-weight:700;text-decoration-thickness:2px;text-underline-offset:.2em}
.acordeon__cuerpo a:hover{text-decoration-color:var(--cielo)}
.acordeon__cuerpo .cuenta li{background:var(--crema)}
.grupo:nth-of-type(even) .acordeon__cuerpo .cuenta li{background:var(--blanco)}
.acordeon__cuerpo .cuenta{margin-top:12px}
.acordeon__resalta{padding:12px 16px;border-left:6px solid var(--bugambilia);border-radius:0 var(--r) var(--r) 0;background:rgb(214 51 108 / .07)}
.acordeon__resalta b{color:var(--bugambilia-honda)}
/* Abre con transición de alto donde el navegador sabe animar a «auto»; donde no, abre al instante. */
@supports (interpolate-size:allow-keywords){
  .acordeon{interpolate-size:allow-keywords}
  .acordeon::details-content{block-size:0;overflow:clip;transition:block-size .45s var(--suave),content-visibility .45s allow-discrete}
  .acordeon[open]::details-content{block-size:auto}
}
.nota-final{max-width:var(--ancho);margin:0 auto;padding:0 var(--margen) clamp(48px,6vw,80px)}

/* ---------- Datos legales ---------- */

.legal__dentro{display:grid;gap:clamp(28px,4vw,56px);max-width:var(--ancho);margin:0 auto;align-items:start}
.legal__dentro > *{min-width:0}
.legal__cabeza p{max-width:42ch;margin-top:var(--e2);font-size:1.08rem}
.legal__cabeza .seccion-titulo{font-size:clamp(2.1rem,1.3rem + 2.6vw,3.6rem)}
@media (min-width:960px){
  .legal__dentro{grid-template-columns:.7fr 1.3fr}
  .legal__cabeza{position:sticky;top:120px}
}
.boleto--rnt .boleto__cuerpo{padding:clamp(18px,2.4vw,28px)}
.boleto--rnt .boleto__datos{margin-top:0}
.boleto__mini{display:inline;margin:0;font-weight:500;font-size:.92rem;color:var(--tinta)}
.boleto--rnt .boleto__talon .boton{justify-self:start;margin-top:6px}
.revisa{display:grid;gap:12px;margin-top:var(--e3);padding:0;list-style:none}
.revisa li{position:relative;padding:14px 16px 14px 54px;border-radius:var(--r);background:var(--blanco);box-shadow:0 14px 30px -24px rgb(13 30 59 / .6)}
.revisa li::before{content:"";position:absolute;left:16px;top:15px;width:24px;height:24px;border-radius:7px;background:var(--cielo) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='m5 12.5 4.2 4.2L19 7' fill='none' stroke='%230D1E3B' stroke-width='3.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 15px no-repeat;transform:rotate(-8deg)}
.revisa a{color:var(--marino);font-weight:700;text-decoration-thickness:2px;text-underline-offset:.2em}

/* ---------- Documentos legales: un boleto por documento y el visor ---------- */

.docs{display:grid;gap:clamp(28px,4vw,48px);max-width:var(--ancho);margin:0 auto;padding:clamp(56px,8vw,104px) var(--margen)}
.doc{scroll-margin-top:100px}
.doc .boleto__cuerpo{display:grid;gap:clamp(18px,2.4vw,30px);padding:clamp(18px,2.6vw,32px)}
.doc__mini{position:relative;display:block;align-self:start;max-width:340px;border-radius:12px;overflow:hidden;background:var(--crema);box-shadow:0 0 0 1px rgb(30 58 105 / .12),0 18px 34px -22px rgb(13 30 59 / .7);transition:transform .45s var(--rebote),box-shadow .3s}
.doc__mini img{width:100%;height:auto;transition:transform .9s var(--suave)}
.doc__mini:hover{transform:translateY(-3px) rotate(-1deg);box-shadow:0 0 0 3px var(--cielo),0 24px 40px -22px rgb(13 30 59 / .8)}
.doc__mini:hover img{transform:scale(1.04)}
.doc__lupa{position:absolute;right:10px;bottom:10px;display:grid;place-items:center;width:46px;height:46px;border-radius:12px;background:var(--marino);color:var(--crema);box-shadow:0 10px 20px -10px rgb(0 0 0 / .6)}
.doc__lupa svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round}
.doc__emite{font-weight:800;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:#5A6B86}
.doc__titulo{margin-top:6px;font:800 clamp(1.35rem,1.05rem + 1.1vw,2rem)/1.12 var(--letra);color:var(--marino);text-wrap:balance}
.doc__pie{max-width:56ch;margin-top:10px;color:var(--tinta)}
.doc__rotulo{margin-top:var(--e3);font:800 .8rem/1.3 var(--letra);letter-spacing:.12em;text-transform:uppercase;color:var(--bugambilia-honda)}
.doc__dice{display:grid;gap:0;margin-top:8px;border-top:2px solid var(--crema)}
.doc__dice div{display:grid;gap:2px;padding:9px 0;border-bottom:2px solid var(--crema)}
.doc__dice dt{font-size:.78rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#5A6B86}
.doc__dice dd{font-weight:700;color:var(--marino);overflow-wrap:anywhere}
.doc__nota{margin-top:12px;padding:10px 14px;border-left:5px solid var(--estrella);border-radius:0 var(--r) var(--r) 0;background:#FFF6DA;font-size:.95rem}
.doc .boleto__talon{align-content:start;gap:10px}
.doc__fecha{font:900 clamp(1.15rem,.95rem + .7vw,1.45rem)/1.15 var(--letra);color:var(--crema)}
.doc__hojas{display:inline-flex;justify-self:start;padding:3px 10px;border-radius:6px;background:var(--cielo);color:var(--marino-noche);font-weight:800;font-size:.8rem;letter-spacing:.06em;text-transform:uppercase}
.doc__revisa{display:grid;gap:12px;margin-top:6px}
.doc__revisa dt{font-weight:800;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--cielo)}
.doc__revisa dd{margin-top:3px;color:rgb(242 237 232 / .9)}
.doc__revisa a{color:var(--cielo-claro);font-weight:700;text-decoration-thickness:2px;text-underline-offset:.2em}
.doc__acciones{display:grid;gap:12px;justify-items:start;margin-top:8px}
.doc__acciones .enlace{color:var(--cielo-claro)}
.doc__peso{font-weight:500}
.boton--claro{--b-fondo:var(--cielo);--b-texto:var(--marino-noche)}
@media (min-width:640px){
  .doc{grid-template-columns:minmax(0,1fr) minmax(250px,.42fr)}
}
@media (min-width:860px){
  .doc .boleto__cuerpo{grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr)}
}

.visor{width:100vw;max-width:none;height:100dvh;max-height:none;margin:0;padding:0;border:0;background:rgb(13 30 59 / .97);color:var(--crema);overflow:hidden}
.visor[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}
.visor::backdrop{background:rgb(13 30 59 / .7)}
.visor[open]{animation:visor-entra .2s var(--suave)}
@keyframes visor-entra{from{opacity:0}to{opacity:1}}
.visor__barra{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:12px var(--margen);background:var(--marino-noche);border-bottom:1px solid rgb(242 237 232 / .14)}
.visor__cuenta{padding:4px 10px;border-radius:6px;background:var(--cielo);color:var(--marino-noche);font-weight:900;font-size:.85rem}
.visor__titulo{flex:1 1 220px;min-width:0;font-weight:800;font-size:1.02rem;line-height:1.25}
.visor__botones{display:flex;flex-wrap:wrap;gap:8px}
.visor__boton{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:2px solid rgb(242 237 232 / .4);border-radius:var(--r);background:transparent;color:var(--crema);font-weight:800;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background-color .25s,border-color .25s}
.visor__boton:hover{border-color:var(--cielo);background:rgb(55 181 255 / .16)}
.visor__boton[aria-pressed="true"]{background:var(--cielo);border-color:var(--cielo);color:var(--marino-noche)}
.visor__boton--cerrar{background:var(--crema);border-color:var(--crema);color:var(--marino-noche)}
.visor__lienzo{--px:clamp(56px,7vw,96px);--py:clamp(12px,2vw,28px);--pb:var(--py);position:relative;display:grid;place-items:start center;min-height:0;padding:var(--py) var(--px) var(--pb);overflow:auto;overscroll-behavior:contain}
.visor__lienzo img{width:auto;height:auto;border-radius:6px;background:var(--blanco);box-shadow:0 30px 60px -30px rgb(0 0 0 / .9)}
/* Ajustado: la hoja completa cabe en la pantalla (centrada). Ampliado: a su tamaño, y se recorre. */
.visor:not(.es-amplio) .visor__lienzo img{position:absolute;inset:var(--py) var(--px) var(--pb);margin:auto;max-width:calc(100% - 2 * var(--px));max-height:calc(100% - var(--py) - var(--pb))}
.visor:not(.es-amplio) .visor__lienzo{touch-action:pan-y pinch-zoom}   /* el gesto horizontal pasa de documento */
.visor.es-amplio .visor__lienzo{cursor:zoom-out}
.visor.es-amplio .visor__lienzo img{max-width:none;max-height:none}
.visor:not(.es-amplio) .visor__lienzo img{cursor:zoom-in}
.visor__flecha{position:absolute;top:50%;display:grid;place-items:center;width:52px;height:52px;padding:0;border:0;border-radius:50%;background:var(--cielo);color:var(--marino-noche);cursor:pointer;box-shadow:0 14px 30px -12px rgb(0 0 0 / .7);transition:transform .3s var(--rebote)}
.visor__flecha svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.visor__flecha:hover{transform:scale(1.08)}
.visor__flecha--antes{left:clamp(8px,1.4vw,20px)}
.visor__flecha--despues{right:clamp(8px,1.4vw,20px)}
@media (max-width:639px){
  .visor__lienzo{--px:10px;--py:10px;--pb:76px}
  .visor__flecha{top:auto;bottom:12px}
  .visor__flecha--antes{left:calc(50% - 64px)}
  .visor__flecha--despues{right:calc(50% - 64px)}
  .visor__titulo{flex-basis:100%;order:3;font-size:.95rem}
}

/* ---------- Aviso de privacidad: tarjetas numeradas ---------- */

.aviso-lista.aviso-lista{display:grid;gap:clamp(16px,2.4vw,24px);max-width:900px;margin:0 auto;padding:clamp(56px,8vw,104px) var(--margen) var(--e4);list-style:none;counter-reset:aviso}
.aviso-punto{position:relative;padding:clamp(22px,3vw,34px) clamp(20px,3vw,34px) clamp(22px,3vw,34px) clamp(78px,9vw,112px);border-radius:var(--r-grande);background:var(--blanco);box-shadow:0 24px 50px -36px rgb(13 30 59 / .7);counter-increment:aviso}
.aviso-punto::before{content:counter(aviso);position:absolute;left:clamp(18px,2.6vw,30px);top:clamp(16px,2.6vw,28px);font:900 clamp(2.6rem,1.8rem + 2.6vw,4rem)/.9 var(--letra);color:var(--cielo);letter-spacing:-.04em}
.aviso-punto:nth-child(4n+2)::before{color:var(--bugambilia)}
.aviso-punto:nth-child(4n+3)::before{color:#E3A300}
.aviso-punto:nth-child(4n+4)::before{color:#FF7FA8}
.aviso-punto h2{font:800 var(--t-rotulo)/1.15 var(--letra);color:var(--marino);text-wrap:balance}
.aviso-punto > * + *{margin-top:12px}
.aviso-punto ul{display:grid;gap:8px;padding-left:1.2em}
@media (max-width:519px){
  .aviso-punto{padding:66px 20px 22px}
  .aviso-punto::before{left:20px;top:16px;font-size:2.6rem}
}
.aviso-punto a{color:var(--marino);font-weight:700;text-decoration-thickness:2px;text-underline-offset:.2em}
.aviso-punto .ficha{margin-top:16px;box-shadow:none;border:2px solid var(--crema)}
.aviso-punto .ficha div{padding:12px 16px}
@media (min-width:640px){.aviso-punto .ficha div{grid-template-columns:200px 1fr}}
.aviso-notas{max-width:900px;margin:0 auto;padding:0 var(--margen) clamp(56px,8vw,96px)}
.aviso-notas p + p{margin-top:8px}

/* ---------- Agenda tu cita: formulario y canales ---------- */

.reserva__dentro{display:grid;gap:clamp(32px,4vw,56px);max-width:calc(var(--ancho) + 2 * var(--margen));margin:0 auto;padding:clamp(56px,8vw,104px) var(--margen);align-items:start}
.reserva__dentro > *{min-width:0}
@media (min-width:980px){
  .reserva__dentro{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)}
  .reserva__lado{position:sticky;top:110px}
}
.solicitud{position:relative;padding:clamp(22px,3.4vw,44px);border-radius:var(--r-grande);background:var(--blanco);box-shadow:var(--sombra)}
.solicitud::before{content:"";position:absolute;left:clamp(22px,3.4vw,44px);top:0;width:84px;height:8px;border-radius:0 0 6px 6px;background:linear-gradient(90deg,var(--cielo),var(--bugambilia))}
.solicitud__titulo{font:800 clamp(1.8rem,1.2rem + 2vw,2.8rem)/1 var(--letra);letter-spacing:-.01em;text-transform:uppercase;color:var(--marino)}
.solicitud__ayuda{margin-top:10px;color:#4A5875;font-size:.95rem}
.campos{display:grid;gap:18px;margin-top:var(--e3)}
@media (min-width:640px){
  .campos{grid-template-columns:1fr 1fr}
  .campo--ancho{grid-column:1 / -1}
}
.campo{display:grid;gap:6px;min-width:0}
.campo label{font-weight:800;color:var(--marino)}
.campo label .req{color:var(--bugambilia-honda)}
.campo__ayuda{font-size:.88rem;color:#4A5875}
.campo input,.campo textarea{width:100%;min-height:52px;padding:12px 14px;border:2px solid rgb(30 58 105 / .6);border-radius:var(--r);background:var(--crema);color:var(--tinta);font:500 1.0625rem/1.4 var(--letra);transition:border-color .25s,background-color .25s,box-shadow .25s}
.campo textarea{min-height:120px;resize:vertical}
.campo input::placeholder,.campo textarea::placeholder{color:#56637C}   /* 5.2:1 sobre el crema; el borde, 3.5:1 contra la tarjeta */
.campo input:hover,.campo textarea:hover{border-color:var(--cielo)}
.campo input:focus,.campo textarea:focus{outline:3px solid var(--cielo);outline-offset:2px;border-color:var(--marino);background:var(--blanco)}   /* el mismo anillo de foco de todo el sitio, más el borde marino */
.campo input[aria-invalid="true"]{border-color:var(--bugambilia-honda)}
.campo__error{font-size:.9rem;font-weight:700;color:var(--bugambilia-honda)}
.casilla{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;margin-top:var(--e3);padding:14px 16px;border:2px solid rgb(30 58 105 / .6);border-radius:var(--r);cursor:pointer;transition:border-color .25s,background-color .25s}
.casilla input{width:22px;height:22px;margin:2px 0 0;accent-color:var(--bugambilia);cursor:pointer}
.casilla:hover{border-color:var(--cielo)}
.casilla:has(input:checked){border-color:var(--marino);background:rgb(55 181 255 / .1)}
.casilla:has(input:focus-visible){outline:3px solid var(--cielo);outline-offset:3px}
.casilla input:focus-visible{outline:none}
.casilla span{font-weight:600;color:var(--marino)}
.solicitud__nota{margin-top:var(--e3);font-size:.95rem;color:#4A5875}
.solicitud__nota a{color:var(--marino);font-weight:700;text-decoration-thickness:2px;text-underline-offset:.2em}
.solicitud .boton{margin-top:var(--e3)}
.solicitud .boton:disabled{opacity:.55;cursor:not-allowed;transform:none;box-shadow:none}
.solicitud__estado{margin-top:var(--e3);padding:16px 18px;border-radius:var(--r);background:var(--cielo-claro);color:var(--marino-noche);font-weight:500}
.solicitud__estado:focus{outline:3px solid var(--cielo);outline-offset:3px}
.solicitud__estado b{display:block;margin-bottom:4px;font-size:1.08rem}
.solicitud__estado a{color:var(--marino);font-weight:800;text-decoration-thickness:2px;text-underline-offset:.2em}
.solicitud__estado--aviso{background:#FFF6DA}
.solicitud__sinjs{margin-top:var(--e3);padding:14px 16px;border-radius:var(--r);background:#FFF6DA;font-weight:600}
.js .solicitud__sinjs{display:none}
html:not(.js) [data-solo-js]{display:none}

.reserva__lado .canales{margin-top:var(--e3)}
.reserva__lado .canal__numero{font-size:clamp(1.8rem,1.3rem + 1.8vw,2.6rem)}
.reserva__titulo{font:800 clamp(1.6rem,1.15rem + 1.6vw,2.4rem)/1.05 var(--letra);text-transform:uppercase;color:var(--marino)}
.reserva__horario{display:inline-flex;flex-wrap:wrap;gap:4px 10px;margin-top:var(--e3);padding:10px 14px;border-radius:var(--r);background:var(--marino-noche);color:var(--crema);font-weight:500}
.reserva__horario b{color:var(--cielo)}
.reserva__oficinas{margin-top:var(--e3)}
.reserva__redes{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px;padding:0;list-style:none}
.reserva__redes a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:2px solid var(--marino);border-radius:var(--r);color:var(--marino);font-weight:800;text-decoration:none;transition:background-color .25s,color .25s,transform .3s var(--rebote)}
.reserva__redes a:hover{background:var(--marino);color:var(--crema);transform:translateY(-2px)}
.reserva__subtitulo{margin-top:var(--e4);font:800 .85rem/1.3 var(--letra);letter-spacing:.12em;text-transform:uppercase;color:var(--marino)}
.reserva__portal{margin-top:var(--e3);padding:16px 18px;border-radius:var(--r);background:var(--marino);color:var(--crema)}
.reserva__portal a{color:var(--cielo-claro);font-weight:800;text-decoration-thickness:2px;text-underline-offset:.2em}

/* ---------- Tabla de créditos ---------- */

.tabla-envoltura{overflow-x:auto;border-radius:var(--r-grande);background:var(--blanco);box-shadow:var(--sombra)}
.tabla{width:100%;border-collapse:collapse;font-size:var(--t-chico)}
.tabla caption{padding:18px 20px 6px;text-align:left;font-weight:800;color:var(--marino)}
.tabla th,.tabla td{padding:12px 20px;border-top:1px solid var(--crema);text-align:left;vertical-align:top}
.tabla thead th{font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:#5A6B86}
.tabla tbody th{color:var(--marino)}
.tabla a{overflow-wrap:anywhere}
/* En celular cada foto es una tarjeta: «Dónde» de título y los demás datos con su rótulo. */
@media (max-width:719px){
  .tabla thead{display:none}
  .tabla,.tabla tbody,.tabla tr,.tabla th,.tabla td{display:block}
  .tabla tr{padding:14px 20px;border-top:1px solid var(--crema)}
  .tabla th,.tabla td{padding:3px 0;border:0}
  .tabla tbody th{font-size:1rem}
  .tabla td::before{content:attr(data-titulo) ": ";font-weight:700;color:#5A6B86}
}

/* Bloques que solo se ven en la vista previa (construir.py --publicar los quita). Nunca en la portada. */
.pendiente{margin-top:var(--e3);padding:14px 16px;border:2px dashed #C98A00;border-radius:var(--r);background:#FFF6DA;color:#4A3500;font-size:var(--t-chico)}
.pendiente b{display:block;margin-bottom:4px;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}

/* ---------- Quejas ante Profeco (15-oct-2026) ----------
   Fragmento sitio/paginas/_quejas-profeco.html (Preguntas y la guía del blog), sobre fondo marino. Dos tarjetas con forma
   de boleto: cuerpo con la cifra grande y talón separado por la línea punteada (con sus muescas). La primera lleva la
   rejilla de 1,000 puntos (uno por contrato; los rosas, las quejas); la segunda, el reparto conciliadas / otros motivos /
   no conciliadas. Al llegar (.visto) el número sube, los puntos aparecen con un pulso y las barras del reparto crecen. */
.quejas{scroll-margin-top:70px}
.quejas__cabeza{max-width:860px}
.quejas__sello{display:inline-flex;align-items:center;gap:10px;margin-bottom:var(--e3);padding:8px 14px;border-radius:999px;background:rgb(242 237 232 / .1);box-shadow:inset 0 0 0 2px rgb(242 237 232 / .22);font-weight:800;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--cielo-claro)}
.quejas__punto{width:10px;height:10px;border-radius:50%;background:var(--bugambilia);box-shadow:0 0 0 4px rgb(214 51 108 / .3)}
.quejas .seccion-entrada{max-width:58ch;color:rgb(242 237 232 / .9)}
.quejas__tablero{display:grid;gap:var(--e4);margin-top:var(--e5)}
.cifra{--muesca:var(--marino);display:grid;grid-template-rows:auto 1fr;min-width:0;border-radius:var(--r-grande);color:var(--tinta);filter:drop-shadow(0 30px 40px rgb(13 30 59 / .45))}
.cifra__cuerpo{display:grid;gap:14px;align-content:start;padding:clamp(24px,3.4vw,40px);border-radius:var(--r-grande) var(--r-grande) 0 0;background:var(--blanco)}
.cifra__cuerpo > *{margin:0}
.cifra__rotulo{font-weight:800;font-size:.8rem;letter-spacing:.14em;text-transform:uppercase;color:var(--bugambilia-honda)}
.cifra__numero{overflow:hidden;padding-block:.08em;margin-block:-.08em;font:900 clamp(4.5rem,2.6rem + 7vw,8.5rem)/.85 var(--letra);letter-spacing:-.03em;color:var(--marino);white-space:nowrap}
.cifra__numero span{display:block}
.cifra__titulo{font:800 var(--t-rotulo)/1.05 var(--letra);text-transform:uppercase;color:var(--marino);text-wrap:balance}
.cifra__talon{position:relative;display:grid;gap:var(--e2);align-content:start;margin:0;padding:clamp(24px,3.4vw,40px);border-radius:0 0 var(--r-grande) var(--r-grande);background:var(--crema)}
.cifra__talon::before{content:"";position:absolute;left:28px;right:28px;top:-1.5px;border-top:3px dashed rgb(30 58 105 / .28)}
.cifra__talon::after{content:"";position:absolute;inset:-14px 0 auto;height:28px;pointer-events:none;background:radial-gradient(circle at 0 50%,var(--muesca) 13px,transparent 14px),radial-gradient(circle at 100% 50%,var(--muesca) 13px,transparent 14px)}
.cifra--cielo .cifra__cuerpo{background:var(--cielo);color:var(--marino-noche)}
.cifra--cielo .cifra__rotulo{color:var(--marino-noche)}
.cifra--cielo .cifra__numero,.cifra--cielo .cifra__titulo{color:var(--marino-noche)}
.cifra--cielo .cifra__talon{background:var(--blanco)}
@media (min-width:900px){.cifra--cielo .cifra__talon{align-content:center}}
.js .cifra__numero span{transform:translateY(105%)}
.js .cifra.visto .cifra__numero span{transform:none;transition:transform 1.1s var(--suave) .3s}

/* La rejilla de 1,000 puntos: el fondo dibuja los 1,000 (una celda por punto) y los rosas son celdas de la misma rejilla.
   40 × 25 hasta 899 px; 50 × 20 desde 900 px. Si cambia profeco.por_cada_mil, se agregan o quitan <span class="mil__q">
   en el fragmento y sus lugares aquí (construir.py avisa si no cuadran). */
.mil-figura > *{margin:0}
.mil{--cols:40;--filas:25;position:relative;display:grid;grid-template-columns:repeat(var(--cols),minmax(0,1fr));grid-template-rows:repeat(var(--filas),minmax(0,1fr));aspect-ratio:var(--cols) / var(--filas);
  background:radial-gradient(circle closest-side,rgb(30 58 105 / .34) 52%,rgb(30 58 105 / 0) 70%) 0 0 / calc(100% / var(--cols)) calc(100% / var(--filas))}
.mil__q{position:relative;border-radius:50%;background:var(--bugambilia);box-shadow:0 0 0 2px var(--blanco);transform:scale(1.6);--j:0}
.mil__q::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid var(--bugambilia);opacity:0}
.mil__q:nth-child(1){grid-area:5 / 30}
.mil__q:nth-child(2){grid-area:10 / 7;--j:1}
.mil__q:nth-child(3){grid-area:17 / 21;--j:2}
.mil__q:nth-child(4){grid-area:21 / 36;--j:3}
.js .mil__q{scale:0}
.js .cifra.visto .mil__q{scale:1;transition:scale .8s var(--rebote) calc(var(--j) * 170ms + .7s)}
.js .cifra.visto .mil__q::after{animation:mil-pulso 1.8s ease-out calc(var(--j) * 170ms + 1.4s) 3}
@keyframes mil-pulso{0%{opacity:.9;scale:1}100%{opacity:0;scale:3}}
.mil__clave{display:flex;gap:10px;align-items:baseline;font-size:var(--t-chico);font-weight:500;color:#3E4C68}
.mil__muestra{flex:none;width:12px;height:12px;border-radius:50%;background:var(--bugambilia);translate:0 1px}

/* Reparto: una barra partida en proporción (flex-grow = número de quejas) y su clave con los números. */
.reparto{display:flex;gap:4px;height:44px;border-radius:12px;overflow:hidden}
.reparto__parte{flex:var(--n) 1 0;min-width:10px;transform-origin:left center}
.reparto__parte--si{background:var(--marino)}
.reparto__parte--otros{background:var(--estrella)}
.reparto__parte--no{background:var(--bugambilia)}
.js .reparto__parte{transform:scaleX(0)}
.js .cifra.visto .reparto__parte{transform:none;transition:transform 1.1s var(--suave) .55s}
.js .cifra.visto .reparto__parte--otros{transition-delay:.8s}
.js .cifra.visto .reparto__parte--no{transition-delay:1s}
.reparto__clave{display:grid;gap:12px;margin:0;padding:0;list-style:none}
.reparto__fila{display:grid;grid-template-columns:auto minmax(0,1fr);gap:12px;align-items:start;font-size:var(--t-chico);font-weight:500;line-height:1.45}
.reparto__fila b{display:grid;place-items:center;min-width:2.4em;padding:.2em .5em;border-radius:8px;font:900 1.3rem/1 var(--letra)}
.reparto__fila span{padding-top:.2em}
.reparto__fila--si b{background:var(--marino);color:var(--crema)}
.reparto__fila--otros b{background:var(--estrella);color:var(--marino-noche)}
.reparto__fila--no b{background:var(--bugambilia);color:var(--blanco)}

.quejas__nota{max-width:72ch;margin-top:var(--e4)}
.quejas__revisa{display:grid;justify-items:start;max-width:860px;margin-top:var(--e6)}
.quejas__subtitulo{font:800 clamp(1.9rem,1.2rem + 2.6vw,3.2rem)/1 var(--letra);letter-spacing:-.015em;text-transform:uppercase;color:var(--crema);text-wrap:balance}
.quejas .cuenta{width:100%;color:var(--tinta)}
.quejas__boton{margin-top:var(--e4)}
@media (min-width:900px){
  .quejas__tablero{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mil{--cols:50;--filas:20}
  .mil__q:nth-child(1){grid-area:4 / 37}
  .mil__q:nth-child(2){grid-area:8 / 9}
  .mil__q:nth-child(3){grid-area:13 / 26}
  .mil__q:nth-child(4){grid-area:17 / 44}
}

/* ---------- Opiniones (25-oct-2026): las cifras de Google como boletos y las reseñas en columna en celular ---------- */

.tablero-opiniones{display:grid;gap:var(--e4);margin-top:var(--e5)}
.tablero-opiniones .cifra__talon .resena__estrellas svg{width:24px;height:24px}
.tablero-opiniones .cifra__talon p{margin:0}
.tablero-opiniones .cifra__talon a{color:var(--marino);font-weight:700;text-decoration-thickness:2px;text-underline-offset:.2em}
@media (max-width:899px){
  .resenas--pagina{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:minmax(0,1fr);overflow:visible;scroll-snap-type:none;padding:0}
}
@media (min-width:600px) and (max-width:899px){
  .resenas--pagina{grid-template-columns:repeat(2,minmax(0,1fr))}
  .resenas--pagina>li:last-child:nth-child(odd){grid-column:1 / -1}
}
@media (min-width:900px){
  .tablero-opiniones{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* ---------- Menos movimiento ---------- */

@media (prefers-reduced-motion:reduce){
  .escenario--pagina .escenario__fondo.es-activo img{animation:none;transform:none}
  .js .pagina-cabeza__barras i{transform:none}
  .js .piezas__lista:not(.visto) .pieza__barra{transform:none}
  .js .piezas__lista:not(.visto) .pieza__nombre,.js .piezas__lista:not(.visto) .pieza__texto{opacity:1;transform:none}
  .js .barras-desc:not(.visto) .barras-desc__lleno{transform:none}
  .js .pagina-cabeza__texto > *{opacity:1!important;transform:none!important}
  .ruta__avion{transition:none}
  .mini-tira__item{transition:none}
  .mini-tira__item.es-activo .mini-tira__texto > *{animation:none}
  .visor[open]{animation:none}
  .js .cifra__numero span,.js .reparto__parte{transform:none;transition:none}
  .js .mil__q{scale:1;transition:none}
  .js .cifra.visto .mil__q::after{animation:none}
}
