/* ===================================================================
   HOROPS — pages juridiques (conditions generales, confidentialite).
   Charte de l'accueil. Les noms de classes (.legal, .num, .encart,
   .arempl, .tbl) sont ceux des gabarits: le texte n'a pas ete touche.
   =================================================================== */
:root{
  --void:#0B0D10; --panel:#12161B; --panel-2:#171C22;
  --line:#1F252D; --line-2:#2A323C;
  --ink:#E9EEF3; --ink-2:#A9B3BE; --ink-3:#6B7784;
  --jade:#16C79A; --ember:#E4694E; --ambre:#DFA53C;
}
html, body{ background:var(--void) !important; }
body{ font-family:"IBM Plex Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:var(--ink); -webkit-font-smoothing:antialiased; }

.legal{ max-width:46rem; margin:0 auto; padding:1.4rem 1.25rem 6rem; line-height:1.7; }
.legal-tete{ display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding-bottom:1.1rem; margin-bottom:.4rem; }
.legal-marque{ display:inline-flex; align-items:center; gap:9px; font-family:Archivo,sans-serif;
  font-weight:800; font-size:18px; letter-spacing:.01em; color:var(--ink) !important; text-decoration:none !important; }
.legal .retour{ display:inline-flex; align-items:center; gap:6px; color:var(--ink-3); text-decoration:none; font-size:.88rem; }
.legal .retour:hover{ color:var(--ink); }
.legal h1{ font-family:Archivo,sans-serif; font-weight:800; font-size:clamp(1.8rem,5vw,2.3rem);
  margin:1.3rem 0 .4rem; letter-spacing:-.025em; line-height:1.12; color:var(--ink); }
.legal .maj{ color:var(--ink-3); font-size:.86rem; margin-bottom:2rem; padding-bottom:1.5rem; border-bottom:1px solid var(--line); }
.legal h2{ font-family:Archivo,sans-serif; font-weight:700; font-size:1.18rem; margin:2.6rem 0 .75rem;
  letter-spacing:-.015em; color:var(--ink); display:flex; align-items:baseline; }
.legal h2 .num{ color:var(--jade); font-family:"IBM Plex Sans",sans-serif; font-weight:600; font-size:.8rem;
  font-variant-numeric:tabular-nums; margin-right:.7rem; letter-spacing:.02em; }
.legal h3{ font-size:1rem; font-weight:600; margin:1.5rem 0 .4rem; color:var(--ink); }
.legal p{ margin-bottom:.95rem; color:var(--ink-2); font-size:.97rem; }
.legal ul{ margin:0 0 1rem 1.15rem; color:var(--ink-2); font-size:.97rem; }
.legal li{ margin-bottom:.4rem; }
.legal li::marker{ color:var(--ink-3); }
.legal strong{ color:var(--ink); font-weight:600; }
.legal code{ font-family:ui-monospace,Menlo,monospace; font-size:.86em; background:var(--panel-2);
  border:1px solid var(--line); padding:.1em .35em; border-radius:4px; color:var(--jade); }
.legal a{ color:var(--jade); text-decoration:underline; text-underline-offset:3px; }
.legal a:hover{ color:#1AD9A9; }
.legal .tbl{ overflow-x:auto; border:1px solid var(--line); border-radius:12px; background:var(--panel); margin-bottom:1.4rem; }
.legal table{ width:100%; border-collapse:collapse; font-size:.9rem; margin:0; }
.legal th{ text-align:left; padding:.65rem .8rem; color:var(--ink-3); font-size:.72rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.07em; border-bottom:1px solid var(--line); }
.legal td{ padding:.65rem .8rem; border-bottom:1px solid var(--line); vertical-align:top; color:var(--ink-2); }
.legal tr:last-child td{ border-bottom:0; }
/* « A completer »: l'ambre des etats (jamais une action) */
.legal .encart{ border:1px solid rgba(223,165,60,.35); border-left:3px solid var(--ambre);
  background:rgba(223,165,60,.07); padding:.95rem 1.15rem; border-radius:10px; margin:0 0 1.4rem;
  font-size:.93rem; color:var(--ink-2); }
.legal .encart strong{ color:var(--ambre); }
.legal .encart.info{ border-color:rgba(22,199,154,.3); border-left-color:var(--jade); background:rgba(22,199,154,.06); }
.legal .encart.info strong{ color:var(--jade); }
.legal .arempl{ background:rgba(228,105,78,.14); color:#F0A08D; padding:.05em .4em; border-radius:4px; font-weight:600; }
.legal a:focus-visible, .legal-marque:focus-visible{ outline:2px solid var(--jade); outline-offset:2px; border-radius:3px; }
