/* Terms & Conditions page-specific styles */
.legal-hero { padding-block: var(--space-14) var(--space-10); background: radial-gradient(1200px 420px at 20% -10%, rgba(212,175,55,0.12), transparent 60%), linear-gradient(180deg, rgba(138,27,42,0.18), rgba(0,0,0,0)); border-bottom: 1px solid rgba(255,255,255,0.06); }
.legal-hero .intro { color: var(--color-text-muted); max-width: 75ch; }

.toc { margin-block: var(--space-8) var(--space-6); }
.toc-list { display: grid; gap: var(--space-3); grid-template-columns: 1fr; }
.toc a { color: var(--color-text); padding: 8px 10px; border: 1px solid rgba(255,255,255,0.08); border-radius: var(--radius-md); background: rgba(255,255,255,0.03); }
.toc a:hover { color: var(--color-accent); border-color: rgba(212,175,55,0.35); }

.legal-section { padding-block: var(--space-8); }
.legal-section h2 { margin-bottom: var(--space-5); }
.legal-section ul { padding-left: 1.1rem; margin-bottom: var(--space-6); }
.legal-section li { margin-bottom: var(--space-3); }

/* Accessible age gate overlay */
.age-gate { position: fixed; inset: 0; display: none; align-items: center; justify-content: center; padding: var(--space-8); background: rgba(0,0,0,0.7); z-index: 2000; }
.age-gate[hidden] { display: none; }
.age-gate:not([hidden]) { display: flex; }
.age-card { max-width: 560px; width: 100%; }
