

#faq .faq-container {
    position: relative;
}

/* 移动端横向一级菜单 */
#faq .main-menu-container {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
    position: relative;
    z-index: 3;
}

#faq .main-menu-scroll {
    display: inline-block;
    min-width: 100%;
}

#faq .main-category {
    display: inline-block;
    padding: 1.5rem 2rem;
    cursor: pointer;
    font-weight: bold;
    color: #444;
    position: relative;
}

#faq .main-category.active {
    color: #333;
}

#faq .main-category.active::after {
    /* content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 0.3rem; */
}

/* 二级菜单容器 - 绝对定位覆盖内容 */
#faq .submenu-container {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #f5f5f5;
    z-index: 15;
    display: none;
}

#faq .submenu-container.active {
    display: block;
}

#faq .submenu {
    padding: 1rem;
    max-height: 50vh;
    overflow-y: auto;
}

#faq .sub-category {
    padding: 1rem 1.5rem;
    cursor: pointer;
    font-weight: bold;
    color: #555;
    position: relative;
}

#faq .sub-category::after {
    /* content: '+';
    position: absolute;
    right: 1.5rem;
    font-weight: bold; */
}

#faq .sub-category.active::after {
    /* content: '-'; */
}

#faq .item-menu {
    display: none;
    padding-left: 2rem;
}

#faq .sub-category.active + .item-menu {
    display: block;
}

#faq .menu-item {
    padding: 1rem 1.5rem;
    cursor: pointer;
    color: #666;
    border-left: 0.3rem solid transparent;
}

#faq .menu-item.active {
    color: #333;
}

/* 右侧内容区 */
#faq .faq-content {
    padding: 2rem;
}

#faq .faq-group-title {
    font-size: 2.2rem;
    margin-bottom: 2rem;
    color: #333;
    padding-bottom: 1rem;
}

/* 通用FAQ项样式 */
#faq .faq-item {
    margin-bottom: 2rem;
    border-radius: 0.5rem;
    overflow: hidden;
}

#faq .faq-question {
    padding: 1.5rem 2rem;
    font-weight: bold;
    cursor: pointer;
    position: relative;
}

#faq .faq-question::after {
    /* content: '+';
    position: absolute;
    right: 2rem;
    font-weight: bold;
    transition: transform 0.3s; */
}

#faq .faq-item.active .faq-question::after {
    /* content: '-';
    transform: rotate(180deg); */
}

#faq .faq-answer {
    padding: 0 2rem;
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.3s ease-out, padding 0.3s ease-out;
}

#faq .faq-item.active .faq-answer {
    padding: 1.5rem 2rem;
    max-height: 50rem;
}

/* 分页样式 */
#faq .pagination {
    display: flex;
    justify-content: center;
    margin-top: 3rem;
    padding: 1rem 0;
}

#faq .page-item {
    margin: 0 0.5rem;
    min-width: 3.5rem;
    height: 3.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 0.4rem;
    cursor: pointer;
    transition: all 0.3s;
    font-size: 1.4rem;
}

#faq .page-item.active {
}

#faq .page-item.disabled {
    color: #ccc;
    cursor: not-allowed;
}

#faq .ellipsis {
    margin: 0 0.5rem;
    display: flex;
    align-items: center;
    font-size: 1.4rem;
}


