:root{--blue:#123bff;--black:#030303;--white:#fff;--muted:#c9ced8;--light:#f4f5f8}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#030303;color:#fff}a{text-decoration:none;color:inherit}img{display:block;max-width:100%}.container{width:min(1180px,92%);margin:0 auto}
.header{position:fixed;top:0;left:0;right:0;z-index:99;background:rgba(0,0,0,.82);backdrop-filter:blur(10px);border-bottom:1px solid rgba(255,255,255,.06)}.nav{height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}.logo img{width:70px;height:70px;object-fit:contain}.menu{display:flex;align-items:center;gap:28px;text-transform:uppercase;font-size:13px;font-weight:900;letter-spacing:.04em}.menu a:hover{color:var(--blue)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--blue);color:white;padding:15px 23px;border-radius:3px;text-transform:uppercase;font-size:13px;font-weight:900;border:1px solid var(--blue);box-shadow:0 14px 30px rgba(18,59,255,.25)}.btn.outline{background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.35);box-shadow:none}.btn.small{padding:11px 16px;font-size:11px}
.hero{min-height:650px;padding-top:76px;background:linear-gradient(90deg,rgba(0,0,0,.99) 0%,rgba(0,0,0,.93) 33%,rgba(0,0,0,.58) 52%,rgba(0,0,0,.05) 82%),url("assets/instalaciones.jpg") center center/cover no-repeat;display:flex;align-items:center;position:relative;overflow:hidden}.hero-inner{padding:58px 0 48px;position:relative;z-index:2}.hero h1{margin:0 0 18px;font-size:clamp(56px,7.2vw,92px);line-height:.92;letter-spacing:-.045em;text-transform:uppercase;font-weight:1000}.blue{color:var(--blue)}.hero h2{margin:0 0 24px;font-size:28px;line-height:1.15;text-transform:uppercase;font-weight:1000}.hero p{max-width:430px;margin:0 0 24px;color:#f1f3f8;line-height:1.55;font-size:15px}.actions{display:flex;gap:14px;flex-wrap:wrap}
.whatsapp-box{position:absolute;right:34px;bottom:28px;width:58px;height:58px;border-radius:50%;background:#25d366;color:white;display:grid;place-items:center;z-index:5;box-shadow:0 14px 30px rgba(0,0,0,.35)}.whatsapp-circle{width:auto;height:auto;border-radius:0;background:transparent;color:white;display:block;font-size:30px;line-height:1}
.feature-row{display:grid;grid-template-columns:repeat(5,1fr);border-top:1px solid rgba(255,255,255,.1);border-bottom:1px solid rgba(255,255,255,.1);background:#07070a}.feature{min-height:104px;padding:22px 25px;border-right:1px solid rgba(255,255,255,.12);display:grid;grid-template-columns:50px 1fr;gap:15px}.feature:last-child{border-right:none}.icon{width:42px;height:42px;border:2px solid var(--blue);border-radius:12px;color:var(--blue);display:grid;place-items:center;font-size:22px}.feature strong{display:block;text-transform:uppercase;font-size:15px;margin-bottom:5px}.feature p{margin:0;color:#ddd;font-size:12px;line-height:1.35}.feature a{display:inline-block;margin-top:11px;color:var(--blue);text-transform:uppercase;font-size:11px;font-weight:900}
.school{background:linear-gradient(90deg,#f7f8fb 0%,#f7f8fb 35%,#050505 35%,#050505 100%);color:#070707}.school-grid{display:grid;grid-template-columns:35% 50% 15%;min-height:360px}.copy-panel{padding:55px 40px 45px 0}.eyebrow{color:var(--blue);text-transform:uppercase;font-size:13px;font-weight:900;letter-spacing:.08em;margin-bottom:18px}h2{margin:0 0 18px;font-size:clamp(32px,4vw,44px);line-height:.95;letter-spacing:-.03em;text-transform:uppercase;font-weight:1000}.text{font-size:14px;line-height:1.55;color:#222}.pill-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin:27px 0;color:var(--blue);text-align:center}.pill-grid span{font-size:22px;display:block}.pill-grid strong{display:block;font-size:11px;text-transform:uppercase}.pill-grid small{font-size:9px;color:#333}.school-photo{min-height:360px;background:url("assets/escuela.jpg") center/cover no-repeat}.stats{margin:36px 0 36px -20px;align-self:stretch;background:linear-gradient(180deg,#1438ff,#001fc4);color:white;padding:28px 22px;border-radius:8px;display:flex;flex-direction:column;justify-content:center;gap:22px}.stat strong{display:block;font-size:24px}.stat span{text-transform:uppercase;font-size:10px}
.teams{background:#030303;color:white}.teams-grid{display:grid;grid-template-columns:34% 66%;min-height:250px}.dark-copy{padding:42px 38px 42px 0}.dark-copy .text{color:#e5e8ee}.teams-photo{background:url("assets/equipos.jpg") center/cover no-repeat;display:flex;align-items:flex-end}.team-tags{width:100%;display:grid;grid-template-columns:repeat(4,1fr);background:rgba(0,0,0,.65);backdrop-filter:blur(4px);border-top:1px solid rgba(255,255,255,.15)}.team-tag{padding:18px;border-right:1px solid rgba(255,255,255,.15);text-transform:uppercase;font-size:12px;font-weight:900}.team-tag span{color:var(--blue);font-size:22px;margin-right:7px}
.events{background:#f5f6f8;color:#050505;padding:40px 0 30px}.events-grid{display:grid;grid-template-columns:30% 70%;gap:35px;align-items:center}.event-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.event-card{min-height:160px;border-radius:6px;overflow:hidden;position:relative;background:#111 center/cover no-repeat}.event-card:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.85))}.event-card div{position:absolute;left:13px;right:13px;bottom:13px;color:white;z-index:2;text-transform:uppercase}.event-card strong{display:block;font-size:15px}.event-card small{color:#2a55ff;font-weight:900}
.community{display:grid;grid-template-columns:29% 71%;background:#050505}.community-copy{padding:47px 40px 40px max(4vw,calc((100vw - 1180px)/2))}.community-copy .text{color:white}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:15px 4vw 15px 0}.gallery img{width:100%;height:135px;object-fit:cover}
.pricing-section{background:#f5f6f8;color:#050505;padding:36px 0 42px}.pricing-grid{display:grid;grid-template-columns:28% repeat(4,1fr);gap:20px;align-items:stretch}.price-card{background:white;border:1px solid #ddd;border-radius:8px;padding:26px 18px;text-align:center;box-shadow:0 12px 28px rgba(0,0,0,.05)}.price-card.featured{border:2px solid var(--blue)}.price-card h3{font-size:12px;text-transform:uppercase;margin:0 0 15px}.price{font-size:36px;font-weight:1000;margin-bottom:8px}.price span{font-size:13px}.price-card p{font-size:12px;line-height:1.4;color:#333;min-height:34px}
.cta{background:linear-gradient(90deg,#0716dd,#073cff);color:white;padding:18px 0}.cta-inner{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:20px;align-items:center}.cta h2{font-size:30px;margin:0}.footer{background:#020202;color:#d8dbe3;padding:28px 0 18px}.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1.2fr;gap:38px}.footer img{width:80px;margin-bottom:12px}.footer h4{color:white;text-transform:uppercase;margin:0 0 12px;font-size:13px}.footer p,.footer a{font-size:13px;line-height:1.6;color:#d8dbe3}.map{min-height:105px;border-radius:6px;background:linear-gradient(135deg,#171717,#30333d);display:grid;place-items:center;color:white;border:1px solid rgba(255,255,255,.12)}
@media(max-width:950px){.menu{display:none}.nav{height:72px}.logo img{width:60px}.hero{min-height:650px;padding-top:76px;background:linear-gradient(90deg,rgba(0,0,0,.99) 0%,rgba(0,0,0,.93) 33%,rgba(0,0,0,.58) 52%,rgba(0,0,0,.05) 82%),url("assets/hero.jpg") center center/cover no-repeat;display:flex;align-items:center;position:relative;overflow:hidden}.feature-row,.school-grid,.teams-grid,.events-grid,.community,.pricing-grid,.cta-inner,.footer-grid{grid-template-columns:1fr}.school{background:#f7f8fb}.copy-panel,.dark-copy{padding:45px 0}.stats{margin:0 0 35px}.event-cards,.gallery,.team-tags{grid-template-columns:1fr 1fr}.whatsapp-box{position:absolute;right:34px;bottom:28px;width:58px;height:58px;border-radius:50%;background:#25d366;color:white;display:grid;place-items:center;z-index:5;box-shadow:0 14px 30px rgba(0,0,0,.35)}}@media(max-width:600px){.hero h1{margin:0 0 18px;font-size:clamp(56px,7.2vw,92px);line-height:.92;letter-spacing:-.045em;text-transform:uppercase;font-weight:1000}.event-cards,.gallery,.team-tags,.pill-grid{grid-template-columns:1fr}.btn{width:100%}}

/* V10 - Menú inferior del hero restaurado, aislado y sin afectar al resto */
.feature-row.menu-boceto{
  display:grid !important;
  grid-template-columns:repeat(5,1fr) !important;
  background:#07070a !important;
  border-top:1px solid rgba(255,255,255,.14) !important;
  border-bottom:1px solid rgba(255,255,255,.14) !important;
  color:#fff !important;
}

.feature-row.menu-boceto .feature{
  min-height:150px !important;
  padding:30px 32px !important;
  border-right:1px solid rgba(255,255,255,.16) !important;
  display:grid !important;
  grid-template-columns:64px 1fr !important;
  gap:20px !important;
  align-items:start !important;
  background:transparent !important;
}

.feature-row.menu-boceto .feature:last-child{
  border-right:none !important;
}

.feature-row.menu-boceto .icon{
  width:58px !important;
  height:58px !important;
  border:none !important;
  border-radius:0 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  color:#1140ff !important;
  background:transparent !important;
}

.feature-row.menu-boceto .icon svg{
  width:58px !important;
  height:58px !important;
  stroke:#1140ff !important;
  fill:none !important;
  stroke-width:2.7 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.feature-row.menu-boceto strong{
  display:block !important;
  color:#fff !important;
  font-size:18px !important;
  line-height:1.05 !important;
  margin:2px 0 9px !important;
  text-transform:uppercase !important;
  font-weight:1000 !important;
  letter-spacing:0 !important;
}

.feature-row.menu-boceto p{
  display:block !important;
  margin:0 !important;
  color:#f0f2f7 !important;
  font-size:14px !important;
  line-height:1.38 !important;
  max-width:210px !important;
}

.feature-row.menu-boceto a{
  display:inline-flex !important;
  align-items:center !important;
  margin-top:18px !important;
  color:#1140ff !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:1000 !important;
  text-transform:uppercase !important;
  letter-spacing:.02em !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}

.feature-row.menu-boceto a:hover{
  color:#fff !important;
}

@media(max-width:950px){
  .feature-row.menu-boceto{
    grid-template-columns:1fr !important;
  }
  .feature-row.menu-boceto .feature{
    min-height:auto !important;
    border-right:none !important;
    border-bottom:1px solid rgba(255,255,255,.14) !important;
  }
}

/* V14 - Menú inferior hero estable + pala realista */
.feature-row.menu-boceto{
  display:grid !important;
  grid-template-columns:repeat(5,1fr) !important;
  background:#07070a !important;
  border-top:1px solid rgba(255,255,255,.14) !important;
  border-bottom:1px solid rgba(255,255,255,.14) !important;
  color:#fff !important;
}

.feature-row.menu-boceto .feature{
  min-height:150px !important;
  padding:30px 32px !important;
  border-right:1px solid rgba(255,255,255,.16) !important;
  display:grid !important;
  grid-template-columns:64px 1fr !important;
  gap:20px !important;
  align-items:start !important;
  background:transparent !important;
}

.feature-row.menu-boceto .feature:last-child{
  border-right:none !important;
}

.feature-row.menu-boceto .icon{
  width:60px !important;
  height:60px !important;
  border:none !important;
  border-radius:0 !important;
  display:flex !important;
  align-items:flex-start !important;
  justify-content:center !important;
  background:transparent !important;
}

.feature-row.menu-boceto .icon svg{
  width:60px !important;
  height:60px !important;
  stroke:#1140ff !important;
  fill:none !important;
  stroke-width:2.7 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.feature-row.menu-boceto .icon svg.pala-real circle{
  fill:#1140ff !important;
  stroke:none !important;
}

.feature-row.menu-boceto strong{
  display:block !important;
  color:#fff !important;
  font-size:18px !important;
  line-height:1.05 !important;
  margin:2px 0 9px !important;
  text-transform:uppercase !important;
  font-weight:1000 !important;
}

.feature-row.menu-boceto p{
  display:block !important;
  margin:0 !important;
  color:#f0f2f7 !important;
  font-size:14px !important;
  line-height:1.38 !important;
  max-width:215px !important;
}

.feature-row.menu-boceto a{
  display:inline-flex !important;
  align-items:center !important;
  margin-top:18px !important;
  color:#1140ff !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:1000 !important;
  text-transform:uppercase !important;
  letter-spacing:.02em !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}

@media(max-width:950px){
  .feature-row.menu-boceto{
    grid-template-columns:1fr !important;
  }
  .feature-row.menu-boceto .feature{
    min-height:auto !important;
    border-right:none !important;
    border-bottom:1px solid rgba(255,255,255,.14) !important;
  }
}

/* V16 - Hero limpio sin menú duplicado */
.hero{
  background-position:center top !important;
  background-size:cover !important;
}

/* V18 - Botón flotante WhatsApp */
.floating-whatsapp{
  position:fixed;
  right:28px;
  bottom:28px;
  width:64px;
  height:64px;
  border-radius:50%;
  background:#25D366;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 30px rgba(0,0,0,.35);
  z-index:9999;
  transition:transform .2s ease;
}
.floating-whatsapp:hover{
  transform:scale(1.08);
}
.floating-whatsapp svg{
  width:34px;
  height:34px;
}

/* V19 - Hero corregido sin cabecera incrustada en la imagen */
.hero{
  background-position:center center !important;
  background-size:cover !important;
}

/* V32 - línea azul hero */
.hero-brush-line{
  width:260px;
  height:10px;
  margin-top:16px;
  border-radius:999px;
  background:linear-gradient(90deg,#1140ff 0%, #2155ff 55%, rgba(17,64,255,0) 100%);
  box-shadow:0 0 18px rgba(17,64,255,.35);
}

/* V33 - Iconos arriba + imagen antes del enlace en menú inferior */
.feature-row.menu-boceto{
  display:grid !important;
  grid-template-columns:repeat(5,1fr) !important;
  background:#07070a !important;
  border-top:1px solid rgba(255,255,255,.14) !important;
  border-bottom:1px solid rgba(255,255,255,.14) !important;
}

.feature-row.menu-boceto .feature{
  min-height:310px !important;
  padding:30px 22px 26px !important;
  border-right:1px solid rgba(255,255,255,.16) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:center !important;
  gap:14px !important;
  background:transparent !important;
}

.feature-row.menu-boceto .feature:last-child{
  border-right:none !important;
}

.feature-row.menu-boceto .icon{
  width:62px !important;
  height:62px !important;
  border:none !important;
  border-radius:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:transparent !important;
  margin:0 auto 6px !important;
}

.feature-row.menu-boceto .icon svg{
  width:62px !important;
  height:62px !important;
  stroke:#1140ff !important;
  fill:none !important;
  stroke-width:2.7 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

.feature-row.menu-boceto .icon svg circle{
  fill:none !important;
}

.feature-row.menu-boceto .feature-content{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  width:100% !important;
}

.feature-row.menu-boceto strong{
  display:block !important;
  color:#fff !important;
  font-size:19px !important;
  line-height:1.05 !important;
  margin:0 0 11px !important;
  text-transform:uppercase !important;
  font-weight:1000 !important;
}

.feature-row.menu-boceto p{
  display:block !important;
  margin:0 !important;
  color:#f0f2f7 !important;
  font-size:14px !important;
  line-height:1.4 !important;
  min-height:42px !important;
  max-width:225px !important;
}

.feature-row.menu-boceto .feature-image{
  width:100% !important;
  max-width:215px !important;
  height:145px !important;
  margin:18px auto 16px !important;
  border-radius:14px !important;
  background-size:cover !important;
  background-position:center !important;
  box-shadow:0 10px 24px rgba(0,0,0,.26) !important;
  border:1px solid rgba(255,255,255,.11) !important;
  overflow:hidden !important;
}

.feature-row.menu-boceto .feature-escuela{
  background-image:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.25)),url('assets/escuela1.jpg') !important;
}
.feature-row.menu-boceto .feature-clases{
  background-image:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.25)),url('assets/gimnasio.jpg') !important;
}
.feature-row.menu-boceto .feature-equipos{
  background-image:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.25)),url('assets/equipos.jpg') !important;
}
.feature-row.menu-boceto .feature-eventos{
  background-image:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.25)),url('assets/evento1.jpg') !important;
}
.feature-row.menu-boceto .feature-comunidad{
  background-image:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.25)),url('assets/comunidad0.jpg') !important;
}

.feature-row.menu-boceto a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin-top:18px !important;
  color:#1140ff !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:1000 !important;
  text-transform:uppercase !important;
  letter-spacing:.02em !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  box-shadow:none !important;
}

.feature-row.menu-boceto a:hover{
  color:#fff !important;
}

@media(max-width:950px){
  .feature-row.menu-boceto{
    grid-template-columns:1fr !important;
  }
  .feature-row.menu-boceto .feature{
    min-height:auto !important;
    border-right:none !important;
    border-bottom:1px solid rgba(255,255,255,.14) !important;
  }
}

/* V36 - frase inspiracional bajo menú */
.feature-closing-quote{
  width:100%;
  padding:42px 20px 58px;
  text-align:center;
  background:#050507;
  color:#fff;
  font-size:34px;
  line-height:1.2;
  font-weight:1000;
  letter-spacing:-0.03em;
  text-transform:uppercase;
}

.feature-closing-quote span{
  color:#1140ff;
}

/* ===== AJUSTES HERO V39.1 ===== */
.hero{
  min-height:0 !important;
  height:auto !important;
  aspect-ratio:1672 / 941;
  padding-top:76px !important;
  background:
    linear-gradient(90deg,rgba(0,0,0,.38) 0%,rgba(0,0,0,.24) 38%,rgba(0,0,0,.05) 75%),
    url("assets/hero.jpg") center center / 100% 100% no-repeat !important;
  align-items:center !important;
}

.hero-inner{
  padding:0 0 0 !important;
  max-width:720px;
}

.hero h1{
  margin:0 !important;
  font-size:clamp(42px,5.8vw,82px) !important;
  line-height:.96 !important;
  letter-spacing:-.035em !important;
}

.hero-brush-line{
  width:min(520px,42vw);
  height:10px;
  margin:18px 0 24px;
  border-radius:999px;
  background:linear-gradient(90deg,#003cff 0%,#0a45ff 62%,rgba(0,60,255,0) 100%);
  box-shadow:0 0 18px rgba(0,60,255,.35);
}

.hero h2{
  margin:0 0 18px !important;
  font-size:clamp(22px,2.3vw,32px) !important;
  letter-spacing:.06em;
}

.hero h2 .blue{
  color:#003cff !important;
}

.hero p{
  font-size:clamp(15px,1.25vw,22px) !important;
  max-width:650px !important;
  margin-bottom:28px !important;
}

.hero .actions .btn:first-child{
  min-width:230px;
}

@media(max-width:900px){
  .hero{
    aspect-ratio:auto;
    min-height:720px !important;
    background-size:cover !important;
    background-position:center center !important;
    padding-top:110px !important;
  }

  .hero-inner{
    padding:40px 0 !important;
  }

  .hero-brush-line{
    width:78vw;
  }
}

/* ===== V39.2 HERO SIN TEXTO SUPERPUESTO ===== */
.hero-image-only{
  display:block !important;
  min-height:0 !important;
  height:auto !important;
  aspect-ratio:1672 / 941;
  padding-top:0 !important;
  background:
    url("assets/hero.jpg") center center / 100% 100% no-repeat !important;
}

.hero-image-only .hero-inner,
.hero-image-only h1,
.hero-image-only h2,
.hero-image-only p,
.hero-image-only .actions,
.hero-image-only .hero-brush-line{
  display:none !important;
}

@media(max-width:900px){
  .hero-image-only{
    aspect-ratio:auto;
    min-height:620px !important;
    background-size:cover !important;
    background-position:center center !important;
  }
}

/* ===== V40 HERO FINAL ===== */
.hero-final-image{
  display:block !important;
  width:100%;
  min-height:0 !important;
  height:auto !important;
  aspect-ratio:1792 / 1024;
  padding-top:0 !important;
  background:url("assets/hero.jpg") center center / 100% 100% no-repeat !important;
}

.hero-final-image .hero-inner,
.hero-final-image h1,
.hero-final-image h2,
.hero-final-image p,
.hero-final-image .actions,
.hero-final-image .hero-brush-line{
  display:none !important;
}

@media(max-width:900px){
  .hero-final-image{
    aspect-ratio:auto;
    min-height:640px !important;
    background-size:cover !important;
    background-position:center center !important;
  }
}

/* ===== V40.1 TEXTO Y BOTONES HTML EN HERO ===== */
.hero-final-image{
  position:relative !important;
}

.hero-copy-html{
  position:absolute;
  left:4.4%;
  top:61.5%;
  z-index:5;
  color:#fff;
  max-width:560px;
}

.hero-copy-html p{
  margin:0 0 26px;
  color:#f1f3f8;
  font-size:clamp(15px,1.25vw,22px);
  line-height:1.45;
  font-weight:500;
}

.hero-actions-html{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}

.hero-actions-html .btn{
  min-width:230px;
}

.hero-actions-html .btn.outline{
  background:rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.55);
  box-shadow:none;
}

@media(max-width:900px){
  .hero-copy-html{
    left:6%;
    right:6%;
    top:auto;
    bottom:48px;
    max-width:none;
  }

  .hero-copy-html p{
    font-size:16px;
  }

  .hero-actions-html .btn{
    width:100%;
  }
}

/* ===== V40.2 TEXTO VISIBLE + BOTONES DEBAJO ===== */
.hero-final-image{
  position:relative !important;
}

.hero-copy-html{
  display:block !important;
  position:absolute !important;
  left:4.4% !important;
  top:62% !important;
  z-index:50 !important;
  max-width:720px !important;
  color:#ffffff !important;
  pointer-events:auto !important;
}

.hero-copy-html p{
  display:block !important;
  margin:0 0 28px !important;
  color:#ffffff !important;
  font-size:clamp(18px,1.45vw,25px) !important;
  line-height:1.42 !important;
  font-weight:500 !important;
  text-shadow:0 3px 18px rgba(0,0,0,.75) !important;
}

.hero-actions-html{
  display:flex !important;
  align-items:center !important;
  gap:22px !important;
  flex-wrap:wrap !important;
}

.hero-actions-html .btn{
  display:inline-flex !important;
  min-width:250px !important;
  justify-content:center !important;
}

.hero-actions-html .btn.outline{
  background:rgba(0,0,0,.34) !important;
  border:1px solid rgba(255,255,255,.7) !important;
  box-shadow:none !important;
}

@media(max-width:900px){
  .hero-copy-html{
    left:6% !important;
    right:6% !important;
    top:auto !important;
    bottom:42px !important;
    max-width:none !important;
  }

  .hero-copy-html p{
    font-size:16px !important;
  }

  .hero-actions-html{
    gap:12px !important;
  }

  .hero-actions-html .btn{
    width:100% !important;
  }
}

/* ===== V40.3 BAJAR TEXTO Y BOTONES ===== */
.hero-copy-html{
  top:68% !important;
}

@media(max-width:900px){
  .hero-copy-html{
    bottom:28px !important;
  }
}

/* ===== V40.4 AJUSTE FINO TEXTO HERO ===== */
.hero-copy-html{
  top:70.5% !important;
  left:5.6% !important;
}

/* ===== V40.5 SUBIR TEXTO HERO ===== */
.hero-copy-html{
  top:67.8% !important;
}

/* ===== V40.7 MENÚ SUPERIOR MÁS GRANDE ===== */
header nav a{
  font-size:1.04rem !important;
  letter-spacing:.04em !important;
  font-weight:600 !important;
}

header .logo img{
  height:58px !important;
}

header{
  padding-top:14px !important;
  padding-bottom:14px !important;
}

/* ===== V40.8 LOGO MÁS GRANDE ===== */
header .logo img{
  height:72px !important;
  width:auto !important;
}

@media(max-width:900px){
  header .logo img{
    height:58px !important;
  }
}

/* ===== V40.9 NUEVO ICONO CLASES ===== */
.feature .icon{
  font-size:28px !important;
  font-weight:700 !important;
  letter-spacing:-.04em;
}

/* ===== V41 ICONO CLASES REAL ===== */
.feature .icon img{
  width:42px;
  height:42px;
  object-fit:contain;
  display:block;
  filter:drop-shadow(0 0 6px rgba(0,80,255,.25));
}

/* ===== V41.1 ESCUELA FONDO BLANCO HASTA IMAGEN ===== */
#escuela .section-content,
#escuela .content,
#escuela .text-content{
  background:#ffffff !important;
  padding-bottom:0 !important;
  margin-bottom:0 !important;
}

#escuela img,
#escuela .image,
#escuela .section-image{
  margin-top:0 !important;
  display:block;
}

/* ===== V42.1 AJUSTE ESCUELA MÁS A LA DERECHA ===== */

#escuela .copy-panel{
  padding-left:140px !important;
}

#escuela .stats,
#escuela .blue-box,
#escuela .stats-panel{
  transform:translateX(60px) !important;
}

@media(max-width:950px){

  #escuela .copy-panel{
    padding-left:40px !important;
  }

  #escuela .stats,
  #escuela .blue-box,
  #escuela .stats-panel{
    transform:none !important;
  }
}

