/* ==========================================================================
   CABRAX · theme.css · componentes del sitio (G2_componentes.html → tema)
   Galpón, no gimnasio: carbón, caucho, acero, hueso, tiza y naranja de seguridad.
   Esquinas a 0 px. Sin sombras ni degradados. Los bordes son cintas y franjas.
   Móvil primero (390 px) y se ensancha.
   ========================================================================== */

/* --- Base ------------------------------------------------------------- */
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{background:var(--cx-carbon);color:var(--cx-hueso);font-family:var(--cx-text);font-size:var(--cx-body);line-height:1.5;overflow-x:hidden}
img,svg{max-width:100%;height:auto;display:block}
a{color:var(--cx-acento);text-decoration:none}
a:hover{color:var(--cx-hueso)}
p{margin:0 0 var(--cx-s2)}
p:last-child{margin-bottom:0}
h1,h2,h3,h4{font-family:var(--cx-display);margin:0;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;text-wrap:balance}
h1,.cx-h1{font-size:var(--cx-h1);font-weight:800;line-height:1;text-transform:uppercase}
h2,.cx-h2{font-size:var(--cx-h2);font-weight:600;line-height:1.1}
h3{font-size:24px;font-weight:600;line-height:1.1}
.cx-h2--grande,.cx-h2big-w .elementor-heading-title,.cx-cierre h2{font-size:var(--cx-hero);font-weight:800;line-height:.95;text-transform:uppercase}
.cx-h2--versal{text-transform:uppercase;font-weight:800}
.cx-label{font-size:var(--cx-label);font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--cx-acero);line-height:1.3}
.cx-num,.cx-num-inline strong{font-family:var(--cx-display);font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}
.cx-p-grande{font-family:var(--cx-display);font-weight:600;font-size:var(--cx-h2);line-height:1.15;max-width:22ch}
.cx-prosa p,.cx-p-w p,.cx-html-w p{max-width:64ch}
.cx-pendiente{color:var(--cx-acero);border-bottom:1px dashed var(--cx-acero)}
.cx-icon{width:22px;height:22px;flex:0 0 22px;stroke:currentColor}
.cx-stripe{height:var(--cx-stripe-thin);background:var(--cx-acento);margin:var(--cx-s4) 0}
.cx-lista,.cx-prosa ul{padding-left:0;list-style:none;margin:0 0 var(--cx-s3)}
.cx-lista li,.cx-prosa ul li{position:relative;padding-left:var(--cx-s3);margin-bottom:var(--cx-s2);max-width:64ch}
.cx-lista li::before,.cx-prosa ul li::before{content:"";position:absolute;left:0;top:.62em;width:12px;height:4px;background:var(--cx-acento)}
.cx-enlace{color:var(--cx-hueso);border-bottom:2px solid var(--cx-acento)}
.cx-enlace:hover{color:var(--cx-acento)}
input,select,textarea,button{font:inherit;color:inherit}
input[type=text],input[type=tel],input[type=email],input[type=date],input[type=search],input[type=password],input[type=number],select,textarea,.cx-input,.cx-select{width:100%;height:48px;background:var(--cx-carbon);border:0;border-bottom:2px solid var(--cx-acero);color:var(--cx-hueso);padding:0 12px;box-sizing:border-box}
textarea{height:auto;padding:12px;min-height:96px}
select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--cx-acero) 50%),linear-gradient(135deg,var(--cx-acero) 50%,transparent 50%);background-position:calc(100% - 20px) 21px,calc(100% - 14px) 21px;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:36px}
input:focus,select:focus,textarea:focus{outline:0;border-bottom-color:var(--cx-acento)}
::placeholder{color:var(--cx-acero);opacity:1}
label{display:flex;flex-direction:column;gap:6px}
.cx-check{flex-direction:row;align-items:flex-start;gap:10px;font-size:15px;color:var(--cx-hueso)}
.cx-check input{width:20px;height:20px;flex:0 0 20px;margin-top:2px;accent-color:var(--cx-acento)}
.cx-hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
table.cx-tabla{width:100%;border-collapse:collapse;font-size:16px}
.cx-tabla th,.cx-tabla td{text-align:left;padding:12px 8px;border-bottom:1px solid var(--cx-caucho);vertical-align:top}
.cx-tabla th{font-size:var(--cx-label);letter-spacing:.14em;text-transform:uppercase;color:var(--cx-acero);font-weight:600}
.cx-tabla tbody th{font-family:var(--cx-display);font-size:22px;font-weight:600;letter-spacing:0;text-transform:none;color:var(--cx-hueso)}

/* --- Contraste AA: sobre caucho, el texto secundario pasa a hueso (acero/caucho = 3,97 solo vale ≥ 24 px) --- */
.cx-bg-caucho :is(.cx-label,.cx-price__desc,.cx-prices__micro,.cx-duena__coaches,.cx-station__frase,.cx-pilar__texto,.cx-counter__nota,.cx-pasos li,.cx-form__msg,.cx-coach__frase,.cx-parrilla__micro,.cx-sesion__coach),
:is(.cx-station,.cx-counter,.cx-countdown,.cx-form,.cx-coach,.cx-sesion,.cx-price--founder,.cx-cookies,.cx-board-row,.cx-calc__resultado,.cx-producto__compra,.cx-checkout__resumen,.cx-franja__item) :is(.cx-label,.cx-station__frase,.cx-counter__nota,.cx-price__desc,.cx-franja__dist,.cx-franja__n,.cx-form__msg,.cx-coach__frase,p){color:var(--cx-hueso)}
.cx-bg-caucho .cx-level__marks i,.cx-bg-caucho .cx-nivel--elite{color:var(--cx-acento)}
.cx-nivel--rookie,.cx-board-row .cx-nivel--rookie{color:var(--cx-hueso)}

