/* ============================================================
 Sportlife Zona Norte — estilos del sitio
 Basado en la maqueta 2027 v2.
 ============================================================ */

:root{
  --bg-deep:#16130f;
  --bg-deep-2:#1d1912;
  --sand:#ede6d6;
  --sand-2:#e2d8c2;
  --copper:#38c6c7;
  --copper-bright:#38c6c7;
  --teal-dark:#1c6363;
  --accent:#38c6c7;
  --ink:#16130f;
  --paper:#f5f1e8;
  --muted:#bdb29c;
  --muted-dark:#8e8170;
  --line:rgba(245,241,232,0.14);
  --line-dark:rgba(22,19,15,0.12);
  --radius:2px;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  background:var(--bg-deep);
  color:var(--paper);
  font-family:'Inter',sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
img{max-width:100%;display:block;}
.display{font-family:'Big Shoulders Display',sans-serif;font-weight:800;letter-spacing:0.01em;text-transform:uppercase;}
.mono{font-family:'IBM Plex Mono',monospace;letter-spacing:0.04em;}
.wrap{max-width:1280px;margin:0 auto;padding:0 32px;}
.eyebrow{
  font-family:'IBM Plex Mono',monospace;
  font-size:13.5px;
  letter-spacing:0.18em;
  text-transform:uppercase;
  color:var(--copper-bright);
  display:flex;
  align-items:center;
  gap:10px;
}
.eyebrow::before{content:"";width:22px;height:1px;background:var(--copper-bright);display:inline-block;}
.btn{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:15px 28px;
  font-family:'IBM Plex Mono',monospace;
  font-size:14px;
  letter-spacing:0.06em;
  text-transform:uppercase;
  border-radius:var(--radius);
  transition:transform .18s ease, background .18s ease, color .18s ease, border-color .18s ease;
  cursor:pointer;
  border:1px solid transparent;
  white-space:nowrap;
}
.btn:hover{transform:translateY(-2px);}
.btn-primary{background:var(--accent);color:var(--ink);}
.btn-primary:hover{background:#67d3d4;}
.btn-ghost{border-color:var(--borde-btn);color:var(--paper);}
.btn-ghost:hover{border-color:var(--paper);background:var(--hover-suave);}
.btn-ghost-dark{border-color:rgba(22,19,15,0.35);color:var(--ink);}
.btn-ghost-dark:hover{background:rgba(22,19,15,0.06);}

/* NAV */
header{
  position:fixed;top:0;left:0;right:0;z-index:100;
  background:var(--fondo-header);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.nav{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 32px;max-width:1280px;margin:0 auto;
}
.logo{
  display:flex;align-items:center;
}
.logo img{height:48px;width:auto;display:block;border-radius:2px;}
.nav-links{display:flex;gap:36px;align-items:center;}
.nav-links a{font-size:14px;letter-spacing:0.04em;text-transform:uppercase;font-weight:600;color:var(--paper);opacity:0.85;}
.nav-links a:hover{opacity:1;color:var(--accent);}
.nav-cta{display:flex;align-items:center;gap:18px;}
.burger{display:none;background:none;border:none;color:var(--paper);font-size:22px;cursor:pointer;}

@media(max-width:880px){
  .nav-links{display:none;}
  .nav-cta .btn-ghost{display:none;}
  .burger{display:block;}
}

/* HERO */
.hero{
  position:relative;
  min-height:100vh;
  display:flex;
  align-items:flex-end;
  padding-top:120px;
  overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;
  background-size:cover;background-position:center 30%;
  filter:saturate(1.05) contrast(1.05);
}
.hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(16,14,10,0.35) 0%, rgba(16,14,10,0.55) 45%, rgba(16,14,10,0.96) 92%),
              linear-gradient(90deg, rgba(16,14,10,0.75) 0%, rgba(16,14,10,0.15) 55%);
}
.hero-inner{position:relative;z-index:2;width:100%;padding-bottom:70px;}
.hero-content{max-width:760px;}
.hero h1{
  font-size:clamp(48px,7.2vw,104px);
  line-height:0.95;
  margin:22px 0 26px;
}
.hero h1 em{font-style:normal;color:var(--copper-bright);}
.hero p.lead{
  font-size:18px;
  color:var(--sand);
  max-width:520px;
  margin-bottom:34px;
  opacity:0.92;
}
.hero-ctas{display:flex;gap:16px;flex-wrap:wrap;}

/* HORIZON LINE - signature element */
.horizon{
  position:relative;
  background:var(--bg-deep-2);
  padding:64px 0 90px;
  border-bottom:1px solid var(--line);
}
.horizon-head{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:56px;flex-wrap:wrap;gap:18px;}
.horizon-head h2{font-size:clamp(28px,3.6vw,44px);}
.horizon-head p{max-width:380px;color:var(--muted);font-size:14px;}
.horizon-track{
  position:relative;
  height:2px;
  background:var(--line);
  margin:0 4px 0;
}
.horizon-track::before,
.horizon-track::after{
  content:"";position:absolute;top:50%;transform:translateY(-50%);
  width:6px;height:6px;border-radius:50%;background:var(--muted);
}
.horizon-track::before{left:-3px;}
.horizon-track::after{right:-3px;}
.pin-row{
  display:flex;
  justify-content:space-between;
  position:relative;
  margin-top:0;
}
.pin{
  position:relative;
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding-top:22px;
  cursor:pointer;
  background:none;border:none;color:inherit;
}
.pin::before{
  content:"";
  position:absolute;top:-5px;left:50%;transform:translateX(-50%);
  width:11px;height:11px;border-radius:50%;
  background:var(--bg-deep-2);
  border:2px solid var(--copper-bright);
  transition:all .2s ease;
}
.pin.active::before{background:var(--accent);border-color:var(--accent);box-shadow:0 0 0 6px rgba(56,198,199,0.18);}
.pin .pin-city{font-family:'Big Shoulders Display',sans-serif;font-weight:700;font-size:16px;text-transform:uppercase;}
.pin .pin-coord{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--muted);margin-top:2px;}
.pin:hover .pin-city{color:var(--accent);}
@media(max-width:700px){
  .pin-row{flex-wrap:wrap;gap:20px 0;}
  .pin{flex:1 1 33%;}
}

.sede-panel{
  margin-top:52px;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:0;
  background:var(--bg-deep);
  border:1px solid var(--line);
}
.sede-panel-info{
  padding:44px;
  position:relative;
  background-size:cover;
  background-position:center;
  min-height:280px;
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
  overflow:hidden;
}
.sede-panel-info::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(180deg, rgba(22,19,15,0.15) 0%, rgba(22,19,15,0.55) 55%, rgba(22,19,15,0.92) 100%);
}
.sede-panel-info > *{position:relative;z-index:1;}
.sede-panel-meta{padding:44px;border-left:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;gap:22px;}
.sede-panel h3{font-size:30px;margin-bottom:6px;}
.sede-panel .sede-sub{color:var(--copper-bright);font-family:'IBM Plex Mono',monospace;font-size:13.5px;letter-spacing:0.1em;text-transform:uppercase;margin-bottom:20px;display:block;}
.sede-detail{display:flex;gap:14px;margin-bottom:16px;}
.sede-detail .label{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--muted);text-transform:uppercase;letter-spacing:0.08em;width:88px;flex-shrink:0;padding-top:2px;}
.sede-detail .value{font-size:15px;color:var(--sand);}
@media(max-width:760px){
  .sede-panel{grid-template-columns:1fr;}
  .sede-panel-meta{border-left:none;border-top:1px solid var(--line);}
}

/* SECTION GENERIC */
section{position:relative;}
.section-pad{padding:96px 0;}
.section-head{max-width:600px;margin-bottom:56px;}
.section-head h2{font-size:clamp(30px,4vw,48px);margin-top:16px;}
.section-head p{color:var(--muted);margin-top:14px;font-size:15px;}

/* ACTIVIDADES - dark */
.actividades{background:var(--bg-deep);}
.act-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  border-top:1px solid var(--line);
  border-left:1px solid var(--line);
}
.act-card{
  border-right:1px solid var(--line);
  border-bottom:1px solid var(--line);
  padding:30px 26px;
  min-height:190px;
  display:flex;flex-direction:column;justify-content:space-between;
  transition:background .2s ease;
}
.act-card:hover{background:var(--bg-deep-2);}
.act-card .num{font-family:'IBM Plex Mono',monospace;font-size:13.5px;color:var(--muted-dark);}
.act-card h4{font-size:20px;margin-top:26px;letter-spacing:0.02em;}
.act-card p{font-size:14px;color:var(--muted);margin-top:10px;}
@media(max-width:940px){.act-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.act-grid{grid-template-columns:1fr;}}

