.elementor-5657 .elementor-element.elementor-element-70b223b{--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;}.elementor-5657 .elementor-element.elementor-element-70b223b.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-5657 .elementor-element.elementor-element-987aae8{width:var( --container-widget-width, 16% );max-width:16%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:16%;--container-widget-flex-grow:0;--e-icon-list-icon-size:16px;--icon-vertical-offset:0px;}.elementor-5657 .elementor-element.elementor-element-987aae8.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-5657 .elementor-element.elementor-element-987aae8 .elementor-icon-list-icon i{color:var( --e-global-color-d79ab45 );transition:color 0.3s;}.elementor-5657 .elementor-element.elementor-element-987aae8 .elementor-icon-list-icon svg{fill:var( --e-global-color-d79ab45 );transition:fill 0.3s;}.elementor-5657 .elementor-element.elementor-element-987aae8 .elementor-icon-list-item:hover .elementor-icon-list-icon i{color:#FF7200;}.elementor-5657 .elementor-element.elementor-element-987aae8 .elementor-icon-list-item:hover .elementor-icon-list-icon svg{fill:#FF7200;}.elementor-5657 .elementor-element.elementor-element-987aae8 .elementor-icon-list-icon{padding-inline-end:5px;}.elementor-5657 .elementor-element.elementor-element-987aae8 .elementor-icon-list-item > .elementor-icon-list-text, .elementor-5657 .elementor-element.elementor-element-987aae8 .elementor-icon-list-item > a{font-size:16px;}.elementor-5657 .elementor-element.elementor-element-987aae8 .elementor-icon-list-text{color:var( --e-global-color-d79ab45 );transition:color 0.3s;}.elementor-5657 .elementor-element.elementor-element-987aae8 .elementor-icon-list-item:hover .elementor-icon-list-text{color:#FF7200;}.elementor-5657 .elementor-element.elementor-element-023dc9b{width:var( --container-widget-width, 27% );max-width:27%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:27%;--container-widget-flex-grow:0;--e-icon-list-icon-size:14px;--icon-vertical-offset:0px;}.elementor-5657 .elementor-element.elementor-element-023dc9b.elementor-element{--flex-grow:0;--flex-shrink:0;}.elementor-5657 .elementor-element.elementor-element-023dc9b .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:last-child){padding-block-end:calc(0px/2);}.elementor-5657 .elementor-element.elementor-element-023dc9b .elementor-icon-list-items:not(.elementor-inline-items) .elementor-icon-list-item:not(:first-child){margin-block-start:calc(0px/2);}.elementor-5657 .elementor-element.elementor-element-023dc9b .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item{margin-inline:calc(0px/2);}.elementor-5657 .elementor-element.elementor-element-023dc9b .elementor-icon-list-items.elementor-inline-items{margin-inline:calc(-0px/2);}.elementor-5657 .elementor-element.elementor-element-023dc9b .elementor-icon-list-items.elementor-inline-items .elementor-icon-list-item:after{inset-inline-end:calc(-0px/2);}.elementor-5657 .elementor-element.elementor-element-023dc9b .elementor-icon-list-icon i{color:var( --e-global-color-d79ab45 );transition:color 0.3s;}.elementor-5657 .elementor-element.elementor-element-023dc9b .elementor-icon-list-icon svg{fill:var( --e-global-color-d79ab45 );transition:fill 0.3s;}.elementor-5657 .elementor-element.elementor-element-023dc9b .elementor-icon-list-text{color:var( --e-global-color-d79ab45 );transition:color 0.3s;}.elementor-5657 .elementor-element.elementor-element-4cbbd21{--grid-template-columns:repeat(3, auto);text-align:center;width:var( --container-widget-width, 15% );max-width:15%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:15%;--container-widget-flex-grow:0;--icon-size:20px;--grid-column-gap:15px;--grid-row-gap:0px;}.elementor-5657 .elementor-element.elementor-element-4cbbd21.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-5657 .elementor-element.elementor-element-4cbbd21 .elementor-social-icon{background-color:var( --e-global-color-8a45b24 );--icon-padding:0.2em;}.elementor-5657 .elementor-element.elementor-element-4cbbd21 .elementor-social-icon i{color:#FFFFFF;}.elementor-5657 .elementor-element.elementor-element-4cbbd21 .elementor-social-icon svg{fill:#FFFFFF;}.elementor-5657 .elementor-element.elementor-element-4cbbd21 .elementor-icon{border-radius:5px 5px 5px 5px;}.elementor-5657 .elementor-element.elementor-element-4cbbd21 .elementor-social-icon:hover{background-color:#FF7200;}.elementor-5657 .elementor-element.elementor-element-07a5858 .elementor-button{background-color:var( --e-global-color-8a45b24 );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );fill:#FFFFFF;color:#FFFFFF;border-radius:5px 5px 5px 5px;padding:6px 6px 6px 6px;}.elementor-5657 .elementor-element.elementor-element-07a5858 .elementor-button:hover, .elementor-5657 .elementor-element.elementor-element-07a5858 .elementor-button:focus{background-color:var( --e-global-color-d79ab45 );color:#FFFFFF;}.elementor-5657 .elementor-element.elementor-element-07a5858{width:var( --container-widget-width, 10% );max-width:10%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:10%;--container-widget-flex-grow:0;}.elementor-5657 .elementor-element.elementor-element-07a5858.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-5657 .elementor-element.elementor-element-07a5858 .elementor-button:hover svg, .elementor-5657 .elementor-element.elementor-element-07a5858 .elementor-button:focus svg{fill:#FFFFFF;}.elementor-5657 .elementor-element.elementor-element-72cbd14{--display:flex;--min-height:0px;--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;--border-radius:0px 0px 0px 0px;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-5657 .elementor-element.elementor-element-72cbd14:not(.elementor-motion-effects-element-type-background), .elementor-5657 .elementor-element.elementor-element-72cbd14 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#021B55;}.elementor-5657 .elementor-element.elementor-element-72cbd14.e-con{--align-self:center;}.elementor-5657 .elementor-element.elementor-element-b8751c3{width:var( --container-widget-width, 8.102% );max-width:8.102%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:8.102%;--container-widget-flex-grow:0;text-align:center;}.elementor-5657 .elementor-element.elementor-element-b8751c3.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-5657 .elementor-element.elementor-element-b8751c3 img{width:100%;max-width:100%;}.elementor-5657 .elementor-element.elementor-element-448462d{width:var( --container-widget-width, 61.407% );max-width:61.407%;--container-widget-width:61.407%;--container-widget-flex-grow:0;}.elementor-5657 .elementor-element.elementor-element-448462d.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-5657 .elementor-element.elementor-element-448462d .elementor-menu-toggle{margin:0 auto;}.elementor-5657 .elementor-element.elementor-element-448462d .elementor-nav-menu--main .elementor-item{color:#FFFFFF;fill:#FFFFFF;}.elementor-5657 .elementor-element.elementor-element-d368b53{width:var( --container-widget-width, 7.394% );max-width:7.394%;--container-widget-width:7.394%;--container-widget-flex-grow:0;}.elementor-5657 .elementor-element.elementor-element-d368b53 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:5px 5px 5px 5px;}.elementor-5657 .elementor-element.elementor-element-d368b53.elementor-element{--align-self:center;--flex-grow:0;--flex-shrink:0;}.elementor-5657 .elementor-element.elementor-element-ab0e8b6{width:var( --container-widget-width, 7% );max-width:7%;margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--container-widget-width:7%;--container-widget-flex-grow:0;}.elementor-5657 .elementor-element.elementor-element-ab0e8b6.elementor-element{--align-self:center;}.elementor-5657 .elementor-element.elementor-element-ab0e8b6 .elementor-icon-wrapper{text-align:center;}.elementor-5657 .elementor-element.elementor-element-ab0e8b6.elementor-view-stacked .elementor-icon{background-color:#FFFFFF;}.elementor-5657 .elementor-element.elementor-element-ab0e8b6.elementor-view-framed .elementor-icon, .elementor-5657 .elementor-element.elementor-element-ab0e8b6.elementor-view-default .elementor-icon{color:#FFFFFF;border-color:#FFFFFF;}.elementor-5657 .elementor-element.elementor-element-ab0e8b6.elementor-view-framed .elementor-icon, .elementor-5657 .elementor-element.elementor-element-ab0e8b6.elementor-view-default .elementor-icon svg{fill:#FFFFFF;}.elementor-5657 .elementor-element.elementor-element-ab0e8b6 .elementor-icon{font-size:25px;}.elementor-5657 .elementor-element.elementor-element-ab0e8b6 .elementor-icon svg{height:25px;}@media(max-width:1024px){.elementor-5657 .elementor-element.elementor-element-448462d{width:var( --container-widget-width, 436.646px );max-width:436.646px;--container-widget-width:436.646px;--container-widget-flex-grow:0;}}@media(max-width:767px){.elementor-5657 .elementor-element.elementor-element-70b223b{--width:352.667px;}.elementor-5657 .elementor-element.elementor-element-987aae8{width:var( --container-widget-width, 163px );max-width:163px;--container-widget-width:163px;--container-widget-flex-grow:0;}.elementor-5657 .elementor-element.elementor-element-023dc9b{width:var( --container-widget-width, 315px );max-width:315px;--container-widget-width:315px;--container-widget-flex-grow:0;}.elementor-5657 .elementor-element.elementor-element-4cbbd21{width:var( --container-widget-width, 119px );max-width:119px;--container-widget-width:119px;--container-widget-flex-grow:0;}.elementor-5657 .elementor-element.elementor-element-07a5858{width:var( --container-widget-width, 81px );max-width:81px;--container-widget-width:81px;--container-widget-flex-grow:0;}.elementor-5657 .elementor-element.elementor-element-07a5858.elementor-element{--align-self:center;}.elementor-5657 .elementor-element.elementor-element-72cbd14{--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;}.elementor-5657 .elementor-element.elementor-element-b8751c3{width:var( --container-widget-width, 99.917px );max-width:99.917px;--container-widget-width:99.917px;--container-widget-flex-grow:0;}.elementor-5657 .elementor-element.elementor-element-448462d{width:var( --container-widget-width, 16% );max-width:16%;--container-widget-width:16%;--container-widget-flex-grow:0;}}/* Start custom CSS for container, class: .elementor-element-70b223b *//* ==========================================================================
   BARRA SUPERIOR (TOP BAR) - CENTRADO GLOBAL Y AGRUPACIÓN DE CONTACTO
   ========================================================================== */

/* Contenedor Principal: Centrado de todo el grupo de elementos */
.top-bar-row {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important; /* Centra todo en el medio del contenedor */
    width: 100% !important;
    gap: 30px !important; /* Espacio uniforme entre los 3 bloques principales */
    position: relative !important;
}

/* --------------------------------------------------------------------------
   1. DATOS DE CONTACTO (TELÉFONO Y CORREOS AGRUPADOS Y PEGADOS)
   -------------------------------------------------------------------------- */
.header-top-info {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important; /* Eliminado el margin-right: auto que los separaba */
    width: auto !important;
}

.header-top-info .elementor-icon-list-items {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 18px !important; /* Distancia corta y pareja entre teléfono y correos */
    margin: 0 !important;
    padding: 0 !important;
    list-style: none !important;
    width: auto !important;
}

.header-top-info .elementor-icon-list-item,
.header-top-info .elementor-icon-list-item a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: #001a4d !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    transition: color 0.25s ease !important;
}

