* {
  box-sizing: border-box;
}
html,
body,
#root {
  margin: 0;
  padding: 0;
}
body {
  font-family: "DM Sans", "Segoe UI", system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  background: #edf1f6;
}
input,
button {
  font-family: inherit;
}
/* quita las flechitas de los number inputs para que se vean como la app actual */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type="number"] {
  -moz-appearance: textfield;
}

/* ====================== PORTADA / LANDING ====================== */
.pl-landing{
  background:#0a1628;
  min-height:100vh;
  color:#eaf1f8;
  overflow-x:hidden;
}
.pl-landing > *{ max-width:980px; margin-left:auto; margin-right:auto; width:100%; }

/* ---- HERO ---- */
.pl-hero{
  position:relative;
  padding:20px 20px 30px;
  background:linear-gradient(168deg,#0a1628 0%,#0c1c31 58%,#0f2138 100%);
  overflow:hidden;
}
.pl-court{
  position:absolute;
  right:-38px; top:64px;
  width:min(78%,560px); height:auto;
  opacity:.10;
  pointer-events:none;
  z-index:0;
}
.pl-hero-top, .pl-eyebrow, .pl-title, .pl-season, .pl-meter-wrap, .pl-stats{ position:relative; z-index:1; }
.pl-hero-top{ min-height:48px; margin-bottom:22px; }

.pl-eyebrow{
  font-size:11px; font-weight:700; letter-spacing:3px;
  color:#5cff3c; text-transform:uppercase; margin-bottom:12px;
}
.pl-title{
  font-family:'Anton','DM Sans',system-ui,sans-serif;
  font-weight:400; margin:0;
  font-size:clamp(46px,13.5vw,96px);
  line-height:.9; letter-spacing:1.5px;
  text-transform:uppercase; color:#ffffff;
  text-shadow:0 2px 30px rgba(0,0,0,.35);
}
.pl-title-accent{ color:#5cff3c; }
.pl-season{
  margin-top:14px; font-size:12.5px; font-weight:600;
  letter-spacing:2.5px; text-transform:uppercase; color:#8aa2bb;
}

/* meter */
.pl-meter-wrap{ margin-top:22px; max-width:520px; }
.pl-meter-row{
  display:flex; justify-content:space-between; align-items:baseline;
  font-size:10.5px; color:#8aa2bb; margin-bottom:6px; letter-spacing:.4px;
}
.pl-meter-pct{ font-weight:800; color:#5cff3c; letter-spacing:.5px; }
.pl-meter-track{
  height:7px; background:rgba(255,255,255,.09);
  border-radius:6px; overflow:hidden;
}
.pl-meter-fill{
  height:100%; background:linear-gradient(90deg,#3ddc22,#5cff3c);
  border-radius:6px; transform-origin:left center;
  animation:pl-grow 1.1s cubic-bezier(.22,1,.36,1) both;
  box-shadow:0 0 12px rgba(92,255,60,.5);
}
@keyframes pl-grow{ from{ transform:scaleX(0);} to{ transform:scaleX(1);} }

/* stats strip */
.pl-stats{
  margin-top:26px; display:grid; grid-template-columns:repeat(4,1fr);
  gap:10px; border-top:1px solid rgba(255,255,255,.08); padding-top:18px;
}
.pl-stat-n{ font-family:'Anton',sans-serif; font-size:26px; color:#fff; line-height:1; letter-spacing:.5px; }
.pl-stat-l{ font-size:9.5px; text-transform:uppercase; letter-spacing:1.4px; color:#7f97b0; margin-top:5px; }

/* ---- SECTIONS ---- */
.pl-section{ padding:26px 20px 6px; }
.pl-kicker{
  font-size:11px; font-weight:700; letter-spacing:2px;
  text-transform:uppercase; color:#5cff3c;
}
.pl-section-head{ margin-bottom:14px; }

/* category cards */
.pl-cats{ display:grid; grid-template-columns:1fr; gap:12px; }
.pl-card{
  text-align:left; cursor:pointer; color:#eaf1f8;
  background:linear-gradient(160deg,#0f2036,#0c1a2e);
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px; padding:18px 18px 16px;
  position:relative; overflow:hidden;
  transition:transform .18s ease, border-color .18s ease, box-shadow .18s ease;
  font-family:inherit;
}
.pl-card::before{
  content:""; position:absolute; left:0; top:0; bottom:0; width:4px;
  background:#5cff3c; opacity:.0; transition:opacity .18s ease;
}
.pl-card:hover{
  transform:translateY(-4px);
  border-color:rgba(92,255,60,.55);
  box-shadow:0 14px 34px rgba(0,0,0,.42);
}
.pl-card:hover::before{ opacity:1; }
.pl-card-top{ display:flex; align-items:center; gap:13px; }
.pl-card-num{
  font-family:'Anton',sans-serif; font-size:52px; line-height:.8;
  color:transparent; -webkit-text-stroke:1.8px #5cff3c; text-stroke:1.8px #5cff3c;
}
.pl-card-code{ display:flex; flex-direction:column; line-height:1; }
.pl-card-ord{ font-family:'Anton',sans-serif; font-size:24px; color:#fff; letter-spacing:1px; text-transform:uppercase; }
.pl-card-cat{ font-family:'DM Sans',sans-serif; font-size:10px; font-weight:600; letter-spacing:2px; color:#7f97b0; text-transform:uppercase; margin-top:5px; }
.pl-card-pairs{ font-size:12px; color:#9fb3c9; margin-top:10px; }
.pl-card-leader{
  display:flex; align-items:center; gap:8px; margin-top:12px;
  padding-top:12px; border-top:1px solid rgba(255,255,255,.08); min-height:20px;
}
.pl-medal{ font-family:'Anton',sans-serif; font-size:13px; color:#0a1628; background:#5cff3c; border-radius:5px; padding:1px 6px; letter-spacing:.5px; }
.pl-leader-name{ font-size:12.5px; font-weight:700; color:#eaf1f8; flex:1; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pl-leader-pts{ font-size:11px; font-weight:800; color:#5cff3c; }
.pl-leader-empty{ font-size:11.5px; color:#6f869e; font-style:italic; }
.pl-card-cta{
  margin-top:14px; font-size:11.5px; font-weight:700; letter-spacing:.4px;
  color:#cfe0f0; display:flex; align-items:center; justify-content:space-between;
}
.pl-arrow{ transition:transform .18s ease; color:#5cff3c; font-size:15px; }
.pl-card:hover .pl-arrow{ transform:translateX(5px); }

/* recent results */
.pl-recent{ display:flex; flex-direction:column; gap:8px; }
.pl-res{
  display:flex; align-items:center; gap:10px;
  background:rgba(255,255,255,.035); border:1px solid rgba(255,255,255,.06);
  border-radius:11px; padding:10px 12px;
}
.pl-res-cat{ font-size:9px; font-weight:800; letter-spacing:1px; color:#0a1628; background:#5cff3c; border-radius:4px; padding:2px 6px; text-transform:uppercase; }
.pl-res-team{ flex:1; font-size:12px; color:#dbe7f3; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pl-res-h{ text-align:right; }
.pl-res-a{ text-align:left; }
.pl-res-score{ font-family:'Anton',sans-serif; font-size:16px; color:#fff; letter-spacing:1px; white-space:nowrap; }
.pl-res-dash{ color:#5cff3c; margin:0 3px; }

/* footer */
.pl-foot{ padding:28px 20px 40px; text-align:center; }
.pl-foot-cta{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
.pl-btn{
  text-decoration:none; font-weight:700; font-size:13px; letter-spacing:.3px;
  padding:12px 22px; border-radius:30px; transition:transform .15s ease, filter .15s ease;
}
.pl-btn:hover{ transform:translateY(-2px); filter:brightness(1.06); }
.pl-btn-wa{ background:#5cff3c; color:#07131f; }
.pl-btn-ig{ background:transparent; color:#eaf1f8; border:1px solid rgba(255,255,255,.22); }
.pl-foot-line{ margin-top:20px; font-size:10.5px; letter-spacing:1.5px; text-transform:uppercase; color:#6f869e; }

/* ---- responsive: 3 columns on wider screens ---- */
@media (min-width:720px){
  .pl-cats{ grid-template-columns:repeat(3,1fr); }
  .pl-hero{ padding:30px 30px 40px; }
  .pl-section{ padding:32px 30px 6px; }
  .pl-res-cat{ min-width:34px; text-align:center; }
}

/* accessibility: keyboard focus + reduced motion */
.pl-card:focus-visible, .pl-btn:focus-visible{ outline:3px solid #5cff3c; outline-offset:3px; }
@media (prefers-reduced-motion:reduce){
  .pl-meter-fill{ animation:none; }
  .pl-card, .pl-arrow, .pl-btn{ transition:none; }
}

/* ====================== SITIO MADNESS (shell) ====================== */
/* barra de navegación */
.nav-bar{
  background:#0a1628; display:flex; align-items:center; gap:6px;
  padding:11px 16px; border-bottom:1px solid rgba(255,255,255,.08);
  position:sticky; top:0; z-index:30;
}
.nav-brand{
  font-family:'Anton',sans-serif; font-size:16px; color:#fff;
  letter-spacing:1px; cursor:pointer; text-transform:uppercase; white-space:nowrap;
}
.nav-brand span{ color:#5cff3c; }
.nav-sp{ flex:1; }
.nav-tab{
  background:transparent; border:none; color:#8aa2bb; font-family:inherit;
  font-size:12.5px; font-weight:700; letter-spacing:.5px; padding:7px 13px;
  border-radius:9px; cursor:pointer; transition:color .15s ease, background .15s ease;
}
.nav-tab:hover{ color:#dbe7f3; }
.nav-tab.is-active{ color:#07131f; background:#5cff3c; }

/* ---- CLUB HOME (madness) ---- */
.mh-hero{ position:relative; padding:92px 20px 44px; overflow:hidden;
  background:linear-gradient(168deg,#0a1628 0%,#0c1c31 58%,#0f2138 100%); }
.mh-mid{ position:relative; z-index:3; }
.mh-hero-top{ position:absolute; top:18px; left:20px; right:20px; z-index:4; min-height:48px; }
.mh-eyebrow{ position:relative; z-index:1; font-size:11px; font-weight:700; letter-spacing:3px; color:#5cff3c; text-transform:uppercase; margin-bottom:12px; }
.mh-title{ position:relative; z-index:1; font-family:'Anton','DM Sans',sans-serif; font-weight:400; margin:0;
  font-size:clamp(46px,13vw,108px); line-height:.88; letter-spacing:.5px; text-transform:uppercase; color:#fff; text-shadow:0 2px 30px rgba(0,0,0,.35); }
.mh-title .mh-loco{ color:#5cff3c; }
.mh-title .mh-word{ color:#eef3f8; }
.mh-sub{ position:relative; z-index:1; margin-top:16px; font-size:13.5px; color:#9fb3c9; max-width:460px; line-height:1.5; }

.mh-sections{ padding:24px 20px 6px; }
.mh-cards{ display:grid; grid-template-columns:1fr; gap:13px; }
.mh-card{ display:block; text-align:left; width:100%; cursor:pointer; text-decoration:none;
  color:#eaf1f8; font-family:inherit; position:relative; overflow:hidden;
  background:linear-gradient(160deg,#0f2036,#0c1a2e); border:1px solid rgba(255,255,255,.09);
  border-radius:18px; padding:20px; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.mh-card::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:#5cff3c; opacity:0; transition:opacity .18s ease; }
.mh-card:hover{ transform:translateY(-4px); border-color:rgba(92,255,60,.5); box-shadow:0 16px 36px rgba(0,0,0,.42); }
.mh-card:hover::before{ opacity:1; }
.mh-card-eyebrow{ font-size:10px; font-weight:800; letter-spacing:2px; text-transform:uppercase; color:#5cff3c; }
.mh-card-title{ font-family:'Anton',sans-serif; font-size:30px; color:#fff; letter-spacing:.8px; text-transform:uppercase; margin-top:6px; line-height:1; }
.mh-card-sub{ font-size:12.5px; color:#9fb3c9; margin-top:9px; line-height:1.45; }
.mh-card-foot{ display:flex; align-items:center; justify-content:space-between; margin-top:14px; }
.mh-card-tag{ font-size:11px; font-weight:800; color:#5cff3c; letter-spacing:.4px; }
.mh-arrow{ color:#5cff3c; font-size:17px; transition:transform .18s ease; }
.mh-card:hover .mh-arrow{ transform:translateX(5px); }
/* mini meter dentro de la card de liga */
.mh-mini-track{ height:6px; background:rgba(255,255,255,.09); border-radius:5px; overflow:hidden; margin-top:12px; }
.mh-mini-fill{ height:100%; background:linear-gradient(90deg,#3ddc22,#5cff3c); border-radius:5px; box-shadow:0 0 10px rgba(92,255,60,.5); }

.mh-foot{ padding:26px 20px 40px; text-align:center; }
.mh-foot-line{ margin-top:18px; font-size:10.5px; letter-spacing:1.5px; text-transform:uppercase; color:#6f869e; }

/* ---- PATROCINADOR ---- */
.mh-sponsor{ padding:30px 20px 8px; text-align:center; }
.mh-sponsor img{ width:230px; width:min(230px,60vw); height:auto; margin-top:4px; }

/* ---- RESERVAS ---- */
.rv-wrap{ min-height:100vh; background:#0a1628; color:#eaf1f8; padding-bottom:44px; }
.rv-hero{ max-width:980px; margin:0 auto; padding:24px 20px 6px; }
.rv-title{ margin:6px 0 4px; font-size:24px; font-weight:800; letter-spacing:.3px; }
.rv-sub{ color:#6f869e; font-size:12.5px; display:flex; align-items:center; gap:7px; }
.rv-dot{ width:7px; height:7px; border-radius:50%; background:#5cff3c; animation:rvpul 2s infinite; }
@keyframes rvpul{ 0%,100%{opacity:1} 50%{opacity:.25} }
.rv-days{ display:flex; gap:8px; overflow-x:auto; scrollbar-width:none; max-width:980px; margin:12px auto 0; padding:2px 20px 8px; }
.rv-days::-webkit-scrollbar{ display:none; }
.rv-day{ flex:0 0 auto; min-width:66px; border:1px solid #22354f; background:#0f2138; color:#eaf1f8; border-radius:12px; padding:8px 10px; text-align:center; font-family:inherit; cursor:pointer; }
.rv-day small{ display:block; color:#6f869e; font-size:10px; letter-spacing:1.5px; text-transform:uppercase; }
.rv-day b{ font-size:13.5px; font-weight:800; white-space:nowrap; }
.rv-day.on{ background:#5cff3c; border-color:#5cff3c; color:#07131f; }
.rv-day.on small{ color:#134d09; }
.rv-grid{ max-width:980px; margin:6px auto 0; padding:0 20px; }
.rv-court{ margin-top:16px; }
.rv-court-nm{ font-weight:800; font-size:13px; letter-spacing:1px; text-transform:uppercase; margin-bottom:7px; }
.rv-slots{ display:grid; grid-template-columns:repeat(4,1fr); gap:8px; }
.rv-slot{ display:block; border:1px solid #22354f; background:#0f2138; border-radius:10px; padding:9px 4px 7px; text-align:center; text-decoration:none; color:#eaf1f8; }
.rv-slot b{ display:block; font-size:13px; font-weight:800; font-variant-numeric:tabular-nums; white-space:nowrap; }
.rv-slot small{ display:block; font-size:9px; color:#6f869e; margin-top:2px; letter-spacing:.3px; }
.rv-slot.free{ border-color:#5cff3c; }
.rv-slot.free b, .rv-slot.free small{ color:#5cff3c; }
.rv-slot.off{ border-style:dashed; opacity:.55; }
.rv-slot.off b{ text-decoration:line-through; font-weight:600; }
.rv-slot.ask{ border-color:#2c4a6b; }
.rv-slot.wait small{ color:#3a5573; }
.rv-alt{ max-width:980px; margin:0 auto; padding:18px 20px 0; text-align:center; font-size:12.5px; color:#6f869e; }
.rv-turnos{ display:flex; gap:8px; max-width:980px; margin:10px auto 0; padding:0 20px; }
.rv-turno{ flex:1; border:1px solid #22354f; background:#0f2138; color:#eaf1f8; border-radius:12px; padding:9px 8px; text-align:center; font-family:inherit; cursor:pointer; }
.rv-turno b{ display:block; font-size:13px; font-weight:800; }
.rv-turno small{ display:block; font-size:10px; color:#6f869e; margin-top:2px; letter-spacing:.5px; }
.rv-turno.on{ border-color:#5cff3c; background:rgba(92,255,60,.08); }
.rv-turno.on b{ color:#5cff3c; }
.rv-finde{ max-width:940px; width:calc(100% - 40px); margin:10px auto 0; padding:8px 12px; font-size:11.5px; color:#6f869e; border:1px dashed #22354f; border-radius:10px; text-align:center; }
.rv-finde b{ color:#5cff3c; }
.rv-slots.tres{ grid-template-columns:repeat(3,1fr); }
.rv-aviso{ max-width:940px; width:calc(100% - 40px); margin:12px auto 0; padding:9px 12px; font-size:11.5px; color:#ffb020; border:1px dashed rgba(255,176,32,.5); border-radius:10px; text-align:center; }
@media (max-width:420px){ .rv-slot b{ font-size:11.5px; } .rv-slot small{ font-size:8.5px; } }
.nav-bar{ overflow-x:auto; scrollbar-width:none; }
.nav-bar::-webkit-scrollbar{ display:none; }

/* ---- TORNEOS ---- */
.tn-wrap{ min-height:100vh; background:#0a1628; color:#eaf1f8; }
.tn-wrap > *{ max-width:980px; margin-left:auto; margin-right:auto; width:100%; }
.tn-hero{ position:relative; overflow:hidden; padding:24px 20px 22px;
  background:linear-gradient(168deg,#0a1628,#0f2138); }
.tn-eyebrow{ font-size:11px; font-weight:700; letter-spacing:3px; color:#5cff3c; text-transform:uppercase; }
.tn-title{ font-family:'Anton',sans-serif; font-weight:400; margin:8px 0 0; font-size:clamp(34px,9vw,60px); line-height:.95; letter-spacing:1px; text-transform:uppercase; color:#fff; }
.tn-by{ font-size:12px; color:#9fb3c9; margin-top:8px; letter-spacing:.5px; }
.tn-date{ display:inline-block; margin-top:16px; font-family:'Anton',sans-serif; font-size:20px; letter-spacing:1px; color:#07131f; background:#5cff3c; padding:7px 15px; border-radius:10px; }
.tn-section{ padding:22px 20px 6px; }
.tn-kicker{ font-size:11px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#5cff3c; margin-bottom:14px; display:block; }
.tn-grid{ display:grid; grid-template-columns:1fr 1fr; gap:11px; }
.tn-box{ background:linear-gradient(160deg,#0f2036,#0c1a2e); border:1px solid rgba(255,255,255,.09); border-radius:14px; padding:15px; }
.tn-box-l{ font-size:10px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; color:#7f97b0; }
.tn-box-v{ font-size:15px; font-weight:700; color:#eaf1f8; margin-top:6px; line-height:1.35; }
.tn-box-v b{ color:#5cff3c; font-weight:800; }
.tn-cta-wrap{ padding:24px 20px 44px; text-align:center; }
.tn-cta{ display:inline-block; text-decoration:none; background:#5cff3c; color:#07131f; font-weight:800; font-size:14px; letter-spacing:.3px; padding:14px 30px; border-radius:30px; transition:transform .15s ease,filter .15s ease; }
.tn-cta:hover{ transform:translateY(-2px); filter:brightness(1.06); }
.tn-note{ font-size:11px; color:#7f97b0; margin-top:14px; }

@media (min-width:720px){
  .mh-cards{ grid-template-columns:1fr 1fr; }
  .mh-card-wide{ grid-column:1 / -1; }
  .mh-hero{ padding:34px 30px 42px; }
  .mh-sections{ padding:30px 30px 6px; }
  .tn-hero{ padding:34px 30px 30px; }
  .tn-section{ padding:28px 30px 6px; }
}
.nav-tab:focus-visible, .mh-card:focus-visible, .tn-cta:focus-visible{ outline:3px solid #5cff3c; outline-offset:3px; }

/* ---- LIGA 2026 (dentro de Torneos) ---- */
.tn-liga-head{ padding:28px 20px 4px; border-top:1px solid rgba(255,255,255,.10); margin-top:18px; }
.tn-liga-eyebrow{ font-size:11px; font-weight:700; letter-spacing:3px; color:#5cff3c; text-transform:uppercase; }
.tn-liga-title{ font-family:'Anton',sans-serif; font-weight:400; margin:8px 0 0; font-size:clamp(30px,8.5vw,54px); line-height:.95; letter-spacing:1px; text-transform:uppercase; color:#fff; }
.tn-liga-when{ font-size:12.5px; color:#9fb3c9; margin-top:9px; }
.tn-liga-when b{ color:#5cff3c; }

.tn-stats{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.tn-stat{ text-align:center; background:linear-gradient(160deg,#0f2036,#0c1a2e); border:1px solid rgba(255,255,255,.09); border-radius:12px; padding:13px 8px; }
.tn-stat-n{ font-family:'Anton',sans-serif; font-size:30px; color:#5cff3c; line-height:1; }
.tn-stat-l{ font-size:10px; text-transform:uppercase; letter-spacing:1px; color:#dbe7f3; font-weight:700; margin-top:5px; }
.tn-stat-s{ font-size:9px; color:#7f97b0; margin-top:3px; }

.tn-price-l{ font-size:11px; font-weight:700; letter-spacing:1.5px; text-transform:uppercase; color:#7f97b0; }
.tn-price-v{ font-family:'Anton',sans-serif; font-size:clamp(46px,14vw,74px); line-height:.85; color:#5cff3c; letter-spacing:1px; text-shadow:0 0 30px rgba(92,255,60,.35); margin-top:2px; }
.tn-benefits{ list-style:none; padding:0; margin:18px 0 0; display:flex; flex-direction:column; gap:10px; }
.tn-benefit{ display:flex; align-items:flex-start; gap:11px; font-size:14px; font-weight:600; color:#eaf1f8; line-height:1.35; }
.tn-check{ color:#5cff3c; font-weight:900; flex:none; font-size:15px; }
.tn-prize{ margin-top:18px; background:linear-gradient(160deg,#12233b,#0c1a2e); border:1px solid rgba(92,255,60,.32); border-radius:14px; padding:15px 16px; }
.tn-prize-l{ font-size:10px; font-weight:800; letter-spacing:1.5px; text-transform:uppercase; color:#7f97b0; margin-bottom:8px; }
.tn-prize-row{ display:flex; align-items:baseline; gap:8px; }
.tn-prize-pos{ font-family:'Anton',sans-serif; font-size:13px; color:#07131f; background:#5cff3c; border-radius:5px; padding:1px 7px; letter-spacing:.5px; }
.tn-prize-amt{ font-family:'Anton',sans-serif; font-size:22px; color:#fff; letter-spacing:.5px; }
.tn-prize-row + .tn-prize-row{ margin-top:8px; }
.tn-promos{ margin-top:14px; font-size:12.5px; color:#9fb3c9; line-height:1.55; }
.tn-promos b{ color:#eaf1f8; }
.tn-cupo-wrap{ padding:18px 20px 0; }
.tn-cupo{ background:#5cff3c; color:#07131f; text-align:center; font-family:'Anton',sans-serif; font-size:clamp(15px,4.6vw,20px); letter-spacing:.5px; padding:13px; border-radius:12px; text-transform:uppercase; line-height:1.15; }

@media (min-width:720px){
  .tn-liga-head{ padding:34px 30px 4px; }
}

/* "por persona" bajo el precio */
.tn-price-per{ font-size:13px; color:#9fb3c9; font-weight:600; margin-top:3px; }
/* ---- TORNEO FEMENIL (acento rosa) ---- */
.tn-jump{ display:flex; gap:8px; padding:14px 20px 0; overflow-x:auto; scrollbar-width:none; }
.tn-jump::-webkit-scrollbar{ display:none; }
.tn-jump-b{ flex:0 0 auto; font-family:inherit; font-size:11.5px; font-weight:800; color:#07131f; background:#5cff3c; border:none; border-radius:99px; padding:8px 14px; cursor:pointer; white-space:nowrap; }
.tn-jump-b.is-fem{ background:#ff4d94; color:#fff; }
#bocanita, #femenil{ scroll-margin-top:62px; }
.mh-card.is-fem::before{ background:#ff4d94; }
.mh-card.is-fem .mh-card-eyebrow, .mh-card.is-fem .mh-card-tag{ color:#ff4d94; }
.mh-card.is-fem:hover{ border-color:rgba(255,77,148,.5); }
.tn-fem-logo{ display:block; height:34px; width:auto; margin-bottom:12px; }
.tn-fem .tn-liga-head{ border-top-color:rgba(255,77,148,.3); }
.tn-fem .tn-liga-eyebrow, .tn-fem .tn-kicker{ color:#ff4d94; }
.tn-fem .tn-date{ background:#ff4d94; color:#fff; }
.tn-fem .tn-box-v b{ color:#ff4d94; }
.tn-fem .tn-prize{ border-color:rgba(255,77,148,.35); }
.tn-fem .tn-prize-pos{ background:#ff4d94; color:#fff; }
.tn-fem .tn-promos b{ color:#ff4d94; }
.tn-fem .tn-cta{ background:#ff4d94; color:#fff; }

/* ---- PRÓXIMAMENTE (en el inicio del club) ---- */
.mh-soon{ padding:14px 20px 0; }
.mh-soon-box{
  border:1px solid rgba(92,255,60,.35);
  background:linear-gradient(160deg,rgba(92,255,60,.06),rgba(12,26,46,.4));
  border-radius:18px; padding:22px 20px; text-align:center;
}
.mh-soon-eyebrow{ font-size:10px; font-weight:800; letter-spacing:3px; text-transform:uppercase; color:#5cff3c; }
.mh-soon-title{ font-family:'Anton',sans-serif; font-size:clamp(24px,6.5vw,36px); color:#fff; text-transform:uppercase; letter-spacing:.6px; margin-top:9px; line-height:1; }
.mh-soon-sub{ font-size:12.5px; color:#9fb3c9; margin-top:9px; line-height:1.5; }
.mh-soon-btn{
  display:inline-block; margin-top:15px; text-decoration:none;
  background:#5cff3c; color:#07131f; font-weight:800; font-size:13px;
  padding:11px 24px; border-radius:26px; transition:transform .15s ease, filter .15s ease;
}
.mh-soon-btn:hover{ transform:translateY(-2px); filter:brightness(1.06); }
.mh-soon-btn:focus-visible{ outline:3px solid #5cff3c; outline-offset:3px; }

/* ---- EVENTOS: chips "ideal para" ---- */
.ev-chips{ display:flex; flex-wrap:wrap; gap:8px; }
.ev-chip{
  font-size:12.5px; font-weight:700; color:#dbe7f3;
  background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.13);
  border-radius:22px; padding:8px 15px;
}
.ev-note{ margin-top:14px; }

/* ---- pelota rebotando (inicio) ---- */
.ball-wrap{ position:absolute; top:0; right:0; bottom:0; left:0; z-index:2; pointer-events:none; overflow:hidden; }
.ball{
  position:absolute; top:0; left:0; width:28px; height:28px; border-radius:50%;
  background:radial-gradient(circle at 33% 28%, #f3ffd8 0%, #b9f23f 45%, #93d723 74%, #6faf16 100%);
  box-shadow:0 8px 17px rgba(0,0,0,.45), inset -5px -7px 12px rgba(0,0,0,.22), inset 4px 5px 10px rgba(255,255,255,.5);
  cursor:grab; touch-action:none; pointer-events:auto; will-change:transform;
  -webkit-user-select:none; user-select:none;
}
.ball:active{ cursor:grabbing; }
.ball::before{
  content:""; position:absolute; left:5px; right:5px; top:9px; bottom:9px;
  border-radius:50%; border:2px solid rgba(255,255,255,.5);
  border-left-color:transparent; border-right-color:transparent; transform:rotate(20deg);
}

/* ============ HERO DINÁMICO ============ */
/* resplandor verde (aurora) */
.mh-aurora{
  position:absolute; left:-120px; top:-140px; width:440px; height:440px;
  border-radius:50%; z-index:0; pointer-events:none;
  background:radial-gradient(circle, rgba(92,255,60,.30) 0%, rgba(92,255,60,.10) 45%, rgba(92,255,60,0) 72%);
  filter:blur(18px); -webkit-filter:blur(18px); will-change:transform;
}
.mh-aurora2{
  left:auto; top:auto; right:-150px; bottom:-170px; width:400px; height:400px;
  background:radial-gradient(circle, rgba(92,255,60,.20) 0%, rgba(92,255,60,.07) 48%, rgba(92,255,60,0) 72%);
}

/* partículas */
.mh-parts{ position:absolute; top:0; right:0; bottom:0; left:0; z-index:0; pointer-events:none; overflow:hidden; }
.mh-parts i{
  position:absolute; bottom:-10px; width:5px; height:5px; border-radius:50%;
  background:#5cff3c; opacity:0; box-shadow:0 0 9px rgba(92,255,60,.85);
}
.mh-parts i:nth-child(1){ left:6%;  width:4px; height:4px; }
.mh-parts i:nth-child(2){ left:15%; }
.mh-parts i:nth-child(3){ left:26%; width:6px; height:6px; }
.mh-parts i:nth-child(4){ left:37%; width:4px; height:4px; }
.mh-parts i:nth-child(5){ left:48%; }
.mh-parts i:nth-child(6){ left:58%; width:4px; height:4px; }
.mh-parts i:nth-child(7){ left:68%; width:6px; height:6px; }
.mh-parts i:nth-child(8){ left:78%; }
.mh-parts i:nth-child(9){ left:87%; width:4px; height:4px; }
.mh-parts i:nth-child(10){ left:94%; }

/* LOCO glitch (estático por defecto) */
.mh-loco{ position:relative; display:inline-block; color:#5cff3c; }
.mh-loco::before,.mh-loco::after{
  content:attr(data-t); position:absolute; left:0; top:0; width:100%;
  color:#5cff3c; opacity:0; pointer-events:none;
}

/* ---- solo si el usuario permite movimiento ---- */
@media (prefers-reduced-motion: no-preference){
  /* entrada en cascada */
  .mh-in{ animation:mhIn .7s cubic-bezier(.2,.75,.25,1) both; }
  .mh-d1{ animation-delay:.05s } .mh-d2{ animation-delay:.18s }
  .mh-d3{ animation-delay:.32s } .mh-d4{ animation-delay:.46s }
  .mh-d5{ animation-delay:.68s }

  /* aurora en movimiento */

  /* cancha: se dibuja y luego respira en neón */
  .pl-court-anim rect,.pl-court-anim line{
    stroke-dasharray:100; stroke-dashoffset:100;
    animation:mhDraw 1.5s ease forwards;
  }
  .pl-court-anim rect{ animation-delay:.15s }
  .pl-court-anim line:nth-of-type(1){ animation-delay:.55s }
  .pl-court-anim line:nth-of-type(2){ animation-delay:.75s }
  .pl-court-anim line:nth-of-type(3){ animation-delay:.9s }
  .pl-court-anim line:nth-of-type(4){ animation-delay:1.05s }
  .pl-court-anim{ animation:mhCourt 6s ease-in-out 2.4s infinite; }

  /* glitch de LOCO */
  .mh-loco::before{ animation:mhGl1 4.2s steps(1,end) 1.4s infinite; }
  .mh-loco::after{ animation:mhGl2 4.2s steps(1,end) 1.4s infinite; }
  .mh-loco{ animation:mhGlow 4.2s ease-in-out 1.4s infinite; }

  /* partículas subiendo */
  .mh-parts i{ animation:mhPart 8s linear infinite; }
  .mh-parts i:nth-child(1){ animation-duration:9s;  animation-delay:.4s }
  .mh-parts i:nth-child(2){ animation-duration:7s;  animation-delay:2.2s }
  .mh-parts i:nth-child(3){ animation-duration:10s; animation-delay:1.1s }
  .mh-parts i:nth-child(4){ animation-duration:7.5s;animation-delay:4.4s }
  .mh-parts i:nth-child(5){ animation-duration:8.5s;animation-delay:.9s }
  .mh-parts i:nth-child(6){ animation-duration:6.5s;animation-delay:3.4s }
  .mh-parts i:nth-child(7){ animation-duration:9.5s;animation-delay:1.9s }
  .mh-parts i:nth-child(8){ animation-duration:7s;  animation-delay:5.1s }
  .mh-parts i:nth-child(9){ animation-duration:8s;  animation-delay:2.8s }
  .mh-parts i:nth-child(10){animation-duration:6.8s;animation-delay:.2s }
}

@keyframes mhIn{ from{ opacity:0; transform:translateY(20px) } to{ opacity:1; transform:translateY(0) } }
@keyframes mhFloatA{ from{ transform:translate(0,0) scale(1) } to{ transform:translate(80px,46px) scale(1.16) } }
@keyframes mhFloatB{ from{ transform:translate(0,0) scale(1.08) } to{ transform:translate(-70px,-36px) scale(.94) } }
@keyframes mhDraw{ to{ stroke-dashoffset:0 } }
@keyframes mhCourt{ 0%,100%{ opacity:.10 } 50%{ opacity:.17 } }
@keyframes mhGlow{
  0%,100%{ text-shadow:0 0 0 rgba(92,255,60,0) }
  50%{ text-shadow:0 0 18px rgba(92,255,60,.55) }
}
@keyframes mhGl1{
  0%,5.9%,9.1%,49.9%,53.1%,100%{ opacity:0; transform:none; }
  6%{ opacity:.85; transform:translate(-3px,-2px); clip-path:inset(0 0 62% 0); }
  9%{ opacity:0; }
  50%{ opacity:.85; transform:translate(3px,1px); clip-path:inset(24% 0 42% 0); }
  53%{ opacity:0; }
}
@keyframes mhGl2{
  0%,6.9%,10.1%,55.9%,59.1%,100%{ opacity:0; transform:none; }
  7%{ opacity:.8; transform:translate(3px,2px); clip-path:inset(60% 0 6% 0); text-shadow:-2px 0 rgba(255,255,255,.5); }
  10%{ opacity:0; }
  56%{ opacity:.8; transform:translate(-3px,-1px); clip-path:inset(72% 0 0 0); text-shadow:2px 0 rgba(255,255,255,.5); }
  59%{ opacity:0; }
}

/* ---- capas parallax (giroscopio/dedo) ---- */
.mh-plx{ position:absolute; top:0; right:0; bottom:0; left:0; z-index:0; pointer-events:none; will-change:transform; }

/* ---- canvas de estela ---- */
.mh-fx{ position:absolute; top:0; left:0; width:100%; height:100%; z-index:2; pointer-events:none; }

/* ---- contador del juego de toques ---- */
.mh-score{
  position:absolute; right:14px; bottom:14px; z-index:3; pointer-events:none;
  background:rgba(10,22,40,.88); border:1px solid rgba(92,255,60,.45);
  color:#dffbd6; font-size:10px; font-weight:800; letter-spacing:.3px;
  padding:5px 9px; border-radius:999px;
}
.mh-score b{ color:#5cff3c; }

/* ---- aparecer al hacer scroll ---- */
.rv{
  opacity:0; transform:translateY(26px);
  transition:opacity .4s cubic-bezier(.2,.75,.25,1), transform .4s cubic-bezier(.2,.75,.25,1);
}
.rv-in{ opacity:1; transform:translateY(0); }
@media (prefers-reduced-motion: reduce){
  .rv{ opacity:1; transform:none; transition:none; }
  .mh-fx{ display:none; }
}

/* ============ PORTADA TOP ============ */
/* full-bleed para hero, cinta y stats */
.pl-landing > .mh-hero, .pl-landing > .mh-marq, .pl-landing > .mh-stats, .pl-landing > .mh-prog{ max-width:none; }

/* título letra por letra */
.mh-lrow{ display:inline-block; overflow:hidden; vertical-align:bottom; padding-bottom:.06em; margin-bottom:-.06em; }
.lt{ display:inline-block; }
.mh-out .lt{ color:transparent; -webkit-text-stroke:2px #dfe9f3; }
.lt-pop{ display:inline-block; }

/* reflector que sigue el dedo */
.mh-spot{ position:absolute; top:0; right:0; bottom:0; left:0; z-index:1; pointer-events:none;
  background:radial-gradient(340px circle at var(--sx,72%) var(--sy,30%), rgba(92,255,60,.13), rgba(92,255,60,0) 62%); }

/* grano de película */
.mh-grain{ position:absolute; top:-72px; right:-72px; bottom:-72px; left:-72px; z-index:2; pointer-events:none;
  opacity:.055; background:url(data:image/png;base64,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) repeat; background-size:72px 72px; }

/* CTAs */
.mh-ctas{ display:flex; gap:12px; margin-top:28px; flex-wrap:wrap; align-items:center; }
.mh-cta{ display:inline-flex; align-items:center; gap:8px; border:none; cursor:pointer; text-decoration:none;
  background:#5cff3c; color:#0a1628; font-family:inherit; font-size:13.5px; font-weight:900;
  letter-spacing:1.2px; text-transform:uppercase; padding:16px 26px; border-radius:999px;
  transition:transform .15s ease, box-shadow .15s ease; }
.mh-cta:active{ transform:scale(.96); }
.mh-cta-ghost{ background:transparent; color:#eaf1f8; border:1.5px solid rgba(255,255,255,.35); }
.mh-cta-ghost:active{ border-color:#5cff3c; color:#5cff3c; }

/* cinta corriendo */
.mh-marq{ background:#050d1a; border-top:1px solid rgba(92,255,60,.28); border-bottom:1px solid rgba(92,255,60,.28);
  overflow:hidden; white-space:nowrap; position:relative; z-index:1; }
.mh-marq-in{ display:inline-block; padding:13px 0; font-size:11.5px; font-weight:800; letter-spacing:2.5px;
  text-transform:uppercase; color:#9fb3c9; }
.mh-marq-in b{ color:#5cff3c; font-weight:900; padding:0 14px; }
.mh-marq-in span{ padding-right:14px; }

/* números en vivo */
.mh-stats{ background:#0a1628; display:grid; grid-template-columns:1fr 1fr; gap:6px 14px;
  padding:34px 20px 26px; }
.mh-statbox{ padding:10px 4px; }
.mh-stat-num{ font-family:'Anton',sans-serif; font-size:clamp(38px,10vw,66px); color:#5cff3c; line-height:1; letter-spacing:1px; }
.mh-stat-lbl{ margin-top:6px; font-size:10.5px; font-weight:800; letter-spacing:1.8px; text-transform:uppercase; color:#7d92a9;
  display:flex; align-items:center; gap:7px; }
.mh-live{ width:7px; height:7px; border-radius:50%; background:#5cff3c; display:inline-block; box-shadow:0 0 8px rgba(92,255,60,.9); }

/* tilt 3D + brillo en tarjetas */
.mh-card{ transform-style:preserve-3d; }
.mh-card::after{ content:""; position:absolute; top:0; right:0; bottom:0; left:0; border-radius:inherit; pointer-events:none;
  background:radial-gradient(260px circle at var(--gx,50%) var(--gy,40%), rgba(255,255,255,.15), rgba(255,255,255,0) 62%);
  opacity:0; transition:opacity .25s ease; }
.mh-card.is-tilt::after{ opacity:1; }

/* barra de progreso de scroll */
.mh-prog{ position:fixed; top:0; left:0; height:3px; width:0; z-index:99; background:#5cff3c;
  box-shadow:0 0 12px rgba(92,255,60,.85); border-radius:0 999px 999px 0; }

/* ---- animaciones (solo si permiten movimiento) ---- */
@media (prefers-reduced-motion: no-preference){
  .lt{ transform:translateY(112%); animation:mhLt .72s cubic-bezier(.2,.8,.2,1) both; }
  .lt-pop{ opacity:0; animation:mhPop .6s cubic-bezier(.3,1.6,.4,1) .82s both; }
  .mh-d6{ animation-delay:.9s }
  .mh-marq-in{ animation:mhMarq 20s linear infinite; }
  .mh-live{ animation:mhLive 1.6s ease-in-out infinite; }
}
@keyframes mhLt{ to{ transform:translateY(0) } }
@keyframes mhPop{ from{ opacity:0; transform:scale(.55) } to{ opacity:1; transform:scale(1) } }
@keyframes mhMarq{ from{ transform:translateX(0) } to{ transform:translateX(-50%) } }
@keyframes mhPulse{ 0%{ box-shadow:0 0 0 0 rgba(92,255,60,.5) } 70%{ box-shadow:0 0 0 16px rgba(92,255,60,0) } 100%{ box-shadow:0 0 0 0 rgba(92,255,60,0) } }
@keyframes mhLive{ 0%,100%{ opacity:1 } 50%{ opacity:.35 } }
@keyframes mhGrain{ 0%{ transform:translate(0,0) } 33%{ transform:translate(-24px,14px) } 66%{ transform:translate(18px,-20px) } 100%{ transform:translate(0,0) } }

@media (prefers-reduced-motion: reduce){
  .lt,.lt-pop{ transform:none; opacity:1; animation:none; }
  .mh-marq-in{ animation:none; }
}

@media (min-width:700px){
  .mh-hero{ padding-left:30px; padding-right:30px; }
  .mh-hero-top{ left:30px; right:30px; top:22px; }
  .mh-stats{ grid-template-columns:repeat(4,1fr); padding:44px 30px 36px; }
  .mh-mid{ max-width:980px; margin:0 auto; width:100%; }
  .mh-stats, .mh-marq-in{ }
}

/* ---- HUD del juego (mute + contador) ---- */
.mh-hud{ position:absolute; right:14px; bottom:14px; z-index:3; display:flex; align-items:center; gap:8px; }
.mh-hud .mh-score{ position:static; right:auto; bottom:auto; }
.mh-mute{ width:28px; height:28px; border-radius:50%; cursor:pointer; pointer-events:auto;
  background:rgba(10,22,40,.88); border:1px solid rgba(92,255,60,.45); color:#dffbd6; font-size:12px;
  display:flex; align-items:center; justify-content:center; padding:0; }
.mh-mute:active{ transform:scale(.92); }

/* ---- Galería El Club ---- */
.pl-landing > .mh-gal{ max-width:none; }
.mh-gal{ background:#0a1628; padding:8px 0 30px; }
.mh-gal-head{ padding:0 20px 14px; max-width:980px; margin:0 auto; }
.mh-gal-title{ font-family:'Anton',sans-serif; font-size:clamp(26px,7vw,44px); color:#fff; letter-spacing:.8px; text-transform:uppercase; margin-top:4px; }
.mh-gal-strip{ display:flex; gap:12px; overflow-x:auto; padding:4px 20px 8px;
  scroll-snap-type:x mandatory; -webkit-overflow-scrolling:touch; scrollbar-width:none; }
.mh-gal-strip::-webkit-scrollbar{ display:none; }
.mh-gal-item{ flex:0 0 auto; width:min(78vw,420px); margin:0; scroll-snap-align:center; position:relative; }
.mh-gal-item img{ width:100%; height:250px; object-fit:cover; border-radius:16px; display:block;
  border:1px solid rgba(255,255,255,.10); }
.mh-gal-item figcaption{ position:absolute; left:12px; bottom:12px; font-size:10.5px; font-weight:800;
  letter-spacing:1.5px; text-transform:uppercase; color:#dffbd6;
  background:rgba(10,22,40,.72); padding:5px 10px; border-radius:999px; border:1px solid rgba(92,255,60,.4); }
@media (min-width:700px){
  .mh-gal-head{ padding:0 30px 14px; }
  .mh-gal-strip{ padding:4px 30px 8px; }
  .mh-gal-item img{ height:300px; }
}

/* ---- premio: cancha gratis a los 8 toques ---- */
.mh-hud{ flex-direction:column; align-items:flex-end; }
.mh-hud-row{ display:flex; align-items:center; gap:8px; }
.mh-goal{ color:#9fb3c9; font-weight:800; }
.mh-prize{ display:inline-flex; align-items:center; gap:6px; text-decoration:none; pointer-events:auto;
  background:#5cff3c; color:#0a1628; font-size:11px; font-weight:900; letter-spacing:.7px; text-transform:uppercase;
  padding:8px 13px; border-radius:999px; box-shadow:0 6px 22px rgba(92,255,60,.35); }
.mh-prize:active{ transform:scale(.95); }
@media (prefers-reduced-motion: no-preference){
  .mh-prize{ animation:mhPop .5s cubic-bezier(.3,1.6,.4,1) both, mhPulse 2.4s ease-out .6s infinite; }
}


/* pausa de animaciones del hero cuando no está en pantalla (rendimiento) */
.mh-paused .mh-aurora, .mh-paused .mh-parts i, .mh-paused .mh-grain, .mh-paused .pl-court-anim{ animation-play-state:paused; }

.mh-prize-done{ background:rgba(92,255,60,.12); color:#5cff3c; border:1px solid rgba(92,255,60,.5);
  box-shadow:none; animation:none; }
