.elementor-22 .elementor-element.elementor-element-ec473ed{--display:flex;}.elementor-22 .elementor-element.elementor-element-6460bef{--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:space-between;--align-items:center;}.elementor-widget-icon-list .elementor-icon-list-item:not(:last-child):after{border-color:var( --e-global-color-text );}.elementor-widget-icon-list .elementor-icon-list-icon i{color:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-icon svg{fill:var( --e-global-color-primary );}.elementor-widget-icon-list .elementor-icon-list-item > .elementor-icon-list-text, .elementor-widget-icon-list .elementor-icon-list-item > a{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-widget-icon-list .elementor-icon-list-text{color:var( --e-global-color-secondary );}.elementor-22 .elementor-element.elementor-element-55935d3 .elementor-icon-list-icon i{color:#57606A;transition:color 0.3s;}.elementor-22 .elementor-element.elementor-element-55935d3 .elementor-icon-list-icon svg{fill:#57606A;transition:fill 0.3s;}.elementor-22 .elementor-element.elementor-element-55935d3{--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-22 .elementor-element.elementor-element-55935d3 .elementor-icon-list-text{transition:color 0.3s;}.elementor-22 .elementor-element.elementor-element-da22842{--grid-template-columns:repeat(0, auto);text-align:center;--icon-size:14px;--grid-column-gap:5px;--grid-row-gap:0px;}.elementor-22 .elementor-element.elementor-element-4380723{--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: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-22 .elementor-element.elementor-element-f2f24e3{--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;--z-index:9999;}.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-22 .elementor-element.elementor-element-61b55fd{--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;--z-index:9999;}.elementor-22 .elementor-element.elementor-element-d4214d8 .elementor-menu-toggle{margin:0 auto;}.elementor-theme-builder-content-area{height:400px;}.elementor-location-header:before, .elementor-location-footer:before{content:"";display:table;clear:both;}/* Start custom CSS *//* --------------------------------------------------------------------------
   1. TOPBAR (Contacto y Redes)
   -------------------------------------------------------------------------- */
.header-topbar {
    border-bottom: 1px solid #f0f2f5 !important;
    padding: 8px 0 !important;
    width: 100% !important;
    background: #ffffff !important;
}

.header-topbar .elementor-icon-list-items {
    display: flex !important;
    flex-direction: row !important;
    gap: 20px !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
}

.header-topbar .elementor-icon-list-item {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
}

.header-topbar .elementor-icon-list-icon i,
.header-topbar .elementor-icon-list-icon svg {
    color: #0A3A82 !important;
    fill: #0A3A82 !important;
    font-size: 13px !important;
    width: 13px !important;
    height: 13px !important;
}

.header-topbar a, 
.header-topbar span, 
.header-topbar .elementor-icon-list-text {
    color: #57606a !important;
    font-size: 13px !important;
    text-decoration: none !important;
    transition: color 0.2s ease !important;
}

.header-topbar a:hover {
    color: #0A3A82 !important;
}

.header-topbar .elementor-social-icon {
    background-color: #ebf2fa !important;
    border-radius: 50% !important;
    width: 30px !important;
    height: 30px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin-left: 6px !important;
    transition: all 0.2s ease !important;
}

.header-topbar .elementor-social-icon i,
.header-topbar .elementor-social-icon svg {
    color: #0A3A82 !important;
    fill: #0A3A82 !important;
    font-size: 13px !important;
    width: 13px !important;
    height: 13px !important;
}

.header-topbar .elementor-social-icon:hover {
    background-color: #0A3A82 !important;
    transform: translateY(-2px) !important;
}

.header-topbar .elementor-social-icon:hover i,
.header-topbar .elementor-social-icon:hover svg {
    color: #ffffff !important;
    fill: #ffffff !important;
}

/* --------------------------------------------------------------------------
   2. BRANDING (Logo Central)
   -------------------------------------------------------------------------- */
.header-branding {
    display: flex !important;
    justify-content: center !important;
    background: #ffffff !important;
}

.header-branding img {
    max-width: 130px !important;
    width: 130px !important;
    height: auto !important;
    display: block !important;
    margin: 0 auto !important;
    transition: transform 0.2s ease !important;
}

.header-branding img:hover {
    transform: scale(1.03) !important;
}

/* --------------------------------------------------------------------------
   3. NAVEGACIÓN: BASE + EFECTO STICKY CÁPSULA FLOTANTE
   -------------------------------------------------------------------------- */
.header-nav {
    background: #ffffff !important;
    border-top: 1px solid #f0f2f5 !important;
    border-bottom: 1px solid #e1e4e8 !important;
    padding: 8px 0 !important;
    width: 100% !important;
    transition: all 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
}

/* Estado Sticky: Flotante con estilo Cápsula */
.header-nav.elementor-sticky--active,
.elementor-sticky--active.header-nav {
    position: fixed !important;
    top: 12px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: calc(100% - 40px) !important;
    max-width: 960px !important;
    background: rgba(255, 255, 255, 0.92) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border: 1px solid rgba(208, 215, 222, 0.8) !important;
    border-radius: 20px !important;
    box-shadow: 0 8px 24px rgba(10, 58, 130, 0.08), 0 2px 6px rgba(0, 0, 0, 0.04) !important;
    padding: 6px 16px !important;
    box-sizing: border-box !important;
    z-index: 99999 !important;
}

.header-nav ul.elementor-nav-menu {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
}

.header-nav .elementor-nav-menu a {
    color: #1f2328 !important;
    font-size: 13.5px !important;
    font-weight: 600 !important;
    letter-spacing: 0.3px !important;
    text-transform: uppercase !important;
    padding: 8px 16px !important;
    border-radius: 10px !important;
    text-decoration: none !important;
    transition: all 0.2s ease !important;
}

.header-nav .elementor-nav-menu a:hover,
.header-nav .elementor-nav-menu .current-menu-item a {
    color: #0A3A82 !important;
    background-color: #ebf2fa !important;
}

/* --------------------------------------------------------------------------
   4. ADAPTACIÓN MÓVIL Y TABLET (RESPONSIVE)
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
    .header-nav.elementor-sticky--active {
        top: 0 !important;
        left: 0 !important;
        transform: none !important;
        width: 100% !important;
        border-radius: 0 !important;
        max-width: 100% !important;
    }

    .header-nav .elementor-menu-toggle {
        background-color: #ebf2fa !important;
        color: #0A3A82 !important;
        border-radius: 12px !important;
        padding: 8px 12px !important;
        margin: 0 auto !important;
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        border: 1px solid #d0d7de !important;
        transition: all 0.2s ease !important;
    }
    
    .header-nav .elementor-menu-toggle:hover,
    .header-nav .elementor-menu-toggle.elementor-active {
        background-color: #0A3A82 !important;
        color: #ffffff !important;
    }

    .header-nav .elementor-menu-toggle svg,
    .header-nav .elementor-menu-toggle i {
        fill: currentColor !important;
        font-size: 20px !important;
        width: 20px !important;
        height: 20px !important;
    }

    .header-nav .elementor-nav-menu--dropdown {
        background-color: #ffffff !important;
        border: 1px solid #d0d7de !important;
        border-radius: 16px !important;
        box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12) !important;
        padding: 12px !important;
        margin-top: 10px !important;
    }

    .header-nav .elementor-nav-menu--dropdown a {
        font-size: 14px !important;
        font-weight: 600 !important;
        padding: 12px 16px !important;
        border-radius: 10px !important;
        color: #1f2328 !important;
        border-bottom: 1px solid #f6f8fa !important;
        text-align: left !important;
    }

    .header-nav .elementor-nav-menu--dropdown a:last-child {
        border-bottom: none !important;
    }

    .header-nav .elementor-nav-menu--dropdown a:hover,
    .header-nav .elementor-nav-menu--dropdown .current-menu-item a {
        background-color: #ebf2fa !important;
        color: #0A3A82 !important;
        padding-left: 20px !important;
    }
}

@media (max-width: 768px) {
    .header-topbar {
        display: none !important;
    }

    .header-branding {
        padding: 12px 0 8px 0 !important;
    }

    .header-branding img {
        max-width: 110px !important;
    }
    
    .header-nav {
        padding: 6px 12px !important;
    }
}/* End custom CSS */