/* Terms & Conditions page styles (keeps base.css as the design system) */

.legal-hero {
  background: color-mix(in oklab, var(--gray-50) 70%, transparent);
  border-bottom: 1px solid var(--gray-200);
}
.hero-inner {
  padding-block: var(--space-12);
  display: grid;
  gap: var(--space-4);
}
.hero-eyebrow {
  font-size: var(--fs-sm);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--color-primary);
  font-weight: 700;
}
.hero-subtitle {
  font-size: var(--fs-md);
  color: var(--color-muted);
}
.legal-meta { display: flex; gap: var(--space-3); align-items: center; }

.toc-section { margin-block: var(--space-8); }
.toc { padding: var(--space-6); }
.toc ol { margin: 0; padding-left: 1.25rem; display: grid; gap: var(--space-2); }
.toc a { color: var(--color-text); }
.toc a:hover { color: var(--color-primary); text-decoration: underline; }

.legal-section { padding-block: var(--space-8); border-top: 1px solid var(--gray-200); }
.legal-section:first-of-type { border-top: 0; }
.legal-section h2 { margin-bottom: var(--space-3); }
.legal-section h3 { margin-top: var(--space-4); }

/* FAQ */
.faq-item { border: 1px solid var(--gray-200); border-radius: var(--radius-md); padding: var(--space-4); margin-bottom: var(--space-4); background: var(--color-surface); box-shadow: var(--shadow-sm); }
.faq-item summary { cursor: pointer; font-weight: 700; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item[open] { box-shadow: var(--shadow-md); }
.faq-item > div { margin-top: var(--space-3); color: var(--color-muted); }

.back-to-top { margin-top: var(--space-6); }

/* Improve anchor navigation with sticky header */
[id] { scroll-margin-top: 96px; }

@media (min-width: 960px) {
  .toc { position: relative; }
}
