/* ============================================
   HEADER PRINCIPAL (Tu CSS original)
   ============================================ */

.fsva_primary-header {
    
    align-items: stretch;
    justify-content: center;
    border-top: 0.5rem solid var(--clr-primary);
    min-height: var(--nav-height);
}

.fsva_primary-header > nav {
    padding: var(--p2);
}

.fsva_primary-header .menu-desktop-container {
    padding: var(--p2);    
    transition: border 0.3s ease-in-out, background-color 0.3s ease-in-out; 
    border: 1px solid transparent;
    border-radius: var(--bdr-base);
}

.fsva_primary-header .menu-desktop-container:hover {
    background-color: var(--clr-background2, #FFF9DF);
    border: 1px solid var(--clr-background2-border, #e7e3d4);
}

.fsva_primary-header .menu-desktop-container,
.fsva_primary-header .menu {
    display: flex;
    align-items: center;
    justify-content: center;
}

.fsva_primary-header .menu {
    position: relative;
    gap: 5svw;
    list-style: none; /* AÑADIDO: asegura que no haya bullets */
    margin: 0;
    padding: 1rem;
}

/* Items del menú principal - SOLO primer nivel */
.fsva_primary-header .menu > li {
    position: static; 
}

.fsva_primary-header .menu > li > a 
{
    position: static;
    text-decoration: none;
    color: var(--clr-text);
    font-size: var(--font-menu-item-size);
    display: block;
    border-bottom: 0.4rem solid transparent;
    padding-bottom: 5px;
    transition: border-bottom 0.3s ease-in-out;
}

.fsva_primary-header .menu > li > a:hover:not(.fsva_menu-logo) {
    border-bottom: 0.4rem solid var(--clr-primary);
    border-radius: 0 0 3px 3px;
}

/* Logo en el menú */
.menu-item-logo {
    display: flex;
    align-items: center;
}


.fsva_menu-logo > a
{
    position: absolute !important;
    display: inline-block !important;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    height: 90px;
    width:90px !important;
    aspect-ratio: 1 / 1;
}

.fsva_menu-logo a > img
{
    width: 100%;
    height: 100%;
}




/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 768px) {
    .fsav-menu {
        flex-direction: column;
        gap: 1rem;
    }
    
    .menu-item-logo {
        order: -1; /* Logo al principio en móvil */
        margin: 0 0 1rem 0;
    }
    
    .fsav-submenu-icons {
        position: static;
        transform: none;
        min-width: auto;
        width: 100%;
        flex-direction: column;
        margin-top: 0.5rem;
    }
    
    .fsav-submenu-icons::before {
        display: none; /* No necesario en móvil */
    }
    
    .fsva_custom-logo-central {
        max-height: 60px;
    }
}

@media (max-width: 480px) {
    .fsav-menu-icon {
        font-size: 2rem;
    }
    
    .fsav-menu-text {
        font-size: 0.85rem;
    }
    
    .fsav-submenu-icons {
        padding: 1rem;
        gap: 1rem;
    }
}

/* ============================================
   DELAY EN HOVER (Opcional - mejora UX)
   ============================================ */

/* Si quieres añadir un delay antes de cerrar el submenu */
.fsav-menu > li:hover > .fsav-submenu-icons {
    transition-delay: 0s; /* Abre inmediatamente */
}

.fsav-menu > li > .fsav-submenu-icons {
    transition-delay: 0.2s; /* Espera 200ms antes de cerrar */
}


/* ============================================
   ANIMACIÓN DE ENTRADA (Opcional)
   ============================================ */

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateX(-50%) translateY(10px);
    }
    to {
        opacity: 1;
        transform: translateX(-50%) translateY(0);
    }
}

.fsav-menu > li:hover > .fsav-submenu-icons {
    animation: fadeInUp 0.3s ease forwards;
}



/* ============================================
   SUBMENU CON ICONOS (Sistema nuevo)
   ============================================ */

