/* ============================================================
   legal.css — long-form content pages (privacy, terms)
   ============================================================
   Inherits the global heading scale from theme/headings.css.
   We avoid <h1> on these pages; the document title uses <h2>,
   sub-headings use <h3>, and minor headings use <h4>.
   ============================================================ */

main:has(.legal) > section { margin-top: 0; }
.legal                 { max-width: 820px; margin: 0 auto; padding-top: var(--space-24); }
.legal .legal-title    { font-size: 40px; font-weight: var(--font-weight-medium);
                         line-height: 1.2; margin: 0 0 var(--space-3); }
.legal .legal-updated  { color: var(--color-muted-foreground);
                         font-size: var(--font-size-base);
                         margin: 0 0 var(--space-12); }

.legal h3              { margin: var(--space-12) 0 var(--space-4);
                         scroll-margin-top: var(--space-16); }
.legal h4              { margin: var(--space-8) 0 var(--space-3);
                         scroll-margin-top: var(--space-16); }
.legal [id]            { scroll-margin-top: var(--space-16); }

.legal p,
.legal ul,
.legal ol              { margin: 0 0 var(--space-4);
                         color: var(--color-foreground);
                         font-size: var(--font-size-base);
                         line-height: 1.6; }

.legal ul, .legal ol   { padding-left: var(--space-6);
                         display: flex; flex-direction: column; gap: var(--space-2); }
.legal ul              { list-style: disc; }
.legal ul ul           { list-style: circle; margin: var(--space-2) 0 0; }

.legal a               { color: var(--color-primary); word-break: break-word; }
.legal a:hover         { text-decoration: underline; }

.legal em              { font-style: italic; }
.legal strong          { font-weight: var(--font-weight-medium); }

.legal .lead           { color: var(--color-muted-foreground); margin-bottom: var(--space-8); }
.legal .toc            { background: var(--color-accent); border: 1px solid var(--color-border);
                         border-radius: var(--radius-md, 12px);
                         padding: var(--space-6); margin: var(--space-8) 0 var(--space-12); }
.legal .toc ol         { list-style: decimal; padding-left: var(--space-6);
                         margin: 0; gap: var(--space-2); }
.legal .toc a          { color: var(--color-primary); }

.legal table           { width: 100%; border-collapse: collapse;
                         margin: 0 0 var(--space-6);
                         font-size: var(--font-size-sm); }
.legal table th,
.legal table td        { border: 1px solid var(--color-border);
                         padding: var(--space-3); text-align: left;
                         vertical-align: top; }
.legal table th        { background: var(--color-accent);
                         font-weight: var(--font-weight-medium); }
.legal table td.center { text-align: center; vertical-align: middle; }

@media (max-width: 1024px) {
  .legal               { padding-top: var(--space-16); }
}

@media (max-width: 768px) {
  .legal               { padding-top: var(--space-8); }
  .legal .legal-title  { font-size: 32px; }
  .legal h3            { margin-top: var(--space-8); }
  .legal table         { font-size: 13px; }
  .legal table th,
  .legal table td      { padding: var(--space-2); }
}

@media (max-width: 480px) {
  .legal .legal-title  { font-size: 26px; }
}