/* 桌面端布局 */
@media (min-width: 768px) {
    #faq .faq-container {
        display: flex;
    }
    
    #faq .main-menu-container,
    #faq .submenu-container {
        display: none;
    }
    
    /* 显示桌面端左侧菜单 */
    #faq .faq-menu {
        display: block;
        width:  34.3rem;
        padding: 2rem 0;
        overflow-y: auto;
    }
    
    #faq .menu-title {
        font-size: 1.8rem;
        font-weight: bold;
        padding: 1.5rem 2rem;
        color: #333;
        border-bottom: 0.1rem solid #e0e0e0;
        margin-bottom: 1rem;
    }
    
    #faq .main-category {
        display: block;
        padding: 1rem 2rem;
    }
    
    #faq .main-category::after {
        /* content: '+';
        position: absolute;
        right: 2rem;
        font-weight: bold; */
    }
    
    #faq .main-category.active::after {
        /* content: '-'; */
    }
    
    #faq .submenu {
        display: none;
        padding-left: 1.5rem;
        background: transparent;
    }
    
    #faq .main-category.active + .submenu {
        display: block;
    }
    
    #faq .faq-content {
        flex: 1;
        padding: 2rem 3rem;
        overflow-y: auto;
    }
    #faq .faq-item{
        border: none;
    }
    #faq .faq-question{
        pointer-events: none;
        background: none;
        font-family: Inter;
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 100%;
        letter-spacing: 0%;
        padding: 0;
        margin-bottom: 1rem;
    }
    #faq .faq-question::after{
        display: none;
    }
    #faq .faq-answer{
        max-height: fit-content;
        font-family: Inter;
        font-weight: 600;
        font-size: 1.6rem;
        line-height: 2.4rem;
        letter-spacing: 0%;
        padding: 0;
        color: #00000050;
    }
    #faq .main-category{
        font-family: Inter;
        font-weight: 700;
        font-size: 2rem;
        line-height: 112.99999999999999%;
        letter-spacing: -3%;
        text-transform: capitalize;
        padding: 0;
        padding: 3rem 0;
        border-bottom: 1px solid #00000010;
    }
    #faq .main-category.active{}

    #faq .main-category + .submenu{
        padding: 0;
        padding: 3rem 0;
    }

    #faq .sub-category{
        font-family: Inter;
        font-weight: 700;
        font-size: 1.6rem;
        line-height: 112.99999999999999%;
        letter-spacing: -3%;
        text-transform: capitalize;
        padding: 0;
    }
    #faq .sub-category.active{
        color: var(--main-blue);
    }
    #faq .sub-category + .item-menu{
        padding: 0;
        padding: 1rem 0;
    }
    #faq .menu-item{
        font-family: Inter;
        font-weight: 700;
        font-size: 1.6rem;
        line-height: 3rem;
        letter-spacing: -3%;
        text-transform: capitalize;
        text-decoration: underline;
        text-decoration-style: solid;
        text-decoration-offset: 0%;
        text-decoration-thickness: 0%;
        text-decoration-skip-ink: auto;
        color: #00000066;
        padding: 0;
        margin: 0;
        padding-left: 1rem;
    }
    #faq .menu-item.active{
        color: var(--main-blue);
    }
    #faq .submenu .sub-category{
        padding-top: 3rem;
    }
    #faq .submenu .sub-category:nth-child(1){
        padding-top: 0;
    }
    #faq .main-category + .submenu {
        padding-bottom: 0;
    }
    #faq .faq-content{
        padding: 3rem 6rem;
        padding-bottom: 21.4rem;
        border-left: 1px solid #00000010;
    }
    #faq .faq-container{
        border-top: 1px solid #00000010;
        gap: 6.8rem;
    }
    #faq .faq-container .pagination{
        gap: 5rem;
        justify-content: start;
    }
    #faq .faq-container .ellipsis,
    #faq .faq-container .page-item{
        margin: 0;
        min-width: unset;
        font-family: Inter;
        font-weight: 700;
        font-size: 2rem;
        line-height: 180%;
        letter-spacing: 0%;
        text-align: center;
        text-transform: capitalize;
        color: #11111130;
    }
    #faq .faq-container .page-item.active{
        color: var(--main-blue);
    }
    #faq .sub-category>.icon{
        pointer-events: none;
    }
    #faq .sub-category.active>.icon>svg{
        transform: rotate(90deg);
        transform-origin: center;
    }
    #faq .main-category>.icon,
    #faq .sub-category>.icon{
        justify-content: center;
    }
}

