/* Mise en page des pages légales — s'appuie sur les tokens de style.css */
.page-legale { padding-block: clamp(2.5rem, 6vw, 4.5rem) var(--section); }
.page-legale .shell { max-width: 780px; }
.page-legale h1 { font-size: clamp(2rem, 1.4rem + 2.4vw, 3rem); margin-bottom: 1.5rem; }
.page-legale h2 {
  font-size: clamp(1.25rem, 1.1rem + .7vw, 1.6rem);
  margin-top: 2.8rem; padding-top: 1.6rem;
  border-top: 1px solid var(--ligne);
}
.page-legale h2:first-of-type { border-top: 0; padding-top: 0; }
.page-legale dl { margin: 0 0 1.5rem; }
.page-legale dt { font-weight: 700; color: var(--encre); margin-top: 1rem; }
.page-legale dd { margin: .2rem 0 0; color: var(--gris); }
.page-legale table {
  width: 100%; border-collapse: collapse; margin: 1.2rem 0 1.8rem; font-size: .95rem;
}
.page-legale th, .page-legale td {
  text-align: left; padding: .7rem .9rem; border-bottom: 1px solid var(--ligne); vertical-align: top;
}
.page-legale th { color: var(--encre); background: var(--papier-2); }
.page-legale .retour {
  display: inline-flex; align-items: center; gap: .45rem;
  font-weight: 700; text-decoration: none; margin-bottom: 2rem;
}
.page-legale .retour:hover { gap: .7rem; }
.a-completer {
  background: rgba(255, 77, 23, .13);
  border-bottom: 2px solid var(--orange);
  padding: .05em .35em;
  font-weight: 600; color: #a82904;   /* 6,3:1 sur le fond surligné */
  /* Pas de `nowrap` : certains libellés sont des phrases entières et débordaient
     horizontalement de la page au lieu de se couper. */
}
.tableau-defilant { overflow-x: auto; }
