.catalog-order {
  display: grid;
  grid-template-columns: minmax(240px, .7fr) minmax(0, 1.3fr);
  align-items: start;
  gap: clamp(28px, 5vw, 64px);
}

.sport-list a {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 12px;
  padding: 12px 0;
  border-top: 1px solid rgba(255,255,255,.15);
  color: #8fa7b3;
  font-size: .78rem;
  text-decoration: none;
  transition: color .18s, transform .18s;
}
.sport-list a:hover,.sport-list a:focus-visible{color:var(--green);transform:translateX(5px)}
.sport-list a strong{color:var(--white);font-size:1rem;letter-spacing:.08em}

.calendar-all{margin-top:8px;padding:9px 14px;border:0;border-radius:999px;background:var(--navy);color:#fff;font:inherit;font-weight:900;cursor:pointer}
.race-list li[hidden]{display:none!important}
.calendar-discipline-links{max-width:1250px;margin:-20px auto 34px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.calendar-discipline-links a{display:grid;gap:2px;padding:13px 14px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--navy);text-decoration:none}.calendar-discipline-links a:hover{border-color:#00a85a;box-shadow:0 8px 24px #03203812}.calendar-discipline-links span{color:#007f4a;font-size:.75rem;font-weight:850}.calendar-discipline-all{width:calc(100% - 32px);margin:0 16px 16px;padding:9px 12px;border:1px solid #0a7650;border-radius:7px;background:#fff;color:#075e43;font:inherit;font-size:.8rem;font-weight:900;cursor:pointer}.calendar-card-empty{opacity:.72}
.contact-dialog{width:min(620px,calc(100% - 30px));padding:0;border:0;border-radius:14px;box-shadow:0 30px 90px #00142666}.contact-dialog::backdrop{background:#001426aa}.contact-dialog form{position:relative;display:grid;gap:14px;padding:30px}.contact-dialog h3{margin:0;color:var(--navy);font-size:1.7rem}.contact-dialog label{display:grid;gap:6px;color:#34505d;font-weight:800}.contact-dialog input,.contact-dialog textarea{width:100%;padding:12px;border:1px solid #b9cbd3;border-radius:7px;font:inherit}.dialog-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:var(--navy);font-size:2rem;cursor:pointer}.hp-field{position:absolute!important;left:-9999px!important}
.contact-column{display:grid;gap:28px}.general-contact-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:24px;border:1px solid var(--line);border-top:4px solid var(--green);background:#fff}.general-contact-form label{display:grid;gap:6px;color:#34505d;font-size:.84rem;font-weight:850}.general-contact-form label:last-of-type,.general-contact-form button{grid-column:1/-1}.general-contact-form input,.general-contact-form textarea{width:100%;padding:12px;border:1px solid #b9cbd3;border-radius:7px;font:inherit}.general-contact-form textarea{resize:vertical}.general-contact-form button{border:0;font:inherit;cursor:pointer}

.order-copy {
  position: sticky;
  top: 120px;
}

.order-copy h3 {
  font-size: clamp(1.8rem, 3vw, 2.6rem);
  line-height: 1.05;
}

.order-copy p:last-child {
  max-width: 480px;
}

.order-form {
  display: grid;
  gap: 18px;
}

.form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
}

.order-form label {
  display: grid;
  gap: 7px;
  color: #dce8ed;
  font-size: .82rem;
  font-weight: 850;
}

.order-form .cart-item label {
  color: #34505d;
}

.order-form .cart-item input {
  min-height: 44px;
  border-color: #b9cbd3;
}

.order-form input,
.order-form select,
.order-form textarea {
  width: 100%;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid rgba(255, 255, 255, .24);
  border-radius: 6px;
  color: #102638;
  background: #fff;
  font: inherit;
}

.order-form textarea {
  min-height: 104px;
  resize: vertical;
}

.order-form input:focus,
.order-form select:focus,
.order-form textarea:focus {
  outline: 3px solid rgba(0, 239, 103, .32);
  border-color: #00ef67;
}

.form-wide {
  grid-column: 1 / -1;
}

.order-consent {
  display: flex !important;
  align-items: flex-start;
  gap: 10px !important;
  font-weight: 600 !important;
}

.order-consent input {
  width: auto;
  min-height: 0;
  margin-top: 4px;
}

.order-form .button {
  border: 0;
  cursor: pointer;
  font: inherit;
}

.order-note {
  margin: 0 !important;
  color: #a9c2cc !important;
  font-size: .84rem;
}

.hp-field {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}

@media (min-width: 1051px) {
  .hero {
    grid-template-columns: minmax(0, 1.2fr) minmax(380px, .8fr);
    align-items: center;
    gap: clamp(36px, 5vw, 76px);
  }

  .hero-card {
    min-height: 430px;
    padding: 36px 34px;
    display: flex;
    flex-direction: column;
    justify-content: center;
  }

  .card-label {
    margin-bottom: 22px;
    font-size: .82rem;
  }

  .sport-list a {
    grid-template-columns: 50px 1fr;
    padding: 17px 0;
    font-size: .84rem;
  }

  .sport-list strong {
    font-size: 1.08rem;
  }
}

@media (max-width: 820px) {
  .catalog-order {
    grid-template-columns: 1fr;
  }

  .order-copy {
    position: static;
  }
}

@media (max-width: 680px) {
  .calendar-discipline-links{grid-template-columns:1fr 1fr;margin-top:-10px}.general-contact-form{grid-template-columns:1fr}.general-contact-form label:last-of-type,.general-contact-form button{grid-column:auto}
  .form-grid {
    grid-template-columns: 1fr;
  }

  .form-wide {
    grid-column: auto;
  }

  .catalog-order {
    display: grid;
  }
}

/* Calendario por disciplina: paginas de 10 (web_club_calendario.py) */
.race-pager{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 16px 12px}
.race-pager button{padding:8px 12px;border:1px solid #0a7650;border-radius:7px;background:#fff;color:#075e43;font:inherit;font-size:.8rem;font-weight:900;cursor:pointer}
.race-pager button:disabled{opacity:.4;cursor:default}.race-page{font-size:.8rem;color:#55707f;font-weight:800}
.race-empty{margin:0 16px 12px;color:#55707f;font-size:.85rem}.race-more{margin:0 16px 16px;font-size:.78rem;color:#55707f}
.race-more a{color:#007f4a;font-weight:800;text-decoration:none}

.calendar-sport-filter{max-width:1250px;margin:-20px auto 28px;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}
.calendar-sport-filter button{min-height:50px;padding:9px 12px;border:1px solid #9fbac5;border-radius:8px;background:#fff;color:var(--navy);font:inherit;font-weight:950;cursor:pointer}
.calendar-sport-filter button:hover,.calendar-sport-filter button:focus-visible,.calendar-sport-filter button[aria-pressed="true"]{border-color:#00a85a;background:#e8fff1;color:#006d40;box-shadow:0 8px 22px rgba(3,30,52,.08)}
.calendar-discipline-links{display:none!important}
.calendar-section .discipline-card{scroll-margin-top:150px}

.header-actions{display:flex;align-items:center;gap:10px}.app-link-short{display:none}.lang-switch{display:flex;gap:3px;padding:3px;border:1px solid rgba(255,255,255,.28);border-radius:7px}.lang-switch button{min-width:34px;height:32px;padding:0 7px;border:0;border-radius:4px;background:transparent;color:#c9dbe3;font:inherit;font-size:.72rem;font-weight:950;cursor:pointer}.lang-switch button[aria-pressed="true"]{background:var(--green);color:var(--navy)}

/* ITO Elite y prueba gratuita (despues de Elige tu seccion deportiva) */
/* ITO Elite: presentacion con pantallas reales (deportista de ejemplo), ventajas, acceso gratis para federados y formulario */
.elite-promo{display:flex;align-items:center;gap:14px;width:max-content;max-width:100%;margin:0 0 26px;padding:8px 16px 8px 8px;border:1px solid rgba(0,239,103,.45);border-radius:999px;background:rgba(0,239,103,.09);color:#e9f6f0;font-size:.92rem;font-weight:750;text-decoration:none;transition:background .15s,border-color .15s}
.elite-promo:hover,.elite-promo:focus-visible{background:rgba(0,239,103,.18);border-color:var(--green)}
.elite-promo b{flex:none;padding:3px 10px;border-radius:999px;background:var(--green);color:var(--navy);font-size:.72rem;letter-spacing:.12em}
.elite-promo span:last-child{color:var(--green);font-weight:900}
.ito-elite-section{position:relative;overflow:hidden;padding:clamp(76px,9vw,128px) clamp(20px,6vw,90px);color:#fff;background:radial-gradient(ellipse at 78% 8%,rgba(0,239,103,.16),transparent 42%),radial-gradient(ellipse at 0% 100%,rgba(0,140,120,.22),transparent 45%),linear-gradient(170deg,#011320 0%,#03213a 50%,#032c3a 100%)}
.ito-elite-section>div{max-width:1280px;margin-inline:auto}
.ito-elite-section h2{color:#fff;font-size:clamp(2.6rem,5vw,4.6rem);line-height:1;letter-spacing:-.045em}
.ito-elite-section h2 span{color:var(--green)}
.ito-elite-section h3{color:#fff;letter-spacing:-.02em}

.elite-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(36px,5vw,72px);align-items:center}
.elite-lead{max-width:600px;margin:24px 0 0;color:#c9dbe2;font-size:clamp(1.04rem,1.45vw,1.18rem);line-height:1.7}
.elite-lead strong{color:#fff}
.elite-free{max-width:560px;margin-top:30px;padding:20px 22px;border-radius:16px;background:linear-gradient(135deg,rgba(0,239,103,.2),rgba(0,239,103,.06));border:1px solid rgba(0,239,103,.55);box-shadow:0 18px 50px rgba(0,239,103,.1)}
.elite-free-main{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;margin:0;color:#fff;font-size:clamp(1.15rem,1.8vw,1.4rem);font-weight:850;line-height:1.2}
.elite-free-main span{color:var(--green);font-size:clamp(1.9rem,3vw,2.5rem);font-weight:950;letter-spacing:-.03em}
.elite-free-sub{margin:10px 0 0;color:#cfe0e6}
.elite-free-sub strong{color:#fff}
.elite-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}

.elite-devices{position:relative;margin:0;padding:0 0 9% 0}
.elite-devices::before{content:"";position:absolute;inset:8% 10% 4% 6%;border-radius:50%;background:radial-gradient(circle,rgba(0,239,103,.24),transparent 66%);filter:blur(26px)}
.device-laptop{position:relative}
.laptop-screen{position:relative;padding:2.2% 2.2% 2.6%;border-radius:18px 18px 4px 4px;background:linear-gradient(#1b2a35,#0d161d);box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 40px 90px rgba(0,0,0,.55)}
.laptop-screen img{width:100%;height:auto;border-radius:4px}
.laptop-base{position:relative;height:16px;margin:0 -6%;border-radius:2px 2px 16px 16px;background:linear-gradient(#c7d0d6,#8a979f);box-shadow:0 18px 30px rgba(0,0,0,.45)}
.laptop-base::before{content:"";position:absolute;left:50%;top:0;width:16%;height:6px;border-radius:0 0 8px 8px;background:#76838b;transform:translateX(-50%)}
.device-phone{position:relative;padding:3.2%;border-radius:clamp(26px,3.4vw,44px);background:linear-gradient(145deg,#2a3640,#0b1218);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1),0 34px 70px rgba(0,0,0,.55)}
.device-phone img{width:100%;height:auto;border-radius:clamp(20px,2.7vw,36px)}
.elite-devices .device-phone{position:absolute;right:-2%;bottom:28px;width:31%}
.elite-devices figcaption{max-width:58%;margin-top:14px;color:#7f9aa6;font-size:.78rem}

.elite-showcase{display:grid;gap:clamp(56px,7vw,96px);margin-top:clamp(84px,10vw,140px)}
.showcase-row{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:center;max-width:1040px;margin-inline:auto;width:100%}
.showcase-row .device-phone{width:min(300px,100%);justify-self:center}
.showcase-row.reverse .device-phone{order:2}
.showcase-copy h3{margin:6px 0 14px;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.08}
.showcase-copy>p:not(.kicker){margin:0;color:#c9dbe2;font-size:1.08rem;line-height:1.7}
.showcase-copy ul{margin:20px 0 0;padding:0;list-style:none}
.showcase-copy li{position:relative;padding:9px 0 9px 30px;border-top:1px solid rgba(255,255,255,.1);color:#e4eef2;font-weight:700}
.showcase-copy li::before{content:"";position:absolute;left:3px;top:15px;width:12px;height:7px;border-left:3px solid var(--green);border-bottom:3px solid var(--green);transform:rotate(-45deg)}


.elite-video{display:grid;grid-template-columns:minmax(0,.62fr) minmax(0,1fr);gap:clamp(32px,6vw,90px);align-items:center;max-width:1040px;margin:clamp(84px,10vw,130px) auto 0}
.video-phone{width:min(320px,100%);justify-self:center}
.video-phone video{display:block;width:100%;height:auto;border-radius:clamp(20px,2.7vw,36px);background:#031e34}
.video-copy h3{margin:6px 0 14px;font-size:clamp(1.8rem,3.2vw,2.6rem);line-height:1.06}
.video-copy>p:not(.kicker){margin:0;color:#c9dbe2;font-size:1.08rem;line-height:1.7}
.video-steps{margin:22px 0 0;padding:0;list-style:none;counter-reset:paso}
.video-steps li{position:relative;padding:9px 0 9px 44px;border-top:1px solid rgba(255,255,255,.1);color:#e4eef2;font-weight:750;counter-increment:paso}
.video-steps li::before{content:counter(paso);position:absolute;left:0;top:7px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:var(--navy);font-size:.85rem;font-weight:950}
.video-copy .video-note{margin-top:16px;color:#7f9aa6;font-size:.86rem}
.elite-start{max-width:1040px;margin:clamp(70px,9vw,120px) auto 0;padding:clamp(28px,4vw,48px);border-radius:22px;border:1px solid rgba(0,239,103,.55);background:linear-gradient(135deg,rgba(0,239,103,.2),rgba(0,239,103,.05));text-align:center}
.elite-start h3{margin:6px 0 14px;font-size:clamp(2rem,4vw,3.2rem);line-height:1.04}
.elite-start h3 span{color:var(--green)}
.elite-start>p:not(.kicker){max-width:680px;margin:0 auto;color:#d6e6ec;font-size:1.1rem;line-height:1.65}
.elite-start .elite-actions{justify-content:center}

.sync-brands{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 0!important}
.sync-brands span{padding:4px 10px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#e4eef2;font-size:.78rem;font-weight:800;letter-spacing:.02em}
.start-steps{display:grid;grid-template-columns:1fr 1fr;gap:14px;max-width:640px;margin:26px auto 0}
.start-steps>div{display:grid;gap:10px;justify-items:center;padding:18px;border-radius:14px;background:rgba(1,22,38,.45)}
.start-steps b{color:#fff}
.elite-start .start-note{margin-top:18px!important;color:#a9bfc9!important;font-size:.95rem!important}
.elite-start .start-note a{color:var(--green);font-weight:800}
.elite-skills{margin-top:clamp(84px,10vw,130px)}
.skills-head{max-width:760px}
.skills-head h3{margin:6px 0 14px;font-size:clamp(1.9rem,3.6vw,2.9rem);line-height:1.05}
.skills-head>p:not(.kicker){margin:0;color:#c9dbe2;font-size:1.1rem;line-height:1.7}
.skills-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:34px 0 0;padding:0;list-style:none}
.skills-grid li{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:18px;align-content:start;padding:24px;border:1px solid rgba(255,255,255,.1);border-radius:16px;background:rgba(255,255,255,.035)}
.skills-grid li>*:not(svg){grid-column:2}
.skills-grid svg{grid-row:1/span 4;width:44px;height:44px;padding:9px;border-radius:12px;background:rgba(0,239,103,.12);fill:none;stroke:var(--green);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.skills-grid h4{margin:2px 0 8px;color:#fff;font-size:1.16rem;line-height:1.25}
.skills-grid p{margin:0;color:#b4c8d1;line-height:1.65}
.skills-grid .skill-free{border-color:rgba(0,239,103,.55);background:linear-gradient(135deg,rgba(0,239,103,.16),rgba(0,239,103,.04))}
.skills-grid .skill-free a{margin-top:12px;color:var(--green);font-weight:850;text-decoration:none}
.elite-detail-block{margin:0;border:0}
.elite-detail-block>summary{display:none}
.elite-detail-content{display:flow-root}
@media(max-width:820px){.skills-grid{grid-template-columns:1fr}}
@media(max-width:480px){.skills-grid li{grid-template-columns:1fr;padding:20px}.skills-grid li>*:not(svg){grid-column:1}.skills-grid svg{grid-row:auto;margin-bottom:12px}}
@media(max-width:1050px){.elite-hero,.elite-video{grid-template-columns:1fr}.video-phone{justify-self:center}.elite-devices{max-width:720px;width:100%;margin-inline:auto}}
@media(min-width:681px){.elite-detail-block:not([open])>.elite-detail-content{display:block}}
@media(max-width:680px){
  .ito-elite-section{padding:56px 18px}.ito-elite-section h2{font-size:clamp(2.35rem,12vw,3.25rem)}
  .elite-promo{gap:10px;font-size:.84rem}.elite-promo span:last-child{display:none}
  .elite-lead{margin-top:18px;font-size:1rem;line-height:1.55}.elite-free{margin-top:22px;padding:16px}.elite-actions{margin-top:20px}.elite-actions .button{flex:1 1 100%}
  .elite-devices{padding-bottom:12%;margin-top:30px}.elite-devices .device-phone{width:36%;right:-1%}.laptop-screen{border-radius:12px 12px 3px 3px}.laptop-base{height:10px}
  .elite-video{gap:26px;margin-top:56px}.video-copy>p:not(.kicker){font-size:1rem;line-height:1.55}.video-steps{margin-top:16px}.video-phone{width:min(260px,72%)}
  .elite-detail-block{margin-top:48px}.elite-detail-block>summary{position:relative;display:grid;gap:3px;padding:17px 48px 17px 18px;border:1px solid rgba(0,239,103,.55);border-radius:12px;background:rgba(0,239,103,.09);color:#fff;cursor:pointer;list-style:none}.elite-detail-block>summary::-webkit-details-marker{display:none}.elite-detail-block>summary::after{content:"+";position:absolute;right:18px;top:50%;transform:translateY(-50%);color:var(--green);font-size:1.8rem;font-weight:900}.elite-detail-block[open]>summary::after{content:"\2212"}.elite-detail-block>summary span{font-weight:900}.elite-detail-block>summary small{color:#a9c0ca;font-size:.78rem;line-height:1.35}.elite-detail-block[open]>.elite-detail-content{animation:elite-reveal .2s ease-out}
  .elite-skills{margin-top:46px}.elite-showcase{margin-top:60px}.showcase-row,.showcase-row.reverse{grid-template-columns:1fr;gap:28px}.showcase-row.reverse .device-phone{order:0}.showcase-row .device-phone{width:min(230px,68%)}
  .elite-start{margin-top:58px;padding:26px 20px}.start-steps{grid-template-columns:1fr}
}
@keyframes elite-reveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}

/* Tienda de equipacion: ficha con talla y unidades, carrito con lineas y totales */
.product-card{display:flex;flex-direction:column}.product-card>div:last-child{display:flex;flex:1;flex-direction:column}
.product-card .product-desc{flex:1}
.product-buy{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.size-select{display:grid;gap:6px;color:#34505d;font-size:.78rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.size-select select{width:100%;min-height:46px;padding:10px 40px 10px 12px;border:1px solid #b9cbd3;border-radius:6px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23031e34' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 14px center;color:var(--ink);font:inherit;font-size:1rem;font-weight:700;text-transform:none;letter-spacing:0;-webkit-appearance:none;appearance:none;cursor:pointer}
.size-select select:focus-visible{outline:3px solid #00ef67;outline-offset:2px}
.needs-size .size-select select{border-color:#c0392b;box-shadow:0 0 0 2px #c0392b22}
.cart-pending{margin:14px 0 0;padding:12px 14px;border:1px solid #e0a800;border-radius:8px;background:#fffaf0;color:#5b4300}.cart-pending p{margin:0 0 10px!important;color:#5b4300!important;font-size:.88rem}
.cart-pending div{display:flex;flex-wrap:wrap;gap:8px}.cart-pending button{padding:9px 12px;border:0;border-radius:6px;font:inherit;font-size:.84rem;font-weight:850;cursor:pointer}
.cart-pending-restore{background:var(--navy);color:#fff}.cart-pending-discard{background:#fff;color:var(--navy);border:1px solid #b9cbd3!important}
.buy-row{display:flex;gap:10px;align-items:stretch;margin-top:12px}.buy-row .add-to-cart{flex:1;margin-top:0;min-height:44px}
.buy-hint{min-height:0;margin:6px 0 0!important;color:#b02a1f!important;font-size:.8rem!important;font-weight:800}.buy-hint:empty{display:none}
.qty-stepper{display:inline-flex;align-items:stretch;border:1px solid #b9cbd3;border-radius:6px;background:#fff;overflow:hidden}
.qty-stepper button{width:38px;border:0;background:#f1f5f6;color:var(--navy);font:inherit;font-size:1.1rem;font-weight:900;cursor:pointer}.qty-stepper button:hover{background:#e1eaed}
.qty-stepper input{width:44px;min-height:44px;padding:0;border:0;border-inline:1px solid #d7e2e6;text-align:center;font:inherit;font-weight:800;color:var(--ink);-moz-appearance:textfield}
.order-form .qty-stepper input{width:44px;min-height:40px;padding:0;border:0;border-inline:1px solid #d7e2e6;border-radius:0}
.qty-stepper input::-webkit-outer-spin-button,.qty-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.order-steps{margin:18px 0;padding:0;list-style:none;counter-reset:paso;display:grid;gap:12px}
.order-steps li{counter-increment:paso;position:relative;min-height:28px;padding-left:40px;color:#c7d8df;font-size:.92rem}
.order-steps li::before{content:counter(paso);position:absolute;left:0;top:0;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--green);color:var(--navy);font-weight:950;font-size:.85rem}
.order-steps strong{color:#fff}
.cart-panel{margin-bottom:0}.cart-heading h4{display:flex;align-items:center;gap:10px}.cart-continue{color:#007f4a;font-size:.85rem;font-weight:850;white-space:nowrap}
.cart-line{display:grid;grid-template-columns:64px minmax(0,1fr) auto;grid-template-areas:"img info total" "img qty remove";align-items:center;column-gap:14px;row-gap:8px;padding:12px;border:1px solid #d7e2e6;border-radius:8px;background:#fff;color:var(--ink)}
.cart-line img{grid-area:img;align-self:start;width:64px;height:64px;object-fit:contain;border-radius:6px;background:#f4f8f9}
.cart-line-info{grid-area:info;min-width:0}.cart-line .qty-stepper{grid-area:qty;justify-self:start}.cart-line-info strong,.cart-line-info span{display:block}.cart-line-info strong{line-height:1.25}
.cart-line-meta{margin-top:2px;color:#34505d;font-size:.82rem;font-weight:700}.cart-line-unit{color:#526a76;font-size:.78rem}
.cart-line-total{grid-area:total;align-self:start;min-width:60px;text-align:right;color:var(--navy)}
.cart-line-remove{grid-area:remove;justify-self:end;padding:8px 10px;border:0;background:transparent;color:#9a2222;font:inherit;font-size:.8rem;font-weight:850;text-decoration:underline;cursor:pointer}
.cart-totals{margin:16px 0 0;padding-top:12px;border-top:1px solid #d7e2e6;display:grid;gap:6px}.cart-totals[hidden]{display:none}
.cart-totals div{display:flex;justify-content:space-between;gap:16px;color:#34505d}.cart-totals dt,.cart-totals dd{margin:0}
.cart-totals .cart-grand{margin-top:6px;padding-top:10px;border-top:1px solid #d7e2e6;color:var(--navy);font-size:1.15rem;font-weight:950}.cart-grand dd{color:#007f4a}
.order-fieldset{margin:0;padding:0;border:0;min-width:0}.order-fieldset legend{margin-bottom:12px;padding:0;color:#fff;font-size:1.05rem;font-weight:900}
.order-form [hidden]{display:none!important}
.order-submit{width:100%;min-height:54px;font-size:1.05rem}
.cart-fab{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));z-index:30;display:inline-flex;align-items:center;gap:8px;padding:12px 16px;border-radius:999px;background:var(--green);color:var(--navy);font-weight:900;text-decoration:none;box-shadow:0 10px 30px #00142655}
.cart-fab[hidden],.cart-fab.cart-fab-off{display:none}.cart-fab b{display:inline-grid;min-width:24px;height:24px;padding:0 6px;place-items:center;border-radius:99px;background:var(--navy);color:#fff;font-size:.8rem}
.cart-toast{position:fixed;left:50%;bottom:max(84px,calc(env(safe-area-inset-bottom) + 84px));z-index:31;transform:translateX(-50%);width:max-content;max-width:calc(100% - 32px);padding:12px 18px;border-radius:8px;background:var(--navy);color:#fff;font-size:.9rem;font-weight:750;box-shadow:0 12px 32px #00142666}.cart-toast[hidden]{display:none}
@media(max-width:680px){
  .kit-section{padding-inline:16px}
  .product-grid,.product-grid.six{grid-template-columns:1fr}
  .cart-panel{padding:14px}
  .catalog-order{padding:20px 14px}.cart-panel{padding:12px}
  .cart-line{grid-template-columns:48px minmax(0,1fr) auto;column-gap:10px;padding:10px}.cart-line img{width:48px;height:48px}.cart-line-total{min-width:0}
  .cart-line .qty-stepper button{width:34px}
  .cart-heading{flex-wrap:wrap;gap:8px}
  .cart-fab span:first-of-type{display:none}
}

/* Licencia federativa: desplegable dentro de cada seccion de "Elige tu seccion" */
.join-disciplines .lic{margin:0 0 18px;border:1px solid rgba(0,239,103,.35);border-radius:8px;background:rgba(0,239,103,.06)}
.join-disciplines .lic summary{display:grid;gap:2px;padding:12px 40px 12px 14px;position:relative;cursor:pointer;list-style:none}
.join-disciplines .lic summary::-webkit-details-marker{display:none}
.join-disciplines .lic summary::after{content:"+";position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--green);font-size:1.4rem;font-weight:900;line-height:1}
.join-disciplines .lic[open] summary::after{content:"\2212"}
.join-disciplines .lic summary:hover,.join-disciplines .lic summary:focus-visible{background:rgba(0,239,103,.1);outline:none}
.join-disciplines .lic-title{color:#fff;font-weight:900;font-size:.95rem}
.join-disciplines .lic-sub{color:#9fb8c3;font-size:.76rem}
.join-disciplines .lic-body{padding:2px 14px 14px;font-size:.84rem}
.join-disciplines .lic-body p{margin:8px 0 0;color:#cfdde3}
.join-disciplines .lic-body .lic-intro{color:#fff;font-weight:700}
.join-disciplines .lic-body h4{margin:14px 0 6px;color:var(--green);font-size:.78rem;letter-spacing:.08em;text-transform:uppercase}
.join-disciplines .lic-table{margin-top:10px;overflow-x:auto;border-radius:6px;-webkit-overflow-scrolling:touch}
.join-disciplines .lic-table table{width:100%;border-collapse:collapse;font-size:.8rem}
.join-disciplines .lic-table th{padding:7px 8px;background:var(--green);color:var(--navy);font-weight:900;text-align:left;white-space:nowrap}
.join-disciplines .lic-table td{padding:7px 8px;border-bottom:1px solid rgba(255,255,255,.1);color:#e6eef1;vertical-align:top}
.join-disciplines .lic-table td+td,.join-disciplines .lic-table th+th{text-align:right;white-space:nowrap}
.join-disciplines .lic-table tbody tr:nth-child(odd){background:rgba(255,255,255,.04)}
.join-disciplines .lic-table em{color:#ffd166;font-style:normal;font-weight:800;white-space:normal}
.join-disciplines .lic-body ul.lic-list,.join-disciplines .lic-body ol.lic-steps{margin:0;padding-left:18px;color:#dce7eb;font-size:.84rem}
.join-disciplines .lic-body li{margin:4px 0}
.join-disciplines .lic-body ol.lic-steps li::marker{color:var(--green);font-weight:900}
.join-disciplines .lic-body a{display:inline;margin:0;padding:0;border:0;border-radius:0;color:var(--green);background:none;font-size:inherit;font-weight:800;text-align:left;text-decoration:underline}
.join-disciplines .lic-body a:hover{color:#fff;background:none}
.join-disciplines .lic-body .lic-source{font-size:.78rem}
.join-disciplines .lic-body .lic-date{padding-top:8px;border-top:1px dashed rgba(255,255,255,.18);color:#9fb8c3;font-size:.74rem}
@media(max-width:680px){.join-disciplines .lic-table table{font-size:.76rem}.join-disciplines .lic-table th,.join-disciplines .lic-table td{padding:6px}}

/* Movil: sin scroll lateral, menu hamburguesa y toques de al menos 44 px */
.menu-toggle{display:none}
.mobile-shortcuts{display:none}
@media(max-width:1050px){.hero{grid-template-columns:minmax(0,1fr)}.hero-copy,.hero-card{min-width:0}}
@media(max-width:680px){
  html{scroll-padding-top:214px}body{overflow-x:clip}
  .topbar{grid-template-columns:auto 1fr auto;gap:10px;min-height:66px}
  .header-actions{grid-column:2;justify-self:end}.topbar .app-link{display:inline-flex;align-items:center;min-height:44px}
  .menu-toggle{grid-column:3;display:inline-grid;place-items:center;width:44px;height:44px;padding:0;border:1px solid rgba(255,255,255,.3);border-radius:8px;background:transparent;color:#fff;cursor:pointer}
  .menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{display:block;width:20px;height:2px;border-radius:2px;background:currentColor;position:relative;transition:transform .2s,background .2s}
  .menu-toggle span::before,.menu-toggle span::after{content:"";position:absolute;left:0}
  .menu-toggle span::before{top:-6px}.menu-toggle span::after{top:6px}
  .menu-open .menu-toggle span{background:transparent}
  .menu-open .menu-toggle span::before{transform:translateY(6px) rotate(45deg)}
  .menu-open .menu-toggle span::after{transform:translateY(-6px) rotate(-45deg)}
  .topbar nav{display:none;grid-column:1/-1;grid-row:2;flex-direction:column;gap:0;overflow:visible;padding:4px 0 6px}
  .menu-open nav{display:flex}
  .topbar nav a{display:flex;align-items:center;min-height:48px;padding:0 4px;border-top:1px solid rgba(255,255,255,.1);font-size:1rem;white-space:normal}
  .mobile-shortcuts{position:sticky;top:66px;z-index:19;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px 10px;border-bottom:1px solid #cad9df;background:rgba(255,255,255,.98);box-shadow:0 5px 18px rgba(3,30,52,.1)}.mobile-shortcuts a{min-width:0;min-height:48px;padding:6px 5px;display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid #c8d8de;border-radius:8px;background:#fff;color:var(--navy);font-size:.72rem;line-height:1.08;font-weight:900;text-align:center;text-decoration:none}.mobile-shortcuts a:nth-child(3){border-color:#00b85d;background:#e8fff1}.mobile-shortcuts span{display:grid;flex:0 0 23px;height:23px;place-items:center;border-radius:50%;background:var(--navy);color:var(--green);font-size:.58rem;letter-spacing:-.02em}
  .elite-promo{width:auto;font-size:.8rem;line-height:1.3}
  .actions .button{flex:1 1 100%}
  .calendar-discipline-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .calendar-discipline-links a{min-width:0;min-height:44px}.calendar-discipline-links span{overflow-wrap:anywhere}
  .calendar-sport-filter{margin:-8px 0 22px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.calendar-sport-filter button{min-width:0;min-height:48px;padding:8px 5px;font-size:.82rem}.calendar-sport-filter button:last-child{grid-column:1/-1}.calendar-section .discipline-card{scroll-margin-top:214px}
  .header-actions{gap:6px}.lang-switch{gap:1px;padding:2px}.lang-switch button{min-width:29px;height:38px;padding:0 4px}.topbar .app-link{padding:7px 8px;font-size:.7rem}
  .category-nav a{display:inline-flex;align-items:center;min-height:44px}
  .qty-stepper button,.cart-line .qty-stepper button{width:44px;min-height:44px}
  .cart-line-remove,.cart-continue,.race-list a,.text-link,.footer-links a{display:inline-flex;align-items:center;min-height:44px}
  .race-pager button,.calendar-discipline-all{min-height:44px}
  .size-select select{min-height:48px}
  .join-section,.join-section .join-disciplines{grid-template-columns:minmax(0,1fr)}
  .join-disciplines .lic-body a{padding:12px 0;line-height:2}
  .contact-card a{display:inline-flex;align-items:center;min-height:44px}
  .brand{min-height:44px}input[type=checkbox]{width:22px;height:22px}
}
@media(max-width:430px){.topbar{grid-template-columns:auto 1fr auto;gap:5px;padding-inline:8px}.brand img{width:84px;height:38px;padding:5px 7px}.header-actions{gap:4px}.lang-switch button{min-width:27px;padding-inline:3px}.topbar .app-link{display:inline-flex;padding-inline:6px;font-size:.66rem}.app-link-full{display:none}.app-link-short{display:inline}.menu-toggle{width:40px;height:44px}}
/* Sin cuota de socio */
.elite-promo:has(+.no-fee){margin-bottom:10px}.no-fee{display:flex;align-items:center;gap:10px;width:max-content;max-width:100%;margin:0 0 26px;color:#e9f6f0;font-size:.92rem;font-weight:750}
.no-fee b{flex:none;padding:3px 10px;border-radius:999px;background:var(--green);color:var(--navy);font-size:.78rem;font-weight:950}
.no-fee-note{margin-top:18px;padding:14px 18px;border-left:4px solid var(--green);background:rgba(0,239,103,.09);color:#e9f6f0!important}
.no-fee-note strong{color:var(--green)}
@media(max-width:430px){.no-fee{width:auto;align-items:flex-start;font-size:.95rem;line-height:1.35}}

/* Por que ITOTAK: los cuatro motivos para unirse */
.why-section{padding:clamp(56px,8vw,96px) clamp(24px,7vw,100px);background:linear-gradient(180deg,#eef6f2 0%,var(--paper) 100%)}
.why-heading{max-width:1250px;margin:0 auto 34px}
.why-heading h2{max-width:900px;font-size:clamp(2rem,4.2vw,3.6rem)}
.why-grid{max-width:1250px;margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.why-card{position:relative;display:flex;flex-direction:column;padding:26px 24px 24px;border:1px solid var(--line);border-radius:18px;background:var(--white);box-shadow:0 18px 50px rgba(3,30,52,.07);transition:transform .15s,box-shadow .15s}
.why-card:hover{transform:translateY(-3px);box-shadow:0 24px 60px rgba(3,30,52,.12)}
.why-badge{display:inline-grid;place-items:center;min-width:58px;height:58px;padding:0 12px;margin-bottom:18px;border-radius:16px;background:var(--navy);color:var(--green);font-size:1.35rem;font-weight:950;letter-spacing:-.02em;align-self:flex-start}
.why-card h3{margin:0 0 8px;color:var(--navy);font-size:1.25rem;line-height:1.2}
.why-card p{margin:0;color:var(--muted)}
.why-free{border-color:#00c957;background:linear-gradient(160deg,#ffffff 55%,#e3fbec 100%)}
.why-free .why-badge{background:var(--green);color:var(--navy);font-size:1.6rem}
.why-elite{background:linear-gradient(150deg,var(--navy) 0%,#07354e 100%);border-color:transparent}
.why-elite h3{color:var(--white)}
.why-elite p{color:#c7d9e1}
.why-elite .why-badge{background:var(--green);color:var(--navy)}
.why-link{margin-top:auto;padding-top:16px;color:var(--green);font-weight:900;text-decoration:none}
.why-link:hover,.why-link:focus-visible{text-decoration:underline}
.why-cta{max-width:1250px;margin:30px auto 0;text-align:center}
@media(max-width:1050px){.why-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.why-grid{grid-template-columns:1fr}.why-card{padding:22px 20px}.why-cta .button{width:100%}}
