.elementor-10874 .elementor-element.elementor-element-a74b8f1{--display:flex;--flex-direction:row;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-10874 .elementor-element.elementor-element-4977260{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-10874 .elementor-element.elementor-element-4fdb3ba{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-10874 .elementor-element.elementor-element-71bc67d .elementor-menu-toggle{margin-right:auto;}.elementor-10874 .elementor-element.elementor-element-71bc67d .elementor-nav-menu .elementor-item{font-family:"Titillium Web", Sans-serif;font-size:18px;font-weight:700;}.elementor-10874 .elementor-element.elementor-element-71bc67d .elementor-nav-menu--main .elementor-item{color:#000000;fill:#000000;}.elementor-10874 .elementor-element.elementor-element-71bc67d .elementor-nav-menu--main .elementor-item:hover,
					.elementor-10874 .elementor-element.elementor-element-71bc67d .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-10874 .elementor-element.elementor-element-71bc67d .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-10874 .elementor-element.elementor-element-71bc67d .elementor-nav-menu--main .elementor-item:focus{color:#95BFE4;fill:#95BFE4;}.elementor-10874 .elementor-element.elementor-element-71bc67d .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-10874 .elementor-element.elementor-element-71bc67d .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:#95BFE4;}.elementor-10874 .elementor-element.elementor-element-71bc67d .e--pointer-framed .elementor-item:before,
					.elementor-10874 .elementor-element.elementor-element-71bc67d .e--pointer-framed .elementor-item:after{border-color:#95BFE4;}.elementor-10874 .elementor-element.elementor-element-71bc67d .elementor-nav-menu--dropdown a, .elementor-10874 .elementor-element.elementor-element-71bc67d .elementor-menu-toggle{color:#000000;fill:#000000;}.elementor-10874 .elementor-element.elementor-element-71bc67d .elementor-nav-menu--dropdown .elementor-item, .elementor-10874 .elementor-element.elementor-element-71bc67d .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:"Titillium Web", Sans-serif;font-size:16px;font-weight:300;}.elementor-10874 .elementor-element.elementor-element-71bc67d .elementor-nav-menu--dropdown a{padding-left:4px;padding-right:4px;padding-top:4px;padding-bottom:4px;}.elementor-10874 .elementor-element.elementor-element-71bc67d .elementor-nav-menu--main > .elementor-nav-menu > li > .elementor-nav-menu--dropdown, .elementor-10874 .elementor-element.elementor-element-71bc67d .elementor-nav-menu__container.elementor-nav-menu--dropdown{margin-top:0px !important;}.elementor-10874 .elementor-element.elementor-element-b3eb1f6{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:flex-end;}.elementor-10874 .elementor-element.elementor-element-4e9ad279 .elementor-button{background-color:#95BFE4;font-family:"Titillium Web", Sans-serif;font-size:2rem;font-weight:700;fill:#FFFFFF;color:#FFFFFF;}.elementor-10874 .elementor-element.elementor-element-4e9ad279{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-10874 .elementor-element.elementor-element-5e923f4{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-10874 .elementor-element.elementor-element-a787ed1 .elementor-button{background-color:#95BFE4;font-family:"Titillium Web", Sans-serif;font-size:2rem;font-weight:700;fill:#FFFFFF;color:#FFFFFF;}.elementor-10874 .elementor-element.elementor-element-a787ed1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:767px){.elementor-10874 .elementor-element.elementor-element-4fdb3ba{--min-height:0px;}}@media(min-width:768px){.elementor-10874 .elementor-element.elementor-element-4977260{--width:20%;}.elementor-10874 .elementor-element.elementor-element-4fdb3ba{--width:68%;}.elementor-10874 .elementor-element.elementor-element-b3eb1f6{--width:12%;}.elementor-10874 .elementor-element.elementor-element-5e923f4{--width:12%;}}/* Start custom CSS for nav-menu, class: .elementor-element-71bc67d */@media (max-width: 767px) {
    /* Contenedor principal sin espacios extras */
    .elementor-10874 .elementor-element.elementor-element-71bc67d ul.menu, 
    .elementor-10874 .elementor-element.elementor-element-71bc67d .wp-block-navigation__container,
    .elementor-10874 .elementor-element.elementor-element-71bc67d div[class*="menu"] > ul {
        display: flex !important;
        flex-direction: column !important;
        width: 100% !important;
        align-items: flex-start !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Filas principales con altura flexible */
    .elementor-10874 .elementor-element.elementor-element-71bc67d li {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 5px !important; 
        box-sizing: border-box !important;
        height: auto !important;
        min-height: 0 !important;
    }

    /* Enlaces principales */
    .elementor-10874 .elementor-element.elementor-element-71bc67d li > a {
        display: flex !important;
        flex-direction: row !important;
        justify-content: space-between !important; 
        align-items: center !important;
        width: 100% !important;
        text-align: left !important;
        padding: 2px 0 !important;      
        line-height: 1.2 !important;   
        margin: 0 !important;
        box-sizing: border-box !important;
    }

    /* SUBMENÚ CERRADO: Completamente colapsado */
    .elementor-10874 .elementor-element.elementor-element-71bc67d li ul.sub-menu,
    .elementor-10874 .elementor-element.elementor-element-71bc67d li ul.dropdown-menu,
    .elementor-10874 .elementor-element.elementor-element-71bc67d li .sub-menu {
        display: none !important; 
        position: relative !important; /* Cambiado de absolute a relative */
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* SUBMENÚ ABIERTO: Fuerza a empujar los bloques de abajo hacia abajo */
    .elementor-10874 .elementor-element.elementor-element-71bc67d li.toggled-on > ul,
    .elementor-10874 .elementor-element.elementor-element-71bc67d li.current-menu-item > ul,
    .elementor-10874 .elementor-element.elementor-element-71bc67d li.sub-menu-open > ul,
    .elementor-10874 .elementor-element.elementor-element-71bc67d li.opened > ul,
    .elementor-10874 .elementor-element.elementor-element-71bc67d li:hover > ul {
        display: block !important; /* Cambiado a block para mejorar el flujo */
        position: relative !important; /* Obligatorio para empujar */
        visibility: visible !important;
        height: auto !important;
        overflow: visible !important;
        padding: 5px 0 5px 15px !important; /* Sangría a la izquierda */
        width: 100% !important;
    }

    /* Asegura que los enlaces de adentro del submenú no se rompan */
    .elementor-10874 .elementor-element.elementor-element-71bc67d li ul.sub-menu li,
    .elementor-10874 .elementor-element.elementor-element-71bc67d li .sub-menu li {
        display: block !important;
        width: 100% !important;
        padding: 4px 0 !important; /* Espaciado interno de los sub-enlaces */
    }
    
    .elementor-10874 .elementor-element.elementor-element-71bc67d li ul.sub-menu li a,
    .elementor-10874 .elementor-element.elementor-element-71bc67d li .sub-menu li a {
        display: block !important;
        width: 100% !important;
        padding: 0 !important;
    }

    /* Control estricto de las flechas */
    .elementor-10874 .elementor-element.elementor-element-71bc67d .sub-menu-toggle,
    .elementor-10874 .elementor-element.elementor-element-71bc67d li .sub-arrow,
    .elementor-10874 .elementor-element.elementor-element-71bc67d li i,
    .elementor-10874 .elementor-element.elementor-element-71bc67d li a span,
    .elementor-10874 .elementor-element.elementor-element-71bc67d li a i {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        display: inline-flex !important;
        margin: 0 !important;
        padding: 0 !important;
        height: auto !important;
    }
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-4e9ad279 *//* --- CONTROL DINÁMICO: SE ADAPTA AL TAMAÑO DE ELEMENTOR --- */
.elementor-10874 .elementor-element.elementor-element-4e9ad279 .elementor-button {
    position: relative !important;
    overflow: hidden !important; /* Corta los cuadrados excedentes */
    z-index: 1 !important;
    transition: color 0.3s ease !important;
    /* Eliminamos height, line-height, padding y border-radius fijos */
}

/* Forzar que el texto flote por encima de la animación */
.elementor-10874 .elementor-element.elementor-element-4e9ad279 .elementor-button .elementor-button-content-wrapper,
.elementor-10874 .elementor-element.elementor-element-4e9ad279 .elementor-button .elementor-button-text,
.elementor-10874 .elementor-element.elementor-element-4e9ad279 .elementor-button .elementor-button-icon {
    position: relative !important;
    z-index: 3 !important;
}

/* Base estructural de los dos cuadrados negros acelerados por hardware */
.elementor-10874 .elementor-element.elementor-element-4e9ad279 .elementor-button::before,
.elementor-10874 .elementor-element.elementor-element-4e9ad279 .elementor-button::after {
    content: '' !important;
    position: absolute !important;
    background-color: #000000 !important; /* Tu color negro de hover */
    z-index: -1 !important;
    will-change: transform !important;
}

/* CUADRADO IZQUIERDO: Centrado verticalmente */
.elementor-10874 .elementor-element.elementor-element-4e9ad279 .elementor-button::before {
    top: 50% !important;
    left: -40px !important;
    width: 20px !important;   
    height: 20px !important;  
    transform: translate(0, -50%) scale(1) !important;
    transition: left 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), 
                transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1) 0.35s !important;
}

/* CUADRADO DERECHO: Lee dinámicamente el 100% de la altura que le des en Elementor */
.elementor-10874 .elementor-element.elementor-element-4e9ad279 .elementor-button::after {
    top: 0 !important;
    right: -40px !important;
    width: 15px !important;   
    height: 100% !important;  /* <--- TOMA EL ALTO DINÁMICO DE TU MENÚ VISUAL */
    transform: scaleX(1) !important;
    transform-origin: left center !important;
    transition: right 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), 
                transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s !important;
}

/* --- DETONADORES EN HOVER PURAMENTE NATIVOS --- */

/* El izquierdo viaja al centro geométrico y se expande en cruz */
.elementor-10874 .elementor-element.elementor-element-4e9ad279 .elementor-button:hover::before {
    left: 50% !important;
    transform: translate(-50%, -50%) scale(40) !important; /* Multiplicador alto para cubrir botones grandes */
}

/* El derecho recorre todo el botón hasta el borde izquierdo y se estira */
.elementor-10874 .elementor-element.elementor-element-4e9ad279 .elementor-button:hover::after {
    right: 100% !important;
    transform: scaleX(50) !important; /* Multiplicador alto para cubrir botones anchos */
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-a787ed1 *//* --- CONTROL DINÁMICO: SE ADAPTA AL TAMAÑO DE ELEMENTOR --- */
.elementor-10874 .elementor-element.elementor-element-a787ed1 .elementor-button {
    position: relative !important;
    overflow: hidden !important; /* Corta los cuadrados excedentes */
    z-index: 1 !important;
    transition: color 0.3s ease !important;
    /* Eliminamos height, line-height, padding y border-radius fijos */
}

/* Forzar que el texto flote por encima de la animación */
.elementor-10874 .elementor-element.elementor-element-a787ed1 .elementor-button .elementor-button-content-wrapper,
.elementor-10874 .elementor-element.elementor-element-a787ed1 .elementor-button .elementor-button-text,
.elementor-10874 .elementor-element.elementor-element-a787ed1 .elementor-button .elementor-button-icon {
    position: relative !important;
    z-index: 3 !important;
}

/* Base estructural de los dos cuadrados negros acelerados por hardware */
.elementor-10874 .elementor-element.elementor-element-a787ed1 .elementor-button::before,
.elementor-10874 .elementor-element.elementor-element-a787ed1 .elementor-button::after {
    content: '' !important;
    position: absolute !important;
    background-color: #000000 !important; /* Tu color negro de hover */
    z-index: -1 !important;
    will-change: transform !important;
}

/* CUADRADO IZQUIERDO: Centrado verticalmente */
.elementor-10874 .elementor-element.elementor-element-a787ed1 .elementor-button::before {
    top: 50% !important;
    left: -40px !important;
    width: 20px !important;   
    height: 20px !important;  
    transform: translate(0, -50%) scale(1) !important;
    transition: left 0.35s cubic-bezier(0.25, 0.8, 0.25, 1), 
                transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1) 0.35s !important;
}

/* CUADRADO DERECHO: Lee dinámicamente el 100% de la altura que le des en Elementor */
.elementor-10874 .elementor-element.elementor-element-a787ed1 .elementor-button::after {
    top: 0 !important;
    right: -40px !important;
    width: 15px !important;   
    height: 100% !important;  /* <--- TOMA EL ALTO DINÁMICO DE TU MENÚ VISUAL */
    transform: scaleX(1) !important;
    transform-origin: left center !important;
    transition: right 0.4s cubic-bezier(0.25, 0.8, 0.25, 1), 
                transform 0.25s cubic-bezier(0.25, 0.8, 0.25, 1) 0.4s !important;
}

/* --- DETONADORES EN HOVER PURAMENTE NATIVOS --- */

/* El izquierdo viaja al centro geométrico y se expande en cruz */
.elementor-10874 .elementor-element.elementor-element-a787ed1 .elementor-button:hover::before {
    left: 50% !important;
    transform: translate(-50%, -50%) scale(40) !important; /* Multiplicador alto para cubrir botones grandes */
}

/* El derecho recorre todo el botón hasta el borde izquierdo y se estira */
.elementor-10874 .elementor-element.elementor-element-a787ed1 .elementor-button:hover::after {
    right: 100% !important;
    transform: scaleX(50) !important; /* Multiplicador alto para cubrir botones anchos */
}/* End custom CSS */