.elementor-429 .elementor-element.elementor-element-51813496{--display:flex;--min-height:100px;--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:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:0%;--margin-bottom:5%;--margin-left:0%;--margin-right:0%;--padding-top:0%;--padding-bottom:0%;--padding-left:8%;--padding-right:8%;--z-index:95;}.elementor-429 .elementor-element.elementor-element-51813496:not(.elementor-motion-effects-element-type-background), .elementor-429 .elementor-element.elementor-element-51813496 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#000000;}.elementor-429 .elementor-element.elementor-element-168b8001{--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;--justify-content:center;--align-items:flex-start;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.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-429 .elementor-element.elementor-element-78010a9d{text-align:start;}.elementor-429 .elementor-element.elementor-element-78010a9d img{width:100%;height:55px;object-fit:contain;object-position:center center;}.elementor-429 .elementor-element.elementor-element-4460d257{--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;--justify-content:center;--align-items:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.elementor-429 .elementor-element.elementor-element-0bec0fa{--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;--justify-content:flex-end;--align-items:center;--gap:20px 20px;--row-gap:20px;--column-gap:20px;--padding-top:0%;--padding-bottom:0%;--padding-left:0%;--padding-right:0%;}.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-429 .elementor-element.elementor-element-a646b27 .elementor-button{font-family:"Space Grotesk", Sans-serif;font-size:13px;font-weight:700;fill:#000000;color:#000000;}.elementor-429 .elementor-element.elementor-element-7e734b0{--display:flex;}.elementor-429 .elementor-element.elementor-element-f092229{--display:flex;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}@media(max-width:1024px){.elementor-429 .elementor-element.elementor-element-51813496{--min-height:85px;--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--padding-top:0%;--padding-bottom:0%;--padding-left:5%;--padding-right:5%;}.elementor-429 .elementor-element.elementor-element-78010a9d img{width:231px;max-width:60%;height:36px;}.elementor-429 .elementor-element.elementor-element-4460d257{--justify-content:center;--align-items:center;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}.elementor-429 .elementor-element.elementor-element-0bec0fa{--justify-content:center;--align-items:flex-end;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );}}@media(max-width:767px){.elementor-429 .elementor-element.elementor-element-51813496{--min-height:65px;}.elementor-429 .elementor-element.elementor-element-168b8001{--width:50%;--min-height:50px;}.elementor-429 .elementor-element.elementor-element-78010a9d img{width:216px;max-width:60%;height:35px;}.elementor-429 .elementor-element.elementor-element-4460d257{--width:20%;}.elementor-429 .elementor-element.elementor-element-0bec0fa{--width:80%;}}@media(min-width:768px){.elementor-429 .elementor-element.elementor-element-168b8001{--width:20%;}.elementor-429 .elementor-element.elementor-element-4460d257{--width:60%;}.elementor-429 .elementor-element.elementor-element-0bec0fa{--width:20%;}}@media(max-width:1024px) and (min-width:768px){.elementor-429 .elementor-element.elementor-element-168b8001{--width:30%;}.elementor-429 .elementor-element.elementor-element-4460d257{--width:30%;}.elementor-429 .elementor-element.elementor-element-0bec0fa{--width:30%;}}/* Start custom CSS for html, class: .elementor-element-c6784d9 */.elementor-button-text{
    color: #000 !important;
}/* End custom CSS */
/* Start custom CSS for button, class: .elementor-element-a646b27 *//* 1. Estado Normal (Fondo Blanco, Texto Oscuro, Borde Transparente) */
.elementor-429 .elementor-element.elementor-element-a646b27 .elementor-button {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    
    /* FIX: Cambiamos 100% por max-content para que no aplaste al menú */
    width: max-content !important; 
    flex-shrink: 0 !important; /* Prohíbe que el botón se comprima de más */
    
    background-color: #ffffff !important;
    
    /* Cuadrícula Azul Técnico */
    background-image: 
        linear-gradient(rgba(0, 104, 255, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0, 104, 255, 0.1) 1px, transparent 1px) !important;
    background-size: 20px 20px !important;
    
    /* Borde Transparente y Altura Ajustada */
    border: 2px solid transparent !important; 
    padding: 15px 40px !important;
    border-radius: 0px !important;
    transition: all 0.5s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative;
    overflow: hidden;
}



