/* ==========================================================================
   成人用品项目 - FAQ 横线分割样式 + 内文上浮动画
   Class: .faq-list-3
   ========================================================================== */

/* FAQ 整体 */
.faq-list-3 .accordion {
    margin: 0;
    padding: 0;
}

/* FAQ 单项 */
.faq-list-3 .accordion-item {
    margin: 0;
    padding: 0;
}

/* 第一个项目顶部横线 */
.faq-list-3 .accordion-item:first-child .accordion-title {
    border-top: 1px solid #e5e5e5;
}

/* FAQ 标题 */
.faq-list-3 .accordion-title {
    position: relative;
    display: block;
    margin: 0 !important;
    padding: 18px 42px 18px 0;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #e5e5e5;
    border-radius: 0;
    box-shadow: none;
    color: #222;
    font-size: 100%;
    font-weight: 600 !important;
    line-height: 1.5;
    transition:
        color 0.25s ease,
        border-color 0.25s ease;
}

/* 清除卡片效果 */
.faq-list-3 .accordion-title,
.faq-list-3 .accordion-title:hover,
.faq-list-3 .accordion-title.active {
    transform: none;
    box-shadow: none;
}

/* 标题悬浮 */
.faq-list-3 .accordion-title:hover {
    background: transparent;
    color: var(--primary-color);
}

/* 展开状态 */
.faq-list-3 .accordion-title.active {
    background: transparent;
    border-radius: 0;
    border-bottom-color: transparent;
    color: var(--primary-color);
}

/* 防止展开后文字变成白色 */
.faq-list-3 .accordion-title.active * {
    color: inherit;
}

/* FAQ 内文区域 */
.faq-list-3 .accordion-inner {
    margin: 0;
    padding: 18px 0 22px;
    background: transparent;
    border: 0;
    border-bottom: 1px solid #e5e5e5;
    border-radius: 0;
    box-shadow: none;
    color: #666;
    overflow: hidden;
}

/* 内文出现时上浮淡入 */
.faq-list-3 .accordion-title.active + .accordion-inner > * {
    animation: faqContentRise 0.45s cubic-bezier(0.22, 1, 0.36, 1) both;
}

/* 内文中多个元素依次出现 */
.faq-list-3 .accordion-title.active + .accordion-inner > *:nth-child(2) {
    animation-delay: 0.05s;
}

.faq-list-3 .accordion-title.active + .accordion-inner > *:nth-child(3) {
    animation-delay: 0.1s;
}

.faq-list-3 .accordion-title.active + .accordion-inner > *:nth-child(4) {
    animation-delay: 0.15s;
}

/* 上浮动画 */
@keyframes faqContentRise {
    from {
        opacity: 0;
        transform: translateY(14px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 加减按钮 */
.faq-list-3 .accordion .toggle {
    top: 50%;
    right: 0 !important;
    left: auto;
    width: 28px;
    height: 28px;
    margin: 0;
    transform: translateY(-50%);
    opacity: 1;
}

/* 展开时不旋转 */
.faq-list-3 .active > .toggle {
    transform: translateY(-50%) rotate(0deg);
}

/* 图标基础样式 */
.faq-list-3 .toggle i {
    font-size: 1em;
}

/* 默认加号 */
.faq-list-3 .icon-angle-down:before {
    content: "\ea12" !important;
    font-family: "remixicon" !important;
    font-weight: normal;
    font-size: 14px;
}

/* 展开后的减号 */
.faq-list-3 .accordion-title.active .icon-angle-down:before {
    content: "\f1af" !important;
    font-family: "remixicon" !important;
    font-weight: normal;
    font-size: 14px;
}

/* 手机端 */
@media (max-width: 549px) {

    .faq-list-3 .accordion-title {
        padding: 15px 36px 15px 0;
        font-size: 13px;
        line-height: 1.5;
    }

    .faq-list-3 .accordion-inner {
        padding: 14px 0 18px;
        font-size: 13px;
        line-height: 1.7;
    }

    .faq-list-3 .accordion .toggle {
        top: 50%;
        right: 0 !important;
    }

    .faq-list-3 .toggle i {
        font-size: 12px;
    }

    .faq-list-3 .icon-angle-down:before,
    .faq-list-3 .accordion-title.active .icon-angle-down:before {
        font-size: 12px;
    }

    .faq-list-3 .accordion-title.active + .accordion-inner > * {
        animation-duration: 0.38s;
    }
}

/* 尊重系统减少动画设置 */
@media (prefers-reduced-motion: reduce) {

    .faq-list-3 .accordion-title.active + .accordion-inner > * {
        animation: none;
    }
}/* ==========================================================================
   成人用品项目 - FAQ 内文上浮动画
   ========================================================================== */

/* 防止动画超出内容区域 */
.faq-list-3 .accordion-inner {
    overflow: hidden;
}

/* 标题和正文初始状态 */
.faq-list-3 .accordion-inner h3,
.faq-list-3 .accordion-inner .text p,
.faq-list-3 .accordion-inner > p {
    opacity: 0;
    transform: translateY(16px);
}

/* H3 稍微放大 */
.faq-list-3 .accordion-inner h3 {
    margin: 0 0 12px;
    font-size: 1.25rem;
    line-height: 1.35;
    font-weight: 600;
}

/* FAQ 展开后，H3 先出现 */
.faq-list-3 .accordion-title.active + .accordion-inner h3 {
    animation: faqTextRise 0.5s cubic-bezier(0.22, 1, 0.36, 1) 0.05s both;
}

/* FAQ 展开后，普通段落稍后出现 */
.faq-list-3 .accordion-title.active + .accordion-inner .text p,
.faq-list-3 .accordion-title.active + .accordion-inner > p {
    animation: faqTextRise 0.55s cubic-bezier(0.22, 1, 0.36, 1) 0.12s both;
}

/* 多个文字模块依次出现 */
.faq-list-3 .accordion-title.active + .accordion-inner .text:nth-child(2) p {
    animation-delay: 0.17s;
}

.faq-list-3 .accordion-title.active + .accordion-inner .text:nth-child(3) p {
    animation-delay: 0.22s;
}

.faq-list-3 .accordion-title.active + .accordion-inner .text:nth-child(4) p {
    animation-delay: 0.27s;
}

/* 上浮淡入动画 */
@keyframes faqTextRise {
    from {
        opacity: 0;
        transform: translateY(16px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* 手机端 */
@media (max-width: 549px) {

    .faq-list-3 .accordion-inner h3 {
        margin-bottom: 10px;
        font-size: 1.1rem;
    }

    .faq-list-3 .accordion-inner h3,
    .faq-list-3 .accordion-inner .text p,
    .faq-list-3 .accordion-inner > p {
        transform: translateY(12px);
    }
}

/* 减少动画模式 */
@media (prefers-reduced-motion: reduce) {

    .faq-list-3 .accordion-inner h3,
    .faq-list-3 .accordion-inner .text p,
    .faq-list-3 .accordion-inner > p {
        opacity: 1;
        transform: none;
        animation: none !important;
    }
}