/* GALERÍA */
.galeria{background:var(--bg-deep-2);}
.gallery-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:2px;
}
.gallery-item{
  position:relative;
  aspect-ratio:4/3;
  overflow:hidden;
  background-size:cover;
  background-position:center;
}
.gallery-item.wide{grid-column:span 2;aspect-ratio:calc(8/3);}
.gallery-item::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(0deg, rgba(22,19,15,0.85) 0%, rgba(22,19,15,0.05) 45%);
}
.gallery-item span{
  position:absolute;left:20px;bottom:16px;z-index:1;
  font-family:'IBM Plex Mono',monospace;font-size:13.5px;
  letter-spacing:0.04em;color:var(--sand);
}
@media(max-width:760px){
  .gallery-grid{grid-template-columns:repeat(2,1fr);}
  .gallery-item.wide{grid-column:span 2;}
}
@media(max-width:480px){
  .gallery-grid{grid-template-columns:1fr;}
  .gallery-item.wide{grid-column:span 1;aspect-ratio:4/3;}
}

/* STATS BAR */
.stats{
  background:var(--copper);
  padding:52px 0;
}
.stats-row{display:flex;justify-content:space-between;flex-wrap:wrap;gap:28px;}
.stat{flex:1;min-width:150px;}
.stat .n{font-family:'Big Shoulders Display',sans-serif;font-size:52px;font-weight:800;line-height:1;color:var(--ink);}
.stat .l{font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:0.1em;text-transform:uppercase;color:rgba(22,19,15,0.72);margin-top:8px;}

/* PLANES - light section (day) */
.planes{background:var(--sand);color:var(--ink);}
.planes .eyebrow{color:var(--teal-dark);}
.planes .eyebrow::before{background:var(--teal-dark);}
.planes .section-head p{color:var(--muted-dark);}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line-dark);border:1px solid var(--line-dark);}
.plan-card{background:var(--sand);padding:44px 34px;display:flex;flex-direction:column;}
.plan-card.highlight{background:var(--ink);color:var(--paper);}
.plan-card .plan-name{font-family:'Big Shoulders Display',sans-serif;font-size:28px;font-weight:800;text-transform:uppercase;}
.plan-card .plan-tag{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--teal-dark);letter-spacing:0.08em;text-transform:uppercase;margin-top:6px;}
.plan-card.highlight .plan-tag{color:var(--accent);}
.plan-feats{margin:28px 0 34px;flex-grow:1;}
.plan-feats li{
  font-size:14px;padding:10px 0;
  border-top:1px solid var(--line-dark);
  display:flex;gap:10px;align-items:baseline;
}
.plan-card.highlight .plan-feats li{border-top:1px solid rgba(245,241,232,0.14);}
.plan-feats li::before{content:"—";color:var(--teal-dark);flex-shrink:0;}
.plan-card.highlight .plan-feats li::before{color:var(--accent);}
@media(max-width:900px){.plan-grid{grid-template-columns:1fr;}}

/* CTA banda */
.cta-band{
  position:relative;
  padding:110px 0;
  text-align:center;
  background-size:cover;
  background-position:center;
}
.cta-band::before{
  content:"";position:absolute;inset:0;z-index:0;
  background:linear-gradient(180deg, rgba(22,19,15,0.88) 0%, rgba(22,19,15,0.94) 100%);
}
.cta-band .wrap{position:relative;z-index:1;}
.cta-band h2{font-size:clamp(32px,5vw,60px);max-width:820px;margin:18px auto 34px;}
.cta-band-btns{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;}

/* FOOTER */
footer{background:var(--bg-deep-2);padding:70px 0 30px;border-top:1px solid var(--line);}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;margin-bottom:60px;}
.footer-col h5{font-family:'IBM Plex Mono',monospace;font-size:13.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-bottom:18px;}
.footer-col a, .footer-col p{display:block;font-size:14px;color:var(--sand);margin-bottom:10px;opacity:0.85;}
.footer-col a:hover{opacity:1;color:var(--accent);}
.footer-bottom{
  display:flex;justify-content:space-between;align-items:center;
  padding-top:26px;border-top:1px solid var(--line);
  font-size:13.5px;color:var(--muted);flex-wrap:wrap;gap:12px;
}
.wa-float{
  position:fixed;bottom:26px;right:26px;z-index:90;
  background:var(--accent);color:var(--ink);
  width:58px;height:58px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 8px 24px rgba(0,0,0,0.35);
  transition:transform .18s ease;
}
.wa-float:hover{transform:translateY(-2px) scale(1.04);}
.wa-float svg{width:28px;height:28px;flex-shrink:0;}
@media(max-width:820px){
  .footer-grid{grid-template-columns:1fr 1fr;}
}
@media(max-width:520px){
  .footer-grid{grid-template-columns:1fr;}
  .wrap{padding:0 20px;}
  .sede-panel-info,.sede-panel-meta{padding:28px;}
}

.reveal{opacity:0;transform:translateY(24px);transition:opacity .7s ease, transform .7s ease;}
.reveal.in{opacity:1;transform:translateY(0);}

@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1;transform:none;transition:none;}
  html{scroll-behavior:auto;}
}

/* SEDE DETAIL PAGE */
.back-link{
  display:inline-flex;align-items:center;gap:8px;
  font-family:'IBM Plex Mono',monospace;font-size:13.5px;letter-spacing:0.06em;text-transform:uppercase;
  color:var(--muted);padding:16px 0;
}
.back-link:hover{color:var(--accent);}
.sede-hero{
  position:relative;min-height:64vh;display:flex;align-items:flex-end;
  padding-top:110px;overflow:hidden;
}
.sede-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.sede-hero-bg::after{
  content:"";position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(16,14,10,0.25) 0%, rgba(16,14,10,0.55) 55%, rgba(16,14,10,0.97) 96%);
}
.sede-hero-inner{position:relative;z-index:2;padding-bottom:56px;}
.sede-hero h1{font-size:clamp(40px,6.4vw,84px);line-height:0.95;margin:16px 0 14px;}
.sede-hero .city-tag{font-size:16px;color:var(--sand);opacity:0.85;max-width:520px;}

.facts-bar{background:var(--bg-deep-2);border-bottom:1px solid var(--line);padding:0;}
.facts-grid{display:grid;grid-template-columns:repeat(4,1fr);}
.fact{padding:36px 32px;border-right:1px solid var(--line);}
.fact:last-child{border-right:none;}
.fact .label{font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--copper-bright);margin-bottom:10px;}
.fact .value{font-size:15px;color:var(--sand);line-height:1.5;}
@media(max-width:900px){.facts-grid{grid-template-columns:repeat(2,1fr);}.fact:nth-child(2){border-right:none;}}
@media(max-width:520px){.facts-grid{grid-template-columns:1fr;}.fact{border-right:none;border-bottom:1px solid var(--line);}}

.map-section{background:var(--bg-deep);}
.map-layout{display:grid;grid-template-columns:1fr 1fr;gap:0;border:1px solid var(--line);}
.map-embed iframe{width:100%;height:100%;min-height:380px;border:0;filter:grayscale(0.15) contrast(1.05);}
.map-copy{padding:48px;display:flex;flex-direction:column;justify-content:center;}
.map-copy h3{font-size:28px;margin-bottom:16px;}
.map-copy p{color:var(--muted);font-size:14px;margin-bottom:26px;max-width:400px;}
@media(max-width:840px){.map-layout{grid-template-columns:1fr;}.map-embed iframe{min-height:300px;}}

.chips-section{background:var(--bg-deep);}
.chip-row{display:flex;flex-wrap:wrap;gap:10px;}
.chip{
  font-family:'IBM Plex Mono',monospace;font-size:13.5px;letter-spacing:0.04em;
  padding:10px 18px;border:1px solid var(--line);color:var(--sand);border-radius:100px;
}

.mini-gallery{display:grid;grid-template-columns:1fr 1fr;gap:2px;background:var(--bg-deep-2);}
.mini-gallery .g-item{aspect-ratio:3/2;background-size:cover;background-position:center;}
@media(max-width:700px){.mini-gallery{grid-template-columns:1fr;}}