/* 2. Estado Hover (Inversión Total a Negro y Blanco) */
.elementor-429 .elementor-element.elementor-element-a646b27 .elementor-button:hover {
    background-color: #000000 !important; /* Fondo Negro */
    border-color: #ffffff !important;     /* Borde Blanco */
    
    /* Cuadrícula se vuelve Blanca traslúcida */
    background-image: 
        linear-gradient(rgba(255, 255, 255, 0.15) 1px, transparent 1px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.15) 1px, transparent 1px) !important;
    
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5) !important;
}

/* Texto y Flecha en Hover */
.elementor-429 .elementor-element.elementor-element-a646b27 .elementor-button:hover .elementor-button-text,
.elementor-429 .elementor-element.elementor-element-a646b27 .elementor-button:hover .elementor-button-icon {
    color: #ffffff !important; /* Texto y Flecha Blancos */
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-51813496 *//* ========================================================
   SECCIÓN 1: HEADER BASE, VIDRIO Y TIPOGRAFÍA GLOBAL
   ======================================================== */
.elementor-429 .elementor-element.elementor-element-51813496 {
    position: fixed !important;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999;
    background-color: #000000 !important;
    
    /* FIX CRÍTICO: Nunca animes 'all' en un flex container fixed. 
       Solo animamos el color y el filtro del vidrio. */
    transition: background-color 0.4s ease-in-out, backdrop-filter 0.4s ease-in-out !important; 
    
    display: flex;
    align-items: center;
    flex-wrap: nowrap !important; /* Prohíbe que el header principal rompa filas */
}

.elementor-429 .elementor-element.elementor-element-51813496.header-glass {
    background-color: rgba(10, 10, 10, 0.4) !important;
    backdrop-filter: blur(15px) !important;
    -webkit-backdrop-filter: blur(15px) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* 1.1 Forzar Tipografía Space Grotesk en todo el menú */
.dicens-nav a {
    font-family: 'Space Grotesk', sans-serif !important;
}

/* 1.2 Chevrons (Flechas) Globales */
.has-children > a::after {
    content: '';
    width: 7px;
    height: 7px;
    border-right: 2px solid #ffffff; 
    border-bottom: 2px solid #ffffff;
    margin-left: 12px;
    display: inline-block;
    transition: transform 0.3s ease, border-color 0.3s ease;
}

#magic-line-dicens {
    position: absolute;
    bottom: 10px; /* Ajusta la altura según tu diseño */
    height: 2px;
    background: #ffffff;
    transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1) !important;
    pointer-events: none;
    z-index: 10;
    opacity: 0;
}

/* ========================================================
   SECCIÓN 2: MENÚ DESKTOP (SOLO COMPUTADORAS)
   ======================================================== */
