/* Page-specific styles for Terms & Conditions (avoid duplicating base.css) */
.legal-hero { padding: var(--space-16) 0 var(--space-10); }
.legal-meta { color: var(--gray-600); font-size: var(--text-sm); margin-bottom: var(--space-4); }

.legal-layout { display: grid; gap: var(--space-10); grid-template-columns: 280px 1fr; padding-top: var(--space-12); padding-bottom: var(--space-12); }

.toc .card-header { margin-bottom: var(--space-2); }
.toc-list { margin: 0; padding-left: 0; display: grid; gap: 0.5rem; list-style: none; }
.toc a { color: var(--color-text); display: inline-block; padding: 0.25rem 0; border-left: 2px solid transparent; padding-left: 0.5rem; }
.toc a:hover { text-decoration: none; opacity: 0.9; }
.toc a[aria-current="true"] { border-left-color: var(--color-primary); font-weight: 600; }

.legal-content { min-width: 0; }
.legal-section { padding-bottom: var(--space-10); border-bottom: 1px solid var(--gray-200); margin-bottom: var(--space-10); }
.legal-section:last-of-type { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }

/* Improve in-page anchor behavior with sticky header */
.legal-section, .legal-section h2 { scroll-margin-top: 96px; }

.legal-note { color: var(--gray-700); font-size: var(--text-sm); }

@media (max-width: 960px) {
  .legal-layout { grid-template-columns: 1fr; }
}
