/* ============================================================
   FAQ accordion — native details/summary. Tokens only.
   ============================================================ */
.lh-faq { padding-block: var(--faq-pt, 48px) var(--faq-pb, 48px); }
.lh-faq__inner { max-width: 820px; }
.lh-faq__head { margin-bottom: var(--space-6); }
.lh-faq__title { margin: var(--space-1) 0 0; font-size: var(--font-h3); color: var(--text-heading); }
/* Title-size modifiers — match the section titles across the collections list page */
.lh-faq--title-sm .lh-faq__title { font-size: var(--font-h4); }
.lh-faq--title-md .lh-faq__title { font-size: var(--font-h3); }
.lh-faq--title-lg .lh-faq__title { font-size: var(--font-h2); }
.lh-faq--title-xl .lh-faq__title { font-size: var(--font-h1); line-height: var(--leading-heading); }

.lh-faq__list { display: grid; gap: var(--space-2); }
.lh-faq__item {
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  background: var(--surface-card);
  overflow: hidden;
}
.lh-faq__item[open] { border-color: var(--border-strong); }
.lh-faq__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-4);
  padding: var(--space-4) var(--space-5);
  font-size: var(--font-body-md);
  font-weight: var(--weight-semibold);
  color: var(--text-heading);
  cursor: pointer;
  list-style: none;
}
.lh-faq__q::-webkit-details-marker { display: none; }
.lh-faq__q:hover { color: var(--color-primary); }
.lh-faq__icon { color: var(--color-primary); flex-shrink: 0; transition: transform var(--duration-fast) var(--ease-standard); }
.lh-faq__item[open] .lh-faq__icon { transform: rotate(180deg); }
.lh-faq__a {
  padding: 0 var(--space-5) var(--space-5);
  font-size: var(--font-body-sm);
  color: var(--text-body);
  line-height: var(--leading-body);
}
.lh-faq__a > :first-child { margin-top: 0; }
.lh-faq__a > :last-child { margin-bottom: 0; }

@media (prefers-reduced-motion: reduce) {
  .lh-faq__icon { transition: none; }
}
