.elementor-266 .elementor-element.elementor-element-6b344fc > .elementor-container > .elementor-column > .elementor-widget-wrap{align-content:center;align-items:center;}.elementor-266 .elementor-element.elementor-element-6b344fc:not(.elementor-motion-effects-element-type-background), .elementor-266 .elementor-element.elementor-element-6b344fc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-secondary );}.elementor-266 .elementor-element.elementor-element-6b344fc{transition:background 0.3s, border 0.3s, border-radius 0.3s, box-shadow 0.3s;margin-top:0px;margin-bottom:0px;padding:20px 0px 20px 0px;}.elementor-266 .elementor-element.elementor-element-6b344fc > .elementor-background-overlay{transition:background 0.3s, border-radius 0.3s, opacity 0.3s;}.elementor-bc-flex-widget .elementor-266 .elementor-element.elementor-element-ffc7b2f.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-266 .elementor-element.elementor-element-ffc7b2f.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-266 .elementor-element.elementor-element-ffc7b2f.elementor-column > .elementor-widget-wrap{justify-content:flex-end;}.elementor-266 .elementor-element.elementor-element-ffc7b2f > .elementor-element-populated{margin:0% 8% 0% 3%;--e-column-margin-right:8%;--e-column-margin-left:3%;padding:0px 0px 0px 0px;}.elementor-266 .elementor-element.elementor-element-31fd194 > .elementor-widget-container{margin:0px 0px 0px 14px;padding:0px 0px 0px 0px;}.elementor-266 .elementor-element.elementor-element-31fd194.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-266 .elementor-element.elementor-element-31fd194{text-align:left;}.elementor-bc-flex-widget .elementor-266 .elementor-element.elementor-element-c884f00.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-266 .elementor-element.elementor-element-c884f00.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-266 .elementor-element.elementor-element-c884f00.elementor-column > .elementor-widget-wrap{justify-content:center;}.elementor-266 .elementor-element.elementor-element-c884f00 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:9px 6px 0px 11px;}.elementor-266 .elementor-element.elementor-element-65892b3 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-266 .elementor-element.elementor-element-65892b3.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-266 .elementor-element.elementor-element-65892b3{z-index:100;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container > ul > li > a{font-family:var( --e-global-typography-ab624fc-font-family ), Sans-serif;font-size:var( --e-global-typography-ab624fc-font-size );font-weight:var( --e-global-typography-ab624fc-font-weight );line-height:var( --e-global-typography-ab624fc-line-height );letter-spacing:var( --e-global-typography-ab624fc-letter-spacing );padding-left:12px;padding-right:12px;padding-top:10px;padding-bottom:10px;color:#000000;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container > ul > li{margin-right:8px;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container > ul > li:last-child{margin-right:0;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container li.menu-item-has-children > a > i{margin:0px -20px 0px 5px;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container > ul > li > a:hover{color:var( --e-global-color-text );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf_link_effect_underline .mainnav .menu-container > ul > li > a:after{background-color:var( --e-global-color-text );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf_link_effect_overline .mainnav .menu-container > ul > li > a:after{background-color:var( --e-global-color-text );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf_link_effect_double-line .mainnav .menu-container > ul > li > a:before{background-color:var( --e-global-color-text );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf_link_effect_double-line .mainnav .menu-container > ul > li > a:after{background-color:var( --e-global-color-text );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container > ul > li.current-menu-ancestor > a{color:var( --e-global-color-text );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container > ul > li.current-menu-item > a{color:var( --e-global-color-text );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf_link_effect_underline .mainnav .menu-container > ul > li.current-menu-ancestor > a:after{background-color:var( --e-global-color-text );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf_link_effect_overline .mainnav .menu-container > ul > li.current-menu-ancestor > a:after{background-color:var( --e-global-color-text );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf_link_effect_double-line .mainnav .menu-container > ul > li.current-menu-ancestor > a:before{background-color:var( --e-global-color-text );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf_link_effect_double-line .mainnav .menu-container > ul > li.current-menu-ancestor > a:after{background-color:var( --e-global-color-text );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container > ul li ul.sub-menu li{font-family:"Poppins", Sans-serif;font-size:14px;font-weight:600;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container > ul li ul.sub-menu{box-shadow:0px 0px 16px 0px rgba(0,0,0,0.5);}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container > ul > li ul.sub-menu{min-width:250px;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container > ul > li > ul.sub-menu{top:100%;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container > ul li ul.sub-menu li a{padding-left:26px;padding-right:26px;padding-top:20px;padding-bottom:20px;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container > ul > li ul.sub-menu li:not(:last-child){border-bottom-style:solid;border-bottom-color:var( --e-global-color-text );border-bottom-width:1px;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container > ul > li ul.sub-menu li:first-child{border-top-style:double;border-top-color:var( --e-global-color-text );border-top-width:3px;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container > ul > li ul.sub-menu li:last-child{border-bottom-style:none;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container ul.sub-menu a{color:var( --e-global-color-primary );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container ul.sub-menu{background-color:var( --e-global-color-secondary );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu.dropdown-style1 .mainnav .menu-container ul.sub-menu:after{background-color:var( --e-global-color-secondary );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container ul.sub-menu a:hover{color:var( --e-global-color-secondary );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container ul.sub-menu li:hover{background-color:var( --e-global-color-text );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container ul.sub-menu li.current_page_item > a{color:var( --e-global-color-secondary );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container ul.sub-menu > li.current-menu-item > a{color:var( --e-global-color-secondary );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container ul.sub-menu li.current_page_item{background-color:var( --e-global-color-text );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container ul.sub-menu > li.current-menu-item{background-color:var( --e-global-color-text );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .btn-menu-mobile, .elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .btn-menu-only{font-size:30px;padding:8px 16px 8px 16px;margin:0px 0px 0px 0px;color:var( --e-global-color-primary );background-color:rgba(255,255,255,0);}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .btn-menu-mobile:hover, .elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .btn-menu-only:hover{color:var( --e-global-color-text );background-color:rgba(255,255,255,0);}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .tf-close{font-size:25px;border-width:3px;border-style:solid;border-radius:0px;padding:10px 12px 10px 12px;margin:0px 0px 0px 0px;color:var( --e-global-color-secondary );background-color:rgba(255,255,255,0);}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .close-menu-panel-style-default{font-size:25px;border-width:3px;border-style:solid;border-radius:0px;padding:10px 12px 10px 12px;margin:0px 0px 0px 0px;color:var( --e-global-color-secondary );background-color:rgba(255,255,255,0);}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .tf-close:hover{color:rgba(255,255,255,1);background-color:rgba(255,255,255,0);}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .close-menu-panel-style-default:hover{color:rgba(255,255,255,1);background-color:rgba(255,255,255,0);}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .nav-panel{background-color:var( --e-global-color-f85e464 );padding:0px 0px 0px 0px;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .nav-panel .logo-nav{width:100%;margin:20px 0px 20px 0px;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav-mobi .menu-container ul li{border-top-style:solid;border-top-color:#28282833;border-top-width:1px;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav-mobi .menu-container > ul > li:last-child{border-bottom-style:solid;border-bottom-color:#28282833;border-bottom-width:1px;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .nav-panel .mainnav-mobi ul li a{font-family:"Poppins", Sans-serif;font-size:16px;font-weight:600;text-transform:uppercase;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav-mobi .menu-container ul li a{padding-left:20px;padding-right:20px;padding-top:15px;padding-bottom:15px;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav-mobi .menu-container ul.sub-menu li a{padding-left:calc(20px + 10px);padding-right:calc(20px + 10px);}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav-mobi .menu-container ul.sub-menu ul.sub-menu li a{padding-left:calc(20px + 20px);padding-right:calc(20px + 20px);}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav-mobi .btn-submenu{width:70px;height:65px;line-height:65px;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav-mobi .menu-container ul li a, .elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav-mobi .btn-submenu i{color:var( --e-global-color-primary );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav-mobi .menu-container ul li a:hover{color:var( --e-global-color-text );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav-mobi .menu-container ul li.current_page_item > a{color:var( --e-global-color-text );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav-mobi .menu-container ul li.current-menu-ancestor > a{color:var( --e-global-color-text );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav-mobi .menu-container ul li.current-menu-item > a{color:var( --e-global-color-text );}@media(max-width:1024px){.elementor-266 .elementor-element.elementor-element-6b344fc{padding:16px 30px 16px 30px;}.elementor-266 .elementor-element.elementor-element-31fd194{width:var( --container-widget-width, 360.766px );max-width:360.766px;--container-widget-width:360.766px;--container-widget-flex-grow:0;}.elementor-266 .elementor-element.elementor-element-31fd194 > .elementor-widget-container{margin:-31px -31px -31px -31px;}.elementor-266 .elementor-element.elementor-element-c884f00 > .elementor-element-populated{padding:22px 0px 0px 0px;}.elementor-266 .elementor-element.elementor-element-65892b3{width:var( --container-widget-width, 248.766px );max-width:248.766px;--container-widget-width:248.766px;--container-widget-flex-grow:0;}.elementor-266 .elementor-element.elementor-element-65892b3 > .elementor-widget-container{padding:0px 0px 0px 0px;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container > ul > li > a{font-size:var( --e-global-typography-ab624fc-font-size );line-height:var( --e-global-typography-ab624fc-line-height );letter-spacing:var( --e-global-typography-ab624fc-letter-spacing );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container > ul > li > ul.sub-menu{top:100%;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .btn-menu-mobile, .elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .btn-menu-only{padding:0px 0px 0px 0px;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .tf-close{margin:0px 0px 0px 0px;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .close-menu-panel-style-default{margin:0px 0px 0px 0px;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .nav-panel .logo-nav{width:100%;}}@media(max-width:767px){.elementor-266 .elementor-element.elementor-element-6b344fc{padding:16px 15px 16px 15px;}.elementor-266 .elementor-element.elementor-element-ffc7b2f{width:70%;}.elementor-266 .elementor-element.elementor-element-31fd194 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-266 .elementor-element.elementor-element-31fd194{--container-widget-width:250px;--container-widget-flex-grow:0;width:var( --container-widget-width, 250px );max-width:250px;}.elementor-266 .elementor-element.elementor-element-c884f00{width:30%;}.elementor-bc-flex-widget .elementor-266 .elementor-element.elementor-element-c884f00.elementor-column .elementor-widget-wrap{align-items:center;}.elementor-266 .elementor-element.elementor-element-c884f00.elementor-column.elementor-element[data-element_type="column"] > .elementor-widget-wrap.elementor-element-populated{align-content:center;align-items:center;}.elementor-266 .elementor-element.elementor-element-c884f00.elementor-column > .elementor-widget-wrap{justify-content:flex-end;}.elementor-266 .elementor-element.elementor-element-c884f00 > .elementor-element-populated{margin:0px 0px 0px 0px;--e-column-margin-right:0px;--e-column-margin-left:0px;padding:0px 0px 0px 0px;}.elementor-266 .elementor-element.elementor-element-65892b3{width:var( --container-widget-width, 93.297px );max-width:93.297px;--container-widget-width:93.297px;--container-widget-flex-grow:0;}.elementor-266 .elementor-element.elementor-element-65892b3 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:13px 0px 0px 0px;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container > ul > li > a{font-size:var( --e-global-typography-ab624fc-font-size );line-height:var( --e-global-typography-ab624fc-line-height );letter-spacing:var( --e-global-typography-ab624fc-letter-spacing );}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .mainnav .menu-container > ul > li > ul.sub-menu{top:100%;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .tf-close{margin:0px 0px 0px 0px;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .close-menu-panel-style-default{margin:0px 0px 0px 0px;}.elementor-266 .elementor-element.elementor-element-65892b3 .tf-nav-menu .nav-panel .logo-nav{width:200px;}}@media(min-width:768px){.elementor-266 .elementor-element.elementor-element-ffc7b2f{width:30%;}.elementor-266 .elementor-element.elementor-element-c884f00{width:70%;}}@media(max-width:1024px) and (min-width:768px){.elementor-266 .elementor-element.elementor-element-ffc7b2f{width:56%;}.elementor-266 .elementor-element.elementor-element-c884f00{width:30%;}}/* Start custom CSS for section, class: .elementor-element-6b344fc *//* ========================================
   EVITA SCROLL HORIZONTAL
   ======================================== */
body {
    overflow-x: hidden;
    max-width: 100vw;
}

.elementor-section {
    overflow-x: clip;
    max-width: 100%;
}

.elementor-container {
    max-width: 100%;
}

.elementor-column {
    max-width: 100%;
}

/* ========================================
   MENÚ DESKTOP - COMPATIBLE CON SAFARI
   ======================================== */
@media (min-width: 1025px) {
    
    /* Contenedor del menú - permitir overflow visible */
    .tf-nav-menu,
    .tf-nav-menu-wrapper,
    .tf-nav-menu-container,
    .elementor-widget-nav-menu {
        overflow: visible !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    
    /* UL del menú - distribución inteligente del espacio CON PREFIJOS SAFARI */
    .tf-nav-menu ul,
    .elementor-nav-menu ul {
        /* Prefijos para Safari/WebKit */
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: -ms-flexbox !important;
        display: flex !important;
        
        /* Dirección horizontal con prefijos */
        -webkit-box-orient: horizontal !important;
        -webkit-box-direction: normal !important;
        -webkit-flex-direction: row !important;
        -ms-flex-direction: row !important;
        flex-direction: row !important;
        
        /* No wrap con prefijos */
        -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
        
        white-space: nowrap !important;
        
        /* CLAVE: Distribuir espacio equitativamente CON PREFIJOS SAFARI */
        -webkit-box-pack: justify !important;
        -webkit-justify-content: space-between !important;
        -ms-flex-pack: justify !important;
        justify-content: space-between !important;
        
        /* Sin espacios extra */
        gap: 0 !important;
        padding: 0 !important;
        margin: 0 !important;
        
        /* Usar todo el ancho disponible */
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Items del menú - tamaño flexible CON PREFIJOS SAFARI */
    .tf-nav-menu li,
    .elementor-nav-menu li {
        /* Permitir que crezcan proporcionalmente CON PREFIJOS */
        -webkit-box-flex: 1 !important;
        -webkit-flex: 1 1 auto !important;
        -ms-flex: 1 1 auto !important;
        flex: 1 1 auto !important;
        
        /* IMPORTANTE para Safari: flex-basis explícito */
        -webkit-flex-basis: auto !important;
        -ms-flex-preferred-size: auto !important;
        flex-basis: auto !important;
        
        /* Safari necesita flex-shrink explícito */
        -webkit-flex-shrink: 1 !important;
        -ms-flex-negative: 1 !important;
        flex-shrink: 1 !important;
        
        /* Tamaño mínimo para que no se aplaste */
        min-width: 0 !important;
        
        padding: 0 !important;
        margin: 0 !important;
        
        /* Alineación centrada */
        text-align: center !important;
        
        /* Importante para submenús */
        position: relative !important;
    }

    /* Links del menú - texto más compacto CON MEJORAS SAFARI */
    .tf-nav-menu li a,
    .elementor-nav-menu li a {
        /* Tamaño de fuente adaptable */
        font-size: clamp(11px, 0.9vw, 15px) !important;
        
        /* Padding más compacto */
        padding: 10px clamp(5px, 0.7vw, 12px) !important;
        
        white-space: nowrap !important;
        display: block !important;
        
        /* Asegurar que use todo el espacio del LI */
        width: 100% !important;
        
        /* Box-sizing con prefijos para Safari */
        -webkit-box-sizing: border-box !important;
        -moz-box-sizing: border-box !important;
        box-sizing: border-box !important;
        
        /* Mejorar renderizado de texto en Safari */
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important;
    }
    
    /* Último item (.elementor-266 .elementor-element.elementor-element-6b344fc de idioma) - asegurar visibilidad */
    .tf-nav-menu ul > li:last-child,
    .elementor-nav-menu ul > li:last-child {
        /* Nunca ocultar */
        visibility: visible !important;
        
        /* Display flex con prefijos */
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: -ms-flexbox !important;
        display: flex !important;
        
        /* Padding extra a la derecha para respirar */
        padding-right: 0 !important;
    }
    
    .tf-nav-menu ul > li:last-child a,
    .elementor-nav-menu ul > li:last-child a {
        padding-right: clamp(10px, 1.5vw, 20px) !important;
    }
    
    /* ========================================
       SUBMENÚS - PRIMER NIVEL (Abajo del padre)
       ======================================== */
    .tf-nav-menu > ul > li > .sub-menu,
    .tf-nav-menu .dropdown-menu,
    .elementor-nav-menu > ul > li > .sub-menu {
        /* Posicionamiento */
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        
        /* Dirección vertical con prefijos Safari */
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -webkit-flex-direction: column !important;
        -ms-flex-direction: column !important;
        flex-direction: column !important;
        
        /* Tamaño */
        width: auto !important;
        min-width: 220px !important;
        max-width: 280px !important;
        
        /* Visibilidad y Z-index */
        z-index: 9999 !important;
        overflow: visible !important;
        white-space: normal !important;
        
        /* Estilo */
        background: white !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1) !important;
        border-radius: 8px !important;
        padding: 8px 0 !important;
        margin: 0 !important;
    }

    /* ========================================
       SUBMENÚS - SEGUNDO Y TERCER NIVEL (A la derecha)
       ======================================== */
    .tf-nav-menu .sub-menu .sub-menu,
    .elementor-nav-menu .sub-menu .sub-menu {
        /* CLAVE: Posicionar a la DERECHA del padre */
        position: absolute !important;
        top: 0 !important;
        left: 100% !important;
        
        /* Tamaño */
        width: auto !important;
        min-width: 220px !important;
        max-width: 280px !important;
        
        /* Dirección vertical con prefijos Safari */
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -webkit-flex-direction: column !important;
        -ms-flex-direction: column !important;
        flex-direction: column !important;
        
        /* Visibilidad */
        z-index: 10000 !important;
        overflow: visible !important;
        
        /* Estilo */
        background: white !important;
        box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15) !important;
        border-radius: 8px !important;
        padding: 8px 0 !important;
        margin: 0 !important;
        margin-left: 2px !important;
    }

    /* Items de submenú - ancho completo CON PREFIJOS */
    .tf-nav-menu .sub-menu li,
    .elementor-nav-menu .sub-menu li {
        -webkit-box-flex: 0 !important;
        -webkit-flex: none !important;
        -ms-flex: none !important;
        flex: none !important;
        
        width: 100% !important;
        text-align: left !important;
        position: relative !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Links de submenú */
    .tf-nav-menu .sub-menu li a,
    .elementor-nav-menu .sub-menu li a {
        font-size: 14px !important;
        white-space: normal !important;
        padding: 10px 15px !important;
        width: 100% !important;
        text-align: left !important;
        display: block !important;
        
        /* Box-sizing con prefijos */
        -webkit-box-sizing: border-box !important;
        -moz-box-sizing: border-box !important;
        box-sizing: border-box !important;
    }
    
    /* Hover en items con submenú */
    .tf-nav-menu .sub-menu li:hover > a,
    .elementor-nav-menu .sub-menu li:hover > a {
        background: #f1f5f9 !important;
        color: #2c5aa0 !important;
    }
    
    /* Indicador visual de que hay más submenús (flecha >) */
    .tf-nav-menu .sub-menu li.menu-item-has-children > a::after,
    .elementor-nav-menu .sub-menu li.menu-item-has-children > a::after {
        content: "›" !important;
        float: right !important;
        margin-left: 10px !important;
        font-size: 16px !important;
        font-weight: bold !important;
    }
}

/* ========================================
   FIX ESPECÍFICO SOLO PARA SAFARI
   ======================================== */
@media (min-width: 1025px) {
    /* Detectar Safari usando @supports */
    @supports (-webkit-hyphens:none) {
        .tf-nav-menu ul,
        .elementor-nav-menu ul {
            /* Forzar justify en Safari */
            -webkit-box-pack: justify !important;
            justify-content: space-between !important;
        }
        
        .tf-nav-menu li,
        .elementor-nav-menu li {
            /* Asegurar que Safari calcule bien el flex */
            -webkit-flex-shrink: 1 !important;
            flex-shrink: 1 !important;
            -webkit-flex-grow: 1 !important;
            flex-grow: 1 !important;
        }
        
        .tf-nav-menu li a,
        .elementor-nav-menu li a {
            /* Mejorar alineación de texto en Safari */
            text-align: center !important;
            -webkit-text-align: center !important;
        }
    }
}

/* Para pantallas medianas - aún más compacto */
@media (min-width: 1025px) and (max-width: 1280px) {
    .tf-nav-menu li a,
    .elementor-nav-menu li a {
        font-size: clamp(10px, 0.85vw, 13px) !important;
        padding: 10px clamp(4px, 0.6vw, 10px) !important;
    }
}

/* Para pantallas grandes - más espaciado */
@media (min-width: 1441px) {
    .tf-nav-menu li a,
    .elementor-nav-menu li a {
        font-size: clamp(13px, 1vw, 16px) !important;
        padding: 10px clamp(8px, 1vw, 16px) !important;
    }
}

/* ========================================
   MENÚ MÓVIL - VERTICAL CON SCROLL
   ======================================== */
@media (max-width: 1024px) {
    
    /* CRÍTICO: Permitir overflow en header */
    header,
    .elementor-location-header,
    .elementor-section-wrap,
    .elementor-widget-nav-menu,
    .tf-nav-menu-wrapper {
        overflow: visible !important;
    }
    
    /* FORZAR MENÚ VERTICAL CON PREFIJOS */
    .tf-nav-menu ul,
    .tf-nav-menu .menu,
    .elementor-nav-menu ul,
    .elementor-nav-menu--dropdown {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: -ms-flexbox !important;
        display: flex !important;
        
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -webkit-flex-direction: column !important;
        -ms-flex-direction: column !important;
        flex-direction: column !important;
        
        -webkit-flex-wrap: nowrap !important;
        -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important;
        
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
    }
    
    /* ITEMS DEL MENÚ MÓVIL - ANCHO COMPLETO */
    .tf-nav-menu li,
    .elementor-nav-menu li {
        width: 100% !important;
        max-width: 100% !important;
        
        -webkit-box-flex: 0 !important;
        -webkit-flex: none !important;
        -ms-flex: none !important;
        flex: none !important;
        
        display: block !important;
        padding: 0 !important;
        margin: 0 !important;
        border-bottom: 1px solid #e5e7eb;
    }
    
    .tf-nav-menu li:last-child,
    .elementor-nav-menu li:last-child {
        border-bottom: none;
    }
    
    /* LINKS DEL MENÚ MÓVIL - GRANDES Y TÁCTILES */
    .tf-nav-menu li a,
    .elementor-nav-menu li a {
        display: block !important;
        width: 100% !important;
        padding: 16px 20px !important;
        font-size: 16px !important;
        line-height: 1.5 !important;
        color: #1e293b !important;
        text-align: left !important;
        white-space: normal !important;
        word-wrap: break-word !important;
        
        -webkit-box-sizing: border-box !important;
        -moz-box-sizing: border-box !important;
        box-sizing: border-box !important;
        
        /* Mejorar texto en Safari móvil */
        -webkit-font-smoothing: antialiased !important;
        -moz-osx-font-smoothing: grayscale !important;
    }
    
    .tf-nav-menu li a:hover,
    .elementor-nav-menu li a:hover {
        background: #f1f5f9 !important;
        color: #2c5aa0 !important;
    }
    
    /* SUBMENÚS EN MÓVIL - TODOS LOS NIVELES VERTICALES */
    .tf-nav-menu .sub-menu,
    .elementor-nav-menu .sub-menu {
        position: static !important;
        
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: -ms-flexbox !important;
        display: flex !important;
        
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -webkit-flex-direction: column !important;
        -ms-flex-direction: column !important;
        flex-direction: column !important;
        
        width: 100% !important;
        background: #f8fafc !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    /* Primer nivel de submenú */
    .tf-nav-menu .sub-menu li a,
    .elementor-nav-menu .sub-menu li a {
        padding-left: 40px !important;
        font-size: 15px !important;
        background: #f8fafc !important;
    }
    
    /* Segundo nivel de submenú */
    .tf-nav-menu .sub-menu .sub-menu li a,
    .elementor-nav-menu .sub-menu .sub-menu li a {
        padding-left: 60px !important;
        font-size: 14px !important;
        background: #f0f4f8 !important;
    }
    
    /* Tercer nivel de submenú */
    .tf-nav-menu .sub-menu .sub-menu .sub-menu li a,
    .elementor-nav-menu .sub-menu .sub-menu .sub-menu li a {
        padding-left: 80px !important;
        font-size: 13px !important;
        background: #e8eef4 !important;
    }
    
    /* CONTENEDOR DROPDOWN CON SCROLL */
    .elementor-nav-menu--dropdown,
    .tf-nav-menu--dropdown {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        right: 0 !important;
        width: 100% !important;
        height: 100vh !important;
        background: white !important;
        z-index: 9999 !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
        padding-top: 60px !important;
        padding-bottom: 20px !important;
        
        -webkit-box-sizing: border-box !important;
        -moz-box-sizing: border-box !important;
        box-sizing: border-box !important;
        
        /* Scroll suave en iOS Safari */
        -webkit-overflow-scrolling: touch !important;
    }
    
    /* BOTÓN HAMBURGUESA */
    .elementor-menu-toggle,
    .tf-nav-menu__toggle {
        z-index: 10000 !important;
        position: relative !important;
    }
}

/* ========================================
   MÓVILES MUY PEQUEÑOS
   ======================================== */
@media (max-width: 480px) {
    .tf-nav-menu li a,
    .elementor-nav-menu li a {
        padding: 14px 16px !important;
        font-size: 15px !important;
    }
    
    .tf-nav-menu .sub-menu li a,
    .elementor-nav-menu .sub-menu li a {
        padding-left: 32px !important;
        font-size: 14px !important;
    }
    
    .tf-nav-menu .sub-menu .sub-menu li a,
    .elementor-nav-menu .sub-menu .sub-menu li a {
        padding-left: 48px !important;
        font-size: 13px !important;
    }
    
    .tf-nav-menu .sub-menu .sub-menu .sub-menu li a,
    .elementor-nav-menu .sub-menu .sub-menu .sub-menu li a {
        padding-left: 64px !important;
        font-size: 12px !important;
    }
}

/* ========================================
   BOTÓN X PROFESIONAL - ROJO CLÁSICO
   ======================================== */
@media (max-width: 1024px) {
    
    .elementor-nav-menu--dropdown::before,
    .tf-nav-menu--dropdown::before {
        content: "✕";
        position: fixed;
        top: 15px;
        right: 20px;
        width: 50px;
        height: 50px;
        
        /* Fondo rojo elegante con gradiente WebKit */
        background: -webkit-linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
        background: -moz-linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
        background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
        
        /* X blanca */
        color: white;
        border: none;
        border-radius: 50%;
        
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        
        -webkit-box-align: center;
        -webkit-align-items: center;
        -ms-flex-align: center;
        align-items: center;
        
        -webkit-box-pack: center;
        -webkit-justify-content: center;
        -ms-flex-pack: center;
        justify-content: center;
        
        font-size: 32px;
        font-weight: bold;
        line-height: 1;
        cursor: pointer;
        z-index: 10001;
        
        /* Sombra roja */
        -webkit-box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4), 0 8px 24px rgba(0, 0, 0, 0.15);
        -moz-box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4), 0 8px 24px rgba(0, 0, 0, 0.15);
        box-shadow: 0 4px 12px rgba(239, 68, 68, 0.4), 0 8px 24px rgba(0, 0, 0, 0.15);
        
        -webkit-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        -moz-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    }
    
    .elementor-nav-menu--dropdown::before:hover,
    .tf-nav-menu--dropdown::before:hover {
        background: -webkit-linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
        background: -moz-linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
        background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%);
        
        -webkit-transform: rotate(90deg) scale(1.1);
        -moz-transform: rotate(90deg) scale(1.1);
        -ms-transform: rotate(90deg) scale(1.1);
        transform: rotate(90deg) scale(1.1);
        
        -webkit-box-shadow: 0 6px 18px rgba(239, 68, 68, 0.5), 0 12px 32px rgba(0, 0, 0, 0.2);
        -moz-box-shadow: 0 6px 18px rgba(239, 68, 68, 0.5), 0 12px 32px rgba(0, 0, 0, 0.2);
        box-shadow: 0 6px 18px rgba(239, 68, 68, 0.5), 0 12px 32px rgba(0, 0, 0, 0.2);
    }
}/* End custom CSS */