.faq-seo-wrapper { box-sizing: border-box; }
.faq-seo-title { margin-top: 0; }

.faq-seo-question {
    display: flex;
    align-items: center;
    cursor: pointer;
    user-select: none;
    gap: 10px;
    transition: background-color 0.25s ease;
    margin: 0;
}
.faq-seo-question-text { flex: 1; margin: 0; }

.faq-seo-icon-wrap {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    flex-shrink: 0;
}
.faq-seo-icon-wrap svg { width: 1em; height: 1em; display: block; }

.faq-seo-item .faq-seo-icon-open { display: none; }
.faq-seo-item .faq-seo-icon-closed { display: inline-flex; }
.faq-seo-item.active .faq-seo-icon-open { display: inline-flex; }
.faq-seo-item.active .faq-seo-icon-closed { display: none; }

.faq-seo-answer {
    overflow: hidden;
    max-height: 0;
    opacity: 0;
    transition: max-height 0.35s ease, opacity 0.25s ease;
}
.faq-seo-item.active .faq-seo-answer { opacity: 1; }

.faq-seo-wrapper.faq-mode-list .faq-seo-answer {
    max-height: none;
    opacity: 1;
    overflow: visible;
}
.faq-seo-wrapper.faq-mode-list .faq-seo-question { cursor: default; }

.faq-sep-border .faq-seo-item + .faq-seo-item { border-top: 1px solid #e5e7eb; }
.faq-sep-none .faq-seo-item + .faq-seo-item { border: none; margin: 0; }
