/* Barre d’en-tête (logo + menu) toujours au-dessus du reste de la page */
.elementor-8 .elementor-element.elementor-element-7706f42b {
    position: relative;
    z-index: 100150 !important;
}

.elementor-8 .elementor-element.elementor-element-7706f42b.elementor-sticky--active,
.elementor-8 .elementor-element.elementor-element-7706f42b.is_stuck {
    z-index: 100150 !important;
}

/* Sous-menus / panneaux du menu ne passent plus derrière la carte ou d’autres blocs */
.elementor-8 .elementor-element.elementor-element-46a6b58e .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    z-index: 100200 !important;
}

/* Mobile : menu masqué hors écran à droite, puis slide vers la gauche (remplace scaleY / max-height Elementor) */
@media (max-width: 767px) {
    .elementor-8 .elementor-element-46a6b58e .elementor-widget-container {
        overflow: visible !important;
    }

    .elementor-8 .elementor-element-46a6b58e.elementor-nav-menu--toggle .elementor-nav-menu--dropdown.elementor-nav-menu__container {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        left: auto !important;
        width: min(88vw, 340px) !important;
        height: 100vh !important;
        max-height: 100vh !important;
        margin: 0 !important;
        padding-top: 5.5rem !important;
        box-sizing: border-box !important;
        box-shadow: -6px 0 28px rgba(0, 0, 0, 0.18) !important;
        transform-origin: right center !important;
        transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1), visibility 0.35s !important;
        overflow-y: auto !important;
        overflow-x: hidden !important;
    }

    .elementor-8
        .elementor-element-46a6b58e.elementor-nav-menu--toggle
        .elementor-menu-toggle:not(.elementor-active)
        + .elementor-nav-menu--dropdown.elementor-nav-menu__container {
        transform: translate3d(100%, 0, 0) scaleY(1) !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    .elementor-8
        .elementor-element-46a6b58e.elementor-nav-menu--toggle
        .elementor-menu-toggle.elementor-active
        + .elementor-nav-menu--dropdown.elementor-nav-menu__container {
        transform: translate3d(0, 0, 0) scaleY(1) !important;
        visibility: visible !important;
        pointer-events: auto !important;
    }

    /* Fond semi-transparent derrière le tiroir (cliquable pour fermer via JS) */
    .elementor-8 .elementor-element-46a6b58e .ndn-nav-backdrop {
        display: none;
        position: fixed;
        inset: 0;
        z-index: 100199;
        background: rgba(15, 25, 50, 0.45);
        cursor: pointer;
    }

    .elementor-8 .elementor-element-46a6b58e.ndn-nav-open .ndn-nav-backdrop {
        display: block;
    }
}

/* Classe sur le widget racine (posée par JS quand le burger est ouvert) */
.elementor-8 .elementor-element.elementor-element-46a6b58e {
    position: relative;
    z-index: 100160 !important;
}

/* Empêche certains blocs pleine largeur de passer au-dessus du header (carte, sections stretched) */
.elementor-8 .elementor-widget-google_maps .elementor-widget-container,
.elementor-8 .elementor-widget-google_maps iframe {
    position: relative;
    z-index: 0 !important;
}

.elementor-8 .elementor-section.elementor-section-stretched:not(.elementor-element-7706f42b) {
    position: relative;
    z-index: 1;
}

body.ndn-nav-open {
    overflow: hidden;
}
