@font-face {font-family: 'Montserrat';font-style: normal;font-weight: 400;font-display: swap;src: url('../fonts/montserrat-400.woff2') format('woff2');}
@font-face {font-family: 'Montserrat';font-style: normal;font-weight: 700;font-display: swap;src: url('../fonts/montserrat-700.woff2') format('woff2');}
/* Pages légales (mentions-legales.php, confidentialite.php) — Agence Canelle */
html, body { margin: 0; padding: 0; }
body.legal { font-family: 'Montserrat', system-ui, -apple-system, 'Segoe UI', Roboto, Arial, sans-serif; color: #0c0c16; background: #fff; line-height: 1.65; font-size: 16px; overflow-x: hidden; }
.legal-top { background: #0c0c16; padding: 10px 0; }
.legal-top .wrap { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.legal-top img { height: 48px; width: auto; display: block; }
.legal-top a.retour { color: #fff; text-decoration: none; font-weight: 700; font-size: 14px; border: 1.5px solid #fff; border-radius: 999px; padding: 7px 16px; }
.legal-top a.retour:hover { background: #fff; color: #602335; }
.wrap { max-width: 880px; margin: 0 auto; padding: 0 20px; }
main.legal-main { padding: 36px 0 56px; }
.legal h1 { font-size: 30px; line-height: 1.25; margin: 0 0 6px; color: #602335; font-weight: 700; }
.legal .maj { color: #6b6670; font-size: 14px; margin: 0 0 28px; }
.legal h2 { font-size: 20px; margin: 36px 0 10px; padding-top: 8px; border-top: 1px solid #eadfe0; color: #0c0c16; font-weight: 700; }
.legal h3 { font-size: 16px; margin: 22px 0 6px; font-weight: 700; }
.legal p, .legal li { margin: 0 0 12px; }
.legal ul { padding-left: 22px; margin: 0 0 12px; }
.legal a { color: #a91135; text-decoration: underline; }
.legal .sommaire { background: #fbf5f6; border-radius: 12px; padding: 16px 22px; margin: 0 0 8px; }
.legal .sommaire ol { margin: 0; padding-left: 20px; }
.legal .sommaire li { margin: 4px 0; }
.legal dl.id { display: grid; grid-template-columns: 220px 1fr; gap: 6px 18px; margin: 0 0 12px; }
.legal dl.id dt { font-weight: 700; }
.legal dl.id dd { margin: 0; }
.legal .table-scroll { overflow-x: auto; margin: 0 0 16px; }
.legal table { border-collapse: collapse; width: 100%; font-size: 14.5px; min-width: 640px; }
.legal th, .legal td { border: 1px solid #e5dadc; padding: 9px 11px; text-align: left; vertical-align: top; }
.legal th { background: #fbf5f6; font-weight: 700; }
.legal-foot { background: #0c0c16; color: #d8d4dc; padding: 22px 0; font-size: 14px; }
.legal-foot a { color: #fff; text-decoration: underline; margin: 0 4px; }
.legal-foot .wrap { text-align: center; }
@media (max-width: 640px) {
  .legal h1 { font-size: 24px; }
  .legal dl.id { grid-template-columns: 1fr; gap: 0; }
  .legal dl.id dt { margin-top: 10px; }
}
