/* Ajustes del CMS sobre la Propuesta 02 (no editar estilo.css de Oscar).
   1. Oscar pidió texto más grande: ningún texto de lectura baja de 15 px.
   2. Mapa de ruta generado desde coordenadas reales. */
.cab__nav a,.cab__cta,.cifras dd,.respaldo p,.viaje__datos li,.regiones button,.paq-reg__n,
.campo label,.form__nota,.migas,.reserva__datos li,.destacado span,.temporada__lab,
.temporada__nota,.tabla caption{font-size:16px}
.tipo__cab span,.mapa__tip span,.paq-reg__dur,.persona span,.campo__error,.pie__legal,
.resumen dt,.ruta figcaption,.dia__tags li,.otro__meta,.p-hero__kicker,.resumen dd small,
.reserva__precio small,.tabla thead th,.tabla--hoteles td span,.temporada__aviso{font-size:15px}
.pasos__l,.como__n{font-size:14px}
body{font-size:18px}

.ruta--real{grid-column:1/-1;margin-top:clamp(40px,5vw,72px)}
.mapa-ruta{display:block;width:100%;height:auto;border-radius:6px}
.ruta--real figcaption{margin-top:12px}
.credito{font-size:13px;color:var(--apagado);margin:6px 0 0}
.p-hero .credito{position:absolute;right:var(--lado);bottom:12px;z-index:2;margin:0;opacity:.75}
.destacado .credito{font-size:12px;margin-top:4px}
.vista-aviso{position:fixed;left:0;right:0;bottom:0;z-index:50;margin:0;padding:10px var(--lado);background:#e0955a;color:#0b1b21;font:500 15px/1.4 var(--sans);text-align:center}

/* Relleno de fotos pendientes: manchas de color difuminadas y un grano leve para que no se vea plano.
   Va en un elemento propio para no pisar el degradado oscuro de la portada (::after de Oscar). */
.foto__relleno{position:absolute;inset:-12%;filter:blur(36px) saturate(1.15)}
.foto__relleno::after{content:"";position:absolute;inset:0;opacity:.14;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}

/* Tarifas como la ficha de Oscar: nota de menores bajo la tabla, aviso naranja. */
.tarifa__nota{margin:12px 0 0;font-size:15px;color:var(--apagado)}
.tarifas > div > .temporada__aviso{margin-top:12px}

/* Portada 2026-10-27 (feedback de Oscar sobre la captura): promociones en carrusel,
   circuitos del sitio anterior con «Ver más», testimonios rotando y cotización en modal. */
.promos__cab{margin-bottom:clamp(28px,3vw,44px)}
.promos__fila{display:flex;justify-content:space-between;align-items:flex-end;gap:24px}
.carrusel__pista{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2*24px)/3);column-gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.carrusel__pista::-webkit-scrollbar{display:none}
.promo{scroll-snap-align:start;display:flex;flex-direction:column}
.promo__flyer{display:block;aspect-ratio:4/5;background:var(--fondo-2);overflow:hidden}
.promo__flyer img{width:100%;height:100%;object-fit:contain;transition:transform .9s cubic-bezier(.2,.7,.2,1)}
.promo__flyer:hover img{transform:scale(1.03)}
.promo__t{margin:18px 0 0;font-family:var(--display);font-weight:400;font-size:clamp(20px,1.7vw,24px);line-height:1.15}
.promo__d{margin:6px 0 16px;font-size:15px;color:var(--acento)}
.promo__acciones{margin-top:auto;display:flex;flex-wrap:wrap;align-items:center;gap:14px 20px}
.promo__acciones .pildora{max-width:240px}
@media (max-width:1024px){.carrusel__pista{grid-auto-columns:calc((100% - 24px)/2)}}
@media (max-width:640px){.carrusel__pista{grid-auto-columns:82%}}


.persona .foto::after{background:linear-gradient(180deg,transparent 35%,rgba(11,27,33,.88))}
.persona figcaption{gap:2px}
.persona q{display:block;margin-bottom:10px;font-family:var(--display);font-style:italic;font-size:16px;line-height:1.35;color:var(--texto)}

.modal-cotiza{width:min(720px,calc(100% - 32px));max-height:calc(100dvh - 32px);padding:0;border:1px solid var(--vidrio-borde);border-radius:10px;background:var(--fondo);color:var(--texto);overflow:auto}
.modal-cotiza::backdrop{background:rgba(5,14,17,.72);backdrop-filter:blur(6px)}
.modal-cotiza__caja{position:relative;padding:clamp(24px,4vw,44px)}
.modal-cotiza__cerrar{position:absolute;top:14px;right:14px;width:40px;height:40px;border-radius:50%;border:0;background:var(--pildora);color:var(--texto);font-size:24px;line-height:1;cursor:pointer}
.modal-cotiza .titulo{margin-top:12px;font-size:clamp(28px,3vw,40px)}
.modal-cotiza__sub{margin:10px 0 24px;color:var(--apagado);font-size:16px}
.modal-cotiza .form{padding-top:0}

/* 2026-10-27 (2): promociones más angostas, alineadas a la columna del título, con flechas
   sobre las fotos; circuitos en lugar de «Viajes seleccionados»; testimonios con fundido cruzado. */
