/* Styles propres aux pages légales (mentions légales, politique de confidentialité).
   Chargés après styles.css, uniquement par ces pages ; ils complètent .legal-page. */

.legal-page h2,
.legal-page h3,
.legal-page h4 {
  scroll-margin-top: 16px;
  text-wrap: balance;
}

.legal-page h3 {
  font-size: 1.02rem;
  line-height: 1.35;
  margin: 28px 0 10px;
  color: var(--ink);
}

.legal-page h4 {
  font-size: 0.95rem;
  line-height: 1.4;
  margin: 24px 0 8px;
  color: var(--teal-deep);
}

.legal-page p {
  margin: 0 0 14px;
}

.legal-page p,
.legal-page li,
.legal-page td,
.legal-page th {
  overflow-wrap: break-word;
}

.legal-page a {
  overflow-wrap: anywhere;
}

.legal-page ol {
  padding-left: 24px;
  margin: 0 0 16px;
}

.legal-page li + li {
  margin-top: 6px;
}

.legal-page li > ul,
.legal-page li > ol {
  margin: 6px 0 0;
}

.legal-page blockquote {
  margin: 0 0 16px;
  padding: 12px 16px;
  background: var(--soft);
  border-radius: 8px;
}

.legal-page blockquote p:last-child {
  margin-bottom: 0;
}

.legal-table {
  overflow-x: auto;
  margin: 0 0 20px;
  border: 1px solid var(--line);
  border-radius: 8px;
}

.legal-table table {
  border-collapse: collapse;
  width: 100%;
  font-size: 0.85rem;
}

.legal-table th,
.legal-table td {
  text-align: left;
  vertical-align: top;
  padding: 8px 10px;
  border-bottom: 1px solid var(--line);
  line-height: 1.5;
  min-width: 8em;
}

.legal-table th {
  background: var(--soft);
  font-weight: 700;
}

.legal-table tr:last-child td {
  border-bottom: none;
}
