/* Legal pages (privacy / terms) — scoped under .legal-page */

.legal-page h1,
.legal-page h2,
.legal-page .legal-heading {
  font-family: 'Playfair Display', Georgia, serif;
}

.legal-page [data-legal-section] {
  scroll-margin-top: 6.5rem;
}

@media (min-width: 1024px) {
  .legal-page .legal-sidebar {
    position: sticky;
    top: 5.5rem;
    max-height: calc(100vh - 6.5rem);
    overflow-y: auto;
  }

  .legal-page .legal-sidebar nav a {
    border-left: 3px solid transparent;
  }

  .legal-page .legal-sidebar nav a[aria-current="true"] {
    border-left-color: var(--color-herbal-600, #16a34a);
    font-weight: 600;
  }
}

.legal-page .legal-faq details[open] summary .legal-faq-icon {
  transform: rotate(45deg);
}

.legal-page .legal-faq summary::-webkit-details-marker {
  display: none;
}

.legal-page .legal-faq summary::marker {
  content: '';
}

/* Progressive enhancement: visible by default; JS may animate in */
.legal-page .legal-reveal {
  opacity: 1;
  transform: none;
}

.legal-page.js-legal-enhanced .legal-reveal.legal-reveal--pending {
  opacity: 0;
  transform: translateY(0.75rem);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.legal-page.js-legal-enhanced .legal-reveal.legal-reveal--visible {
  opacity: 1;
  transform: translateY(0);
}
