/* ═══════════════════════════════════════════
   PAGES LÉGALES — Mobile-first
═══════════════════════════════════════════ */

.legal-hero {
  background:linear-gradient(145deg,#1a1d3b 0%,#2d1060 55%,#0f3460 100%);
  padding:clamp(90px,12vw,130px) 0 clamp(40px,6vw,64px);
  position:relative;overflow:hidden;
}
.legal-hero::before { content:'';position:absolute;inset:0;background-image:radial-gradient(rgba(255,255,255,.05) 1px,transparent 1px);background-size:32px 32px;pointer-events:none; }
.lh-orb { position:absolute;border-radius:50%;pointer-events:none; }
.lh-orb-1 { width:400px;height:400px;top:-120px;right:-80px;background:radial-gradient(circle,rgba(54,162,206,.15),transparent 70%); }
.lh-orb-2 { width:300px;height:300px;bottom:-80px;left:-60px; background:radial-gradient(circle,rgba(130,190,96,.1),transparent 70%); }
.legal-hero h1 { font-family:var(--font-heading);font-size:clamp(1.7rem,4vw,2.8rem);font-weight:800;color:#fff;margin-bottom:12px; }
.legal-hero-sub { font-size:.9rem;color:rgba(255,255,255,.6);line-height:1.7; }
.lh-breadcrumb { display:flex;align-items:center;gap:8px;margin-top:20px;font-size:.76rem;color:rgba(255,255,255,.4);flex-wrap:wrap; }
.lh-breadcrumb a { color:rgba(255,255,255,.55);text-decoration:none; }
.lh-breadcrumb a:hover { color:#fff; }
.lh-badge { display:inline-flex;align-items:center;gap:6px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.65);font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:5px 14px;border-radius:50px;margin-bottom:18px; }

/* Layout sidebar + contenu */
.section-legal { padding:clamp(48px,7vw,80px) 0 clamp(64px,10vw,100px);background:#fff; }
.legal-layout { display:grid;grid-template-columns:260px 1fr;gap:clamp(28px,4vw,56px);align-items:start; }

/* Sommaire sidebar */
.legal-nav { position:sticky;top:90px; }
.ln-title { font-family:var(--font-heading);font-size:.78rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--c-muted);margin-bottom:14px; }
.ln-list { list-style:none;padding:0;margin:0; }
.ln-list li { margin-bottom:4px; }
.ln-list a {
  display:flex;align-items:center;gap:8px;
  padding:8px 12px;border-radius:9px;
  font-size:.82rem;color:var(--c-text);text-decoration:none;
  border-left:2px solid transparent;
  transition:all .18s;
}
.ln-list a:hover,.ln-list a.active { color:var(--c-purple);background:rgba(78,43,134,.05);border-left-color:var(--c-purple); }
.ln-num { font-family:var(--font-heading);font-size:.68rem;font-weight:700;color:var(--c-muted);flex-shrink:0;width:18px; }

.ln-separator { height:1px;background:var(--c-border);margin:12px 0; }
.ln-other-page {
  display:flex;align-items:center;gap:8px;
  padding:10px 14px;border-radius:10px;
  background:var(--c-light);border:1.5px solid var(--c-border);
  font-size:.8rem;font-weight:600;color:var(--c-navy);
  text-decoration:none;transition:all .2s;margin-top:8px;
}
.ln-other-page:hover { border-color:var(--c-purple);color:var(--c-purple); }
.ln-update { font-size:.72rem;color:var(--c-muted);margin-top:16px;padding:10px 12px;background:var(--c-light);border-radius:8px; }

/* Contenu légal */
.legal-content {}
.lc-section { margin-bottom:clamp(40px,6vw,60px);padding-bottom:clamp(40px,6vw,60px);border-bottom:1px solid var(--c-border); }
.lc-section:last-child { border-bottom:none;margin-bottom:0;padding-bottom:0; }

.lc-num { font-family:var(--font-heading);font-size:.72rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--c-purple);margin-bottom:6px; }
.lc-title { font-family:var(--font-heading);font-size:clamp(1.1rem,2.5vw,1.4rem);font-weight:800;color:var(--c-navy);margin-bottom:16px; }
.lc-body { font-size:clamp(.88rem,1.5vw,.95rem);color:var(--c-text);line-height:1.85; }
.lc-body p { margin-bottom:14px; }
.lc-body p:last-child { margin-bottom:0; }
.lc-body ul { list-style:none;padding:0;margin:0 0 14px; }
.lc-body ul li { padding:5px 0 5px 22px;position:relative;font-size:inherit; }
.lc-body ul li::before { content:'›';position:absolute;left:0;color:var(--c-purple);font-weight:700; }
.lc-body strong { color:var(--c-navy); }
.lc-body a { color:var(--c-blue);text-decoration:underline;text-underline-offset:3px; }

/* Boîte info */
.lc-info-box {
  background:rgba(54,162,206,.06);border:1px solid rgba(54,162,206,.2);
  border-radius:12px;padding:16px 20px;margin:18px 0;
  font-size:.86rem;color:var(--c-text);line-height:1.7;
  display:flex;align-items:flex-start;gap:12px;
}
.lc-info-box i { color:var(--c-blue);margin-top:2px;flex-shrink:0; }

/* Table données */
.lc-table { width:100%;border-collapse:collapse;margin:18px 0;font-size:.84rem; }
.lc-table th { background:var(--c-light);font-family:var(--font-heading);font-weight:700;color:var(--c-navy);padding:10px 14px;text-align:left;border-bottom:2px solid var(--c-border); }
.lc-table td { padding:10px 14px;border-bottom:1px solid var(--c-border);color:var(--c-text);vertical-align:top; }
.lc-table tr:last-child td { border-bottom:none; }
.lc-table-wrap { overflow-x:auto;border-radius:12px;border:1px solid var(--c-border); }

/* Contact DPO */
.dpo-card { background:linear-gradient(135deg,rgba(78,43,134,.06),rgba(54,162,206,.04));border:1.5px solid rgba(78,43,134,.15);border-radius:16px;padding:24px 28px;display:flex;align-items:flex-start;gap:16px;margin-top:20px; }
.dpo-icon { width:48px;height:48px;border-radius:14px;background:var(--grad-full);display:flex;align-items:center;justify-content:center;font-size:1.1rem;color:#fff;flex-shrink:0; }
.dpo-title { font-family:var(--font-heading);font-weight:700;color:var(--c-navy);margin-bottom:4px; }
.dpo-body  { font-size:.84rem;color:var(--c-text);line-height:1.7; }
.dpo-body a { color:var(--c-blue); }

/* RESPONSIVE */
@media (max-width:991px) {
  .legal-layout { grid-template-columns:1fr; }
  .legal-nav { position:static;margin-bottom:32px; }
  .ln-list { display:flex;flex-wrap:wrap;gap:6px; }
  .ln-list li { margin-bottom:0; }
  .ln-list a { border-left:none;border-bottom:2px solid transparent;padding:6px 10px;font-size:.78rem; }
  .ln-list a:hover,.ln-list a.active { border-bottom-color:var(--c-purple); }
  .lc-table-wrap { font-size:.78rem; }
}
@media (max-width:480px) {
  .dpo-card { flex-direction:column;gap:12px; }
  .lc-table th,.lc-table td { padding:8px 10px; }
}
