/* ===== Legal Page Layout ===== */

.legal-page {
  padding-top: calc(var(--space-20) + 80px); /* account for fixed nav */
  padding-bottom: var(--space-20);
}

.legal-page__header {
  margin-bottom: var(--space-12);
  padding-bottom: var(--space-8);
  border-bottom: 1px solid var(--border-default);
}

.legal-page__title {
  font-size: var(--text-h1);
  margin-bottom: var(--space-3);
}

.legal-page__meta {
  font-size: var(--text-small);
  color: var(--text-muted);
}

/* ===== Prose Typography ===== */

.prose h2 {
  font-size: var(--text-h2);
  margin-top: var(--space-12);
  margin-bottom: var(--space-4);
  color: var(--text-primary);
}

.prose h3 {
  font-size: var(--text-h3);
  margin-top: var(--space-8);
  margin-bottom: var(--space-3);
  color: var(--text-primary);
}

.prose h4 {
  font-size: var(--text-h3);
  margin-top: var(--space-6);
  margin-bottom: var(--space-2);
  color: var(--text-primary);
}

.prose p {
  margin-bottom: var(--space-4);
  line-height: var(--leading-normal);
  color: var(--text-secondary);
}

.prose ul,
.prose ol {
  margin-bottom: var(--space-4);
  padding-left: var(--space-6);
  color: var(--text-secondary);
  line-height: var(--leading-normal);
}

.prose ul {
  list-style: disc;
}

.prose ol {
  list-style: decimal;
}

.prose li {
  margin-bottom: var(--space-2);
}

.prose li ul,
.prose li ol {
  margin-top: var(--space-2);
  margin-bottom: var(--space-2);
}

.prose a {
  color: var(--accent-primary);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.prose a:hover {
  color: var(--accent-primary-hover);
}

.prose strong {
  font-weight: var(--weight-semibold);
  color: var(--text-primary);
}

.prose table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: var(--space-6);
  font-size: var(--text-small);
}

.prose th,
.prose td {
  padding: var(--space-3) var(--space-4);
  text-align: left;
  border-bottom: 1px solid var(--border-default);
}

.prose th {
  font-weight: var(--weight-semibold);
  color: var(--text-primary);
  background-color: var(--surface-elevated);
}

.prose td {
  color: var(--text-secondary);
}

.prose blockquote {
  border-left: 3px solid var(--accent-primary);
  padding-left: var(--space-4);
  margin-bottom: var(--space-4);
  color: var(--text-secondary);
  font-style: italic;
}

@media (max-width: 768px) {
  .legal-page__title {
    font-size: var(--text-h2);
  }

  .prose table {
    display: block;
    overflow-x: auto;
  }
}