/* --- Secciones (Elementor container o HTML de respaldo) ----------------- */
.cx-main{display:block;min-height:50vh}
.cx-section{--container-max-width:var(--cx-max);padding-block:var(--cx-s12);background:var(--cx-carbon)}
.cx-main .cx-section.e-con,.cx-main .cx-section.e-con.e-flex{padding-block:var(--cx-s12);--padding-top:var(--cx-s12);--padding-bottom:var(--cx-s12)}
.cx-section__inner,.cx-section>.e-con-inner{max-width:var(--cx-max);margin-inline:auto;padding-inline:var(--cx-gutter);box-sizing:border-box}
.cx-main .cx-section.e-con>.e-con-inner{padding-inline:0;--gap:var(--cx-s3);gap:var(--cx-s3)}
.cx-bg-carbon{background:var(--cx-carbon)}
.cx-bg-caucho{background:var(--cx-caucho)}
.cx-bg-caucho .cx-station,.cx-bg-caucho .cx-counter,.cx-bg-caucho .cx-countdown,.cx-bg-caucho .cx-form,.cx-bg-caucho .cx-board-card,.cx-bg-caucho .cx-level,.cx-bg-caucho .cx-price--founder,.cx-bg-caucho .cx-sesion,.cx-bg-caucho .cx-coach{background:var(--cx-carbon)}
.cx-section .elementor-widget:not(:last-child),.cx-section__inner>*:not(:last-child){margin-block-end:var(--cx-s3)}
.cx-section .elementor-widget-container>*:last-child{margin-bottom:0}
.cx-section .elementor-widget-shortcode .elementor-shortcode>*:last-child{margin-bottom:0}
.cx-btn-wrap{display:flex;flex-wrap:wrap;gap:var(--cx-s2);align-items:center}

/* Elementor: sin tipografías ni colores por defecto. */
.elementor-heading-title{color:inherit;font-family:var(--cx-display)}
.cx-h1-w .elementor-heading-title{font-size:var(--cx-h1);font-weight:800;line-height:1;text-transform:uppercase}
.cx-h2-w .elementor-heading-title{font-size:var(--cx-h2);font-weight:600;line-height:1.1}
.elementor-widget-text-editor{color:var(--cx-hueso);font-family:var(--cx-text);font-size:var(--cx-body);line-height:1.5}
.elementor-widget-text-editor p{margin:0 0 var(--cx-s2)}
.elementor-widget-text-editor p:last-child{margin-bottom:0}
.elementor-widget-text-editor .cx-label{font-size:var(--cx-label)}

/* --- Cabecera ----------------------------------------------------------- */
.cx-header{height:64px;border-bottom:var(--cx-stripe-thin) solid var(--cx-acento);display:flex;align-items:center;justify-content:space-between;gap:var(--cx-s2);padding:0 var(--cx-gutter);background:var(--cx-carbon);position:sticky;top:0;z-index:50}
.admin-bar .cx-header{top:32px}
@media (max-width:782px){.admin-bar .cx-header{top:46px}}
.cx-header__marca{display:flex;align-items:center;gap:10px;color:var(--cx-hueso)}
.cx-header__simbolo{width:32px;height:32px;fill:var(--cx-hueso)}
.cx-header__wordmark{height:22px;width:auto;fill:var(--cx-hueso)}
.cx-header__nav{display:none}
.cx-header__nav ul{list-style:none;margin:0;padding:0;display:flex;gap:var(--cx-s4)}
.cx-header__nav a{color:var(--cx-hueso);padding:8px 0;border-bottom:2px solid transparent}
.cx-header__nav a:hover,.cx-header__nav a.is-actual{border-bottom-color:var(--cx-acento);color:var(--cx-hueso)}
.cx-header__nav-cta{display:none}
.cx-header__derecha{display:flex;align-items:center;gap:var(--cx-s2)}
.cx-header__cta .cx-btn{height:40px;font-size:18px;padding:0 16px}
.cx-header__menu{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:transparent;border:0;padding:8px;cursor:pointer}
.cx-header__menu i{display:block;height:2px;background:var(--cx-hueso)}
.cx-header .cx-seal--cabecera{display:none}
/* Menú móvil abierto: cinco entradas en versal, una por línea, botón primario abajo. */
.cx-header.is-abierto .cx-header__nav{display:flex;flex-direction:column;position:fixed;inset:64px 0 0 0;background:var(--cx-carbon);padding:var(--cx-s4) var(--cx-gutter);gap:var(--cx-s4);z-index:49;overflow:auto}
.cx-header.is-abierto .cx-header__nav ul{flex-direction:column;gap:0}
.cx-header.is-abierto .cx-header__nav a{display:block;font-family:var(--cx-display);font-size:40px;font-weight:800;letter-spacing:0;padding:12px 0;border-bottom:1px solid var(--cx-caucho);text-transform:uppercase}
.cx-header.is-abierto .cx-header__nav-cta{display:block}
.cx-header.is-abierto .cx-header__menu i:nth-child(2){opacity:0}
.cx-header.is-abierto .cx-header__menu i:nth-child(1){transform:translateY(7px) rotate(45deg)}
.cx-header.is-abierto .cx-header__menu i:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media (min-width:1025px){
  .cx-header__nav{display:flex;align-items:center}
  .cx-header__menu{display:none}
  .cx-header .cx-seal--cabecera{display:inline-flex}
  .cx-header__wordmark{height:26px}
}
@media (max-width:480px){.cx-header__cta .cx-btn{font-size:15px;padding:0 12px;line-height:1;white-space:normal;height:40px;min-height:0;padding-block:0;width:auto}}