/* ===== V42.2 FOTO ESCUELA COMPLETA ===== */

#escuela .school-photo img,
#escuela .image img,
#escuela .section-image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:#050505;
}

#escuela .school-photo,
#escuela .image,
#escuela .section-image{
  overflow:visible !important;
}

/* ===== V42.4 ESCUELA: FOTO COMPLETA SIN RECORTAR ===== */
#escuela .school-photo{
  background-image:url("assets/escuela.jpg") !important;
  background-size:contain !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  background-color:#050505 !important;
  min-height:360px !important;
  overflow:visible !important;
}

#escuela .school-grid{
  grid-template-columns:38% 50% 12% !important;
}

@media(max-width:950px){
  #escuela .school-grid{
    grid-template-columns:1fr !important;
  }

  #escuela .school-photo{
    min-height:360px !important;
    background-size:contain !important;
  }
}

/* ===== V42.5 FRANJA NEGRA ENTRE ESCUELA Y EQUIPOS ===== */
#escuela{
  position:relative;
  margin-bottom:50px;
}

#escuela::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-50px;
  width:100%;
  height:50px;
  background:#000000;
}

/* ===== V42.6 FRANJAS NEGRAS ENTRE SECCIONES ===== */

#equipos,
#eventos,
#comunidad{
  position:relative;
  margin-bottom:50px;
}

