/* ==========================================================================
   JustiComm · pages légales (mentions légales, confidentialité, cookies) · 15/10/2026
   Générées par site-travail/outils/pages-legales.py à partir des textes validés.
   ========================================================================== */

.lg-ouverture { padding-block: calc(var(--h-entete) + clamp(2rem, 5vw, 4rem)) clamp(2.5rem, 5vw, 4rem); }
.lg-titre { margin-top: var(--e-4); font: 500 clamp(2.5rem, 1.8rem + 3vw, 4.25rem) / 1.05 var(--f-titre); color: var(--titre); letter-spacing: -0.012em; }
.lg-chapo { margin-top: var(--e-4); max-width: 44rem; font-size: var(--t-corps); line-height: 1.6; color: var(--creme-doux); }
.lg-maj { margin-top: var(--e-4); font-size: 0.9375rem; letter-spacing: 0.04em; color: var(--or); }

.lg-grille { display: grid; gap: clamp(2rem, 4vw, 4rem); }
@media (min-width: 64em) {
  .lg-grille { grid-template-columns: 16rem minmax(0, 46rem); justify-content: start; column-gap: clamp(3rem, 6vw, 6rem); }
  .lg-sommaire { position: sticky; top: calc(var(--h-entete) + 2rem); align-self: start; }
}
.lg-grille > * { min-width: 0; }

.lg-sommaire { padding: var(--e-5); border: 1px solid var(--lin); background: var(--creme); }
.lg-sommaire__titre { font-size: 0.8125rem; letter-spacing: 0.18em; text-transform: uppercase; color: var(--or-texte); }
.lg-sommaire ol { display: grid; gap: var(--e-2); margin: var(--e-3) 0 0; padding: 0; list-style: none; counter-reset: lg; }
.lg-sommaire li { counter-increment: lg; display: flex; gap: var(--e-2); font-size: 0.9375rem; line-height: 1.4; }
.lg-sommaire li::before { content: counter(lg, decimal-leading-zero); flex: none; font-size: 0.75rem; line-height: 1.9; letter-spacing: 0.1em; color: var(--or-texte); }
.lg-sommaire a { color: var(--petrole); text-decoration: none; }
.lg-sommaire a:hover { text-decoration: underline; text-underline-offset: 0.2em; }
.lg-sommaire__autres { margin-top: var(--e-4); padding-top: var(--e-3); border-top: 1px solid var(--lin); font-size: 0.875rem; color: var(--taupe); }
.lg-sommaire__autres a { text-decoration: underline; text-underline-offset: 0.2em; }
@media (max-width: 63.99em) { .lg-sommaire ol { grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr)); } }

.lg-texte { font-size: var(--t-legende); line-height: 1.7; color: var(--texte); }
.lg-texte h2 {
  margin-top: clamp(2rem, 4vw, 2.75rem); padding-top: var(--e-5); border-top: 1px solid var(--lin);
  font: 500 var(--t-carte) / 1.15 var(--f-titre); color: var(--petrole); scroll-margin-top: calc(var(--h-entete) + 1.5rem);
}
.lg-texte h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.lg-texte p, .lg-texte ul, .lg-texte .lg-table { margin-top: var(--e-4); }
.lg-texte ul { display: grid; gap: var(--e-2); padding: 0; list-style: none; }
.lg-texte li { position: relative; padding-left: 1.25rem; }
.lg-texte li::before { content: ""; position: absolute; left: 0; top: 0.8em; width: 0.55rem; height: 1px; background: var(--bronze); }
.lg-texte a { color: var(--petrole); text-underline-offset: 0.2em; overflow-wrap: anywhere; }
.lg-texte strong { font-weight: 500; color: var(--encre); }

.lg-table { overflow-x: auto; border: 1px solid var(--lin); }
.lg-table table { width: 100%; min-width: 34rem; border-collapse: collapse; font-size: 0.9375rem; line-height: 1.5; }
.lg-table th, .lg-table td { padding: var(--e-3) var(--e-4); border-bottom: 1px solid var(--lin); text-align: left; vertical-align: top; }
.lg-table thead th { background: var(--creme); font-weight: 500; font-size: 0.8125rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--or-texte); }
.lg-table tbody th { font-weight: 400; }
.lg-table code { font-size: 0.875rem; color: var(--petrole); }
.lg-table tr:last-child th, .lg-table tr:last-child td { border-bottom: 0; }
