
.legal {
  display: grid;
  gap: var(--s-5) var(--gouttiere);
  padding-bottom: var(--s-8);
}
@media (min-width: 64rem) {
  .legal { grid-template-columns: 16rem minmax(0, 46rem); }
  .legal__avertissement { grid-column: 1 / -1; }
  .legal__sommaire { position: sticky; top: calc(var(--hauteur-header) + var(--s-4)); align-self: start; }
}

.legal__avertissement {
  max-width: none;
  padding: var(--s-3) var(--s-4);
  border-left: 3px solid var(--c-cuivre);
  background: var(--fond-alt);
  font-size: var(--t-sm);
}

.legal__sommaire-titre {
  margin-bottom: var(--s-3);
  font-size: var(--t-xs);
  font-weight: 500;
  letter-spacing: var(--tracking-caps);
  text-transform: uppercase;
  color: var(--accent);
}
.legal__sommaire ol { padding-left: 1.3em; font-size: var(--t-sm); }
.legal__sommaire li + li { margin-top: var(--s-1); }
.legal__sommaire a { color: var(--texte); text-decoration-color: var(--bordure); }
.legal__sommaire a:hover { color: var(--accent); }

.legal__contenu { --flux-espace: var(--s-6); }
.legal__contenu section > * + * { margin-top: var(--s-3); }
.legal__contenu h2 {
  padding-bottom: var(--s-2);
  border-bottom: 1px solid var(--filet);
  font-size: var(--t-xl);
}
.legal__contenu ul { padding-left: 1.2em; }
.legal__contenu li + li { margin-top: var(--s-1); }
.legal__contenu [id] { scroll-margin-top: calc(var(--hauteur-header) + var(--s-4)); }

.legal__fiche div {
  display: grid;
  gap: var(--s-1) var(--s-4);
  padding-block: var(--s-2);
  border-bottom: 1px solid var(--bordure);
}
@media (min-width: 40rem) { .legal__fiche div { grid-template-columns: 13rem 1fr; } }
.legal__fiche dt { font-size: var(--t-sm); font-weight: 500; }
.legal__fiche dd { margin: 0; }

.tableau-defilant { position: relative; overflow-x: auto; }
.legal__tableau { width: 100%; min-width: 30rem; border-collapse: collapse; font-size: var(--t-sm); }
.legal__tableau th,
.legal__tableau td { padding: var(--s-2) var(--s-3) var(--s-2) 0; border-bottom: 1px solid var(--bordure); text-align: left; vertical-align: top; }
.legal__tableau th { font-size: var(--t-xs); letter-spacing: 0.08em; text-transform: uppercase; color: var(--texte-doux); font-weight: 500; }

.legal__maj { font-size: var(--t-sm); font-style: italic; color: var(--texte-doux); }
