/* =========================================================
   Pages légales — mêmes tokens que le footer (.fm-zone)
   ========================================================= */
.lg-zone{
  --lg-paper:#FFFFFF; --lg-soft:#FFF7F0; --lg-ink:#0D0B0A; --lg-dim:#6E6862;
  --lg-line:rgba(13,11,10,.12); --lg-acc:#FF8A3D; --lg-acc2:#F57323;
  --lg-ease:cubic-bezier(.22,1,.36,1);
  position:relative; display:block;
  padding:clamp(7rem,13vw,9.5rem) 0 clamp(3rem,7vw,5rem);
  background:var(--lg-paper); color:var(--lg-ink);
  font-family:"Schibsted Grotesk",system-ui,-apple-system,Segoe UI,sans-serif;
}
[data-theme="dark"] .lg-zone{
  --lg-paper:#0A0908; --lg-soft:#15100D; --lg-ink:#F6F1EB; --lg-dim:#9C938B;
  --lg-line:rgba(246,241,235,.14);
}
.lg-zone *{ box-sizing:border-box; }

.lg-wrap{ width:min(1160px,calc(100% - clamp(20px,5vw,60px))); margin:0 auto; }

/* ---------- En-tête ---------- */
.lg-hero{ max-width:760px; padding-bottom:clamp(2rem,5vw,3.2rem);
  border-bottom:1px solid var(--lg-line); position:relative; }
.lg-hero::after{ content:""; position:absolute; left:0; bottom:-2px; height:3px;
  width:clamp(60px,7vw,110px); border-radius:99px;
  background:linear-gradient(90deg,var(--lg-acc),var(--lg-acc2));
  box-shadow:0 0 18px -2px rgba(255,138,61,.7); }

.lg-kicker{ display:inline-flex; align-items:center; gap:.7rem; margin:0 0 1.1rem;
  font-size:.62rem; font-weight:800; letter-spacing:.22em; text-transform:uppercase; color:var(--lg-dim); }
.lg-kicker::before{ content:""; width:22px; height:1.5px; border-radius:99px; background:var(--lg-acc); }

.lg-hero h1{ margin:0; font-size:clamp(2.3rem,6vw,4.2rem); font-weight:850;
  letter-spacing:-.04em; line-height:1; }
.lg-intro{ margin:1.2rem 0 0; max-width:58ch; font-size:.98rem; line-height:1.75; color:var(--lg-dim); }

.lg-meta{ display:flex; flex-wrap:wrap; align-items:center; gap:.7rem; margin-top:1.6rem; }
.lg-date{ display:inline-flex; padding:.45rem .85rem; border-radius:999px;
  font-family:"JetBrains Mono",ui-monospace,monospace; font-size:.66rem; letter-spacing:.02em;
  color:var(--lg-dim); background:var(--lg-soft); border:1px solid var(--lg-line); }
.lg-alt{ display:inline-flex; align-items:center; padding:.45rem .9rem; border-radius:999px;
  font-size:.66rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  color:var(--lg-ink); text-decoration:none; border:1px solid var(--lg-line);
  transition:transform .3s var(--lg-ease), background .3s, color .3s, border-color .3s; }
