/* ═══════════════════════════════════════════════════════════════════════
   Pages legales (/terms, /privacy, /aml).

   Le bandeau sombre vient du composant partage `.page-hero` (app.css).
   Cette feuille ajoute le selecteur de document, le resume, le rail de
   sommaire et la typographie de lecture longue.

   Contrainte propre a ce type de page : on lit reellement ces textes du
   debut a la fin. La mesure de ligne, l'interlignage et la hierarchie des
   titres priment sur tout effet.
   ═══════════════════════════════════════════════════════════════════════ */

/* ── bandeau ──────────────────────────────────────────────────────────── */
.lg-date{
  display:flex;align-items:center;gap:8px;margin:18px 0 0;
  font-family:var(--font-mono);font-size:12px;color:rgba(255,255,255,.62);
}
.lg-date .st-dot{width:6px;height:6px;border-radius:50%;background:var(--acid);flex:0 0 auto}

/* Selecteur des trois documents : ils se lisent ensemble. */
.lg-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.lg-tabs a{
  display:inline-flex;align-items:center;min-height:40px;padding:0 15px;border-radius:999px;
  font-size:13.5px;font-weight:600;
  color:rgba(255,255,255,.74);background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.14);transition:background .15s,color .15s,border-color .15s;
}
.lg-tabs a:hover{color:#fff;background:rgba(255,255,255,.12)}
.lg-tabs a[aria-current="page"]{
  background:var(--acid);border-color:var(--acid);color:#141608;
}

/* ── ossature ─────────────────────────────────────────────────────────── */
.lg-shell{
  display:grid;grid-template-columns:250px minmax(0,1fr);
  gap:56px;align-items:start;padding-top:44px;padding-bottom:88px;
}
.lg-toc-side{position:sticky;top:96px;max-height:calc(100vh - 120px);overflow-y:auto;padding-right:6px}
.lg-toc-h{
  display:block;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--muted);margin-bottom:12px;
}
.lg-toc-nav{display:flex;flex-direction:column;gap:1px}
.lg-toc-nav a{
  display:block;padding:7px 12px;border-radius:8px;font-size:13.5px;line-height:1.4;
  color:var(--ink-2);border-left:2px solid transparent;
  transition:background .14s,color .14s,border-color .14s;
}
.lg-toc-nav a:hover{background:var(--bg-2);color:var(--ink)}
.lg-toc-nav a.on{border-left-color:var(--acid);background:var(--acid-soft);color:var(--ink);font-weight:600}
.lg-toc-m{display:none}

/* ── resume ───────────────────────────────────────────────────────────── */
.lg-summary{
  background:var(--panel);border:1px solid var(--line);border-left:3px solid var(--acid);
  border-radius:14px;padding:22px 24px;margin-bottom:44px;
}
.lg-summary h2{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin-bottom:12px;
}
.lg-summary ul{margin:0;padding:0}
.lg-summary li{
  list-style:none;position:relative;padding-left:26px;margin-bottom:9px;
  color:var(--ink);font-size:15.5px;line-height:1.55;
}
.lg-summary li::before{
  content:"";position:absolute;left:6px;top:9px;width:7px;height:7px;border-radius:50%;
  background:var(--acid);box-shadow:0 0 0 3px var(--acid-soft);
}
.lg-summary li:last-of-type{margin-bottom:0}
.lg-summary-note{
  margin:16px 0 0;padding-top:14px;border-top:1px solid var(--line);
  font-size:13px;color:var(--muted);
}

/* ── corps du document ────────────────────────────────────────────────── */
.lg-body{min-width:0}
.lg-sec{scroll-margin-top:96px;padding-bottom:34px}
.lg-sec + .lg-sec{border-top:1px solid var(--line);padding-top:34px}
.lg-sec h2{font-size:clamp(20px,2.3vw,25px);margin-bottom:14px;letter-spacing:-.015em}
.lg-sec h3{font-size:17px;margin:26px 0 10px}
.lg-sec p{margin:0 0 14px;color:var(--ink-2);font-size:16px;line-height:1.68}
.lg-sec p:last-child{margin-bottom:0}
.lg-sec b{color:var(--ink);font-weight:600}
.lg-sec a:not(.btn):not(.gd-card):not(.lg-card):not(.gx-card):not(.chip){color:var(--green-ink);text-decoration:underline;text-underline-offset:2px}
.lg-sec a:hover{color:var(--ink)}
.lg-sec code{
  font-family:var(--font-mono);font-size:.88em;padding:2px 6px;border-radius:5px;
  background:var(--bg-2);border:1px solid var(--line);color:#2f3a12;word-break:break-word;
}
.lg-sec ul{margin:0 0 16px;padding:0}
.lg-sec ul li{
  list-style:none;position:relative;padding-left:22px;margin-bottom:9px;
  color:var(--ink-2);font-size:16px;line-height:1.62;
}
.lg-sec ul li::before{
  content:"";position:absolute;left:4px;top:11px;width:5px;height:5px;border-radius:50%;
  background:var(--line-2);
}
.lg-sec ul li:last-child{margin-bottom:0}

