.elementor-11357 .elementor-element.elementor-element-3d1aa59{--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-11357 .elementor-element.elementor-element-c535d43{--display:flex;--min-height:440px;--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;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--overflow:hidden;--border-radius:4px 4px 4px 4px;box-shadow:0px 0px 4px 0px rgba(0,0,0,0.5);--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-11357 .elementor-element.elementor-element-c535d43:not(.elementor-motion-effects-element-type-background), .elementor-11357 .elementor-element.elementor-element-c535d43 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#95BFE4;}.elementor-11357 .elementor-element.elementor-element-6719c8a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-11357 .elementor-element.elementor-element-6719c8a img{width:100%;height:250px;object-fit:cover;object-position:top center;}.elementor-11357 .elementor-element.elementor-element-819e62c{--display:flex;--position:absolute;--min-height:120px;--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;--justify-content:space-evenly;--align-items:center;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--padding-top:10px;--padding-bottom:10px;--padding-left:20px;--padding-right:20px;bottom:0px;}.elementor-11357 .elementor-element.elementor-element-819e62c:not(.elementor-motion-effects-element-type-background), .elementor-11357 .elementor-element.elementor-element-819e62c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#95BFE4;}body:not(.rtl) .elementor-11357 .elementor-element.elementor-element-819e62c{left:0px;}body.rtl .elementor-11357 .elementor-element.elementor-element-819e62c{right:0px;}.elementor-11357 .elementor-element.elementor-element-c73a34a{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}.elementor-11357 .elementor-element.elementor-element-c73a34a .elementor-icon-wrapper{text-align:center;}.elementor-11357 .elementor-element.elementor-element-c73a34a.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;}.elementor-11357 .elementor-element.elementor-element-c73a34a.elementor-view-framed .elementor-icon, .elementor-11357 .elementor-element.elementor-element-c73a34a.elementor-view-default .elementor-icon{color:#FFFFFF;border-color:#FFFFFF;}.elementor-11357 .elementor-element.elementor-element-c73a34a.elementor-view-framed .elementor-icon, .elementor-11357 .elementor-element.elementor-element-c73a34a.elementor-view-default .elementor-icon svg{fill:#FFFFFF;}.elementor-11357 .elementor-element.elementor-element-c73a34a .elementor-icon{font-size:35px;}.elementor-11357 .elementor-element.elementor-element-c73a34a .elementor-icon svg{height:35px;}.elementor-11357 .elementor-element.elementor-element-bb61fcf{text-align:center;}.elementor-11357 .elementor-element.elementor-element-bb61fcf .elementor-heading-title{font-family:"Titillium Web", Sans-serif;font-size:18px;font-weight:600;text-transform:none;font-style:normal;text-decoration:none;color:#FFFFFF;}.elementor-11357 .elementor-element.elementor-element-ecbfbe0{text-align:center;font-family:"Titillium Web", Sans-serif;font-size:14px;font-weight:400;text-transform:none;font-style:normal;text-decoration:none;color:#FFFFFF;}.elementor-11357 .elementor-element.elementor-element-4f63ffb .elementor-button{background-color:#71A9DA;font-family:"Titillium Web", Sans-serif;font-size:1.8rem;font-weight:700;line-height:12px;fill:#FFFFFF;color:#FFFFFF;box-shadow:0px 0px 3px 0px rgba(149, 191.00000000000009, 228, 0.5);border-radius:5px 5px 5px 5px;padding:8px 8px 8px 8px;}.elementor-11357 .elementor-element.elementor-element-4f63ffb{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:5px 5px 5px 5px;}/* Start custom CSS for button, class: .elementor-element-4f63ffb *//* --- CONTROL DINÁMICO: SE ADAPTA AL TAMAÑO DE ELEMENTOR --- */
.elementor-11357 .elementor-element.elementor-element-4f63ffb .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-11357 .elementor-element.elementor-element-4f63ffb .elementor-button .elementor-button-content-wrapper,
.elementor-11357 .elementor-element.elementor-element-4f63ffb .elementor-button .elementor-button-text,
.elementor-11357 .elementor-element.elementor-element-4f63ffb .elementor-button .elementor-button-icon {
    position: relative !important;
    z-index: 3 !important;
}

/* Base estructural de los dos cuadrados negros acelerados por hardware */
.elementor-11357 .elementor-element.elementor-element-4f63ffb .elementor-button::before,
.elementor-11357 .elementor-element.elementor-element-4f63ffb .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-11357 .elementor-element.elementor-element-4f63ffb .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-11357 .elementor-element.elementor-element-4f63ffb .elementor-button::after {
    top: 0 !important;
    right: -40px !important;
    width: 15px !important;   
    height: 100% !important;  /* &lt;--- 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-11357 .elementor-element.elementor-element-4f63ffb .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-11357 .elementor-element.elementor-element-4f63ffb .elementor-button:hover::after {
    right: 100% !important;
    transform: scaleX(50) !important; /* Multiplicador alto para cubrir botones anchos */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-819e62c *//* 1. ESTADO EN REPOSO DE LA PERSIANA */
.elementor-11357 .elementor-element.elementor-element-819e62c {
    /* Movimiento fluido idéntico al código web */
    transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
    will-change: transform, height;
    
    /* EL CINTURÓN AZUL TRANSPARENTE: Forzamos que se muestre al frente */
    box-shadow: 0 -20px 0 0 rgba(149, 191, 228, 0.45) !important;
    
    /* SOLUCIÓN: Evita que Elementor recorte la sombra o la oculte bajo la imagen */
    overflow: visible !important;
    z-index: 10 !important;
    position: relative !important;
}

/* 2. OCULTA EL BOTÓN INICIALMENTE */
.elementor-11357 .elementor-element.elementor-element-819e62c .elementor-widget-button {
    opacity: 0;
    visibility: hidden;
    transform: translateY(20px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

/* 3. EFECTO HOVER MAESTRO: Detecta el cursor a través de las capas */
:vertical:hover .elementor-11357 .elementor-element.elementor-element-819e62c,
.swiper-slide:hover .elementor-11357 .elementor-element.elementor-element-819e62c,
.elementor-testimonial-item:hover .elementor-11357 .elementor-element.elementor-element-819e62c,
.elementor-slide-content:hover .elementor-11357 .elementor-element.elementor-element-819e62c {
    /* Desplaza la persiana hacia arriba para revelar el botón */
    transform: translateY(-20px) !important; 
}

/* 4. REVELA EL BOTÓN FLUIDO AL SUBIR */
:vertical:hover .elementor-11357 .elementor-element.elementor-element-819e62c .elementor-widget-button,
.swiper-slide:hover .elementor-11357 .elementor-element.elementor-element-819e62c .elementor-widget-button,
.elementor-testimonial-item:hover .elementor-11357 .elementor-element.elementor-element-819e62c .elementor-widget-button,
.elementor-slide-content:hover .elementor-11357 .elementor-element.elementor-element-819e62c .elementor-widget-button {
    opacity: 1;
    visibility: visible;
    transform: translateY(0) !important;
    transition-delay: 0.1s; /* Retraso mínimo para sincronizar */
}

/* 5. EFECTO HOVER DIRECTO EN EL BOTÓN */
.elementor-11357 .elementor-element.elementor-element-819e62c .elementor-button:hover {
    background-color: #ffffff !important;
    color: #95BFE4 !important;
}/* End custom CSS */