/* Shared prose styling for the legal pages (Privacy Policy, Terms of Service,
   SaaS Terms, Cookie Policy). base.css deliberately leaves p/h2/h3 with no
   spacing of its own (every other page builds its own layout), so long-form
   legal text needs its own typographic rhythm. */
.legal-content {
  max-width: 780px;
}
.legal-content .legal-updated {
  display: inline-block;
  font-size: var(--font-size-sm, 0.875rem);
  color: var(--color-neutral-500, #6b7280);
  background: var(--color-neutral-100, #f3f4f6);
  border-radius: var(--radius-full, 999px);
  padding: 0.25rem 0.875rem;
  margin-bottom: 2rem;
}
.legal-content h2 {
  font-size: var(--font-size-lg, 1.375rem);
  margin: 2.5rem 0 1rem;
}
.legal-content h2:first-of-type { margin-top: 0; }
.legal-content h3 {
  font-size: var(--font-size-md, 1.125rem);
  margin: 1.75rem 0 0.75rem;
}
.legal-content p {
  margin: 0 0 1rem;
  line-height: var(--line-height-relaxed, 1.7);
  color: var(--color-neutral-700, #374151);
}
.legal-content ul, .legal-content ol {
  margin: 0 0 1rem;
  padding-left: 1.375rem;
  line-height: var(--line-height-relaxed, 1.7);
  color: var(--color-neutral-700, #374151);
}
.legal-content li { margin-bottom: 0.4rem; }
.legal-content a { color: var(--color-primary-600, #1d4ed8); text-decoration: underline; }
.legal-content strong { color: var(--color-neutral-900, #111827); }
.legal-content .legal-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0 0 1.5rem;
  font-size: var(--font-size-sm, 0.875rem);
}
.legal-content .legal-table th,
.legal-content .legal-table td {
  text-align: left;
  padding: 0.65rem 0.75rem;
  border: 1px solid var(--color-neutral-200, #e5e7eb);
  vertical-align: top;
  line-height: var(--line-height-relaxed, 1.6);
}
.legal-content .legal-table th {
  background: var(--color-neutral-50, #f9fafb);
  color: var(--color-neutral-900, #111827);
}
@media (max-width: 640px) {
  .legal-content .legal-table { display: block; overflow-x: auto; }
}
.legal-toc {
  background: var(--color-neutral-50, #f9fafb);
  border: 1px solid var(--color-neutral-200, #e5e7eb);
  border-radius: var(--radius-md, 8px);
  padding: 1.25rem 1.5rem;
  margin-bottom: 2.5rem;
}
.legal-toc h2 { margin: 0 0 0.75rem; font-size: var(--font-size-md, 1.125rem); }
.legal-toc ol { margin: 0; padding-left: 1.25rem; }
.legal-toc li { margin-bottom: 0.35rem; }
.legal-toc a { text-decoration: none; }
.legal-toc a:hover { text-decoration: underline; }
