/* Fil d'Ariane.
 *
 * CSS ecrit a la main, PAS genere par Tailwind : la chaine de build ne tourne pas sur ce
 * serveur (ni node ni npm) et build/app.css est un build purge. Une classe ajoutee dans un
 * gabarit serait inerte. Meme contrainte et meme convention que cards.css et mobile.css.
 *
 * Charge APRES build/app.css dans base.html.twig, et servi via asset_hashed() : l'URL porte
 * le md5 du contenu, nginx pose Cache-Control immutable sur /build/.
 */

/* Separateur genere en CSS, jamais ecrit dans le HTML : un caractere en dur serait lu par
 * les lecteurs d'ecran et indexe avec le libelle qui le suit.
 *
 * DEUX declarations, dans cet ordre, en amelioration progressive. La syntaxe
 * `content: "x" / ""` -- qui donne un texte alternatif VIDE, donc non annonce -- n'est
 * comprise que par Chrome 77+, Firefox 129+ et Safari 17.4+. Un navigateur plus ancien ne
 * l'ignore pas partiellement : il jette la declaration ENTIERE, et il ne resterait plus
 * aucun separateur. La premiere ligne garantit le chevron partout ; la seconde l'ecrase
 * en y ajoutant le texte alternatif la ou c'est supporte. */
.dgn-fil__item + .dgn-fil__item::before {
	content: "\203A";
	content: "\203A" / "";
	margin: 0 0.4rem;
	color: #9ca3af;
}

/* En RTL le chevron doit pointer dans l'autre sens. Le conteneur flex, lui, s'inverse seul
 * grace au dir="rtl" deja pose sur <html>. Meme repli en deux declarations. */
[dir="rtl"] .dgn-fil__item + .dgn-fil__item::before {
	content: "\2039";
	content: "\2039" / "";
}

/* CLS : la hauteur est reservee des le premier rendu, le fil ne fait pas sauter le H1. */
.dgn-fil {
	min-height: 1.25rem;
	line-height: 1.25rem;
}

/* Le libelle de la page courante peut etre long (un titre de voiture). Il retrecit avec des
 * points de suspension au lieu de pousser le fil hors de l'ecran.
 * Remplace `truncate`, absente du build Tailwind purge -- verifie : 0 occurrence. */
.dgn-fil__item--courant {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
