/* Terms & Conditions page-specific styles */

.legal-hero {
  padding: var(--space-16) 0 var(--space-10);
  background:
    radial-gradient(1200px 500px at 10% -10%, rgba(74, 158, 255, 0.12), transparent 60%),
    radial-gradient(900px 400px at 100% 0%, rgba(0, 217, 255, 0.08), transparent 60%),
    var(--color-surface);
  border-bottom: 1px solid var(--color-neutral-700);
}

.legal-hero .badge { margin-bottom: var(--space-4); }
.legal-hero h1 { margin-bottom: var(--space-4); }
.hero-subtitle { color: var(--color-text-secondary); max-width: 70ch; }
.hero-meta { margin-top: var(--space-3); }

.legal-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-8);
}

@media (min-width: 1024px) {
  .legal-grid {
    grid-template-columns: 280px 1fr;
  }
}

.toc {
  position: sticky;
  top: 100px;
  align-self: start;
  background: var(--color-surface);
  border: 1px solid var(--color-neutral-700);
  border-radius: var(--radius-lg);
  padding: var(--space-6);
  box-shadow: var(--shadow-base);
}

.toc-title {
  font-size: var(--font-size-lg);
  margin-bottom: var(--space-4);
}

.toc-list {
  padding-left: 1.25rem;
  margin: 0;
}

.toc a {
  color: var(--color-text-secondary);
  text-decoration: none;
  transition: color var(--transition-fast);
}

.toc a:hover { color: var(--color-primary-light); }
.toc a.active { color: var(--color-primary); font-weight: var(--font-weight-semibold); }

.legal-content {
  min-width: 0;
}

.legal-section {
  padding-top: var(--space-6);
  padding-bottom: var(--space-6);
  border-top: 1px solid var(--color-neutral-700);
  scroll-margin-top: 96px; /* offset for fixed header */
}

.legal-section:first-child { border-top: 0; padding-top: 0; }

.legal-section h2 { margin-bottom: var(--space-4); }
.legal-section p + ul { margin-top: var(--space-3); }

/* Buttons area */
.legal-content .btn { margin-top: var(--space-4); }
