/* ============================================================
   JEW-PAY — Styles pour les pages légales (Confidentialité, CGU…)
   Réutilise les variables définies dans landing.css
   ============================================================ */

.legal-hero{
  padding:150px 0 60px;
  background:
    radial-gradient(1200px 500px at 15% -10%, rgba(74,20,140,0.10), transparent 60%),
    var(--bg-alt);
  border-bottom:1px solid var(--line);
}
.legal-hero .eyebrow{ margin-bottom:16px; }
.legal-hero h1{
  font-size:clamp(2rem, 4vw, 2.9rem);
  line-height:1.1;
}
.legal-hero .legal-meta{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  gap:10px 22px;
  color:var(--ink-muted);
  font-family:var(--font-mono);
  font-size:0.85rem;
}
.legal-hero .legal-meta strong{ color:var(--ink); font-weight:700; }

.legal-body{
  padding:64px 0 120px;
}
.legal-layout{
  display:grid;
  grid-template-columns:280px 1fr;
  gap:56px;
  align-items:start;
}
@media (max-width:960px){
  .legal-layout{ grid-template-columns:1fr; }
}

/* ---- Sommaire (TOC) ---- */
.legal-toc{
  position:sticky;
  top:100px;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:22px 20px;
}
@media (max-width:960px){
  .legal-toc{ position:relative; top:0; margin-bottom:8px; }
}
.legal-toc h5{
  font-family:var(--font-mono);
  font-size:0.72rem;
  letter-spacing:0.12em;
  text-transform:uppercase;
  color:var(--ink-faint);
  margin-bottom:14px;
}
.legal-toc ol{
  list-style:none;
  counter-reset:toc;
  display:flex;
  flex-direction:column;
  gap:2px;
}
.legal-toc li{ counter-increment:toc; }
.legal-toc a{
  display:flex;
  gap:10px;
  padding:8px 8px;
  border-radius:10px;
  font-size:0.88rem;
  color:var(--ink-muted);
  line-height:1.35;
  transition:background 0.15s var(--ease), color 0.15s var(--ease);
}
.legal-toc a::before{
  content:counter(toc);
  flex:none;
  width:20px; height:20px;
  border-radius:6px;
  background:var(--purple-tint);
  color:var(--purple);
  font-family:var(--font-mono);
  font-size:0.7rem;
  font-weight:700;
  display:flex; align-items:center; justify-content:center;
}
.legal-toc a:hover{ background:var(--bg-alt); color:var(--ink); }

/* ---- Contenu ---- */
.legal-content section{
  padding-bottom:38px;
  margin-bottom:38px;
  border-bottom:1px solid var(--line);
  scroll-margin-top:100px;
}
.legal-content section:last-child{
  border-bottom:none; margin-bottom:0; padding-bottom:0;
}
.legal-content h2{
  font-size:1.4rem;
  display:flex;
  align-items:center;
  gap:14px;
  margin-bottom:18px;
}
.legal-content h2 .num{
  font-family:var(--font-mono);
  font-size:0.85rem;
  font-weight:700;
  color:var(--purple);
  background:var(--purple-tint);
  border-radius:8px;
  width:34px; height:34px;
  display:flex; align-items:center; justify-content:center;
  flex:none;
}
.legal-content h3{
  font-size:1.05rem;
  margin:22px 0 10px;
  color:var(--ink);
}
.legal-content p{
  color:var(--ink-muted);
  margin-bottom:14px;
  font-size:0.98rem;
}
.legal-content ul, .legal-content ol.legal-list{
  margin:6px 0 16px;
  padding-left:0;
  display:flex;
  flex-direction:column;
  gap:8px;
}
.legal-content ul li, .legal-content ol.legal-list li{
  position:relative;
  padding-left:24px;
  color:var(--ink-muted);
  font-size:0.98rem;
}
.legal-content ul li::before{
  content:"";
  position:absolute;
  left:0; top:9px;
  width:7px; height:7px;
  border-radius:50%;
  background:var(--gold);
}
.legal-content ol.legal-list{ counter-reset:legalitem; }
.legal-content ol.legal-list li{ counter-increment:legalitem; }
.legal-content ol.legal-list li::before{
  content:counter(legalitem)".";
  position:absolute; left:0; top:0;
  color:var(--purple);
  font-family:var(--font-mono);
  font-weight:700;
  font-size:0.85rem;
}
.legal-content strong{ color:var(--ink); font-weight:700; }
.legal-content a.inline-link{
  color:var(--purple);
  text-decoration:underline;
  text-underline-offset:2px;
}

.legal-table-wrap{
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:var(--radius-sm);
  margin-bottom:18px;
}
.legal-table{
  width:100%;
  border-collapse:collapse;
  font-size:0.92rem;
  min-width:520px;
}
.legal-table th, .legal-table td{
  text-align:left;
  padding:12px 16px;
  border-bottom:1px solid var(--line);
  vertical-align:top;
}
.legal-table th{
  font-family:var(--font-mono);
  font-size:0.72rem;
  letter-spacing:0.06em;
  text-transform:uppercase;
  color:var(--ink-faint);
  background:var(--bg-alt);
}
.legal-table tr:last-child td{ border-bottom:none; }
.legal-table td{ color:var(--ink-muted); }

.legal-callout{
  background:var(--purple-tint);
  border:1px solid var(--line-strong);
  border-radius:var(--radius-sm);
  padding:18px 20px;
  margin-bottom:18px;
  font-size:0.94rem;
  color:var(--ink);
}
.legal-callout strong{ color:var(--purple); }

.legal-contact-card{
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius-md);
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.legal-contact-card a{ color:var(--purple); font-weight:600; }

.legal-back-top{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:8px;
  font-family:var(--font-mono);
  font-size:0.8rem;
  color:var(--ink-faint);
}
.legal-back-top:hover{ color:var(--purple); }
