/* =========================================================================
 * LBYLCL Footer — Colonne : styles du shadow root.
 *
 * Aucun token n'est DÉCLARÉ ici. Tous viennent du :host du Footer et sont
 * hérités à travers l'arbre APLATI ; chaque var() porte un repli littéral pour
 * que la colonne reste lisible si elle est déposée hors d'un Footer (rien ne
 * l'en empêche dans le Designer) et dans le harnais Vite, où il n'y a pas de
 * shadow root : `:host` n'y correspond à rien, donc aucun token n'y est défini
 * et l'aperçu tourne intégralement sur les replis. C'est attendu.
 *
 * Typographie de CORPS (Inter) partout ici — y compris pour le titre. Voir le
 * commentaire de `.title` : c'est un écart délibéré avec « Nav — Colonne ».
 * ========================================================================= */

/*
 * Le dimensionnement vit sur :host, pas sur .root, et c'est structurel :
 * l'ÉLÉMENT HÔTE est l'enfant que le pied de page met en page ; .root est déjà
 * à l'intérieur du shadow root et n'a aucune prise sur cette mise en page.
 *
 * Mais ni largeur ni pourcentage, jamais : le Footer est le conteneur des
 * colonnes, c'est LUI qui place chacune dans sa piste. Déclarer une largeur ou
 * un flex-basis ici serait au mieux inutile, au pire perdant — les règles de
 * l'arbre externe (le CSS de la page Webflow) battent :host, donc le sizing ne
 * peut pas vivre du côté de l'enfant. `min-width: 0` autorise simplement l'item
 * à rétrécir sous la taille de son contenu.
 *
 * Reste `display: inline-flex` + `flex-direction: column`, qui est une
 * ceinture-et-bretelles et rien d'autre. Le Footer neutralise le wrapper unique
 * de Webflow en `display: contents !important` ; ce `!important` est ce qui fait
 * que les hôtes deviennent les items du conteneur du Footer. Si cette
 * déclaration perdait un jour la cascade, le wrapper redeviendrait un bloc
 * ordinaire et chaque colonne serait un simple enfant de ce bloc : en
 * `display: block` elles s'empileraient en pleine largeur (cinq colonnes les
 * unes sous les autres), en inline-flex elles continuent de s'aligner
 * horizontalement. Le coût est nul dans le cas normal : un item de grille ou de
 * flex est « blockifié » par la spec, donc `inline-flex` y vaut exactement
 * `flex`. On ne paie ce choix que dans le cas dégradé, où il sauve la mise en
 * page.
 */
:host {
  display: inline-flex;
  flex-direction: column;
  min-width: 0;
  /* Utile seulement dans ce même cas dégradé : des hôtes inline-level
     s'alignent sinon sur la ligne de base et pendent les uns par rapport aux
     autres dès que leurs titres tiennent sur un nombre de lignes différent. */
  vertical-align: top;
  font-family: var(--lcl-font-body, Inter, sans-serif);
}

.lEU0t8ld4kkIiDJfj_2q {
  display: block;
}

/*
 * ═══ CASSE DE PHRASE, ET C'EST VOULU ═══
 *
 * Écart ASSUMÉ avec « LBYLCL Nav — Colonne », dont le titre est en
 * « Cstm Neighbor » 900 + text-transform: uppercase. Ici : police de corps
 * (Inter), 700, casse de phrase, aucune transformation. C'est ce que montre la
 * maquette du pied de page — les titres y sont des gras de corps, pas des
 * capitales d'affichage. Ce n'est donc PAS un oubli d'alignement sur la nav :
 * ne « corrigez » pas ce bloc en recopiant celui de la colonne de nav.
 *
 * La marge appartient au titre, pas au conteneur (pas de `gap` sur .root) :
 * quand « Afficher le titre » est à false, le titre n'est pas rendu et sa marge
 * s'en va avec lui. Aucune marge fantôme au-dessus des liens.
 */
