/* --- Boutons de mot de passe --- */
.btn-password i {
    color: #6c757d;
}

.btn-password:hover i {
    color: #000;
}

/* --- Smooth scroll --- */
html {
    scroll-behavior: smooth;
}

section {
    scroll-margin-top: 80px;
}

/* --- Hamburger bleu --- */
.navbar-toggler {
    border: none !important;
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(63,76,124,1)' stroke-width='3' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E") !important;
}

/* --- Navbar spacing --- */
.navbar {
    --bs-navbar-padding-y: 1rem !important;
}

/* Empêche le wrap trop tôt */
#navbarNav .navbar-nav {
    flex-wrap: nowrap !important;
    /* 🔥 IMPORTANT : empêche le retour à la ligne prématuré */
}

/* --- Grand écran : centrer le menu principal --- */
@media (min-width: 1200px) {

    /* Centrer le menu */
    #navbarNav .navbar-nav.me-auto {
        margin-right: 0 !important;
        /* supprime l’auto-poussée à droite */
        justify-content: center !important;
        flex-grow: 1 !important;
        /* prend tout l’espace possible */
        gap: 3rem !important;
        /* espace plus esthétique */
    }

    /* Boutons auth à droite */
    #navbarNav .navbar-nav:not(.me-auto) {
        margin-left: auto !important;
        /* pousse à droite */
    }
}

/* Lien gauche + espace maîtrisé sur desktop */
@media (min-width: 992px) {

    /* Liens principaux */
    #navbarNav .navbar-nav.me-auto {
        gap: 1.2rem;
        /* léger espace */
    }

    /* Boutons auth */
    #navbarNav .navbar-nav:not(.me-auto) {
        gap: 0.4rem;
        /* 🔥 réduit pour éviter coupure */
    }

    /* Boutons un peu plus compacts */
    .nav-auth-btn {
        font-size: 0.90rem !important;
        padding: 5px 9px !important;
        gap: 0.35rem !important;
        /* réduit légèrement */
    }

    /* Icônes légèrement plus petites */
    .nav-auth-btn i {
        font-size: 0.95rem !important;
    }

    /* Empêche le wrap des boutons admin */
    .navbar-nav.nav-admin {
        flex-wrap: nowrap !important;
        gap: 0.4rem !important;
    }
}

/* Correction me-3 */
.me-3 {
    margin-right: 0 !important;
    margin-left: 2rem !important;
}

/* Boutons alignés à droite */
.nav-btn {
    margin-left: 1rem;
}

/* --- Style bouton auth --- */
.nav-auth-btn {
    display: flex !important;
    align-items: center !important;
    gap: 0.4rem !important;
    white-space: nowrap !important;
    color: white !important;
    font-size: 0.95rem !important;
    padding: 6px 10px !important;
    text-decoration: none !important;
}

/* --- Responsive Mobile / Tablet --- */
@media (max-width: 991px) {

    #navbarNav {
        justify-content: flex-start !important;
    }

    .nav-btn {
        margin-left: 0 !important;
        margin-top: 10px;
    }

    /* Boutons auth → liens simples */
    .nav-auth-btn {
        all: unset !important;
        display: flex !important;
        align-items: center !important;
        gap: 0.5rem !important;
        width: 100% !important;
        padding: 6px 1rem !important;
        cursor: pointer !important;
        color: #000 !important;
        font-size: 1rem !important;
    }

    .nav-auth-btn i {
        color: #000 !important;
    }

    /* Menu colonne gauche */
    #navbarNav .navbar-nav {
        flex-direction: column !important;
        align-items: flex-start !important;
        gap: 0 !important;
        margin-top: 25px !important;
    }

    #navbarNav .nav-link {
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }

    .navbar-nav .nav-item {
        margin-bottom: 6px !important;
    }

    .image_apropos {
        margin-top: 10%;
    }

    .contact {
        margin-bottom: 10%;
    }

    .banniere_titre {
        margin-left: 1rem !important;
        margin-right: 1rem !important;
    }

    .banniere_text,
    .tarif_text {
        font-size: 17px;
    }

    .bloc_apropos {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
    }

    .apropos_titre {
        font-size: 2.4rem !important;
    }
}

/* Très petits écrans */
@media (max-width: 576px) {
    .nav-auth-btn {
        font-size: 0.85rem !important;
        gap: 0.3rem !important;
    }
}