.carrusel{position:relative;margin-left:22%}
.carrusel__btn{position:absolute;top:var(--flechas-y,40%);z-index:2;transform:translateY(-50%);width:48px;height:48px;border-radius:50%;border:1px solid var(--vidrio-borde);background:rgba(11,27,33,.72);backdrop-filter:blur(8px);color:var(--texto);font-size:20px;cursor:pointer;transition:background .3s ease}
.carrusel__btn:hover{background:#24404a}
.carrusel__btn:focus-visible{outline:2px solid var(--acento);outline-offset:2px}
.carrusel__btn--prev{left:14px}.carrusel__btn--sig{right:14px}
@media (max-width:860px){.carrusel{margin-left:0}.carrusel__btn--prev{left:6px}.carrusel__btn--sig{right:6px}}

.circuito__foto{background:var(--fondo-2)}
.circuito__foto img{object-fit:contain}
.circuito__acciones{display:flex;flex-wrap:wrap;align-items:center;gap:12px 18px}
.circuito__acciones .pildora{max-width:240px}
.circuitos__mas{margin:32px auto 0;display:flex}

.persona__capa{position:absolute;inset:0;transition:opacity 1.2s ease}
.persona__capa--entra{opacity:0}
.viaje[hidden]{display:none}
/* Condiciones generales e información adicional: más grandes (pedido 2026-10-27). */
.condiciones summary{font-size:20px}
.condiciones ul{font-size:17px;line-height:1.55;gap:10px}
/* El atributo hidden siempre gana (si no, .combina/.viaje con display propio lo ignoran). */
[hidden]{display:none!important}

/* Buscador del mapa y lista de programas con país y silueta desvanecida detrás. */
.buscador{margin:24px 0 0;max-width:560px}
.buscador__lab{display:block;margin-bottom:8px;font-size:15px;color:var(--apagado)}
.buscador input{width:100%;padding:14px 18px;border:1px solid var(--vidrio-borde);border-radius:999px;background:var(--fondo-2);color:var(--texto);font:500 17px var(--sans);outline:none;transition:border-color .2s ease}
.buscador input::placeholder{color:#7f9296}
.buscador input:focus{border-color:var(--acento)}
.paq-reg__lista li{position:relative;overflow:hidden}
.paq-reg__lista a,.paq-reg__lista span.paq-reg__txt{position:relative}
.paq-reg__nom{display:flex;flex-direction:column;gap:2px;min-width:0;position:relative;z-index:1}
.paq-reg__paises{font-family:var(--sans);font-size:14px;font-weight:500;color:var(--apagado);letter-spacing:.01em}
.paq-reg__dur{position:relative;z-index:1}
.paq-sil{position:absolute;right:56px;top:50%;width:92px;height:92px;transform:translateY(-50%);fill:var(--acento);opacity:.16;pointer-events:none;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 45%);mask-image:linear-gradient(90deg,transparent,#000 45%);transition:opacity .3s ease}
.paq-reg__lista a:hover .paq-sil{opacity:.3}
.paq-reg__vacio{padding:16px 0;color:var(--apagado);font-size:16px;border-bottom:0!important}

/* Logotipo oficial en positivo (azul y rojo) dentro de un recuadro blanco, como se acordó con Karlú
   el 2026-10-27: sobre el fondo oscuro el logo blanco se leía como negativo. */
.marca__logo{box-sizing:border-box;height:46px;padding:7px 12px;background:#fff;border-radius:6px}
.pie__logo img{box-sizing:border-box;width:clamp(116px,9vw,148px);padding:14px 16px;background:#fff;border-radius:8px}
@media (max-width:860px){.marca__logo{height:40px;padding:6px 10px}}

/* Leyenda de precios (acordada con Karlú), notas de tarifa, logotipos de aliados y páginas legales. */
.leyenda-precios{margin:-12px 0 22px;font-size:15px;color:var(--acento)}
.incluye-sec .leyenda-precios{margin:24px 0 0}
.reserva__leyenda{margin:-6px 0 12px;font-size:14px;color:var(--apagado);line-height:1.4}
.tarifa__notas{margin:14px 0 0;padding-left:18px;display:grid;gap:6px;font-size:15px;color:var(--apagado)}
.aliados{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}
.aliados li{display:flex;align-items:center;justify-content:center;height:64px;min-width:64px;padding:6px;background:#fff;border-radius:6px}
.aliados img{height:52px;width:auto}
.aliados li.aliados__txt{padding:0 12px;background:transparent;border:1px solid var(--linea);color:var(--apagado);font-size:14px;height:auto;min-height:40px}
.legal{max-width:880px}
.legal .titulo{margin:16px 0 28px}
.legal__intro{color:var(--apagado);font-size:17px;max-width:62ch}
.legal__txt{display:grid;gap:14px;font-size:17px;line-height:1.6;max-width:68ch}
.legal__txt h2{margin:24px 0 0;font-family:var(--display);font-weight:400;font-size:24px}
.legal__txt ul{margin:0;padding-left:20px;display:grid;gap:8px}
.legal__txt p{margin:0}
.pagina-legal .pie{padding-top:24px}
.respaldo .aliados{gap:10px}.respaldo .aliados li{opacity:1;font-family:var(--sans);letter-spacing:0}

.trampa{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0}
.tabla--categorias td{font-size:15px;min-width:120px}.tabla-caja--ancha{overflow-x:auto}
/* Tablas de categorías de hotel: la primera categoría no va atenuada (era la regla de «noches» de la tabla simple). */
.tabla--categorias td:nth-child(2){color:inherit}
/* Noches adicionales, suplementos y opcionales en tabla (2026-10-27): a lo ancho, debajo de las temporadas. */
.tarifas--ancho{grid-template-columns:1fr}
.tarifas--ancho .tarifas__extra{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:28px 40px}
.tabla--extra{min-width:0;width:100%}
.tabla--extra td{font-size:16px;white-space:nowrap}
.tabla--extra td.destaca{color:var(--acento)}
.tabla--extra tbody th{font-weight:600;font-size:15px}
.tabla--extra tbody th span{display:block;font-weight:400;font-size:13px;color:var(--apagado);margin-top:2px;white-space:normal}
.tabla--extra td b{font-weight:600}
.extra .lista{margin-top:10px}