.sede-switch{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.sede-switch a{
  font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:0.06em;text-transform:uppercase;
  padding:8px 14px;border:1px solid var(--line);color:var(--muted);
}
.sede-switch a.current{background:var(--accent);color:var(--ink);border-color:var(--accent);}
.sede-switch a:hover:not(.current){color:var(--paper);border-color:var(--paper);}

/* COMPRA / PLANES PAGES */
.buy-hero{padding:150px 0 60px;background:var(--bg-deep-2);border-bottom:1px solid var(--line);}
.buy-hero h1{font-size:clamp(34px,5vw,58px);margin:14px 0 12px;}
.buy-hero p{color:var(--muted);max-width:560px;font-size:15px;}
.promo-banner{
  background:var(--copper);color:var(--ink);
  padding:12px 0;text-align:center;
  font-family:'IBM Plex Mono',monospace;font-size:14px;letter-spacing:0.04em;
}
.buy-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);margin-top:8px;}
.buy-card{background:var(--bg-deep);padding:34px 26px;display:flex;flex-direction:column;position:relative;}
.buy-card.highlight{background:var(--copper);}
.buy-card.highlight h3{color:var(--ink);}
.buy-card.highlight .buy-price{color:var(--ink);}
.buy-card .buy-tag{font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-bottom:14px;}
.buy-card.highlight .buy-tag{color:rgba(22,19,15,0.65);}
.buy-card h3{font-size:22px;text-transform:uppercase;margin-bottom:18px;}
.buy-price-old{font-family:'IBM Plex Mono',monospace;font-size:14px;color:var(--muted);text-decoration:line-through;}
.buy-card.highlight .buy-price-old{color:rgba(22,19,15,0.55);}
.buy-price{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:34px;margin:2px 0 22px;}
.buy-price span{font-family:'IBM Plex Mono',monospace;font-size:13.5px;font-weight:400;color:var(--muted);}
.buy-card.highlight .buy-price span{color:rgba(22,19,15,0.65);}
.buy-ribbon{
  position:absolute;top:14px;right:14px;
  background:var(--ink);color:var(--accent);
  font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:600;
  padding:5px 10px;border-radius:100px;
}
.buy-card .btn{margin-top:auto;width:100%;justify-content:center;}
.buy-note{
  font-family:'IBM Plex Mono',monospace;font-size:13.5px;color:var(--muted);
  text-align:center;margin-top:28px;
}
@media(max-width:900px){.buy-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.buy-grid{grid-template-columns:1fr;}}

/* SEDE PICKER (gateway) */
.picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--bg-deep-2);}
.picker-card{
  position:relative;aspect-ratio:4/3;background-size:cover;background-position:center;
  display:flex;align-items:flex-end;padding:22px;overflow:hidden;
}
.picker-card::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg, rgba(22,19,15,0.92) 0%, rgba(22,19,15,0.1) 60%);}
.picker-card-inner{position:relative;z-index:1;width:100%;}
.picker-card .p-name{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:24px;text-transform:uppercase;color:var(--paper);}
.picker-card .p-price{font-family:'IBM Plex Mono',monospace;font-size:13.5px;color:var(--accent);margin-top:4px;}
.picker-card.cadena{background:var(--copper);}
.picker-card.cadena::after{background:linear-gradient(0deg, rgba(22,19,15,0.3) 0%, rgba(22,19,15,0.05) 60%);}
@media(max-width:820px){.picker-grid{grid-template-columns:repeat(2,1fr);}}
@media(max-width:520px){.picker-grid{grid-template-columns:1fr;}}

/* ============================================================
   AGREGADOS DEL SITIO NUEVO
   ============================================================ */

/* Imágenes de fondo como <img> (más livianas y con carga diferida) */
.has-cover{isolation:isolate;}
.has-cover > .cover{
  position:absolute;inset:0;width:100%;height:100%;
  object-fit:cover;z-index:-1;
}
.hero-bg > .cover{object-position:center 30%;}
.cta-band{overflow:hidden;background:var(--bg-deep-2);}

/* Sin JavaScript todo el contenido queda visible */
html:not(.js) .reveal{opacity:1;transform:none;}

/* Accesibilidad */
.skip-link{position:absolute;left:-9999px;top:0;z-index:200;background:var(--accent);color:var(--ink);padding:10px 16px;}
.skip-link:focus{left:16px;top:16px;}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;}

/* Link activo del menú */
.nav-links a[aria-current="page"]{color:var(--accent);opacity:1;}

/* Menú móvil */
@media(max-width:880px){
  .nav-links.open{
    display:flex;position:absolute;top:100%;left:0;right:0;
    flex-direction:column;background:var(--bg-deep);
    padding:24px 32px;gap:20px;border-bottom:1px solid var(--line);
  }
  .nav-cta .btn-primary{padding:12px 18px;font-size:13.5px;}
  .logo img{height:40px;}
  .nav{padding:14px 20px;}
}

/* Promociones: ocultas por defecto; el script las activa según fecha */
.promo-banner,.buy-card .price-promo,.buy-ribbon{display:none;}
.promo-banner.activa{display:block;}
.buy-card.promo-on .price-promo{display:block;}
.buy-card.promo-on .buy-ribbon{display:inline-block;}
.buy-card.promo-on .price-regular{display:none;}
.buy-card.highlight .buy-price-old{margin-top:0;}
.buy-card .btn-dark{background:var(--ink);color:var(--paper);}
.buy-card .btn-dark:hover{background:#2a251d;}

/* Página 404 */
.notfound{min-height:80vh;display:flex;align-items:center;padding-top:120px;}
.notfound h1{font-size:clamp(40px,6vw,80px);line-height:0.95;margin:18px 0 20px;}
.notfound p{color:var(--muted);margin-bottom:30px;max-width:460px;}

/* Tel. clickeable */
a.value-link{color:var(--sand);}
a.value-link:hover{color:var(--accent);}

[hidden]{display:none !important;}
.nav-links .solo-movil{display:none;}
@media(max-width:880px){.nav-links.open .solo-movil{display:block;color:var(--accent);}}

/* ============================================================
   FORMULARIOS (clase de prueba / corporativo)
   ============================================================ */
.lead-section{background:var(--bg-deep-2);border-top:1px solid var(--line);}
.lead-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:64px;align-items:start;}
.lead-copy h2{font-size:clamp(30px,4vw,48px);margin:16px 0 16px;}
.lead-copy > p{color:var(--muted);font-size:15px;max-width:440px;}
.lead-points{margin-top:26px;}
.lead-points li{font-size:14px;color:var(--sand);padding:10px 0;border-top:1px solid var(--line);display:flex;gap:10px;}
.lead-points li::before{content:"—";color:var(--accent);}
.lead-form{background:var(--bg-deep);border:1px solid var(--line);padding:36px;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field-full{grid-column:1 / -1;}
.field span{font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);}
.field input,.field select,.field textarea{
  font:inherit;font-size:15px;color:var(--paper);
  background:var(--bg-deep-2);border:1px solid var(--line);border-radius:var(--radius);
  padding:13px 14px;width:100%;transition:border-color .15s ease;
}
.field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%;background-size:5px 5px;background-repeat:no-repeat;padding-right:36px;}
.field select option{color:var(--ink);}
.field textarea{resize:vertical;min-height:90px;}
.field input::placeholder,.field textarea::placeholder{color:var(--muted-dark);}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent);}
.field.invalid input,.field.invalid select{border-color:#e07a5f;}
.field .field-error{font-family:'Inter',sans-serif;text-transform:none;letter-spacing:0;font-size:13.5px;color:#e9967a;}
.form-legal{font-size:13.5px;color:var(--muted-dark);margin:20px 0 18px;}
.lead-form .btn{width:100%;justify-content:center;}
.lead-form .btn[disabled]{opacity:.6;cursor:wait;transform:none;}
.form-status{font-size:14px;margin-bottom:16px;}
.form-status:empty{display:none;}
.form-status.error{color:#e9967a;}
.form-status a{color:var(--accent);text-decoration:underline;}
.form-ok{text-align:center;padding:30px 10px;}
.form-ok h3{font-family:'Big Shoulders Display',sans-serif;font-size:32px;text-transform:uppercase;margin:14px 0 10px;}
.form-ok p{color:var(--muted);font-size:15px;}
.form-ok .check{width:56px;height:56px;border-radius:50%;background:var(--accent);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-size:28px;}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}
.corp-grid{grid-template-columns:repeat(4,1fr);}
@media(max-width:940px){
  .lead-layout{grid-template-columns:1fr;gap:36px;}
  .corp-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:560px){
  .form-grid{grid-template-columns:1fr;}
  .lead-form{padding:24px 20px;}
  .corp-grid{grid-template-columns:1fr;}
}

/* ============================================================
   AVISO DE COOKIES Y PÁGINAS LEGALES
   ============================================================ */
.cookie-banner{
  position:fixed;left:24px;bottom:24px;z-index:150;
  width:min(460px, calc(100vw - 32px));
  background:var(--bg-deep);border:1px solid var(--line);
  box-shadow:0 18px 50px rgba(0,0,0,0.5);
  padding:24px;font-size:14px;color:var(--sand);
}
.cookie-banner .cookie-title{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:22px;text-transform:uppercase;color:var(--paper);margin-bottom:8px;}
.cookie-banner a{color:var(--accent);text-decoration:underline;}
.cookie-options{margin:16px 0 4px;display:flex;flex-direction:column;gap:12px;}
.cookie-options label{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--sand);cursor:pointer;}
.cookie-options input{margin-top:3px;accent-color:var(--accent);width:16px;height:16px;flex-shrink:0;}
.cookie-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px;}
.cookie-actions .btn{padding:11px 16px;font-size:13.5px;flex:1 1 auto;justify-content:center;}
@media(max-width:520px){.cookie-banner{left:16px;right:16px;bottom:16px;width:auto;padding:20px;}}
.footer-legal{display:inline !important;margin:0 !important;font-size:13.5px !important;color:var(--muted) !important;text-decoration:underline;}
.form-legal a{color:var(--muted);text-decoration:underline;}

