/* =============================================================================
   MIRADI SIGNATURE — STYLE DES PAGES LÉGALES
   (politique de confidentialité, conditions de vente et d'annulation)
   ========================================================================== */

.legal-hero{
  min-height:34vh; display:flex; flex-direction:column; align-items:center;
  justify-content:center; text-align:center; padding:130px 24px 30px;
  background:linear-gradient(180deg,#faf5f5 0%,var(--white) 100%);
}
.legal-hero .eyebrow{ text-align:center; }
.legal-hero h1{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(2.1rem,5vw,3.4rem); color:var(--ink); margin-top:.3rem;
}
.legal-updated{
  margin-top:16px; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--ink-soft);
}

.legal-section{ padding:20px 0 90px; }
.legal-wrap{ max-width:760px; margin:0 auto; }

.legal-intro{
  background:#faf5f5; border-left:2px solid var(--red);
  padding:22px 26px; margin-bottom:46px;
}
.legal-intro p{ margin:0; color:var(--ink-soft); line-height:1.9; }

.legal-wrap h2{
  font-family:var(--serif); font-size:1.5rem; color:var(--ink);
  margin:44px 0 6px; padding-top:22px; border-top:1px solid var(--line);
}
.legal-wrap h2:first-of-type{ border-top:0; padding-top:0; margin-top:0; }
.legal-wrap h3{
  font-family:var(--sans); font-weight:500; font-size:.98rem; color:var(--ink);
  margin:24px 0 4px; letter-spacing:.02em;
}
.legal-wrap p, .legal-wrap li{ color:var(--ink-soft); line-height:1.9; }
.legal-wrap p{ margin:10px 0 0; }
.legal-wrap ul{ margin:10px 0 0; padding-left:20px; }
.legal-wrap li{ margin-bottom:7px; }
.legal-wrap strong{ color:var(--ink); font-weight:500; }
.legal-wrap a{ color:var(--red-dark); border-bottom:1px solid var(--red-light); }
.legal-wrap a:hover{ border-bottom-color:var(--red); }

/* Tableau (durées de conservation, délais d'annulation) */
.legal-table{ width:100%; border-collapse:collapse; margin-top:16px; font-size:.92rem; }
.legal-table th, .legal-table td{
  text-align:left; padding:12px 14px; border-bottom:1px solid var(--line);
  color:var(--ink-soft); vertical-align:top;
}
.legal-table th{
  color:var(--ink); font-weight:500; text-transform:uppercase;
  letter-spacing:.14em; font-size:.68rem;
}
.legal-table tr:last-child td{ border-bottom:0; }

/* Encadré « à retenir » */
.legal-callout{
  background:#f7fbf7; border:1px solid #d9ead9;
  padding:20px 24px; margin-top:22px;
}
.legal-callout p{ margin:0; color:#2f5d3a; }
.legal-callout p + p{ margin-top:10px; }

/* Bloc de contact en fin de page */
.legal-contact{
  margin-top:56px; padding:28px; border:1px solid var(--line); text-align:center;
}
.legal-contact .k{
  text-transform:uppercase; letter-spacing:.22em; font-size:.68rem;
  color:var(--red-dark); margin-bottom:10px;
}
.legal-contact .v{ color:var(--ink); font-size:1.02rem; }
.legal-contact .v + .v{ margin-top:4px; }

/* Bascule FR / EN propre aux pages légales */
.legal-lang{
  display:flex; align-items:center; gap:6px; border:1px solid var(--line);
  background:transparent; padding:8px 14px; font-size:.68rem;
  letter-spacing:.18em; text-transform:uppercase; color:var(--ink);
}
.legal-lang span{ opacity:.4; transition:opacity .3s ease; }
.legal-lang span.active{ opacity:1; color:var(--red); }

[data-lang-block]{ display:none; }
[data-lang-block].show{ display:block; }

@media (max-width:640px){
  .legal-hero{ padding:110px 20px 24px; }
  .legal-table th, .legal-table td{ padding:10px 8px; font-size:.86rem; }
}
