.elementor-75 .elementor-element.elementor-element-1acfe88{--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-75 .elementor-element.elementor-element-61aaf32{width:var( --container-widget-width, 0% );max-width:0%;--container-widget-width:0%;--container-widget-flex-grow:0;}.elementor-75 .elementor-element.elementor-element-61aaf32 > .elementor-widget-container{margin:-120rem -120rem -120rem -120rem;}.elementor-75 .elementor-element.elementor-element-5df72c33 > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-75 .elementor-element.elementor-element-5df72c33:not(.elementor-motion-effects-element-type-background), .elementor-75 .elementor-element.elementor-element-5df72c33 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF00;}.elementor-75 .elementor-element.elementor-element-5df72c33 > .elementor-container{min-height:5vh;}.elementor-75 .elementor-element.elementor-element-5df72c33{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:-25px;margin-bottom:-61px;z-index:999;}.elementor-75 .elementor-element.elementor-element-5df72c33 > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-75 .elementor-element.elementor-element-7c6691fa.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-75 .elementor-element.elementor-element-7c6691fa.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-75 .elementor-element.elementor-element-7c6691fa.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-widget-theme-site-logo .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-75 .elementor-element.elementor-element-5e217db6{width:var( --container-widget-width, 5rem );max-width:5rem;--container-widget-width:5rem;--container-widget-flex-grow:0;align-self:center;text-align:center;}.elementor-75 .elementor-element.elementor-element-5e217db6 > .elementor-widget-container{margin:-0.5rem 0rem 0rem 0rem;}.elementor-bc-flex-widget .elementor-75 .elementor-element.elementor-element-39dd0ae2.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-75 .elementor-element.elementor-element-39dd0ae2.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-75 .elementor-element.elementor-element-39dd0ae2.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-widget-nav-menu .elementor-nav-menu .elementor-item{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item{color:var( --e-global-color-text );fill:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:hover,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-widget-nav-menu .elementor-nav-menu--main .elementor-item:focus{color:var( --e-global-color-accent );fill:var( --e-global-color-accent );}.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-widget-nav-menu .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:var( --e-global-color-accent );}.elementor-widget-nav-menu .e--pointer-framed .elementor-item:before,
					.elementor-widget-nav-menu .e--pointer-framed .elementor-item:after{border-color:var( --e-global-color-accent );}.elementor-widget-nav-menu{--e-nav-menu-divider-color:var( --e-global-color-text );}.elementor-widget-nav-menu .elementor-nav-menu--dropdown .elementor-item, .elementor-widget-nav-menu .elementor-nav-menu--dropdown  .elementor-sub-item{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-75 .elementor-element.elementor-element-1efb16a{width:var( --container-widget-width, 87.937% );max-width:87.937%;--container-widget-width:87.937%;--container-widget-flex-grow:0;z-index:50;--e-nav-menu-horizontal-menu-item-margin:calc( 25px / 2 );}.elementor-75 .elementor-element.elementor-element-1efb16a.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-75 .elementor-element.elementor-element-1efb16a .elementor-menu-toggle{margin:0 auto;}.elementor-75 .elementor-element.elementor-element-1efb16a .elementor-nav-menu .elementor-item{font-family:"Nunito", Sans-serif;font-weight:500;}.elementor-75 .elementor-element.elementor-element-1efb16a .elementor-nav-menu--main .elementor-item{color:#FFFFFF;fill:#FFFFFF;}.elementor-75 .elementor-element.elementor-element-1efb16a .elementor-nav-menu--main .elementor-item:hover,
					.elementor-75 .elementor-element.elementor-element-1efb16a .elementor-nav-menu--main .elementor-item.elementor-item-active,
					.elementor-75 .elementor-element.elementor-element-1efb16a .elementor-nav-menu--main .elementor-item.highlighted,
					.elementor-75 .elementor-element.elementor-element-1efb16a .elementor-nav-menu--main .elementor-item:focus{color:#2E86AB;fill:#2E86AB;}.elementor-75 .elementor-element.elementor-element-1efb16a .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:before,
					.elementor-75 .elementor-element.elementor-element-1efb16a .elementor-nav-menu--main:not(.e--pointer-framed) .elementor-item:after{background-color:#2E86AB;}.elementor-75 .elementor-element.elementor-element-1efb16a .e--pointer-framed .elementor-item:before,
					.elementor-75 .elementor-element.elementor-element-1efb16a .e--pointer-framed .elementor-item:after{border-color:#2E86AB;}.elementor-75 .elementor-element.elementor-element-1efb16a .elementor-nav-menu--main:not(.elementor-nav-menu--layout-horizontal) .elementor-nav-menu > li:not(:last-child){margin-bottom:25px;}.elementor-widget-button .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-75 .elementor-element.elementor-element-7c9958a0 .elementor-button{background-color:transparent;font-family:"Nunito", Sans-serif;font-weight:500;background-image:linear-gradient(135deg, #4DA8DA 0%, #2E86AB 100%);border-radius:50px 50px 50px 50px;}.elementor-75 .elementor-element.elementor-element-7c9958a0{width:var( --container-widget-width, 11.823% );max-width:11.823%;--container-widget-width:11.823%;--container-widget-flex-grow:0;}.elementor-75 .elementor-element.elementor-element-7c9958a0 > .elementor-widget-container{margin:0px 0px 0px 0px;}.elementor-75 .elementor-element.elementor-element-7c9958a0.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-widget-icon.elementor-view-stacked .elementor-icon{background-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-widget-icon.elementor-view-framed .elementor-icon, .elementor-widget-icon.elementor-view-default .elementor-icon svg{fill:var( --e-global-color-primary );}.elementor-75 .elementor-element.elementor-element-4ca47fc{width:var( --container-widget-width, 58.153% );max-width:58.153%;--container-widget-width:58.153%;--container-widget-flex-grow:0;}.elementor-75 .elementor-element.elementor-element-4ca47fc.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-75 .elementor-element.elementor-element-4ca47fc .elementor-icon-wrapper{text-align:center;}.elementor-75 .elementor-element.elementor-element-4ca47fc.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;}.elementor-75 .elementor-element.elementor-element-4ca47fc.elementor-view-framed .elementor-icon, .elementor-75 .elementor-element.elementor-element-4ca47fc.elementor-view-default .elementor-icon{color:#FFFFFF;border-color:#FFFFFF;}.elementor-75 .elementor-element.elementor-element-4ca47fc.elementor-view-framed .elementor-icon, .elementor-75 .elementor-element.elementor-element-4ca47fc.elementor-view-default .elementor-icon svg{fill:#FFFFFF;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(min-width:769px){.elementor-75 .elementor-element.elementor-element-7c6691fa{width:19.51%;}.elementor-75 .elementor-element.elementor-element-39dd0ae2{width:74.926%;}.elementor-75 .elementor-element.elementor-element-6c96262{width:4.874%;}}@media(max-width:1200px) and (min-width:769px){.elementor-75 .elementor-element.elementor-element-39dd0ae2{width:67%;}.elementor-75 .elementor-element.elementor-element-6c96262{width:13%;}}@media(max-width:1200px){.elementor-75 .elementor-element.elementor-element-5e217db6 > .elementor-widget-container{margin:-0.3rem 0rem 0rem 0rem;}.elementor-75 .elementor-element.elementor-element-5e217db6{--container-widget-width:5rem;--container-widget-flex-grow:0;width:var( --container-widget-width, 5rem );max-width:5rem;}.elementor-75 .elementor-element.elementor-element-39dd0ae2.elementor-column > .elementor-widget-wrap{justify-content:flex-end;}.elementor-75 .elementor-element.elementor-element-1efb16a{width:var( --container-widget-width, 34px );max-width:34px;--container-widget-width:34px;--container-widget-flex-grow:0;}.elementor-75 .elementor-element.elementor-element-6c96262.elementor-column > .elementor-widget-wrap{justify-content:flex-end;}.elementor-75 .elementor-element.elementor-element-4ca47fc{width:var( --container-widget-width, 1.5rem );max-width:1.5rem;--container-widget-width:1.5rem;--container-widget-flex-grow:0;}.elementor-75 .elementor-element.elementor-element-4ca47fc > .elementor-widget-container{margin:0rem 0rem 0rem 0rem;}.elementor-75 .elementor-element.elementor-element-4ca47fc.elementor-element{--align-self:flex-end;--order:99999 /* order end hack */;--flex-grow:1;--flex-shrink:0;}.elementor-75 .elementor-element.elementor-element-4ca47fc .elementor-icon-wrapper{text-align:end;}.elementor-75 .elementor-element.elementor-element-4ca47fc .elementor-icon{font-size:1.5rem;}.elementor-75 .elementor-element.elementor-element-4ca47fc .elementor-icon svg{height:1.5rem;}}@media(max-width:768px){.elementor-75 .elementor-element.elementor-element-7c6691fa{width:30%;}.elementor-75 .elementor-element.elementor-element-5e217db6 > .elementor-widget-container{margin:-0.3rem 0rem 0rem 0rem;}.elementor-75 .elementor-element.elementor-element-5e217db6{--container-widget-width:5rem;--container-widget-flex-grow:0;width:var( --container-widget-width, 5rem );max-width:5rem;}.elementor-75 .elementor-element.elementor-element-39dd0ae2{width:45%;}.elementor-75 .elementor-element.elementor-element-39dd0ae2.elementor-column > .elementor-widget-wrap{justify-content:flex-end;}.elementor-75 .elementor-element.elementor-element-39dd0ae2 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;}.elementor-75 .elementor-element.elementor-element-1efb16a{width:var( --container-widget-width, 92.125px );max-width:92.125px;--container-widget-width:92.125px;--container-widget-flex-grow:0;}.elementor-75 .elementor-element.elementor-element-7c9958a0{--container-widget-width:0px;--container-widget-flex-grow:0;width:var( --container-widget-width, 0px );max-width:0px;}.elementor-75 .elementor-element.elementor-element-6c96262{width:24%;}.elementor-75 .elementor-element.elementor-element-4ca47fc{width:var( --container-widget-width, 1.5rem );max-width:1.5rem;--container-widget-width:1.5rem;--container-widget-flex-grow:0;}}/* Start custom CSS for nav-menu, class: .elementor-element-1efb16a */.navbar{
    text-align: right;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-7c9958a0 *//* Oculta el botón original en los mismos tamaños que el menú móvil */
@media (max-width: 1172px) {
    .btn-original-desktop {
        display: none !important;
    }
    .contactBtn{
        display: none !important;
    }
}/* End custom CSS */
/* Start custom CSS for section, class: .elementor-element-5df72c33 *//* Transición suave del header */
#navbar {
    transition: all 0.3s ease;
}

header{
    transition: all 0.3s ease;
}

/* Estado cuando se hace scroll (clase que añadiremos con JS) */
#navbar.nav-scrolled {
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(12px);
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}

#navbar.nav-scrolled .elementor-item {
    color: #4b5563 !important; /* Gris oscuro */
}

#navbar.nav-scrolled .elementor-item:hover {
    color: #2E86AB !important; /* Azul primario */
}

/* Animación de subrayado en el menú */
.elementor-nav-menu .elementor-item {
    position: relative;
    transition: transform .18s ease !important;
}

.elementor-nav-menu .elementor-item::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -6px;
    height: 2px;
    width: 0%;
    background: linear-gradient(90deg, #2E86AB, #7CB587);
    transition: width .22s cubic-bezier(.2, .9, .3, 1);
    border-radius: 2px;

}

.contactBtn::after{
    background: linear-gradient(90deg, #2E86AB, #7CB587);
    transition: width .22s cubic-bezier(.2, .9, .3, 1);
}

.elementor-nav-menu .elementor-item:hover {
    transform: translateY(-3px);
}

.elementor-nav-menu .elementor-item:hover::after {
    width: 100%;
}


/* Animaciones para ocultar/mostrar */
@keyframes slideHeaderUp {
    from { transform: translateY(0); }
    to { transform: translateY(-120%); }
}

@keyframes slideHeaderDown {
    from { transform: translateY(-120%); }
    to { transform: translateY(0); }
}



/* Cuando el header se vuelve "sticky" tras el scroll */
.elementor-75 .elementor-element.elementor-element-5df72c33.elementor-sticky--effects {
    background-color: rgba(255, 255, 255, 0.95) !important; /* Fondo casi sólido */
    backdrop-filter: blur(12px); /* Tu efecto de desenfoque */
    transition: all 0.3s ease;
}

/* 1. Color sólido para las letras en el menú blanco (sin pasar el ratón) */
.elementor-75 .elementor-element.elementor-element-5df72c33.elementor-sticky--effects .elementor-item {
    color: #4b5563 !important;
    background: none !important; /* Quitamos cualquier gradiente previo */
    -webkit-background-clip: initial !important;
    background-clip: initial !important;
}

/* 2. Efecto Gradiente SOLO al pasar el ratón (Hover) */
.elementor-75 .elementor-element.elementor-element-5df72c33.elementor-sticky--effects .elementor-item:hover {
    background: linear-gradient(90deg, #2E86AB, #7CB587) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    transition: all 0.3s ease;
}

/* Forzamos que la transición sea fluida */
.elementor-75 .elementor-element.elementor-element-5df72c33 {
    transform: translateY(0);
    transition: transform 0.4s ease-in-out !important;
}

/* Cuando el JS añade esta clase, el header sube y desaparece */
.elementor-75 .elementor-element.elementor-element-5df72c33.header-hide {
    transform: translateY(-100%) !important;
}

/* Cuando el JS añade esta clase, el header vuelve a su sitio */
.elementor-75 .elementor-element.elementor-element-5df72c33.header-show {
    transform: translateY(0) !important;
}

/* 1. Color por defecto (Header transparente) */
.icono-burger-adaptativo i {
    color: #FFFFFF !important;
    transition: color 0.3s ease;
}

/* 2. Color cuando el header se vuelve blanco (Sticky) */
.elementor-75 .elementor-element.elementor-element-5df72c33.elementor-sticky--effects .icono-burger-adaptativo i {
    color: #4b5563 !important; /* El mismo gris oscuro que usamos en el menú */
}

/* 3. Ajuste para el estado Hover en ambos casos */
.icono-burger-adaptativo:hover i {
    color: #2E86AB !important; /* Azul primario al pasar el ratón */
}

/* Transición suave por defecto para la cabecera */
[data-elementor-type="header"] {
    transition: transform 0.01s ease-in-out !important;
}

/* Clase mágica para ocultarlo hacia arriba */
.header-oculto {
    transform: translateY(-100%) !important;
}

/* --- SOLUCIÓN PARA EL ELEMENTO ACTIVO (INICIO) --- */

/* 1. Estado inicial (Header transparente sobre la imagen) */
/* Forzamos el texto a blanco para no perder contraste */
.elementor-nav-menu .elementor-item.elementor-item-active {
    color: #FFFFFF !important; 
}

/* Dejamos la línea subrayada "encendida" al 100% para marcar la página actual */
.elementor-nav-menu .elementor-item.elementor-item-active::after {
    width: 100%; 
}

/* 2. Estado Scrolled / Sticky (Header con fondo blanco) */
/* Al hacer scroll, el texto de la página activa toma el gradiente (igual que tu hover) */
.elementor-75 .elementor-element.elementor-element-5df72c33.elementor-sticky--effects .elementor-item.elementor-item-active {
    background: linear-gradient(90deg, #2E86AB, #7CB587) !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
}/* End custom CSS */
/* Start custom CSS *//* Estilo para el botón dentro del menú desplegable de Elementor (Móvil/Tablet) */
@media (max-width: 1172px) {
    .boton-menu-movil a {
        background: linear-gradient(135deg, #4DA8DA 0%, #2E86AB 100%) !important; /* Gradiente original de Hécate */
        color: #ffffff !important;
        text-align: center !important;
        border-radius: 9999px !important; /* Estilo rounded-full */
        margin-top: 1rem !important;
        padding: 12px 24px !important;
        font-weight: 600 !important;
        display: block !important;
        transition: all 0.3s ease !important;
        box-shadow: 0 4px 15px rgba(46, 134, 171, 0.2);
    }

    .boton-menu-movil a:hover {
        background: linear-gradient(135deg, #2E86AB 0%, #1a5f7a 100%) !important;
        transform: translateY(-2px) !important;
    }
}

/* Forzar menú móvil a partir de 1172px */
@media (max-width: 1172px) {
    /* 1. Esconder el menú de escritorio */
    .elementor-nav-menu--main {
        display: none !important;
    }

    /* 2. Mostrar el botón de hamburguesa */
    .elementor-menu-toggle {
        display: flex !important;
    }

    /* 3. Asegurar que el botón "Contacto" de escritorio se oculte también */
    .btn-original-desktop {
        display: none !important;
    }
    
    .contactBtn{
        display: none;
    }
    
    .boton-menu-movil {
        display: none !important;
    }
    /* 4. Ajustar el contenedor para que el logo y la hamburguesa se separen */
    #navbar .elementor-container {
        justify-content: space-between !important;
    }
}

/* Evita que este ítem se vea en Escritorio para que no choque con tu botón azul principal */
@media (min-width: 1024px) {
    .boton-menu-movil {
        display: none !important;
    }
}

.elementor-nav-menu--main{
    color: black;
}

@media (max-width: 1172px){
    .elementor-menu-toggle{
        display: flex !important;
    }
    
    .contactBtn{
        display: none !important;
    }
}


/* 1. Color por defecto (Header transparente) */
.icono-burger-adaptativo i {
    color: #FFFFFF !important;
    transition: color 0.3s ease;
}

/* 2. Color cuando el header se vuelve blanco (Sticky) */
.elementor-75.elementor-sticky--effects .icono-burger-adaptativo i {
    color: #4b5563 !important; /* El mismo gris oscuro que usamos en el menú */
}

/* 3. Ajuste para el estado Hover en ambos casos */
.icono-burger-adaptativo:hover i {
    color: #2E86AB !important; /* Azul primario al pasar el ratón */
}/* End custom CSS */