/* Style général Desktop */
.elementor-nav-menu--main {
    display: flex;
    align-items: center;
}

.elementor-nav-menu a.elementor-item,
.eael-simple-menu-container ul.eael-simple-menu li a,
.menu-item > a {
    position: relative !important;
    color: #006913 !important;
    font-weight: 700 !important;
    font-size: 16px !important;
    text-transform: uppercase !important;
    letter-spacing: 1px !important;
    padding: 10px 18px !important;
    transition: color 0.4s ease !important;
}

/* Soulignement Glow & Slide */
.elementor-nav-menu a.elementor-item::before {
    content: '' !important;
    position: absolute !important;
    bottom: 2px !important;
    left: 50% !important;
    width: 0 !important;
    height: 3px !important;
    background: linear-gradient(90deg, #006913 0%, #9B007F 100%) !important;
    border-radius: 4px !important;
    transition: width 0.3s ease, left 0.3s ease !important;
}

.elementor-nav-menu a.elementor-item:hover::before {
    width: 80% !important;
    left: 10% !important;
}

/* Responsive Mobile et Tablette - Menu TRÈS GRAND et lisible */
@media (max-width: 1024px) {
    /* Forcer le conteneur à occuper tout l'écran */
    .elementor-nav-menu--dropdown,
    .elementor-nav-menu--dropdown.elementor-active {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        background: rgba(10, 15, 10, 0.99) !important;
        border: 2px solid #9B007F !important;
        border-radius: 14px !important;
        padding: 25px !important;
        position: absolute !important;
        width: 100vw !important;
        max-width: 100vw !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        box-shadow: 0 20px 50px rgba(0, 0, 0, 0.9) !important;
        z-index: 999999 !important;
        top: 60px !important;
    }

    /* Rendre les boutons et liens volumineux pour le toucher mobile/tablette */
    .elementor-nav-menu--dropdown .elementor-item,
    .elementor-nav-menu--dropdown .menu-item a {
        color: #ffffff !important;
        font-size: 19px !important;
        font-weight: 800 !important;
        padding: 18px 60px 18px 25px !important; /* Marge à droite importante */
        border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
        display: block !important;
        text-align: left !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        transition: background 0.3s ease !important;
        position: relative !important;
    }

    /* Masquer absolument TOUTES les flèches par défaut - natifs WordPress, Elementor, Hello Theme */
    .elementor-nav-menu--dropdown .sub-arrow,
    .elementor-nav-menu--dropdown .elementor-sub-item-indicator,
    .elementor-nav-menu--dropdown .elementor-item-has-children::after,
    .elementor-nav-menu--dropdown i.fas,
    .elementor-nav-menu--dropdown i.fa,
    .elementor-nav-menu--dropdown svg.e-font-icon-svg,
    .elementor-nav-menu--dropdown span.sub-arrow-wrapper {
        display: none !important;
        opacity: 0 !important;
        visibility: hidden !important;
        width: 0 !important;
        height: 0 !important;
    }

    /* Notre flèche personnalisée - forcée à droite ! */
    .elementor-nav-menu--dropdown .menu-item-has-children {
        position: relative !important;
    }

    /* Sécurité contre toute flèche double : si notre bouton possède déjà une flèche à l'intérieur, ne pas la dupliquer */
    .elementor-nav-menu--dropdown .mobile-arrow-toggle {
        position: absolute !important;
        right: 15px !important; /* Positionnement forcé à droite absolue */
        left: auto !important;  /* Annuler tout alignement à gauche */
        top: 50% !important;
        transform: translateY(-50%) !important;
        width: 38px !important;
        height: 38px !important;
        background: rgba(155, 0, 127, 0.8) !important;
        border: 1px solid rgba(155, 0, 127, 0.5) !important;
        border-radius: 50% !important;
        color: #ffffff !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        font-size: 14px !important;
        z-index: 10000 !important;
        transition: transform 0.3s ease, background-color 0.3s ease !important;
        cursor: pointer !important;
    }

    .elementor-nav-menu--dropdown .mobile-arrow-toggle.is-open {
        transform: translateY(-50%) rotate(180deg) !important;
        background: rgba(155, 0, 127, 1) !important;
    }

    /* Sous-menus (sous-catégories) */
    .elementor-nav-menu--dropdown .sub-menu {
        display: none !important; /* Caché par défaut */
        list-style: none !important;
        padding-left: 20px !important;
        margin: 5px 0 !important;
        background: rgba(0, 0, 0, 0.2) !important;
        border-left: 3px solid #9B007F !important;
    }

    .elementor-nav-menu--dropdown .sub-menu.is-active-custom {
        display: block !important; /* Affiché quand actif */
    }

    /* Style des liens de sous-catégories */
    .elementor-nav-menu--dropdown .sub-menu a {
        font-size: 16px !important;
        font-weight: 600 !important;
        padding: 12px 15px !important;
        border-bottom: 1px solid rgba(255, 255, 255, 0.05) !important;
        color: #cccccc !important;
    }
}