/* tableau du registre des traitements */
.lg-table{width:100%;border-collapse:collapse;margin:4px 0 16px;font-size:14.5px;color:var(--ink-2)}
.lg-table th{
  text-align:left;font-family:var(--font-mono);font-size:10.5px;letter-spacing:.1em;
  text-transform:uppercase;color:var(--muted);font-weight:700;
  padding:0 14px 9px;border-bottom:1px solid var(--line-2);
}
.lg-table td{padding:12px 14px;border-bottom:1px solid var(--line);vertical-align:top;line-height:1.5}
.lg-table tr:last-child td{border-bottom:none}
.lg-table th:first-child,.lg-table td:first-child{padding-left:0}
.lg-table th:last-child,.lg-table td:last-child{padding-right:0}
.lg-table td:first-child{color:var(--ink);font-weight:600;white-space:nowrap}

/* ── renvoi vers les autres documents ─────────────────────────────────── */
.lg-cross-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.lg-card{
  display:flex;align-items:center;gap:13px;padding:16px 18px;border-radius:14px;
  background:var(--panel);border:1px solid var(--line);color:var(--ink);
  text-decoration:none;transition:border-color .16s,transform .16s var(--ease),box-shadow .16s;
}
.lg-card:hover{border-color:var(--acid);transform:translateY(-2px);box-shadow:var(--shadow-sm);color:var(--ink)}
.lg-card-ic{
  flex:0 0 auto;width:38px;height:38px;border-radius:11px;display:grid;place-items:center;
  background:var(--acid-soft);border:1px solid rgba(201,242,78,.34);color:var(--green-ink);
}
.lg-card-ic svg{width:19px;height:19px}
.lg-card > span:nth-child(2){flex:1;min-width:0}
.lg-card b{display:block;font-family:var(--font-display);font-size:15px;line-height:1.3}
.lg-card small{display:block;margin-top:2px;font-family:var(--font-mono);font-size:11px;color:var(--muted)}
.lg-card > svg{width:16px;height:16px;color:var(--muted-2);flex:0 0 auto}

/* ═════════════════ ECRANS INTERMEDIAIRES ════════════════════════════ */
@media (max-width:960px){
  .lg-shell{grid-template-columns:1fr;gap:0;padding-top:20px}
  .lg-toc-side{display:none}
  .lg-toc-m{
    display:block;margin:0 0 28px;border:1px solid var(--line);
    border-radius:13px;background:var(--panel);overflow:hidden;
  }
  .lg-toc-m > summary{
    list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;
    min-height:52px;padding:0 16px;font-family:var(--font-display);font-weight:600;font-size:15px;color:var(--ink);
  }
  .lg-toc-m > summary::-webkit-details-marker{display:none}
  .lg-toc-m > summary span{display:flex;align-items:center;gap:10px}
  .lg-toc-m > summary svg{width:16px;height:16px;color:var(--muted);transform:rotate(90deg);transition:transform .2s var(--ease)}
  .lg-toc-m[open] > summary svg{transform:rotate(-90deg)}
  .lg-toc-m[open] > summary{border-bottom:1px solid var(--line)}
  .lg-toc-m .lg-toc-nav{padding:8px}
  .lg-toc-m .lg-toc-nav a{min-height:44px;display:flex;align-items:center;font-size:15px}
}

/* ═════════════════ TELEPHONE ════════════════════════════════════════ */
@media (max-width:640px){
  .lg-tabs{gap:7px;margin-top:18px}
  .lg-tabs a{font-size:12.5px;padding:0 13px;min-height:44px}
  .lg-shell{padding-bottom:56px}

  .lg-summary{padding:18px 16px;margin-bottom:32px;border-radius:13px}
  .lg-summary li{font-size:15px;padding-left:24px}

  .lg-sec{padding-bottom:28px}
  .lg-sec + .lg-sec{padding-top:28px}
  .lg-sec p,.lg-sec ul li{font-size:15.5px;line-height:1.62}

  /* Un tableau a trois colonnes force un defilement lateral sous 640px :
     chaque ligne devient un bloc, l'intitule au-dessus de la valeur. */
  .lg-table,.lg-table tbody,.lg-table tr,.lg-table td{display:block;width:100%}
  .lg-table thead{display:none}
  .lg-table tr{padding:14px 0;border-bottom:1px solid var(--line)}
  .lg-table tr:last-child{border-bottom:none}
  .lg-table td{border:none;padding:0}
  .lg-table td + td{margin-top:5px;color:var(--muted)}
  .lg-table td:first-child{white-space:normal;font-size:15px}
  .lg-table td:last-child{font-family:var(--font-mono);font-size:12px}

  .lg-cross-row{grid-template-columns:1fr}
}