/* --- Botones --------------------------------------------------------------- */
.cx-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;height:56px;padding:0 var(--cx-s4);font-family:var(--cx-display);font-weight:800;font-size:22px;line-height:1;text-transform:uppercase;text-decoration:none;border:2px solid transparent;cursor:pointer;box-sizing:border-box;text-align:center;transition:background-color var(--cx-motion),color var(--cx-motion),border-color var(--cx-motion);white-space:nowrap}
/* Los colores de los botones llevan !important a propósito: el kit de Elementor imprime reglas globales
   (.elementor-kit-N a, .elementor-kit-N button) con más peso que una clase, y sin esto el texto del botón
   primario salía naranja sobre naranja. Un botón es un componente hoja: nadie debe recolorearlo desde fuera. */
.cx-btn,.cx-btn:hover,.cx-btn:focus-visible{text-decoration:none!important;border-radius:0!important}
.cx-btn>span{color:inherit}
.cx-btn--primary{background:var(--cx-acento)!important;color:var(--cx-carbon)!important;border-color:transparent!important}
.cx-btn--primary:hover,.cx-btn--primary:focus-visible{background:var(--cx-hueso)!important;color:var(--cx-carbon)!important}
.cx-btn--primary.is-cerrado,.cx-btn--primary.is-cerrado:hover{background:var(--cx-caucho)!important;color:var(--cx-acero)!important;cursor:default}
.cx-btn--secondary{border-color:var(--cx-hueso)!important;color:var(--cx-hueso)!important;background:transparent!important}
.cx-btn--secondary:hover,.cx-btn--secondary:focus-visible{border-color:var(--cx-acento)!important;color:var(--cx-acento)!important;background:transparent!important}
.cx-btn--wa{background:var(--cx-hueso)!important;color:var(--cx-carbon)!important;border-color:transparent!important;font-family:var(--cx-text);font-weight:600;font-size:15px;text-transform:none}
.cx-btn--wa:hover,.cx-btn--wa:focus-visible{background:var(--cx-tiza)!important;color:var(--cx-carbon)!important}
/* Botón nativo de Elementor (si la dueña inserta uno): igual que el primario. */
.elementor-button,.elementor-button:visited{background:var(--cx-acento);color:var(--cx-carbon);border-radius:0;font-family:var(--cx-display);font-weight:800;text-transform:uppercase;font-size:20px;padding:0 var(--cx-s4);min-height:56px;display:inline-flex;align-items:center}
.elementor-button:hover,.elementor-button:focus{background:var(--cx-hueso);color:var(--cx-carbon)}
.cx-btn__icon{width:22px;height:22px;stroke:currentColor}
@media (max-width:480px){.cx-btn{white-space:normal;height:auto;min-height:56px;padding-block:12px;font-size:20px}.cx-btn-wrap .cx-btn{width:100%}}
.cx-wa-fab{position:fixed;right:var(--cx-s2);bottom:var(--cx-s2);width:56px;height:56px;background:var(--cx-hueso);color:var(--cx-carbon);display:flex;align-items:center;justify-content:center;z-index:40}
.cx-wa-fab svg{width:28px;height:28px;stroke:var(--cx-carbon)}
.cx-wa-fab:hover{background:var(--cx-acento)}

/* --- Hero --------------------------------------------------------------- */
.cx-portada{padding-block:var(--cx-s8) var(--cx-s12);position:relative}
.cx-portada .e-con-inner,.cx-portada .cx-section__inner{display:grid;grid-template-columns:1fr;gap:var(--cx-s3)}
.cx-portada h1,.cx-portada .cx-h1-w .elementor-heading-title{font-size:var(--cx-hero);font-weight:800;line-height:.95;text-transform:uppercase;max-width:12ch}
.cx-portada--interior,.cx-main .cx-portada--interior.e-con{padding-block:var(--cx-s8) var(--cx-s8);--padding-top:var(--cx-s8);--padding-bottom:var(--cx-s8)}
.cx-portada--interior h1,.cx-portada--interior .cx-h1-w .elementor-heading-title{font-size:var(--cx-h1);max-width:20ch}
.cx-portada .cx-portada__p p,.cx-portada .cx-p-w p{font-size:20px;max-width:52ch}
.cx-portada__micro{font-size:16px;color:var(--cx-acero);margin:0}
.cx-portada__micro strong{font-size:32px;color:var(--cx-tiza);line-height:1;margin-right:6px}
.cx-portada .elementor-widget:not(:last-child){margin-block-end:0}
.cx-portada__foto{border-left:0;background:var(--cx-foto);min-width:0}
.cx-portada__foto .cx-foto{height:100%}
@media (min-width:1025px){
  .cx-portada{padding-block:var(--cx-s16)}
  .cx-portada--interior,.cx-main .cx-portada--interior.e-con{padding-block:var(--cx-s12) var(--cx-s8);--padding-top:var(--cx-s12);--padding-bottom:var(--cx-s8)}
  .cx-portada:has(.cx-portada__foto) .e-con-inner,.cx-portada:has(.cx-portada__foto) .cx-section__inner{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);column-gap:var(--cx-s8);align-items:center}
  .cx-portada .elementor-widget:has(.cx-portada__foto),.cx-portada .cx-portada__foto{grid-column:2;grid-row:1/span 8;align-self:stretch}
  .cx-portada .elementor-widget:has(.cx-portada__foto) .elementor-widget-container,.cx-portada .elementor-widget:has(.cx-portada__foto) .cx-portada__foto,.cx-portada .elementor-widget:has(.cx-portada__foto) .cx-foto{height:100%;min-height:480px}
  .cx-portada__foto{border-left:var(--cx-stripe-thin) solid var(--cx-acento)}
}

