/* OneKol · compatibilidad con Elementor: los widgets ocupan todo el ancho de su contenedor. */
.elementor-widget[class*="elementor-widget-onekol-"]{width:100%}
.elementor-widget[class*="elementor-widget-onekol-"] > .elementor-widget-container{width:100%}
.elementor-section .elementor-widget[class*="elementor-widget-onekol-"]{margin-bottom:0}
/* Elementor añade su propio line-height/typography al contenedor; el CSS OneKol manda. */
.elementor-widget[class*="elementor-widget-onekol-"] > .elementor-widget-container{line-height:inherit}
/* Logos como imagen (opción de Medios en los widgets Nav y Cierre). */
.nav-logo img{height:44px;width:auto;display:block}
@media (max-width:1100px){.nav-logo img{height:38px}}
@media (max-width:720px){.nav-logo img{height:34px}}
.f-logo img{height:58px;width:auto;display:block}

/* ============================================================
   Blindaje del formulario conversacional (cierre) y de El Club.
   Los temas de WordPress fuerzan input{width:100%;display:block},
   bordes, fondos y radios; estas reglas restauran el diseño V75
   con especificidad alta e !important en lo estructural.
   ============================================================ */
#callform.cform{margin-top:40px !important}
#callform .cf-line{display:block !important;font-size:clamp(19px,2.3vw,29px) !important;font-weight:800 !important;font-style:italic !important;color:var(--muted-dk) !important;line-height:2.1 !important;margin:0 !important;text-align:center}
#callform .cf-line span{display:inline !important;font:inherit !important;color:inherit !important}
#callform input.cf-in{display:inline-block !important;width:auto !important;max-width:none !important;height:auto !important;background:transparent !important;border:none !important;border-bottom:2px solid var(--linea-dk) !important;border-radius:0 !important;box-shadow:none !important;color:var(--piedra) !important;font-family:'Mulish',sans-serif !important;font-weight:800 !important;font-style:italic !important;font-size:inherit !important;line-height:normal !important;padding:0 6px 2px !important;margin:0 !important;outline:none !important;text-align:center !important;transition:border-color .3s !important;vertical-align:baseline !important}
#callform input.cf-in.cfw1{width:min(210px,42vw) !important}
#callform input.cf-in.cfw2{width:min(320px,64vw) !important}
#callform input.cf-in:focus{border-color:var(--teja) !important;background:transparent !important;box-shadow:none !important}
#callform input.cf-in::placeholder{color:rgba(242,239,233,.30) !important;font-weight:600 !important;font-style:italic !important;opacity:1 !important}
#callform button.btn,#callform button[type="submit"]{display:inline-block !important;width:auto !important;background:var(--piedra) !important;color:var(--tinta) !important;border:1px solid var(--piedra) !important;border-radius:0 !important;box-shadow:none !important;font-family:'Mulish',sans-serif !important;font-weight:700 !important;font-size:14px !important;letter-spacing:.03em !important;padding:14px 28px !important;margin:36px 0 0 !important;text-transform:none !important;cursor:pointer;line-height:normal !important}
#callform button.btn:hover{background:var(--teja) !important;color:var(--piedra) !important;border-color:var(--teja) !important}
#callform .cf-legal{margin:30px auto 0 !important;max-width:66ch !important;text-align:center !important;font-size:11.5px !important;line-height:1.7 !important;color:rgba(242,239,233,.42) !important}
#callform .cf-legal a{color:inherit !important}
.club form{margin-top:28px !important;display:flex !important;gap:12px !important;flex-wrap:wrap !important;position:relative;z-index:1}
.club form input{flex:1 !important;width:auto !important;min-width:170px !important;height:auto !important;background:transparent !important;border:none !important;border-bottom:1px solid var(--linea-dk) !important;border-radius:0 !important;box-shadow:none !important;color:var(--piedra) !important;font-family:'Mulish',sans-serif !important;font-size:15px !important;padding:12px 2px !important;margin:0 !important;outline:none !important;transition:border-color .3s !important}
.club form input:focus{border-color:var(--arena) !important}
.club form input::placeholder{color:rgba(242,239,233,.38) !important;opacity:1 !important}
.club form button.btn{display:inline-block !important;width:auto !important;background:var(--piedra) !important;color:var(--tinta) !important;border:1px solid var(--piedra) !important;border-radius:0 !important;box-shadow:none !important;font-family:'Mulish',sans-serif !important;font-weight:700 !important;font-size:11.5px !important;letter-spacing:.03em !important;padding:9px 14px !important;margin:0 !important;white-space:nowrap !important;text-transform:none !important;cursor:pointer;line-height:normal !important}
.club form button.btn:hover{background:var(--teja) !important;color:var(--piedra) !important;border-color:var(--teja) !important}

