/* Seelenbalsam — FAQ Accordion */

.sb-faq {
  padding: var(--mx-space-5xl) var(--mx-space-lg);
  background: var(--mx-color-surface-1);
}

.sb-faq__inner {
  max-width: 880px;
  margin: 0 auto;
}

.sb-faq__head {
  text-align: center;
  margin-bottom: var(--mx-space-3xl);
}

.sb-faq__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: var(--mx-space-md);
  font-family: var(--mx-font-eyebrow);
  font-size: var(--mx-fs-xs);
  font-weight: var(--mx-fw-medium);
  text-transform: uppercase;
  letter-spacing: var(--mx-tracking-wide);
  color: var(--mx-color-brand);
  margin: 0 0 var(--mx-space-md);
}

.sb-faq__divider {
  display: inline-block;
  width: 48px;
  height: 1px;
  background: var(--mx-color-brand);
}

.sb-faq__heading {
  font-family: var(--mx-font-display);
  font-size: clamp(2rem, 4vw, var(--mx-fs-4xl));
  font-weight: var(--mx-fw-semibold);
  color: var(--mx-color-ink);
  line-height: var(--mx-lh-tight);
  letter-spacing: var(--mx-tracking-tight);
  margin: 0 0 var(--mx-space-md);
}

.sb-faq__sub {
  font-family: var(--mx-font-body);
  font-size: var(--mx-fs-md);
  color: var(--mx-color-text);
  line-height: var(--mx-lh-relaxed);
  max-width: 640px;
  margin: 0 auto;
}

/* ── List ──────────────────────────────────────────────────────────── */
.sb-faq__list {
  display: flex;
  flex-direction: column;
  gap: var(--mx-space-md);
}

.sb-faq__item {
  background: var(--mx-color-surface-2);
  border-radius: var(--mx-radius-md);
  overflow: hidden;
  transition: box-shadow var(--mx-dur-base) var(--mx-ease-out);
}

.sb-faq__item[open] {
  box-shadow: var(--mx-shadow-md);
  background: var(--mx-color-surface-1);
}

.sb-faq__q {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--mx-space-md);
  padding: var(--mx-space-lg) var(--mx-space-xl);
  font-family: var(--mx-font-body);
  font-size: var(--mx-fs-lg);
  font-weight: var(--mx-fw-semibold);
  color: var(--mx-color-ink);
  line-height: var(--mx-lh-snug);
}

.sb-faq__q::-webkit-details-marker { display: none; }
.sb-faq__q::marker { content: ''; }

.sb-faq__icon {
  flex-shrink: 0;
  color: var(--mx-color-brand);
  transition: transform var(--mx-dur-base) var(--mx-ease-out);
}

.sb-faq__item[open] .sb-faq__icon {
  transform: rotate(45deg);
}

.sb-faq__a {
  padding: 0 var(--mx-space-xl) var(--mx-space-xl);
  font-family: var(--mx-font-body);
  font-size: var(--mx-fs-md);
  color: var(--mx-color-text);
  line-height: var(--mx-lh-relaxed);
}

.sb-faq__a p { margin: 0; }

@media (max-width: 1024px) {
  .sb-faq { padding: var(--mx-space-4xl) var(--mx-space-md); }
  .sb-faq__q { padding: var(--mx-space-md) var(--mx-space-lg); font-size: var(--mx-fs-md); }
  .sb-faq__a { padding: 0 var(--mx-space-lg) var(--mx-space-lg); }
}