/* --- Marcadores de foto -------------------------------------------------- */
.cx-foto{background:var(--cx-foto);display:flex;align-items:flex-end;padding:var(--cx-s2);width:100%;min-height:0;min-width:0;aspect-ratio:4/3;box-sizing:border-box;border-bottom:var(--cx-stripe-thin) solid var(--cx-acento)}
.cx-foto .cx-label{font-size:11px}
.cx-foto--grande{aspect-ratio:16/10}
.cx-foto--hero{aspect-ratio:auto}
.cx-foto--mapa{aspect-ratio:16/9}
.cx-foto__img{width:100%;height:100%;object-fit:cover}

/* --- Fotografía propia --------------------------------------------------- */
.cx-foto--img{padding:0;margin:0;position:relative;display:block;min-height:0;width:100%;border-bottom:var(--cx-stripe-thin) solid var(--cx-acento);overflow:hidden;background:var(--cx-foto)}
.cx-foto--img picture,.cx-foto--img img{display:block;width:100%;height:100%;object-fit:cover;max-width:100%}
.cx-duena__fotos>*,.cx-station>*,.cx-coach>*{min-width:0}
.cx-foto--img.cx-foto--tarjeta{aspect-ratio:4/3}
.cx-foto--img.cx-foto--retrato{aspect-ratio:2/3}
.cx-foto--img.cx-foto--hero{aspect-ratio:4/5}
.cx-foto--img.cx-foto--hero img{object-position:50% 25%}
.cx-foto--img figcaption{position:absolute;left:0;bottom:0;background:var(--cx-carbon);color:var(--cx-hueso);padding:6px 10px;font-size:11px}
.cx-foto--img.cx-station__img{aspect-ratio:4/3;min-height:0}
.cx-coach__foto .cx-foto--img{aspect-ratio:4/5;height:100%;border-bottom:0}
@media (min-width:1025px){.cx-portada .cx-foto--img.cx-foto--hero{aspect-ratio:auto;min-height:480px}}

/* --- Tres cifras --------------------------------------------------------- */
.cx-cifras-sec{padding-block:var(--cx-s8)}
.cx-cifras{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--cx-s2)}
.cx-cifra{display:flex;flex-direction:column;gap:8px}
.cx-cifra__n{font-size:var(--cx-tablero);line-height:.9;color:var(--cx-tiza)}
@media (min-width:768px){.cx-cifra{flex-direction:row;align-items:baseline;gap:var(--cx-s2)}}

/* --- Escena del enemigo -------------------------------------------------- */
.cx-escena .elementor-widget.cx-pgrande-w:first-child,.cx-escena>.cx-section__inner>.cx-p-grande:first-child{border-left:var(--cx-stripe) solid var(--cx-acento);padding-left:var(--cx-s3)}
.cx-escena .cx-p-grande{font-size:var(--cx-h2);max-width:24ch}
.cx-escena .cx-p-w p,.cx-escena>.cx-section__inner>p:not(.cx-p-grande){color:var(--cx-acero);max-width:48ch}
@media (min-width:1025px){
  .cx-escena .e-con-inner,.cx-escena .cx-section__inner{display:grid;grid-template-columns:1.2fr 1fr;column-gap:var(--cx-s8);align-items:end}
  .cx-escena .cx-pgrande-w,.cx-escena .cx-p-grande{grid-column:1}
  .cx-escena .cx-p-w,.cx-escena>.cx-section__inner>p:not(.cx-p-grande){grid-column:2;grid-row:1/span 2;align-self:end}
}

/* --- Cómo funciona (pasos) ---------------------------------------------- */
.cx-pasos{list-style:none;margin:0;padding:0;display:grid;gap:var(--cx-s4);counter-reset:paso}
.cx-pasos li{counter-increment:paso;border-top:2px solid var(--cx-hueso);padding-top:var(--cx-s2);position:relative;padding-left:0;max-width:none}
.cx-pasos li::before{content:"0" counter(paso);display:block;font-family:var(--cx-display);font-weight:800;font-size:40px;line-height:1;color:var(--cx-acento);margin-bottom:8px;font-variant-numeric:tabular-nums}
.cx-pasos li strong{display:block;font-family:var(--cx-display);font-weight:800;font-size:26px;text-transform:uppercase;line-height:1;margin-bottom:8px}
.cx-pasos li{color:var(--cx-acero)}
@media (min-width:768px){.cx-pasos{grid-template-columns:repeat(3,1fr)}}
.cx-pasos-sec .cx-pasos li{max-width:none}

/* --- Bloque «El tablero, ahora mismo» (solo v1.1): la sección envolvente no suma aire --- */
.cx-tablero-inicio.cx-section,.cx-main .cx-tablero-inicio.cx-section.e-con{padding-block:0;--padding-top:0;--padding-bottom:0}
.cx-tablero-inicio .cx-section--tablero{padding-block:var(--cx-s12)}
.cx-tablero-inicio .cx-section--tablero .cx-board{margin-bottom:var(--cx-s3)}

/* --- Franja de estaciones (Inicio) ------------------------------------- */
.cx-franja{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}
.cx-franja__item{background:var(--cx-carbon);padding:var(--cx-s2);display:flex;flex-direction:column;gap:6px;border-top:2px solid var(--cx-caucho)}
.cx-bg-carbon .cx-franja__item,.cx-formato-sec .cx-franja__item{background:var(--cx-caucho);border-top-color:var(--cx-carbon)}
.cx-franja__n{font-size:13px;color:var(--cx-acero)}
.cx-franja__nombre{font-family:var(--cx-display);font-weight:800;font-size:20px;line-height:1;text-transform:uppercase}
.cx-franja__dist{font-weight:600;font-size:18px;color:var(--cx-acero)}
@media (min-width:768px){.cx-franja{grid-template-columns:repeat(4,1fr)}}
@media (min-width:1025px){.cx-franja{grid-template-columns:repeat(8,1fr)}}