.header-top-info .elementor-icon-list-icon {
    display: inline-flex !important;
    align-items: center !important;
}

.header-top-info .elementor-icon-list-icon i,
.header-top-info .elementor-icon-list-icon svg {
    color: #ff6600 !important;
    fill: #ff6600 !important;
    font-size: 14px !important;
    width: 14px !important;
    height: 14px !important;
}

.header-top-info .elementor-icon-list-item:hover a,
.header-top-info .elementor-icon-list-item a:hover {
    color: #ff6600 !important;
}

/* --------------------------------------------------------------------------
   2. ÍCONOS SOCIALES
   -------------------------------------------------------------------------- */
.header-top-social,
.header-top-social .elementor-widget-container {
    display: flex !important;
    align-items: center !important;
    position: relative !important;
    margin: 0 !important;
}

.header-top-social .elementor-social-icons-wrapper,
.header-top-social .elementor-grid {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 8px !important;
    margin: 0 !important;
    padding: 0 !important;
}

.header-top-social .elementor-social-icon {
    position: relative !important;
    background-color: transparent !important;
    border: 2px solid #ff6600 !important;
    border-radius: 50% !important;
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.header-top-social .elementor-social-icon i,
.header-top-social .elementor-social-icon svg {
    color: #ff6600 !important;
    fill: #ff6600 !important;
    font-size: 12px !important;
    width: 12px !important;
    height: 12px !important;
    transition: all 0.3s ease !important;
}

.header-top-social .elementor-social-icon:hover {
    background-color: #ff6600 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 4px 10px rgba(255, 102, 0, 0.3) !important;
}

.header-top-social .elementor-social-icon:hover i,
.header-top-social .elementor-social-icon:hover svg {
    color: #ffffff !important;
    fill: #ffffff !important;
}

/* --------------------------------------------------------------------------
   3. BOTÓN AULA VIRTUAL
   -------------------------------------------------------------------------- */
.header-top-btn {
    display: flex !important;
    align-items: center !important;
    margin: 0 !important;
}

.header-top-btn .elementor-button {
    background: linear-gradient(135deg, #ff6600 0%, #e65c00 100%) !important;
    color: #ffffff !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    padding: 8px 18px !important;
    border-radius: 10px !important;
    border: none !important;
    box-shadow: 0 4px 14px rgba(255, 102, 0, 0.25) !important;
    white-space: nowrap !important;
    transition: all 0.3s ease !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.header-top-btn .elementor-button:hover {
    background: linear-gradient(135deg, #e65c00 0%, #cc5200 100%) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 18px rgba(255, 102, 0, 0.35) !important;
}

/* ==========================================================================
   DISEÑO RESPONSIVO DEFINITIVO Y ULTRACOMPACTO (TOP BAR)
   ========================================================================== */

@media (max-width: 768px) {
    /* 1. Reducción radical del contenedor principal */
    .top-bar-row {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 6px !important;
        padding: 8px 10px !important;
        min-height: auto !important;
        height: auto !important;
    }

    .header-top-info {
        width: 100% !important;
        margin: 0 !important;
    }

    /* 2. Forzar a la lista a comportarse como contenedor flexible compacto */
    .header-top-info .elementor-icon-list-items {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        gap: 4px !important;
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* 3. Control estricto de tamaño para el TELÉFONO (Primer elemento) */
    .header-top-info .elementor-icon-list-item:first-child,
    .header-top-info .elementor-icon-list-item:first-child a,
    .header-top-info .elementor-icon-list-item:first-child span {
        font-size: 11px !important;
        font-weight: 700 !important;
        line-height: 1 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Reducción del ícono del teléfono */
    .header-top-info .elementor-icon-list-item:first-child .elementor-icon-list-icon,
    .header-top-info .elementor-icon-list-item:first-child i,
    .header-top-info .elementor-icon-list-item:first-child svg {
        font-size: 11px !important;
        width: 11px !important;
        height: 11px !important;
    }

    /* 4. Agrupar los CORREOS (Elementos 2 y 3) horizontalmente en la misma fila */
    .header-top-info .elementor-icon-list-items {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
        gap: 6px 12px !important;
    }

    .header-top-info .elementor-icon-list-item:not(:first-child),
    .header-top-info .elementor-icon-list-item:not(:first-child) a {
        font-size: 10px !important;
        font-weight: 500 !important;
        line-height: 1 !important;
    }

    .header-top-info .elementor-icon-list-item:not(:first-child) i,
    .header-top-info .elementor-icon-list-item:not(:first-child) svg {
        font-size: 10px !important;
        width: 10px !important;
        height: 10px !important;
    }

    /* 5. Fila Inferior: Redes sociales + Botón alineados juntos */
    .header-top-social {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin: 0 !important;
    }

    .header-top-social .elementor-social-icons-wrapper {
        gap: 8px !important;
    }

    .header-top-social .elementor-social-icon {
        width: 24px !important;
        height: 24px !important;
        min-width: 24px !important;
        border-width: 1px !important;
    }

    .header-top-social .elementor-social-icon i,
    .header-top-social .elementor-social-icon svg {
        font-size: 10px !important;
        width: 10px !important;
        height: 10px !important;
    }

    /* Botón Aula Virtual compacto */
    .header-top-btn {
        margin: 0 !important;
    }

    .header-top-btn .elementor-button {
        padding: 4px 10px !important;
        font-size: 10.5px !important;
        border-radius: 6px !important;
        height: auto !important;
        line-height: 1.2 !important;
    }
}/* End custom CSS */
/* Start custom CSS for theme-site-logo, class: .elementor-element-b8751c3 *//* Contenedor del Logo de la cabecera */
.header-site-logo,
.header-site-logo .elementor-widget-container {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
}

/* Dimensiones y estilos de la imagen del logo */
.header-site-logo img {
    height: 110px !important;
    min-height: 100px !important;
    width: auto !important;
    max-width: none !important;
    object-fit: contain !important;
    background: transparent !important;
    padding: 0 !important;
    border: none !important;
    filter: drop-shadow(0px 4px 10px rgba(0, 0, 0, 0.45)) !important;
    transition: transform 0.35s cubic-bezier(0.175, 0.885, 0.32, 1.275), filter 0.35s ease !important;
}

/* Animación Hover */
.header-site-logo a:hover img,
.header-site-logo:hover img {
    transform: scale(1.08) translateY(-2px) !important;
    filter: drop-shadow(0px 6px 16px rgba(255, 102, 0, 0.65)) !important;
}/* End custom CSS */
/* Start custom CSS for nav-menu, class: .elementor-element-448462d *//* Permite que los contenedores no corten el submenú flotante */
.custom-main-menu,
.custom-main-menu .elementor-nav-menu--main,
.custom-main-menu .elementor-nav-menu__container {
    overflow: visible !important;
}

/* Base de los ítems del menú principal */
.custom-main-menu .elementor-nav-menu--main > ul > li {
    position: relative !important;
}

.custom-main-menu .elementor-nav-menu--main > ul > li > a {
    position: relative !important;
    transition: color 0.2s ease !important;
}

/* Alineación flexbox para forzar la flecha a la derecha */
.custom-main-menu .elementor-nav-menu--main li.menu-item-has-children {
    position: relative !important;
}

.custom-main-menu .elementor-nav-menu--main li.menu-item-has-children > a {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 4px !important;
}

/* Oculta la flecha nativa */
.custom-main-menu .elementor-nav-menu--main .sub-arrow {
    display: none !important;
}

/* Ícono desplegable (flecha) inyectado */
.custom-main-menu .elementor-nav-menu--main li.menu-item-has-children > a::after {
    content: "▾" !important;
    display: inline-block !important;
    font-size: 1px !important;
    color: #ffffff !important;
    opacity: 1 !important;
    visibility: visible !important;
    transition: color 0.2s ease, transform 0.2s ease !important;
}

/* Color activo/hover para la flecha */
.custom-main-menu .elementor-nav-menu--main li.menu-item-has-children:hover > a::after,
.custom-main-menu .elementor-nav-menu--main li.menu-item-has-children.current-menu-item > a::after,
.custom-main-menu .elementor-nav-menu--main li.menu-item-has-children.current-menu-ancestor > a::after,
.custom-main-menu .elementor-nav-menu--main li.menu-item-has-children.current-page-ancestor > a::after {
    color: #ff6600 !important;
}

/* ==========================================================================
   ESTILOS DE PÁGINA ACTIVA (CURRENT PAGE INDICATOR)
   ========================================================================== */

/* Color de texto activo y hover en menú principal */
.custom-main-menu .elementor-nav-menu--main > ul > li.current-menu-item > a,
.custom-main-menu .elementor-nav-menu--main > ul > li.current-menu-ancestor > a,
.custom-main-menu .elementor-nav-menu--main > ul > li.current-page-ancestor > a,
.custom-main-menu .elementor-nav-menu--main > ul > li > a:hover {
    color: #ff6600 !important;
}

/* Línea indicadora inferior (Underline) para ítem principal activo */
.custom-main-menu .elementor-nav-menu--main > ul > li > a::before {
    content: "" !important;
    position: absolute !important;
    bottom: -6px !important;
    left: 50% !important;
    transform: translateX(-50%) scaleX(0) !important;
    width: 80% !important;
    height: 3px !important;
    background-color: #ff6600 !important;
    border-radius: 2px !important;
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

/* Muestra la línea en Hover y en la Página Activa */
.custom-main-menu .elementor-nav-menu--main > ul > li:hover > a::before,
.custom-main-menu .elementor-nav-menu--main > ul > li.current-menu-item > a::before,
.custom-main-menu .elementor-nav-menu--main > ul > li.current-menu-ancestor > a::before,
.custom-main-menu .elementor-nav-menu--main > ul > li.current-page-ancestor > a::before {
    transform: translateX(-50%) scaleX(1) !important;
}

/* ==========================================================================
   SUBMENÚ DESPLEGABLE
   ========================================================================== */

/* Apertura del submenú al hacer hover */
.custom-main-menu .elementor-nav-menu--main li.menu-item-has-children:hover > .sub-menu,
.custom-main-menu .elementor-nav-menu--main li.menu-item-has-children:hover > ul {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
}

/* Caja del submenú */
.custom-main-menu .elementor-nav-menu--main .sub-menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    z-index: 99999 !important;
    background-color: #ffffff !important;
    border-radius: 10px !important;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2) !important;
    padding: 10px 0 !important;
    width: max-content !important;
    min-width: 250px !important;
    list-style: none !important;
    margin: 0 !important;
}

/* Enlaces internos del submenú */
.custom-main-menu .elementor-nav-menu--main .sub-menu li {
    display: block !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
}

.custom-main-menu .elementor-nav-menu--main .sub-menu li a {
    color: #001a4d !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    padding: 10px 24px !important;
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    line-height: 1.4 !important;
    text-align: left !important;
    white-space: nowrap !important;
    transition: all 0.2s ease !important;
}

/* Hover e Indicador Activo para ítems DENTRO del submenú */
.custom-main-menu .elementor-nav-menu--main .sub-menu li a:hover,
.custom-main-menu .elementor-nav-menu--main .sub-menu li.current-menu-item > a {
    color: #ff6600 !important;
    background-color: #fff6f0 !important;
    padding-left: 28px !important;
}/* End custom CSS */
/* Start custom CSS for fibosearch, class: .elementor-element-d368b53 *//* ==========================================================================
   1. ICONO DE LA LUPA (BOTÓN PRINCIPAL EN EL HEADER)
   ========================================================================== */

/* Unblock overflow en los contenedores padres */
.dgwt-wcas-search-form,
.dgwt-wcas-search-wrapper,
.dgwt-wcas-search-icon,
.dgwt-wcas-ico-magnifier {
    overflow: visible !important;
    max-height: none !important;
    max-width: none !important;
    line-height: normal !important;
}

/* Ajuste de la caja del icono y padding para evitar el recorte */
.dgwt-wcas-search-icon,
.dgwt-wcas-ico-magnifier {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: content-box !important;
    padding: 8px !important;
    width: 24px !important;
    height: 24px !important;
    transform-origin: center center !important;
    transition: transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) !important;
}

/* SVG interior en color Blanco */
.dgwt-wcas-search-icon svg,
.dgwt-wcas-ico-magnifier svg {
    overflow: visible !important;
    width: 100% !important;
    height: 100% !important;
}

.dgwt-wcas-search-icon path,
.dgwt-wcas-ico-magnifier path,
.dgwt-wcas-search-icon circle,
.dgwt-wcas-ico-magnifier circle {
    fill: #ffffff !important;
    stroke: #ffffff !important;
    transition: fill 0.3s ease, stroke 0.3s ease !important;
}

/* Animación Hover (Aumento de tamaño, giro y color Naranja) */
.dgwt-wcas-search-icon:hover,
.dgwt-wcas-ico-magnifier:hover {
    transform: scale(1.2) rotate(10deg) !important;
    cursor: pointer !important;
}

.dgwt-wcas-search-icon:hover path,
.dgwt-wcas-ico-magnifier:hover path,
.dgwt-wcas-search-icon:hover circle,
.dgwt-wcas-ico-magnifier:hover circle {
    fill: #ff6600 !important;
    stroke: #ff6600 !important;
}

/* Efecto Click (Active) */
.dgwt-wcas-search-icon:active,
.dgwt-wcas-ico-magnifier:active {
    transform: scale(0.9) rotate(0deg) !important;
}


/* ==========================================================================
   2. DESPLEGABLE DE BÚSQUEDA (SIN FONDO CONTENEDOR)
   ========================================================================== */

/* Eliminación total del contenedor/fondo extra */
.dgwt-wcas-search-filled,
.dgwt-wcas-search-wrapper,
.dgwt-wcas-overlay-mobile-form {
    background: transparent !important;
    background-color: transparent !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 !important;
}

/* Campo de texto (Input) */
.dgwt-wcas-search-input,
input[type="search"].dgwt-wcas-search-input {
    background-color: #ffffff !important;
    color: #1a1a1a !important;
    border: 2px solid #ff6600 !important; /* Borde naranja corporativo */
    border-radius: 30px !important;
    font-size: 15px !important;
    height: 46px !important;
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.25) !important; /* Sombra en el input directamente */
    
    /* Margen a la izquierda para evitar pisar la lupa */
    padding: 10px 20px 10px 48px !important;
    
    outline: none !important;
    transition: all 0.3s ease !important;
}

/* Efecto al escribir (Focus) */
.dgwt-wcas-search-input:focus {
    border-color: #ff8533 !important;
    box-shadow: 0 8px 25px rgba(255, 102, 0, 0.35) !important;
}

/* Texto de ayuda (Placeholder) */
.dgwt-wcas-search-input::placeholder {
    color: #666666 !important;
    font-style: normal !important;
    opacity: 1 !important;
}

/* Lupa interior alineada correctamente */
.dgwt-wcas-search-form .dgwt-wcas-sf-search-icon,
.dgwt-wcas-search-form .dgwt-wcas-ico-magnifier {
    position: absolute !important;
    left: 16px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 20px !important;
    height: 20px !important;
    padding: 0 !important;
    pointer-events: none !important;
    z-index: 5 !important;
}

.dgwt-wcas-sf-search-icon path,
.dgwt-wcas-search-form .dgwt-wcas-ico-magnifier path {
    fill: #ff6600 !important; /* Lupa naranja interior */
    stroke: none !important;
}

/* Lista de resultados desplegable */
.dgwt-wcas-suggestions-wrapp {
    border-radius: 10px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15) !important;
    margin-top: 8px !important;
    overflow: hidden !important;
}/* End custom CSS */
/* Start custom CSS for icon, class: .elementor-element-ab0e8b6 *//* Contenedor principal */
.icono-carrito-custom {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    position: relative;
    padding: 6px;
}

/* Estilo del enlace e ícono */
.icono-carrito-custom a {
    display: flex;
    align-items: center;
    justify-content: center;
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    text-decoration: none;
}

.icono-carrito-custom i,
.icono-carrito-custom svg {
    color: #ffffff !important; /* Color blanco por defecto */
    font-size: 24px !important;
    width: 24px;
    height: 24px;
    transition: transform 0.25s ease, color 0.25s ease;
}

/* Efecto al pasar el cursor (Hover) */
.icono-carrito-custom:hover i,
.icono-carrito-custom:hover svg {
    color: #ff6b00 !important; /* Cambia a naranja/acento al pasar el mouse */
    transform: scale(1.15);     /* Un ligero aumento de tamaño */
}

/* Efecto al hacer clic */
.icono-carrito-custom:active i,
.icono-carrito-custom:active svg {
    transform: scale(0.95);
}

/* 
   ADAPTACIÓN RESPONSIVA (Móviles y Tablets) */

@media (max-width: 1024px) {
    .icono-carrito-custom i,
    .icono-carrito-custom svg {
        font-size: 22px !important;
        width: 22px;
        height: 22px;
    }
}

@media (max-width: 767px) {
    .icono-carrito-custom {
        padding: 4px;
    }
    .icono-carrito-custom i,
    .icono-carrito-custom svg {
        font-size: 20px !important;
        width: 20px;
        height: 20px;
    }
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-72cbd14 *//* ==========================================================================
   DISEÑO RESPONSIVO MÓVIL Y TABLET - NAVBAR (RESPETANDO COLORES ORIGINALES)
   ========================================================================== */

@media (max-width: 991px) {
    /* 1. Ocultar menú horizontal de escritorio */
    .custom-main-menu .elementor-nav-menu--main {
        display: none !important;
    }

    /* 2. Botón de menú hamburguesa */
    .custom-main-menu .elementor-menu-toggle {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        background: transparent !important;
        border: none !important;
        color: #ffffff !important;
        font-size: 24px !important;
        padding: 6px !important;
        cursor: pointer !important;
    }

    .custom-main-menu .elementor-menu-toggle i,
    .custom-main-menu .elementor-menu-toggle svg {
        color: #ffffff !important;
        fill: #ffffff !important;
    }

    /* 3. Menú desplegable móvil (Lienzo Blanco idéntico a tu submenú de escritorio) */
    .custom-main-menu .elementor-nav-menu--dropdown {
        position: absolute !important;
        top: 100% !important;
        left: 0 !important;
        width: 100% !important;
        background-color: #ffffff !important; /* Mismo fondo blanco original */
        box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2) !important;
        border-radius: 0 0 10px 10px !important;
        padding: 8px 0 !important;
        z-index: 99999 !important;
    }

    .custom-main-menu .elementor-nav-menu--dropdown ul {
        list-style: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    /* Enlaces del menú móvil (Usa tu azul corporativo original #001a4d) */
    .custom-main-menu .elementor-nav-menu--dropdown li a {
        color: #001a4d !important;
        font-size: 14px !important;
        font-weight: 600 !important;
        padding: 10px 24px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        border-bottom: 1px solid rgba(0, 26, 77, 0.06) !important;
        transition: all 0.2s ease !important;
    }

    /* Quitar subrayado inferior flotante en versión móvil */
    .custom-main-menu .elementor-nav-menu--dropdown li a::before {
        display: none !important;
    }

    /* Hover e Ítem activo (Mismo hover naranja #ff6600 y fondo suave #fff6f0) */
    .custom-main-menu .elementor-nav-menu--dropdown li.current-menu-item > a,
    .custom-main-menu .elementor-nav-menu--dropdown li.current-menu-ancestor > a,
    .custom-main-menu .elementor-nav-menu--dropdown li a:hover {
        color: #ff6600 !important;
        background-color: #fff6f0 !important;
        padding-left: 28px !important;
    }

    /* 4. Submenús desplegables de 2do nivel dentro del móvil */
    .custom-main-menu .elementor-nav-menu--dropdown .sub-menu {
        position: static !important;
        width: 100% !important;
        min-width: 100% !important;
        background-color: #fafafa !important;
        box-shadow: none !important;
        padding: 0 !important;
        margin: 0 !important;
    }

    .custom-main-menu .elementor-nav-menu--dropdown .sub-menu li a {
        color: #001a4d !important;
        font-size: 13px !important;
        font-weight: 500 !important;
        padding: 10px 24px 10px 36px !important; /* Sangría a la izquierda */
        border-bottom: 1px solid rgba(0, 26, 77, 0.04) !important;
    }

    .custom-main-menu .elementor-nav-menu--dropdown .sub-menu li a:hover,
    .custom-main-menu .elementor-nav-menu--dropdown .sub-menu li.current-menu-item > a {
        color: #ff6600 !important;
        background-color: #fff6f0 !important;
        padding-left: 40px !important;
    }
}/* End custom CSS */