/* Fil d'Ariane et titre principal communs (docs/specs/fil-ariane.md §5).
 * Exemplaire unique de lib/public/, servi sous /commun/fil.css?v=N
 * (versionnement contrôlé par outils/coherence/verifier.php, section
 * « versions » ; gabarit associé : _fil.html.twig, famille fil).
 *
 * Jetons consommés (contrat du menu commun : déclarés par le style.css
 * de chaque module, thème clair ET blocs sombres) : --encre-douce.
 * Les liens, le titre et l'anneau de focus héritent des styles du
 * module (couples de contraste déjà déclarés) ; les séparateurs et le
 * chevron du retour sont décoratifs (contenu généré à alternative vide,
 * span aria-hidden), hors champ du critère de contraste du texte.
 *
 * Bascule à 900 px (le seuil du repli de la barre latérale,
 * laterale.css) : en bureau le fil complet, en écran étroit le seul
 * lien « Retour à <parent> » ; la forme masquée sort de l'arbre
 * d'accessibilité (display: none). Fil et retour masqués à
 * l'impression (fil-ariane.md §2.11). */

/* bureau : le fil complet au-dessus du titre */
.fil-ariane ol {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    list-style: none;
    margin: 0 0 0.25rem;
    padding: 0;
}
/* troncature visuelle des étiquettes longues (noms dynamiques) : le
   texte intégral reste dans le DOM et l'arbre d'accessibilité */
.fil-ariane li {
    max-width: 18rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.fil-ariane li + li::before {
    content: "\203A";        /* › — repli des navigateurs anciens */
    content: "\203A" / "";   /* alternative vide : ignoré des lecteurs d'écran */
    color: var(--encre-douce);
    padding: 0 0.45rem;
}

/* écran étroit : un seul lien de retour hiérarchique vers le parent */
.fil-retour { display: none; }
@media (max-width: 900px) {
    .fil-ariane { display: none; }
    .fil-retour { display: inline-block; margin: 0 0 0.25rem; }
}

@media print {
    .fil-ariane, .fil-retour { display: none; }
}
