/* ===========================================
   pages/information/faq.css
   FAQ 页专用（手风琴 / 分组）
   · 仅由 faq.html 的 extra_css 引入
   · 公共 TOC / 正文 → information_article.css
=========================================== */

body.page-info #infoArticle .faq-group,
body.page-info-legal #infoArticle .faq-group {
    scroll-margin-top: calc(var(--header-offset) + var(--lp-spacing-xl));
}

body.page-info #infoArticle > .faq-group,
body.page-info-legal #infoArticle > .faq-group {
    margin: 0 0 0;
    padding-top: 0;
    padding-bottom: 0;
}

.lp-content .faq-group-title {
    font-family: var(--lp-font);
    font-size: var(--lp-font-size-h2, 1.5rem);
    font-weight: var(--lp-font-weight-heading, 400);
    line-height: 1.333;
    color: var(--lp-text-primary);
    margin: 0 0 var(--lp-spacing-lg);
    padding-bottom: var(--lp-spacing-sm);
    border-bottom: 1px solid var(--lp-border-light);
}

/* Legal 母版下 FAQ 分组标题对齐章节 h2 */
body.page-info-legal .lp-content .faq-group-title {
    color: var(--lp-legal-ink, #3c4043);
    font-weight: 500;
    letter-spacing: 0;
    margin: 0 0 1rem;
    padding: 48px 0 0;
    border-bottom: none;
}

body.page-info-legal .faq-question {
    font-weight: 500;
    color: var(--lp-legal-ink, #3c4043);
}

body.page-info-legal .faq-answer-inner {
    color: var(--lp-legal-ink, #3c4043);
    line-height: 1.6;
}

.faq-group {
    margin-bottom: var(--lp-spacing-2xl);
}

.faq-item {
    border: 1px solid var(--lp-border-light);
    border-radius: var(--lp-radius);
    margin-bottom: var(--lp-spacing-sm);
    overflow: hidden;
}

.faq-item.is-open {
    box-shadow: var(--lp-shadow-sm);
}

.faq-question {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--lp-spacing-md);
    padding: var(--lp-spacing-md) var(--lp-spacing-lg);
    cursor: pointer;
    background: #fff;
    border: none;
    width: 100%;
    text-align: left;
    font-family: var(--lp-font);
    font-size: var(--lp-font-size-body, 1rem);
    font-weight: var(--lp-font-weight-subhead, 500);
    line-height: var(--lp-line-height-body, 1.5);
    color: var(--lp-text-primary);
    transition: background 0.2s ease, color 0.2s ease;
}

.faq-question:hover {
    background: var(--lp-hover-bg);
    color: var(--lp-primary-color);
}

.faq-item.is-open .faq-question {
    background: #e8f0fe;
    color: var(--lp-primary-color);
}

.faq-icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    color: var(--lp-primary-color);
    transition: transform 0.3s ease;
}

.faq-item.is-open .faq-icon {
    transform: rotate(45deg);
}

.faq-answer {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.faq-item.is-open .faq-answer {
    max-height: 600px;
}

.faq-answer-inner {
    padding: 0 var(--lp-spacing-lg) var(--lp-spacing-lg);
    font-size: var(--lp-font-size-body, 1rem);
    color: var(--lp-text-secondary);
    line-height: var(--lp-line-height-body, 1.5);
    font-family: var(--lp-font);
    font-weight: 400;
}

.faq-answer-inner p {
    margin: 0 0 10px;
}

@media (max-width: 768px) {
    body.page-info #infoArticle .faq-group,
    body.page-info-legal #infoArticle .faq-group {
        scroll-margin-top: calc(
            var(--header-offset)
            + var(--lp-breadcrumb-bar-height)
            + var(--lp-mobile-toc-height)
            + 8px
        );
    }
}
