/* ==========================================================================
   Legal pages: numbered clauses (terms-of-use.html)
   Loaded after components.css; builds on the .post article styles.
   ========================================================================== */

.legal-toc {
  margin-block: var(--space-6) var(--space-8);
  padding: var(--space-4) var(--space-6);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-md);
}
.legal-toc h2 {
  margin: 0 0 var(--space-2);
  font-size: var(--text-sm);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--color-text-light);
}
.post .legal-toc ol {
  margin: 0;
  padding-left: var(--space-6);
  font-size: var(--text-base, 1rem);
  columns: 2;
  column-gap: var(--space-8);
}
.post .legal-toc li { margin-block: var(--space-1, 4px); break-inside: avoid; }

.post .legal-section > h2 { scroll-margin-top: 96px; }

.clause {
  display: grid;
  grid-template-columns: 3.25rem minmax(0, 1fr);
  gap: var(--space-3);
  margin-block: var(--space-4);
  scroll-margin-top: 96px;
}
.clause__no {
  font-family: var(--font-mono);
  font-size: var(--text-sm);
  color: var(--color-text-light);
  padding-top: 0.3em;
}
.clause__body > :first-child { margin-top: 0; }
.clause__body > :last-child { margin-bottom: 0; }
.post .clause__body p,
.post .clause__body ol,
.post .clause__body ul { margin-block: var(--space-3); }
.post .clause__body ol { padding-left: var(--space-6); }
/* .post ol uses list-style: revert, which drops the type attribute's hint. */
.post .clause__body ol[type="a"] { list-style-type: lower-alpha; }
.post .clause__body ol[type="i"] { list-style-type: lower-roman; }
.post .clause__body li { margin-block: var(--space-1, 4px); }
.post .clause__body li > ol { margin-block: var(--space-1, 4px); }

.clause__body a.xref { white-space: nowrap; }

.legal-note {
  padding: var(--space-3) var(--space-4);
  border-left: 3px solid var(--color-accent);
  background: var(--color-accent-soft);
  border-radius: 0 var(--radius-sm) var(--radius-sm) 0;
}

@media (max-width: 640px) {
  .post .legal-toc ol { columns: 1; }
  .clause { grid-template-columns: 2.75rem minmax(0, 1fr); gap: var(--space-2); }
}
