:root{ --nav-h: 72px; }
body{ padding-top: var(--nav-h); }

.navbar{
    min-height: var(--nav-h);
    padding-top: .6rem;
    padding-bottom: .6rem;
    backdrop-filter: blur(10px);
}

.navbar .navbar-brand{
    font-weight: 800;
    letter-spacing: .2px;
    white-space: nowrap;
}

.navbar .nav-link{
    padding: .55rem .85rem;
    border-radius: .75rem;
}

.navbar .nav-link:focus-visible,
.navbar .dropdown-item:focus-visible{
    outline: 2px solid rgba(255,255,255,.65);
    outline-offset: 2px;
}

/* dropdown: confortable sur mobile + empêche de déborder */
.dropdown-menu{
    border-radius: 1rem;
    padding: .45rem;
}
.dropdown-menu .dropdown-item{
    border-radius: .75rem;
    padding: .55rem .75rem;
    white-space: normal; /* autorise retour ligne si besoin */
}

/* si le menu est long, on le rend scrollable */
.dropdown-menu{
    max-height: min(70vh, 520px);
    overflow: auto;
}

/* Sur mobile : menu plein écran lisible + spacing */
@media (max-width: 991.98px){
    :root{ --nav-h: 66px; }
    .navbar-collapse{
        margin-top: .75rem;
        padding: .75rem;
        border-radius: 1rem;
        background: rgba(33,37,41,.95);
        border: 1px solid rgba(255,255,255,.08);
    }
    .navbar-nav .nav-link{
        width: 100%;
    }
    .dropdown-menu{
        position: static; /* évite bugs de placement */
        float: none;
        box-shadow: none;
        border: 1px solid rgba(255,255,255,.08);
        background: rgba(0,0,0,.15);
        margin-top: .25rem;
    }
}

/* Desktop : dropdown plus “pro” */
@media (min-width: 992px){
    .dropdown-menu{
        box-shadow: 0 18px 45px rgba(0,0,0,.45);
        border: 1px solid rgba(255,255,255,.08);
    }
}

