/* ============================================================
   CIVI : Pages légales
   Réutilise le design "editorial-warm" du landing.
   ============================================================ */
:root {
  --cream:      #FAF7F2;
  --cream-deep: #F2EBDB;
  --ink:        #1A1814;
  --ink-soft:   #5C554B;
  --ink-mute:   #8A8275;
  --marine:     #1D2845;
  --or-deep:    #C49942;
  --hair-soft:  rgba(26, 24, 20, 0.12);
  --display: 'Instrument Serif', 'Cormorant Garamond', 'Times New Roman', serif;
  --sans:    'Instrument Sans', -apple-system, system-ui, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

body {
  margin: 0;
  background: var(--cream);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--marine); }

.legal-wrap {
  max-width: 760px;
  margin: 0 auto;
  padding: 0 clamp(1.25rem, 4vw, 2.5rem);
}

/* En-tête */
.legal-nav {
  border-bottom: 1px solid var(--hair-soft);
  padding: 18px 0;
}
.legal-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-family: var(--display);
  font-size: 24px;
  font-style: italic;
  text-decoration: none;
  color: var(--ink);
}
.legal-brand img { width: 30px; height: 30px; border-radius: 8px; }

/* Contenu */
.legal-main { padding: clamp(32px, 6vw, 64px) 0 64px; }
.legal-title {
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(34px, 6vw, 52px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 0 0 8px;
}
.legal-updated {
  font-size: 13.5px;
  color: var(--ink-mute);
  margin: 0 0 36px;
}
.legal-main h2 {
  font-family: var(--display);
  font-weight: 400;
  font-size: clamp(22px, 3.5vw, 28px);
  letter-spacing: -0.01em;
  margin: 36px 0 12px;
}
.legal-main h3 {
  font-size: 16px;
  font-weight: 600;
  margin: 20px 0 6px;
}
.legal-main p { margin: 0 0 14px; }
.legal-main ul { margin: 0 0 14px; padding-left: 22px; }
.legal-main li { margin-bottom: 6px; }
.legal-placeholder {
  background: var(--cream-deep);
  border-bottom: 1px dashed var(--or-deep);
  padding: 0 3px;
}

/* Pied de page */
.legal-footer {
  border-top: 1px solid var(--hair-soft);
  padding: 28px 0 40px;
  font-size: 13.5px;
  color: var(--ink-soft);
}
.legal-footer__links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  margin-bottom: 12px;
}
.legal-footer__links a { color: var(--ink-soft); }
.legal-footer__links a[aria-current="page"] { color: var(--ink); font-weight: 600; }

@media (min-width: 600px) {
  body { font-size: 17px; }
}
