/* Cohete CW · Punto Fisio · v1.0.10 — Contrato visual de botones y navegación
   Una única imagen de degradado (azul→verde→acento) recorre dos mitades.
   Sin ::before/::after como fondos: elimina el borde/halo duplicado de v1.0.7.
   Alcance: CTAs de marca sin personalizaciones de fondo, menú propio. */

/* Navegación: el texto debe pintarse UNA sola vez incluso cuando está activo. */
#cwHeader .cw-menu-style-liquid .cw-link-text::after { content: none !important; display: none !important; }
#cwHeader .cw-menu-style-liquid .cw-link-text { color: inherit !important; -webkit-text-fill-color: currentColor !important; }
#cwHeader .cw-menu-style-liquid .cw-menu-link,
#cwHeader .cw-menu-style-liquid .cw-menu-link:hover,
#cwHeader .cw-menu-style-liquid .cw-menu-link:focus-visible {
    background: transparent !important;
    text-shadow: none !important;
    filter: none !important;
    transition: color .24s ease !important;
}
#cwHeader .cw-menu-link:hover::after,
#cwHeader .cw-menu-link:focus-visible::after {
    transform: scaleX(.68) !important;
    opacity: .6 !important;
}
#cwHeader .cw-menu-link:focus-visible,
#cwHeader .cw-submenu-link:focus-visible {
    outline: 2px solid var(--cw-active-hover) !important;
    outline-offset: 2px !important;
}

/* Submenú: un solo estado hover, sin fondo+barra+desplazamiento superpuestos. */
#cwHeader .cw-submenu .cw-submenu-link {
    transform: none !important;
    text-shadow: none !important;
    box-shadow: none !important;
    background: transparent !important;
    border: 0 !important;
    -webkit-text-fill-color: currentColor !important;
    transition: color .2s ease, background-color .24s ease !important;
}
/* Firma de navegación: trazador lateral único, sin texto duplicado ni movimiento. */
#cwHeader .cw-submenu .cw-submenu-link::before {
    content: "" !important;
    display: block !important;
    position:absolute!important;left:0!important;top:50%!important;
    width:2px!important;height:19px!important;border-radius:3px!important;
    background:linear-gradient(180deg,var(--cw-pf-secondary,#00acf8),var(--cw-submenu-hover))!important;
    transform:translateY(-50%) scaleY(0)!important;
    transform-origin:center!important;opacity:0!important;
    transition:transform .26s cubic-bezier(.2,.8,.2,1),opacity .24s ease!important;
}
#cwHeader .cw-submenu .cw-submenu-link:is(:hover,:focus-visible,.active)::before{
    transform:translateY(-50%) scaleY(1)!important;opacity:1!important;
}
#cwHeader .cw-submenu .cw-submenu-link::after {content:none!important;display:none!important;}
#cwHeader .cw-submenu .cw-submenu-link:is(:hover, :focus-visible),
#cwHeader .cw-submenu .cw-submenu-link.active {
    background: color-mix(in srgb, var(--cw-submenu-hover) 10%, transparent) !important;
    color: var(--cw-submenu-hover) !important;
    transform: none !important;
}
/* La capa del submenú usa sus colores, no los de la barra sobre un Hero. */
#cwHeader .cw-submenu a.cw-submenu-link:link,
#cwHeader .cw-submenu a.cw-submenu-link:visited { color: var(--cw-submenu-text) !important; }
#cwHeader .cw-submenu a.cw-submenu-link:is(:hover, :focus-visible, .active) {
    color: var(--cw-submenu-hover) !important;
}

/* Área de pintura del botón Elementor.
 * Un contenedor que recorta a su hijo corta el resplandor exterior durante
 * hover; el botón mantiene su overflow interno para los efectos de texto,
 * pero su widget/recipiente no debe recortar la sombra. No tocar contenedores
 * de secciones ajenas ni añadir márgenes negativos que desplacen el CTA.
 */
.elementor-widget-cw_pf_button,
.elementor-widget-cw_pf_button > .elementor-widget-container,
.elementor-widget-cw_pf_button .cw-el-btn-wrapper {
    overflow: visible !important;
}