.biXd7o66anl0OfM7T8FZ {
  display: block;
  margin: 0 0 18px;
  font-family: var(--lcl-font-body, Inter, sans-serif);
  /* Inter possède un vrai 700. La consigne « ni 500 ni 600 » vise
     « Cstm Neighbor », qui n'existe qu'en 400 / 700 / 900 — raison de plus pour
     ne pas basculer ce titre sur la police d'affichage à la légère. */
  font-weight: 700;
  font-size: 17px;
  line-height: 1.3;
  color: var(--lcl-ink, #2a2240);
}

/*
 * Pile de liens. Une simple colonne flex suffit : pas besoin de grille, chaque
 * « Nav — Lien » est un bloc pleine largeur qui s'empile naturellement.
 */
.O0j44dozujpmUUT9JYxn {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

/*
 * ═══ LE WRAPPER DE WEBFLOW EST NEUTRALISÉ, PAS CONFIGURÉ ═══
 *
 * Fait constaté dans le DOM rendu, pas déduit (voir NavEntry.module.css, où ce
 * correctif est déjà en production) : Webflow enveloppe TOUT le contenu d'un
 * slot dans un unique <div> — celui que l'inspecteur badge « reveal ». Le
 * <slot> n'a donc qu'un seul enfant assigné :
 *
 *   <div class=links>
 *     <slot name="links">
 *       ↳ <div>            ← wrapper Webflow, UN seul
 *           <footer-lien>
 *           <footer-lien>
 *     </slot>
 *   </div>
 *
 * Sans ce correctif, .links n'a qu'un seul item flex et son `gap` de 6px ne
 * s'applique entre RIEN : les liens s'empilent quand même (ce sont des blocs
 * dans un bloc) mais collés, et toute autorité de mise en page reste sur un
 * élément que Webflow possède.
 *
 * `display: contents` ne génère aucune boîte : les enfants du wrapper remontent
 * d'un niveau et deviennent les items flex de .links, qui est un élément de
 * NOTRE shadow root. Il ne reste qu'une seule déclaration à faire passer à
 * l'extérieur.
 *
 * `!important` est nécessaire, pas cosmétique : le wrapper appartient à l'arbre
 * du DOCUMENT, et les règles de l'arbre externe l'emportent sur celles d'un
 * arbre interne — sauf pour les déclarations `!important`, où l'ordre
 * s'inverse. C'est le seul endroit de ce fichier où l'on atteint quelque chose
 * de slotté : le contenu du slot reste dans le light DOM, aucun sélecteur
 * descendant d'ici ne l'atteint, et le style des liens appartient donc aux
 * « Nav — Lien » eux-mêmes. Ne tentez pas de les restyler ici, c'est
 * inatteignable.
 */
.O0j44dozujpmUUT9JYxn > slot {
  display: contents;
}
.O0j44dozujpmUUT9JYxn > slot::slotted(*) {
  display: contents !important;
}

/*
 * ≤ 767px : le pied de page passe en une ou deux colonnes (c'est le Footer qui
 * décide, il possède la grille). Ici on se contente de deux choses : redevenir
 * block-level pour que le cas dégradé décrit sur :host empile proprement au
 * lieu de tasser cinq colonnes sur une ligne, et resserrer l'espace sous le
 * titre. Une media query fonctionne dans un shadow root — elle interroge le
 * viewport — donc la colonne s'adapte seule, sans rien apprendre de son parent
 * (aucun sélecteur descendant ne traverse la frontière).
 */
@media (max-width: 767px) {
  :host {
    display: flex;
  }
  .biXd7o66anl0OfM7T8FZ {
    margin-bottom: 12px;
  }
}

/*
 * Pas de bloc :focus-visible ici : cette colonne ne contient aucun élément
 * focusable de son propre shadow root — le titre est un <span>, et les liens
 * vivent dans leurs propres shadow roots avec leur propre anneau de focus
 * (NavLink.module.css). Écrire une règle de focus ici ne cachait qu'une
 * illusion de couverture.
 *
 * Pas de bloc @media (prefers-reduced-motion: reduce) non plus : rien n'est
 * animé ni transitionné dans ce fichier. Le bloc serait vide, on ne l'écrit
 * pas. Si une transition apparaît un jour ici, ce bloc devient obligatoire.
 */

