/* Toboganes de Santa Ana — página nueva (hecha desde cero)
   Tipos: Fredoka (títulos), Montserrat (menú), Poppins (texto). */

:root{
  --tinta:#12274A;
  --tinta-2:#40546F;
  --cielo:#1B8CF2;
  --cielo-2:#3CC6F2;
  --mar:#0B4EA0;
  --sol:#FFC81E;
  --sol-2:#FFDE59;
  --crema:#F1F9FF;
  --blanco:#fff;
  --verde:#23802B;
  --azul:#1166D8;
  --rojo:#CF3A22;
  --naranja:#F5901E;
  --rosa:#D6267F;
  --morado:#6B3FD0;
  --ancho:1240px;
  --canal:clamp(18px,4vw,48px);
  --titulos:'Fredoka',system-ui,sans-serif;
  --menu:'Montserrat',system-ui,sans-serif;
  --cuerpo:'Poppins',system-ui,sans-serif;
  --rebote:cubic-bezier(.34,1.56,.64,1);
  --salida:cubic-bezier(.16,1,.3,1);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;scroll-padding-top:96px;scrollbar-color:var(--cielo) var(--crema);}
body{
  font-family:var(--cuerpo);font-size:1rem;line-height:1.6;color:var(--tinta);
  background:var(--crema);overflow-x:hidden;
  accent-color:var(--verde);caret-color:var(--verde);
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--sol);color:var(--tinta);}
img{display:block;max-width:100%;height:auto;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer;}
:focus-visible{outline:3px solid var(--tinta);outline-offset:3px;border-radius:10px;}
.llegar :focus-visible,.pie :focus-visible,.zona :focus-visible,.horario :focus-visible{outline-color:#fff;}

.salto{position:absolute;left:12px;top:-60px;z-index:200;background:var(--sol);padding:10px 16px;border-radius:12px;font-weight:600;}
.salto:focus{top:12px;}

/* ───────── Botones: pastilla con relieve, se hunden al tocar ───────── */
.boton{
  --fondo:var(--sol);--canto:#C98A00;--tx:var(--tinta);
  display:inline-flex;align-items:center;justify-content:center;gap:.55em;
  font-family:var(--titulos);font-weight:600;font-size:1.05rem;line-height:1;
  color:var(--tx);background:var(--fondo);
  padding:.85em 1.5em;border-radius:999px;white-space:nowrap;
  box-shadow:0 5px 0 var(--canto),0 14px 22px rgba(18,39,74,.22);
  transition:transform .18s var(--rebote),box-shadow .18s ease;
  -webkit-tap-highlight-color:transparent;
}
.boton:hover{transform:translateY(-3px);box-shadow:0 8px 0 var(--canto),0 20px 28px rgba(18,39,74,.26);}
.boton:active{transform:translateY(4px);box-shadow:0 1px 0 var(--canto),0 6px 10px rgba(18,39,74,.2);}
.boton--blanco{--fondo:#fff;--canto:#B9C8DC;}
.boton--verde{--fondo:var(--verde);--canto:#14561C;--tx:#fff;}
.boton--wsp{--fondo:#0E7A40;--canto:#07532A;--tx:#fff;}
.boton--grande{font-size:1.2rem;padding:.95em 1.7em;}
.boton i{font-size:.95em;}

/* ───────── Títulos ───────── */
.titulo{
  font-family:var(--titulos);font-weight:700;
  font-size:clamp(2rem,1.2rem + 3.2vw,3.5rem);line-height:1.02;letter-spacing:-.01em;
  text-wrap:balance;
}
.titulo--centro{text-align:center;}
.bajada{font-size:1.1rem;color:var(--tinta-2);max-width:46ch;margin-top:.6rem;}

/* ───────── Cabecera ───────── */
.cab{
  position:fixed;z-index:100;top:12px;left:50%;translate:-50% 0;
  width:min(1180px,calc(100% - 24px));height:64px;
  display:flex;align-items:center;gap:20px;
  padding:0 10px 0 150px;
  background:#fff;border-radius:999px;
  box-shadow:0 10px 30px rgba(11,45,92,.2);
  transition:translate .4s var(--salida);
}
.cab.oculta{translate:-50% -120px;}
.cab__logo{position:absolute;left:14px;top:-10px;width:118px;transition:rotate .4s var(--rebote),scale .4s var(--rebote);filter:drop-shadow(0 8px 10px rgba(11,45,92,.25));}
.cab__logo:hover{rotate:-6deg;scale:1.06;}
.cab__nav{display:flex;gap:6px;margin:0 auto;}
.cab__nav a{
  font-family:var(--menu);font-weight:700;font-size:.8rem;letter-spacing:.04em;text-transform:uppercase;
  padding:10px 14px;border-radius:999px;transition:background .2s,color .2s;
}
.cab__nav a:hover{background:#E8F4FF;color:var(--azul);}
.cab__cta{font-size:.98rem;padding:.75em 1.25em;}
.cab__menu{display:none;width:46px;height:46px;border-radius:50%;background:var(--tinta);flex-direction:column;align-items:center;justify-content:center;gap:5px;}
.cab__menu span{display:block;width:20px;height:2.5px;border-radius:2px;background:#fff;transition:transform .3s var(--salida),opacity .2s;}
.cab__menu[aria-expanded="true"] span:nth-child(1){transform:translateY(7.5px) rotate(45deg);}
.cab__menu[aria-expanded="true"] span:nth-child(2){opacity:0;}
.cab__menu[aria-expanded="true"] span:nth-child(3){transform:translateY(-7.5px) rotate(-45deg);}

@media (max-width:980px){
  .cab{padding-left:112px;gap:10px;height:60px;}
  .cab__logo{width:92px;top:-6px;left:10px;}
  .cab__cta{margin-left:auto;font-size:.9rem;padding:.7em 1em;}
  .cab__menu{display:flex;flex:none;}
  .cab__nav{
    position:absolute;top:72px;left:0;right:0;margin:0;
    flex-direction:column;gap:2px;padding:12px;
    background:#fff;border-radius:26px;box-shadow:0 18px 40px rgba(11,45,92,.25);
    opacity:0;visibility:hidden;transform:translateY(-10px) scale(.97);transform-origin:top;
    transition:opacity .2s,transform .3s var(--salida),visibility .3s;
  }
  .cab__nav.abierto{opacity:1;visibility:visible;transform:none;}
  .cab__nav a{font-size:.95rem;padding:14px 18px;}
}
@media (max-width:420px){ .cab__cta i{display:none;} .cab__cta{font-size:.85rem;} }

/* ───────── Portada ───────── */
.portada{
  position:relative;isolation:isolate;overflow:hidden;
  min-height:min(100svh,900px);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:20px;
  padding:104px max(var(--canal),calc((100% - var(--ancho)) / 2)) 170px;
  background:linear-gradient(180deg,#0E57C8 0%,#1166D8 46%,#1A80EA 80%,var(--cielo-2) 100%);
  color:#fff;
}
.portada__cielo{position:absolute;inset:0;z-index:-1;overflow:hidden;}
.rayo{
  position:absolute;left:72%;top:42%;width:220vmax;height:220vmax;translate:-50% -50%;
  background:repeating-conic-gradient(from 0deg,rgba(255,255,255,.1) 0 7deg,transparent 7deg 20deg);
  -webkit-mask:radial-gradient(circle,#000 0,transparent 42%);mask:radial-gradient(circle,#000 0,transparent 42%);
  animation:gira 90s linear infinite;
}
.nube{position:absolute;height:54px;border-radius:999px;background:#fff;opacity:.92;filter:drop-shadow(0 10px 0 rgba(255,255,255,.25));}
.nube::before,.nube::after{content:"";position:absolute;background:#fff;border-radius:50%;}
.nube::before{width:58%;aspect-ratio:1;left:14%;bottom:30%;}
.nube::after{width:40%;aspect-ratio:1;right:12%;bottom:40%;}
.nube--1{width:170px;left:4%;top:17%;animation:deriva 46s linear infinite;}
.nube--2{width:120px;left:46%;top:13%;scale:.8;animation:deriva 60s linear -20s infinite;}
.nube--3{width:200px;right:3%;top:24%;scale:.9;opacity:.8;animation:deriva 70s linear -40s infinite;}

.letrero{
  font-family:var(--titulos);font-weight:700;line-height:.84;letter-spacing:-.02em;
  display:grid;justify-items:start;rotate:-4deg;transform-origin:left center;
  margin-bottom:1.6rem;
}
.letrero span{
  display:block;
  -webkit-text-stroke:.13em var(--tinta);paint-order:stroke fill;
  text-shadow:0 .08em 0 var(--tinta),.02em .17em .1em rgba(8,25,60,.35);
}
.letrero__sol{font-size:clamp(5.2rem,13.5vw,10.5rem);color:var(--sol);}
.letrero__todo{font-size:clamp(2.7rem,7vw,5.4rem);color:#fff;margin:.02em 0 0 .5em;}
.letrero__ano{font-size:clamp(4.6rem,12vw,9.2rem);color:var(--sol);margin:-.02em 0 0 .25em;rotate:-3deg;}
.portada__bajada{font-size:clamp(1.05rem,.95rem + .5vw,1.3rem);line-height:1.5;max-width:34ch;font-weight:500;text-shadow:0 2px 10px rgba(11,60,140,.35);}
.portada__acciones{display:flex;flex-wrap:wrap;gap:14px;margin-top:1.6rem;}
.portada__datos{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:1.5rem;}
.portada__datos li{
  display:inline-flex;align-items:center;gap:.5em;
  background:rgba(8,40,100,.38);border-radius:999px;padding:.45em 1em;
  font-family:var(--titulos);font-weight:500;font-size:.95rem;
}
.portada__datos i{color:var(--sol-2);}

.portada__escena{position:relative;align-self:stretch;min-height:420px;}
.portada__sol{
  position:absolute;left:50%;bottom:-13%;width:min(108%,640px);translate:-50% 0;
  filter:drop-shadow(0 30px 30px rgba(6,40,100,.35));
  animation:flota 5s ease-in-out infinite;
}
.portada__sol img{width:100%;transition:transform .5s var(--rebote);}
.portada__sol:hover img{transform:rotate(-4deg) scale(1.03);}
.portada__sol.salta img{animation:salta .9s var(--rebote);}
.flota{position:absolute;filter:drop-shadow(0 18px 18px rgba(6,40,100,.3));}
.flota--dona{width:27%;left:-6%;bottom:6%;animation:flota 6s ease-in-out -2s infinite;}
.flota--pelota{width:19%;right:-2%;top:9%;animation:bota 4.5s ease-in-out infinite;}
.burbuja{
  position:absolute;border-radius:50%;overflow:hidden;
  border:6px solid #fff;box-shadow:0 16px 28px rgba(6,40,100,.35);
  transition:scale .4s var(--rebote);
}
.burbuja img{width:100%;height:100%;object-fit:cover;}
.burbuja:hover{scale:1.08;}
.burbuja--1{width:27%;aspect-ratio:1;left:0;top:7%;animation:flota 7s ease-in-out -1s infinite;}
.burbuja--2{width:19%;aspect-ratio:1;left:-9%;top:44%;animation:flota 6s ease-in-out -3s infinite;}

.olas{position:absolute;left:0;bottom:-1px;width:200%;height:clamp(110px,15vw,200px);z-index:2;pointer-events:none;}
.olas path{animation:ola 14s linear infinite;}
.olas__3{fill:#8FE3FB;opacity:.75;animation-duration:22s;}
.olas__2{fill:#2FB4F4;animation-duration:16s;animation-direction:reverse;}
.olas__1{fill:var(--crema);animation-duration:11s;}

@media (max-width:900px){
  .portada{grid-template-columns:1fr;padding-top:104px;padding-bottom:130px;gap:0;min-height:0;}
  .portada__texto{position:relative;z-index:3;}
  .portada__escena{min-height:0;height:min(92vw,520px);margin-top:10px;}
  .portada__sol{width:min(92%,520px);bottom:-6%;}
  .flota--dona{left:-8%;bottom:2%;width:28%;}
  .flota--pelota{right:0;top:2%;width:20%;}
  .burbuja--1{width:26%;top:0;left:2%;}
  .burbuja--2{width:20%;left:auto;right:0;top:34%;}
  .portada__acciones .boton{flex:1 1 auto;}
}

/* ───────── Cinta ───────── */
.cinta{
  position:relative;z-index:5;margin:-34px -3vw 0;rotate:-1.6deg;
  background:var(--sol);color:var(--tinta);
  border-block:4px solid var(--tinta);
  overflow:hidden;
}
.cinta__pista{display:flex;align-items:center;gap:26px;width:max-content;padding:14px 0;animation:corre 38s linear infinite;}
.cinta span{font-family:var(--titulos);font-weight:700;font-size:clamp(1.1rem,.9rem + 1vw,1.7rem);text-transform:uppercase;letter-spacing:.02em;white-space:nowrap;}
.cinta i{font-size:1.2rem;color:var(--rojo);animation:gira 8s linear infinite;}

/* ───────── Boletos ───────── */
.boletos{
  padding:clamp(70px,9vw,120px) max(var(--canal),calc((100% - var(--ancho)) / 2)) clamp(60px,8vw,100px);
  background:
    radial-gradient(circle at 1px 1px,rgba(18,39,74,.09) 1.5px,transparent 2px) 0 0 / 26px 26px,
    var(--crema);
}
.boletos__cabeza{display:flex;align-items:center;gap:clamp(14px,3vw,34px);margin-bottom:clamp(30px,5vw,56px);}
.boletos__sol{width:clamp(110px,16vw,210px);flex:none;rotate:-8deg;filter:drop-shadow(0 14px 16px rgba(120,70,0,.28));}
.boletos__lista{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:clamp(14px,1.8vw,24px);align-items:stretch;}
.boletos__lista > li{filter:drop-shadow(0 14px 18px rgba(18,39,74,.2));transition:filter .3s,rotate .4s var(--rebote),translate .4s var(--rebote);display:flex;}
.boletos__lista > li:nth-child(odd){rotate:-1.6deg;}
.boletos__lista > li:nth-child(even){rotate:1.6deg;translate:0 14px;}
@media (hover:hover){
  .boletos__lista > li:hover{rotate:0deg;translate:0 -12px;filter:drop-shadow(0 26px 26px rgba(18,39,74,.28));z-index:2;}
}
.boleto{
  --c:var(--azul);--corte:150px;
  position:relative;display:flex;flex-direction:column;flex:1;
  background:#fff;border-radius:26px;overflow:hidden;
  -webkit-mask:
    radial-gradient(circle 13px at 0 var(--corte),transparent 97%,#000) left / 51% 100% no-repeat,
    radial-gradient(circle 13px at 100% var(--corte),transparent 97%,#000) right / 51% 100% no-repeat;
  mask:
    radial-gradient(circle 13px at 0 var(--corte),transparent 97%,#000) left / 51% 100% no-repeat,
    radial-gradient(circle 13px at 100% var(--corte),transparent 97%,#000) right / 51% 100% no-repeat;
}
.boleto--naranja{--c:var(--naranja);}
.boleto--rojo{--c:var(--rojo);}
.boleto--rosa{--c:var(--rosa);}
.boleto--verde{--c:var(--verde);}
.boleto__cab{
  height:var(--corte);padding:20px 20px 0;
  background:var(--c);color:#fff;
  border-bottom:3px dashed rgba(255,255,255,.75);
}
.boleto--naranja .boleto__cab{color:var(--tinta);border-bottom-color:rgba(18,39,74,.55);}
.boleto__cab i{font-size:1.9rem;margin-bottom:10px;display:block;}
.boleto__cab h3{font-family:var(--titulos);font-weight:700;font-size:1.45rem;line-height:1.05;}
.boleto__cab p{font-family:var(--titulos);font-weight:500;font-size:.98rem;margin-top:2px;}
.boleto__cuerpo{display:flex;flex-direction:column;flex:1;padding:22px 20px 22px;}
.boleto__precio{font-family:var(--titulos);font-weight:700;line-height:1;color:var(--tinta);display:flex;flex-wrap:wrap;align-items:baseline;gap:.25em;font-variant-numeric:tabular-nums;}
.boleto__precio small{font-size:.95rem;font-weight:600;color:var(--tinta-2);}
.boleto__precio span{font-size:1.5rem;white-space:nowrap;}
.boleto__precio b{
  font-size:2.7rem;font-weight:700;
  background:linear-gradient(transparent 62%,var(--sol-2) 62% 92%,transparent 92%);
  padding:0 .08em;
}
.boleto__detalle{font-size:.88rem;color:var(--tinta-2);margin-top:6px;min-height:2.6em;line-height:1.3;}
.boleto__incluye{margin:12px 0 20px;display:grid;gap:7px;font-size:.92rem;line-height:1.3;}
.boleto__incluye li{position:relative;padding-left:22px;}
.boleto__incluye li::before{content:"";position:absolute;left:0;top:.28em;width:12px;height:12px;border-radius:50%;background:var(--c);box-shadow:inset 0 0 0 3px #fff,0 0 0 2px var(--c);}
.boleto .boton{margin-top:auto;width:100%;}
.boleto[hidden]{display:none;}
.boletos__nota{margin-top:46px;text-align:center;font-size:.95rem;color:var(--tinta-2);}
.boletos__nota a{color:var(--azul);font-weight:600;text-decoration:underline;text-underline-offset:3px;}

@media (max-width:1100px){ .boletos__lista{grid-template-columns:repeat(3,minmax(0,1fr));} }
@media (max-width:720px){
  .boletos__lista{
    display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;
    margin-inline:calc(var(--canal) * -1);padding:10px var(--canal) 34px;
    scrollbar-width:none;
  }
  .boletos__lista::-webkit-scrollbar{display:none;}
  .boletos__lista > li{flex:0 0 min(74vw,290px);scroll-snap-align:center;}
  .boletos__lista > li:nth-child(even){translate:0 0;}
  .boletos__nota{margin-top:10px;}
}

/* ───────── El club ───────── */
.club{padding:clamp(40px,6vw,80px) max(var(--canal),calc((100% - var(--ancho)) / 2)) clamp(60px,8vw,110px);}
.club > .titulo{margin-bottom:clamp(30px,5vw,60px);}
.zona{
  --c:var(--azul);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);align-items:center;gap:clamp(20px,4vw,60px);
  background:var(--c);color:#fff;
  border-radius:clamp(28px,4vw,48px);
  padding:clamp(26px,4.5vw,60px);
  margin-bottom:clamp(20px,3vw,34px);
  box-shadow:0 24px 40px rgba(18,39,74,.18);
  position:relative;
}
.zona--rojo{--c:var(--rojo);}
.zona--verde{--c:var(--verde);}
.zona--morado{--c:var(--morado);}
.zona--invertida .zona__texto{order:2;}
.zona h3{font-family:var(--titulos);font-weight:700;font-size:clamp(1.9rem,1.2rem + 2.6vw,3.1rem);line-height:1;letter-spacing:-.01em;text-wrap:balance;}
.zona p{font-size:1.08rem;margin-top:.9rem;max-width:42ch;}
.zona__puntos{display:grid;gap:10px;margin:1.3rem 0 1.8rem;font-family:var(--titulos);font-weight:500;font-size:1.08rem;}
.zona__puntos li{display:flex;align-items:center;gap:12px;}
.zona__puntos i{flex:none;width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--c);font-size:1rem;}
.zona__fotos{position:relative;aspect-ratio:1.18;}
.foto{position:absolute;object-fit:cover;border:7px solid #fff;border-radius:30px;box-shadow:0 18px 30px rgba(0,0,0,.28);transition:rotate .5s var(--rebote),scale .5s var(--rebote);}
.foto--a{width:66%;aspect-ratio:1;left:0;top:0;rotate:-5deg;}
.foto--b{width:52%;aspect-ratio:1;right:0;bottom:0;rotate:6deg;}
@media (hover:hover){ .zona__fotos:hover .foto--a{rotate:-2deg;scale:1.03;} .zona__fotos:hover .foto--b{rotate:2deg;scale:1.05;} }
.zona__sol{position:absolute;width:44%;left:42%;top:-13%;rotate:8deg;filter:drop-shadow(0 14px 16px rgba(0,0,0,.3));pointer-events:none;}
.zona--invertida .zona__sol{left:auto;right:36%;top:auto;bottom:-14%;rotate:-8deg;}
.zona--verde .zona__sol{left:36%;top:auto;bottom:-12%;}

@media (min-width:1000px) and (min-height:760px){
  .zona{position:sticky;top:calc(92px + var(--n,0) * 16px);}
  .zona:nth-of-type(2){--n:1;}
  .zona:nth-of-type(3){--n:2;}
  .zona:nth-of-type(4){--n:3;}
}
@media (max-width:820px){
  .zona{grid-template-columns:1fr;}
  .zona--invertida .zona__texto{order:0;}
  .zona__fotos{aspect-ratio:1.25;margin-top:8px;}
  .zona__sol{width:40%;}
}

/* ───────── Cumpleañeros y horarios ───────── */
.dupla{
  display:grid;grid-template-columns:1.25fr 1fr;gap:clamp(18px,3vw,34px);
  padding:0 max(var(--canal),calc((100% - var(--ancho)) / 2)) clamp(60px,8vw,110px);
}
.cumple,.horario{border-radius:clamp(28px,4vw,48px);padding:clamp(28px,4.5vw,56px);position:relative;}
.cumple{
  background:
    radial-gradient(circle at 96% 12%,#D6267F 0 7px,transparent 8px),
    radial-gradient(circle at 62% 92%,#1166D8 0 6px,transparent 7px),
    radial-gradient(circle at 70% 7%,#23802B 0 6px,transparent 7px),
    radial-gradient(circle at 93% 88%,#6B3FD0 0 7px,transparent 8px),
    var(--sol);
  padding-right:clamp(120px,24vw,300px);
  box-shadow:0 24px 40px rgba(160,100,0,.22);
}
.cumple .titulo span{display:block;color:var(--rojo);}
.cumple p{font-size:1.08rem;margin-top:1rem;max-width:34ch;font-weight:500;}
.cumple__letra{display:inline-flex;align-items:center;gap:10px;background:#fff;border-radius:16px;padding:10px 16px;font-size:.95rem !important;font-weight:500;}
.cumple__sol{position:absolute;right:-3%;top:50%;translate:0 -50%;width:clamp(150px,30vw,340px);rotate:6deg;filter:drop-shadow(0 16px 18px rgba(120,60,0,.3));}
.horario{background:var(--tinta);color:#fff;box-shadow:0 24px 40px rgba(18,39,74,.25);display:flex;flex-direction:column;align-items:flex-start;}
.horario__sub{color:#B9CCE6;margin-top:.5rem;}
.horario__lista{display:grid;gap:14px;margin:1.6rem 0 2rem;width:100%;}
.horario__lista div{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 16px;padding-bottom:14px;border-bottom:2px dashed rgba(255,255,255,.22);}
.horario__lista dt{font-family:var(--titulos);font-weight:500;font-size:1.15rem;}
.horario__lista dd{font-family:var(--titulos);font-weight:700;font-size:1.45rem;color:var(--sol);font-variant-numeric:tabular-nums;}
@media (max-width:860px){
  .dupla{grid-template-columns:1fr;}
  .cumple{padding-right:clamp(28px,4.5vw,56px);padding-top:clamp(110px,30vw,170px);}
  .cumple__sol{right:6%;top:-40px;translate:0 0;width:clamp(140px,38vw,200px);}
}

/* ───────── Fotos ───────── */
.fotos{overflow:hidden;padding:10px 0 clamp(60px,8vw,110px);}
.fotos__pista{display:flex;gap:22px;width:max-content;animation:corre 70s linear infinite;}
.fotos:hover .fotos__pista{animation-play-state:paused;}
.fotos img{width:clamp(190px,22vw,290px);aspect-ratio:1;object-fit:cover;border:6px solid #fff;border-radius:30px;box-shadow:0 14px 24px rgba(18,39,74,.2);transition:rotate .4s var(--rebote),scale .4s var(--rebote);}
.fotos img:nth-child(odd){rotate:-3deg;}
.fotos img:nth-child(even){rotate:3deg;margin-top:22px;}
.fotos img:hover{rotate:0deg;scale:1.06;}

/* ───────── Cómo llegar ───────── */
.llegar{
  position:relative;color:#fff;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);align-items:center;gap:clamp(24px,5vw,70px);
  padding:clamp(120px,14vw,180px) max(var(--canal),calc((100% - var(--ancho)) / 2)) clamp(90px,11vw,150px);
  background:linear-gradient(180deg,#1166D8 0%,var(--mar) 100%);
}
.llegar__ola{position:absolute;top:-1px;left:0;width:100%;height:clamp(40px,6vw,90px);fill:var(--crema);}
.llegar__ola--abajo{top:auto;bottom:-1px;transform:scaleY(-1);}
.llegar__sol{width:clamp(130px,17vw,220px);margin-bottom:6px;rotate:-6deg;filter:drop-shadow(0 16px 18px rgba(0,20,70,.35));}
.llegar__dir{font-family:var(--titulos);font-weight:500;font-size:1.3rem;margin-top:.8rem;}
.llegar__acciones{display:flex;flex-wrap:wrap;gap:14px;margin-top:1.8rem;}
.llegar__mapa{border:8px solid #fff;border-radius:36px;overflow:hidden;rotate:1.5deg;box-shadow:0 26px 40px rgba(0,20,70,.4);aspect-ratio:4 / 3;background:#DDE9F5;}
.llegar__mapa iframe{width:100%;height:100%;border:0;display:block;}
@media (max-width:860px){ .llegar{grid-template-columns:1fr;} .llegar__mapa{rotate:0deg;} }

/* ───────── Preguntas ───────── */
.preguntas{padding:clamp(70px,9vw,120px) var(--canal);background:var(--crema);}
.preguntas[hidden]{display:none;}
.preguntas__lista{max-width:820px;margin:clamp(28px,4vw,48px) auto 0;display:grid;gap:14px;}
.preguntas details{background:#fff;border-radius:22px;box-shadow:0 8px 18px rgba(18,39,74,.08);overflow:hidden;}
.preguntas summary{
  list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:16px;
  padding:20px 24px;font-family:var(--titulos);font-weight:600;font-size:1.15rem;line-height:1.25;
}
.preguntas summary::-webkit-details-marker{display:none;}
.preguntas summary::after{
  content:"+";flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;
  background:var(--sol);font-size:1.5rem;line-height:1;transition:rotate .35s var(--rebote),background .2s;
}
.preguntas details[open] summary::after{rotate:135deg;background:var(--cielo);color:#fff;}
.preguntas details p{padding:0 24px 22px;color:var(--tinta-2);max-width:68ch;}

/* ───────── Pie ───────── */
.pie{position:relative;background:#0E2147;color:#D5E1F3;padding:clamp(100px,12vw,150px) max(var(--canal),calc((100% - var(--ancho)) / 2)) 110px;}
.pie__ola{position:absolute;top:-1px;left:0;width:100%;height:clamp(40px,6vw,90px);fill:var(--crema);transform:scaleY(-1);}
.pie__sol{position:absolute;right:max(4%,calc((100% - var(--ancho)) / 2));top:clamp(-70px,-6vw,-30px);width:clamp(110px,15vw,200px);rotate:8deg;filter:drop-shadow(0 14px 16px rgba(0,0,0,.35));}
.pie__cuerpo{display:grid;grid-template-columns:1.4fr 1fr 1.3fr;gap:clamp(24px,5vw,70px);}
.pie__marca img{width:120px;margin-bottom:14px;}
.pie__marca p{max-width:36ch;}
.pie h2{font-family:var(--titulos);font-weight:600;font-size:1.25rem;color:#fff;margin-bottom:14px;}
.pie nav a,.pie__cuerpo > div > a,.pie__cuerpo > div > p{display:flex;align-items:center;gap:10px;padding:5px 0;}
.pie a{transition:color .2s;}
.pie a:hover{color:var(--sol);}
.pie i{color:var(--sol);}
.pie__redes{display:flex;gap:10px;margin-top:14px;}
.pie__redes a{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);transition:background .2s,translate .3s var(--rebote);}
.pie__redes a:hover{background:var(--sol);translate:0 -4px;}
.pie__redes a:hover i{color:var(--tinta);}
.pie__legal{display:flex;flex-wrap:wrap;align-items:center;gap:10px 28px;margin-top:46px;padding-top:24px;border-top:1px solid rgba(255,255,255,.14);font-size:.92rem;}
.pie__pagos{margin-left:auto;display:flex;gap:12px;font-size:1.9rem;}
.pie__pagos i{color:#fff;}
@media (max-width:760px){ .pie__cuerpo{grid-template-columns:1fr;} .pie__pagos{margin-left:0;} }

/* ───────── Fijos ───────── */
.wsp-flotante{
  position:fixed;z-index:90;right:18px;bottom:18px;width:58px;height:58px;border-radius:50%;
  display:grid;place-items:center;background:#0E7A40;color:#fff;font-size:1.8rem;
  box-shadow:0 5px 0 #07532A,0 14px 22px rgba(0,60,30,.35);transition:translate .3s var(--rebote);
}
.wsp-flotante:hover{translate:0 -5px;}
.barra-movil{display:none;}
@media (max-width:760px){
  .barra-movil{display:flex;position:fixed;z-index:90;left:14px;right:86px;bottom:16px;font-size:1.1rem;padding:1em;translate:0 140%;transition:translate .5s var(--salida),transform .18s var(--rebote),box-shadow .18s;}
  .barra-movil.visible{translate:0 0;}
  .wsp-flotante{bottom:16px;right:14px;}
  .pie{padding-bottom:120px;}
}

/* ───────── Aparición al hacer scroll ───────── */
.js .revela{opacity:0;transform:translateY(46px) rotate(-4deg) scale(.92);}
.js .revela.visto{opacity:1;transform:none;transition:opacity .5s ease,transform .8s var(--rebote);transition-delay:var(--espera,0s);}
.js .zona .foto,.js .zona .zona__sol{transition:rotate .5s var(--rebote),scale .5s var(--rebote),opacity .5s ease,translate .9s var(--rebote);}
.js .zona:not(.visto) .foto--a{opacity:0;translate:-60px 30px;}
.js .zona:not(.visto) .foto--b{opacity:0;translate:60px 40px;}
.js .zona:not(.visto) .zona__sol{opacity:0;scale:.4;}
.js .zona.visto .foto--b{transition-delay:.12s;}
.js .zona.visto .zona__sol{transition-delay:.28s;}

/* Entrada de la portada */
.letrero span{animation:cae .8s var(--rebote) backwards;}
.letrero__todo{animation-delay:.12s !important;}
.letrero__ano{animation-delay:.24s !important;}
.portada__bajada,.portada__acciones,.portada__datos{animation:sube .7s var(--salida) .45s backwards;}
.portada__acciones{animation-delay:.55s;}
.portada__datos{animation-delay:.65s;}

@keyframes cae{from{opacity:0;transform:translateY(-60px) rotate(-10deg) scale(.7);}}
@keyframes sube{from{opacity:0;transform:translateY(24px);}}
@keyframes flota{0%,100%{transform:translateY(0) rotate(-1.5deg);}50%{transform:translateY(-16px) rotate(1.5deg);}}
@keyframes bota{0%,100%{transform:translateY(0) rotate(0);}50%{transform:translateY(-34px) rotate(24deg);}}
@keyframes salta{0%{transform:none;}35%{transform:translateY(-70px) rotate(-12deg) scale(1.06);}70%{transform:translateY(8px) rotate(4deg) scale(.98);}100%{transform:none;}}
@keyframes ola{to{transform:translateX(-25%);}}
@keyframes corre{to{transform:translateX(-50%);}}
@keyframes gira{to{rotate:360deg;}}
@keyframes deriva{from{translate:-30vw 0;}to{translate:110vw 0;}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none !important;transition-duration:.01ms !important;scroll-behavior:auto !important;}
  .js .revela,.js .zona:not(.visto) .foto,.js .zona:not(.visto) .zona__sol{opacity:1;transform:none;translate:none;scale:none;}
}

/* Celular: el sol va justo debajo del letrero, antes del texto */
@media (max-width:900px){
  .portada__texto{display:contents;}
  .letrero{order:1;margin-bottom:0;position:relative;z-index:3;}
  .portada__escena{order:2;height:min(84vw,480px);margin:-6vw 0 4vw;}
  .portada__bajada{order:3;max-width:none;position:relative;z-index:3;}
  .portada__acciones{order:4;position:relative;z-index:3;}
  .portada__datos{order:5;position:relative;z-index:3;}
  .portada__sol{bottom:-4%;width:min(96%,520px);}
  .burbuja--1{top:16%;left:0;width:24%;}
  .burbuja--2{top:6%;right:2%;left:auto;width:22%;}
  .flota--pelota{top:auto;bottom:6%;right:-3%;width:19%;}
  .flota--dona{bottom:0;left:-7%;width:26%;}
}


/* ═════════ Segunda tanda: elementos del cliente y secciones nuevas ═════════ */

/* Letrero original */
.letrero{display:block;rotate:0deg;margin-bottom:1.2rem;}
.letrero img{
  width:clamp(220px,24vw,345px);margin-left:-3%;
  filter:drop-shadow(0 18px 20px rgba(4,26,80,.4));
  animation:cae .9s var(--rebote) backwards;
  transition:rotate .5s var(--rebote),scale .5s var(--rebote);
}
.letrero img:hover{rotate:-3deg;scale:1.03;}
@media (max-width:900px){ .letrero img{width:min(66vw,330px);margin-left:-2%;} }

/* ¿Qué día vienes? */
.dias{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;margin-bottom:clamp(26px,4vw,44px);}
.dias > p:first-child{font-family:var(--titulos);font-weight:600;font-size:1.25rem;}
.dias__botones{display:flex;flex-wrap:wrap;gap:8px;}
.dias__botones button{
  font-family:var(--titulos);font-weight:600;font-size:1.02rem;line-height:1;
  min-width:58px;padding:.75em .9em;border-radius:999px;
  background:#fff;color:var(--tinta);
  box-shadow:0 4px 0 #B9C8DC,0 8px 14px rgba(18,39,74,.12);
  transition:transform .18s var(--rebote),box-shadow .18s,background .2s,color .2s;
}
.dias__botones button:hover{transform:translateY(-2px);}
.dias__botones button[aria-pressed="true"]{background:var(--tinta);color:#fff;box-shadow:0 2px 0 #050E22,0 6px 10px rgba(18,39,74,.25);transform:translateY(2px);}
.dias__botones button[data-hoy]::after{content:"hoy";display:block;font-size:.62em;font-weight:500;margin-top:3px;opacity:.85;}
.dias__aviso{font-size:.95rem;color:var(--tinta-2);flex-basis:100%;min-height:1.5em;}
.boletos__lista > li.apagado{filter:grayscale(.85) opacity(.45);}
.boletos__lista > li.apagado .boton{pointer-events:none;}
.boletos__lista > li.vale{animation:brinca .6s var(--rebote);}
@keyframes brinca{40%{translate:0 -18px;}}

/* Tres pasos */
.pasos{padding:clamp(40px,6vw,80px) max(var(--canal),calc((100% - 1080px) / 2)) clamp(60px,8vw,110px);}
.pasos__lista{
  list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,3vw,40px);
  margin-top:clamp(40px,6vw,70px);position:relative;
}
.pasos__lista::before{
  content:"";position:absolute;left:12%;right:12%;top:42px;height:0;
  border-top:5px dotted var(--sol);z-index:0;
}
.pasos__lista li{position:relative;text-align:center;padding:0 6px;}
.pasos__lista i{
  position:relative;z-index:1;width:88px;height:88px;border-radius:50%;margin:0 auto 18px;
  display:grid;place-items:center;font-size:2.1rem;color:#fff;background:var(--azul);
  box-shadow:0 6px 0 #0A4AA3,0 16px 22px rgba(17,102,216,.3);
}
.pasos__lista li:nth-child(2) i{background:var(--naranja);color:var(--tinta);box-shadow:0 6px 0 #BF6A0C,0 16px 22px rgba(245,144,30,.3);rotate:4deg;}
.pasos__lista li:nth-child(3) i{background:var(--verde);box-shadow:0 6px 0 #14561C,0 16px 22px rgba(35,128,43,.3);rotate:-4deg;}
.pasos__num{
  position:absolute;z-index:2;left:calc(50% + 22px);top:-10px;width:34px;height:34px;border-radius:50%;
  display:grid;place-items:center;background:var(--sol);color:var(--tinta);
  font-family:var(--titulos);font-weight:700;font-size:1.1rem;box-shadow:0 3px 0 #C98A00;
}
.pasos__lista h3{font-family:var(--titulos);font-weight:700;font-size:1.45rem;line-height:1.1;}
.pasos__lista p{color:var(--tinta-2);margin-top:.5rem;max-width:32ch;margin-inline:auto;}
@media (max-width:760px){
  .pasos__lista{grid-template-columns:1fr;gap:34px;}
  .pasos__lista::before{left:50%;right:auto;top:20px;bottom:60px;height:auto;border-top:0;border-left:5px dotted var(--sol);}
  .pasos__lista li{background:var(--crema);padding-block:6px;}
}

/* Sol en bici dentro del bloque de juegos */
.zona__sol--bici,.zona--invertida .zona__sol--bici{width:40%;left:auto;right:-6%;top:-20%;bottom:auto;rotate:6deg;}

/* Panorámica real */
.panorama{position:relative;isolation:isolate;min-height:clamp(480px,62vw,820px);display:grid;align-items:end;overflow:hidden;margin-bottom:clamp(50px,7vw,100px);}
.panorama__foto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:60% 55%;z-index:-2;scale:1.08;}
.panorama::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(8,30,80,0) 35%,rgba(8,30,80,.78) 100%);}
.panorama__ola{position:absolute;top:-1px;left:0;width:100%;height:clamp(36px,5.5vw,84px);fill:var(--crema);z-index:1;}
.panorama__ola--abajo{top:auto;bottom:-1px;transform:scaleY(-1);}
.panorama__texto{
  position:relative;z-index:2;color:#fff;
  padding:0 max(var(--canal),calc((100% - var(--ancho)) / 2)) clamp(90px,11vw,150px);
  display:flex;flex-wrap:wrap;align-items:flex-end;gap:20px 40px;
}
.panorama__texto .titulo{flex:1 1 420px;max-width:16ch;text-shadow:0 4px 18px rgba(0,10,40,.5);}
.panorama__cifras{display:flex;gap:14px;flex-wrap:wrap;}
.panorama__cifras[hidden]{display:none;}
.panorama__cifras li{
  background:#fff;color:var(--tinta);border-radius:24px;padding:14px 22px;text-align:center;
  box-shadow:0 14px 24px rgba(0,10,40,.35);rotate:-3deg;
}
.panorama__cifras li:nth-child(even){rotate:3deg;}
.panorama__cifras b{display:block;font-family:var(--titulos);font-weight:700;font-size:2.1rem;line-height:1;font-variant-numeric:tabular-nums;}
.panorama__cifras span{font-size:.9rem;font-weight:500;}
.panorama__cifras i{color:var(--naranja);margin-right:6px;}

/* El sol pasea en bici antes del pie */
.paseo{position:relative;height:clamp(120px,15vw,190px);overflow:hidden;margin-top:-10px;}
.paseo::after{content:"";position:absolute;left:0;right:0;bottom:16px;border-top:5px dotted #B9D3EC;}
.paseo__sol{position:absolute;bottom:6px;left:0;height:92%;width:auto;z-index:1;animation:pasea 22s linear infinite;filter:drop-shadow(0 8px 8px rgba(18,39,74,.2));}
@keyframes pasea{from{translate:-30vw 0;}to{translate:110vw 0;}}
@media (prefers-reduced-motion:reduce){ .paseo__sol{left:8%;} }


/* ═════════ Tercera tanda: contraste, movimiento y detalles ═════════ */

/* Contraste: el cielo se mantiene profundo donde hay texto */
.portada{background:linear-gradient(180deg,#0C4DB8 0%,#1166D8 58%,#1672DF 84%,var(--cielo-2) 100%);}
.llegar{background:linear-gradient(180deg,#1166D8 0%,#0A4696 100%);}

/* Cambio de página con transición (navegadores que lo soportan) */
@view-transition{navigation:auto;}
.cab{view-transition-name:cabecera;}
::view-transition-old(root){animation:sale-pagina .28s ease-in both;}
::view-transition-new(root){animation:entra-pagina .5s var(--salida) both;}
@keyframes sale-pagina{to{opacity:0;transform:translateY(-18px) scale(.985);}}
@keyframes entra-pagina{from{opacity:0;transform:translateY(34px);}}

/* Cabecera: se esconde al bajar y vuelve al subir */
.cab{transition:translate .45s var(--salida),box-shadow .3s;}
.cab.encogida{box-shadow:0 14px 34px rgba(11,45,92,.3);}

/* Botones: destello al pasar y gotas al tocar */
.boton{position:relative;overflow:hidden;isolation:isolate;}
.boton::after{
  content:"";position:absolute;z-index:-1;top:-20%;bottom:-20%;left:-60%;width:45%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);
  transform:skewX(-18deg);transition:left 0s;
}
@media (hover:hover){ .boton:hover::after{left:130%;transition:left .65s var(--salida);} }
.barra-movil.boton{position:fixed;}
.gota{
  position:fixed;z-index:300;left:0;top:0;width:12px;height:12px;pointer-events:none;
  border-radius:50% 50% 50% 4px;background:#3CC6F2;box-shadow:inset -2px -2px 0 rgba(255,255,255,.7);
  animation:salpica .7s var(--salida) forwards;
}
@keyframes salpica{
  from{opacity:1;transform:translate(var(--x0),var(--y0)) scale(.4) rotate(0);}
  to{opacity:0;transform:translate(calc(var(--x0) + var(--dx)),calc(var(--y0) + var(--dy))) scale(1) rotate(160deg);}
}

/* Títulos centrados con garabato de sol debajo */
.titulo--centro::after{
  content:"";display:block;width:150px;height:16px;margin:14px auto 0;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 150 16'%3E%3Cpath d='M4 10 C16 0 26 16 38 8 S60 0 72 8 S94 16 106 8 S128 0 146 8' fill='none' stroke='%23FFC81E' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
  animation:ondula 3.2s ease-in-out infinite;
}
@keyframes ondula{50%{transform:scaleX(.86) translateY(2px);}}

/* Burbujas que suben por la portada */
.portada::before{
  content:"";position:absolute;inset:auto 0 0 0;height:70%;z-index:-1;pointer-events:none;opacity:.5;
  background:
    radial-gradient(circle,rgba(255,255,255,.55) 0 5px,transparent 6px) 8% 0 / 190px 260px,
    radial-gradient(circle,rgba(255,255,255,.4) 0 8px,transparent 9px) 62% 60px / 250px 330px,
    radial-gradient(circle,rgba(255,255,255,.45) 0 3px,transparent 4px) 34% 120px / 140px 210px;
  -webkit-mask:linear-gradient(transparent,#000 55%);mask:linear-gradient(transparent,#000 55%);
  animation:burbujea 14s linear infinite;
}
@keyframes burbujea{to{background-position:8% -520px,62% -600px,34% -510px;}}

/* Boletos: el precio late al pasar por encima */
@media (hover:hover){ .boletos__lista > li:hover .boleto__precio b{animation:late .5s var(--rebote);} }
@keyframes late{40%{scale:1.14;}}

/* Pasos dentro de un panel blanco */
.pasos{
  margin:0 max(var(--canal),calc((100% - var(--ancho)) / 2)) clamp(50px,7vw,90px);
  padding:clamp(34px,5vw,64px) clamp(18px,4vw,56px);
  background:#fff;border-radius:clamp(28px,4vw,48px);box-shadow:0 22px 40px rgba(18,39,74,.1);
}
@media (max-width:760px){ .pasos__lista li{background:#fff;} }

/* Preguntas: se abren con suavidad */
:root{interpolate-size:allow-keywords;}
.preguntas details::details-content{block-size:0;overflow:clip;transition:block-size .4s var(--salida),content-visibility .4s allow-discrete;}
.preguntas details[open]::details-content{block-size:auto;}
.preguntas details{transition:box-shadow .3s,translate .3s var(--rebote);}
.preguntas details:hover{box-shadow:0 14px 26px rgba(18,39,74,.14);translate:0 -2px;}
.preguntas details[open]{box-shadow:0 0 0 3px var(--sol),0 14px 26px rgba(18,39,74,.12);}

/* El sol del pie flota y hay botón para volver arriba */
.pie__sol{animation:flota 6s ease-in-out infinite;}
.pie__arriba{
  display:inline-flex;align-items:center;gap:8px;font-family:var(--titulos);font-weight:600;color:var(--tinta);
  background:var(--sol);border-radius:999px;padding:.55em 1.1em;box-shadow:0 4px 0 #C98A00;
  transition:transform .18s var(--rebote),box-shadow .18s;
}
.pie__arriba:hover{transform:translateY(-3px);box-shadow:0 7px 0 #C98A00;}
.pie__arriba:active{transform:translateY(3px);box-shadow:0 1px 0 #C98A00;}
.pie .pie__arriba i{color:var(--tinta);}

/* Menú: subrayado que crece */
.cab__nav > a{position:relative;}
.cab__nav > a::after{content:"";position:absolute;left:14px;right:14px;bottom:4px;height:3px;border-radius:3px;background:var(--sol);transform:scaleX(0);transform-origin:left;transition:transform .3s var(--salida);}
.cab__nav > a:hover::after{transform:scaleX(1);}
.cab__nav > a[aria-current="page"]::after{display:none;}

@media (prefers-reduced-motion:reduce){
  ::view-transition-old(root),::view-transition-new(root){animation:none;}
}

/* La cinta inclinada sobresale a propósito: se recorta sin crear scroll horizontal */
html,body{overflow-x:clip;}


/* ═════════ Cuarta tanda: celular afinado ═════════ */

/* Barra inferior: lo importante siempre al alcance del pulgar */
.tabs{display:none;}
@media (max-width:760px){
  .tabs{
    position:fixed;z-index:95;left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0px));
    display:grid;grid-template-columns:1fr 1fr 1.3fr 1fr 1fr;align-items:end;
    background:#fff;border-radius:26px;padding:6px 6px 7px;
    box-shadow:0 12px 30px rgba(11,45,92,.3),0 0 0 1px rgba(18,39,74,.06);
    transition:translate .45s var(--salida);
  }
  .tabs a{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
    min-height:52px;border-radius:18px;
    font-family:var(--titulos);font-weight:500;font-size:.78rem;line-height:1;color:var(--tinta-2);
    -webkit-tap-highlight-color:transparent;transition:background .2s,color .2s,transform .18s var(--rebote);
  }
  .tabs a i{font-size:1.25rem;color:var(--tinta);}
  .tabs a:active{transform:scale(.94);}
  .tabs a[aria-current="page"]{background:#E8F4FF;color:var(--azul);}
  .tabs a[aria-current="page"] i{color:var(--azul);}
  .tabs .tabs__comprar{
    margin:-22px 4px 0;min-height:70px;border-radius:22px;gap:5px;
    background:var(--sol);color:var(--tinta);font-weight:700;font-size:.86rem;
    box-shadow:0 5px 0 #C98A00,0 12px 18px rgba(160,100,0,.3);
  }
  .tabs .tabs__comprar i{font-size:1.5rem;}
  .tabs .tabs__comprar:active{transform:translateY(4px);box-shadow:0 1px 0 #C98A00;}
  .tabs .tabs__wsp i{color:#0E7A40;}

  /* Con la barra abajo, sobran el botón flotante y el botón de la cabecera */
  .wsp-flotante,.barra-movil{display:none !important;}
  .cab__cta{display:none;}
  .cab{padding-right:8px;}
  .cab__menu{margin-left:auto;width:48px;height:48px;}
  .pie{padding-bottom:calc(116px + env(safe-area-inset-bottom,0px));}

  /* Objetivos táctiles de 44 px como mínimo */
  .pie nav a,.pie__cuerpo > div > a{min-height:44px;}
  .pie__legal{gap:4px 22px;}
  .pie__legal a{display:inline-flex;align-items:center;gap:8px;min-height:44px;}
  .pie__arriba{min-height:44px;padding:.7em 1.2em;}
  .cab__nav a,.cab__sub > button{min-height:48px;}
  .dias__botones button{min-height:44px;min-width:46px;}
  .preguntas summary{padding:16px 18px;font-size:1.05rem;min-height:56px;}
  .preguntas details p{padding:0 18px 18px;}

  /* Menos scroll: bloques más compactos */
  .titulo{font-size:clamp(1.75rem,7.4vw,2.4rem);}
  .boletos{padding-top:54px;padding-bottom:40px;}
  .boletos__cabeza{margin-bottom:22px;}
  .boletos__sol{width:96px;}
  .dias{margin-bottom:18px;gap:8px 12px;}
  .dias__botones{gap:6px;}
  .pasos{padding:30px 18px;margin-bottom:44px;}
  .pasos__lista{margin-top:26px;gap:18px;}
  .pasos__lista::before{display:none;}
  .pasos__lista li{display:grid;grid-template-columns:64px 1fr;column-gap:14px;text-align:left;padding:0;align-items:start;}
  .pasos__lista i{grid-row:1 / 3;width:64px;height:64px;font-size:1.5rem;margin:0;}
  .pasos__num{left:42px;top:-8px;width:28px;height:28px;font-size:.95rem;}
  .pasos__lista h3{font-size:1.2rem;align-self:end;}
  .pasos__lista p{margin:.2rem 0 0;max-width:none;font-size:.95rem;}
  .club{padding-top:20px;padding-bottom:46px;}
  .club > .titulo{margin-bottom:24px;}
  .zona{padding:24px 20px 22px;margin-bottom:16px;gap:14px;}
  .zona p{font-size:1rem;margin-top:.6rem;}
  .zona__puntos{gap:8px;margin:1rem 0 1.2rem;font-size:1rem;}
  .zona__puntos i{width:34px;height:34px;}
  .zona .boton{width:100%;}
  .zona__fotos{aspect-ratio:1.5;}
  .foto{border-width:5px;border-radius:22px;}
  .foto--a{width:60%;}
  .foto--b{width:48%;}
  .panorama{min-height:430px;margin-bottom:44px;}
  .panorama__texto{padding-bottom:70px;gap:14px;}
  .panorama__texto .boton{width:100%;}
  .dupla{padding-bottom:46px;}
  .horario .boton{width:100%;}
  .fotos{padding-bottom:46px;}
  .fotos img{width:168px;border-width:4px;border-radius:22px;}
  .fotos__pista{gap:14px;}
  .llegar{padding-top:84px;padding-bottom:84px;}
  .llegar__acciones .boton{flex:1 1 100%;}
  .preguntas{padding-top:50px;padding-bottom:40px;}
  .paseo{height:110px;}
}

/* Teléfonos angostos (320 px) */
@media (max-width:350px){
  .tabs a{font-size:.72rem;}
  .tabs .tabs__comprar{font-size:.8rem;}
  .dias__botones button{min-width:40px;padding-inline:.6em;font-size:.95rem;}
  .boton--grande{font-size:1.08rem;padding:.9em 1.2em;}
  .cumple{padding-inline:20px;}
}


/* ═════════ Quinta tanda: celular más compacto y más círculos ═════════ */

/* Círculos de atracciones con su nombre */
.burbuja{overflow:visible;border:0;box-shadow:none;border-radius:0;aspect-ratio:auto;display:block;}
.burbuja img{aspect-ratio:1;width:100%;height:auto;object-fit:cover;border-radius:50%;border:6px solid #fff;box-shadow:0 16px 28px rgba(6,40,100,.35);}
.burbuja span{
  position:absolute;left:50%;bottom:-10px;translate:-50% 0;white-space:nowrap;
  background:var(--sol);color:var(--tinta);font-family:var(--titulos);font-weight:600;font-size:.86rem;line-height:1;
  padding:.4em .8em;border-radius:999px;box-shadow:0 3px 0 #C98A00;rotate:-4deg;
}
.burbuja:nth-of-type(even) span{rotate:4deg;}
.burbuja--1{width:24%;left:1%;top:3%;}
.burbuja--2{width:18%;left:-10%;top:42%;}
.burbuja--3{width:17%;left:33%;top:-3%;animation:flota 6.5s ease-in-out -2.5s infinite;}
.burbuja--4{width:18%;right:-7%;top:34%;animation:flota 7.5s ease-in-out -4s infinite;}
.burbuja--5{width:15%;left:14%;top:66%;animation:flota 5.5s ease-in-out -1.5s infinite;}
.burbuja--6{width:15%;right:20%;top:1%;animation:flota 6s ease-in-out -3.5s infinite;}
.flota--pelota{right:-3%;top:6%;width:15%;}
.flota--dona{width:22%;left:-12%;bottom:2%;}

@media (max-width:900px){
  /* Portada: letrero y sol lado a lado, todo entra en la primera pantalla */
  .portada{padding-top:78px;padding-bottom:104px;}
  .letrero img{width:min(50vw,250px);margin-left:-1%;}
  .portada__escena{height:min(66vw,330px);margin:calc(min(50vw,250px) * -0.62) 0 3vw;pointer-events:none;}
  .portada__escena > *{pointer-events:auto;}
  .portada__sol{width:min(64%,330px);left:auto;right:-4%;translate:0 0;bottom:0;}
  .burbuja--1{width:21%;left:2%;top:auto;bottom:4%;}
  .burbuja--2{width:19%;left:27%;top:auto;bottom:-4%;right:auto;}
  .burbuja--3,.burbuja--4,.burbuja--5,.burbuja--6{display:none;}
  .burbuja span{font-size:.72rem;bottom:-8px;}
  .burbuja img{border-width:4px;}
  .flota--dona{display:none;}
  .flota--pelota{top:auto;bottom:58%;right:auto;left:40%;width:12%;}
  .portada__bajada{font-size:1rem;line-height:1.45;margin-top:14px;}
  .portada__acciones{gap:10px;margin-top:14px;}
  .portada__acciones .boton{flex:1 1 0;font-size:1rem;padding:.9em .6em;white-space:nowrap;}
  .portada__acciones .boton i{display:none;}
  .portada__datos{margin-top:12px;gap:6px;}
  .portada__datos li{font-size:.85rem;padding:.4em .8em;}
}

@media (max-width:760px){
  /* Cabecera: sin franja blanca arriba; aparece compacta al bajar */
  .cab{
    top:8px;height:52px;padding:0 6px 0 84px;width:calc(100% - 16px);
    background:transparent;box-shadow:none;
    transition:translate .45s var(--salida),background .3s,box-shadow .3s;
  }
  .cab.encogida{background:#fff;box-shadow:0 10px 26px rgba(11,45,92,.26);}
  .cab__logo{width:70px;top:-4px;left:6px;}
  .cab__menu{width:44px;height:44px;box-shadow:0 6px 14px rgba(8,25,60,.35);}
  .cab__nav{top:60px;}

  /* Días en una sola fila */
  .dias{display:block;}
  .dias > p:first-child{margin-bottom:10px;}
  .dias__botones{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;}
  .dias__botones button{min-width:0;padding:.55em 0;font-size:.92rem;min-height:46px;}
  .dias__aviso{margin-top:8px;}

  /* Boletos: uno debajo del otro, como talonario */
  .boletos__lista{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;overflow:visible;margin:0;padding:0;scroll-snap-type:none;}
  .boletos__lista > li,.boletos__lista > li:nth-child(odd),.boletos__lista > li:nth-child(even){flex:none;rotate:0deg;translate:0 0;}
  .boleto{
    --corte:39%;flex-direction:row;border-radius:22px;
    -webkit-mask:
      radial-gradient(circle 11px at var(--corte) 0,transparent 97%,#000) top / 100% 51% no-repeat,
      radial-gradient(circle 11px at var(--corte) 100%,transparent 97%,#000) bottom / 100% 51% no-repeat;
    mask:
      radial-gradient(circle 11px at var(--corte) 0,transparent 97%,#000) top / 100% 51% no-repeat,
      radial-gradient(circle 11px at var(--corte) 100%,transparent 97%,#000) bottom / 100% 51% no-repeat;
  }
  .boleto__cab{
    flex:0 0 var(--corte);height:auto;padding:16px 12px 16px 14px;
    border-bottom:0;border-right:3px dashed rgba(255,255,255,.75);
    display:flex;flex-direction:column;justify-content:center;
  }
  .boleto--naranja .boleto__cab{border-right-color:rgba(18,39,74,.55);}
  .boleto__cab i{font-size:1.35rem;margin-bottom:6px;}
  .boleto__cab h3{font-size:1.12rem;}
  .boleto__cab p{font-size:.85rem;line-height:1.2;}
  .boleto__cuerpo{padding:12px 14px 14px 16px;min-width:0;justify-content:center;}
  .boleto__precio span{font-size:1.15rem;}
  .boleto__precio b{font-size:2rem;}
  .boleto__precio small{font-size:.82rem;}
  .boleto__detalle{font-size:.82rem;min-height:0;margin-top:3px;}
  .boleto__incluye{display:none;}
  .boleto .boton{margin-top:10px;padding:.75em 1em;font-size:1rem;}
  .boletos__nota{margin-top:20px;}

  /* Pie: centrado, con accesos grandes */
  .pie{padding-top:86px;text-align:center;}
  .pie__sol{left:50%;right:auto;translate:-50% 0;top:-64px;width:112px;}
  .pie__cuerpo{gap:26px;}
  .pie__marca img{margin:0 auto 10px;width:96px;}
  .pie__marca p{margin-inline:auto;font-size:.95rem;}
  .pie h2{margin-bottom:10px;}
  .pie nav{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
  .pie nav h2{grid-column:1 / -1;}
  .pie nav a{justify-content:center;background:rgba(255,255,255,.08);border-radius:14px;padding:0 10px;min-height:46px;font-family:var(--titulos);font-weight:500;color:#fff;}
  .pie__cuerpo > div:last-child{display:grid;gap:8px;}
  .pie__cuerpo > div:last-child > a{justify-content:center;background:rgba(255,255,255,.08);border-radius:14px;padding:0 12px;min-height:48px;color:#fff;}
  .pie__cuerpo > div:last-child > a:first-of-type{background:#0E7A40;font-family:var(--titulos);font-weight:600;font-size:1.1rem;}
  .pie__cuerpo > div:last-child > a:first-of-type i{color:#fff;}
  .pie__cuerpo > div:last-child > p{justify-content:center;}
  .pie__redes{justify-content:center;margin-top:6px;}
  .pie__redes a{width:48px;height:48px;}
  .pie__legal{flex-direction:column;align-items:center;gap:0;margin-top:28px;}
  .pie__arriba{margin:10px 0 14px;}
  .pie__pagos{margin:0;}
}

@media (max-width:760px){ .pie nav a:last-child{grid-column:1 / -1;} }

@media (min-width:901px){ .burbuja{z-index:2;} .burbuja--5{left:auto;right:-11%;top:63%;} }


/* ═════════ Sexta tanda: portada del celular a prueba de anchos, un solo sol en el pie ═════════ */
@media (max-width:900px){
  .portada{--letrero:min(48vw,300px);}
  .letrero img{width:var(--letrero);}
  .portada__escena{height:calc(var(--letrero) * 1.32);margin:calc(var(--letrero) * -0.6) 0 16px;}
  .portada__sol{width:calc(var(--letrero) * 1.3);left:auto !important;right:-3%;bottom:4%;translate:none !important;}
  .burbuja--1{width:calc(var(--letrero) * .4);left:1%;bottom:2%;top:auto;}
  .burbuja--2{width:calc(var(--letrero) * .36);left:calc(var(--letrero) * .5);bottom:-6%;top:auto;right:auto;}
  .flota--pelota{display:none;}
}
@media (max-width:760px){
  .pie__sol{display:none;}
  .pie{padding-top:70px;}
  .paseo{height:96px;margin-bottom:-6px;}
}


/* ═════════ Servicios principales (tarjetas ilustradas del club) ═════════ */
.servicios{padding:clamp(60px,8vw,100px) max(var(--canal),calc((100% - var(--ancho)) / 2)) clamp(10px,2vw,30px);}
.servicios .titulo em{font-style:normal;color:var(--verde);}
.servicios__lista{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:clamp(16px,2.6vw,34px);margin-top:clamp(28px,4vw,50px);}
.servicios__lista li{rotate:-2.5deg;transition:rotate .4s var(--rebote),translate .4s var(--rebote);}
.servicios__lista li:nth-child(even){rotate:2.5deg;}
.servicio{--c:var(--naranja);position:relative;display:block;}
.servicio--azul{--c:var(--azul);}
.servicio--verde{--c:var(--verde);}
.servicio--rojo{--c:var(--rojo);}
.servicio::before{
  content:"";position:absolute;inset:10% -7% -9% 9%;z-index:-1;background:var(--c);
  border-radius:42% 58% 65% 35% / 45% 40% 60% 55%;rotate:-6deg;transition:rotate .5s var(--rebote),scale .5s var(--rebote);
}
.servicio img{width:100%;aspect-ratio:1;object-fit:cover;border:6px solid #fff;border-radius:28px;box-shadow:0 16px 28px rgba(18,39,74,.22);}
@media (hover:hover){
  .servicios__lista li:hover{rotate:0deg;translate:0 -10px;}
  .servicios__lista li:hover .servicio::before{rotate:8deg;scale:1.06;}
}
@media (max-width:760px){
  .servicios{padding-top:46px;}
  .servicios__lista{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 16px;margin-top:22px;}
  .servicio img{border-width:4px;border-radius:20px;}
}


/* Los precios escritos en el HTML son solo de respaldo: no se muestran hasta que
   llega el precio real del sistema (o pasan 3 s sin respuesta). Así nunca se ve
   un precio viejo, ni por un instante. */
html.js:not(.precios-listos) :is([data-precio],[data-desde],[data-detalle],[data-cms-price],.ticket-price strong){visibility:hidden;}

/* ───────── Lo que debes saber (info del club, 14/10/2026) ───────── */
.saber{margin-top:clamp(40px,6vw,64px);display:grid;gap:clamp(18px,2.5vw,28px);}
.saber__datos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;}
.saber__datos li{display:flex;align-items:center;gap:12px;background:#fff;border-radius:22px;padding:14px 16px;box-shadow:0 10px 22px rgba(18,39,74,.1);font-size:.95rem;line-height:1.35;color:var(--tinta-2);}
.saber__datos i{flex:none;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:var(--sol);color:var(--tinta);font-size:1.15rem;box-shadow:0 3px 0 #C98A00;}
.saber__datos b{display:block;font-family:var(--titulos);font-weight:600;font-size:1.05rem;color:var(--tinta);}
.saber__listas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(14px,2vw,22px);}
.saber__caja{background:var(--azul);color:#fff;border-radius:28px;padding:clamp(22px,3vw,32px);box-shadow:0 16px 28px rgba(17,102,216,.25);}
.saber__caja--extra{background:var(--verde);box-shadow:0 16px 28px rgba(35,128,43,.25);}
.saber__caja h3{font-family:var(--titulos);font-weight:700;font-size:clamp(1.35rem,1.1rem + 1vw,1.8rem);margin-bottom:12px;}
.saber__caja ul{display:grid;gap:6px;}
.saber__caja li{position:relative;padding-left:28px;font-weight:500;}
.saber__caja li::before{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;position:absolute;left:0;top:.05em;color:var(--sol-2);}
.saber__nota{margin-top:12px;font-size:.9rem;opacity:.85;}
@media (max-width:1000px){ .saber__datos{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:640px){ .saber__datos,.saber__listas{grid-template-columns:1fr;} }
