/* ============================================================================
   OpenLumena — pages légales. Complète site.css, ne la remplace pas.
   Priorité à la lisibilité : ces textes se lisent, ils ne se survolent pas.
   ========================================================================= */

.legal{padding-block:clamp(48px,7vw,110px) clamp(56px,8vw,120px);position:relative;z-index:1}

.legal-head{max-width:52ch;margin-bottom:clamp(40px,5vw,72px)}
.legal-head h1{
  font-size:clamp(1.9rem,3.6vw,3rem);font-weight:200;letter-spacing:-.04em;
  line-height:1.1;margin:16px 0 0;
}
.legal-updated{
  margin-top:20px;font-family:var(--mono);font-size:.72rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--muted);
}

.legal-section{
  padding-top:clamp(36px,4.4vw,64px);
  border-top:1px solid var(--border-soft);
  scroll-margin-top:96px;
}
.legal-section+.legal-section{margin-top:clamp(36px,4.4vw,64px)}

.legal h2{
  font-size:clamp(1.5rem,2.6vw,2.1rem);font-weight:500;letter-spacing:-.035em;
  margin-bottom:28px;
}
.legal h3{
  font-size:1.05rem;font-weight:600;letter-spacing:-.02em;color:var(--text);
  margin:36px 0 12px;
}
/* Mesure de lecture : au-delà de ~72 caractères, l'œil perd la ligne. */
.legal p{color:var(--soft);font-size:15px;line-height:1.75;max-width:72ch;margin-bottom:14px}
.legal a{color:var(--accent);border-bottom:1px solid var(--border-amber)}
.legal a:hover,.legal a:focus-visible{color:#ffc98a}
.legal code{
  font-family:var(--mono);font-size:.88em;color:var(--accent);
  background:rgba(245,159,74,.08);padding:2px 6px;border-radius:4px;
}
.legal-lead{color:var(--muted) !important;font-size:16px !important}

/* Fiche d'identité — deux colonnes qui se replient sur téléphone */
.legal-dl{
  display:grid;grid-template-columns:minmax(0,15rem) minmax(0,1fr);
  gap:1px;background:var(--border-soft);
  border:1px solid var(--border-soft);margin:8px 0 20px;max-width:56rem;
}
.legal-dl dt,.legal-dl dd{background:var(--panel);padding:12px 16px;font-size:14.5px;line-height:1.55}
.legal-dl dt{color:var(--muted);font-family:var(--mono);font-size:.74rem;
  letter-spacing:.08em;text-transform:uppercase;display:flex;align-items:center}
.legal-dl dd{color:var(--soft)}
@media (max-width:700px){
  .legal-dl{grid-template-columns:1fr}
  .legal-dl dt{padding-bottom:2px}
  .legal-dl dd{padding-top:2px}
}

/* Un champ non renseigné doit être IMPOSSIBLE à publier sans le voir. */
.a-completer{
  color:#ffb4b4 !important;
  background:rgba(239,68,68,.10) !important;
  font-family:var(--mono);font-size:.8rem;letter-spacing:.06em;
}
.a-completer::before{content:"⚠ ";opacity:.8}

.legal-table{width:100%;border-collapse:collapse;min-width:560px;background:var(--panel)}
.legal-table th,.legal-table td{
  text-align:left;padding:11px 15px;border-bottom:1px solid var(--border-soft);
  font-size:14px;line-height:1.55;vertical-align:top;
}
.legal-table thead th{
  font-family:var(--mono);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase;
  color:var(--muted);font-weight:500;background:var(--bg-2);
}
.legal-table tbody tr:last-child td{border-bottom:0}
.legal-table td:first-child{color:var(--text);font-weight:500}
.legal-table td{color:var(--muted)}

.legal-list{list-style:none;display:grid;gap:2px;margin:8px 0 20px;max-width:72ch}
.legal-list li{
  position:relative;padding:12px 0 12px 24px;border-top:1px solid var(--border-soft);
  color:var(--soft);font-size:15px;line-height:1.6;
}
.legal-list li::before{content:"";position:absolute;left:0;top:20px;width:8px;height:1px;background:var(--accent)}

.legal-note{
  margin-top:28px;padding:18px 20px;max-width:72ch;
  border:1px solid var(--border-amber);border-radius:8px;
  background:rgba(245,159,74,.06);
  color:var(--soft);font-size:14.5px;line-height:1.65;
}

/* En-tête de cette page : pas de plateau, donc pas de fond translucide. */
.legal ~ .site-footer,.site-footer{position:relative;z-index:1}

/* Bloc d'avertissement fort — un projet ne doit pas se confondre avec un
   document en vigueur. */
.legal-note--fort{
  border-color:rgba(239,68,68,.45);
  background:rgba(239,68,68,.08);
}
/* Points qui dépendent d'une décision : visibles dans le texte courant. */
.a-decider{
  color:#ffb4b4;background:rgba(239,68,68,.12);
  padding:1px 6px;border-radius:4px;
  font-family:var(--mono);font-size:.86em;
}
.a-decider::before{content:"⚠ ";opacity:.8}