.legal{background:var(--bg-deep);}
.legal-wrap{max-width:820px;}
.legal h2{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:24px;text-transform:uppercase;margin:40px 0 12px;}
.legal h2:first-child{margin-top:0;}
.legal p,.legal li{color:var(--sand);font-size:15px;opacity:0.9;}
.legal p{margin-bottom:12px;}
.legal ul{list-style:disc;padding-left:22px;margin-bottom:12px;}
.legal ol{list-style:decimal;padding-left:24px;margin-bottom:12px;}
.legal-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:22px;}
.legal-nav a{font-size:13.5px;font-weight:600;letter-spacing:.02em;padding:8px 14px;border:1px solid var(--line);border-radius:999px;color:var(--sand);text-decoration:none;}
.legal-nav a:hover{border-color:var(--accent);color:var(--accent);}
.legal-indice{margin:18px 0 8px;padding:14px 18px;border:1px solid var(--line);}
.legal-indice summary{cursor:pointer;font-weight:700;color:var(--sand);}
.legal-indice ol{margin:12px 0 0;}
.field-ayuda{display:block;margin-top:6px;font-size:12.5px;color:var(--muted);}
.legal li{margin-bottom:8px;}
.legal a{color:var(--accent);text-decoration:underline;}
.legal mark{background:#5a3b12;color:#ffd79a;padding:1px 6px;}
.legal-table{overflow-x:auto;margin:14px 0;}
.legal table{width:100%;border-collapse:collapse;font-size:14px;min-width:560px;}
.legal th,.legal td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top;color:var(--sand);}
.legal th{font-family:'IBM Plex Mono',monospace;font-size:12.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);}
.legal-fecha{font-family:'IBM Plex Mono',monospace;font-size:13.5px;color:var(--muted) !important;margin-top:30px;}
button.btn-ghost{background:transparent;color:var(--paper);}
button.btn-ghost:hover{background:var(--hover-suave);}

/* Venta corporativa (convenios) */
.plan-btns{display:flex;flex-direction:column;gap:14px;}
.plan-btns .btn{justify-content:center;}
.plan-link{font-family:'IBM Plex Mono',monospace;font-size:13.5px;letter-spacing:0.06em;text-transform:uppercase;color:var(--teal-dark);text-align:center;}
.plan-link:hover{text-decoration:underline;}
.convenio-banda{
  margin-top:2px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;
  background:var(--bg-deep-2);border:1px solid var(--line);padding:28px 32px;
}
.convenio-banda p{color:var(--sand);font-size:15px;margin-top:10px;max-width:620px;}
.caminos{display:grid;grid-template-columns:1fr 1fr;gap:2px;}
.camino{background:var(--bg-deep-2);border:1px solid var(--line);padding:40px;display:flex;flex-direction:column;align-items:flex-start;}
.camino h2{font-size:clamp(26px,3vw,36px);margin:14px 0 12px;}
.camino p{color:var(--muted);font-size:15px;margin-bottom:26px;max-width:440px;flex-grow:1;}
.camino-destacado{background:var(--accent);border-color:var(--accent);color:var(--ink);}
.camino-destacado .eyebrow{color:var(--ink);}
.camino-destacado .eyebrow::before{background:var(--ink);}
.camino-destacado p{color:rgba(22,19,15,0.75);}
.btn-dark{background:var(--ink);color:var(--paper);}
.btn-dark:hover{background:#2a251d;}
@media(max-width:760px){.caminos{grid-template-columns:1fr;}.camino{padding:28px;}}

/* ============================================================
   COMPRA EN LÍNEA (checkout)
   ============================================================ */
.demo-banner{position:relative;z-index:1;margin-top:85px;background:#f2c94c;color:var(--ink);text-align:center;padding:10px 16px;font-family:'IBM Plex Mono',monospace;font-size:13.5px;letter-spacing:0.04em;}
.demo-banner + .checkout{padding-top:36px;}
.checkout{background:var(--bg-deep);padding:120px 0 96px;min-height:80vh;}
.checkout-title{font-size:clamp(34px,5vw,56px);margin:14px 0 26px;line-height:1;}
.stepper{display:flex;gap:0;list-style:none;border:1px solid var(--line);margin-bottom:36px;max-width:760px;scroll-margin-top:110px;}
.stepper li{flex:1;display:flex;align-items:center;gap:10px;padding:14px 18px;font-family:'IBM Plex Mono',monospace;font-size:13.5px;letter-spacing:0.08em;text-transform:uppercase;color:var(--muted);border-right:1px solid var(--line);}
.stepper li:last-child{border-right:none;}
.stepper li span{width:24px;height:24px;border-radius:50%;border:1px solid var(--muted);display:inline-flex;align-items:center;justify-content:center;font-size:12.5px;flex-shrink:0;}
.stepper li.activo{color:var(--paper);background:var(--bg-deep-2);}
.stepper li.activo span{background:var(--accent);border-color:var(--accent);color:var(--ink);}
.stepper li.hecho{color:var(--sand);cursor:pointer;}
.stepper li.hecho span{border-color:var(--accent);color:var(--accent);}
.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:40px;align-items:start;}
.checkout-form fieldset{border:none;padding:0;margin:0;min-width:0;}
.paso-titulo{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:26px;text-transform:uppercase;margin:0 0 18px;padding:0;color:var(--paper);}
.paso h2.paso-titulo{margin-top:40px;}
.opt-grid{display:grid;gap:12px;}
.opt-grid-sedes{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));}
.opt-grid-planes{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));}
.opt-grid-medios{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));}
.opt-card{position:relative;display:flex;align-items:flex-start;gap:12px;padding:18px;border:1px solid var(--line);background:var(--bg-deep-2);cursor:pointer;transition:border-color .15s ease,background .15s ease;}
.opt-card:hover{border-color:var(--borde-hover);}
.opt-card input{position:absolute;opacity:0;pointer-events:none;}
.opt-card:has(input:checked){border-color:var(--accent);background:rgba(56,198,199,0.08);}
.opt-card:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px;}
.opt-card.deshabilitada{opacity:.35;cursor:not-allowed;}
.opt-body{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;}
.opt-title{font-weight:600;font-size:15px;color:var(--paper);}
.opt-sub{font-size:13.5px;color:var(--muted);}
.opt-precio{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:28px;color:var(--paper);line-height:1.1;margin-top:6px;}
.opt-old{font-family:'IBM Plex Mono',monospace;font-size:13.5px;color:var(--muted);text-decoration:line-through;min-height:16px;}
.opt-tag{position:absolute;top:12px;right:40px;background:var(--accent);color:var(--ink);font-family:'IBM Plex Mono',monospace;font-size:12.5px;font-weight:600;padding:3px 8px;border-radius:100px;}
.opt-check{width:22px;height:22px;border-radius:50%;border:1px solid var(--line);display:inline-flex;align-items:center;justify-content:center;color:transparent;flex-shrink:0;}
.opt-card:has(input:checked) .opt-check{background:var(--accent);border-color:var(--accent);color:var(--ink);}
.paso-error{color:#e9967a;font-size:14px;margin-top:10px;}
.paso-acciones{display:flex;justify-content:space-between;gap:14px;margin-top:34px;flex-wrap:wrap;}
.paso-acciones .btn-primary{margin-left:auto;}
.nota-menor{margin-top:18px;padding:14px 16px;border-left:3px solid #f2c94c;background:rgba(242,201,76,0.08);font-size:14px;color:var(--sand);}
.checks{margin-top:26px;display:flex;flex-direction:column;gap:14px;}
.check{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--sand);cursor:pointer;}
.check input{margin-top:3px;width:18px;height:18px;accent-color:var(--accent);flex-shrink:0;}
.check a{color:var(--accent);text-decoration:underline;}
.pago-seguro{font-size:13.5px;color:var(--muted);margin-top:16px;text-align:right;}
.form-status.ok{color:var(--accent);}
.link-btn{background:none;border:none;color:var(--accent);font:inherit;font-size:14px;text-decoration:underline;cursor:pointer;padding:0;}
.convenio-activo{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;padding:16px 20px;margin-bottom:28px;border:1px solid var(--accent);background:rgba(56,198,199,0.08);}
.convenio-activo > div{display:flex;flex-direction:column;gap:2px;}
.convenio-activo .mono{font-size:12.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent);}
.convenio-activo b{font-size:16px;color:var(--paper);}
.convenio-activo span:last-child{font-size:14px;color:var(--sand);}
.field input[readonly]{opacity:.7;cursor:not-allowed;}
.field input[type=date]{color-scheme:var(--esquema);}