@media (min-width: 1025px) {
    .dicens-nav {
        list-style: none !important;
        display: flex !important;
        flex-wrap: nowrap !important; /* FIX: Prohíbe romper la línea */
        margin: 0 !important;
        padding: 0 !important;
        position: relative;
        min-width: 0 !important; /* FIX CHROME: Resetea el cálculo base de flexbox */
    }

    .dicens-nav > li {
        position: relative;
        flex-shrink: 0 !important; /* FIX CHROME: Prohíbe que el ítem se comprima */
    }

    .dicens-nav > li > a {
        color: #ffffff !important;
        text-decoration: none !important;
        font-weight: 500;
        font-size: 16px;
        padding: 20px 25px !important;
        display: flex;
        align-items: center;
        white-space: nowrap !important; /* FIX CHROME: Evita que el texto se rompa en dos líneas */
    }

    /* Magic Line */
    #magic-line-dicens {
        position: absolute;
        bottom: 10px;
        height: 2px;
        background: white;
        transition: all 0.2s ease-out; 
        pointer-events: none;
        z-index: 10;
    }

    /* Dropdowns Desktop */
    .dicens-nav ul.dicens-submenu {
        position: absolute;
        top: 100%;
        left: 30px; 
        background-color: #000000 !important;
        flex-direction: column !important;
        min-width: 240px;
        border: 1px solid rgba(255, 255, 255, 0.15) !important;
        padding: 0 !important;
        list-style: none !important;
        visibility: hidden;
        opacity: 0;
        transform: translateY(10px);
        transition: all 0.3s ease;
        z-index: 1000;
    }

    .dicens-nav li:hover > .dicens-submenu {
        visibility: visible !important;
        opacity: 1 !important;
        transform: translateY(0);
    }

    /* Tercer nivel (Rotulación) */
    .dicens-submenu > li {
        position: relative !important;
        width: 100%;
    }

    .dicens-submenu ul.dicens-submenu {
        top: 0 !important; 
        left: 100% !important; 
        margin-left: 5px; 
        min-width: 260px; 
        display: flex !important; 
        flex-direction: column !important;
    }

    .dicens-submenu li a {
        color: #ffffff !important;
        padding: 15px 20px !important;
        font-size: 14px;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05);
        display: flex;
        justify-content: space-between;
        width: 100%;
    }

    .dicens-submenu li:hover > a {
        background-color: #ffffff !important;
        color: #000000 !important;
    }

    /* Estilos de Chevrons solo para Desktop */
    .dicens-nav > li.has-children > a::after { border-color: #888888; transform: rotate(45deg); }
    .dicens-nav > li.has-children:hover > a::after {
        border-color: #ffffff;
        transform: rotate(225deg);
        margin-bottom: -3px;
    }

    .dicens-submenu .has-children > a::after { border-color: #888888; transform: rotate(135deg); }
    .dicens-submenu .has-children:hover > a::after {
        border-color: #000000; 
        transform: rotate(-45deg);
    }
}

/* ========================================================
   SECCIÓN 3: MODO MÓVIL FULL SCREEN
   ======================================================== */
@media (max-width: 1024px) {
    
    .menu-toggle-dicens {
        display: block !important;
        position: relative;
        z-index: 1000001;
        cursor: pointer;
        padding: 10px;
    }

    .menu-toggle-dicens span {
        display: block;
        width: 25px;
        height: 2px;
        background-color: #ffffff;
        margin: 5px 0;
        transition: 0.3s;
    }

    .menu-toggle-dicens.open {
        position: fixed !important;
        top: 20px;
        right: 20px;
        width: 50px;
        height: 50px;
        background: #ffffff !important;
        border-radius: 50%;
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        padding: 0;
    }

    .menu-toggle-dicens.open span {
        background-color: #000000 !important;
        margin: 0;
        position: absolute;
    }

    .menu-toggle-dicens.open span:nth-child(1) { transform: rotate(45deg); width: 20px; }
    .menu-toggle-dicens.open span:nth-child(2) { opacity: 0; }
    .menu-toggle-dicens.open span:nth-child(3) { transform: rotate(-45deg); width: 20px; }

    /* Limpieza de WordPress */
    .dicens-nav, .dicens-submenu, 
    .dicens-nav li, .dicens-submenu li {
        list-style: none !important;
        list-style-type: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Menú Desligado */
    .dicens-nav {
        position: fixed !important;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100dvh;
        background-color: #000000;
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start;
        align-items: center;
        padding-top: 100px !important;
        transform: translateY(-100%);
        transition: transform 0.5s cubic-bezier(0.77, 0, 0.175, 1);
        opacity: 0;
        visibility: hidden;
        z-index: 1000000;
        overflow-y: auto;
    }

    .dicens-nav.is-active {
        transform: translateY(0) !important;
        opacity: 1 !important;
        visibility: visible !important;
    }

    /* Links Principales Móvil */
    .dicens-nav > li { width: 90%; text-align: center; }
    .dicens-nav > li > a { 
        font-size: 24px !important; 
        color: #ffffff !important; 
        text-decoration: none !important;
        display: flex !important;
        justify-content: center; 
        align-items: center;
        padding: 20px 0 !important;
        border-bottom: 1px solid rgba(255,255,255,0.1) !important; 
    }

    /* Submenús Móvil */
    .dicens-submenu {
        position: static !important;
        display: none !important;
        width: 100% !important;
        background-color: transparent !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: none !important;
        border: none !important;
    }

    .dicens-submenu.open {
        display: block !important;
    }

    .dicens-submenu li a {
        font-size: 18px !important;
        color: #aaaaaa !important;
        text-decoration: none !important;
        display: flex !important;
        justify-content: center;
        align-items: center;
        padding: 15px 0 !important;
        border: none !important;
    }

    /* 3.5 Lógica de Flechas en Móvil (Cerrado vs Abierto) */
    .dicens-nav li.has-children > a::after {
        transform: rotate(45deg); /* Por defecto apunta hacia abajo */
    }
    
    /* Magia CSS: Si el submenú de adentro tiene la clase "open", gira la flecha */
    .dicens-nav li:has(> .dicens-submenu.open) > a::after {
        transform: rotate(225deg); /* Apunta hacia arriba */
        margin-bottom: -4px;
    }
}/* End custom CSS */