/* --- Tarjetas de estación (El formato) ---------------------------------- */
.cx-estaciones{display:grid;grid-template-columns:1fr;gap:var(--cx-s2)}
@media (min-width:600px){.cx-estaciones{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1025px){.cx-estaciones{grid-template-columns:repeat(4,1fr)}}
.cx-station{background:var(--cx-caucho);display:flex;flex-direction:column}
.cx-station__img{aspect-ratio:4/3;background:var(--cx-foto);border-bottom:var(--cx-stripe-thin) solid var(--cx-acento);width:100%;min-height:0}
.cx-station__body{padding:var(--cx-s3);display:flex;flex-direction:column;gap:var(--cx-s1)}
.cx-station__head{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.cx-station__nombre{font-size:24px;font-weight:800;text-transform:uppercase;line-height:1;display:flex;align-items:center;gap:8px}
.cx-station__n{font-size:24px;color:var(--cx-acero)}
.cx-station__dist{font-size:40px;line-height:1;color:var(--cx-tiza)}
.cx-station__meta{display:grid;grid-template-columns:1fr 1fr;gap:var(--cx-s1);border-top:1px solid var(--cx-carbon);padding-top:var(--cx-s1)}
.cx-station__meta .cx-label{font-size:11px}
.cx-station__peso{font-weight:600;font-size:22px}
.cx-station__frase{font-size:15px;color:var(--cx-acero);margin:4px 0 0}
.cx-estaciones__micro{margin-top:var(--cx-s3)}

/* --- CABRAX System ------------------------------------------------------- */
.cx-sistema{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--cx-s2);align-items:end}
@media (min-width:768px){.cx-sistema{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1025px){.cx-sistema{grid-template-columns:repeat(6,1fr)}}
.cx-pilar{display:flex;flex-direction:column;position:relative}
.cx-pilar__bloque{display:block;background:var(--cx-caucho);height:calc(60px + var(--i) * 18px);margin-bottom:-56px}
.cx-pilar__letra{font-size:56px;line-height:1;color:var(--cx-acento);padding-left:12px;position:relative}
.cx-pilar__nombre{font-size:20px;font-weight:800;text-transform:uppercase;margin-top:8px;display:flex;align-items:center;gap:8px}
.cx-pilar__texto{font-size:14px;color:var(--cx-acero);margin:6px 0 0}
.cx-sistema__lema{font-family:var(--cx-display);font-weight:800;font-size:var(--cx-h2);text-transform:uppercase;letter-spacing:.02em;margin:0}

/* --- Calculadora --------------------------------------------------------- */
.cx-calc{display:grid;gap:var(--cx-s3)}
.cx-calc__campos{display:grid;grid-template-columns:1fr;gap:var(--cx-s2);align-items:end}
@media (min-width:768px){.cx-calc__campos{grid-template-columns:1fr 1fr auto}}
.cx-calc__campos input{font-size:24px}
.cx-calc__resultado{background:var(--cx-carbon);border-left:var(--cx-stripe) solid var(--cx-acento);padding:var(--cx-s3)}
.cx-bg-carbon .cx-calc__resultado{background:var(--cx-caucho)}
.cx-calc__nivel{font-size:var(--cx-hero);line-height:.95;text-transform:uppercase;margin:8px 0}
.cx-calc__resultado p{max-width:48ch}
@media (min-width:1025px){.cx-calc{grid-template-columns:1fr 1fr;column-gap:var(--cx-s8)}.cx-calc>.cx-label:first-child{grid-column:1/-1}.cx-calc__umbrales{grid-column:1/-1}}

/* --- Sello HYROX --------------------------------------------------------- */
.cx-seal{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;border:2px solid currentColor;padding:4px 8px;font-family:var(--cx-display);font-weight:800;line-height:1;text-transform:uppercase;color:var(--cx-hueso);box-sizing:border-box}
.cx-seal span{font-size:16px}
.cx-seal small{font-size:7px;letter-spacing:.2em;margin-top:3px;font-weight:600}
.cx-seal--oficial{border:0;padding:0}
.cx-seal--cabecera{height:32px;max-height:32px}
.cx-seal--cabecera img{max-height:26px;width:auto}
.cx-seal--pie{height:40px}
.cx-seal--pie img{max-height:32px;width:auto}
.cx-seal--bloque{height:64px;padding:8px 14px}
.cx-seal--bloque span{font-size:26px}
.cx-seal--bloque small{font-size:10px}
.cx-seal--bloque img{max-height:56px;width:auto}
.cx-header .cx-seal--cabecera{border-left:1px solid var(--cx-acero);padding-left:var(--cx-s2);border-top:0;border-right:0;border-bottom:0}
.cx-header .cx-seal--cabecera.cx-seal--marcador{border:2px solid currentColor}

/* --- Precios ------------------------------------------------------------- */
.cx-prices{border-top:var(--cx-stripe-thin) solid var(--cx-acento)}
.cx-price{display:grid;grid-template-columns:1fr auto;gap:6px var(--cx-s2);padding:var(--cx-s2) 0;border-bottom:1px solid var(--cx-caucho);align-items:baseline}
.cx-bg-caucho .cx-price{border-bottom-color:var(--cx-carbon)}
.cx-price__nombre{font-family:var(--cx-display);font-weight:800;font-size:28px;line-height:1;text-transform:uppercase}
.cx-price__desc{font-size:16px;color:var(--cx-acero);grid-column:1/-1;order:3}
.cx-price__price{font-size:28px;text-align:right;white-space:nowrap}
.cx-price__price small{font-size:16px;font-weight:600;color:var(--cx-acero);font-family:var(--cx-text)}
.cx-price__acciones{grid-column:1/-1;order:4;display:flex;flex-wrap:wrap;gap:8px;padding-top:8px}
.cx-price__acciones .cx-btn{height:44px;font-size:18px;padding:0 18px}
.cx-price__acciones .cx-btn--wa{font-size:14px}
.cx-price--founder{background:var(--cx-caucho);border-left:var(--cx-stripe) solid var(--cx-acento);padding:var(--cx-s2);margin-top:var(--cx-s1);border-bottom:0}
.cx-bg-caucho .cx-price--founder{background:var(--cx-carbon)}
.cx-prices__micro{font-size:13px;color:var(--cx-acero);margin:var(--cx-s2) 0 0}
@media (min-width:768px){
  .cx-price{grid-template-columns:200px 1fr auto;align-items:baseline}
  .cx-price__desc{grid-column:auto;order:0}
  .cx-price__acciones{justify-content:flex-end}
}
@media (max-width:480px){.cx-price__acciones .cx-btn{width:100%}}

/* --- FAQ ------------------------------------------------------------------ */
.cx-faq{border-top:2px solid var(--cx-hueso)}
.cx-faq details{border-bottom:1px solid var(--cx-caucho)}
.cx-bg-caucho .cx-faq details{border-bottom-color:var(--cx-carbon)}
.cx-faq summary{list-style:none;cursor:pointer;padding:var(--cx-s3) 0;display:flex;justify-content:space-between;gap:var(--cx-s2);font-family:var(--cx-display);font-weight:600;font-size:24px;line-height:1.1}
.cx-faq summary::-webkit-details-marker{display:none}
.cx-faq summary::after{content:"+";font-weight:800;font-size:28px;color:var(--cx-acero);line-height:1}
.cx-faq details[open] summary::after{content:"–";color:var(--cx-acento)}
.cx-faq p{margin:0 0 var(--cx-s3);max-width:60ch}

/* --- Contador y cuenta regresiva ----------------------------------------- */
.cx-counter{background:var(--cx-caucho);padding:var(--cx-s3);display:flex;flex-direction:column;gap:12px;max-width:520px}
.cx-counter__linea{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.cx-counter__n{font-size:96px;line-height:.9;color:var(--cx-tiza)}
.cx-counter__de{font-weight:600;font-size:32px;color:var(--cx-acero)}
.cx-counter__bar{height:8px;background:var(--cx-carbon)}
.cx-bg-carbon .cx-counter .cx-counter__bar,.cx-portada .cx-counter__bar{background:#0B0A09}
.cx-counter__bar i{display:block;height:100%;background:var(--cx-acento);transition:width 600ms ease}
.cx-counter__nota{margin:0;font-size:14px;color:var(--cx-acero)}
.cx-countdown{background:var(--cx-caucho);border-top:var(--cx-stripe-thin) solid var(--cx-acento);padding:var(--cx-s3);display:flex;flex-direction:column;gap:8px;max-width:520px}
.cx-countdown__micro{color:var(--cx-hueso)}
.cx-countdown__units{display:flex;gap:var(--cx-s3)}
.cx-countdown__n{font-size:64px;line-height:1;color:var(--cx-tiza)}
.cx-countdown .cx-label{font-size:12px}

/* --- Dueña y coaches ----------------------------------------------------- */
.cx-duena{display:grid;gap:var(--cx-s3)}
.cx-duena>*,.cx-donde>*,.cx-calc>*,.cx-producto__grid>*,.cx-checkout>*,.cx-cuenta>*,.cx-escena .cx-section__inner>*,.cx-portada .cx-section__inner>*,.cx-portada .e-con-inner>*{min-width:0}
.cx-pendiente{overflow-wrap:anywhere}
.cx-duena__frase{font-family:var(--cx-display);font-weight:600;font-size:24px;line-height:1.15;max-width:32ch}
.cx-duena__frase strong{font-weight:800;text-transform:uppercase}
.cx-duena__coaches{color:var(--cx-acero);font-size:16px}
.cx-duena__fotos{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.cx-duena__fotos .cx-foto--grande{grid-column:1/-1}
@media (min-width:1025px){.cx-duena{grid-template-columns:1fr 1fr;column-gap:var(--cx-s8)}}
.cx-coaches{display:grid;gap:var(--cx-s3)}
@media (min-width:768px){.cx-coaches{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1025px){.cx-coaches{grid-template-columns:repeat(3,1fr)}}
.cx-coach{background:var(--cx-caucho);display:flex;flex-direction:column}
.cx-coach__foto{aspect-ratio:4/5;background:var(--cx-foto);border-bottom:var(--cx-stripe-thin) solid var(--cx-acento)}
.cx-coach__foto img,.cx-coach__foto .cx-foto{width:100%;height:100%;object-fit:cover;aspect-ratio:4/5}
.cx-coach__body{padding:var(--cx-s3);display:flex;flex-direction:column;gap:8px}
.cx-coach__nombre{font-size:26px;font-weight:800;text-transform:uppercase;line-height:1}
.cx-coach__frase{font-size:16px;margin:0}
.cx-coach--duena{border-left:var(--cx-stripe) solid var(--cx-acento)}

/* --- Dónde ------------------------------------------------------------------ */
.cx-donde{display:grid;gap:var(--cx-s3)}
.cx-donde__mapa .cx-foto,.cx-mapa{aspect-ratio:16/9;width:100%;background:var(--cx-foto);display:flex;align-items:flex-end;padding:var(--cx-s2);box-sizing:border-box}
.cx-mapa iframe{width:100%;height:100%;border:0;display:block}
@media (min-width:1025px){.cx-donde{grid-template-columns:1fr 1fr;column-gap:var(--cx-s8);align-items:center}}

/* --- Cierre ------------------------------------------------------------------ */
.cx-cierre{text-align:left}
.cx-cierre__svg,.cx-cierre__simbolo svg{width:64px;height:64px;fill:var(--cx-hueso)}
.cx-cierre .cx-h2--grande,.cx-cierre .cx-h2big-w .elementor-heading-title{max-width:14ch}

/* --- Manifiesto y posicionamiento ------------------------------------------- */
.cx-manifiesto__linea{font-family:var(--cx-display);font-weight:600;font-size:var(--cx-h2);line-height:1.15;margin:0 0 8px;max-width:32ch}
.cx-manifiesto__linea:last-child{font-weight:800;text-transform:uppercase;margin-top:var(--cx-s3)}
.cx-posicionamiento .cx-p-grande{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:28px;line-height:1.3;max-width:30ch;border-left:var(--cx-stripe) solid var(--cx-acento);padding-left:var(--cx-s3)}
.cx-hyrox-sec .cx-seal{margin-bottom:var(--cx-s2)}

/* --- Tablero ----------------------------------------------------------------- */
.cx-tablero__filtros{display:grid;grid-template-columns:1fr 1fr;gap:var(--cx-s2);margin-bottom:var(--cx-s3)}
@media (min-width:768px){.cx-tablero__filtros{grid-template-columns:repeat(4,1fr)}}
.cx-board{display:grid;gap:8px}
.cx-board-row{display:grid;grid-template-columns:auto 1fr auto;gap:4px var(--cx-s2);padding:12px var(--cx-s2);align-items:center;border-left:4px solid transparent;background:var(--cx-caucho)}
.cx-board-row--lead{border-left-color:var(--cx-acento)}
.cx-board-row--head{display:none}
.cx-board-row__pos{font-size:22px;color:var(--cx-acero)}
.cx-board-row__nombre{font-weight:600}
.cx-board-row__nombre a{color:var(--cx-hueso);border-bottom:1px solid var(--cx-acero)}
.cx-board-row__total{font-size:32px;color:var(--cx-tiza);line-height:1;grid-column:1/-1;font-size:56px;line-height:.9}
.cx-board-row__split{display:none}
.cx-board-row__nivel{grid-column:3;grid-row:1;font-size:11px}
.cx-nivel--elite{color:var(--cx-acento)}
.cx-nivel--race{color:var(--cx-hueso)}
.cx-nivel--rookie{color:var(--cx-acero)}
.cx-board-card__splits{display:none;grid-column:1/-1;grid-template-columns:repeat(4,1fr);gap:8px 12px;border-top:1px solid var(--cx-carbon);padding-top:12px;margin-top:4px}
.cx-board-card__splits>.cx-label{grid-column:1/-1}
.cx-board-card__splits .cx-label{font-size:10px}
.cx-board-card__splits .cx-num{font-weight:600;font-size:20px}
.cx-board-row.is-abierta .cx-board-card__splits{display:grid}
.cx-board-row[hidden]{display:none}
.cx-board__vacio{margin:var(--cx-s2) 0 0}
.cx-tablero__vacio{max-width:24ch}
@media (min-width:1025px){
  .cx-board{gap:0}
  .cx-board-row{grid-template-columns:48px 1.6fr 100px repeat(8,64px) 120px;gap:var(--cx-s1);border-bottom:1px solid var(--cx-caucho);background:transparent}
  .cx-bg-caucho .cx-board-row{border-bottom-color:var(--cx-carbon)}
  .cx-board-row--head{display:grid;border-left:0}
  .cx-board-row--head .cx-label{font-size:11px}
  .cx-board-row__total{grid-column:auto;font-size:32px;line-height:1}
  .cx-board-row__split{display:block;font-weight:600;font-size:18px}
  .cx-board-row__nivel{grid-column:auto;grid-row:auto;font-size:12px}
  .cx-board-card__splits,.cx-board-row.is-abierta .cx-board-card__splits{display:none}
}
.cx-board--top10 .cx-label:first-child{margin-bottom:var(--cx-s2)}

/* --- Umbrales / niveles ---------------------------------------------------- */
.cx-level__marks{display:inline-flex;gap:3px;margin-right:10px;vertical-align:middle}
.cx-level__marks i{display:block;width:4px;height:22px;background:var(--cx-acento)}
.cx-nivel-fila--elite th{color:var(--cx-acento)}
.cx-umbrales{overflow-x:auto}
.cx-umbrales table{min-width:560px}

/* --- Parrilla de horarios --------------------------------------------------- */
.cx-parrilla{display:grid;gap:var(--cx-s2)}
.cx-parrilla__dia{margin-top:var(--cx-s3)}
.cx-sesion{display:grid;grid-template-columns:auto 1fr;gap:4px var(--cx-s2);align-items:center;background:var(--cx-caucho);padding:var(--cx-s2);border-left:4px solid var(--cx-acento)}
.cx-sesion.is-llena{border-left-color:var(--cx-acero)}
.cx-sesion__hora{font-size:32px;line-height:1;color:var(--cx-tiza);grid-row:1/span 2}
.cx-sesion__coach{font-size:16px}
.cx-sesion__lugares{font-size:11px}
.cx-sesion__btn{grid-column:1/-1;height:44px;font-size:18px}
@media (min-width:768px){.cx-sesion{grid-template-columns:100px 1fr auto auto}.cx-sesion__hora{grid-row:auto}.cx-sesion__btn{grid-column:auto}}
.cx-reserva-form{max-width:520px}
.cx-parrilla__micro{margin-top:var(--cx-s3)}
.cx-aviso{background:var(--cx-caucho);border-left:var(--cx-stripe) solid var(--cx-acento);padding:12px var(--cx-s2)}

/* --- Formularios ------------------------------------------------------------- */
.cx-form{background:var(--cx-caucho);padding:var(--cx-s3);display:flex;flex-direction:column;gap:var(--cx-s2);max-width:520px;box-sizing:border-box}
.cx-form .cx-btn{align-self:flex-start}
.cx-form__msg{margin:0;font-size:15px;min-height:1.5em}
.cx-form__msg.is-error{color:var(--cx-acento)}
.cx-form__acciones{display:flex;gap:8px;flex-wrap:wrap}
.cx-form__dropin{margin:0}
.cx-form-sec .cx-form{margin-bottom:var(--cx-s3)}
@media (max-width:480px){.cx-form .cx-btn{align-self:stretch}}

/* --- Legales y prosa ------------------------------------------------------- */
.cx-legal .cx-html-w h2,.cx-legal .cx-section__inner h2,.cx-prosa h2{font-size:24px;margin:var(--cx-s4) 0 var(--cx-s2)}
.cx-legal p,.cx-prosa p{max-width:70ch}
.cx-legal table{margin:var(--cx-s2) 0}
.cx-prosa .cx-p-grande{max-width:32ch;margin-bottom:var(--cx-s3)}
.cx-prosa .cx-calc{margin:var(--cx-s3) 0}
.cx-prosa a{border-bottom:1px solid var(--cx-acento);color:var(--cx-hueso)}
.cx-prosa a:hover{color:var(--cx-acento)}
.cx-guia__cuerpo .cx-faq{margin-top:var(--cx-s6)}

/* --- Pie -------------------------------------------------------------------- */
.cx-footer{background:var(--cx-pie);border-top:var(--cx-stripe) solid var(--cx-acento);padding:var(--cx-s6) var(--cx-gutter) calc(var(--cx-s6) + 56px)}
.cx-footer__inner{max-width:var(--cx-max);margin-inline:auto;display:grid;gap:var(--cx-s4)}
.cx-footer__col{display:grid;gap:10px;align-content:start}
.cx-footer__col p{margin:0}
.cx-footer__lockup{width:120px;height:auto;fill:var(--cx-hueso);margin-bottom:8px}
.cx-footer a{color:var(--cx-hueso)}
.cx-footer a:hover{color:var(--cx-acento)}
.cx-footer__formula{font-size:32px;color:var(--cx-tiza);letter-spacing:.04em}
.cx-footer__lema{font-family:var(--cx-display);font-weight:800;font-size:22px;text-transform:uppercase;color:var(--cx-hueso)}
.cx-footer__col--sello{align-content:end}
@media (min-width:768px){.cx-footer__inner{grid-template-columns:1.2fr 1fr auto;align-items:end}}

/* --- Cookies ---------------------------------------------------------------- */
.cx-cookies{position:fixed;left:var(--cx-s2);right:calc(var(--cx-s2) + 64px);bottom:var(--cx-s2);background:var(--cx-caucho);border-top:var(--cx-stripe-thin) solid var(--cx-acento);padding:var(--cx-s2);display:grid;gap:var(--cx-s2);z-index:45;max-width:560px}
.cx-cookies p{margin:0;font-size:15px}
.cx-cookies a{color:var(--cx-hueso);border-bottom:1px solid var(--cx-acento)}
.cx-cookies__btns{display:flex;gap:8px;flex-wrap:wrap}
.cx-cookies .cx-btn{height:44px;font-size:18px;padding:0 16px}
@media (max-width:480px){.cx-cookies .cx-btn{width:auto;min-height:44px}}

/* --- 404 ----------------------------------------------------------------- */
.cx-404 .cx-num{font-size:var(--cx-tablero);color:var(--cx-tiza);line-height:.9}

/* --- Entrada de bloques: desplazamiento suave y opacidad (≤ 300 ms) --------- */
.js .cx-reveal{opacity:0;transform:translateY(12px);transition:opacity var(--cx-motion) ease-out,transform var(--cx-motion) ease-out}
.js .cx-reveal.is-visible{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.js .cx-reveal{opacity:1;transform:none;transition:none}.cx-btn,.cx-counter__bar i{transition:none}}

/* --- Elementor editor: que el lienzo se vea como el sitio ------------------- */
.elementor-editor-active .cx-reveal{opacity:1;transform:none}

/* Enlaces de los componentes del tema por encima de cualquier regla global de Elementor (.elementor-kit-N a): misma
   apariencia, más peso. Los botones ya llevan !important arriba. */
body .cx-header__nav a,body .cx-header__nav a:visited{color:var(--cx-hueso)}
body .cx-header__nav a:hover,body .cx-header__nav a:focus-visible,body .cx-header__nav a.is-actual{color:var(--cx-hueso);border-bottom-color:var(--cx-acento)}
body .cx-footer a,body .cx-footer a:visited{color:var(--cx-hueso)}
body .cx-footer a:hover,body .cx-footer a:focus-visible{color:var(--cx-acento)}
body .cx-cookies a,body .cx-board-row__nombre a{color:var(--cx-hueso)}
body .cx-prosa a,body .cx-prosa a:visited{color:var(--cx-hueso);border-bottom:1px solid var(--cx-acento)}
body .cx-prosa a:hover,body .cx-prosa a:focus-visible{color:var(--cx-acento)}
body .cx-header__marca,body .cx-header__marca:visited,body .cx-header__marca:hover{color:var(--cx-hueso)}
