/* Ajustes para funcionar sin JavaScript (solo HTML + CSS) */
.elementor-invisible{visibility:visible!important}
/* Menú escritorio: submenús al pasar el ratón o con teclado */
.elementor-nav-menu--main .elementor-nav-menu li{position:relative}
.elementor-nav-menu--main .elementor-nav-menu ul.sub-menu{display:none;position:absolute;top:100%;left:0;width:max-content!important;min-width:220px;z-index:9999}
.elementor-nav-menu--main .elementor-nav-menu li:hover>ul.sub-menu,.elementor-nav-menu--main .elementor-nav-menu li:focus-within>ul.sub-menu{display:block}
.elementor-nav-menu--main .elementor-nav-menu ul.sub-menu ul.sub-menu{top:0;left:100%}
/* Menú móvil: casilla oculta + etiqueta */
.rx-nav-cb{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.elementor-menu-toggle{cursor:pointer}
.rx-nav-cb:checked+.elementor-menu-toggle .elementor-menu-toggle__icon--open{display:none}
.rx-nav-cb:checked+.elementor-menu-toggle .elementor-menu-toggle__icon--close{display:block}
.rx-nav-cb:checked+.elementor-menu-toggle+.elementor-nav-menu__container{transform:scaleY(1)!important;max-height:100vh!important;overflow-y:auto!important}
nav.elementor-nav-menu--dropdown .sub-menu{display:block!important;position:static!important;width:auto!important}
nav.elementor-nav-menu--dropdown .sub-arrow{display:none}
/* Menú móvil a ancho completo bajo la cabecera */
@media(max-width:1024px){:is(.elementor-top-section,.e-con.e-parent):has(.elementor-menu-toggle){position:relative}
:is(.elementor-top-section,.e-con.e-parent):has(.elementor-menu-toggle) .elementor-container,:is(.elementor-top-section,.e-con.e-parent):has(.elementor-menu-toggle) .elementor-column,:is(.elementor-top-section,.e-con.e-parent):has(.elementor-menu-toggle) .elementor-widget-wrap,:is(.elementor-top-section,.e-con.e-parent):has(.elementor-menu-toggle) .elementor-widget-nav-menu,:is(.elementor-top-section,.e-con.e-parent):has(.elementor-menu-toggle) .elementor-widget-nav-menu>.elementor-widget-container{position:static!important}
:is(.elementor-top-section,.e-con.e-parent):has(.elementor-menu-toggle) nav.elementor-nav-menu--dropdown{position:absolute!important;left:0!important;right:0!important;top:100%!important;width:auto!important;margin-top:0!important;z-index:9998}}
/* Carrusel de imágenes sin JS */
.rx-carousel .swiper,.rx-carousel .swiper-container{overflow:hidden}
.rx-carousel .swiper-wrapper{display:flex!important;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;transform:none!important}
.rx-carousel .swiper-slide{flex:0 0 calc((100% - (var(--rx-n,3) - 1)*10px)/var(--rx-n,3))!important;width:auto!important;scroll-snap-align:start}
@media(max-width:767px){.rx-carousel .swiper-slide{flex-basis:85%!important}}
/* Pestañas: se muestra todo el contenido */
.rx-tabs .elementor-tabs-wrapper{display:none!important}
.rx-tabs .elementor-tab-mobile-title{display:block!important}
.rx-tabs .elementor-tab-content{display:block!important}
/* Sticky */
.rx-sticky{position:sticky!important;top:0;z-index:99}
/* Títulos largos en móvil */
.elementor-heading-title{overflow-wrap:break-word}
/* Evita el scroll horizontal por elementos decorativos que sobresalen */
html,body{overflow-x:hidden}
@supports(overflow:clip){html,body{overflow-x:clip}}
/* Botón WhatsApp */
.rx-whatsapp{position:fixed;right:20px;bottom:20px;width:60px;height:60px;border-radius:50%;background:#25d366 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2zm0 18.2a8.2 8.2 0 0 1-4.2-1.2l-.3-.2-3 .8.8-2.9-.2-.3A8.2 8.2 0 1 1 12 20.2zm4.5-6.1c-.2-.1-1.5-.7-1.7-.8s-.4-.1-.6.1-.6.8-.8 1-.3.2-.5.1a6.7 6.7 0 0 1-3.3-2.9c-.3-.4.3-.4.7-1.4a.5.5 0 0 0 0-.4l-.8-1.8c-.2-.5-.4-.4-.6-.4h-.5a1 1 0 0 0-.7.3 3 3 0 0 0-.9 2.2 5.2 5.2 0 0 0 1.1 2.7 11.8 11.8 0 0 0 4.5 4c1.7.7 2.3.8 3.2.6a2.7 2.7 0 0 0 1.8-1.2 2.2 2.2 0 0 0 .1-1.2c0-.1-.2-.2-.4-.3z'/%3E%3C/svg%3E") center/32px no-repeat;box-shadow:0 2px 8px rgba(0,0,0,.25);z-index:9999}
.rx-whatsapp:hover{filter:brightness(1.05)}
/* Contacto por correo (sustituye a los formularios) */
.rx-mailto{padding:28px 24px;background:#eaf7fc;border-left:4px solid #2fb5e3;border-radius:4px}
.rx-mailto__txt{margin:0 0 10px;font-size:16px;line-height:1.6;color:#1e2a32}
.rx-mailto__email{display:inline-block;margin:0 0 18px;font-size:22px;font-weight:600;color:#1e2a32;text-decoration:none;overflow-wrap:anywhere}
.rx-mailto__email:hover{color:#2fb5e3}
.rx-mailto__btn{display:block;width:100%;padding:14px 20px;background:#2fb5e3;color:#fff!important;text-align:center;font-weight:600;font-size:16px;text-decoration:none;border-radius:3px;transition:background .2s}
.rx-mailto__btn:hover{background:#1e9cc8}
.rx-mailto a.rx-mailto__email{display:inline-block;font-size:22px!important;font-weight:600!important;color:#1e2a32!important;text-decoration:none!important}
.rx-mailto a.rx-mailto__email:hover{color:#2fb5e3!important}
.rx-mailto a.rx-mailto__btn{color:#fff!important;text-decoration:none!important}
.rx-mailto__legal{margin:12px 0 0;font-size:13px;line-height:1.5;color:#5b6b75}
@media(max-width:767px){.rx-mailto{padding:20px 16px}.rx-mailto .rx-mailto__email,.rx-mailto a.rx-mailto__email{font-size:19px!important}}
