@charset "UTF-8";

/*
 * Fil d'Ariane — module 17 (`mod_breadcrumbs`), position `breadcrumbs`.
 * Référence : ligne sous l'en-tête des maquettes `structure` et `generique`.
 *
 * Aucune surcharge. « Vous êtes ici » est masqué par le réglage `showHere`,
 * pas par du CSS.
 *
 * PIÈGE : la position `breadcrumbs` n'a pas de conteneur à elle. Cassiopeia rend
 * ce module **à l'intérieur de `.grid-child.container-component`**, juste avant
 * `<main>` — le sélecteur `.container-breadcrumbs` (qui existe pourtant dans le
 * CSS du cœur) ne correspond à rien dans le HTML produit. Tout se cible donc
 * depuis `.mod-breadcrumbs__wrapper`.
 *
 * Pas d'aplat de fond, contrairement à une première version : la maquette pose
 * cette ligne sur le fond de page. Un aplat aurait demandé une bande pleine
 * largeur, impossible à obtenir proprement depuis un module logé dans le
 * conteneur du composant.
 */

.mod-breadcrumbs__wrapper {
  margin: 0;
}

/* Sur une fiche acteur et sur une page carte (voir carte.css), le conteneur du
   composant est passé en pleine largeur sans padding : le fil doit se redonner
   lui-même la marge de page, sans quoi il se colle au bord de l'écran et ne
   s'aligne plus avec le titre (qui a le même correctif dans son propre
   fichier). Ailleurs, le conteneur garde son propre padding et il n'y a rien à
   ajouter. */
.container-component:has(.sema-fiche) .mod-breadcrumbs__wrapper,
body.page-carte .mod-breadcrumbs__wrapper {
  padding-inline: var(--rem-marge-page);
}

/* Bootstrap pilote ce composant par des custom properties : les redéfinir vaut
   mieux que de lutter contre ses sélecteurs.
   Les deux `!important` ci-dessous sont l'exception à la règle du projet, et le
   seul recours : le gabarit du cœur pose `px-3 py-2` sur le <ol>, et les classes
   utilitaires de Bootstrap sont elles-mêmes déclarées `!important`
   (`.px-3{padding-left:1rem!important}`) — aucune spécificité ne les bat. La
   seule alternative serait de surcharger le gabarit du module pour retirer trois
   classes, ce qui coûterait plus cher à maintenir. */
.mod-breadcrumbs {
  --breadcrumb-margin-bottom: 0;
  --breadcrumb-item-padding-x: 0.6rem;
  /* Le séparateur reste à l'encre : sur ce fond, la terre cuite plafonne trop
     bas, et une barre oblique illisible se lit comme un défaut d'affichage. */
  --breadcrumb-divider-color: var(--rem-encre);
  --breadcrumb-item-active-color: var(--rem-encre);
  gap: 0.15rem 0;
  margin: 0;
  padding-block: 0.9rem !important;
  padding-inline: 0 !important;
  font-family: var(--rem-police-mono);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background-color: transparent;
}

/* Épingle décorative du gabarit du cœur (`icon-location`, déjà `aria-hidden`) :
   la maquette n'en veut pas, et les barres obliques suffisent à dire le chemin.
   Aucun réglage du module ne permet de l'ôter. */
.mod-breadcrumbs__divider {
  display: none;
}

.mod-breadcrumbs .breadcrumb-item a {
  color: var(--rem-foret);
  text-decoration: none;
}

.mod-breadcrumbs .breadcrumb-item a:hover,
.mod-breadcrumbs .breadcrumb-item a:focus-visible {
  text-decoration: underline;
  text-decoration-color: var(--rem-terre);
  text-decoration-thickness: var(--rem-trait-fin);
  text-underline-offset: 0.25em;
}

/* La page courante n'est pas un lien : elle se distingue par la graisse, sans
   changer de couleur — sur cette ligne, un second ton brouillerait la lecture. */
.mod-breadcrumbs .breadcrumb-item.active {
  font-weight: 700;
}