/* Blindaje de los botones de interfaz frente a estilos de tema. */
.cf-dir{margin-top:50px !important;display:flex !important;justify-content:center !important;gap:18px !important;flex-wrap:wrap !important}
.cierre .cd-opt{display:flex !important;width:auto !important;align-items:center !important;gap:16px !important;padding:18px 30px !important;margin:0 !important;border:1px solid var(--linea-dk) !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important;color:var(--piedra) !important;font-family:'Mulish',sans-serif !important;min-width:250px !important;text-align:left !important;cursor:pointer}
.cierre .cd-opt:hover{border-color:var(--arena) !important;background:transparent !important;transform:translateY(-3px)}
button.wa-fab{position:fixed !important;left:26px !important;bottom:26px !important;width:56px !important;height:56px !important;padding:0 !important;margin:0 !important;border-radius:50% !important;background:var(--teja) !important;border:none !important;display:flex !important;align-items:center !important;justify-content:center !important;box-shadow:0 8px 24px rgba(29,29,27,.25) !important}
.lang .lg-b{display:inline-block !important;width:auto !important;background:none !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;font-weight:800 !important;font-size:12.5px !important;letter-spacing:.1em !important;color:var(--muted) !important;padding:2px 1px !important;margin:0 !important;text-transform:none !important}
.lang .lg-b.on{color:var(--tinta) !important}
.sp-tabs button{display:flex !important;width:100% !important;gap:14px !important;align-items:baseline !important;background:none !important;border:none !important;border-bottom:1px solid var(--linea-dk) !important;border-radius:0 !important;box-shadow:none !important;padding:12px 0 !important;margin:0 !important;font-family:'Mulish',sans-serif !important;font-weight:800 !important;font-size:11px !important;letter-spacing:.2em !important;text-transform:uppercase !important;color:rgba(242,239,233,.45) !important;text-align:left !important}
.sp-tabs button.on{color:var(--piedra) !important;border-bottom-color:var(--teja) !important}
.m-list .m-item{width:100% !important;display:flex !important;align-items:center !important;gap:16px !important;background:none !important;border:none !important;border-bottom:1px solid var(--linea) !important;border-radius:0 !important;box-shadow:none !important;padding:17px 4px !important;margin:0 !important;color:var(--muted) !important;font-family:'Mulish',sans-serif !important;font-weight:800 !important;font-size:12px !important;letter-spacing:.2em !important;text-transform:uppercase !important;text-align:left !important}
.m-list .m-item.on{color:var(--tinta) !important;padding-left:12px !important}
.pod-ctl .pod-play{flex:none !important;width:clamp(42px,4vw,54px) !important;height:clamp(42px,4vw,54px) !important;padding:0 !important;margin:0 !important;border-radius:50% !important;border:1px solid var(--teja) !important;background:var(--teja) !important;color:var(--piedra) !important;display:flex !important;align-items:center !important;justify-content:center !important;box-shadow:none !important}
.mv-b{display:inline-flex !important;width:auto !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;padding:0 !important;margin:0 !important;font-weight:800 !important;font-size:10px !important;letter-spacing:.2em !important;text-transform:uppercase !important;color:var(--muted) !important;align-items:center !important;gap:9px !important}
button.ga-prev,button.ga-next,.stack-nav button,.orb-nav button,.bl-filtros button,.ht-n i{box-shadow:none !important}

/* ============================================================
   Menú móvil desplegable (widget Navegación).
   nav.okm-720 → aparece hasta 720px · nav.okm-1100 → hasta 1100px
   ============================================================ */
.okm-btn{display:none;position:relative;z-index:260;width:44px;height:40px;background:none;border:0;border-radius:0;box-shadow:none;padding:8px 6px;margin:0;flex-direction:column;justify-content:center;gap:6px;cursor:pointer}
.okm-btn i{display:block;width:26px;height:2px;background:var(--tinta);transition:transform .3s,opacity .3s}
body.okm-open .okm-btn i:nth-child(1){transform:translateY(8px) rotate(45deg)}
body.okm-open .okm-btn i:nth-child(2){opacity:0}
body.okm-open .okm-btn i:nth-child(3){transform:translateY(-8px) rotate(-45deg)}
.okm-panel{display:none;position:fixed;inset:0;z-index:90;background:var(--piedra);flex-direction:column;justify-content:center;gap:34px;padding:110px 9vw 70px;opacity:0;pointer-events:none;transform:translateY(-10px);transition:opacity .32s,transform .32s}
body.okm-open .okm-panel{opacity:1;pointer-events:auto;transform:none}
body.okm-open{overflow:hidden}
body.okm-open .punto,body.okm-open .wa-fab,body.okm-open .wa-pop{display:none !important}
body.okm-open nav{transform:none !important}
.okm-links{display:flex;flex-direction:column;gap:22px}
.okm-a{font-weight:800;font-style:italic;font-size:clamp(27px,7.4vw,38px);line-height:1.15;color:var(--tinta);text-decoration:none;letter-spacing:-.01em}
.okm-a.okm-cta{color:var(--teja)}
.okm-lang{display:flex;align-items:center;gap:10px;margin-top:6px}
.okm-lang .lg-b{background:none;border:0;padding:2px 1px;font-weight:800;font-size:14px;letter-spacing:.14em;color:var(--muted);cursor:pointer}
.okm-lang .lg-b.on{color:var(--tinta)}
.okm-lang s{text-decoration:none;color:var(--muted)}
@media (max-width:720px){
  nav.okm-720 .okm-btn{display:flex}
  .okm-panel.okm-720{display:flex}
  nav.okm-720 .nav-links .lang,nav.okm-720 .nav-links .btn{display:none}
}
@media (max-width:1100px){
  nav.okm-1100 .okm-btn{display:flex}
  .okm-panel.okm-1100{display:flex}
  nav.okm-1100 .nav-links a.hide-m{display:none}
  nav.okm-1100 .nav-links .lang,nav.okm-1100 .nav-links .btn{display:none}
}