.resumen{position:sticky;top:110px;}
.resumen-caja{border:1px solid var(--line);background:var(--bg-deep-2);padding:26px;}
.resumen-eyebrow{font-size:12.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--muted);margin-bottom:16px;}
.resumen-vacio{font-size:14px;color:var(--muted);padding:6px 0 18px;}
.resumen-sede{display:flex;flex-direction:column;gap:2px;padding-bottom:16px;border-bottom:1px solid var(--line);}
.resumen-sede b{font-family:'Big Shoulders Display',sans-serif;font-size:24px;text-transform:uppercase;}
.resumen-sede span{font-size:14px;color:var(--muted);}
.resumen-linea{display:flex;justify-content:space-between;gap:12px;font-size:14px;color:var(--sand);padding:12px 0;border-bottom:1px solid var(--line);}
.resumen-desc span{color:var(--accent);}
.resumen-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:16px;font-weight:600;}
.resumen-total span:last-child{font-family:'Big Shoulders Display',sans-serif;font-size:36px;font-weight:800;}
.resumen-mes{font-size:13.5px;color:var(--muted);text-align:right;min-height:16px;}
.resumen-incluye{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);}
.resumen-incluye li{font-size:14px;color:var(--sand);padding:5px 0;display:flex;gap:8px;}
.resumen-incluye li::before{content:"—";color:var(--accent);}
.resumen-ayuda{font-size:14px;color:var(--muted);margin-top:14px;text-align:center;}
.resumen-ayuda a{color:var(--accent);text-decoration:underline;}
@media(max-width:980px){
  .checkout-layout{grid-template-columns:1fr;}
  .resumen{position:static;order:-1;}
  .resumen-incluye{display:none;}
}
@media(max-width:560px){
  .stepper li{padding:12px 10px;font-size:11.5px;gap:6px;}
  .opt-grid-sedes,.opt-grid-planes{grid-template-columns:1fr 1fr;}
  .opt-card{padding:14px;}
  .opt-precio{font-size:22px;}
  .opt-tag{right:10px;top:10px;}
  .opt-check{display:none;}
  .paso-acciones .btn{flex:1;justify-content:center;}
}