/* Un único motor de degradado para los CTAs primarios de Cohete CW.
   El inicio 0..50% equivale a azul→verde; el final 50..100%, verde→acento. */
#cwHeader a.cw-header-cta.cw-gradient-cta,
.cw-pf-hero a.cw-pf-hero__btn--primary.cw-pf-hero__btn--gradient,
.cw-el-btn-wrapper a.cw-el-btn--primary.cw-gradient-cta,
body .cw-service-hero__actions a.cw-service-hero__action--primary.cw-gradient-cta {
    --cw-cta-blue: var(--e-global-color-secondary, #00ACF8);
    --cw-cta-green: var(--e-global-color-primary, #00CFAB);
    --cw-cta-accent: var(--e-global-color-accent, #36CEAB);
    background-color: var(--cw-cta-green) !important;
    background-image: linear-gradient(90deg,
        var(--cw-cta-blue) 0%,
        var(--cw-cta-green) 50%,
        var(--cw-cta-accent) 100%) !important;
    background-size: 200% 100% !important;
    background-position: 0% 50% !important;
    background-repeat: no-repeat !important;
    border: 0 !important;
    background-clip: border-box !important;
    text-decoration: none !important;
    text-transform: uppercase !important;
    letter-spacing: .015em;
    font-weight: 700;
    box-shadow: 0 7px 19px rgba(0, 137, 150, .16) !important;
    transform: translate3d(0,0,0) !important;
    isolation: auto !important;
    transition: background-position .46s cubic-bezier(.22,.61,.36,1),
                box-shadow .34s cubic-bezier(.2,.7,.3,1),
                transform .34s cubic-bezier(.2,.7,.3,1), color .2s ease !important;
}
#cwHeader a.cw-header-cta.cw-gradient-cta:is(:hover, :focus-visible),
.cw-pf-hero a.cw-pf-hero__btn--primary.cw-pf-hero__btn--gradient:is(:hover, :focus-visible),
.cw-el-btn-wrapper a.cw-el-btn--primary.cw-gradient-cta:is(:hover, :focus-visible),
body .cw-service-hero__actions a.cw-service-hero__action--primary.cw-gradient-cta:is(:hover, :focus-visible) {
    background-position: 100% 50% !important;
    border: 0 !important;
    box-shadow: 0 12px 28px rgba(0, 137, 150, .22),
                0 0 21px rgba(0, 207, 171, .14) !important;
    transform: translate3d(0,-2px,0) !important;
    filter: none !important;
}
/* Ningún motor legado debe dibujar una capa extra encima de estos botones. */
#cwHeader a.cw-header-cta.cw-gradient-cta::before,
#cwHeader a.cw-header-cta.cw-gradient-cta::after,
.cw-pf-hero a.cw-pf-hero__btn--primary.cw-pf-hero__btn--gradient::before,
.cw-pf-hero a.cw-pf-hero__btn--primary.cw-pf-hero__btn--gradient::after,
.cw-el-btn-wrapper a.cw-el-btn--primary.cw-gradient-cta::before,
.cw-el-btn-wrapper a.cw-el-btn--primary.cw-gradient-cta::after,
body .cw-service-hero__actions a.cw-service-hero__action--primary.cw-gradient-cta::before,
body .cw-service-hero__actions a.cw-service-hero__action--primary.cw-gradient-cta::after {
    content: none !important;
    display: none !important;
}
/* El radio configurado del CTA de la cabecera sigue siendo válido. */
#cwHeader a.cw-header-cta.cw-gradient-cta { border-radius: var(--cw-cta-radius, 999px) !important; }

/* Icono y texto alineados, sin doble borde por focus al hacer clic con el ratón. */
#cwHeader a.cw-header-cta.cw-gradient-cta .cw-el-btn-icon,
.cw-el-btn-wrapper a.cw-el-btn--primary.cw-gradient-cta .cw-el-btn-icon,
body .cw-service-hero__actions a.cw-service-hero__action--primary.cw-gradient-cta .cw-el-btn-icon {
    flex-shrink: 0 !important;
}
#cwHeader a.cw-header-cta.cw-gradient-cta:focus-visible,
.cw-pf-hero a.cw-pf-hero__btn--gradient:focus-visible,
.cw-el-btn-wrapper a.cw-el-btn--primary.cw-gradient-cta:focus-visible,
body .cw-service-hero__actions a.cw-service-hero__action--primary.cw-gradient-cta:focus-visible {
    outline: 2px solid var(--e-global-color-secondary, #00ACF8) !important;
    outline-offset: 3px !important;
}

/* Secundarios: mismo peso/forma/microinteracción, respetando fondos de cada sección
   y estilos que el administrador personalizó desde Elementor. */
.cw-pf-hero a.cw-pf-hero__btn--secondary,
.cw-el-btn-wrapper a.cw-el-btn--secondary,
.cw-service-hero__actions a.cw-service-hero__action--secondary {
    border-radius: 999px !important;
    text-transform: uppercase !important;
    letter-spacing: .015em !important;
    text-decoration: none !important;
    transform: translate3d(0,0,0) !important;
    transition: background-color .3s ease, border-color .3s ease,
                color .3s ease, box-shadow .34s ease, transform .34s cubic-bezier(.2,.7,.3,1) !important;
}
.cw-pf-hero a.cw-pf-hero__btn--secondary:is(:hover, :focus-visible),
.cw-el-btn-wrapper a.cw-el-btn--secondary:is(:hover, :focus-visible),
.cw-service-hero__actions a.cw-service-hero__action--secondary:is(:hover, :focus-visible) {
    transform: translate3d(0,-2px,0) !important;
    box-shadow: 0 10px 26px rgba(0, 137, 150, .12) !important;
    filter: none !important;
}
/* En cabecera y en los héroes de sección, neutralizar los !important antiguos
   que impedían toda elevación. No cambia tamaños, radios ni layout. */
@media (hover: hover) and (pointer: fine) {
    #cwHeader a.cw-header-cta.cw-gradient-cta:hover,
    .cw-pf-hero a.cw-pf-hero__btn--primary.cw-pf-hero__btn--gradient:hover,
    .cw-el-btn-wrapper a.cw-el-btn--primary.cw-gradient-cta:hover,
    body .cw-service-hero__actions a.cw-service-hero__action--primary.cw-gradient-cta:hover {
        transform: translate3d(0,-2px,0) !important;
    }
    body .cw-service-hero__actions a.cw-service-hero__action--primary.cw-gradient-cta:hover {
        box-shadow: 0 12px 28px rgba(0,137,150,.22), 0 0 21px rgba(0,207,171,.14) !important;
    }
    .cw-service-hero__actions a.cw-service-hero__action--secondary:hover {
        transform: translate3d(0,-2px,0) !important;
        box-shadow: 0 10px 26px rgba(0,137,150,.12) !important;
    }
}
@media (prefers-reduced-motion: reduce) {
    #cwHeader a.cw-header-cta.cw-gradient-cta,
    .cw-pf-hero a.cw-pf-hero__btn--gradient,
    .cw-el-btn-wrapper a.cw-el-btn--primary.cw-gradient-cta,
    body .cw-service-hero__actions a.cw-service-hero__action--primary.cw-gradient-cta,
    #cwHeader .cw-menu-link,
    #cwHeader .cw-submenu-link,
    .cw-pf-hero a.cw-pf-hero__btn--secondary,
    .cw-el-btn-wrapper a.cw-el-btn--secondary,
    .cw-service-hero__actions a.cw-service-hero__action--secondary { transition: none !important; }
    #cwHeader a.cw-header-cta.cw-gradient-cta:is(:hover, :focus-visible),
    .cw-pf-hero a.cw-pf-hero__btn--gradient:is(:hover, :focus-visible),
    .cw-el-btn-wrapper a.cw-el-btn--primary.cw-gradient-cta:is(:hover, :focus-visible),
    body .cw-service-hero__actions a.cw-service-hero__action--primary.cw-gradient-cta:is(:hover, :focus-visible),
    .cw-pf-hero a.cw-pf-hero__btn--secondary:is(:hover, :focus-visible),
    .cw-el-btn-wrapper a.cw-el-btn--secondary:is(:hover, :focus-visible),
    .cw-service-hero__actions a.cw-service-hero__action--secondary:is(:hover, :focus-visible) {
        transform: none !important;
    }
}
