/* Long-form legal pages: /terms, /privacy, /refunds. Loaded after styles.css. */

.legal { max-width: 760px; }
.legal__meta { margin-top: 16px; font-size: .875rem; color: var(--muted); }
.legal__lead { margin-top: 20px; font-size: 1.0625rem; color: var(--ink-2); text-wrap: pretty; }

.legal__toc {
  margin: 36px 0 8px; padding: 20px 24px;
  border: 1px solid var(--line); border-radius: var(--r); background: var(--bg-alt);
  font-size: .9375rem;
}
.legal__toc p { font-weight: 600; margin-bottom: 8px; }
.legal__toc ol { margin: 0; padding-left: 1.4em; columns: 2 220px; column-gap: 32px; }
.legal__toc li { margin: 2px 0; break-inside: avoid; }

.legal h2 {
  font-size: 1.375rem; line-height: 1.3; letter-spacing: -0.02em;
  margin: 56px 0 14px; scroll-margin-top: 96px;
}
.legal h3 { margin: 28px 0 8px; scroll-margin-top: 96px; }
.legal p, .legal li { color: var(--ink-2); line-height: 1.65; text-wrap: pretty; }
.legal p + p { margin-top: 12px; }
.legal ul, .legal ol { margin: 12px 0; padding-left: 1.4em; }
.legal li + li { margin-top: 6px; }
.legal a { color: var(--ink); text-underline-offset: 2px; }
.legal strong { color: var(--ink); }
.legal address { font-style: normal; margin: 12px 0; color: var(--ink-2); line-height: 1.6; }

.legal__note {
  margin: 16px 0; padding: 14px 18px;
  border-left: 3px solid var(--accent); background: var(--bg-alt);
  border-radius: 0 var(--r) var(--r) 0;
}

.legal__table { width: 100%; overflow-x: auto; margin: 16px 0; }
.legal table { width: 100%; border-collapse: collapse; font-size: .9rem; min-width: 520px; }
.legal th, .legal td {
  text-align: left; vertical-align: top; padding: 10px 12px;
  border-bottom: 1px solid var(--line); color: var(--ink-2); line-height: 1.5;
}
.legal th { color: var(--ink); font-weight: 600; background: var(--bg-alt); }

@media (max-width: 600px) {
  .legal__toc { padding: 16px 18px; }
  .legal h2 { margin-top: 44px; }
}