/* Simulación de pasarela (solo modo demo) */
.pago-sim{position:fixed;inset:0;z-index:200;background:rgba(10,9,7,0.8);display:flex;align-items:center;justify-content:center;padding:16px;}
.pago-sim[hidden]{display:none;}
.pago-sim-caja{background:var(--bg-deep);border:1px solid #f2c94c;padding:34px;max-width:480px;width:100%;text-align:center;}
.pago-sim-caja .mono{font-size:12.5px;letter-spacing:0.12em;text-transform:uppercase;color:#f2c94c;}
.pago-sim-caja h2{font-size:32px;margin:12px 0;}
.pago-sim-caja p{color:var(--sand);font-size:14px;margin-bottom:24px;}
.pago-sim-btns{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;}
.pago-sim-btns .btn{justify-content:center;}

/* Resultado */
.resultado-wrap{max-width:720px;text-align:center;}
.resultado-cargando{color:var(--muted);padding:80px 0;}
.resultado-icono{width:72px;height:72px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;margin-bottom:20px;font-size:34px;font-weight:700;}
.resultado-icono svg{width:36px;height:36px;}
.resultado-icono.ok{background:var(--accent);color:var(--ink);}
.resultado-icono.error{background:#e07a5f;color:var(--ink);}
.resultado h1{font-size:clamp(34px,5vw,56px);margin:14px 0 14px;line-height:1;}
.resultado-lead{color:var(--sand);font-size:16px;margin-bottom:32px;}
.resultado-detalle{text-align:left;border:1px solid var(--line);background:var(--bg-deep-2);margin-bottom:34px;}
.resultado-detalle > div{display:flex;justify-content:space-between;gap:16px;padding:13px 20px;border-bottom:1px solid var(--line);font-size:14px;}
.resultado-detalle > div:last-child{border-bottom:none;}
.resultado-detalle span{color:var(--muted);}
.resultado-detalle b{color:var(--paper);font-weight:600;text-align:right;}
.resultado-detalle .total b{font-family:'Big Shoulders Display',sans-serif;font-size:26px;}
.resultado-sub{font-family:'Big Shoulders Display',sans-serif;font-size:24px;text-transform:uppercase;margin-bottom:14px;}
.resultado-pasos{text-align:left;max-width:480px;margin:0 auto 34px;padding-left:22px;color:var(--sand);font-size:15px;}
.resultado-pasos li{padding:5px 0;}

/* Convenio */
.convenio-layout{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:start;}
.convenio-copy > p{color:var(--muted);font-size:15px;max-width:460px;}
.convenio-alt{margin-top:26px;}
.convenio-alt a{color:var(--accent);text-decoration:underline;}
@media(max-width:900px){.convenio-layout{grid-template-columns:1fr;gap:34px;}}
.opt-old-fila{display:flex;align-items:center;gap:8px;min-height:20px;flex-wrap:wrap;}
.opt-tag{position:static;}
.opt-tag[hidden]{display:none;}

/* ============================================================
   CAMPAÑAS Y CÓDIGOS
   ============================================================ */
.camp-banda{background:var(--accent);color:var(--ink);text-align:center;padding:8px 16px;font-size:14px;font-weight:600;line-height:1.4;}
.camp-banda a{text-decoration:underline;font-weight:700;white-space:nowrap;}
.camp-banda[hidden]{display:none;}
body.con-banda main{padding-top:36px;}
@media(max-width:560px){body.con-banda main{padding-top:52px;}.camp-banda{font-size:13.5px;}}
.demo-banner{margin-top:78px;}
@media(min-width:881px){.demo-banner{margin-top:88px;}}
.camp-portada{background:var(--bg-deep);padding:72px 0 0;}
.camp-portada[hidden]{display:none;}
.camp-portada-grid{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line);background:var(--bg-deep-2);}
.camp-portada-img{position:relative;min-height:320px;}
.camp-portada-copy{padding:48px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;}
.camp-portada-copy h2{font-size:clamp(30px,4vw,46px);line-height:1;margin:14px 0 14px;}
.camp-portada-copy p{color:var(--sand);font-size:15px;margin-bottom:26px;max-width:420px;}
@media(max-width:760px){.camp-portada-grid{grid-template-columns:1fr;}.camp-portada-img{min-height:220px;}.camp-portada-copy{padding:28px;}}
.codigo-box{margin-top:26px;}
.codigo-fila{display:flex;gap:10px;}
.codigo-fila input{flex:1;text-transform:uppercase;}
.codigo-fila .btn{padding:12px 18px;}
.codigo-msg{font-size:14px;margin-top:8px;min-height:18px;color:var(--muted);}
.codigo-msg.ok{color:var(--accent);}
.codigo-msg.error{color:#e9967a;}
.codigo-msg.info{color:#f2c94c;}

/* ============================================================
   DESCUENTOS: elección, RUT y vendedora
   ============================================================ */
.paso-nota{font-size:14px;color:var(--muted);margin:-8px 0 16px;}
.opt-grid-desc{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));margin-bottom:10px;}
.opt-desc .opt-precio{font-size:26px;}
.codigos-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:10px 0 34px;}
.codigos-grid .codigo-box{margin-top:0;}
@media(max-width:700px){.codigos-grid{grid-template-columns:1fr;}}
.rut-activo{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 18px;margin-bottom:28px;border:1px solid var(--accent);background:rgba(56,198,199,0.08);}
.rut-activo > div{display:flex;flex-direction:column;gap:2px;}
.rut-activo .mono{font-size:12.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--accent);}
.rut-activo b{font-size:16px;color:var(--paper);}
.rut-activo-nota{font-size:13.5px;color:var(--muted);}
.rut-msg{font-size:13.5px;color:var(--muted);min-height:16px;}
.rut-msg.ok{color:var(--accent);}
.resumen-vend span{color:#f2c94c;}
.resumen-rut-link{display:block;margin-top:14px;font-size:14px;color:var(--accent);text-decoration:underline;}
.rut-resultado{margin:6px 0 18px;padding:22px;border:1px solid var(--accent);background:rgba(56,198,199,0.08);text-align:center;}
.rut-resultado-pct{display:block;font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:64px;line-height:1;color:var(--accent);}
.rut-resultado p{color:var(--sand);font-size:14px;margin:6px 0 18px;}
.rut-resultado .btn{width:100%;justify-content:center;}
.form-status a{color:var(--accent);text-decoration:underline;}

/* ============================================================
   V3 — contenido vivo, servicio al cliente, compra simple,
   descuento RUT y Sportlife Corporativo
   ============================================================ */
/* Mientras se aplica el contenido editado en el panel (máx. 2,5 s) */
html.sl-sync main, html.sl-sync header, html.sl-sync footer{visibility:hidden;animation:sl-sync-fin 0s linear 2.5s forwards;}
@keyframes sl-sync-fin{to{visibility:visible;}}

/* Botón flotante: solo servicio al cliente */
.wa-float{width:auto;height:52px;border-radius:100px;padding:0 20px 0 14px;gap:10px;font-weight:700;font-size:14px;}
.wa-float svg{width:26px;height:26px;}
@media(max-width:700px){.wa-float{width:52px;padding:0;}.wa-float-txt{display:none;}.wa-float{bottom:18px;right:16px;}}
.footer-col a.footer-servicio{display:flex;gap:10px;align-items:center;opacity:1;}
.footer-servicio svg{width:26px;height:26px;color:var(--accent);flex-shrink:0;}
.footer-servicio b{color:var(--paper);font-weight:600;}

/* Compra: más visual y con menos fricción */
.checkout-bajada{color:var(--muted);font-size:14px;margin:-6px 0 22px;font-family:'IBM Plex Mono',monospace;letter-spacing:0.04em;}
.stepper li{position:relative;}
.stepper li.hecho::after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--accent);}
.stepper li.activo::after{content:"";position:absolute;left:0;width:50%;bottom:-1px;height:2px;background:var(--accent);}
.opt-sede{padding:0;flex-direction:column;gap:0;overflow:hidden;}
.opt-foto{display:block;width:100%;height:92px;background-size:cover;background-position:center;filter:saturate(.85);transition:filter .2s ease;}
.opt-sede:hover .opt-foto,.opt-sede:has(input:checked) .opt-foto{filter:none;}
.opt-sede .opt-body{padding:12px 14px 14px;}
.opt-sede .opt-check{position:absolute;top:10px;right:10px;background:rgba(22,19,15,0.6);}
.opt-plan{flex-direction:column;}
.opt-plan .opt-check{position:absolute;top:14px;right:14px;}
.opt-badge{position:absolute;top:-1px;left:-1px;background:var(--accent);color:var(--ink);font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:600;letter-spacing:0.06em;text-transform:uppercase;padding:3px 8px;}
.opt-plan:has(.opt-badge) .opt-body{margin-top:14px;}
.opt-mes{font-size:13.5px;color:var(--sand);min-height:16px;}
.opt-mejor{display:inline-block;margin-left:6px;background:var(--accent);color:var(--ink);font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:600;padding:2px 7px;border-radius:100px;vertical-align:middle;}
.incluye-lista{display:flex;flex-wrap:wrap;gap:8px 18px;list-style:none;margin-top:18px;}
.incluye-lista li{font-size:14px;color:var(--sand);display:flex;gap:6px;align-items:center;}
.incluye-lista li::before{content:"✓";color:var(--accent);font-weight:700;}
.btn-grande{padding:16px 30px;font-size:15px;}
.rut-activo{justify-content:flex-start;gap:14px;}
.rut-activo-ico{width:40px;height:40px;border-radius:50%;background:var(--accent);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:22px;flex-shrink:0;}
.rut-activo > div span{font-size:13.5px;color:var(--muted);}
.inicio-field{grid-column:1 / -1;}
.inicio-opciones{display:flex;gap:10px;flex-wrap:wrap;}
.chip-radio{cursor:pointer;position:relative;}
.chip-radio input{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;left:0;top:0;}
.chip-radio span{display:inline-block;padding:10px 18px;border:1px solid var(--line);background:var(--bg-deep-2);font-size:14px;color:var(--sand);border-radius:100px;}
.chip-radio input:checked + span{border-color:var(--accent);color:var(--paper);background:rgba(56,198,199,0.1);}
.chip-radio input:focus-visible + span{outline:2px solid var(--accent);outline-offset:2px;}
.inicio-field input[type=date]{margin-top:10px;max-width:240px;}
.desc-bloque{margin-bottom:18px;}
.desc-titulo{font-family:'IBM Plex Mono',monospace;font-size:13.5px;letter-spacing:0.1em;text-transform:uppercase;color:var(--muted);margin-bottom:10px;font-weight:500;}
.codigo-det{border:1px solid var(--line);background:var(--bg-deep-2);margin-top:10px;}
.codigo-det summary{cursor:pointer;padding:14px 18px;font-size:14px;color:var(--sand);list-style:none;display:flex;justify-content:space-between;gap:10px;}
.codigo-det summary::-webkit-details-marker{display:none;}
.codigo-det summary::after{content:"+";color:var(--accent);font-weight:700;}
.codigo-det[open] summary::after{content:"–";}
.codigo-det .codigo-fila,.codigo-det .codigo-msg{margin:0 18px;}
.codigo-det .codigo-msg{margin-bottom:12px;}
.codigo-det input{background:var(--bg-deep);border:1px solid var(--line);color:var(--paper);padding:12px 14px;font:inherit;font-size:15px;min-width:0;}
.codigo-det input:focus{outline:none;border-color:var(--accent);}
.desc-nota{font-size:14px;color:var(--muted);margin:0 0 10px;}
.medios{display:grid;gap:10px;margin-top:24px;}
.medios.varios{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));}
.medio-pago{position:relative;display:flex;gap:14px;align-items:center;padding:16px 18px;border:1px solid var(--line);background:var(--bg-deep-2);cursor:pointer;transition:border-color .15s ease;}
.medio-pago input{position:absolute;opacity:0;width:1px;height:1px;}
.medios.varios .medio-pago:has(input:checked){border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent);}
.medio-pago:has(input:focus-visible){outline:2px solid var(--accent);outline-offset:2px;}
.medio-txt{display:flex;flex-direction:column;}
.medio-txt b{font-size:15px;}
.medio-txt > span{font-size:14px;color:var(--muted);}
.medio-prueba{font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:500;color:#f2c94c;letter-spacing:.04em;text-transform:uppercase;margin-left:6px;}
.medio-logo.medio-mercadopago{background:#00b1ea;color:#fff;font-style:normal;font-size:13px;line-height:1.05;text-align:center;padding:6px 9px;}
.codigo-ayuda{padding:0 18px;margin:-4px 0 10px;font-size:14px;color:var(--muted);}
.medio-logo{font-family:'Inter',sans-serif;font-weight:800;font-style:italic;font-size:16px;letter-spacing:-0.02em;background:#fff;color:#d5006d;padding:6px 10px;border-radius:4px;}
.resumen-ahorro{margin-top:10px;text-align:center;background:rgba(56,198,199,0.12);color:var(--accent);font-weight:700;font-size:14px;padding:8px;}
.resumen-ahorro[hidden]{display:none;}
.barra-movil{display:none;}
@media(max-width:980px){
  .pagina-compra .barra-movil:not([hidden]){display:flex;position:fixed;left:0;right:0;bottom:0;z-index:95;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--bg-deep);border-top:1px solid var(--accent);box-shadow:0 -8px 24px rgba(0,0,0,0.4);}
  .barra-movil-total{display:flex;flex-direction:column;min-width:0;}
  .barra-movil-total small{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
  .barra-movil-total b{font-family:'Big Shoulders Display',sans-serif;font-size:26px;line-height:1.05;}
  .barra-movil .btn{padding:14px 22px;white-space:nowrap;}
  .pagina-compra footer{padding-bottom:110px;}
  .pagina-compra .wa-float{display:none;}
  .pagina-compra .resumen{display:none;}
  .pagina-compra .paso-acciones .btn-primary{display:none;}
}
@media(max-width:560px){.opt-foto{height:70px;}.opt-grid-sedes{grid-template-columns:1fr 1fr;}}
.spinner{display:inline-block;width:18px;height:18px;border:2px solid var(--line);border-top-color:var(--accent);border-radius:50%;animation:giro .8s linear infinite;margin-right:10px;vertical-align:-3px;}
@keyframes giro{to{transform:rotate(360deg);}}

/* Descuento con tu RUT */
.rut-pasos{list-style:none;counter-reset:p;margin-top:26px;display:flex;flex-direction:column;gap:14px;}
.rut-pasos li{counter-increment:p;display:grid;grid-template-columns:36px 1fr;column-gap:14px;}
.rut-pasos li::before{content:counter(p);grid-row:span 2;width:36px;height:36px;border-radius:50%;border:1px solid var(--accent);color:var(--accent);display:flex;align-items:center;justify-content:center;font-family:'IBM Plex Mono',monospace;font-size:14px;}
.rut-pasos b{color:var(--paper);font-size:15px;}
.rut-pasos span{color:var(--muted);font-size:14px;}
.rut-form .rut-input{font-size:22px;letter-spacing:0.04em;padding:16px;}
.rut-form [data-rut-buscar]{width:100%;justify-content:center;padding:16px;}
.rut-resultado-eyebrow{display:block;font-size:12.5px;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);margin-bottom:6px;}
.rut-sin{margin:6px 0 18px;padding:20px;border:1px solid var(--line);background:var(--bg-deep-2);}
.rut-sin p{color:var(--sand);font-size:14px;margin-bottom:14px;}
.rut-sin .btn{width:100%;justify-content:center;}
.rut-sin[hidden],.rut-resultado[hidden]{display:none;}

/* Sportlife Corporativo */
.corp-hero{position:relative;min-height:78vh;display:flex;align-items:flex-end;padding:150px 0 70px;overflow:hidden;}
.corp-hero img.cover{position:absolute;inset:0;z-index:0;}
.corp-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,19,15,0.94) 0%,rgba(22,19,15,0.75) 55%,rgba(22,19,15,0.35) 100%);z-index:1;}
.corp-hero-inner{position:relative;z-index:2;}
.corp-hero h1{font-size:clamp(46px,7vw,96px);line-height:.92;margin:14px 0 20px;max-width:780px;}
.corp-hero .lead{max-width:620px;font-size:18px;color:var(--sand);margin-bottom:30px;}
.corp-que-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:56px;align-items:start;}
.corp-que h2{font-size:clamp(32px,4vw,48px);line-height:1;margin:12px 0 18px;}
.corp-que p{color:var(--sand);font-size:16px;max-width:620px;}
.corp-colab{border:1px solid var(--accent);background:rgba(56,198,199,0.06);padding:30px;}
.corp-colab h3{font-family:'Big Shoulders Display',sans-serif;font-size:26px;text-transform:uppercase;margin-bottom:10px;}
.corp-pasos{list-style:none;display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-top:10px;}
.corp-paso{border-top:2px solid var(--accent);padding-top:18px;}
.corp-paso-n{font-size:14px;color:var(--accent);}
.corp-paso h4{font-family:'Big Shoulders Display',sans-serif;font-size:24px;text-transform:uppercase;margin:6px 0 8px;line-height:1.05;}
.corp-paso p{font-size:14px;color:var(--muted);}
.corp-faq{max-width:860px;}
.faq{border-bottom:1px solid var(--line);}
.faq summary{cursor:pointer;padding:18px 0;font-weight:600;font-size:16px;list-style:none;display:flex;justify-content:space-between;gap:16px;}
.faq summary::-webkit-details-marker{display:none;}
.faq summary::after{content:"+";color:var(--accent);font-size:20px;line-height:1;}
.faq[open] summary::after{content:"–";}
.faq p{color:var(--sand);font-size:15px;padding:0 0 18px;max-width:720px;}
.corp-nota{background:var(--bg-deep-2);border-top:1px solid var(--line);padding:22px 0;text-align:center;font-size:14px;color:var(--muted);}
.corp-nota a{color:var(--accent);text-decoration:underline;}
@media(max-width:900px){.corp-que-grid{grid-template-columns:1fr;gap:30px;}.corp-pasos{grid-template-columns:1fr 1fr;}}
@media(max-width:520px){.corp-pasos{grid-template-columns:1fr;}.corp-hero{min-height:auto;padding:130px 0 50px;}}
.promo-banner[hidden]{display:none;}