#equipos::after,
#eventos::after,
#comunidad::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-50px;
  width:100%;
  height:50px;
  background:#000000;
}

/* ===== V42.9 DESPLAZAR TAGS EQUIPOS HACIA ABAJO ===== */

#equipos .team-tags{
  margin-top:140px !important;
}

@media(max-width:950px){
  #equipos .team-tags{
    margin-top:40px !important;
  }
}

/* ===== V44 COMUNIDAD EN GRID 2x2 ===== */

#comunidad .gallery,
#comunidad .community-gallery,
#comunidad .community-images{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:18px !important;
  align-items:stretch;
}

#comunidad .gallery img,
#comunidad .community-gallery img,
#comunidad .community-images img{
  width:100% !important;
  height:260px !important;
  object-fit:cover !important;
  display:block;
}

@media(max-width:950px){

  #comunidad .gallery,
  #comunidad .community-gallery,
  #comunidad .community-images{
    grid-template-columns:1fr !important;
  }

  #comunidad .gallery img,
  #comunidad .community-gallery img,
  #comunidad .community-images img{
    height:220px !important;
  }
}

/* ===== V44.2 FRANJA NEGRA ENTRE COMUNIDAD Y TARIFAS ===== */
.community{
  position:relative;
  margin-bottom:50px !important;
}

.community::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-50px;
  width:100%;
  height:50px;
  background:#000000;
  z-index:1;
}

/* ===== V46 SECCIÓN INSTALACIONES ===== */
.installations{
  background:
    linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.86) 42%,rgba(0,0,0,.40) 100%),
    url("assets/hero.jpg") center center / cover no-repeat;
  color:#ffffff;
  padding:92px 0;
  position:relative;
  overflow:hidden;
}

.installations::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 78% 42%,rgba(18,59,255,.24),rgba(0,0,0,0) 42%);
  pointer-events:none;
}

.installations-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:34% 66%;
  gap:42px;
  align-items:center;
}

.installations-copy{
  padding-right:18px;
}

.installations-copy .text{
  color:#e7ebf4;
  margin-bottom:28px;
}

.installations-panel{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
}

.install-card{
  min-height:210px;
  padding:24px 20px;
  background:rgba(0,0,0,.46);
  border:1px solid rgba(255,255,255,.16);
  backdrop-filter:blur(6px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

.install-card span{
  color:#123bff;
  font-size:34px;
  font-weight:1000;
  margin-bottom:auto;
}

.install-card strong{
  display:block;
  text-transform:uppercase;
  font-size:15px;
  line-height:1.15;
  margin-bottom:10px;
}

.install-card p{
  margin:0;
  color:#d8dce7;
  font-size:12px;
  line-height:1.45;
}

#instalaciones{
  margin-bottom:50px;
}

#instalaciones::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-50px;
  width:100%;
  height:50px;
  background:#000000;
}

@media(max-width:950px){
  .installations-grid{
    grid-template-columns:1fr;
  }

  .installations-panel{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:600px){
  .installations-panel{
    grid-template-columns:1fr;
  }
}

/* ===== V46.2 CLAIM INSTALACIONES ===== */

.install-claim{
  width:100%;
  background:#000000;
  color:#ffffff;
  text-align:center;
  padding:46px 20px;
  font-size:56px;
  font-weight:1000;
  letter-spacing:4px;
  text-transform:uppercase;
  line-height:1;
}

@media(max-width:950px){
  .install-claim{
    font-size:34px;
    padding:34px 16px;
  }
}

/* ===== V46.3 CLAIM PREMIUM ===== */

.install-claim{
  width:100%;
  background:#000000;
  color:#ffffff;
  text-align:center;
  padding:52px 24px;
  font-size:64px;
  font-weight:1000;
  line-height:1;
  letter-spacing:-1px;
  text-transform:uppercase;
}

.install-claim span{
  color:#123bff;
}

@media(max-width:1200px){
  .install-claim{
    font-size:48px;
  }
}

@media(max-width:768px){
  .install-claim{
    font-size:28px;
    line-height:1.15;
    padding:34px 16px;
  }
}

/* ===== V46.5 INSTALACIONES 8 CAJAS ===== */

.installations-panel{
  grid-template-columns:repeat(4,1fr) !important;
  gap:16px !important;
}

.install-card{
  min-height:190px !important;
}

@media(max-width:1100px){
  .installations-panel{
    grid-template-columns:repeat(2,1fr) !important;
  }
}

@media(max-width:650px){
  .installations-panel{
    grid-template-columns:1fr !important;
  }
}

/* ===== V48.1 REVISIÓN DE COMPATIBILIDAD INDEX/CSS ===== */

/* Enlaces de menú: soporte para nueva navegación */
.menu a[href="#instalaciones"],
.menu a[href="#Gimnasio"]{
  white-space:nowrap;
}

/* Claim debajo del menú de iconos */
.feature-closing-quote{
  width:100%;
  background:#000;
  color:#fff;
  text-align:center;
  padding:48px 20px;
  font-size:clamp(28px,4vw,64px);
  font-weight:1000;
  line-height:1;
  letter-spacing:-1px;
  text-transform:uppercase;
}

.feature-closing-quote span{
  color:#123bff;
}

/* Sección instalaciones actualizada en v48 */
.installations{
  position:relative;
  background:
    linear-gradient(90deg,rgba(0,0,0,.96) 0%,rgba(0,0,0,.86) 38%,rgba(0,0,0,.38) 100%),
    url("assets/instalaciones.jpg") center center / cover no-repeat;
  color:#fff;
  padding:92px 0;
  overflow:hidden;
}

.installations::before{
  content:"";
  position:absolute;
  inset:0;
  background:radial-gradient(circle at 78% 44%,rgba(18,59,255,.22),rgba(0,0,0,0) 45%);
  pointer-events:none;
}

.installations-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:34% 66%;
  gap:42px;
  align-items:center;
}

.installations-copy .text{
  color:#e7ebf4;
  margin-bottom:28px;
}

.installations-panel{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
}

.install-card{
  min-height:190px;
  padding:24px 20px;
  background:rgba(0,0,0,.50);
  border:1px solid rgba(255,255,255,.18);
  backdrop-filter:blur(6px);
  display:flex;
  flex-direction:column;
  justify-content:flex-end;
}

