html {
    height: auto !important;
}

body {
    height: auto !important;
    background:
        linear-gradient(to bottom, rgba(0, 0, 0, 0), #fff 400px),
        linear-gradient(to right, #FFFFD0 40%, #a6c688);
}

header.header {
    background:
        linear-gradient(to bottom, rgba(0, 0, 0, 0), #fff 400px),
        linear-gradient(to right, #FFFFD0 40%, #a6c688);
}

.navbar-brand {
    display: flex;
    align-items: center;
    justify-content: center;

    .logo-name {
        font-size: 25px;
        font-weight: 700;
        color: #444 !important;
    }
}

.logo-img {
    height: 70px;
    margin-right: 8px;
}

.container,
.container-lg,
.container-md,
.container-sm,
.container-xl {
    max-width: 1240px !important;
}

#nav {
    li {
        a {
            color: #666;
            text-decoration: none !important;
            cursor: pointer !important;
            font-weight: 700;
        }

        a:hover {
            color: #3476F7 !important;
        }
    }
}

.blue {
    color: #3476F7;
}

.red {
    color: #E01D49;
}

.green {
    color: #24A351;
}
.tc{
    text-align: center;
}

.accent {
    background: linear-gradient(135deg, #0EA5E9, #22C55E);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}

.cus-header {
    margin: 0 auto;
    padding: 20px 15px;
    max-width: 1240px;
    display: flex;
    align-items: center;
    justify-content: left;

    .nav-area {
        display: none;
    }

    .right-area {
        padding-top: 0;
        margin-left: auto;
        display: flex;
        gap: 10px;

        .nor {
            display: inline-block;
            background-color: #eee;
            border-radius: 10px;
            border: 1px solid #f1f1f1;
            box-shadow: 0 0 10px rgba(37, 121, 242, 0.1);
            padding: 5px 10px;
            text-decoration: none !important;
            color: #666;
            font-weight: 700;
            font-size: 14px;
            line-height: 24px;

            &:hover {
                background-color: #fff;
                color: #3476F7;
            }
        }

        .uc {
            border-radius: 5px;
            background: #3476F7;
            box-shadow: 0 0 10px rgba(37, 121, 242, 0.1);
            color: #fff;
            padding: 5px 20px;
            font-size: 16px;
            line-height: 24px;
            text-decoration: none !important;
            font-weight: 700;

            &:hover {
                background-color: #4984F8;
                color: #fff;
            }
        }
    }

}
.cus-mobile-header{
     display:block;
    padding: 10px;
    text-align: left;
    a {
        display: inline-block;
        text-decoration: none !important;
        color: #333;
        font-weight: 700;
        font-size: 16px;
        line-height: 24px;
        padding: 0 10px;

        &:hover {
            color: #3476F7;
        }
    }
}
.cus-xl-3 {
    max-width: 100%;
}

.col-xl-9 {
    max-width: 100%;
}
.cart-sidebar{
    max-width: 100%;
}

.view-cart-items-header,#order-standard_cart .empty-cart .btn{
    background-color: #3476F7 !important;
}

.cus-sidebar {
    width: 100%;
    .title {
        text-align: center;
        background-color: #3476F7;
        border: 1px solid #f1f1f1;
        border-radius: 5px 5px 0 0;
        padding: 5px 10px 5px 20px;
        font-size: 16px;
        font-weight: 700;
        line-height: 24px;
        color: #fff;
        i{
            display: relative;
            margin-top: 5px;
        }
        .card-minimise {
            cursor: pointer;
            transition: transform .2s ease;
        }
        .card-minimise.minimised {
            transform: rotate(180deg);
        }
    }

    .menu-area {
        border-left: 1px solid #f1f1f1;
        border-right: 1px solid #f1f1f1;
        border-bottom: 1px solid #f1f1f1;
        border-radius: 0 0 5px 5px;
        padding: 5px;
        overflow: hidden;
        max-height: 1000px;
        transition: 
        max-height 0.7s ease-out 0s, /* 0.5秒完成高度收缩，无延迟 */
        padding 0.5s ease-out 0s; /* 等max-height完成后，0.3秒清除padding */
        .sub-title {
            margin: 5px 10px;
            text-align: center;
            border: 1px solid #f1f1f1;
            padding: 5px;
            font-size: 14px;
            font-weight: 700;
            line-height: 24px;
            box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
            color: #333;
        }

        .menu-item {
            text-align: center;
            padding-bottom: 10px;

            a {
                display: block;
                text-decoration: none !important;
                color: #333;
                font-weight: 400;
                font-size: 14px;
                line-height: 28px;

                &:hover {
                    color: #3476F7;
                }
            }
        }
    }
    .menu-area-hidden{
        max-height: 0;
        padding: 0;
    }
}

.bennerarea {
    padding: 10px 0 30px 0;
    width: 100%;
    text-align: left;

    .banner-text {
        padding-top: 20px;
        width: 100%;
        font-size: 42px;
        font-weight: 700;
        line-height: 60x;

        .banner-title1 {
            color: #000;
        }

        .benner-subtext {
            margin-top: 20px;
            width: 100%;
            font-size: 18px;
            line-height: 36px;
            font-weight: 400;
            color: #000;

            .subtext1 {
                font-size: 20px;
                line-height: 36px;
                color: #000;
            }

            .subtext2 {
                color: #333;
                font-size: 16px;
            }

            .benner-subtext-title {
                margin: 10px 0 5px 0;
                background: #fff;
                font-weight: 600;
                padding: 10px;
                width: 80%;
                border-radius: 25px;
                border: 1px solid #f1f1f1;
                box-shadow: 0 0 10px rgba(37, 121, 242, 0.1);
            }
        }

        .banner_btn {
            display: flex;
            justify-content: left;
            align-items: center;
            margin-top: 20px;

            .banner-order {
                display: block;
                width: 120px;
                height: 40px;
                padding: 8px 20px;
                border-radius: 5px;
                text-align: center;
                font-size: 14px;
                text-decoration: none;
                font-weight: 400;
                margin: 0 10px;
                box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
            }

            .blue {
                background: #3476F7;
                color: #fff;
                border: 1px solid #4984F8;
            }

            .blue:hover {
                background: #4984F8;
                border: 1px solid #3c79f4;
                color: #fff;
            }

            .white {
                background: #fff;
                border: 1px solid #f1f1f1;
                color: #333;
            }

            .white:hover {
                background: #fafafa;
                border: 1px solid #eee;
                color: #333;
            }
        }

    }

    .banner-image {
        display: none;
        width: 90%;
        margin: 30px;
        border-radius: 10px;
        overflow: hidden;
        mask-image: linear-gradient(to bottom,
                rgba(0, 0, 0, 0) 0%,
                /* 顶部完全透明 */
                rgba(0, 0, 0, 1) 20%,
                /* 20%处开始不透明 */
                rgba(0, 0, 0, 1) 70%,
                /* 80%处保持不透明 */
                rgba(0, 0, 0, 0) 90%,
                rgba(0, 0, 0, 0) 100%
                /* 底部完全透明 */
            );
        /* 兼容 Safari 浏览器 */
        -webkit-mask-image: linear-gradient(to bottom,
                rgba(0, 0, 0, 0) 0%,
                rgba(0, 0, 0, 1) 20%,
                rgba(0, 0, 0, 1) 70%,
                rgba(0, 0, 0, 0) 90%,
                rgba(0, 0, 0, 0) 100%);

        .banner-image1 {
            mask-image: linear-gradient(to right,
                    rgba(0, 0, 0, 0) 0%,
                    /* 顶部完全透明 */
                    rgba(0, 0, 0, 1) 20%,
                    /* 20%处开始不透明 */
                    rgba(0, 0, 0, 1) 80%,
                    /* 80%处保持不透明 */
                    rgba(0, 0, 0, 0) 100%
                    /* 底部完全透明 */
                );
            -webkit-mask-image: linear-gradient(to right,
                    rgba(0, 0, 0, 0) 0%,
                    rgba(0, 0, 0, 1) 20%,
                    rgba(0, 0, 0, 1) 80%,
                    rgba(0, 0, 0, 0) 100%);

            img {
                width: 100%;
                border-radius: 10px;
            }
        }

    }
}

.h40 {
    height: 40px;
}

.strength-name {
    font-size: 36px;
    font-weight: 700;
    text-align: center;
    margin: 40px 0;

    .strength-desc {
        margin-top: 10px;
        font-size: 18px;
        font-weight: 400;
        line-height: 24px;
        color: #999;
    }
}

.strength {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 20px;

    .strength-item {
        background: #fff;
        border-radius: 5px;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        text-align: center;
        transition: all 0.5s ease;

        .item-icon-title {
            display: flex;
            padding: 20px 20px 20px 20px;
            align-items: center;
            justify-content: left;
            font-size: 20px;
            font-weight: 700;
            color: #004B88;

            div {
                margin-left: 20px;
            }
        }

        .item-icon {
            padding: 20px 20px 20px 20px;
            width: 100%;
            height: 80px;
            color: #3476F7;
            fill: #3476F7;

            .icon {
                width: 30px;
                height: 30px;

            }
        }

        .item-header-border {
            background: linear-gradient(to right, #26B4E7, #a6c688);
            height: 3px;
            width: 100%;
            position: relative;
            top: 0;
            left: 0;
            border-radius: 5px;
        }

        .item-header {
            padding: 20px 20px 20px 20px;
            font-size: 20px;
            font-weight: 700;
            color: #004B88;
        }

        .item-title {
            padding: 0 20px 0 20px;
            text-align: left;
            font-size: 18px;
            font-weight: 700;
            margin-bottom: 20px;
            color: #333;
        }

        .item-content {
            padding: 0 20px 30px 20px;
            text-align: left;
            font-size: 16px;
            line-height: 28px;
            font-weight: 400;
            color: #333;

            .item-sub-content {
                padding-top: 10px;
                font-size: 14px;
                line-height: 24px;
                color: #999;
            }
        }
    }

    .strength-item:hover {
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    }
}

.strength-tips {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 20px;

    .kpi {
        display: flex;
        align-items: center;
        gap: 12px;
        background: #fff;
        border: 1px solid #eee;
        border-radius: 14px;
        padding: 14px 16px;
        box-shadow: 0 6px 18px rgba(30, 136, 255, .06);

        .kpi-icon {
            width: 40px;
            height: 40px;
            display: grid;
            place-items: center;
            border-radius: 10px;
            background: linear-gradient(135deg, #0ea5e9, #22c55e);
            color: #fff;
            font-size: 20px;
            font-weight: 800;
        }

        h4 {
            margin: 0 0 4px;
            font-size: 16px;
            font-weight: 800;
            color: #0b4a8a;
        }

        p {
            width: 100%;
            white-space: nowrap !important;
            overflow: hidden !important;
            text-overflow: ellipsis !important;
            margin: 0;
            color: #475569;
            font-size: 14px;
        }
    }
}

.strength2 {
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 20px;

    .strength-item {
        background: #fff;
        border-radius: 5px;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        text-align: center;
        transition: all 0.5s ease;

        .item-pic {
            padding: 20px;
        }

        .item-title {
            padding: 0 20px 0 20px;
            text-align: left;
            font-size: 18px;
            font-weight: 700;
            margin-bottom: 20px;
            color: #333;
        }

        .item-content {
            padding: 0 20px 30px 20px;
            text-align: left;
            font-size: 16px;
            line-height: 28px;
            font-weight: 400;
            color: #333;

            .item-sub-content {
                padding-top: 10px;
                font-size: 14px;
                line-height: 24px;
                color: #999;
            }
        }
    }

    .strength-item:hover {
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    }
}



.pro-title-name {
    font-size: 32px;
    font-weight: 700;
    text-align: center;
    margin-top: 30px;
}

.pro-list {
    padding: 30px 0;
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 20px;

    .pro-item {
        padding: 20px 20px;
        border-radius: 5px;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        text-align: center;
        /* background: url('../img/price-bg.svg') repeat-x 0 130px,linear-gradient(to bottom,#3476F7 0,#3476F7 150px,#fff 160px); */
        transition: all 0.5s ease;

        .title-area {
            height: 150px;

            .item-title {
                font-size: 24px;
                font-weight: 700;
                margin-bottom: 5px;
                color: #00A6E6;
            }

            .item-sub-title {
                font-size: 16px;
                margin-bottom: 10px;
                color: #666;
            }

            .item-title1 {
                font-size: 20px;
                margin-bottom: 10px;
                color: #333;
            }

            .item-price {
                font-weight: 700;
                margin-bottom: 20px;
                color: #000;
                display: flex;
                justify-content: center;

                .price-icon {
                    font-size: 16px;
                    padding: 8px 10px 0 0;
                }

                .price-number {
                    font-weight: 700;
                    font-size: 40px;
                }

                .price-period {
                    padding: 25px 0 0 5px;
                    font-size: 18px;
                    color: #64758A;
                }
            }
        }

        .item-desc {
            font-size: 16px;
            line-height: 28px;
            font-weight: 400;
            color: #333;

            .item-price {
                position: relative;
                top: -10px;
                font-weight: 700;
                margin-bottom: 0;
                color: #000;
                display: flex;
                justify-content: center;

                .price-icon {
                    font-size: 16px;
                    padding: 8px 10px 0 0;
                }

                .price-number {
                    font-weight: 700;
                    font-size: 40px;
                }

                .price-period {
                    position: relative;
                    top: -10px;
                    font-weight: 700;
                    padding: 25px 0 0 5px;
                    font-size: 18px;
                    color: #64758A;
                }
            }

            .item-desc-detail {
                display: flex;
                align-items: center;
                padding: 12px 0;
                border-bottom: 1px dashed #e5edf7;
                color: #666;

                b {
                    width: 60px;
                    font-weight: 700;
                    text-align: left;
                    color: #000;
                }

                .icon {
                    color: #0EA5E9;
                    font-weight: 900;
                    width: 30px;
                }

                .detail-icon {
                    width: 20px;
                    height: 20px;
                    border-radius: 30px;
                    margin-right: 10px;
                    background: #abc1ee;
                    display: flex;
                    align-items: center;
                    justify-content: center;

                    img {
                        width: 15px;
                        height: 15px;
                    }
                }

                .detail-content {
                    font-size: 12px;
                }
            }
        }

        .pro-item-order {
            margin: 20px 0;
            display: flex;
            justify-content: center;
            align-items: center;

            .pro-item-order-link {
                display: block;
                background: #3476F7;
                color: #fff;
                width: 100%;
                height: 40px;
                padding: 8px 20px;
                border-radius: 5px;
                text-align: center;
                font-size: 16px;
                text-decoration: none;
                font-weight: 400;
            }

            .pro-item-order-link:hover {
                background: #4984F8;
            }
        }
    }

    .pro-item:hover {
        box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
    }
}

.mailreg_area {
    height: 200px;
    overflow: hidden;

    .mailreg_title {
        color: #999;
        text-align: center;

        b {
            font-size: 24px;
            font-weight: 700;
            color: #000;
            display: block;
            margin: 60px 0 10px 0;
        }
    }
}

footer.footer {
    background-color: #fff;
    padding: 30px 0 50px 0;
    color: #333;
    border-top: 1px solid #eee;
}

.custom-footer {
    line-height: 180%;

    a {
        color: #3476F7;
        text-decoration: none;

        &:hover {
            color: #4984F8;
        }
    }

    .footer-top {
        display: grid;
        grid-gap: 20px;
        grid-template-columns: 1fr;

        .title {
            font-size: 20px;
            font-weight: 700;
            color: #004B88;
            padding-bottom: 10px;
        }

        .foot1 {
            img {
                margin-bottom: 10px;
            }
        }

        .foot4 {
            display: flex;
            flex-direction: column;
            align-items: left;
            justify-content: center;

            a {
                display: block;
                text-align: center;
                color: #fff;
                text-decoration: none;
                font-size: 12px;
                line-height: 30px;
                width: 150px;
                height: 30px;
                border-radius: 30px;
                margin: 5px;

                &:hover {
                    color: #fff;
                }
            }

            .qq {
                background-color: #0179EB;
            }

            .wx {
                background-color: #1DA74F;
            }

            .wa {
                background-color: #00A8E6;
            }
        }
    }

    .footer-bott1 {
        font-size: 12px;
        color: #666;
        padding: 20px 0;
    }

    .footer-bott2 {
        font-size: 12px;
        color: #666;
        text-align: center;
        padding: 20px 0;
    }
}

.tos-version {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    padding-bottom: 20px;
    div {
        padding: 5px 20px;
        border: 1px solid #eee;
        border-radius: 20px;
        font-size: 16px;
        font-weight: 700;
        color: #004B88;
        box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);
    }
}
.tos-name{
    padding: 30px 0 10px 0;
    font-size: 36px;
    font-weight: 700;
    line-height: 48px;
    color: #000;
    text-align: center;
}
.tos-desc{
    text-align: center;
    font-size: 18px;
    font-weight: 400;
    color: #333;
    padding: 10px 0;
}
.layout {
    display: grid;
    grid-template-columns: 260px 1fr;
    gap: 18px;
    padding: 22px 0
}

.paper {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 14px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    padding: 20px
}

.toc {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 14px;
    box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
    padding: 14px;
    position: sticky;
    top: 40px;
    height: max-content
}

.toc h3 {
    margin: 4px 0 8px;
    font-size: 16px;
    font-weight: 900;
    color: #0b4a8a
}

.toc a {
    display: block;
    color: #0f172a;
    padding: 6px 8px;
    border-radius: 8px
}

.toc a:hover {
    background: #f1f5ff
}

h2 {
    font-size: clamp(22px, 3.4vw, 30px);
    line-height: 1.2;
    margin: 1.2em 0 .6em;
    text-align: center;
    font-weight: 900
}

h3 {
    font-size: clamp(18px, 2.6vw, 22px);
    line-height: 1.3;
    margin: 1em 0 .5em;
    font-weight: 800
}

p,
li {
    font-size: clamp(16px, 1.9vw, 19px);
    line-height: 1.8
}

ul {
    margin: .4em 0 .9em;
    padding-left: 1.2em
}

/* 章节内提示条 */
.ack-bar {
    margin: 28px auto 0;
    padding: 16px 18px;
    max-width: 100%;
    border-radius: 14px;
    border: 1px solid #f1c232;
    background: linear-gradient(135deg, #fff8e6, #fff3c4);
    color: #92400e;
    font-weight: 800;
    text-align: center;
    box-shadow: 0 10px 24px rgba(245, 158, 11, .18)
}

.ack-strong {
    display: block;
    margin: 22px auto 0;
    padding: 16px 18px;
    max-width: 1100px;
    border-radius: 12px;
    background: linear-gradient(135deg, #fff8e6, #fff3c4);
    color: #b45309;
    font-weight: 900;
    font-size: clamp(18px, 2.2vw, 22px);
    text-align: center;
    box-shadow: 0 6px 18px rgba(245, 158, 11, .18)
}

.faq-area{
    display: grid;
    grid-template-columns: 1fr;
    grid-gap: 50px;
    padding: 10px 0;
    .faq-item{
        .faq-title{
            font-size: 18px;
            line-height: 32px;
            font-weight: 700;
            border-bottom: 1px solid #ccc;
            color:#000;

        }
        .faq-content{
            padding: 10px 0;
            font-size: 14px;
            line-height: 24px;
            color: #666;
            font-weight: 400;
            .icon{
                display: inline-block;
                color: #0EA5E9;
                font-weight: 900;
                padding: 0 10px;
            }
        }
    }
}
.cart-body{
    .sidebar-collapsed{
        display: none;
    }
}
@media (min-width: 800px) {
    .cus-header {
        .nav-area {
            display:block;
            padding-top: 0;
            text-align: left;
            a {
                display: inline-block;
                text-decoration: none !important;
                color: #333;
                font-weight: 700;
                font-size: 16px;
                line-height: 24px;
                padding: 0 10px;

                &:hover {
                    color: #3476F7;
                }
            }
        }
    }
    .cus-mobile-header{
        display: none;
    }
    .strength,
    .strength-tips {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: 20px;
    }

    .strength2 {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        grid-gap: 20px;
    }

    .pro-list {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: 20px;
    }
    .faq-area{
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: 50px;
        padding: 20px 0;
    }
    .col-xl-9 {
        flex: 0 0 80%;
        max-width: 80%;
    }
    .custom-footer {
         .footer-top {
            display: grid;
            grid-gap: 20px;
            grid-template-columns: 1fr 1fr;
        }
    }
    .cus-xl-3 {
        max-width: 20% !important;
    }
    .cart-sidebar{
        max-width: 20% !important;
    }
                
}

@media (min-width: 1000px) {
    .bennerarea {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-gap: 10px;

        .banner-image {
            display: block;
        }
    }

    .strength,
    .strength-tips {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        grid-gap: 20px;
    }

    .pro-list {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr 1fr;
        grid-gap: 20px;
    }
     .custom-footer {
        .footer-top {
            display: grid;
            grid-gap: 20px;
            grid-template-columns: 1fr 2fr 1fr 1fr;
            .foot4 {
                display: flex;
                flex-direction: column;
                align-items: center;
                justify-content: center;
            }
        }
    }
}

.foot-tips {
    font-size: 14px;
    line-height: 22px;
    font-weight: 400;
    color: #ccc;
    margin: 0 100px 20px 0;
}

.copyright {
    font-size: 14px;
    text-align: center;
}


.card-header {
    padding: 8px 10px;
    background: #3476F7;
    color: #fff;
    font-size: 16px;
    font-weight: 700;
}

.client-home-cards .card-header{
    background-color: #eee;
    color: #000;
    font-size: 16px;
}

.product-info {
    font-size: 14px !important;
}

.summary-container {
    font-size: 12px !important;
}

.order-summary {
    background: #3476F7 !important;
}

.btn-primary {
    color: #fff;
    background-color: #3476F7;
    border-color: #4984F8;
}

.btn-primary:hover {
    background: #4984F8;
    border: 1px solid #3c79f4;
    color: #fff;
}

#btnCompleteProductConfig {
    width: 270px !important;
}

.sub-heading .primary-bg-color {
    color: #3476F7 !important;
}