/* Öffentliche Klassengrenzen des wiederverwendbaren FAQ-Moduls. */
.faq-section,
.faq-section__inner,
.faq-section__intro,
.faq-section__list,
.faq-item {
  min-width: 0;
}

.faq-item.is-animating {
  overflow: hidden;
}

.faq-item__question {
  -webkit-tap-highlight-color: transparent;
}

.faq-section { background: #f3f5ff; }
.faq-section__inner { display: grid; grid-template-columns: .8fr 1.2fr; gap: 90px; align-items: start; }
.faq-section__title { margin: 0; font-size: var(--module-title-size); line-height: var(--module-title-line-height); letter-spacing: var(--module-title-letter-spacing); }
.faq-section__title em { color: #6153ef; font-style: normal; }
.faq-section__description { max-width: 390px; color: var(--muted); font-size: 14px; line-height: 1.7; }
.faq-section__list { border-top: 1px solid #dfe1ef; }
.faq-item { border-bottom: 1px solid #dfe1ef; }
.faq-item__question { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 25px 0; cursor: pointer; font-weight: 700; list-style: none; }
.faq-item__question::-webkit-details-marker { display: none; }
.faq-item__icon { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; border-radius: 50%; color: #514fef; background: #fff; transform: rotate(0); transition: transform .36s cubic-bezier(.22, 1, .36, 1); }
.faq-item__icon svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.faq-item.is-expanded .faq-item__icon,
.faq-item[open]:not(.is-animating) .faq-item__icon { transform: rotate(45deg); }
.faq-item__answer { margin: 0; padding: 0 52px 25px 0; color: var(--muted); font-size: 13px; line-height: 1.7; }

@media (max-width: 900px) { .faq-section__inner { grid-template-columns: 1fr; gap: 45px; } }
@media (max-width: 560px) { .faq-section__title { font-size: var(--module-title-size-mobile); letter-spacing: var(--module-title-letter-spacing-mobile); } }