/* Resetear estilos de submenu */
.fsva_primary-header .sub-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* Contenedor del submenu con iconos */
.fsva_primary-header .fsav-submenu-icons {
    display: flex;
    flex-direction: row;
    gap: 2rem;
    justify-content: center;
    align-items: stretch;
    position: absolute;
    top: 110%;
    left: 50%;
    transform: translateX(-50%);
    margin-top: 1rem;
    opacity: 0;
    visibility: hidden;
    background: var(--clr-primary-dark, #232912);
    border: 1px solid var(--clr-background2-border, #e7e3d4);
    border-radius: var(--bdr-base, 12px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    
    padding: var(--pad-section-ssm-vertical);
    min-width: 600px;
    width: 90svw;
    /* max-width: var(--max-width-xl, 1440px);  */
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 1000;
}

.fsav-submenu-icons li.menu-item.menu-item-submenu {
    display: flex;
    align-items: center;
    max-width: 350px;
}

/* Layout del submenu - 3 columnas horizontales */

.fsva_primary-header .fsav-submenu-icons > li {
    flex: 1;
    text-align: center;
    min-width: 150px;
    padding: 0.5rem;
    border-radius: var(--bdr-base);
    transition: background-color 0.3s ease-in-out;
}
.fsav-submenu-icons li.menu-item.menu-item-submenu > i {
    min-width: 4rem;
    font-size: var(--font-size-x2p5);
    color: var(--clr-primary);
    padding: 0.5rem;
    transition: color 0.3s ease-in-out, transform 0.5s ease-in-out;
}

.fsav-submenu-icons li.menu-item.menu-item-submenu:hover
{
    background-color: #8ca941;
    border-radius: var(--bdr-base);
}

.fsav-submenu-icons li.menu-item.menu-item-submenu:hover > i
{
    background-color: var(--clr-primary, #232912);
    border-radius: var(--bdr-base, 8px);
    padding: 0.5rem;
}
.fsav-submenu-icons li.menu-item.menu-item-submenu:hover > i
{
    color: var(--clr-background2);
    transform: rotate(5deg);
}
/* Puente invisible - CRÍTICO para evitar que se cierre */
.fsva_primary-header .fsav-submenu-icons::before {
    content: '';
    position: absolute;
    bottom: 100%;
    left: 0;
    right: 0;
    height: 1rem; /* Igual al margin-top */
    background: transparent;
}

/* Mostrar submenu en hover - IMPORTANTE: incluir el submenu mismo */
.fsva_primary-header .menu > li:hover > .fsav-submenu-icons,
.fsva_primary-header .fsav-submenu-icons:hover {
    display: flex !important; /* !important para sobrescribir el display: none */
    opacity: 1;
    visibility: visible;
}


/* Links del submenu */
.fsva_primary-header .fsav-submenu-icons > li > a {
    display: block;
    text-decoration: none;
    color: var(--clr-background2, #FFF9DF);
    font-weight: 600;
    transition: all 0.3s ease;
    padding: var(--p1, 1rem);
    border-radius: var(--bdr-base, 8px);
    border: none !important; /* Evitar el border-bottom del hover normal */
    font-size: var(--font-menu-item-size);
}

/* Wrapper del icono y texto */
.fsav-menu-icon-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.75rem;
}



/* Texto del menu item con icono */
.fsav-menu-text {
    font-size: 0.95rem;
    font-weight: 500;
    line-height: 1.3;
    display: block;
}

/* ============================================
   DELAY EN HOVER (Evita cierre accidental)
   ============================================ */

.fsva_primary-header .menu > li:hover > .fsav-submenu-icons {
    transition-delay: 0s; /* Abre inmediatamente */
}

.fsva_primary-header .menu > li > .fsav-submenu-icons {
    transition-delay: 0.2s; /* Espera 200ms antes de cerrar */
}

/* ============================================
   RESPONSIVE
   ============================================ */

@media (max-width: 768px) {
    .fsva_primary-header .menu {
        flex-direction: column;
        gap: 1rem;
    }
    
    .menu-item-logo {
        order: -1; /* Logo al principio en móvil */
        margin: 0 0 1rem 0;
    }
    
    .fsva_primary-header .fsav-submenu-icons {
        position: static;
        transform: none;
        min-width: auto;
        width: 100%;
        flex-direction: column;
        margin-top: 0.5rem;
    }
    
    .fsva_primary-header .fsav-submenu-icons::before {
        display: none;
    }
    
    .fsva_custom-logo-central,
    .fsva_menu-logo img {
        max-height: 50px;
    }
}

@media (max-width: 480px) {
    .fsva_primary-header .menu {
        gap: 2svw;
    }
    
    .fsav-menu-icon {
        font-size: 2rem;
    }
    
    .fsav-menu-text {
        font-size: 0.85rem;
    }
    
    .fsva_primary-header .fsav-submenu-icons {
        padding: 1rem;
        gap: 1rem;
    }
}