.lg-alt:hover{ transform:translateY(-2px); background:var(--lg-acc); color:#160A02; border-color:transparent; }

/* ---------- Mise en page ---------- */
.lg-layout{ display:grid; grid-template-columns:250px 1fr;
  gap:clamp(2rem,5vw,4.5rem); margin-top:clamp(2.2rem,5vw,3.4rem); align-items:start; }

.lg-toc{ position:sticky; top:6.5rem; }
.lg-toc p{ margin:0 0 1rem; font-size:.6rem; font-weight:800; letter-spacing:.22em;
  text-transform:uppercase; color:var(--lg-dim); }
.lg-toc ol{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.1rem; }
.lg-toc a{ display:flex; align-items:baseline; gap:.7rem; padding:.42rem 0;
  font-size:.84rem; font-weight:700; letter-spacing:-.01em; color:inherit; text-decoration:none;
  transition:color .3s, transform .35s var(--lg-ease); }
.lg-toc a span{ font-family:"JetBrains Mono",ui-monospace,monospace; font-size:.66rem;
  font-weight:500; color:var(--lg-acc); }
.lg-toc a:hover{ color:var(--lg-acc); transform:translateX(4px); }

/* ---------- Sections ---------- */
.lg-sec{ padding:clamp(1.6rem,3.5vw,2.2rem) 0; border-top:1px solid var(--lg-line);
  scroll-margin-top:7rem; }
.lg-sec:first-child{ border-top:0; padding-top:0; }

.lg-sec-head{ display:flex; align-items:baseline; gap:.9rem; margin-bottom:1rem; }
.lg-sec-head span{ font-family:"JetBrains Mono",ui-monospace,monospace; font-size:.72rem; color:var(--lg-acc); }
.lg-sec-head h2{ margin:0; font-size:clamp(1.25rem,2.4vw,1.6rem); font-weight:850; letter-spacing:-.03em; line-height:1.2; }

.lg-sec-body{ max-width:68ch; font-size:.92rem; line-height:1.8; color:var(--lg-dim); }
.lg-sec-body p{ margin:0 0 .9rem; }
.lg-sec-body p:last-child{ margin-bottom:0; }
.lg-sec-body strong{ color:var(--lg-ink); font-weight:700; }
.lg-sec-body em{ font-style:normal; color:var(--lg-ink); font-weight:600; }
.lg-sec-body a{ color:var(--lg-ink); font-weight:600; text-decoration:underline;
  text-decoration-color:var(--lg-acc); text-decoration-thickness:1.5px; text-underline-offset:3px;
  transition:color .3s; }
.lg-sec-body a:hover{ color:var(--lg-acc); }

.lg-sec-body ul:not(.lg-rows){ list-style:none; margin:0 0 .9rem; padding:0;
  display:flex; flex-direction:column; gap:.55rem; }
.lg-sec-body ul:not(.lg-rows) li{ position:relative; padding-left:1.3rem; }
.lg-sec-body ul:not(.lg-rows) li::before{ content:""; position:absolute; left:0; top:.8em;
  width:8px; height:1.5px; border-radius:99px; background:var(--lg-acc); }

/* Liste libellé → valeur */
.lg-rows{ list-style:none; margin:.4rem 0 0; padding:0; border-radius:16px; overflow:hidden;
  border:1px solid var(--lg-line); background:var(--lg-soft); }
.lg-rows li{ display:grid; grid-template-columns:minmax(140px,210px) 1fr; gap:1rem;
  padding:.8rem 1.1rem; border-top:1px solid var(--lg-line); }
.lg-rows li:first-child{ border-top:0; }
.lg-rows span{ font-size:.66rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase;
  color:var(--lg-dim); padding-top:.2rem; }
.lg-rows b{ font-size:.88rem; font-weight:600; color:var(--lg-ink); line-height:1.6; }

/* Champ à compléter */
.lg-todo{ padding:.08rem .45rem; border-radius:6px; font-weight:600;
  color:var(--lg-acc2); background:rgba(255,138,61,.12); border:1px dashed rgba(255,138,61,.6); }

/* ---------- Responsive ---------- */
@media(max-width:900px){
  .lg-layout{ grid-template-columns:1fr; }
  .lg-toc{ position:static; padding:1.1rem 1.2rem; border-radius:16px;
    background:var(--lg-soft); border:1px solid var(--lg-line); }
}
@media(max-width:560px){
  .lg-rows li{ grid-template-columns:1fr; gap:.25rem; }
}
@media(prefers-reduced-motion:reduce){
  .lg-zone *{ transition:none !important; }
}
