.bandeau {
    position: sticky;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.6rem 0.75rem;
    background: #1b3a5c;
    color: #fff;
}

.marque {
    color: #fff;
    font-size: 1.15rem;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;

    /* La marque prend la place restante : c'est elle qui repousse la bascule à droite,
       sans dépendre d'un justify-content que le nombre d'éléments du bandeau ferait varier
       (la pastille hors-ligne et le nom d'utilisateur vont et viennent). */
    flex: 1 1 auto;
    min-width: 0;
}

.marque-nom {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.marque-logo {
    width: 1.3rem;
    height: 1.3rem;
    flex: 0 0 auto;
    color: #fff;
}

/* Boutons du bandeau (retour, bascule du menu). Cibles tactiles de 2.25rem : on les touche
   au pouce, souvent en marchant. */
.bandeau-icone {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    padding: 0;
    font-size: 1.15rem;
    line-height: 1;
    color: #fff;
    background: transparent;
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 6px;
    cursor: pointer;
}

.bandeau-icone:hover,
.bandeau-icone:focus-visible {
    background: rgba(255, 255, 255, 0.15);
}

.utilisateur {
    flex: 0 1 auto;
    font-size: 0.8rem;
    opacity: 0.85;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    max-width: 40%;
}

/* L'état du réseau change ce que l'application permet : il se voit dans le bandeau, en
   permanence, et pas seulement au moment où une action échoue. */
.pastille-hors-ligne {
    flex: 0 0 auto;
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.02em;
    padding: 0.15rem 0.5rem;
    border-radius: 999px;
    background: #f5d76e;
    color: #4a3800;
    white-space: nowrap;
}

/* Dire d'où viennent les données affichées, et de quand elles datent : sans cette phrase, un
   catalogue hors-ligne est indiscernable d'un catalogue à jour. */
.bandeau-reseau {
    max-width: 46rem;
    margin: 0 auto;
    padding: 0.6rem 1rem;
    background: #fff8e1;
    border-bottom: 1px solid #e6d28a;
    color: #6b5200;
    font-size: 0.9rem;
}

.contenu {
    display: block;
    width: 100%;
    max-width: 46rem;
    margin: 0 auto;
    /* Marge basse généreuse : la barre d'actions flottantes ne doit pas masquer le dernier
       livre de la liste. */
    padding: 1rem 1rem 6rem;
}

/*
    ⚠️ Les styles du MENU ne sont PAS ici, mais dans `wwwroot/css/app.css`.

    Deux raisons, la première étant un vrai bug corrigé le 2026-08-20 :

    1. `NavLink` est un COMPOSANT. L'isolation CSS ne pose son attribut de portée (`b-xxxx`)
       que sur les éléments écrits dans le balisage du composant courant — jamais sur ce que
       rend un composant enfant. `.menu-lien` déclaré ici ne pouvait donc atteindre AUCUN des
       six liens : le `<nav>` recevait bien son fond sombre, et les liens restaient en bleu
       souligné par défaut. C'est exactement ce que l'utilisateur voyait (« toujours les liens
       trop moches et pas ressemblant à un menu »). Le gabarit Blazor par défaut contourne cela
       avec `::deep`.
    2. Une feuille globale ne dépend pas du bundle `MaBibli.Client.styles.css`, qui est
       précisément le fichier qu'un cache a déjà servi périmé ou pas du tout (voir « lot A1 »
       et « L'icône cassée du bandeau » dans CLAUDE.md). La navigation est ce qui doit le moins
       pouvoir tomber.
*/

@media (min-width: 40rem) {
    /* La rangée du menu est visible en permanence à partir de cette largeur : la bascule
       n'a plus rien à déployer. Le point de rupture est répété dans `app.css` — les deux
       doivent rester identiques. */
    .bandeau-bascule {
        display: none;
    }
}
