:root {
  color-scheme:dark;
  --legal-bg:#10151c;
  --legal-panel:#1a2029;
  --legal-line:#394451;
  --legal-text:#edf0f2;
  --legal-muted:#b8c0c7;
  --legal-accent:#ff7d83;
  --legal-cream:#fff0dc;
}
* { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body.legal-page {
  min-height:100vh;
  margin:0;
  color:var(--legal-text);
  background:
    radial-gradient(circle at 12% 8%,rgba(255,125,131,.16),transparent 30rem),
    linear-gradient(135deg,#111923,#10141b 58%,#152832);
  font-family:system-ui,-apple-system,"Segoe UI",sans-serif;
}
a { color:inherit; }
.legal-shell { width:min(100% - 32px,900px); margin:auto; padding:28px 0 64px; }
.legal-topbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:32px; }
.legal-brand { display:flex; align-items:center; gap:11px; text-decoration:none; font-weight:800; }
.legal-brand img { width:40px; height:40px; border:2px solid var(--legal-accent); border-radius:50%; object-fit:cover; }
.legal-back { padding:9px 13px; border:1px solid var(--legal-line); border-radius:999px; color:var(--legal-muted); text-decoration:none; font-size:.86rem; }
.legal-back:hover { border-color:var(--legal-accent); color:white; }
.legal-hero { margin-bottom:20px; padding:clamp(24px,5vw,46px); border:1px solid var(--legal-line); border-radius:24px; background:linear-gradient(145deg,rgba(31,38,48,.96),rgba(20,25,33,.96)); }
.legal-eyebrow { margin:0 0 8px; color:var(--legal-accent); font-size:.74rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.legal-hero h1 { margin:0; color:var(--legal-cream); font-size:clamp(2rem,7vw,3.7rem); line-height:1; letter-spacing:-.05em; }
.legal-intro { max-width:66ch; margin:18px 0 0; color:var(--legal-muted); font-size:1.02rem; line-height:1.7; }
.legal-updated { display:inline-block; margin-top:15px; padding:6px 9px; border-radius:999px; color:#2a1b1d; background:var(--legal-accent); font-size:.72rem; font-weight:800; }
.legal-content { display:grid; gap:14px; }
.legal-content section { padding:24px clamp(20px,4vw,34px); border:1px solid var(--legal-line); border-radius:18px; background:rgba(25,31,40,.92); }
.legal-content h2 { margin:0 0 12px; color:var(--legal-cream); font-size:1.22rem; }
.legal-content h3 { margin:20px 0 8px; color:#ffd5d2; font-size:1rem; }
.legal-content p,.legal-content li { color:var(--legal-muted); line-height:1.7; }
.legal-content p { margin:9px 0; }
.legal-content ul { margin:9px 0; padding-left:22px; }
.legal-content strong { color:var(--legal-text); }
.legal-content a { color:#ffafb3; text-underline-offset:3px; }
.legal-note { border-color:rgba(255,125,131,.55) !important; background:linear-gradient(135deg,rgba(58,36,43,.95),rgba(27,32,40,.95)) !important; }
.legal-footer-page { display:flex; flex-wrap:wrap; justify-content:center; gap:9px 18px; margin-top:28px; color:var(--legal-muted); font-size:.82rem; }
.legal-footer-page a:hover { color:white; }

/* Liens juridiques visibles dans l'application principale. */
.legal-footer { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 18px; margin:44px 0 12px; padding:18px 12px; border-top:1px solid rgba(255,255,255,.12); color:#aeb5bc; font-size:.76rem; }
.legal-footer a { color:inherit; text-decoration:none; }
.legal-footer a:hover { color:#fff0ee; text-decoration:underline; }

@media (max-width:560px) {
  .legal-shell { width:min(100% - 22px,900px); padding-top:16px; }
  .legal-topbar { margin-bottom:18px; }
  .legal-back { padding:8px 10px; font-size:.78rem; }
  .legal-content section { padding:20px 17px; }
  .legal-footer { margin-bottom:88px; }
}
