/* =====================================================================
   3sept — Pages légales
   Emplacement : public_html/legal.css
   ===================================================================== */

.legal{max-width:760px;padding-top:calc(58px + clamp(20px,3vw,40px))}
.legal.etroit{max-width:600px}

.titre-legal{
  font-family:var(--display);font-variation-settings:'wdth' 108,'wght' 800;
  text-transform:uppercase;font-size:clamp(26px,4.4vw,44px);line-height:.98;
  letter-spacing:-.02em;margin-bottom:10px;
}
.maj{font-family:var(--mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;color:var(--gris);margin-bottom:30px}
.chapo-legal{font-size:16px;color:var(--gris-clair);line-height:1.65;max-width:56ch}

/* ---------- Sommaire ---------- */
.sommaire{
  display:flex;flex-direction:column;gap:2px;
  border:1px solid var(--ligne);margin-bottom:40px;
}
.sommaire a{
  padding:12px 16px;border-bottom:1px solid var(--ligne);
  font-size:14px;color:var(--gris-clair);transition:background .2s,color .2s;
}
.sommaire a:last-child{border-bottom:0}
.sommaire a:hover{background:var(--noir-2);color:var(--blanc)}

/* ---------- Sections ---------- */
.legal section{margin-bottom:46px;scroll-margin-top:70px}
.legal h2{
  font-family:var(--display);font-variation-settings:'wdth' 106,'wght' 700;
  text-transform:uppercase;font-size:clamp(19px,2.6vw,26px);line-height:1.1;
  padding-bottom:12px;border-bottom:1px solid var(--ligne-vive);margin-bottom:24px;
}
.legal h3{
  font-size:15px;font-weight:500;color:var(--blanc);
  margin:26px 0 10px;letter-spacing:.01em;
}
.legal p{font-size:14.5px;line-height:1.75;color:var(--gris-clair);margin-bottom:14px;max-width:68ch}
.legal p strong{color:var(--blanc);font-weight:500}
.legal a{color:var(--blanc);border-bottom:1px solid var(--ligne-vive);transition:border-color .18s}
.legal a:hover{border-bottom-color:var(--blanc)}
.legal code{font-family:var(--mono);font-size:12.5px;background:var(--noir-2);padding:2px 6px;border:1px solid var(--ligne)}

.preambule{
  padding:16px 18px;border-left:2px solid var(--ligne-vive);
  background:var(--noir-2);font-size:13.5px !important;
}
.encadre-legal{
  padding:16px 18px;border:1px solid var(--ligne-vive);
  background:var(--noir-2);margin:16px 0 !important;
}
.a-completer{
  color:var(--blanc);background:rgba(232,195,90,.12);
  border:1px dashed rgba(232,195,90,.5);padding:2px 8px;
  font-family:var(--mono);font-size:12px;
}
.note-en{font-style:italic;color:var(--gris) !important;font-size:13.5px !important}
.note-legal{font-size:13px !important;color:var(--gris) !important;line-height:1.65}

/* ---------- Fiche société ---------- */
.fiche-soc{list-style:none;border-top:1px solid var(--ligne);margin:16px 0 22px}
.fiche-soc li{
  display:grid;grid-template-columns:1fr;gap:3px;
  padding:11px 0;border-bottom:1px solid var(--ligne);font-size:14px;
}
@media(min-width:620px){.fiche-soc li{grid-template-columns:220px 1fr;gap:16px;align-items:baseline}}
.fiche-soc span{
  font-family:var(--mono);font-size:9.5px;letter-spacing:.15em;
  text-transform:uppercase;color:var(--gris);
}

/* ---------- Tarifs ---------- */
.tarifs{list-style:none;border-top:1px solid var(--ligne);margin:14px 0 20px;max-width:420px}
.tarifs li{
  display:flex;justify-content:space-between;gap:16px;
  padding:10px 0;border-bottom:1px solid var(--ligne);font-size:14px;color:var(--gris-clair);
}
.tarifs span{color:var(--blanc)}

/* ---------- Tableaux ---------- */
.tableau-legal{
  width:100%;border-collapse:collapse;margin:16px 0 22px;
  font-size:13px;border:1px solid var(--ligne);
}
.tableau-legal th{
  text-align:left;padding:10px 12px;background:var(--noir-2);
  border-bottom:1px solid var(--ligne-vive);
  font-family:var(--mono);font-size:9.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--gris);font-weight:400;
}
.tableau-legal td{padding:10px 12px;border-bottom:1px solid var(--ligne);color:var(--gris-clair);vertical-align:top}
.tableau-legal tr:last-child td{border-bottom:0}
@media(max-width:620px){
  .tableau-legal,.tableau-legal tbody,.tableau-legal tr,.tableau-legal td{display:block;width:100%}
  .tableau-legal thead{display:none}
  .tableau-legal tr{border-bottom:1px solid var(--ligne-vive);padding:8px 0}
  .tableau-legal td{border:0;padding:4px 12px}
}

/* ---------- Listes ---------- */
.liste-legal{margin:12px 0 18px 20px}
.liste-legal li{font-size:14px;line-height:1.7;color:var(--gris-clair);margin-bottom:8px}
.liste-legal strong{color:var(--blanc);font-weight:500}

/* ---------- Après rétractation ---------- */
.apres-retractation{margin-top:36px;padding-top:26px;border-top:1px solid var(--ligne)}
.apres-retractation h3{
  font-family:var(--display);font-variation-settings:'wdth' 106,'wght' 700;
  text-transform:uppercase;font-size:16px;margin-bottom:14px;
}
.apres-retractation ol{margin-left:20px}
.apres-retractation ol li{font-size:14px;line-height:1.7;color:var(--gris-clair);margin-bottom:10px}

.pied-legal{
  margin-top:40px;padding-top:20px;border-top:1px solid var(--ligne);
  font-size:12.5px !important;color:var(--gris) !important;font-style:italic;
}
