.elementor-3938 .elementor-element.elementor-element-1b6e387{--display:flex;border-style:solid;--border-style:solid;border-width:0px 0px 1px 0px;--border-top-width:0px;--border-right-width:0px;--border-bottom-width:1px;--border-left-width:0px;border-color:#FFFFFF1F;--border-color:#FFFFFF1F;--padding-top:1%;--padding-bottom:1%;--padding-left:15%;--padding-right:15%;--z-index:999;}.elementor-widget-image .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-3938 .elementor-element.elementor-element-63349a0{width:var( --container-widget-width, 25% );max-width:25%;--container-widget-width:25%;--container-widget-flex-grow:0;text-align:start;}.elementor-3938 .elementor-element.elementor-element-63349a0 img{width:60%;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1366px){.elementor-3938 .elementor-element.elementor-element-1b6e387{--padding-top:2%;--padding-bottom:2%;--padding-left:8%;--padding-right:8%;}}@media(max-width:1024px){.elementor-3938 .elementor-element.elementor-element-1b6e387{--padding-top:2%;--padding-bottom:2%;--padding-left:5%;--padding-right:5%;}}@media(max-width:767px){.elementor-3938 .elementor-element.elementor-element-1b6e387{--padding-top:5%;--padding-bottom:5%;--padding-left:8%;--padding-right:8%;}.elementor-3938 .elementor-element.elementor-element-63349a0{--container-widget-width:50%;--container-widget-flex-grow:0;width:var( --container-widget-width, 50% );max-width:50%;}.elementor-3938 .elementor-element.elementor-element-63349a0 img{width:100%;}}/* Start custom CSS for container, class: .elementor-element-1b6e387 *//* =========================================================
   MENÚ SUPERIOR FIJO
   - Transparente al inicio
   - Fondo negro semitransparente al desplazarse
   - Se desliza hacia arriba al bajar
   - Reaparece suavemente al subir
========================================================= */

.menu-superior-sticky {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 99999;

    width: 100%;

    background-color: transparent;
    border-bottom: 1px solid transparent;
    box-shadow: none;

    transform: translate3d(0, 0, 0);
    opacity: 1;
    visibility: visible;
    filter: blur(0);

    transition:
        transform 0.5s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.38s ease,
        filter 0.4s ease,
        background-color 0.35s ease,
        backdrop-filter 0.35s ease,
        border-color 0.35s ease,
        box-shadow 0.35s ease;

    will-change: transform, opacity, filter;
}

/* Fondo al separarse de la parte superior */
.menu-superior-sticky.menu-con-fondo {
    background-color: rgba(0, 0, 0, 0.5);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);

    border-bottom-color: rgba(255, 255, 255, 0.1);
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.16);
}

/* Animación al ocultarse mientras se baja */
.menu-superior-sticky.menu-oculto {
    transform: translate3d(0, calc(-100% - 8px), 0);
    opacity: 0;
    visibility: hidden;
    filter: blur(3px);
    pointer-events: none;

    /*
     * Visibility espera hasta que termine la animación,
     * evitando que el menú desaparezca de golpe.
     */
    transition:
        transform 0.48s cubic-bezier(0.4, 0, 0.2, 1),
        opacity 0.32s ease,
        filter 0.35s ease,
        visibility 0s linear 0.48s,
        background-color 0.35s ease,
        backdrop-filter 0.35s ease;
}

/* Animación al mostrarse mientras se sube */
.menu-superior-sticky.menu-visible {
    transform: translate3d(0, 0, 0);
    opacity: 1;
    visibility: visible;
    filter: blur(0);
    pointer-events: auto;

    transition:
        transform 0.55s cubic-bezier(0.22, 1, 0.36, 1),
        opacity 0.35s ease,
        filter 0.35s ease,
        visibility 0s linear 0s,
        background-color 0.35s ease,
        backdrop-filter 0.35s ease;
}

/* Evita restricciones de anchura de Elementor */
.menu-superior-sticky > .e-con-inner,
.menu-superior-sticky > .elementor-container {
    width: 100%;
    max-width: 100%;
}

/* Mantiene los submenús por encima */
.menu-superior-sticky .sub-menu {
    z-index: 100000;
}

/* Tablet y móvil */
@media (max-width: 1024px) {
    .menu-superior-sticky.menu-con-fondo {
        background-color: rgba(0, 0, 0, 0.72);

        backdrop-filter: blur(14px);
        -webkit-backdrop-filter: blur(14px);
    }

    .menu-superior-sticky.menu-oculto {
        transform: translate3d(0, calc(-100% - 5px), 0);
        filter: blur(2px);
    }
}

/* Reduce animaciones cuando el usuario lo solicita */
@media (prefers-reduced-motion: reduce) {
    .menu-superior-sticky,
    .menu-superior-sticky.menu-oculto,
    .menu-superior-sticky.menu-visible {
        filter: none;
        transition:
            transform 0.15s ease,
            opacity 0.15s ease,
            background-color 0.2s ease;
    }
}/* End custom CSS */