/* Pages légales : même identité que le site */
.legal { background: var(--bg-soft); padding: 56px 16px 72px; }
.legal-inner {
  max-width: 820px;
  margin: 0 auto;
  background: #fff;
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 44px 48px;
}
.legal h1 { font-size: 32px; line-height: 1.2; margin-bottom: 6px; }
.legal .updated { color: var(--muted); font-size: 14px; margin-bottom: 24px; }
.legal .intro { color: var(--muted); font-size: 16px; margin-bottom: 8px; }
.legal h2 {
  font-size: 20px;
  color: var(--primary);
  margin: 34px 0 10px;
  padding-top: 20px;
  border-top: 1px solid var(--border);
}
.legal h2:first-of-type { border-top: none; }
.legal p { margin-bottom: 12px; font-size: 15.5px; }
.legal ul { margin: 0 0 14px 22px; }
.legal li { margin-bottom: 6px; font-size: 15.5px; }
.legal a { color: var(--primary); }
.legal a:hover { color: var(--primary-dark); }

.legal-summary {
  background: var(--primary-light);
  border-radius: 8px;
  padding: 20px 24px;
  margin: 22px 0 6px;
}
.legal-summary h3 { color: var(--primary-dark); font-size: 17px; margin-bottom: 10px; }
.legal-summary ul { margin-bottom: 0; }

.legal-table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0 18px;
  font-size: 14.5px;
}
.legal-table th, .legal-table td {
  text-align: left;
  padding: 10px 12px;
  border: 1px solid var(--border);
  vertical-align: top;
}
.legal-table th { background: var(--bg-soft); font-weight: 600; }

@media (max-width: 800px) {
  .legal { padding: 24px 12px 48px; }
  .legal-inner { padding: 26px 20px; }
  .legal h1 { font-size: 26px; }
  .legal-table { display: block; overflow-x: auto; }
}