.install-card span{
  color:#123bff;
  font-size:34px;
  font-weight:1000;
  margin-bottom:auto;
}

.install-card strong{
  display:block;
  text-transform:uppercase;
  font-size:15px;
  line-height:1.15;
  margin-bottom:10px;
}

.install-card p{
  margin:0;
  color:#d8dce7;
  font-size:12px;
  line-height:1.45;
}

/* Comunidad: el id correcto es #comunidad */
#comunidad{
  position:relative;
}

/* WhatsApp flotante */
.floating-whatsapp{
  position:fixed;
  right:22px;
  bottom:22px;
  width:58px;
  height:58px;
  border-radius:50%;
  background:#25D366;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 16px 32px rgba(0,0,0,.35);
  z-index:999;
  transition:transform .2s ease, box-shadow .2s ease;
}

.floating-whatsapp:hover{
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 20px 38px rgba(0,0,0,.45);
}

.floating-whatsapp svg{
  width:34px;
  height:34px;
}

/* Ajuste responsive general para nuevas secciones */
@media(max-width:1100px){
  .installations-grid{
    grid-template-columns:1fr;
  }

  .installations-panel{
    grid-template-columns:repeat(2,1fr);
  }
}

@media(max-width:700px){
  .installations-panel{
    grid-template-columns:1fr;
  }

  .floating-whatsapp{
    width:52px;
    height:52px;
    right:16px;
    bottom:16px;
  }
}

/* ===== V49.2 FRASE CIERRE MÁS PEQUEÑA ===== */
.feature-closing-quote{
  font-size:clamp(26px,3vw,52px) !important;
  font-weight:900 !important;
  line-height:1.05 !important;
  letter-spacing:-1px !important;
  padding:35px 20px !important;
  text-align:center !important;
  white-space:nowrap !important;
}

.feature-closing-quote span{
  color:#123BFF !important;
}

@media(max-width:900px){
  .feature-closing-quote{
    white-space:normal !important;
    font-size:clamp(24px,7vw,38px) !important;
    line-height:1.15 !important;
  }
}

/* ===== V60.1 LOCALIZACIÓN CLUB ===== */
.club-location{
  background:#050505;
  color:#fff;
  padding:80px 0;
  border-top:1px solid rgba(255,255,255,.10);
}

.location-grid{
  display:grid;
  grid-template-columns:38% 62%;
  gap:36px;
  align-items:stretch;
}

.location-copy{
  padding:38px;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(180deg,rgba(18,59,255,.12),rgba(0,0,0,.65));
}

.location-copy h2{
  font-size:clamp(38px,4.5vw,70px);
  line-height:.95;
  margin:14px 0 22px;
  text-transform:uppercase;
}

.location-copy .text{
  color:#dfe5f4;
  margin-bottom:24px;
}

.location-data{
  display:grid;
  gap:9px;
  margin:24px 0 28px;
  color:#f6f8ff;
  font-size:18px;
  line-height:1.35;
}

.location-data strong{
  color:#fff;
  font-size:22px;
  text-transform:uppercase;
}

.location-map{
  min-height:380px;
  border:1px solid rgba(255,255,255,.16);
  overflow:hidden;
  background:#111;
}

.location-map iframe{
  width:100%;
  height:100%;
  min-height:380px;
  border:0;
  filter:grayscale(1) contrast(1.05) brightness(.86);
}

@media(max-width:900px){
  .location-grid{
    grid-template-columns:1fr;
  }
}

.footer-clean{
background:#050505;
padding:40px 20px;
display:flex;
flex-direction:column;
align-items:center;
justify-content:center;
gap:24px;
border-top:1px solid rgba(255,255,255,.08);
}
.footer-clean .logo img{
max-height:72px;
width:auto;
}
.footer-clean nav{
display:flex;
flex-wrap:wrap;
justify-content:center;
gap:18px;
}

/* V60.3 FOOTER CORREGIDO */
.footer-clean{
    background:#050505;
    padding:50px 20px;
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:30px;
    border-top:1px solid rgba(255,255,255,.08);
}

.footer-logo img{
    height:80px;
    width:auto;
}

.footer-nav{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:24px;
}

.footer-nav a{
    color:#ffffff;
    text-decoration:none;
    font-weight:600;
}

.footer-nav a:hover{
    color:#123BFF;
}

