/* ═══════════════════════════════════════════════════════════
   PAGES LÉGALES — Mentions légales & Politique de confidentialité
   Mise en page sobre et premium : sommaire ancré à gauche,
   contenu numéroté à droite, sur fond crème. Typo Epilogue/Mulish,
   filets fins et accents bleus fidèles au reste du site.
   ═══════════════════════════════════════════════════════════ */

.lg{
  background:var(--cream);
  padding:clamp(56px,8vw,110px) var(--pad) clamp(80px,12vw,140px);
}
.lg-inner{
  max-width:1180px;margin:0 auto;
  display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);
  gap:clamp(40px,6vw,96px);
  align-items:start;
}

/* ── Sommaire ancré ── */
.lg-toc{
  position:sticky;top:120px;
  align-self:start;
}
.lg-toc-title{
  font-family:var(--mu);font-size:11px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;
  color:var(--t3);margin-bottom:20px;
}
.lg-toc ol{list-style:none;counter-reset:toc;display:flex;flex-direction:column;gap:2px}
.lg-toc a{
  display:flex;gap:12px;align-items:baseline;
  font-family:var(--mu);font-size:14px;font-weight:400;
  color:var(--t2);line-height:1.45;
  padding:9px 12px;border-radius:8px;
  transition:color .25s var(--ease),background .25s var(--ease);
  counter-increment:toc;
}
.lg-toc a::before{
  content:counter(toc,decimal-leading-zero);
  font-family:var(--ep);font-size:11px;font-weight:400;
  color:var(--blue-dark);letter-spacing:.04em;
  min-width:20px;flex-shrink:0;
}
.lg-toc a:hover,.lg-toc a.is-active{color:var(--navy);background:var(--cream-2)}
.lg-toc a.is-active::before{color:var(--navy)}

/* ── Corps ── */
.lg-body{max-width:720px}
.lg-meta{
  font-family:var(--mu);font-size:12px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;
  color:var(--t3);
  padding-bottom:22px;margin-bottom:clamp(36px,5vw,56px);
  border-bottom:1px solid var(--cream-3);
}
.lg-lead{
  font-family:var(--ep);font-weight:300;
  font-size:clamp(18px,2vw,22px);line-height:1.6;
  color:var(--navy);margin-bottom:clamp(44px,6vw,72px);
}

.lg-section{
  padding-top:clamp(34px,4.5vw,52px);
  border-top:1px solid var(--cream-3);
  margin-top:clamp(34px,4.5vw,52px);
  scroll-margin-top:110px;
}
.lg-section:first-of-type{border-top:0;margin-top:0;padding-top:0}
.lg-section-num{
  font-family:var(--ep);font-size:12px;font-weight:400;
  color:var(--blue-dark);letter-spacing:.1em;
  display:block;margin-bottom:10px;
}
.lg-h2{
  font-family:var(--ep);font-weight:300;
  font-size:clamp(22px,2.6vw,30px);line-height:1.2;
  color:var(--navy);margin-bottom:22px;
}
.lg-h2 em{font-style:normal;color:var(--blue-dark);font-weight:400}
.lg-body p{
  font-family:var(--mu);font-size:15.5px;font-weight:400;
  color:var(--t2);line-height:1.85;margin-bottom:16px;
}
.lg-body p:last-child{margin-bottom:0}
.lg-body a{color:var(--blue-dark);text-decoration:underline;text-underline-offset:2px;transition:color .2s}
.lg-body a:hover{color:var(--navy)}
.lg-body strong{color:var(--navy);font-weight:600}

/* Liste à puces sobre */
.lg-list{list-style:none;margin:4px 0 18px;display:flex;flex-direction:column;gap:11px}
.lg-list li{
  position:relative;padding-left:22px;
  font-family:var(--mu);font-size:15.5px;color:var(--t2);line-height:1.7;
}
.lg-list li::before{
  content:"";position:absolute;left:2px;top:11px;
  width:5px;height:5px;border-radius:50%;background:var(--blue-dark);
}
.lg-list li strong{color:var(--navy);font-weight:600}

/* Fiche d'identité (définitions clé/valeur) */
.lg-facts{
  margin:6px 0 4px;
  display:grid;grid-template-columns:auto 1fr;
  gap:2px 28px;
}
.lg-facts dt{
  font-family:var(--mu);font-size:12px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;
  color:var(--t3);padding:11px 0;
  border-top:1px solid var(--cream-2);
}
.lg-facts dd{
  font-family:var(--mu);font-size:15.5px;color:var(--navy);
  line-height:1.6;padding:11px 0;
  border-top:1px solid var(--cream-2);
}
.lg-facts dt:first-of-type,.lg-facts dd:first-of-type{border-top:0}

