/* ================================================================
   HEADER — Bio et Local
   ================================================================ */

/* ── Barre principale ─────────────────────────────────────────── */
.site-header {
    background: #fff;
    position: sticky;
    top: 0;
    z-index: 1000;
    width: 100%;
    margin-bottom: 2rem;
}

#main-nav {
    min-height: 70px;
    border-bottom: 5px solid #009C50;
    margin: 0 2rem;
}

#main-nav div.container-fluid {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: nowrap;
}

@media (max-width: 359px) {
    #main-nav div.container-fluid {
        flex-wrap: wrap;
    }
}


/* ── Logo ─────────────────────────────────────────────────────── */
.site-logo {
    height: 150px;
    width: auto;
    display: block;
}

@media (min-width: 576px) {
    #main-nav div.container-fluid {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .site-logo {
        height: 200px;
    }
}

@media (min-width: 992px) {
    .site-logo {
        height: 200px;
    }
}

/* ── Bouton burger custom ─────────────────────────────────────── */
.site-nav-toggler {
    background: none;
    border: none;
    padding: 6px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 0;
}

.site-nav-toggler:focus-visible {
    outline: 2px solid #009C50;
    outline-offset: 2px;
    border-radius: 4px;
}

/* ── Toggle show/hide du panneau menu ────────────────────────── */
.site-nav-menu {
    display: none;
    width: 100%;
}

.site-nav-menu.site-nav-open {
    display: flex;
}

/* ── Menu overlay (mobile/tablette) ──────────────────────────── */
@media (max-width: 991px) {
    .site-nav-menu {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: var(--vert);
        z-index: 9999;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        overflow: hidden;
    }

    /* Personnage décoratif (perso2.svg) */
    .nav-menu-deco {
        position: absolute;
        top: 60px;
        left: 16px;
        width: 70px;
        height: auto;
        pointer-events: none;
        display: block;
    }

    /* Bouton fermer */
    .nav-menu-close {
        position: absolute;
        top: 60px;
        right: 16px;
        width: 44px;
        height: 44px;
        border-radius: 50%;
        background: #fff;
        border: none;
        cursor: pointer;
        display: flex;
        align-items: center;
        justify-content: center;
        color: #2D6B3E;
        line-height: 1;
    }

    .nav-menu-close:hover {
        background: #f0f0f0;
    }

    /* Liste principale */
    .site-nav-list {
        list-style: none;
        margin: 0;
        padding: 20px 24px 40px;
        text-align: center;
        width: 100%;
        max-width: 440px;
    }

    .site-nav-list > .menu-item {
        padding: 14px 0 0 0;
    }

    /* Séparateur centré entre items de premier niveau */
    .site-nav-list > .menu-item + .menu-item::before {
        content: '';
        display: block;
        width: 64px;
        height: 2px;
        background: rgb(255, 255, 255);
        margin: 0 auto 14px;
    }

    .site-nav-list > .menu-item > a {
        color: #fff;
        font-size: 1.15rem;
        font-weight: 700;
        text-decoration: none;
        line-height: 1.3;
        display: inline-block;
    }

    .site-nav-list > .menu-item > a:hover {
        color: rgba(255, 255, 255, 0.75);
    }


    /* Sous-menu */
    .site-nav-list .sub-menu {
        list-style: none;
        padding: 8px 0 0;
        margin: 0;
    }

    .site-nav-list .sub-menu .menu-item {
        padding: 4px 0;
    }

    .site-nav-list .sub-menu .menu-item a {
        color: rgba(255, 255, 255, 0.88);
        font-size: 0.9rem;
        font-weight: 400;
        text-decoration: none;
    }

    .site-nav-list .sub-menu .menu-item a:hover {
        color: #fff;
    }
}

/* ── Accessibilité : cacher le bouton fermer et la déco sur desktop ─ */
@media (min-width: 992px) {
    .nav-menu-close,
    .nav-menu-deco {
        display: none;
    }
}

/* ── Menu desktop (lg+ : liens horizontaux) ─────────────────── */
@media (min-width: 992px) {
    .site-nav-toggler {
        display: none;
    }

    .site-nav-menu {
        display: flex !important;
        width: auto;
        align-items: center;
    }

    .site-nav-list {
        display: flex;
        flex-direction: row;
        align-items: center;
        gap: 4px;
        padding: 0;
        margin-left: auto;
        list-style: none;
    }

    .site-nav-list .menu-item {
        border-top: none;
    }

    .site-nav-list .menu-item a {
        padding: 8px 14px;
        border-radius: 6px;
        font-size: 14px;
        white-space: nowrap;
    }

    .site-nav-list .menu-item a,
    .site-nav-list .menu-item.current-menu-item a {
        background: var(--vert, #009C50);
        color: #fff;
        text-decoration: none;
    }

    .site-nav-list .menu-item a:hover {
        background: var(--vert, #009C50);
        color: #fff;
        opacity: 0.85;
        text-decoration: none;
    }
}

