/* Pages légales (mentions, confidentialité) : sobres, lisibles sur téléphone. */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; font-family: var(--text); background: var(--paper); color: var(--ink); line-height: 1.6; overflow-x: clip; }
.legal { max-width: 760px; margin: 0 auto; padding: 1.4rem 1.1rem 4rem; }
.legal__back { display: inline-block; margin-bottom: 1.4rem; color: var(--rose-deep); font-weight: 700; text-decoration: none; }
.legal h1 { font-family: var(--display); font-weight: 600; font-size: clamp(1.7rem, 5vw, 2.3rem); margin: 0 0 .2rem; }
.legal__date { color: var(--muted); font-size: .85rem; margin: 0 0 1.6rem; }
.legal h2 { font-family: var(--display); font-weight: 600; font-size: 1.2rem; margin: 2rem 0 .5rem; }
.legal p, .legal li { font-size: .97rem; }
.legal a { color: var(--rose-deep); }
.legal__intro { background: var(--blush-2); border-radius: 14px; padding: .9rem 1.1rem; font-weight: 600; }
.legal__table { width: 100%; border-collapse: collapse; font-size: .9rem; margin: .4rem 0 1rem; }
.legal__table th, .legal__table td { text-align: left; vertical-align: top; padding: .6rem .5rem; border-bottom: 1px solid var(--line); overflow-wrap: anywhere; }
.legal__table th { font-size: .74rem; text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
@media (max-width: 600px) {
  .legal__table, .legal__table tbody, .legal__table tr, .legal__table td { display: block; width: 100%; }
  .legal__table tr:first-child { display: none; }
  .legal__table tr { border: 1px solid var(--line); border-radius: 14px; padding: .4rem .7rem; margin-bottom: .6rem; background: #fff; }
  .legal__table td { border: 0; padding: .3rem 0; }
  .legal__table td:first-child { font-weight: 700; }
}

/* Crédit NYNDRA en bas des pages légales */
.legal__foot { border-top: 1px solid var(--line); padding: 1.4rem 1.1rem 2rem; text-align: center; color: var(--muted); }
.legal__foot strong { color: var(--ink); }

/* Page 404 */
.notfound { text-align: center; padding-top: 3.5rem; min-height: 70vh; }
.notfound .wordmark { font-size: 1.6rem; text-decoration: none; }
.notfound__code { font-family: var(--display); font-size: clamp(4rem, 18vw, 7rem); line-height: 1; margin: 1.8rem 0 .4rem; color: var(--rose-deep); }
.notfound__btn { display: inline-block; margin-top: .8rem; padding: .85rem 1.6rem; border-radius: 999px; background: var(--rose-deep); color: #fff !important; font-weight: 700; text-decoration: none; }