/* Encart discret (renvois / rappels) */
.lg-note{
  margin:24px 0 4px;padding:20px 24px;
  background:var(--cream-2);border-radius:12px;
  border-left:2px solid var(--blue-dark);
}
.lg-note p{margin:0;font-size:14.5px;color:var(--t2)}

/* Pied de contenu : dernière mise à jour + lien croisé */
.lg-footlinks{
  margin-top:clamp(48px,7vw,80px);padding-top:28px;
  border-top:1px solid var(--cream-3);
  display:flex;flex-wrap:wrap;gap:14px 28px;align-items:center;
  font-family:var(--mu);font-size:13.5px;color:var(--t3);
}
.lg-footlinks a{
  color:var(--navy);text-decoration:none;font-weight:600;
  display:inline-flex;align-items:center;gap:8px;
}
.lg-footlinks a svg{width:14px;height:14px;stroke:var(--blue-dark);stroke-width:1.6;fill:none}
.lg-footlinks a:hover{color:var(--blue-dark)}

/* ── Responsive ── */
@media(max-width:900px){
  .lg-inner{grid-template-columns:1fr;gap:0}
  .lg-toc{
    position:static;margin-bottom:44px;
    padding-bottom:36px;border-bottom:1px solid var(--cream-3);
  }
  .lg-toc ol{flex-direction:row;flex-wrap:wrap;gap:6px}
  .lg-toc a{padding:7px 12px;background:var(--cream-2)}
  .lg-body{max-width:none}
}
@media(max-width:560px){
  .lg-facts{grid-template-columns:1fr;gap:0}
  .lg-facts dt{padding-bottom:2px;border-top:1px solid var(--cream-2)}
  .lg-facts dd{padding-top:2px;border-top:0}
  .lg-facts dt:first-of-type{border-top:0}
}

/* ═══════════════════════════════════════════════════════════
   PLAN DU SITE — index de liens groupés, même univers premium
   ═══════════════════════════════════════════════════════════ */
.sm{
  background:var(--cream);
  padding:clamp(56px,8vw,110px) var(--pad) clamp(80px,12vw,140px);
}
.sm-inner{max-width:1180px;margin:0 auto}
.sm-lead{
  font-family:var(--ep);font-weight:300;
  font-size:clamp(18px,2vw,22px);line-height:1.6;
  color:var(--navy);max-width:640px;
  padding-bottom:clamp(40px,5vw,60px);margin-bottom:clamp(48px,6vw,72px);
  border-bottom:1px solid var(--cream-3);
}
.sm-grid{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:clamp(40px,5vw,72px) clamp(40px,6vw,88px);
}
.sm-group-title{
  display:flex;align-items:baseline;gap:14px;
  font-family:var(--ep);font-weight:300;
  font-size:clamp(19px,2vw,24px);color:var(--navy);
  padding-bottom:18px;margin-bottom:8px;
  border-bottom:1px solid var(--cream-3);
}
.sm-group-title span{
  font-family:var(--ep);font-size:12px;font-weight:400;
  color:var(--blue-dark);letter-spacing:.1em;
}
.sm-links{list-style:none;display:flex;flex-direction:column}
.sm-link{
  display:block;padding:16px 0;
  border-bottom:1px solid var(--cream-2);
  text-decoration:none;
  transition:padding-left .3s var(--ease);
}
.sm-link:last-child{border-bottom:0}
.sm-link-t{
  display:flex;align-items:center;gap:9px;
  font-family:var(--mu);font-size:15.5px;font-weight:600;
  color:var(--navy);line-height:1.4;
}
.sm-link-t svg{
  width:15px;height:15px;flex-shrink:0;
  stroke:var(--blue-dark);stroke-width:1.6;fill:none;
  opacity:0;transform:translateX(-6px);
  transition:opacity .3s var(--ease),transform .3s var(--ease);
}
.sm-link-d{
  font-family:var(--mu);font-size:13.5px;font-weight:400;
  color:var(--t3);line-height:1.55;margin-top:3px;
}
.sm-link:hover{padding-left:8px}
.sm-link:hover .sm-link-t{color:var(--blue-dark)}
.sm-link:hover .sm-link-t svg{opacity:1;transform:translateX(0)}
