/* =================================================================
   ZESTAURA — Pages légales (cgv.html, confidentialite.html,
   mentions-legales.html).

   Feuille COMMUNE aux trois pages, volontairement autonome :
   elle ne dépend que des variables de `style.css` (palette, typo)
   et ne touche à aucune classe existante. Tout est préfixé
   `.legal-`, l'en-tête et le pied repris du parcours d'inscription
   (`.ins-head` / `.ins-pied`) sont stylés SOUS `body.page-legal`
   pour ne rien changer ailleurs.

   Aucune ressource externe (CSP `default-src 'self'`).
   ================================================================= */

body.page-legal{background:var(--cream-soft)}

/* ── En-tête (même gabarit que le parcours d'inscription) ─────────── */
.page-legal .ins-head{
  display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;
  padding:1rem clamp(1rem,4vw,2.5rem);
  background:var(--cream);border-bottom:1px solid var(--cream-deep);
}
.page-legal .ins-head__brand img{height:34px;width:auto}
.page-legal .ins-head__back{
  font-size:.86rem;color:var(--text-soft);border-bottom:1px solid transparent;transition:.2s;
}
.page-legal .ins-head__back:hover{color:var(--gold-deep);border-bottom-color:var(--gold)}

/* ── Corps ────────────────────────────────────────────────────────── */
.legal-main{max-width:800px;margin:0 auto;padding:clamp(2rem,5vw,3.6rem) 1.15rem 3.5rem}

.legal-title{
  font-family:var(--serif);font-weight:400;line-height:1.08;letter-spacing:-.01em;
  font-size:clamp(2rem,5.4vw,3rem);margin:.4rem 0 .9rem;
}
.legal-lead{font-size:1.02rem;color:var(--text-soft);max-width:62ch}
.legal-lead + .legal-lead{margin-top:.7rem}

.legal-maj{
  display:inline-block;margin-top:1.2rem;padding:.32rem .8rem;border-radius:999px;
  background:var(--cream-deep);color:var(--text-soft);
  font-size:.76rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;
}

/* ── Sommaire d'ancres ────────────────────────────────────────────── */
.legal-toc{
  margin:2.2rem 0 2.6rem;padding:1.3rem 1.4rem;
  background:#fff;border:1px solid var(--cream-deep);border-radius:var(--r);box-shadow:var(--shadow);
}
.legal-toc h2{
  font-family:var(--sans);font-size:.74rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;
  color:var(--gold-deep);margin-bottom:.9rem;
}
.legal-toc ol{list-style:none;counter-reset:toc;display:grid;gap:.35rem}
@media(min-width:760px){.legal-toc ol{grid-template-columns:1fr 1fr;column-gap:1.6rem}}
.legal-toc li{counter-increment:toc;display:flex;gap:.55rem;font-size:.93rem;line-height:1.4}
.legal-toc li::before{content:counter(toc) ".";color:var(--gold-deep);font-variant-numeric:tabular-nums;min-width:1.5rem;text-align:right}
.legal-toc a{color:var(--text-soft);border-bottom:1px solid transparent;transition:.15s}
.legal-toc a:hover,.legal-toc a:focus{color:var(--text-strong);border-bottom-color:var(--gold)}

/* ── Sections ─────────────────────────────────────────────────────── */
.legal-sec{scroll-margin-top:5rem;margin-bottom:2.6rem}
.legal-sec h2{
  font-family:var(--serif);font-weight:500;font-size:clamp(1.45rem,3.2vw,1.9rem);line-height:1.15;
  padding-bottom:.5rem;margin-bottom:1rem;border-bottom:2px solid var(--gold);
}
.legal-sec h3{
  font-family:var(--sans);font-weight:600;font-size:1rem;color:var(--text-strong);
  margin:1.5rem 0 .5rem;
}
.legal-sec p{margin-bottom:.9rem;color:var(--text-soft)}
.legal-sec strong{color:var(--text-strong);font-weight:600}
.legal-sec a{color:var(--gold-deep);border-bottom:1px solid rgba(212,164,55,.5)}
.legal-sec a:hover{border-bottom-color:var(--gold-deep)}
.legal-sec ul,.legal-sec ol{margin:0 0 1rem 1.2rem;color:var(--text-soft)}
.legal-sec li{margin-bottom:.42rem;padding-left:.2rem}
.legal-sec ul{list-style:none;margin-left:0}
.legal-sec ul > li{position:relative;padding-left:1.15rem}
.legal-sec ul > li::before{content:"";position:absolute;left:0;top:.62em;width:6px;height:6px;border-radius:50%;background:var(--gold)}
.legal-sec ol > li{padding-left:.25rem}