/* ============================================================
   MODO CLARO / OSCURO
   El modo se guarda en el navegador (botón ☀/☾ del menú).
   Las zonas sobre fotos (portada, fichas, tarjetas) siguen oscuras
   en ambos modos para que el texto se lea sobre la imagen.
   ============================================================ */
:root{--borde-btn:rgba(245,241,232,0.4);--hover-suave:rgba(245,241,232,0.06);--borde-hover:rgba(245,241,232,0.35);--fondo-header:rgba(22,19,15,0.82);--esquema:dark;color-scheme:dark;}
html[data-tema="claro"]{
  --bg-deep:#ffffff;--bg-deep-2:#f4f1ea;--paper:#16130f;--sand:#3d362b;--muted:#5a4f3f;--muted-dark:#6f6452;
  --line:rgba(22,19,15,0.12);--accent:#128889;--copper-bright:#128889;
  --borde-btn:rgba(22,19,15,0.3);--hover-suave:rgba(22,19,15,0.05);--borde-hover:rgba(22,19,15,0.35);--fondo-header:rgba(255,255,255,0.9);--esquema:light;color-scheme:light;
}
/* Sobre fotos y bloques oscuros: se mantienen los colores del modo oscuro */
html[data-tema="claro"] :is(.buy-hero.con-foto,.carrusel,.hero,.sede-hero,.corp-hero,.cta-band,.picker-card,.gallery-item,.sede-panel-info,.plan-card.highlight,.btn-dark,.camp-portada-img){
  color:var(--paper);
  --paper:#f5f1e8;--sand:#ede6d6;--muted:#bdb29c;--line:rgba(245,241,232,0.14);--accent:#38c6c7;--copper-bright:#38c6c7;
  --borde-btn:rgba(245,241,232,0.4);--hover-suave:rgba(245,241,232,0.06);
}
html[data-tema="claro"] .planes,html[data-tema="claro"] .plan-card:not(.highlight){background:#f4f1ea;}
html[data-tema="claro"] .cookie-banner,html[data-tema="claro"] .barra-movil{box-shadow:0 12px 40px rgba(22,19,15,0.15);}
html[data-tema="claro"] .opt-card:has(input:checked),html[data-tema="claro"] .rut-activo,html[data-tema="claro"] .rut-resultado,html[data-tema="claro"] .corp-colab{background:rgba(18,136,137,0.07);}
html[data-tema="claro"] .wa-float{color:#fff;}
html[data-tema="claro"] .btn-primary,html[data-tema="claro"] .camp-banda,html[data-tema="claro"] .stepper li.activo span,html[data-tema="claro"] .opt-badge,html[data-tema="claro"] .opt-mejor,html[data-tema="claro"] .rut-activo-ico,html[data-tema="claro"] .opt-tag{color:#fff;}
html[data-tema="claro"] .btn-primary:hover{background:#0f7475;}
html[data-tema="claro"] .medio-pago .medio-logo{border:1px solid var(--line);}
/* Logo: versión para fondo claro */
.logo .logo-claro{display:none;}
html[data-tema="claro"] .logo .logo-oscuro{display:none;}
html[data-tema="claro"] .logo .logo-claro{display:block;}
/* Botón de modo */
.tema-toggle{background:none;border:1px solid var(--borde-btn);color:var(--paper);width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:border-color .15s ease,color .15s ease;}
.tema-toggle:hover{border-color:var(--accent);color:var(--accent);}
.tema-toggle svg{width:18px;height:18px;}
.tema-toggle .ico-sol{display:none;}
html[data-tema="claro"] .tema-toggle .ico-sol{display:block;}
html[data-tema="claro"] .tema-toggle .ico-luna{display:none;}
@media(max-width:880px){.tema-toggle{width:36px;height:36px;}.nav-cta{gap:10px;}}

/* ============================================================
   LINK DE PAGO (/pagar/) — planes especiales creados en el panel
   ============================================================ */
.pagar-wrap{max-width:760px;}
.pagar-cargando,.pagar-error{text-align:center;}
.pagar-producto{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start;border:1px solid var(--line);background:var(--bg-deep-2);padding:26px;margin-bottom:26px;}
.pagar-img{width:150px;height:150px;background:center/cover no-repeat var(--bg-deep);}
.pagar-img[hidden]{display:none;}
.pagar-producto:has(.pagar-img[hidden]){grid-template-columns:1fr;}
.pagar-titulo{font-size:40px;line-height:1;margin:8px 0 10px;}
.pagar-desc{color:var(--sand);font-size:16px;white-space:pre-line;}
.pagar-sede{margin-top:10px;font-size:14.5px;color:var(--muted);}
.pagar-precio{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-top:18px;padding-top:16px;border-top:1px solid var(--line);}
.pagar-precio span{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);}
.pagar-precio b{font-family:'Big Shoulders Display',sans-serif;font-size:40px;line-height:1;color:var(--accent);}
.pagar-aviso{margin-top:14px;font-size:14px;color:#f2c94c;}
.pagar .paso{margin-bottom:26px;}
@media(max-width:640px){.pagar-producto{grid-template-columns:1fr;padding:20px;}.pagar-img{width:100%;height:170px;}.pagar-titulo{font-size:32px;}}

/* Legibilidad: textos pequeños un poco más grandes y con mejor contraste */
.opt-sub,.pago-seguro,.resumen-mes,.rut-msg,.codigo-msg,.desc-nota,.resumen-ayuda,.rut-activo > div span,.form-legal,.footer-bottom,.footer-legal{line-height:1.55;}
.field span{letter-spacing:.06em;}

/* Encabezado: sin amontonarse (el menú pasa a ☰ en pantallas medianas) */
.nav{gap:24px;}
.nav-links{gap:30px;}
.nav-links a{white-space:nowrap;}
.nav-cta{gap:12px;flex-shrink:0;}
.nav-cta .btn{white-space:nowrap;}
@media(max-width:1360px){
  .nav-links{gap:22px;}
  .nav-links a{font-size:13.5px;letter-spacing:0.03em;}
  .nav-cta .btn{padding:13px 18px;font-size:13px;}
  .logo img{height:42px;}
}
@media(max-width:1250px){.nav-cta .btn-ghost{display:none;}}
@media(max-width:1180px){
  .nav-links{display:none;}
  .burger{display:block;}
  .nav-cta{margin-left:auto;}
  .nav-links.open{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;background:var(--bg-deep);padding:24px 32px;gap:20px;border-bottom:1px solid var(--line);}
  .nav-links.open a{font-size:15px;}
  .nav-links.open .solo-movil{display:block;color:var(--accent);}
}
/* Planes especiales en la consulta de RUT */
.rut-especiales{margin:6px 0 18px;padding:20px;border:1px solid var(--accent);background:var(--bg-deep-2);}
.rut-especial{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-top:1px solid var(--line);}
.rut-especial:first-child{border-top:none;padding-top:8px;}
.rut-especial > div:first-child{display:flex;flex-direction:column;gap:2px;}
.rut-especial > div:first-child b{font-size:16px;}
.rut-especial > div:first-child span{font-size:14px;color:var(--muted);}
.rut-especial-pago{display:flex;align-items:center;gap:14px;flex-shrink:0;}
.rut-especial-pago b{font-family:'Big Shoulders Display',sans-serif;font-size:26px;color:var(--accent);}
.rut-especial-pago .btn{padding:11px 18px;}
@media(max-width:560px){.rut-especial{flex-direction:column;align-items:stretch;}.rut-especial-pago{justify-content:space-between;}}
.rut-msg a{color:var(--accent);text-decoration:underline;}

/* Página de planes por sede: foto de fondo (sede, propia o campaña; se elige en el panel) */
.buy-hero.con-foto{position:relative;overflow:hidden;min-height:440px;display:flex;align-items:flex-end;padding:150px 0 56px;border-bottom:none;background:var(--bg-deep);color:var(--paper);}
.buy-hero-bg{position:absolute;inset:0;z-index:0;}
.buy-hero-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(16,14,10,0.88) 0%,rgba(16,14,10,0.55) 55%,rgba(16,14,10,0.2) 100%),linear-gradient(180deg,rgba(16,14,10,0.1) 40%,rgba(16,14,10,0.85) 100%);}
.buy-hero.con-foto .wrap{position:relative;z-index:2;width:100%;}
.buy-hero.con-foto h1{font-size:clamp(40px,6vw,76px);line-height:0.95;}
.buy-hero.con-foto p{color:var(--sand);font-size:16px;}
.buy-hero.con-foto .back-link{color:var(--sand);}
@media(max-width:700px){.buy-hero.con-foto{min-height:360px;padding:120px 0 40px;}}

/* ============================================================
   CARRUSEL DE IMÁGENES (campañas y fotos de sede)
   ============================================================ */
.carrusel{position:relative;overflow:hidden;background:#0d0b08;aspect-ratio:16/10;width:100%;border:1px solid rgba(245,241,232,0.14);touch-action:pan-y;}
.car-pista{display:flex;height:100%;transition:transform .7s cubic-bezier(.4,0,.2,1);}
.car-slide{flex:0 0 100%;position:relative;height:100%;overflow:hidden;}
.car-slide a{display:block;height:100%;}
.car-fondo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:blur(22px) brightness(0.5);transform:scale(1.15);}
.car-img{position:relative;z-index:1;width:100%;height:100%;object-fit:contain;}
.car-btn{position:absolute;top:50%;z-index:3;transform:translateY(-50%);width:42px;height:42px;border-radius:50%;border:1px solid rgba(255,255,255,0.35);background:rgba(16,14,10,0.55);color:#fff;font-size:26px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease,background .2s ease;}
.car-btn:hover{background:rgba(16,14,10,0.85);}
.car-btn:focus-visible{opacity:1;outline:2px solid var(--accent);}
.carrusel:hover .car-btn{opacity:1;}
@media(hover:none){.car-btn{opacity:1;width:36px;height:36px;font-size:22px;}}
.car-prev{left:12px;}
.car-next{right:12px;}
.car-puntos{position:absolute;left:0;right:0;bottom:12px;z-index:3;display:flex;justify-content:center;gap:8px;}
.car-puntos button{width:9px;height:9px;padding:0;border:none;border-radius:5px;background:rgba(255,255,255,0.5);cursor:pointer;transition:width .3s ease,background .3s ease;}
.car-puntos button.on{width:24px;background:#38c6c7;}
@media(prefers-reduced-motion:reduce){.car-pista{transition:none;}}
/* Encabezados con carrusel al lado del título */
.hero-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:48px;align-items:center;}
.buy-hero.con-carrusel{min-height:0;align-items:center;padding-bottom:64px;}
.buy-hero.con-carrusel:not(.con-foto){padding-top:130px;}
.buy-hero.con-carrusel .carrusel{box-shadow:0 30px 60px rgba(0,0,0,0.35);}
@media(max-width:900px){.hero-split{grid-template-columns:1fr;gap:28px;}.buy-hero.con-carrusel{padding-bottom:40px;}}
/* Banner de campaña en la portada: imagen completa, sin recortar */
.camp-portada-img{min-height:0;display:flex;background:#0d0b08;}
.camp-portada-img .carrusel{aspect-ratio:auto;height:100%;min-height:360px;border:none;}
@media(max-width:760px){.camp-portada-img .carrusel{min-height:0;aspect-ratio:16/11;}}

/* Imagen grande de fondo que se desliza (portada, planes y planes por sede) */
.car-cubre{position:absolute;inset:0;aspect-ratio:auto;height:100%;border:none;background:transparent;}
.car-cubre .car-img{object-fit:cover;z-index:auto;}
@media(max-width:700px){.car-cubre .car-btn{display:none;}.car-cubre .car-puntos{right:20px;bottom:14px;}}
.hero-bg .car-cubre .car-img{object-position:center 30%;}
.car-cubre .car-btn{width:46px;height:46px;font-size:28px;}
.car-cubre .car-puntos{justify-content:flex-end;right:32px;left:auto;bottom:20px;}
.hero .hero-inner,.buy-hero.con-foto .wrap{pointer-events:none;}
.hero .hero-inner a,.hero .hero-inner button,.buy-hero.con-foto .wrap a,.buy-hero.con-foto .wrap button{pointer-events:auto;}
.hero-bg::after,.buy-hero-bg::after{pointer-events:none;}

/* ============================================================
   CLASES Y HORARIOS
   ============================================================ */
.clases-hero{padding-bottom:48px;}
.cl-filtros{display:flex;flex-wrap:wrap;gap:18px 32px;align-items:flex-end;margin-bottom:26px;}
.cl-grupo{display:flex;flex-direction:column;gap:8px;}
.cl-label{font-size:12.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);}
.cl-tabs-sedes,.cl-tabs-dias{display:flex;flex-wrap:wrap;gap:8px;}
.cl-tabs-sedes button,.cl-tabs-dias button{font:inherit;font-size:14px;font-weight:600;padding:10px 16px;border:1px solid var(--line);background:var(--bg-deep-2);color:var(--paper);cursor:pointer;border-radius:100px;transition:border-color .15s ease,background .15s ease;}
.cl-tabs-sedes button:hover,.cl-tabs-dias button:hover{border-color:var(--accent);}
.cl-tabs-sedes button.on,.cl-tabs-dias button.on{background:var(--accent);border-color:var(--accent);color:#0d0b08;}
.cl-select{font:inherit;font-size:15px;padding:10px 14px;background:var(--bg-deep-2);color:var(--paper);border:1px solid var(--line);min-width:220px;}
.cl-sede-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin-bottom:18px;}
.cl-sede-head h2{font-size:clamp(28px,3.4vw,40px);}
.cl-sede-head .mut{color:var(--muted);font-size:15px;}
.cl-parrilla-link{margin-left:auto;color:var(--accent);font-size:14px;text-decoration:underline;}
.cl-semana{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px;}
.cl-dia{background:var(--bg-deep-2);border:1px solid var(--line);padding:12px 10px;display:flex;flex-direction:column;gap:6px;min-width:0;}
.cl-dia-nombre{font-family:'IBM Plex Mono',monospace;font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);padding-bottom:8px;border-bottom:1px solid var(--line);margin-bottom:2px;}
.cl-dia.hoy .cl-dia-nombre{color:var(--accent);}
.cl-dia.hoy{border-color:var(--accent);}
.cl-clase{display:flex;flex-direction:column;gap:1px;padding:7px 9px;border-left:3px solid var(--c);background:rgba(245,241,232,0.04);transition:opacity .2s ease;}
.cl-hora{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:var(--muted);}
.cl-nombre{font-size:14.5px;font-weight:600;line-height:1.25;overflow-wrap:anywhere;}
.cl-clase.apagada{opacity:.18;}
.cl-vacio{font-size:13.5px;color:var(--muted);padding:6px 2px;}
html[data-tema="claro"] .cl-clase{background:rgba(22,19,15,0.035);}
.cl-movil-dias{display:none;margin-bottom:16px;}
.cl-cta{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}
.cl-nada{margin-top:12px;color:var(--muted);}
@media(max-width:1100px){.cl-semana{grid-template-columns:repeat(4,minmax(0,1fr));}}
@media(max-width:760px){
  .cl-movil-dias{display:block;}
  .cl-semana{grid-template-columns:1fr;}
  .cl-semana .cl-dia{display:none;}
  .cl-semana .cl-dia.visible{display:flex;}
  .cl-dia-nombre{display:none;}
  .cl-clase{flex-direction:row;align-items:center;gap:14px;padding:12px 14px;}
  .cl-hora{min-width:48px;font-size:14px;}
  .cl-nombre{font-size:16px;}
  .cl-parrilla-link{margin-left:0;}
  .cl-tabs-dias{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;}
  .cl-tabs-dias button{flex-shrink:0;padding:9px 14px;}
}