@media screen and (max-width: 767px) {
    #faq .main-container{
        padding-left: 0;
        padding-right: 0;
    }
    
    #faq .main-menu-container{
        padding-left: var(--gutter-value);
        padding-right: var(--gutter-value);
    }
    #faq .main-menu-container>.main-menu-scroll>.main-category:nth-last-of-type(1){
        
        padding-right: var(--gutter-value);
    }
    #faq .pc-menu{
        display: none;
    }
    #faq .mob-menu{
        top: 9rem;
    }
    #faq .main-menu-scroll{
        display: flex;
            gap: 4.05rem;
    }
    
    #faq .main-menu-container {
        border-top: 1px solid #00000010;
        border-bottom: 1px solid #00000010;
    }
    #faq .main-category{
        font-family: Inter;
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 112.99999999999999%;
        letter-spacing: -3%;
        text-transform: capitalize;
        color: black;
        padding: 3rem 0;
    }
    #faq .faq-item{
        margin: 0;
    }
    #faq .faq-question{
        font-family: Inter;
        font-weight: 700;
        font-size: 3.4rem;
        line-height: 100%;
        letter-spacing: 0%;
        padding-top: 5rem;
        padding-bottom: 5rem;
        border-bottom: 1px solid #00000010;
    }
    #faq .faq-answer{
        font-family: Inter;
        font-weight: 600;
        font-size: 2.4rem;
        line-height: 3.8rem;
        letter-spacing: 0%;
        /* max-height: fit-content; */
        color: #00000050;
    }
    #faq .faq-content{
        padding-top: 0;
        padding-bottom: 15rem;
    }
    #faq .faq-container .pagination{
        gap: 5rem;
    }
    #faq .faq-container .ellipsis,
    #faq .faq-container .page-item{
        margin: 0;
        min-width: unset;
        font-family: Inter;
        font-weight: 700;
        font-size: 3rem;
        line-height: 180%;
        letter-spacing: 0%;
        text-align: center;
        text-transform: capitalize;
        color: #11111130;
    }
    #faq .faq-container .page-item.active{
        color: var(--main-blue);
    }
    #faq .faq-container .page-arrow{
        max-width: 2.25rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
    #faq .faq-container .page-arrow svg{
        width: 100%;
        height: auto;
        object-fit: contain;
    }
    #faq .faq-item .close,
    #faq .faq-item.active .open{
        display: none;
    }
    #faq .faq-item.active .close{
        display: block;
    }
    #faq .faq-question{
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    #faq .mob-menu .submenu{
        background: white;
        padding-left: var(--gutter-value);
        padding-right: var(--gutter-value);
    }
    #faq .mob-menu .sub-category{
        font-family: Inter;
        font-weight: 700;
        font-size: 2.4rem;
        line-height: 112.99999999999999%;
        letter-spacing: -3%;
        text-transform: capitalize;
        padding: 2.5rem 0;
    }
    #faq .mob-menu .sub-category:nth-of-type(1){
        padding-top: 2rem;
    }
    #faq .mob-menu .sub-category.active{
        padding-bottom: 3rem;
    }
    #faq .mob-menu .item-menu{
        padding: 0;
    }
    #faq .mob-menu .menu-item{
        padding: 0;
        font-family: Inter;
        font-weight: 700;
        font-size: 1.6rem;
        line-height: 4rem;
        letter-spacing: -3%;
        text-transform: capitalize;
        text-decoration: underline;
        text-decoration-style: solid;
        text-decoration-thickness: 0%;
        text-decoration-skip-ink: auto;
    }
    #faq .mob-menu .menu-item.active{
        color: var(--main-blue);
    }
    #faq .main-category{
        display: inline-flex;
    }
    #faq .main-category svg{
        max-width: 1.2rem;   
        height: auto;
        object-fit: contain;
    }
    #faq .submenu{
        max-height: unset;
    }
    #faq .submenu .sub-category{
        display: flex;
        justify-content: space-between;
        align-items: center;
        
    }
    #faq .submenu .sub-category svg{
        transition: all 0.3s ease;
    }
    #faq .submenu .sub-category.active,
    #faq .submenu .sub-category.active>svg{
        color: var(--main-blue);
    }
    #faq .submenu .sub-category.active>svg{
        transform: rotate(180deg);
    }
}

#faq .faq-group-title{
    display: none;
}
#faq .menu-title{
    display: none;
}
#faq .pc-menu .main-category,
#faq .pc-menu .sub-category,
#faq .pc-menu .sub-category .icon,
#faq .pc-menu .main-category .icon{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
#faq .pc-menu .sub-category .icon svg,
#faq .pc-menu .main-category .icon svg{
    transform-origin: center;
    transition: all 0.3s ease;
}

#faq .pc-menu .main-category.active>.icon>svg{
    transform: rotate(180deg);
}
#faq .pc-menu .sub-category.active .icon svg{
    color:var(--main-blue);
}
@media screen and (max-width: 767px){
    #faq .main-category{
        font-size: 3.2rem;
    }
    #faq .faq-question{
        padding-top: 4rem;
        padding-bottom: 4rem;
        line-height: 1.5;
        gap: 4rem;
    }
    #faq .faq-answer{
        color: #808080;
    }
    #faq .faq-container .ellipsis, #faq .faq-container .page-item{
        font-size: 3.2rem;
    }
}
/* update v3 */
@media screen and (min-width: 768px) {
    #faq .faq-item{
        margin-bottom: 5rem;
    }
    #faq {
        --page-width: 128rem;
    }
    #banner img{
        transform: translateY(2px);
    }
    #banner .email-btn{
        padding: 3rem 16.5rem;
        padding-right: 13.9rem;
        background: linear-gradient(180deg, #3D3D3D 0%, #0D0D0D 100%);
        border: 1px solid #4C4C4C;
        border-radius: .4rem;
        overflow: hidden;
    }
    #banner .main-container{
        position: relative;
    }
    #banner .wrapper{
        bottom: 0;
        display: flex;
        flex-direction: column;
        height: 100%;
        align-items: center;
        justify-content: center;
        padding-top: 7.4rem;
        padding-bottom: 6rem;
    }
    #banner .email-btn span{
        --t-col: white;
    }
}
/* update v4 */
#faq .maj-no-kids svg,
#faq .maj-no-kids + .submenu,
#faq .sub-no-kids *,
#faq .sub-no-kids+.item-menu{
    display: none !important;
}
#faq .sub-no-kids.active,
#faq .maj-no-kids.active{
    color: var(--main-blue);
}
@media screen and (max-width: 767px){
    #faq .faq-question svg{
        flex-shrink: 0;
    }
}
/* update v5 */
@media screen and (min-width: 768px){
    #faq .submenu{
        max-height: unset;   
    }
    }
}