/* ============================================================
   Espaciados móviles anti-solape (revisión cliente 20/08)
   ============================================================ */
@media (max-width:640px){
  /* Hero: «( scroll )» y ciudades compartían línea y chocaban */
  .hero .hint2{max-width:58vw;text-align:right;white-space:normal;line-height:1.9;letter-spacing:.18em;font-size:9.5px;bottom:22px}
}
@media (max-width:720px){
  /* Escena: el eyebrow pisaba la primera línea en pantallas bajas */
  .escena .esc-ep{top:88px}
  .escena .step{padding-top:max(21vh,178px)}
}

/* El Club en modo «Próximamente» (sin formulario de alta). */
.club .club-soon{margin-top:34px;font-weight:800;font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--arena);display:flex;align-items:center;gap:10px}
.club .club-soon::after{content:"";width:34px;height:1px;background:var(--linea-dk)}
.club.wide .club-soon{margin-top:26px}

/* Widget Formulario independiente + estados. */
.cform .okhp{position:absolute !important;left:-9999px !important;width:1px !important;height:1px !important;opacity:0 !important;pointer-events:none !important;border:0 !important;padding:0 !important}
.cform .cf-error{margin-top:22px;text-align:center;font-size:13px;font-weight:700;color:var(--teja)}
.okform .cf-in.cf-nombre{width:min(210px,42vw) !important}
.okform button.btn{display:inline-block !important;width:auto !important;background:var(--piedra) !important;color:var(--tinta) !important;border:1px solid var(--piedra) !important;border-radius:0 !important;box-shadow:none !important;font-family:'Mulish',sans-serif !important;font-weight:700 !important;font-size:14px !important;letter-spacing:.03em !important;padding:14px 28px !important;margin:36px 0 0 !important;text-transform:none !important;cursor:pointer;line-height:normal !important}
.okform button.btn:hover{background:var(--teja) !important;color:var(--piedra) !important;border-color:var(--teja) !important}
.okform .cf-line span{display:inline !important;font:inherit !important;color:inherit !important}
.okform input.cf-in{display:inline-block !important;width:auto !important;max-width:none !important;height:auto !important;background:transparent !important;border:none !important;border-bottom:2px solid var(--linea-dk) !important;border-radius:0 !important;box-shadow:none !important;color:var(--piedra) !important;font-family:'Mulish',sans-serif !important;font-weight:800 !important;font-style:italic !important;font-size:inherit !important;line-height:normal !important;padding:0 6px 2px !important;margin:0 !important;outline:none !important;text-align:center !important;vertical-align:baseline !important}
.okform input.cf-in.cfw2{width:min(320px,64vw) !important}
.okform input.cf-in:focus{border-color:var(--teja) !important}
.okform input.cf-in::placeholder{color:rgba(242,239,233,.30) !important;font-weight:600 !important;font-style:italic !important;opacity:1 !important}
.okform .cf-line{display:block !important;font-size:clamp(19px,2.3vw,29px) !important;font-weight:800 !important;font-style:italic !important;color:var(--muted-dk) !important;line-height:2.1 !important;margin:0 !important;text-align:center}
.okform .cf-legal{margin:30px auto 0 !important;max-width:66ch !important;text-align:center !important;font-size:11.5px !important;line-height:1.7 !important;color:rgba(242,239,233,.42) !important}
.okform .cf-legal a{color:inherit !important}
.okform{margin-top:40px !important;text-align:center}

/* ============================================================
   Cursor personalizado vs overlays de plugins (GDPR Cookie
   Compliance / Moove y similares). La barra de cookies se pinta
   con z-index ~999999 y tapaba el punto (z-index 600): el punto
   va ahora por encima de cualquier capa, como corresponde a un
   cursor. Y dentro de los contenedores del plugin se fuerza
   cursor:none para que sus reglas propias (cursor:pointer) no
   dupliquen el cursor nativo sobre el punto.
   ============================================================ */
body.has-cur .cur{z-index:2147483647 !important}
body.has-cur [id^="moove_gdpr"],body.has-cur [id^="moove_gdpr"] *,
body.has-cur [class*="moove-gdpr"],body.has-cur [class*="moove-gdpr"] *,
body.has-cur [id^="cookie"],body.has-cur [class*="cookie-notice"] *{cursor:none !important}

/* Iconos fijos (punto «Primero, la llamada» + WhatsApp) por delante de todo. */
.punto,.wa-fab,.wa-pop{z-index:9999 !important}