/* V60.4 Footer horizontal */
.footer-clean{
 background:#050505;
 padding:40px 20px;
 border-top:1px solid rgba(255,255,255,.08);
}
.footer-inner{
 max-width:1200px;
 margin:0 auto;
 display:flex;
 align-items:center;
 gap:40px;
}
.footer-brand img{
 height:80px;
 width:auto;
}
.footer-links-block h4{
 color:#fff;
 margin:0 0 10px;
 text-transform:uppercase;
}
.footer-nav{
 display:flex;
 flex-wrap:wrap;
 gap:18px;
}
.footer-nav a{
 color:#fff;
 text-decoration:none;
 font-weight:600;
}
.footer-nav a:hover{color:#123BFF;}
@media(max-width:768px){
 .footer-inner{flex-direction:column;align-items:flex-start;}
}

/* V60.5 Footer vertical + Reserva en footer */
.footer-clean{
  background:#050505;
  padding:48px 20px;
  border-top:1px solid rgba(255,255,255,.08);
}

.footer-inner{
  max-width:1180px;
  margin:0 auto;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  gap:70px;
}

.footer-brand img{
  height:92px;
  width:auto;
}

.footer-links-block h4{
  color:#ffffff;
  margin:0 0 16px;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:16px;
}

.footer-nav{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:10px !important;
}

.footer-nav a{
  color:#ffffff;
  text-decoration:none;
  font-weight:600;
  line-height:1.2;
  transition:.25s ease;
}

.footer-nav a:hover{
  color:#123BFF;
}

@media(max-width:768px){
  .footer-inner{
    flex-direction:column;
    align-items:center;
    gap:28px;
    text-align:center;
  }
  .footer-nav{
    align-items:center !important;
  }
}

/* ===== V60.6 FOOTER + LOCALIZACIÓN INTEGRADOS ===== */
.footer-integrated{
  background:#050505;
  color:#ffffff;
  padding:56px 20px;
  border-top:1px solid rgba(255,255,255,.10);
}

.footer-integrated-inner{
  max-width:1180px;
  margin:0 auto;
  display:grid;
  grid-template-columns:26% 38% 26%;
  gap:5%;
  align-items:flex-start;
}

.footer-integrated .footer-brand img{
  height:100px;
  width:auto;
  display:block;
}

.footer-integrated h4{
  margin:0 0 18px;
  color:#ffffff;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:16px;
}

.footer-location p{
  margin:0 0 10px;
  color:#dfe5f4;
  line-height:1.45;
}

.footer-location strong{
  color:#ffffff;
  text-transform:uppercase;
}

.footer-location .btn{
  margin-top:12px;
  display:inline-flex;
}

.footer-integrated .footer-nav{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:10px !important;
}

.footer-integrated .footer-nav a{
  color:#ffffff;
  text-decoration:none;
  font-weight:600;
  line-height:1.2;
  transition:.25s ease;
}

.footer-integrated .footer-nav a:hover{
  color:#123BFF;
}

@media(max-width:900px){
  .footer-integrated-inner{
    grid-template-columns:1fr;
    gap:34px;
    text-align:center;
  }

  .footer-integrated .footer-brand img{
    margin:0 auto;
  }

  .footer-integrated .footer-nav{
    align-items:center !important;
  }
}

/* V60.7 footer alignment */
.footer-brand{
 display:flex;
 flex-direction:column;
 align-items:center !important;
 text-align:center !important;
}
.footer-brand img{
 display:block;
 margin:0 auto 18px auto !important;
}
.footer-brand p,
.footer-brand .tagline{
 text-align:center !important;
}
.footer-location h4,
.footer-links-block h4{
 color:#123BFF !important;
}
.footer-location .btn,
.footer-location .button,
.footer-location a.btn{
 background:#123BFF !important;
 color:#fff !important;
 border-color:#123BFF !important;
}

/* ===== V60.8 FOOTER BOCETO REAL ===== */
.footer-boceto{
  background:radial-gradient(circle at 20% 0%, rgba(18,59,255,.14), transparent 38%),
             linear-gradient(180deg,#06101b 0%,#020407 100%);
  color:#fff;
  padding:56px 3vw 28px;
  border-top:1px solid rgba(18,59,255,.7);
}

.footer-boceto-inner{
  max-width:1280px;
  margin:0 auto;
  display:grid;
  grid-template-columns: 20% 22% 34% 18%;
  gap:2%;
  align-items:center;
}

.footer-brand-col{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  padding-right:28px;
  border-right:1px solid rgba(255,255,255,.28);
}

.footer-round-logo{
  width:170px;
  height:170px;
  object-fit:contain;
  display:block;
  margin:0 auto 24px;
}

.footer-brand-col p{
  margin:0;
  color:#fff;
  font-size:20px;
  line-height:1.45;
}

.footer-brand-col p span{
  color:#0b5cff;
}

.footer-location-col{
  padding-left:8px;
}

.footer-boceto h4{
  margin:0 0 24px;
  color:#0b73ff !important;
  text-transform:uppercase;
  letter-spacing:.02em;
  font-size:22px;
  font-weight:900;
}

.footer-contact-row{
  display:grid;
  grid-template-columns:34px 1fr;
  gap:14px;
  align-items:start;
  margin:0 0 22px;
}

.footer-contact-row p{
  margin:0;
  color:#fff;
  font-size:18px;
  line-height:1.35;
}

.footer-icon{
  color:#0b73ff;
  font-size:28px;
  line-height:1;
  display:block;
  text-align:center;
}

.footer-map-btn{
  background:#0b5cff !important;
  color:#fff !important;
  border:0 !important;
  padding:16px 28px !important;
  border-radius:6px !important;
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  text-transform:uppercase;
  font-weight:900;
  text-decoration:none !important;
  margin-top:8px;
}

.footer-map-col{
  min-height:300px;
  border-radius:8px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  background:#fff;
}

.footer-map-col iframe{
  width:100%;
  height:100%;
  min-height:300px;
  border:0;
  display:block;
  filter:grayscale(.1) contrast(1.03) brightness(1.02);
}

.footer-links-col{
  padding-left:30px;
  border-left:1px solid rgba(255,255,255,.28);
  align-self:stretch;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.footer-links-col nav{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:12px !important;
}

.footer-links-col nav a{
  color:#fff !important;
  text-decoration:none !important;
  font-size:18px;
  font-weight:500;
  line-height:1.1;
  position:relative;
  padding-left:22px;
}

.footer-links-col nav a::before{
  content:"›";
  position:absolute;
  left:0;
  top:-1px;
  color:#0b73ff;
  font-size:26px;
  line-height:1;
}

.footer-links-col nav a:hover{
  color:#0b73ff !important;
}

.footer-bottom{
  max-width:1280px;
  margin:34px auto 0;
  padding-top:24px;
  border-top:1px solid rgba(255,255,255,.16);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.footer-bottom p{
  margin:0;
  color:#fff;
  opacity:.95;
  font-size:16px;
}

.footer-social{
  display:flex;
  gap:34px;
  align-items:center;
}

.footer-social a{
  color:#fff;
  text-decoration:none;
  font-size:34px;
  font-weight:800;
  line-height:1;
}

@media(max-width:1000px){
  .footer-boceto-inner{
    grid-template-columns:1fr;
    gap:36px;
    text-align:center;
  }

  .footer-brand-col,
  .footer-links-col{
    border:0;
    padding:0;
  }

  .footer-location-col{
    padding:0;
  }

  .footer-contact-row{
    max-width:320px;
    margin-left:auto;
    margin-right:auto;
    text-align:left;
  }

  .footer-links-col nav{
    align-items:center !important;
  }

  .footer-bottom{
    flex-direction:column;
    text-align:center;
  }
}

/* V60.9 ajustes footer */
.footer-brand-col p,
.footer-contact-row p,
.footer-bottom p,
.footer-links-col nav a{
    font-weight:400 !important;
}

.footer-map-btn{
    background:#123BFF !important;
    color:#fff !important;
    border-radius:8px !important;
    padding:14px 28px !important;
    font-weight:700 !important;
    text-transform:uppercase;
    letter-spacing:.03em;
    box-shadow:none !important;
}

.footer-map-btn:hover{
    opacity:.92;
    transform:translateY(-1px);
}

/* ===== V61.0 FOOTER PREMIUM: COLORES, TIPOGRAFÍA Y ALINEACIÓN ===== */
:root{
  --vital-blue:#123BFF;
  --vital-blue-soft:#0b73ff;
  --vital-white:#ffffff;
  --vital-muted:#d8deea;
  --vital-bg:#020407;
}

.footer-premium{
  background:
    radial-gradient(circle at 18% 0%, rgba(18,59,255,.16), transparent 36%),
    linear-gradient(180deg,#07111d 0%,#020407 100%) !important;
  color:var(--vital-white) !important;
  font-family:inherit !important;
  padding:58px 4vw 28px !important;
  border-top:1px solid rgba(18,59,255,.65) !important;
}

.footer-premium .footer-boceto-inner{
  max-width:1280px !important;
  margin:0 auto !important;
  display:grid !important;
  grid-template-columns:20% 22% 34% 18% !important;
  gap:2% !important;
  align-items:start !important;
}

.footer-premium .footer-brand-col,
.footer-premium .footer-location-col,
.footer-premium .footer-map-col,
.footer-premium .footer-links-col{
  min-height:310px !important;
}

.footer-premium .footer-brand-col{
  justify-content:flex-start !important;
  align-items:center !important;
  text-align:center !important;
  padding:0 28px 0 0 !important;
  border-right:1px solid rgba(255,255,255,.22) !important;
}

.footer-premium .footer-round-logo{
  width:160px !important;
  height:160px !important;
  object-fit:contain !important;
  margin:0 auto 24px !important;
  display:block !important;
}

.footer-premium .footer-brand-col p,
.footer-premium .footer-contact-row p,
.footer-premium .footer-bottom p,
.footer-premium .footer-links-col nav a{
  font-weight:400 !important;
  color:var(--vital-white) !important;
  font-size:18px !important;
  line-height:1.42 !important;
  letter-spacing:0 !important;
}

.footer-premium .footer-brand-col p span{
  color:var(--vital-blue-soft) !important;
  font-weight:400 !important;
}

.footer-premium h4{
  margin:0 0 24px !important;
  color:var(--vital-blue-soft) !important;
  text-transform:uppercase !important;
  letter-spacing:.02em !important;
  font-size:22px !important;
  line-height:1 !important;
  font-weight:800 !important;
}

.footer-premium .footer-location-col{
  padding:0 0 0 8px !important;
}

.footer-premium .footer-contact-row{
  display:grid !important;
  grid-template-columns:34px 1fr !important;
  gap:14px !important;
  align-items:start !important;
  margin:0 0 22px !important;
}

.footer-premium .footer-icon{
  color:var(--vital-blue-soft) !important;
  font-size:27px !important;
  line-height:1 !important;
  display:block !important;
  text-align:center !important;
}

.footer-premium .footer-map-btn{
  background:var(--vital-blue) !important;
  color:#fff !important;
  border:1px solid var(--vital-blue) !important;
  border-radius:8px !important;
  padding:15px 30px !important;
  min-height:54px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-transform:uppercase !important;
  font-weight:800 !important;
  font-size:16px !important;
  letter-spacing:.02em !important;
  text-decoration:none !important;
  box-shadow:0 16px 34px rgba(18,59,255,.22) !important;
  transition:transform .25s ease, background .25s ease, box-shadow .25s ease !important;
}

.footer-premium .footer-map-btn:hover{
  background:#0b34db !important;
  border-color:#0b34db !important;
  transform:translateY(-2px) !important;
  box-shadow:0 18px 38px rgba(18,59,255,.30) !important;
  opacity:1 !important;
}

.footer-premium .footer-map-col{
  min-height:310px !important;
  height:310px !important;
  border-radius:10px !important;
  overflow:hidden !important;
  border:1px solid rgba(255,255,255,.18) !important;
  background:#fff !important;
  align-self:start !important;
}

.footer-premium .footer-map-col iframe{
  width:100% !important;
  height:100% !important;
  min-height:310px !important;
  border:0 !important;
  display:block !important;
  filter:grayscale(.08) contrast(1.02) brightness(1.02) !important;
}

.footer-premium .footer-links-col{
  padding:0 0 0 30px !important;
  border-left:1px solid rgba(255,255,255,.22) !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:flex-start !important;
}

.footer-premium .footer-links-col nav{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:11px !important;
}

.footer-premium .footer-links-col nav a{
  text-decoration:none !important;
  position:relative !important;
  padding-left:22px !important;
  transition:color .25s ease, transform .25s ease !important;
}

.footer-premium .footer-links-col nav a::before{
  content:"›" !important;
  position:absolute !important;
  left:0 !important;
  top:-2px !important;
  color:var(--vital-blue-soft) !important;
  font-size:26px !important;
  line-height:1 !important;
  font-weight:400 !important;
}

.footer-premium .footer-links-col nav a:hover{
  color:var(--vital-blue-soft) !important;
  transform:translateX(3px) !important;
}

.footer-premium .footer-bottom{
  max-width:1280px !important;
  margin:34px auto 0 !important;
  padding-top:24px !important;
  border-top:1px solid rgba(255,255,255,.15) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:24px !important;
}

.footer-premium .footer-bottom p{
  margin:0 !important;
  opacity:.88 !important;
  font-size:15px !important;
}

.footer-premium .footer-social{
  display:flex !important;
  gap:34px !important;
  align-items:center !important;
}

.footer-premium .footer-social a{
  color:#fff !important;
  text-decoration:none !important;
  font-size:32px !important;
  font-weight:400 !important;
  line-height:1 !important;
  opacity:.95 !important;
  transition:color .25s ease, transform .25s ease !important;
}

.footer-premium .footer-social a:hover{
  color:var(--vital-blue-soft) !important;
  transform:translateY(-2px) !important;
}

@media(max-width:1000px){
  .footer-premium .footer-boceto-inner{
    grid-template-columns:1fr !important;
    gap:34px !important;
    text-align:center !important;
  }

  .footer-premium .footer-brand-col,
  .footer-premium .footer-links-col{
    border:0 !important;
    padding:0 !important;
    min-height:auto !important;
  }

  .footer-premium .footer-location-col{
    padding:0 !important;
    min-height:auto !important;
  }

  .footer-premium .footer-contact-row{
    max-width:340px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:left !important;
  }

  .footer-premium .footer-map-col{
    min-height:280px !important;
    height:280px !important;
    width:100% !important;
  }

  .footer-premium .footer-map-col iframe{
    min-height:280px !important;
  }

  .footer-premium .footer-links-col nav{
    align-items:center !important;
  }

  .footer-premium .footer-bottom{
    flex-direction:column !important;
    text-align:center !important;
  }
}

/* ===== Web_vitalpadelv1 · Ajuste final footer ===== */

/* Azul único de la web */
.footer-premium,
.footer-boceto{
  --vital-blue:#123BFF !important;
}

/* Texto blanco del footer: mismo estilo que textos de tarjetas tipo "Fortalece tu mente" */
.footer-premium .footer-brand-col p,
.footer-premium .footer-contact-row p,
.footer-premium .footer-bottom p,
.footer-premium .footer-links-col nav a,
.footer-boceto .footer-brand-col p,
.footer-boceto .footer-contact-row p,
.footer-boceto .footer-bottom p,
.footer-boceto .footer-links-col nav a{
  font-family:inherit !important;
  color:#ffffff !important;
  font-size:16px !important;
  line-height:1.45 !important;
  font-weight:400 !important;
  letter-spacing:0 !important;
}

/* Azul de títulos e iconos exactamente el azul corporativo de la web */
.footer-premium h4,
.footer-boceto h4,
.footer-premium .footer-icon,
.footer-boceto .footer-icon,
.footer-premium .footer-links-col nav a::before,
.footer-boceto .footer-links-col nav a::before,
.footer-premium .footer-brand-col p span,
.footer-boceto .footer-brand-col p span{
  color:#123BFF !important;
}

/* Botón "Cómo llegar" con formato de los botones de la web tipo "Síguenos en Instagram" */
.footer-premium .footer-map-btn,
.footer-boceto .footer-map-btn{
  background:#123BFF !important;
  color:#ffffff !important;
  border:1px solid #123BFF !important;
  border-radius:999px !important;
  padding:13px 22px !important;
  min-height:auto !important;
  font-family:inherit !important;
  font-size:13px !important;
  line-height:1 !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:.02em !important;
  text-decoration:none !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-shadow:0 14px 30px rgba(18,59,255,.22) !important;
  transition:transform .25s ease, background .25s ease, border-color .25s ease !important;
}

.footer-premium .footer-map-btn:hover,
.footer-boceto .footer-map-btn:hover{
  background:#0b34db !important;
  border-color:#0b34db !important;
  transform:translateY(-2px) !important;
  opacity:1 !important;
}

/* Enlaces: sin negrita, mismo tono y hover azul web */
.footer-premium .footer-links-col nav a,
.footer-boceto .footer-links-col nav a{
  font-weight:400 !important;
}

.footer-premium .footer-links-col nav a:hover,
.footer-boceto .footer-links-col nav a:hover{
  color:#123BFF !important;
}

/* ===== Web Vital Pádel v2 · Footer boceto final ===== */
.vp-footer-final{
  --vp-blue:#123BFF;
  --vp-white:#ffffff;
  --vp-muted:#f1f4ff;
  --vp-line:rgba(255,255,255,.55);
  background:
    radial-gradient(circle at 20% 20%, rgba(18,59,255,.10), transparent 32%),
    linear-gradient(180deg,#02070d 0%,#010306 100%);
  color:var(--vp-white);
  padding:72px 3.2vw 38px;
  font-family:inherit;
}

.vp-footer-main{
  max-width:1360px;
  margin:0 auto;
  display:grid;
  grid-template-columns:24% 23% 30% 17%;
  gap:2%;
  align-items:center;
}

.vp-footer-brand{
  min-height:430px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding-right:34px;
  border-right:1px solid var(--vp-line);
}

.vp-footer-logo{
  width:210px;
  max-width:82%;
  height:auto;
  display:block;
  margin:0 auto 28px;
}

.vp-footer-brand p,
.vp-contact-item p,
.vp-footer-bottom p,
.vp-footer-legal a,
.vp-footer-links a{
  color:var(--vp-white);
  font-size:19px;
  line-height:1.45;
  font-weight:400;
  letter-spacing:0;
  margin:0;
}

.vp-footer-brand p{
  margin-bottom:56px;
}

.vp-footer-social{
  display:flex;
  gap:42px;
  align-items:center;
  justify-content:center;
}

.vp-footer-social a{
  color:var(--vp-blue);
  text-decoration:none;
  font-size:44px;
  line-height:1;
  font-weight:700;
}

.vp-footer-location{
  min-height:430px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:0 26px 0 34px;
}

.vp-footer-location h4,
.vp-footer-links h4{
  color:var(--vp-blue);
  font-size:28px;
  line-height:1;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.02em;
  margin:0 0 42px;
}

.vp-contact-item{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:22px;
  align-items:center;
  margin-bottom:36px;
}

.vp-icon{
  color:var(--vp-blue);
  font-size:42px;
  line-height:1;
  display:block;
  text-align:center;
}

.vp-footer-btn{
  width:260px;
  min-height:64px;
  margin-top:12px;
  background:var(--vp-blue);
  color:#fff;
  border:1px solid var(--vp-blue);
  border-radius:6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  text-decoration:none;
  text-transform:uppercase;
  font-size:20px;
  line-height:1;
  font-weight:900;
  letter-spacing:.01em;
  box-shadow:0 18px 34px rgba(18,59,255,.20);
  transition:transform .25s ease, background .25s ease;
}

.vp-footer-btn span{
  font-size:28px;
  line-height:1;
  font-weight:400;
}

.vp-footer-btn:hover{
  background:#0b34db;
  transform:translateY(-2px);
}

.vp-footer-map{
  min-height:430px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 34px;
  border-left:1px solid var(--vp-line);
  border-right:1px solid var(--vp-line);
}

.vp-footer-map iframe{
  width:100%;
  height:360px;
  border:0;
  border-radius:14px;
  display:block;
  filter:grayscale(1) invert(.92) contrast(1.08) brightness(.72) saturate(1.4);
  box-shadow:0 24px 70px rgba(0,0,0,.38);
}

.vp-footer-links{
  min-height:430px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding-left:34px;
}

.vp-footer-links nav{
  display:flex;
  flex-direction:column;
  gap:26px;
}

.vp-footer-links a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
  text-decoration:none;
  transition:color .25s ease, transform .25s ease;
}

.vp-footer-links a span{
  color:var(--vp-blue);
  font-size:30px;
  line-height:1;
  font-weight:400;
}

.vp-footer-links a:hover{
  color:var(--vp-blue);
  transform:translateX(4px);
}

.vp-footer-bottom{
  max-width:1360px;
  margin:58px auto 0;
  padding-top:34px;
  border-top:1px solid rgba(255,255,255,.35);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:32px;
}

.vp-footer-bottom p,
.vp-footer-legal a{
  font-size:16px;
  color:#fff;
  opacity:.96;
  text-decoration:none;
}

.vp-footer-legal{
  display:flex;
  align-items:center;
  gap:26px;
  flex-wrap:wrap;
}

.vp-footer-legal span{
  width:1px;
  height:20px;
  background:rgba(255,255,255,.6);
  display:block;
}

@media(max-width:1100px){
  .vp-footer-main{
    grid-template-columns:1fr;
    gap:46px;
  }

  .vp-footer-brand,
  .vp-footer-location,
  .vp-footer-map,
  .vp-footer-links{
    min-height:auto;
    border:0;
    padding:0;
    align-items:center;
    text-align:center;
  }

  .vp-contact-item{
    max-width:360px;
    margin-left:auto;
    margin-right:auto;
    text-align:left;
  }

  .vp-footer-btn{
    margin-left:auto;
    margin-right:auto;
  }

  .vp-footer-map iframe{
    height:320px;
  }

  .vp-footer-links nav{
    width:260px;
    margin:0 auto;
  }

  .vp-footer-bottom{
    flex-direction:column;
    text-align:center;
  }
}

/* ===== Web Vital Pádel v3 · Ajustes exactos footer ===== */

/* Quitar SOLO la línea vertical central entre LOCALIZACIÓN y MAPA */
.vp-footer-map{
  border-left:0 !important;
  border-right:1px solid rgba(255,255,255,.55) !important;
}

/* Mantener la línea entre LOGO y LOCALIZACIÓN */
.vp-footer-brand{
  border-right:1px solid rgba(255,255,255,.55) !important;
}

/* Mapa oscuro con colores del boceto aprobado */
.vp-footer-map iframe{
  filter:grayscale(1) invert(.92) contrast(1.08) brightness(.72) saturate(1.4) !important;
  background:#06101b !important;
}

/* v4 mapa plano aprobado */
.vp-footer-map{
  border-left:0 !important;
  border-right:1px solid rgba(255,255,255,.55) !important;
}

.vp-map-image{
  width:100% !important;
  height:360px !important;
  object-fit:cover !important;
  border-radius:14px !important;
  display:block !important;
  box-shadow:none !important;
  filter:none !important;
}

.vp-footer-map iframe,
.vp-footer-map img{
  box-shadow:none !important;
}

/* ===== Web Vital Pádel v5 · Mapa visible aprobado ===== */
.vp-footer-map{
  min-height:430px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:0 34px !important;
  border-left:0 !important; /* elimina línea vertical central */
  border-right:1px solid rgba(255,255,255,.55) !important;
}

.vp-map-image{
  width:100% !important;
  height:360px !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:14px !important;
  display:block !important;
  box-shadow:none !important;
  filter:none !important;
  background:transparent !important;
}

.vp-footer-map iframe{
  display:none !important;
}

@media(max-width:1100px){
  .vp-map-image{
    height:320px !important;
  }
}

/* ===== Páginas legales Vital Pádel ===== */
.legal-page{
  background:#050505;
  color:#fff;
}

.legal-main{
  min-height:100vh;
  background:
    radial-gradient(circle at 20% 0%, rgba(18,59,255,.16), transparent 34%),
    linear-gradient(180deg,#050505 0%,#020407 100%);
}

.legal-hero{
  padding:90px 0 40px;
  border-bottom:1px solid rgba(255,255,255,.12);
}

.legal-back{
  display:inline-flex;
  color:#123BFF;
  text-decoration:none;
  font-weight:800;
  text-transform:uppercase;
  margin-bottom:28px;
}

.legal-hero h1{
  color:#fff;
  font-size:clamp(44px,6vw,96px);
  line-height:.9;
  text-transform:uppercase;
  margin:0 0 20px;
}

.legal-hero p{
  color:#dfe5f4;
  font-size:18px;
  line-height:1.45;
  margin:0;
}

.legal-content{
  padding:60px 0 90px;
}

.legal-container{
  max-width:920px;
}

.legal-container h2{
  color:#123BFF;
  text-transform:uppercase;
  font-size:22px;
  margin:36px 0 14px;
}

.legal-container p{
  color:#f1f4ff;
  font-size:18px;
  line-height:1.65;
  font-weight:400;
  margin:0 0 18px;
}

/* ===== Página Club Vital Pádel ===== */
.club-page{background:#050505;color:#fff;}
.club-main{
  background:radial-gradient(circle at 15% 0%, rgba(18,59,255,.18), transparent 34%),
  linear-gradient(180deg,#050505 0%,#020407 100%);
  min-height:100vh;
}
.club-hero{padding:90px 0 70px;border-bottom:1px solid rgba(255,255,255,.10);}
.club-back{display:inline-flex;color:#123BFF;text-decoration:none;font-weight:900;text-transform:uppercase;margin-bottom:34px;}
.club-kicker{color:#123BFF;text-transform:uppercase;font-weight:900;letter-spacing:.14em;margin:0 0 20px;}
.club-hero h1,.club-values h2,.club-history h2,.club-cta h2{
  font-size:clamp(46px,7vw,112px);line-height:.9;text-transform:uppercase;margin:0;color:#fff;
}
.club-hero h1 span,.club-cta h2 span{color:#123BFF;}
.club-intro{max-width:760px;color:#f1f4ff;font-size:21px;line-height:1.55;margin:32px 0 0;font-weight:400;}
.club-section{padding:70px 0;}
.club-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.club-card{background:linear-gradient(180deg,rgba(255,255,255,.05),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.12);border-radius:18px;padding:34px;}
.club-card span{color:#123BFF;font-size:18px;font-weight:900;}
.club-card h2{font-size:34px;text-transform:uppercase;margin:18px 0;}
.club-card p,.club-values-list p,.club-history p,.club-cta p{color:#f1f4ff;font-size:18px;line-height:1.6;font-weight:400;}
.club-values{padding:80px 0;background:#0a0a0a;}
.club-values-inner{display:grid;grid-template-columns:42% 58%;gap:50px;align-items:start;}
.club-values-list{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;}
.club-values-list div{border-top:2px solid #123BFF;padding-top:20px;}
.club-values-list h3{font-size:24px;text-transform:uppercase;margin:0 0 12px;}
.club-history{padding:80px 0;}
.club-history-inner{max-width:920px;}
.club-history h2{margin-bottom:30px;}
.club-cta{padding:80px 0 100px;text-align:center;border-top:1px solid rgba(255,255,255,.10);}
.club-cta p{max-width:680px;margin:28px auto 34px;}
.club-cta .btn{display:inline-flex;background:#123BFF;color:#fff;text-decoration:none;padding:18px 34px;border-radius:8px;text-transform:uppercase;font-weight:900;}
@media(max-width:900px){.club-grid,.club-values-inner,.club-values-list{grid-template-columns:1fr;}}

/* v16 mejoras club */
.club-back{
 display:none!important;
}

.club-back-btn{
 display:inline-flex;
 align-items:center;
 justify-content:center;
 gap:12px;
 padding:24px 48px;
 background:#123BFF;
 color:#fff;
 text-decoration:none;
 border-radius:18px;
 font-size:22px;
 font-weight:800;
 margin-bottom:40px;
}

.club-values-title{
 grid-column:1/-1;
 margin:0 0 30px;
}

.club-values-title h2{
 font-size:clamp(60px,8vw,120px);
 line-height:.9;
 text-transform:uppercase;
 margin:0;
 color:#fff;
}

.club-values-title h2 span{
 color:#123BFF;
}

/* ===== Web Vital Pádel v20 · Club premium ===== */
.club-wow .club-back-btn{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:24px 48px;
  background:#123BFF;
  color:#fff;
  text-decoration:none;
  border-radius:18px;
  font-size:22px;
  font-weight:800;
  margin-bottom:44px;
  box-shadow:0 20px 50px rgba(18,59,255,.25);
}

.club-wow .club-hero{
  padding:80px 0 90px;
}

.club-wow .club-hero h1 span,
.club-wow .club-section-heading h2 span,
.club-wow .club-sports h2 span,
.club-wow .club-history h2 span,
.club-wow .club-cta h2 span{
  color:#123BFF;
}

.club-experience{
  padding:90px 0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.72),rgba(0,0,0,.82)),
    radial-gradient(circle at 50% 0%, rgba(18,59,255,.20), transparent 42%);
}

.club-section-heading{
  max-width:980px;
  margin:0 0 46px;
}

.club-section-heading h2,
.club-sports h2,
.club-history h2{
  font-size:clamp(44px,6vw,96px);
  line-height:.92;
  text-transform:uppercase;
  color:#fff;
  margin:0 0 24px;
}

.club-section-heading p,
.club-sports p,
.club-history p{
  color:#f1f4ff;
  font-size:20px;
  line-height:1.55;
  font-weight:400;
}

.club-features-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:26px;
}

.club-feature{
  min-height:300px;
  background:linear-gradient(135deg,rgba(0,0,0,.82),rgba(6,16,36,.88));
  border:1px solid rgba(255,255,255,.20);
  padding:38px;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  transition:transform .25s ease, border-color .25s ease, background .25s ease;
}

.club-feature:hover{
  transform:translateY(-6px);
  border-color:#123BFF;
  background:linear-gradient(135deg,rgba(5,10,22,.92),rgba(10,30,76,.92));
}

.club-feature span{
  display:block;
  color:#123BFF;
  font-size:60px;
  line-height:1;
  font-weight:900;
  margin-bottom:42px;
}

.club-feature h3{
  color:#fff;
  font-size:24px;
  line-height:1.05;
  text-transform:uppercase;
  margin:0 0 22px;
}

.club-feature p{
  color:#eef3ff;
  font-size:18px;
  line-height:1.45;
  margin:0;
  font-weight:400;
}

.club-sports{
  padding:90px 0;
  background:#050505;
}

.club-sports-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:28px;
}

.club-sports article{
  border-top:2px solid #123BFF;
  padding-top:28px;
}

.club-sports h2{
  font-size:clamp(34px,4.2vw,64px);
}

.club-values-title{
  grid-column:1/-1;
  margin:0 0 44px;
}

.club-values-title h2{
  font-size:clamp(70px,9vw,142px);
  line-height:.88;
  text-transform:uppercase;
  margin:0;
  color:#fff;
  letter-spacing:-.04em;
}

.club-values-title h2 span{
  color:#123BFF;
}

.club-values .club-values-inner{
  grid-template-columns:1fr;
}

.club-values-list{
  margin-top:24px;
}

.club-history h2{
  margin-bottom:34px;
}

.club-history .club-kicker{
  margin-bottom:18px;
}

@media(max-width:1100px){
  .club-features-grid{
    grid-template-columns:repeat(2,1fr);
  }
  .club-sports-grid{
    grid-template-columns:1fr;
  }
}

@media(max-width:700px){
  .club-features-grid{
    grid-template-columns:1fr;
  }
  .club-feature{
    min-height:auto;
  }
}

/* v23 Footer enlaces optimizado */
.vp-footer-links nav{
    display:flex;
    flex-direction:column;
    gap:12px !important;
}

.vp-footer-links nav a{
    display:flex;
    justify-content:space-between;
    align-items:center;
    white-space:nowrap;
    line-height:1.2;
    padding:10px 0 !important;
    margin:0 !important;
}

/* ===== Web Vital Pádel v24 · Páginas Equipos y Eventos ===== */
.vp-page{
  background:#050505;
  color:#fff;
}

.vp-inner-main{
  min-height:100vh;
  background:
    radial-gradient(circle at 16% 0%, rgba(18,59,255,.18), transparent 34%),
    linear-gradient(180deg,#050505 0%,#020407 100%);
}

.vp-inner-hero{
  padding:84px 0 78px;
  border-bottom:1px solid rgba(255,255,255,.10);
}

.vp-back-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  padding:22px 42px;
  background:#123BFF;
  color:#fff;
  text-decoration:none;
  border-radius:18px;
  font-size:22px;
  font-weight:800;
  margin-bottom:44px;
  box-shadow:0 20px 50px rgba(18,59,255,.25);
}

.vp-kicker{
  color:#123BFF;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.14em;
  margin:0 0 20px;
}

.vp-inner-hero h1,
.vp-split h2,
.vp-cta-panel h2{
  font-size:clamp(48px,7vw,112px);
  line-height:.9;
  text-transform:uppercase;
  margin:0;
  color:#fff;
  letter-spacing:-.045em;
}

.vp-inner-hero h1 span,
.vp-split h2 span,
.vp-cta-panel h2 span{
  color:#123BFF;
}

.vp-intro{
  max-width:780px;
  color:#f1f4ff;
  font-size:21px;
  line-height:1.55;
  margin:32px 0 0;
  font-weight:400;
}

.vp-inner-section{
  padding:82px 0;
}

.vp-dark-band{
  background:
    linear-gradient(180deg,rgba(0,0,0,.76),rgba(0,0,0,.86)),
    radial-gradient(circle at 50% 0%, rgba(18,59,255,.18), transparent 42%);
}

.vp-split{
  display:grid;
  grid-template-columns:44% 56%;
  gap:54px;
  align-items:start;
}

.vp-split p{
  color:#f1f4ff;
  font-size:20px;
  line-height:1.58;
  font-weight:400;
  margin:0 0 20px;
}

.vp-card-grid{
  display:grid;
  gap:26px;
}

.vp-card-grid.three{
  grid-template-columns:repeat(3,1fr);
}

.vp-info-card{
  min-height:270px;
  background:linear-gradient(135deg,rgba(0,0,0,.82),rgba(6,16,36,.88));
  border:1px solid rgba(255,255,255,.18);
  padding:34px;
  transition:transform .25s ease, border-color .25s ease;
}

.vp-info-card:hover{
  transform:translateY(-6px);
  border-color:#123BFF;
}

.vp-info-card span{
  color:#123BFF;
  font-size:56px;
  line-height:1;
  font-weight:900;
  display:block;
  margin-bottom:34px;
}

.vp-info-card h3{
  color:#fff;
  font-size:25px;
  text-transform:uppercase;
  line-height:1.05;
  margin:0 0 18px;
}

.vp-info-card p{
  color:#eef3ff;
  font-size:18px;
  line-height:1.45;
  margin:0;
  font-weight:400;
}

.vp-cta-panel{
  text-align:center;
  max-width:980px;
}

.vp-cta-panel p{
  max-width:720px;
  margin:28px auto 34px;
  color:#f1f4ff;
  font-size:20px;
  line-height:1.55;
}

.vp-cta-panel .btn{
  display:inline-flex;
  background:#123BFF;
  color:#fff;
  text-decoration:none;
  padding:18px 34px;
  border-radius:8px;
  text-transform:uppercase;
  font-weight:900;
}

@media(max-width:1000px){
  .vp-split,
  .vp-card-grid.three{
    grid-template-columns:1fr;
  }
}

.club-page .club-kicker{color:#123BFF !important;}

/* v25 Equipos */
.equipos-page .vp-kicker{color:#123BFF !important;}

.equipos-extra-grid{
  margin-top:42px;
}

.join-team-section{
  background:#050505;
}

.join-team-panel{
  display:grid;
  grid-template-columns:38% 62%;
  gap:44px;
  align-items:start;
  background:linear-gradient(135deg,rgba(255,255,255,.045),rgba(18,59,255,.08));
  border:1px solid rgba(255,255,255,.14);
  padding:44px;
}

.join-team-heading h2{
  font-size:clamp(38px,5vw,78px);
  line-height:.92;
  text-transform:uppercase;
  margin:0 0 24px;
  color:#fff;
}

.join-team-heading h2 span{
  color:#123BFF;
}

.join-team-heading p{
  color:#f1f4ff;
  font-size:19px;
  line-height:1.55;
  font-weight:400;
}

.join-team-form{
  display:grid;
  gap:18px;
}

.join-team-form .form-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
}

.join-team-form label{
  display:grid;
  gap:8px;
  color:#fff;
  font-size:14px;
  text-transform:uppercase;
  font-weight:800;
  letter-spacing:.04em;
}

.join-team-form input,
.join-team-form select,
.join-team-form textarea{
  width:100%;
  box-sizing:border-box;
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  padding:15px 16px;
  border-radius:8px;
  font:inherit;
  font-size:16px;
  outline:none;
}

.join-team-form option{
  color:#050505;
}

.join-team-form input:focus,
.join-team-form select:focus,
.join-team-form textarea:focus{
  border-color:#123BFF;
}

.join-team-form .btn{
  border:0;
  cursor:pointer;
  justify-self:start;
  margin-top:8px;
}

@media(max-width:900px){
  .join-team-panel,
  .join-team-form .form-row{
    grid-template-columns:1fr;
  }
}

/* ===== v26 Equipos: texto intro y formulario corregido ===== */
.equipos-intro-extra{
  margin-top:28px;
  max-width:720px;
}

.equipos-intro-extra p{
  color:#f1f4ff;
  font-size:20px;
  line-height:1.58;
  font-weight:400;
  margin:0 0 20px;
}

.join-team-panel{
  align-items:start !important;
  overflow:hidden;
}

.join-team-heading{
  padding-right:36px;
}

.join-team-heading h2{
  font-size:clamp(32px,4.2vw,64px) !important;
  line-height:.95 !important;
  margin-bottom:30px !important;
  letter-spacing:-.035em;
}

.join-team-heading p{
  max-width:420px;
}

.join-team-form{
  position:relative;
  z-index:2;
}

@media(max-width:900px){
  .join-team-heading{
    padding-right:0;
  }

  .join-team-heading h2{
    font-size:clamp(36px,9vw,62px) !important;
  }

  .equipos-intro-extra{
    max-width:100%;
  }
}

/* ===== Fv1.3 · Copy premium Club Vital Pádel ===== */
.club-brand-page .club-manifesto{
  padding:90px 0;
  background:#050505;
  border-bottom:1px solid rgba(255,255,255,.10);
}

.club-brand-page .club-manifesto-inner{
  max-width:980px;
}

.club-brand-page .club-manifesto h2{
  font-size:clamp(46px,7vw,112px);
  line-height:.9;
  text-transform:uppercase;
  margin:0 0 34px;
  color:#fff;
  letter-spacing:-.045em;
}

.club-brand-page .club-manifesto h2 span{
  color:#123BFF;
}

.club-brand-page .club-manifesto p{
  color:#f1f4ff;
  font-size:21px;
  line-height:1.6;
  font-weight:400;
  max-width:840px;
}

.club-brand-page .club-kicker{
  color:#123BFF !important;
}

.club-brand-page .club-history h2 span{
  color:#123BFF;
}

.club-brand-page .club-cta .btn{
  background:#123BFF;
  color:#fff;
  text-decoration:none;
}



/* ===== Ajustes finales Vital Pádel ===== */
html{
  scroll-behavior:smooth;
}

#instalaciones,
#escuela,
#equipos,
#eventos,
#tarifas,
#contacto{
  scroll-margin-top:120px;
}

/* Botón CONOCE VITAL: centrado solo en el hero */
.hero-actions{
  justify-content:center;
}

.hero-actions .btn.outline[href="#instalaciones"],
.hero .btn.outline[href="#instalaciones"]{
  align-self:center;
}

/* Footer final equilibrado */
.vp-footer-balanced{
  background:#050505;
  color:#fff;
  border-top:1px solid rgba(255,255,255,.10);
}

.vp-footer-balanced-main{
  max-width:1540px;
  margin:0 auto;
  padding:72px 42px 56px;
  display:grid;
  grid-template-columns:1.05fr 1fr 1.12fr .7fr;
  gap:42px;
  align-items:start;
}

.vp-footer-balanced-brand{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}

.vp-footer-balanced-logo{
  width:128px;
  height:auto;
  margin:0 0 22px;
}

.vp-footer-balanced-brand h3{
  margin:0 0 14px;
  color:#fff;
  font-size:26px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.04em;
  font-weight:900;
}

.vp-footer-balanced-claim{
  margin:0 0 26px;
  max-width:360px;
  text-align:left;
  color:#f4f6ff;
  font-size:18px;
  line-height:1.45;
  font-weight:500;
}

.vp-footer-balanced-claim span{
  color:#123BFF;
  font-weight:900;
}

.vp-footer-balanced-social{
  display:flex;
  align-items:center;
  gap:24px;
}

.vp-footer-balanced-social a{
  width:40px;
  height:40px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#123BFF;
  text-decoration:none;
}

.vp-footer-balanced-social svg{
  width:40px;
  height:40px;
  stroke:#123BFF;
  fill:none;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.vp-footer-balanced-social a:nth-child(2) svg{
  fill:#123BFF;
  stroke:none;
}

.vp-footer-balanced-location h4,
.vp-footer-balanced-links h4{
  margin:0 0 28px;
  color:#123BFF;
  font-size:22px;
  line-height:1;
  text-transform:uppercase;
  letter-spacing:.08em;
  font-weight:900;
}

.vp-footer-balanced-contact{
  display:grid;
  gap:22px;
  margin-bottom:30px;
}

.vp-footer-balanced-contact div{
  display:flex;
  gap:18px;
  align-items:center;
}

.vp-footer-balanced-contact span{
  color:#123BFF;
  font-size:28px;
  min-width:34px;
  text-align:center;
}

.vp-footer-balanced-contact p{
  margin:0;
  color:#f4f6ff;
  font-size:18px;
  line-height:1.35;
  font-weight:700;
}

.vp-footer-balanced-btn{
  display:inline-flex;
  align-items:center;
  gap:20px;
  background:#123BFF;
  color:#fff;
  text-decoration:none;
  padding:17px 28px;
  border-radius:8px;
  text-transform:uppercase;
  font-weight:900;
  letter-spacing:.02em;
}

.vp-footer-balanced-map img{
  width:100%;
  min-height:300px;
  max-height:360px;
  object-fit:cover;
  display:block;
  border-radius:18px;
}

.vp-footer-balanced-links nav{
  display:grid;
  gap:13px;
}

.vp-footer-balanced-links a{
  color:#fff;
  text-decoration:none;
  display:flex;
  justify-content:space-between;
  gap:20px;
  font-size:18px;
  line-height:1.15;
  font-weight:800;
  white-space:nowrap;
}

.vp-footer-balanced-links a:hover{
  color:#123BFF;
}

.vp-footer-balanced-bottom{
  max-width:1540px;
  margin:0 auto;
  padding:28px 42px 42px;
  border-top:1px solid rgba(255,255,255,.14);
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:26px;
}

.vp-footer-balanced-bottom p{
  margin:0;
  color:#fff;
  font-size:15px;
  font-weight:700;
}

.vp-footer-balanced-bottom nav{
  display:flex;
  flex-wrap:wrap;
  gap:26px;
}

.vp-footer-balanced-bottom a{
  color:#fff;
  text-decoration:none;
  font-size:15px;
  font-weight:700;
}

.vp-footer-balanced-bottom a:hover{
  color:#123BFF;
}

@media(max-width:1200px){
  .vp-footer-balanced-main{
    grid-template-columns:1fr 1fr;
  }
}

@media(max-width:760px){
  .vp-footer-balanced-main{
    grid-template-columns:1fr;
    padding:56px 24px 42px;
  }

  .vp-footer-balanced-bottom{
    padding:28px 24px 36px;
    flex-direction:column;
    align-items:flex-start;
  }
}


/* =========================================================
   RESPONSIVE PRO · Vital Pádel
   Adaptación móvil/tablet/escritorio sin cambiar diseño base
   ========================================================= */

/* Evita desbordamientos horizontales */
html,
body{
  max-width:100%;
  overflow-x:hidden;
}

img,
video,
iframe{
  max-width:100%;
}

/* Anclas con header fijo */
[id]{
  scroll-margin-top:110px;
}

/* Tablets y portátiles pequeños */
@media(max-width:1200px){
  .container{
    width:min(100% - 48px, 1120px);
  }

  .menu{
    gap:18px !important;
  }

  .hero-content,
  .hero-inner,
  .hero-text{
    max-width:760px;
  }

  .feature-row,
  .cards-grid,
  .pricing-grid,
  .tarifas-grid,
  .community-grid{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }

  .vp-footer-balanced-main{
    grid-template-columns:1fr 1fr !important;
  }

  .vp-footer-balanced-map{
    grid-column:1 / -1;
  }
}

/* Tablet vertical */
@media(max-width:900px){
  header,
  .site-header,
  .header{
    position:sticky;
    top:0;
    z-index:1000;
  }

  .nav-wrap,
  .header-inner{
    flex-wrap:wrap;
    gap:18px;
  }

  .logo img,
  .brand img{
    max-width:130px;
    height:auto;
  }

  .menu{
    order:3;
    width:100%;
    display:flex !important;
    flex-wrap:wrap;
    justify-content:center;
    gap:10px 16px !important;
  }

  .menu a{
    font-size:14px !important;
    line-height:1.1;
  }

  .hero,
  .hero-section{
    min-height:auto !important;
    padding-top:130px !important;
    padding-bottom:80px !important;
  }

  .hero h1,
  .hero-title,
  h1{
    font-size:clamp(44px, 10vw, 74px) !important;
    line-height:.92 !important;
  }

  .hero p,
  .hero-subtitle,
  .lead{
    font-size:18px !important;
    line-height:1.5 !important;
  }

  .hero-actions{
    display:flex;
    flex-wrap:wrap;
    justify-content:center;
    gap:14px;
  }

  .btn,
  button,
  .vp-footer-balanced-btn{
    min-height:46px;
  }

  .feature-row,
  .cards-grid,
  .pricing-grid,
  .tarifas-grid,
  .community-grid,
  .gallery-grid{
    grid-template-columns:1fr !important;
  }

  .section,
  section{
    padding-left:24px;
    padding-right:24px;
  }

  .split,
  .section-split,
  .club-sports-grid,
  .vp-split{
    grid-template-columns:1fr !important;
    gap:34px !important;
  }

  .section-title,
  h2{
    font-size:clamp(36px, 8vw, 62px) !important;
    line-height:.96 !important;
  }

  .pricing-card,
  .tarifas-card,
  .card{
    min-height:auto !important;
  }

  .vp-footer-balanced-main{
    grid-template-columns:1fr !important;
    padding:56px 24px 42px !important;
  }

  .vp-footer-balanced-map img{
    min-height:260px !important;
  }

  .vp-footer-balanced-bottom{
    flex-direction:column !important;
    align-items:flex-start !important;
    padding-left:24px !important;
    padding-right:24px !important;
  }
}

/* Móvil */
@media(max-width:640px){
  .container{
    width:100% !important;
    padding-left:20px !important;
    padding-right:20px !important;
  }

  .menu{
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap !important;
    padding-bottom:8px;
    -webkit-overflow-scrolling:touch;
  }

  .menu a{
    flex:0 0 auto;
    white-space:nowrap;
  }

  .header .btn,
  .site-header .btn,
  header .btn{
    width:100%;
    justify-content:center;
    text-align:center;
  }

  .hero,
  .hero-section{
    padding-top:120px !important;
    padding-bottom:64px !important;
    text-align:center;
  }

  .hero h1,
  .hero-title,
  h1{
    font-size:clamp(38px, 13vw, 58px) !important;
    letter-spacing:-.04em !important;
  }

  .hero-actions .btn,
  .hero-actions a{
    width:100%;
    max-width:340px;
    justify-content:center;
  }

  .feature,
  .pricing-card,
  .tarifas-card,
  .club-feature,
  .vp-info-card{
    padding:24px !important;
  }

  .tarifas-card h3,
  .pricing-card h3{
    font-size:21px !important;
  }

  .price,
  .precio{
    word-break:keep-all;
  }

  .price span,
  .precio span{
    font-size:38px !important;
  }

  .vp-footer-balanced-logo{
    width:104px !important;
  }

  .vp-footer-balanced-brand h3{
    font-size:24px !important;
  }

  .vp-footer-balanced-claim{
    font-size:17px !important;
  }

  .vp-footer-balanced-contact p,
  .vp-footer-balanced-links a{
    font-size:17px !important;
  }

  .vp-footer-balanced-links nav{
    gap:12px !important;
  }

  .vp-footer-balanced-bottom nav{
    gap:16px !important;
  }
}

/* Móvil pequeño */
@media(max-width:420px){
  .hero h1,
  .hero-title,
  h1{
    font-size:40px !important;
  }

  h2,
  .section-title{
    font-size:34px !important;
  }

  .btn,
  .vp-footer-balanced-btn{
    width:100%;
    justify-content:center;
    text-align:center;
  }

  .vp-footer-balanced-social{
    gap:18px !important;
  }

  .vp-footer-balanced-social a{
    width:36px !important;
    height:36px !important;
  }

  .vp-footer-balanced-social svg{
    width:36px !important;
    height:36px !important;
  }
}

/* Páginas interiores */
@media(max-width:900px){
  .club-hero,
  .vp-inner-hero,
  .contact-page .container{
    padding-top:54px !important;
  }

  .club-back-btn,
  .vp-back-btn,
  .back-btn{
    width:100%;
    box-sizing:border-box;
    justify-content:center;
    margin-bottom:34px !important;
  }

  .join-team-panel,
  .grid{
    grid-template-columns:1fr !important;
  }

  .join-team-form .form-row{
    grid-template-columns:1fr !important;
  }

  .map-card iframe{
    height:320px !important;
  }
}


/* SEO local text blocks */



/* Corrección real de formato textos SEO locales */
.seo-local-text{
  font-family:inherit !important;
  font-size:inherit !important;
  line-height:inherit !important;
  font-weight:inherit !important;
  color:inherit !important;
  letter-spacing:inherit !important;
  max-width:inherit !important;
}

#instalaciones .seo-local-text,
#escuela .seo-local-text,
#equipos .seo-local-text,
#eventos .seo-local-text,
#comunidad .seo-local-text,
#clases .seo-local-text,
.vp-inner-section .seo-local-text,
.club-section .seo-local-text,
.tarifas-section .seo-local-text,
.pricing-section .seo-local-text{
  color:inherit !important;
  font-size:inherit !important;
  line-height:inherit !important;
  font-weight:inherit !important;
  margin-top:12px !important;
  margin-bottom:0 !important;
}

/* Si el texto está dentro de un bloque que ya usa .text, debe comportarse igual */
.text.seo-local-text,
.seo-local-text.text{
  color:inherit !important;
  font-size:inherit !important;
  line-height:inherit !important;
  font-weight:inherit !important;
}
