/* Terms & Conditions page-specific styles */
.legal-hero { padding: var(--space-11) 0 var(--space-9); }
.legal-hero h1 { color: #fff; margin-bottom: var(--space-4); }
.legal-hero .legal-meta { color: #e6edf7; max-width: 70ch; }

.legal-content { display: grid; grid-template-columns: 1fr; gap: var(--space-9); padding-block: var(--space-11); }

.toc { border: 1px solid var(--gray-200); border-radius: var(--radius-lg); background: var(--color-surface); box-shadow: var(--shadow-sm); padding: var(--space-7); }
.toc h2 { font-size: var(--font-size-xl); margin-bottom: var(--space-4); }
.toc ol { margin: 0; padding-left: 1.25rem; display: grid; gap: var(--space-2); }
.toc a { color: var(--color-primary); text-decoration: none; }
.toc a:hover { color: var(--color-accent); text-decoration: underline; }
.toc a.active { color: var(--color-accent); font-weight: 700; }

.legal-body { display: grid; gap: var(--space-9); }
.legal-section { background: var(--color-surface); border: 1px solid var(--gray-200); border-radius: var(--radius-lg); box-shadow: var(--shadow-sm); padding: var(--space-8); scroll-margin-top: 96px; }
.legal-section ul { margin-top: var(--space-4); }
.legal-section li { margin-bottom: var(--space-3); }

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

@media (min-width: 992px) {
  .legal-content { grid-template-columns: 320px 1fr; align-items: start; }
  .toc { position: sticky; top: var(--space-9); }
}
