/* ==========================================================================
   2M Digital — Pages légales (mentions légales, confidentialité)
   Le contenu vient du back-office en mini-Markdown (js/infos.js) : ## titres, paragraphes, listes.
   ========================================================================== */

.legal-head {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 24px;
  padding-top: 56px;
  padding-bottom: 48px;
}
.legal-head .glow { top: -300px; right: max(-160px, (100% - 1440px) / 2); }

.legal {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 920px;
  margin-bottom: 96px;
  padding: 48px;
  font-size: 18px;
  line-height: 1.65;
  color: var(--label-2);
}
.legal h2 {
  scroll-margin-top: 110px;
  margin-top: 24px;
  padding-top: 32px;
  border-top: 1px solid var(--separator);
  font-size: 24px;
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--label);
}
.legal h2:first-child { margin-top: 0; padding-top: 0; border-top: 0; }
.legal strong { font-weight: 600; color: var(--label); }
.legal a { color: var(--yellow); text-decoration: underline; text-underline-offset: 3px; }
.legal ul { display: flex; flex-direction: column; gap: 10px; }
.legal li { position: relative; padding-left: 24px; }
.legal li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 8px; height: 8px; border-radius: 50%; background: var(--yellow); }

@media (max-width: 640px) {
  .legal-head { padding-top: 32px; padding-bottom: 32px; gap: 18px; }
  .legal { margin-bottom: 64px; padding: 28px 22px; font-size: 17px; }
  .legal h2 { font-size: 21px; }
}
