/*
 * Ligne de liste d'une « Carte tarif ».
 *
 * Ce fichier ne DÉCLARE aucun token de marque : il les lit, avec un repli
 * littéral (§ 5). Ils viennent du `:host` de la carte et traversent la
 * frontière shadow par héritage — c'est le seul canal, et c'est ce qui fait
 * que la pastille suit le thème sans qu'on câble quoi que ce soit.
 *
 * `--lcl-pc-accent` et `--lcl-pc-accent-ink` sont redéfinis par la carte selon
 * son thème : ne pas écrire de couleur en dur ici, elle serait invisible sur
 * l'un des deux thèmes sans que rien ne le signale.
 */
:host {
  /* Mêmes valeurs que les deux cartes — copie assumée, raison expliquée dans
     PricingCard.module.css. Elles ne servent ici que de REPLI : la carte les
     redéclare et elles arrivent par héritage (§ 5). */
  --lcl-card-text: 1rem;
  --lcl-card-lh: 1.55;

  display: block;
}

/*
 * La taille de police et l'interlignage sont posés ICI et non sur le seul
 * libellé : c'est ce qui donne au marqueur la même référence `em`, donc une
 * hauteur de ligne identique à celle du texte. Sans ça, `1em` sur le marqueur
 * valait la police héritée de la carte, qui n'est pas celle de l'item.
 */
/*
 * `align-items: center`, et c'est un renoncement assumé.
 *
 * Aligner la pastille sur la PREMIÈRE LIGNE du texte demanderait de savoir où
 * cette ligne tombe. C'était calculable tant que le libellé était un `<span>`
 * qu'on possédait ; depuis qu'il est un `props.RichText`, le texte vit dans un
 * paragraphe SLOTTÉ sur lequel le « Line Height Trim » du site pose des
 * pseudo-éléments à marge négative, hors de portée de `::slotted()` (§ 6.3,
 * § 6.6). Aucun calcul depuis ce shadow root ne peut rattraper ce décalage.
 *
 * Le centrage sur le bloc, lui, ne dépend d'aucune de ces inconnues : il est
 * exact pour un item d'une ligne, qui est le cas courant. Sur un item de deux
 * lignes la pastille se centre sur les deux au lieu de viser la première —
 * c'est le prix, et `--lcl-pc-marker-align: flex-start` le rend si besoin.
 */
.stgrMM0xtsgKPtQcEGeg {
  box-sizing: border-box;
  display: flex;
  align-items: var(--lcl-pc-marker-align, center);
  gap: var(--lcl-pc-item-gap, 12px);
  font-size: var(--lcl-pc-item-size, var(--lcl-card-text, 1rem));
  line-height: var(--lcl-pc-item-lh, var(--lcl-card-lh, 1.55));
}

.stgrMM0xtsgKPtQcEGeg * {
  box-sizing: border-box;
}

/*
 * Le marqueur. `flex: 0 0 auto` : jamais d'écrasement quand le libellé passe
 * sur deux lignes. Le centrage vertical est porté par `.root` ci-dessus.
 *
 * `--lcl-pc-marker-nudge` reste disponible pour un ou deux pixels de rattrapage
 * si le « Line Height Trim » du site décale encore l'optique (§ 6.6).
 */
.j73pMInmHikdbpYqw5tm {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--lcl-pc-marker, 20px);
  height: var(--lcl-pc-marker, 20px);
  margin-top: var(--lcl-pc-marker-nudge, 0px);
}

.bCemh5GqmeekMpoY9yzV {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: var(--lcl-pc-marker, 20px);
  height: var(--lcl-pc-marker, 20px);
  border-radius: 50%;
  background: var(--lcl-pc-accent, #c7f000);
  color: var(--lcl-pc-accent-ink, #2a2240);
}

.OLdjQP9JLY4U8DEKkTes {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

/* Le SVG déposé par le designer : on lui impose sa taille depuis ici, ce qui
   bat aussi ses attributs `width` / `height` (§ 6.5). */
.OLdjQP9JLY4U8DEKkTes slot::slotted(*) {
  width: var(--lcl-pc-marker-icon, 12px) !important;
  height: var(--lcl-pc-marker-icon, 12px) !important;
  display: block !important;
}

/*
 * Le texte est un `props.RichText` : son contenu arrive SLOTTÉ, donc
 * `.label p` ne matche RIEN — les paragraphes ne sont pas nos descendants dans
 * l'arbre DOM (§ 6.3). Il ne reste que deux canaux, et les deux sont utilisés
 * ici : les propriétés HÉRITÉES posées sur ce conteneur, qui atteignent les
 * paragraphes, et `::slotted()` sur le nœud de premier niveau.
 */
.zFbG5fBfRqUdqReHD66M {
  min-width: 0;
  font-family: var(--lcl-font-body, Inter, sans-serif);
  font-weight: var(--lcl-pc-item-weight, 400);
  color: var(--lcl-pc-ink, #2a2240);
}

/*
 * Les marges des paragraphes doivent disparaître : une ligne de liste est une
 * ligne, pas un bloc de prose. `::slotted()` n'atteint que le nœud de premier
 * niveau, donc on passe par une grille posée SUR lui — ses `<p>` sont ses vrais
 * enfants, et un `row-gap` n'est pas une propriété de boîte, donc rien que les
 * marges négatives du « Line Height Trim » du site ne puissent absorber
 * (§ 6.3, § 6.6).
 */
.zFbG5fBfRqUdqReHD66M > slot::slotted(*) {
  display: grid !important;
  row-gap: 4px !important;
  margin: 0 !important;
}