/* Coordonnées / blocs d'identité */
.legal-fiche{
  margin:0 0 1.2rem;padding:1.1rem 1.25rem;background:#fff;
  border:1px solid var(--cream-deep);border-left:3px solid var(--gold);border-radius:var(--r-sm);
  color:var(--text-soft);
}
.legal-fiche dt{font-size:.76rem;letter-spacing:.12em;text-transform:uppercase;color:var(--stone);margin-top:.7rem}
.legal-fiche dt:first-child{margin-top:0}
.legal-fiche dd{color:var(--text-strong);font-size:.97rem;margin:.1rem 0 0}

/* Encadré d'insistance (essai, responsabilité, droits) */
.legal-note{
  margin:1.2rem 0;padding:1rem 1.2rem;border-radius:var(--r-sm);
  background:rgba(212,164,55,.1);border:1px solid rgba(212,164,55,.35);
  color:var(--text-strong);font-size:.95rem;
}
.legal-note--sobre{background:var(--cream-deep);border-color:var(--cream-deep)}

/* Tableaux (formules, données, durées) — défilables sur mobile */
.legal-tablewrap{overflow-x:auto;margin:0 0 1.2rem;-webkit-overflow-scrolling:touch}
.legal-table{width:100%;border-collapse:collapse;min-width:480px;background:#fff;border-radius:var(--r-sm);overflow:hidden}
.legal-table th,.legal-table td{padding:.72rem .85rem;text-align:left;font-size:.92rem;border-bottom:1px solid var(--cream-deep);vertical-align:top}
.legal-table thead th{background:var(--cream);font-weight:600;font-size:.84rem;color:var(--text-strong)}
.legal-table td{color:var(--text-soft)}
.legal-table tbody tr:last-child td{border-bottom:0}

/* ── Bas de page du document ──────────────────────────────────────── */
.legal-fin{margin-top:3rem;padding-top:1.6rem;border-top:1px solid var(--cream-deep)}
.legal-liens{display:flex;flex-wrap:wrap;gap:.6rem 1.4rem;font-size:.92rem;margin-bottom:1rem}
.legal-liens a{color:var(--gold-deep);border-bottom:1px solid rgba(212,164,55,.45)}
.legal-liens a:hover{border-bottom-color:var(--gold-deep)}
.legal-retour{display:inline-block;font-size:.95rem;color:var(--text-soft)}
.legal-retour:hover{color:var(--gold-deep)}

/* ── Pied (même gabarit que le parcours d'inscription) ────────────── */
.page-legal .ins-pied{
  background:var(--night);color:var(--text-onDark);text-align:center;
  padding:2rem 1.2rem;font-size:.85rem;line-height:1.7;
}
.page-legal .ins-pied p:last-child{
  font-family:var(--serif);font-style:italic;color:var(--gold-light);font-size:1.05rem;margin-top:.4rem;
}
.page-legal .ins-pied a{color:var(--gold-light)}

/* ── Impression (un restaurateur peut vouloir archiver le document) ─ */
@media print{
  .page-legal .ins-head,.page-legal .ins-pied,.legal-toc,.legal-liens,.legal-retour{display:none}
  body.page-legal{background:#fff}
  .legal-main{max-width:none;padding:0}
  .legal-sec{page-break-inside:auto}
  .legal-sec h2{page-break-after:avoid}
}
