/* =========================================================
   Revisly — pages légales (confidentialité, conditions)
   (se charge par-dessus styles.css, la feuille de la landing)
   ========================================================= */

.legal-hero{position:relative;z-index:1;padding:140px 0 8px}
.legal-hero h1{font-size:2.75rem;font-weight:700;letter-spacing:-.025em;line-height:1.15}
.legal-hero .maj{
  margin-top:14px;display:inline-flex;align-items:center;gap:8px;
  font-size:.8125rem;color:var(--ink-secondary);
  background:var(--surface-primary);border:1px solid var(--surface-border);
  border-radius:999px;padding:6px 14px;
}
.legal-hero .maj svg{width:14px;height:14px;color:var(--ink-tertiary)}
.legal-hero .chapeau{margin-top:18px;max-width:64ch;font-size:1.0625rem;line-height:1.7;color:var(--ink-secondary)}

/* ---------- avertissement modèle ---------- */
.avertissement{
  position:relative;z-index:1;margin-top:26px;
  background:#fff8e1;border:1px solid #f0dfa8;border-radius:16px;padding:18px 22px;
}
.avertissement b{display:block;font-size:.9375rem}
.avertissement p{margin-top:6px;font-size:.875rem;line-height:1.65;color:#6b5a1f}

/* ---------- mise en page ---------- */
.legal-corps{
  position:relative;z-index:1;
  display:grid;grid-template-columns:250px minmax(0,1fr);gap:44px;
  align-items:start;padding:44px 0 90px;
}

.legal-sommaire{position:sticky;top:96px}
.legal-sommaire h2{
  font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;
  color:var(--ink-tertiary);margin-bottom:12px;
}
.legal-sommaire ol{margin:0;padding:0;list-style:none;display:flex;flex-direction:column;gap:1px;counter-reset:s}
.legal-sommaire a{
  display:block;padding:7px 10px;border-radius:8px;
  font-size:.8125rem;line-height:1.45;color:var(--ink-secondary);
  border-left:2px solid transparent;transition:background .15s,color .15s,border-color .15s;
}
.legal-sommaire a::before{counter-increment:s;content:counter(s) ". ";color:var(--ink-tertiary)}
.legal-sommaire a:hover{background:#f0efec;color:var(--ink-primary)}
.legal-sommaire a.on{border-left-color:var(--sky-bold);background:var(--sky-soft);color:var(--ink-primary)}

/* ---------- texte ---------- */
.legal-texte{max-width:74ch;font-size:1rem;line-height:1.75;color:var(--ink-secondary)}
.legal-texte section{scroll-margin-top:110px}
.legal-texte section + section{margin-top:42px}
.legal-texte h2{
  font-size:1.375rem;font-weight:700;letter-spacing:-.015em;line-height:1.3;
  color:var(--ink-primary);margin-bottom:12px;
}
.legal-texte h3{
  font-size:1rem;font-weight:600;color:var(--ink-primary);margin:22px 0 8px;
}
.legal-texte p{margin:0 0 14px}
.legal-texte ul,.legal-texte ol{margin:0 0 16px;padding-left:22px;list-style:revert}
.legal-texte li{margin-bottom:8px}
.legal-texte b,.legal-texte strong{color:var(--ink-primary);font-weight:600}
.legal-texte a{color:var(--sky-bold);text-decoration:underline;text-underline-offset:2px}
.legal-texte abbr{text-decoration:none;border-bottom:1px dotted var(--ink-tertiary);cursor:help}

/* champs à compléter avant publication */
.aremplir{
  background:var(--highlight);color:#5a4a00;border-radius:4px;
  padding:1px 6px;font-size:.9375em;font-weight:600;white-space:nowrap;
}

/* tableaux */
.legal-tableau{
  margin:0 0 18px;overflow-x:auto;
  background:var(--surface-primary);border:1px solid var(--surface-border);border-radius:14px;
}
.legal-tableau table{width:100%;border-collapse:collapse;min-width:520px}
.legal-tableau th{
  padding:13px 16px;text-align:left;font-size:.8125rem;font-weight:700;
  color:var(--ink-primary);border-bottom:1px solid var(--surface-border);
}
.legal-tableau td{
  padding:13px 16px;font-size:.875rem;line-height:1.6;
  border-bottom:1px solid #f0efec;vertical-align:top;
}
.legal-tableau tr:last-child td{border-bottom:0}
.legal-tableau td:first-child{color:var(--ink-primary);font-weight:500}

/* encadré de contact */
.encadre{
  background:var(--surface-primary);border:1px solid var(--surface-border);
  border-radius:16px;padding:20px 22px;margin:0 0 16px;
}
.encadre p:last-child{margin-bottom:0}

@media (prefers-reduced-motion: reduce){
  .legal-sommaire a{transition:none}
}

@media (max-width:960px){
  .legal-corps{grid-template-columns:1fr;gap:28px;padding-top:32px}
  .legal-sommaire{position:static}
  .legal-sommaire ol{flex-direction:row;flex-wrap:wrap;gap:6px}
  .legal-sommaire a{border-left:0;border:1px solid var(--surface-border);border-radius:999px;padding:6px 12px}
  .legal-sommaire a.on{border-color:var(--sky-bold)}
}
@media (max-width:640px){
  .legal-hero{padding-top:118px}
  .legal-hero h1{font-size:2rem}
  .legal-texte h2{font-size:1.1875rem}
}
