﻿@charset "utf-8";

:root {
    --main-color: #00C1DE;
    --dark-color: #333;
    --light-color:#3E2A2F;
    --white-color: #FFFFFF;
    --red-color: red;
    --transition-custom2: all 0.8s ease-in-out;
}

img {
    max-width: 100%;
}

@keyframes jumpDown {
    0% {
        transform: translateY(0)
    }

    100% {
        transform: translateY(5px)
    }
}

/* footer */
.rove_up {
    position: fixed;
    right: 10px;
    bottom: 10%;
    z-index: 99;
}

.rove_up>ul {
    display: flex;
    flex-flow: column;
    align-items: flex-end;
}

.rove_up>ul>li {
    position: relative;
    margin-bottom: 8px;
    width: 56px;
    overflow: hidden;
}

.right_rove ul li:last-child {
    margin-bottom: 0;
}

.rove_up>ul>li>a {
    position: relative;
    display: flex;
    align-items: center;
    padding-left: 16px;
    padding-right: 16px;
    height: 56px;
    z-index: 1;
}

.rove_up>ul>li>a::before {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 56px;
    height: 100%;
    border-radius: 56px;
    background-color: var(--main-color);
    transition: width .3s cubic-bezier(0.99, 0.01, 0.16, 0.99);
    z-index: -1;
}

.rove_up>ul>li>a img {
    width: 24px;
}

.rove_up>ul>li>a span {
    color: #FFF;
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    opacity: 0;
    overflow: hidden;
}

.rove_up>ul>li.img .hide_tel {
    position: absolute;
    right: calc(100% + 5px);
    top: 50%;
    transform: translateY(-50%);
    width: 100px;
    padding: 6px;
    text-align: center;
    border-radius: 12px;
    background: var(--main-color);
    opacity: 0;
    justify-content: center;
    -webkit-transition: all 0.4s;
    -moz-transition: all 0.4s;
    -ms-transition: all 0.4s;
    -o-transition: all 0.4s;
    transition: all 0.4s;
    z-index: -1;
    box-shadow: 0 4px 10px 0 rgb(0 0 0 / 10%);
}

.rove_up>ul>li.img .hide_tel:before {
    border: solid transparent;
    content: ' ';
    height: 0;
    position: absolute;
    width: 0;
    border-width: 5px;
    border-left-color: var(--main-color);
    right: -10px;
    top: 50%;
    transform: translateY(-50%);
}

.rove_up>ul>li.img .hide_tel>a {
    padding: 0;
}

.rove_up>ul>li.img:hover .hide_tel {
    opacity: 1;
    z-index: 8;
}

.rove_up>ul>li:hover {
    overflow: visible;
    width: auto;
}

.rove_up>ul>li.hover>a:hover::before {
    width: 100%;
    background-color: var(--main-color);
}

.rove_up>ul>li.img>a:hover::before {
    background-color: var(--main-color);
}

.rove_up>ul>li.hover>a:hover>span {
    opacity: 1;
    margin-right: 8px;
    transition: opacity .3s ease;
    transition-delay: .3s;
}

.back_top {
    display: none;
}

.rove_up>ul>li.back_top>a::before {
    width: 54px;
    height: 54px;
    border-radius: 60px;
    border: 1px solid rgba(238, 238, 238, 0.50);
    background: #FFF;
    backdrop-filter: blur(4px);
}

.back_top a i {
    width: 24px;
    height: 24px;
    background-image: url(../images/black_top.svg);
}

.rove_up>ul>li.back_top>a:hover::before {
    background-color: var(--main-color);
    border-color: var(--main-color);
}

.back_top a:hover i {
    background-image: url(../images/black_topb.svg);
}

/* ==================== 关于守护天使板块 ==================== */
.about-guardian {
    position: relative;
    padding-top: 100px;
    padding-bottom: 175px;
    width: 100%;
    overflow: hidden;
}

.asi_active {
    align-items: flex-end;
}

/* 底部灰色背景条 */
.about-bottom-bg {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 304px;
    background: #F7F7F7;
    z-index: 0;
}

.about-gd-container {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
}

/* --- 左：多图（全部在HTML中，通过opacity切换） --- */
.about-left-img {
    flex-shrink: 0;
    width: 500px;
    margin-right: 140px;
    padding-top: 0;
}

.about-img-frame {
    position: relative;
    width: 100%;
    height: 685px;
    filter: drop-shadow(10px 10px 20px rgba(0, 0, 0, 0.20));

    overflow: hidden;
}

.about-img-frame .image-swiper {
    width: 100%;
    height: 100%;
    overflow: hidden;
}

.about-img-frame .image-swiper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 30px;
    background: #D9D9D9;

    overflow: hidden;
}


/* --- 右：内容区 --- */
.about-right-wrap {
    flex: 1;
    max-width: 620px;
    padding-top: 22px;
}

/* 标题装饰 */
.index_title {
    display: inline-block;
    text-align: center;
}

.about-section-title {
    display: flex;
    align-items: center;
}

.about-title-decor {
    width: auto;
    height: auto;
    flex-shrink: 0;
}

.about-title-text {
    display: inline-block;
    padding: 0 5px;
    color: #222;
    text-align: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

.about-title-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: 8px;
    padding-right: 8px;
    margin-top: 3px;
}

.about-title-line .about-tl {
    width: calc(50% - 14px);
    height: 1px;
    background: linear-gradient(270deg, rgba(0, 193, 222, 0.00) 0%, #00C1DE 100%);
    transform: rotate(180deg);
}

.about-title-line .about-tr {
    width: calc(50% - 14px);
    height: 1px;
    background: linear-gradient(270deg, rgba(0, 193, 222, 0.00) 0%, #00C1DE 100%);
}

.about-title-line img {
    width: 14px;
}

/* --- 中间切换列表 --- */
.about-slide-wrap {
    position: relative;
    margin-top: 30px;
    height: 385px;
    overflow: hidden;
}

.text-swiper {
    height: 100%;
}

.text-slide {
    height: 110px !important;
    display: flex;
    flex-direction: column;
    justify-content: center;
    opacity: 1;
    transition: 0.4s;
}

.main-title {
    display: flex;
    align-items: flex-end;
}

.text-slide.swiper-slide-active {
    opacity: 1;
    height: 165px !important;
}

.text-slide.swiper-slide-active .main-title {
    align-items: flex-end;
}

.extra-desc {
    color: #6b7280;
    display: none;
}

.text-slide.swiper-slide-active .extra-desc {
    display: block;
}


.about-slide-track {
    position: relative;
    width: 100%;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.about-slide-item {
    position: relative;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.about-slide-item .asi-collapsed {
    display: flex;
    align-items: baseline;
    cursor: default;
}

.about-slide-item .asi-expanded {
    display: none;
}

.asi-e-num {
    font-size: 40px;
    color: #E9E7E7;
    font-family: 'Montserrat';
    font-weight: 700;

}

.asi-e-unit {
    margin-left: 10px;
    font-size: 32px;

    font-style: normal;
    font-weight: 400;
    color: #E9E7E7;
}

.asi-c-num {
    color: #E9E7E7;
    font-family: 'Montserrat';
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    line-height: 0.8;
}

.asi-c-unit {
    color: #E9E7E7;

    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
}

/* --- 展开态（当前项=active） --- */

.swiper-slide-active .asi-e-num {
    line-height: 0.8;
    color: #000;
    font-size: 96px;
}
.swiper-slide-active .asi-e-num sup {
    line-height: 1;
}
.swiper-slide-active .asi-e-unit {
    color: #000;
}


.asi-e-subtitle {
    color: #222;

    font-style: normal;
    font-weight: 400;
    font-family: "OPPOSans B";
    line-height: 30px;
    margin-top: 16px;
    margin-bottom: 10px;
}

.asi-e-desc {
    color: #767676;

    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px;
}

.about-slide-item.active {
    margin-top: 50px;
    margin-bottom: 50px;
}

/* --- 分页切换 --- */
.about-pagination {
    margin-top: 130px;
}

.custom-navigation {
    display: flex;
    align-items: center;
}

.about-prev {
    margin-right: 20px;
}

.about-next {
    margin-left: 20px;
}

.about-prev,
.about-next {
    background: transparent;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: opacity 0.3s;
    user-select: none;
}

.about-prev svg path,
.about-next svg path,
.about-prev svg circle,
.about-next svg circle {
    transition: all .3s;
}

.about-prev:hover svg circle,
.about-next:hover svg circle,
.about-prev:hover svg path,
.about-next:hover svg path {
    stroke: var(--main-color);
}

.about-page-num {
    display: flex;
    align-items: center;
    color: #999;
    font-family: 'Montserrat';
    font-size: 18px;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
}

.about-indicator span {
    font-family: 'Montserrat';
    font-size: 16px;
}

.about-indicator .swiper-pagination-current,
.apn-current {
    text-align: center;
    color: #222;
    min-width: 14px;
}

.about-indicator {
    display: flex;
}

.about-indicator .swiper-pagination-current {
    min-width: 20px;
}

.about-indicator .swiper-pagination-total {
    margin-left: 2px;
    color: #999;
}

/* --- 右侧固定宠物图 --- */
.about-right-pets {
    position: absolute;
    right: -20px;
    bottom: 0;
    width: 382px;
}

.about-pet-standing {
    width: 100%;
    max-height: 330px;
    object-fit: cover;
}

.about_mobile {
    display: none;
    padding: 40px 20px 30px 20px;
}

@media (max-width: 1440px) {
    .about-left-img {
        margin-right: 100px;
    }

    .swiper-slide-active .asi-e-num {
        font-size: 80px;
    }

    .asi-e-num {
        font-size: 38px;
    }

    .asi-e-unit {
        font-size: 30px;
    }
}

@media (max-width: 1365px) {
    .swiper-slide-active .asi-e-num {
        font-size: 70px;
    }

    .asi-e-num {
        font-size: 34px;
    }

    .asi-e-unit {
        font-size: 28px;
    }

    .about-right-pets {
        right: -40px;
    }
}

@media (max-width: 1280px) {
    .about-left-img {
        margin-right: 80px;
        width: 480px;
    }
}

@media (max-width: 1279px) {
    .about-left-img {
        margin-right: 60px;
        width: 400px;
    }
}

@media (max-width: 1200px) {
    .about-img-frame {
        height: 600px;
    }

    .about-pagination {
        margin-top: 85px;
    }

    .about-slide-wrap {
        height: 350px;
    }

    .text-slide {
        height: 100px !important;
    }

    .text-slide.swiper-slide-active {
        height: 150px !important;
    }

    .about-right-pets {
        width: 260px;
    }
}

@media (max-width: 991px) {

    .about-guardian .my-container .ipad_show {
        display: block !important;
        text-align: center;
    }

    .about-left-img {
        width: 350px;
    }

    .about-img-frame {
        height: 550px;
    }

    .swiper-slide-active .asi-e-num {
        font-size: 54px;
    }

    .asi-e-unit {
        font-size: 26px;
    }

    .asi-e-desc {
        font-size: 16px;
        line-height: 25px;
    }

    .asi-e-subtitle {
        line-height: 1.2;
        margin-top: 10px;
        margin-bottom: 6px;
    }

    .about-right-pets {
        width: 200px;
    }

    .about-slide-wrap {
        height: 330px;
    }

    .text-slide {
        height: 95px !important;
    }

    .text-slide.swiper-slide-active {
        height: 135px !important;
    }

    .about-prev {
        margin-right: 10px;
    }

    .about-next {
        margin-left: 10px;
    }

}

@media (max-width: 767px) {
    .about_mobile {
        position: absolute;
        left: 0;
        bottom: 0;
        display: block !important;
        width: 100%;
        z-index: 1;
    }

    .about_mobile::before {
        content: "";
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        opacity: 0.8;
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 0%, #000 100%);
        z-index: -1;
    }

    .extra-desc {
        display: block;
    }

    .text-slide.swiper-slide-active {
        height: 100% !important;
    }

    .text-slide {
        height: 100% !important;
    }

    .about-left-img {
        margin-right: 0;
        width: 100%;
    }

    .about-gd-container {
        flex-flow: column;
        padding-bottom: 90px;
        padding-top: 35px;
    }

    .about-guardian {
        padding-top: 50px;
        padding-bottom: 60px;
    }

    .about-pagination {
        margin-top: 10px;
    }

    .about-right-wrap {
        width: 160px;
    }

    .about-img-frame {
        height: auto;
        border-radius: 20px;
    }

    .swiper-slide-active .asi-e-num {
        font-size: 46px;
    }

    .swiper-slide-active .asi-e-num,
    .asi-e-num,
    .asi-e-unit,
    .swiper-slide-active .asi-e-unit,
    .asi-e-subtitle {
        color: var(--white-color);
    }

    .asi-e-desc {
        color: var(--white-color);
    }

    .swiper-slide-active .asi-e-num {
        font-size: 40px;
    }

    .asi-e-unit {
        font-size: 22px;
        margin-left: 6px;
    }
}

/* ==================== 品牌实力板块 ==================== */
.brand-strength {
    position: relative;
    width: 100%;
    padding: 100px 0 235px 0;
    overflow: hidden;
}

.brand-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;

    z-index: 0;
}

.brand-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.brand-strength .my-container {
    position: relative;
    z-index: 2;
}

/* --- 标题 --- */
.brand-title-wrap {
    text-align: center;
    margin-bottom: 72px;
}

.brand_title {
    display: inline-block;
    text-align: center;
}

.brand-subtitle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0;
    margin-bottom: 10px;
}

.brand-sub-decor {
    width: auto;
    height: auto;
}

.brand-sub-text {
    display: inline-block;
    padding: 0 8px;
    color: #000;
    text-align: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

.brand-decor-line {
    display: flex;
    align-items: center;
    justify-content: center;
    padding-left: 5px;
    padding-right: 5px;
}

.brand-decor-line .decor-line {
    width: calc(50% - 14px);
    height: 1px;
    background: linear-gradient(90deg, rgba(0, 193, 222, 0) 0%, rgba(0, 193, 222, 1) 50%, rgba(0, 193, 222, 0) 100%);
}

.brand-decor-line img {
    margin-left: 7px;
    margin-right: 7px;
    width: 14px;
    height: auto;
}

.brand-title-wrap .brand-title {
    padding-top: 20px;
}

.brand-title {
font-family: "OPPOSans H";
    color: #222;
    font-weight: 400;
    line-height: 1.3;
    max-width: 916px;
    margin: 0 auto;
}

/* --- 特征卡片 --- */
.brand-cards {
    display: flex;
    justify-content: space-between;
    margin-bottom: 100px;
}

.brand-cards ul {
    display: flex;
    flex-wrap: wrap;
    margin-left: -30px;
    margin-right: -30px;
}

.brand-card {
    padding-left: 30px;
    padding-right: 30px;
    width: 25%;
    text-align: center;
}

/* 图标容器 */
.brand-card-icon {
    width: 70px;
    height: 70px;
    margin: 0 auto 30px;
    overflow: hidden;
}

.brand-icon-pieces {
    position: relative;

    transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1);
}

.brand-icon-pieces img {
    width: 100%;
    height: auto;
}

@media screen and (min-width:768px) {

    .brand-card:hover .brand-icon-pieces {
        transform: rotateY(360deg);
    }

}

/* 卡片标题 */
.brand-card-title {
font-family: "OPPOSans B";
    color: #222;
    font-weight: 400;
    line-height: 1.2;
    margin-top: 30px;
}

.brand-card-desc {
    max-width: 300px;
    margin-top: 10px;
    color: #666;
    text-align: center;

    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px;
    min-height: 104px;
}

/* --- 按钮 --- */
.brand-btn-wrap {
    text-align: center;
}

.brand-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 15px 40px 15px 41px;
    background: var(--main-color);
    border: 1px solid var(--main-color);
    border-radius: 30px;
    color: var(--white-color);
    font-weight: 400;
    font-size: 16px;
    transition: all 0.3s ease;
    cursor: pointer;
}

.brand-btn:hover {
    background: var(--white-color);
    color: var(--main-color);
    /* transform: translateY(-2px); */
}

.brand-btn svg {
    margin-left: 10px;
    transition: transform 0.3s;
}

.brand-btn:hover svg {
    /* transform: translateX(4px); */
}

.brand-btn:hover svg path {
    stroke: var(--main-color);
}

@media (max-width: 1580px) {
    .brand-bg {
        display: flex;
        align-items: flex-end;
    }

    .brand-bg img {
        height: 70%;
    }
}

@media (max-width: 1279px) {
    .brand-bg img {
        height: 62%;
    }
}

@media (max-width: 991px) {
    .brand-strength {
        padding: 100px 0 62px 0;
    }

    .brand-cards {
        margin-bottom: 50px;
    }

    .brand-card {
        padding-left: 30px;
        padding-right: 30px;
        width: 50%;
    }

    .brand-bg img {
        height: 48%;
    }
}

@media (max-width: 768px) {
    .brand-bg img {
        height: 44%;
    }
}

@media (max-width: 767px) {
    .brand-strength {
        padding: 50px 0 50px 0;
    }

    .brand-strength {
        padding: 50px 0 50px;
    }

    .brand-title-wrap {
        margin-bottom: 36px;
    }

    .brand-title {
        max-width: 300px;
    }

    .brand-card-icon {
        width: 60px;
        height: 60px;
        margin: 0 auto;
        margin-bottom: 20px;
    }

    .brand-card-title {
        margin-bottom: 8px;
    }

    .brand-card-desc {
        max-width: 280px;
        margin: 0 auto;
        min-height: auto;
    }

    .brand-card {
        padding-left: 30px;
        padding-right: 30px;
        padding-bottom: 30px;
        width: 100%;
    }

    .brand-bg img {
        height: 100%;
    }
}

/* 产品中心 */
.product-title-wrap {
    padding-bottom: 40px;
    text-align: center;
}

.product-title-wrap .brand-title {
    margin-top: 10px;
}

.product_des {
    margin-top: 10px;
    color: #222;
    text-align: center;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

/* ==================== 产品中心 - 分类标签导航 ==================== */
.product-center {
    position: relative;
    padding-top: 100px;
    padding-bottom: 100px;
    overflow: hidden;
}

.product-cat-wrap {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 64px;
}

.product-cat-scroll {
    overflow: hidden;
    max-width: 100%;
    /* 不使用 CSS scroll-behavior，由 JS animateCatScroll 控制 */
}

.product-cat-list {
    display: flex;
    white-space: nowrap;
    transition: transform 0.4s ease;
}

.cat-item {
    margin-left: 10px;
    margin-right: 10px;
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 25px;
    border-radius: 50px;
    border: 1px solid var(--main-color);
    color: var(--main-color);
    font-size: 18px;
    font-weight: 400;
    cursor: pointer;
    user-select: none;
    transition: background-color 0.3s ease;
}

.cat-item.active {
    background-color: var(--main-color);
    color: var(--white-color);
}

.cat-item:hover:not(.active) {
    background-color: var(--main-color);
    color: var(--white-color);
}

.cat-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--white-color);
    border-radius: 50%;
    cursor: pointer;
    opacity: 1;
    transition: opacity 0.3s, visibility 0.3s;
}

.cat-arrow-left {
    left: -48px;
}

.cat-arrow-right {
    right: -48px;
}

.cat-arrow.hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.cat-arrow:hover svg circle {
    stroke: var(--main-color);
}

.cat-arrow:hover svg path {
    stroke: var(--main-color);
}

/* ==================== 产品卡片 ==================== */
.product-list-wrap {
    position: relative;
}

.product-list-scroll {
    overflow: visible;
}

.product-list-scroll .swiper-wrapper {
    display: flex;
    align-items: stretch;
    justify-content: flex-start;
}

.product-list-scroll .swiper-slide {
    width: auto;
    height: auto;
}

/* 拖拽提示（桌面端，鼠标跟随） */
.product-swipe-hint {
    position: absolute;
    pointer-events: none;
    z-index: 5;
    opacity: 0;
    transition: opacity 0.25s ease;
}

.product-swipe-hint img {
    display: block;
    width: 68px;
    height: 68px;
}

.product-swipe-hint.visible {
    opacity: 1;
}

.product-card {
    display: block;
    width: 100%;
}

.product-card-bg {
    position: relative;
    width: 100%;
    height: 472px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    align-items: center;
    z-index: 1;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.product-card-bg::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: calc(100% - 60px);
    border-radius: 30px;
    background: #F9F9F9;
    z-index: -1;
}

.product-card-img {
    padding-top: 10px;
    padding-left: 20px;
    padding-right: 20px;
}

.product-card-img>div {
    position: relative;
    max-width: 260px;
    transition: .3s;
}

.product-card-img img:nth-child(1) {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-card-shadow {
    position: absolute;
    left: 50%;
    top: 275px;
    transform: translateX(-50%) rotate(4deg);
    width: 167px;
    height: 5px;
    background: #000;
    border-radius: 9999px;
    filter: blur(5px);
    opacity: 0.1;
}

.product-card-info {
    position: absolute;
    bottom: 50px;
    left: 0;
    width: 100%;
    padding: 0 20px;
    text-align: center;
    overflow: hidden;
    transition: bottom .3s;
}

.product-card-name {
    color: var(--dark-color);
    text-align: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

.product-card-sub {
    color: #666;
    font-size: 16px;
    font-weight: 400;
    margin-top: 9px;
}

.product-card-more {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -70px;
    display: flex;
    padding: 16px 40px 16px 41px;
    justify-content: center;
    align-items: center;
    color: var(--main-color);
    font-size: 16px;
    font-weight: 400;
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.3s ease;
}


.product-card-more svg {
    margin-left: 10px;
    width: 18px;
    height: 18px;
}


/* 查看全部按钮 */
.product-view-all {
    text-align: center;
    padding-top: 60px;
}

@media (min-width: 768px) {
    .product-card:hover .product-card-info {
        bottom: 90px;
        overflow: visible;
    }

    .product-card:hover .product-card-more {
        opacity: 1;
        bottom: -60px;
    }

    .product-card:hover .product-card-img>div {
        margin-top: -20px;
    }

}

@media (max-width: 1440px) {
    .cat-item {
        margin-left: 5px;
        margin-right: 5px;
        padding: 16px 20px;
    }
}

@media (max-width:1439px) {
    .product-card-bg {
        height: 434px;
    }

    .product-card-img {
        padding-left: 10px;
        padding-right: 10px;
    }

}

@media (max-width:1279px) {
    .product-card-bg {
        height: 460px;
    }

}

@media (max-width: 991px) {

    .product-cat-scroll {
        width: calc(100% - 20px);
    }

    .cat-arrow-left {
        left: -20px;
    }

    .cat-arrow-right {
        right: -20px;
    }

    .product-card-bg {
        height: 450px;
    }

    .cat-item {
        padding: 12px 16px;
        font-size: 18px;
    }

}

@media (max-width: 768px) {
    .product-card-bg {
        height: 400px;
    }

}

@media (max-width: 767px) {
    .product-center {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .product-cat-wrap {
        justify-content: flex-start;
        margin-right: -16px;
        margin-bottom: 30px;
    }

    .product-cat-list {
        gap: 10px;
    }

    .cat-item {
        margin-left: 0;
        margin-right: 0;
        font-size: 16px;
    }

    .product-cat-scroll {
        max-width: inherit;
        overflow: visible;
        overflow-x: auto;
        scrollbar-width: none;
        width: inherit;
    }

    .product-cat-scroll::-webkit-scrollbar {
        display: none;
    }

    .product-swipe-hint,
    .cat-arrow {
        display: none !important;
    }

    .product-list-scroll {
        overflow: hidden;
    }

    .product-list-scroll .swiper-slide {
        width: 100%;
    }

    .product-card {
        width: 100%;
    }

    .product-card-bg {
        width: 100%;
        height: auto;
        min-height: 460px;
        border-radius: 24px;
        margin: 0 auto;
    }

    .product-card-info {
        position: relative;
        padding: 16px 20px;
        bottom: inherit;
    }

    .product-card-more {
        position: relative;
        opacity: 1;
        margin-top: 10px;
        bottom: inherit;
    }

    .product-view-all {
        padding-top: 40px;
    }

    .product_des {
        font-size: 16px;
        color: #666;
    }
}

/* ==================== 移动端产品圆点 ==================== */
.product-dots {
    padding-top: 24px;
    text-align: center;
}

.product-dots .dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-left: 4px;
    margin-right: 4px;
    border-radius: 50%;
    background: #D9D9D9;
    cursor: pointer;
    transition: background 0.3s, transform 0.3s;
}

.product-dots .dot.active {
    background: var(--main-color);
    transform: scale(1.1);
}

/* ==================== 守护天使板块 ==================== */
.guardian-angel {
    position: relative;
    padding-top: 117px;
    padding-bottom: 208px;
    width: 100%;
    overflow: hidden;
}

.angel-bg {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: 0;
}

.angel-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.angel-bg::after {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    /* background: rgba(0, 0, 0, 0.06); */

}

.guardian-angel .my-container {
    position: relative;
    z-index: 1;
    height: 100%;
    display: flex;
    align-items: center;
}

/* 毛玻璃卡片 */
.angel-card {
    padding: 50px 30px;
    max-width: 410px;
    border-radius: 30px;
    border: 1px solid #FFF;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.72) 0%, rgba(255, 255, 255, 0.90) 39.86%);
    backdrop-filter: blur(5px);
}

.angel-card-inner {
    margin-bottom: 30px;
}

/* Logo */
.angel-logo {
    margin-bottom: 16px;
}

.angel-logo-img {
    width: 79px;
    height: auto;
    display: block;
}

/* Slogan */
.angel-slogan {
    color: #222;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

/* 描述 */
.angel-desc {
    margin-top: 16px;
    color: #666;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px;
}

/* 按钮 */
.angel-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 16px 40px 16px 41px;


    border-radius: 30px;
    border: 1px solid var(--main-color);
    color: var(--main-color);
    font-size: 16px;
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
}

.angel-btn:hover {
    background: var(--main-color);
    color: #fff;
}

.angel-btn .img {
    margin-left: 10px;
    width: 18px;
    height: auto;
    transition: transform 0.3s;
}

.angel-btn:hover .img {
    /* transform: translateX(4px); */
}

.angel-btn:hover .img path {
    stroke: var(--white-color)
}

@media (max-width: 991px) {
    .angel-card {
        width: 340px;
        padding: 36px 24px 24px;
        border-radius: 24px;
    }

    .angel-slogan {
        font-size: 22px;
    }

    .angel-desc {
        font-size: 15px;
    }
}

@media (max-width: 767px) {
    .guardian-angel {
        padding-top: 80px;
        padding-bottom: 300px;
    }

    .angel-card {
        width: calc(100% - 32px);
        padding: 30px 20px 20px;
        border-radius: 20px;
        margin: 0 auto;
    }

    .angel-card-inner {
        margin-bottom: 20px;
    }

    .angel-slogan {
        margin-bottom: 10px;
    }

    .angel-desc {
        line-height: 1.6;
    }


}


/* ==================== Footer ==================== */
.site-footer {
    padding: 80px 0 20px 0px;
    position: relative;
    margin-top: -80px;
    background: var(--white-color);
    border-radius: 80px 80px 0 0;
    box-shadow: 0 -4px 20px 0 rgba(0, 0, 0, 0.05);
    z-index: 10;
}

.footer-main {
    display: flex;
    justify-content: space-between;
}

/* --- 左侧 --- */
.footer-left {
    flex: 0 0 auto;
    max-width: 380px;
}

/* Logo */
.footer-logo {
    margin-bottom: 46px;
}

.footer-logo .logo-pieces {
    max-width: 133px;
}


/* 客服电话 */
.footer-phone {
    margin-bottom: 16px;
}

.footer-phone-label {
    font-size: 16px;
    color: #222;
    font-weight: 400;
    line-height: 1.5;
}

.footer-phone-number {
    margin-top: 6px;
    display: inline-block;
    font-size: 36px;
    font-family: 'Montserrat';
    font-weight: 700;
    color: var(--main-color);
    line-height: 1.2;
    text-decoration: none;
    transition: color 0.3s;
}

.footer-phone-number:hover {
    color: var(--main-color);
}

/* 公司信息 */
.footer-company-info {
    margin-top: 16px;
}

.footer-company-info p {
    font-size: 18px;
    color: #000;
    font-weight: 400;
    line-height: 1.6;
}

.footer-address {
    margin-top: 10px;
}

/* 社交图标 */
.footer-social {
    padding-top: 90px;
    display: flex;
    flex-wrap: wrap;
}

.social-item {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 6px;
    width: 50px;
    height: 50px;
    background: var(--main-color);
    border-radius: 6px;
    overflow: visible;
    transition: background 0.3s, transform 0.3s;
    cursor: pointer;
}

.social-item:hover {
    transform: translateY(-2px);
}

.social-item img {
    width: 36px;
    height: 36px;
    object-fit: contain;
}

/* QR 弹窗 */
.social-item .qr-popup {
    position: absolute;
    bottom: calc(100% + 12px);
    left: 50%;
    transform: translateX(-50%);
    width: 130px;
    padding: 8px;
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
    z-index: 20;
    pointer-events: none;
}

.social-item .qr-popup::after {
    content: '';
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    border: 6px solid transparent;
    border-top-color: #fff;
}

.social-item .qr-popup img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 6px;
}

.qr-placeholder {
    width: 100%;
    aspect-ratio: 1;
    background: #f5f5f5;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #999;
    font-size: 14px;
    text-align: center;
    line-height: 1.4;
}

/* PC hover 显示 */
@media (hover: hover) {
    .social-item:hover .qr-popup {
        opacity: 1;
        visibility: visible;
    }
}

/* 移动端 touch 激活 */
.social-item.qr-active .qr-popup {
    opacity: 1;
    visibility: visible;
}

/* --- 右侧导航 --- */
.footer-right {
    display: flex;
    flex-wrap: wrap;
}

.footer-col {
    margin-left: 185px;
    min-width: 112px;
}

.footer-col h4 {
    margin-bottom: 40px;
}

.footer-col h4:last-child {
    margin-bottom: 0;
}

.footer-col h4 a {
    color: #222;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    transition: color 0.3s;
}

.footer-col h4 a:hover {
    color: var(--main-color);
}

.footer-col ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
}

.footer-col ul li {
    padding-bottom: 20px;
}

.footer-col ul li:last-child {
    padding-bottom: 0;
}

.footer-col ul li a {
    position: relative;
    font-size: 16px;
    color: #666;
    transition: color 0.3s;
}

.footer-col ul li a::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background-color: var(--main-color);
    transform-origin: bottom right;
    transform: scaleX(0);
    transition: transform 0.5s ease;
}

.footer-col ul li a:hover::before {
    transform-origin: bottom left;
    transform: scaleX(1);
}

.footer-col ul li a:hover {
    color: var(--main-color);
}

/* --- 底部版权 --- */
.footer-bottom {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    margin-top: 84px;
}

.footer-copyright,
.footer-copyright a {
    font-size: 16px;
    color: #666;
    font-weight: 400;

}

.footer-copyright a:hover,
.footer-support a:hover {
    color: var(--main-color);
}

.footer-support,
.footer-support a {
    font-size: 16px;
    color: #666;
    font-weight: 400;

}

@media (max-width: 1439px) {
    .footer-col {
        margin-left: 120px;
    }
}

@media (max-width: 1365px) {
    .footer-col {
        margin-left: 100px;
    }
}

@media (max-width: 1279px) {
    .footer-col {
        margin-left: 60px;
    }

    .footer-bottom {
        margin-top: 60px;
    }
}

@media (max-width: 991px) {
    .rove_up {
        right: 2px;
        bottom: 10px;
    }

    .footer-logo {
        margin-bottom: 30px;
    }

    .footer-social {
        padding-top: 60px;
    }

    .footer-company-info p {
        font-size: 16px;
    }

    .footer-col {
        margin-left: 30px;
        min-width: inherit;
    }

    .footer-bottom {
        margin-top: 30px;
    }
    .footer-phone-number {
        font-size: 32px;
    }
}

@media (max-width: 767px) {
    .site-footer {
        border-radius: 40px 40px 0 0;
        padding: 40px 0 20px 0px;
        margin-top: -40px;
    }

    .footer-logo .logo-pieces {
        max-width: 100px;
    }

    .footer-main {
        flex-direction: column;
    }

    .footer-left {
        max-width: 100%;
    }

    .footer-right {
        flex-flow: column;
        padding-top: 30px;
        display: none !important;
    }

    .footer-col {
        margin-left: 0;
    }

    .footer-col:nth-child(3) {
        padding-top: 25px;
    }

    .footer-col:first-child {
        display: flex;
        flex-wrap: wrap;
    }

    .footer-col h4 {
        margin-bottom: 25px;
    }

    .footer-col:first-child h4 {
        width: 50%;
    }

    .footer-col ul {
        flex-direction: inherit;
        flex-wrap: wrap;
        margin-left: -5px;
        margin-right: -5px;
    }

    .footer-col ul li {
        padding-left: 5px;
        padding-right: 5px;
        padding-bottom: 15px;
    }
.footer-phone-number {
    font-size: 30px;
}
    /* 社交图标调整 */
    .social-item .qr-popup {
        margin-left: 21px;
    }

    .social-item .qr-popup::after {
        margin-left: -20px;
    }

    .social-item {
        width: 44px;
        height: 44px;
    }

    .social-item img {
        width: 30px;
        height: 30px;
    }

    .social-item .qr-popup {
        width: 110px;
    }

    .footer-social {
        padding-top: 30px;
    }

    .footer-bottom {
        margin-top: 15px;
        line-height: 1.8;
    }
}


/* banner */
.banner {
    position: relative;
    width: 100%;
    min-height: 500px;
    height: 100vh;
    overflow: hidden;
    z-index: 9;
}

.banner>div {
    width: 100%;
    height: 100%;
}

.banner .index_banner {
    width: 100%;
    height: 100%;
}

.banner .mask {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0.2;
    background: #000;
    z-index: 2;
}

.banner .ban_img {
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 65%;
    background: linear-gradient(180deg, rgba(1, 21, 11, 0.00) 0%, #01150B 100%);
    z-index: 2;
}

.index_banner .img_pc {
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.img_m {
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
}

.index_banner video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
}

.ban_text {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    text-align: center;
    z-index: 9;
}

.ban_text .word-wrap {
    overflow: hidden;
}

.ban_text .t {
    line-height: 1.3;
    color: var(--white-color);
    opacity: 0;
    overflow: hidden;
}

.ban_text .zh {
    margin-top: 10px;
    font-weight: 700;
    font-family: "OPPOSans B";
}

.ban_text .zh_x {
    margin-top: 14px;
    font-weight: 400;

}

.ban_text .t:first-child {
    margin-top: 16px;
}

.ban_text .word-wrap:nth-child(2) .t {
    animation-delay: 0.6s;
}

.ban_text .word-wrap:nth-child(3) .t {
    animation-delay: 0.7s;
}

.ban_text .brand-btn-wrap {
    padding-top: 127px;
}

.ban_txt1 {
    color: rgba(255, 255, 255, 1);
    font-weight: 400;
}

.ban_txt1,
.ban_txt2,
.ban_txt3,
.banner .ban_btn {
    opacity: 0;
}

.banner .brand-btn:hover {
    background: var(--white-color);
    /* background: rgba(255,255,255,0.5); */
    border-color: var(--white-color);
}


.banner .swiper-slide-active .ban_txt1,
.banner .swiper-slide-active .ban_txt2,
.banner .swiper-slide-active .ban_txt3,
.banner .swiper-slide-active .ban_btn {
    animation: text-active-animation 1.5s cubic-bezier(0.4, 0, 0.2, 1) both;
}

.banner .swiper-slide-active .t {
    animation: an_7 1s 1 both;
    animation-timing-function: cubic-bezier(0.22, 0.61, 0.36, 1);
    animation-delay: 0.5s;
}

.swiper-slide-active .ban_txt1 {
    animation-delay: 0.3s;
}

.swiper-slide-active .ban_txt2 {
    animation-delay: 0.5s;
}

.swiper-slide-active .ban_txt3 {
    animation-delay: 0.8s;
}

.banner .swiper-slide-active .ban_btn {
    animation-delay: 0.8s;
}


@keyframes text-active-animation {
    from {
        opacity: 0;
        filter: Alpha(opacity=0);
        -webkit-transform: translateY(50px);
        transform: translateY(50px);
    }

    to {
        opacity: 1.0;
        filter: Alpha(opacity=100);
        -webkit-transform: translateY(0);
        transform: translateY(0);
    }
}

@keyframes an_7 {
    from {
        opacity: 0;
        transform: perspective(1000px) translate3d(0px, 300px, 0px) rotate3d(-100, 0, 0, 45deg);
    }

    to {
        opacity: 1;
        transform: perspective(500px) translate3d(0, 0, 0);
    }
}

.banner .ban_button {
    position: absolute;
    left: 0;
    width: 100%;
    bottom: -100px;
    transition: bottom ease-out 1s 0.4s;
    z-index: 9;
}

.ban_button .my-container {
    justify-content: space-between;
}

.ban_button.active {
    bottom: 30px;
}

.ban_button .left {
    display: flex;
    align-items: center;
}

.ban_button .left>div {
    display: flex;
    position: relative;
    width: 70px;
    height: 70px;
    padding: 21px;
    justify-content: center;
    align-items: center;
    border-radius: 36px;
    border: 2px solid rgba(255, 255, 255, 0.30);
    cursor: pointer;
    z-index: 1;
}

.ban_button .left>div.swiper-button-disabled {
    cursor: default;
}

.ban_button .left>div:nth-child(2) {
    margin-left: 30px;
}

.ban_button .left i:before {
    content: '';
    width: 30px;
    height: 30px;
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

.ban-prev i::before {
    background-image: url(../images/arrow_left.svg);
}

.ban-next i::before {
    background-image: url(../images/arrow_right.svg);
}

.ban_button .left i {
    position: relative;
    display: inline-block;
    vertical-align: middle;
    cursor: pointer;
}

.ban_button .left i svg {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 75px;
    height: 75px;
    fill: none;
    stroke: rgba(255, 255, 255, 0.5);
    stroke-width: 2px;
    stroke-dasharray: 101;
    stroke-dashoffset: 101;
    transform: translate(-50%, -50%) rotate(-90deg);
    transition: all .6s ease;
}

.ban_button .left>div:hover i svg {
    stroke-dashoffset: 0;
}

.ban_down {
    display: flex;
    align-items: center;
    color: var(--white-color);
    font-size: 14px;
    font-style: normal;
    font-weight: 400;
}

.ban_down .my-container {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.ban_down .scrillm {
    width: 20px;
    height: 29px;
    border-radius: 30px;
    border: 1px solid rgba(255, 255, 255, 0.5);
    display: flex;
    justify-content: center;
    margin-left: 16px;
}

.ban_down .scrillm span {
    width: 2px;
    height: 6px;
    background: var(--white-color);
    margin-top: 8px;
}

.ban_down .scrillm span {
    animation: jumpDown 1.9s cubic-bezier(0.445, 0.05, 0.55, 0.95) infinite
}

@media (max-width:1440px) {

    .ban_text .brand-btn-wrap {
        padding-top: 80px;
    }

}

@media (max-width:1366px) {
    .ban_button.active {
        /* bottom: 60px; */
    }

    .ban_text .brand-btn-wrap {
        padding-top: 60px;
    }
}

@media (max-width:1100px) {
    .index_p_banner .img_pc.pc_show {
        display: none !important;
    }

    .index_p_banner .img_pc.ipad_show {
        display: block !important;
    }

}

@media (max-width:767px) {
    .banner .mask {
        display: none !important;
    }

    .ban_txt1 {
        max-width: 300px;
        margin: 0 auto;
    }

    .ban_button.active {
        bottom: 30px;
    }

    .ban_button .left>div {
        width: 50px;
        height: 50px;
        padding: 15px;

    }

    .ban_button .left>div:nth-child(2) {
        margin-left: 10px;
    }

    .ban_button .left i svg {
        width: 56px;
        height: 56px;
    }

    .ban_text .word-wrap {
        text-align: center;
    }

    .ban_text .word-wrap .eng {
        font-size: 16px;
    }

    .ban_button .left i:before {
        width: 20px;
        height: 20px;
    }

    .ban_down {
        display: none !important;
    }

}

/* page banner */
/* about */
.content {
    min-height: 50vh;
}


.page_ban {
    position: relative;
    height: 760px;
    z-index: 1;
    overflow: hidden;
}

.page_ban .img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.page_ban .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.page_ban .page_ban_text {
    position: relative;
    display: flex;
    align-items: center;
    padding-top: 100px;
    width: 100%;
    height: 100%;
}

.page_ban_text .h2 {
    color: var(--white-color);
    font-style: normal;
    font-family: "OPPOSans B";
    font-weight: 400;
}

.page_ban_text .icon {
    padding-top: 10px;
    color: var(--white-color);
    font-style: normal;
     font-family: "OPPOSans B";
    font-weight: 400;
    line-height: normal;
    opacity: 0.5;
}

.page_ban .page_bottom {
    position: absolute;
    left: 0;
    bottom: 0;
    display: flex;
    align-items: flex-end;
    width: 100%;
    min-height: 152px;
    z-index: 1;
}

.page_ban .page_bottom:after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    opacity: 0.8;
    background: linear-gradient(0deg, #000 0%, rgba(0, 0, 0, 0.00) 100%);
    z-index: -1;
}

.page_bottom>.my-container {
    display: flex;
    justify-content: space-between;
    min-height: 100px;
}

.n_menu {
    flex: 1;
}

.n_menu ul {
    display: flex;
    margin-left: -50px;
    margin-right: -50px;
}

.n_menu ul li {
    padding: 0 50px;
}

.n_menu ul li a {
    position: relative;
    padding: 42px 0;
    display: block;
    color: rgba(255, 255, 255, 0.7);
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 26px;
}

.n_menu ul li a::before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 4px;
    background-color: var(--main-color);
    transform-origin: bottom right;
    transform: scaleX(0);
    transition: transform 0.5s ease;
}

.n_menu ul li.active a,
.n_menu ul li a:hover {
    color: var(--white-color);
}

.n_menu ul li.active a::before,
.n_menu ul li a:hover::before {
    transform-origin: bottom left;
    transform: scaleX(1);
}

.location {
    display: flex;
    align-items: center;
    order: 2;
}

.location a {
    line-height: 26px;
}

.location a:first-child {
    width: 16px;
    height: 16px;
    background-image: url(../images/home-two.svg);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 100%;
    font-size: 0;
}

.location a:nth-child(n + 2) {
    margin-left: 10px;
    padding-left: 12px;
    color: rgba(255, 255, 255, 0.80);
    font-size: 14px;
    font-weight: 400;
    background-image: url(../images/page_jt.svg);
    background-repeat: no-repeat;
    background-position: left;
    background-size: 5px 14px;
}

.location a:nth-child(2) {
    background-image: none;
    margin-left: 0;
}

.location a:nth-child(n + 2):hover {
    color: var(--white-color);
}
@media (max-width: 1579px) {
.page_ban {
        height: 700px;
    }
}

@media (max-width: 1439px) {
 .page_ban {
        height: 650px;
    }

}
@media (max-width: 1365px) {
 .page_ban {
        height: 600px;
    }

}
@media (max-width: 1366px) {
     
    .n_menu ul {
        margin-left: -35px;
        margin-right: -35px;
    }

    .n_menu ul li {
        padding: 0 35px;
    }
}

@media (max-width: 1280px) {
    .page_ban {
        height: 580px;
    }
    .page_bottom>.my-container {
    min-height: 86px;
}
.page_ban .page_bottom {
    min-height: 110px;
}
    .n_menu ul {
        margin-left: -25px;
        margin-right: -25px;
    }
    .n_menu ul li {
        padding: 0 25px;
    }
     .n_menu ul li a {
        padding: 30px 0;
    }
    .n_menu ul li a {
        font-size: 22px;
    }
}
@media (max-width: 1200px) {
 .page_ban {
    height: 500px;
}

}
@media (max-width: 991px) {
    .page_ban {
        padding-top: 80px;
        height: 400px;
    }

    .page_ban .page_ban_text {
        padding-top: 0;
    }
    .page_bottom>.my-container {
        min-height: 66px;
    }
    .page_ban .page_bottom {
        min-height: 80px;
    }
    .n_menu ul li a {
        padding: 20px 0;
        font-size: 18px;
    }
}

@media (max-width:767px) {
    .page_ban {
        height: 440px;
    }

    .page_ban .page_ban_text {
        /* padding-bottom: 30px; */
    }

    .page_ban_text>.my-container {
        padding-bottom: 0;
        position: absolute;
        top: 32%;
    }

    .page_ban .page_bottom {
        padding-top: 15px;
        height: auto;
        min-height: inherit;
    }

    .location {
        padding-top: 20px;
    }

    .n_menu ul {
        margin-left: -15px;
        margin-right: -15px;
        flex-wrap: wrap;
    }

    .n_menu ul li {
        padding: 12px 15px 0 15px;
        width: 33.33%;
        text-align: center;
    }

    .n_menu ul li a {
        padding: 0;
        padding-bottom: 6px;
        font-size: 16px;
    }

    .n_menu ul li a::before {
        height: 2px;
    }

    .page_bottom .my-container {
        flex-flow: column;
        min-height: 40px;
    }

    .location a:first-child {
        width: 16px;
        height: 16px;
    }

}

/* about */

/* ==================== 品牌故事板块 ==================== */
.about-story {
    background-color: var(--white-color);
    padding: 100px 0;
    overflow: hidden;
}

.about-story-inner {
    display: flex;
    align-items: stretch;
}

/* 左侧大图 */
.about-story-image {
    max-width: 650px;
    width: 45%;
}

.about-story-img-box {
    width: 100%;
    border-radius: 30px;
    overflow: hidden;
    background: #D9D9D9;
    height: 100%;
}

.about-story-img-box img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 右侧内容 */
.about-story-content {
    flex: 1;
    min-width: 0;
    padding-top: 114px;
    padding-left: 115px;
    padding-bottom: 220px;
}

.about-story-header {
    border-left: 3px solid var(--main-color);
    padding-left: 20px;
    padding-top: 6px;
}

/* 品牌logo标记（多个SVG组拼接） */
.about-story-brand {
    position: relative;
    width: 106px;
    margin-bottom: 20px;
}

/* 标题 */
.about-story-title {
    font-family: "OPPOSans H";
    font-weight: 400;
    color: #222222;
    line-height: 1.2;
}

/* 描述文字 */
.about-story-desc {
    margin-top: 68px;
    color: #666666;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
}

/* 卡片容器 */
.about-story-cards {
    display: flex;
    margin-top: 68px;
    margin-left: -10px;
    margin-right: -10px;
}

/* 单个卡片 */
.about-story-card {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 10px;
    margin-right: 10px;
    max-width: calc(50% - 20px);
    min-width: 204px;
    padding: 13px 10px;
    z-index: 1;
}

.about-story-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    border: 1px solid rgba(0, 193, 222, 0.50);
    background: #00C1DE;
    backdrop-filter: blur(2px);
    z-index: -1;
}

.about-story-card img {
    margin-right: 20px;
    width: 40px;
}

.about-story-card-text h4 {
    color: var(--white-color);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
}

.about-story-card-text p {
    margin-top: 4px;
    color: var(--white-color);
    opacity: 0.7;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
}

@media (max-width: 1440px) {
    .about-story-content {
        padding-bottom: 167px;
    }
}

@media (max-width: 1366px) {
    .about-story-image {
        width: 43%;
    }

    .about-story-content {
        padding-left: 80px;
        padding-bottom: 140px;
    }
}

@media (max-width: 1279px) {
    .about-story-image {
        width: 40%;
    }

    .about-story-content {
        padding-left: 80px;
    }
}

@media (max-width: 1200px) {
    .about-story-image {
        width: 42%;
    }

    .about-story-content {
        padding-top: 100px;
        padding-left: 60px;
    }
}

@media (max-width: 991px) {
    .about-story {
        padding: 80px 0;
    }

    .about-story-content {
        padding-top: 30px;
        padding-left: 30px;
        padding-bottom: 70px;
    }

    .about-story-title {
        font-size: 26px;
    }

    .about-story-desc {
        margin-top: 38px;
    }

    .about-story-cards {
        margin-top: 38px;
    }

    .about-story-card {
        width: calc(50% - 20px);
        min-width: inherit;
    }
}

@media (max-width: 767px) {
    .about-story {
        padding: 50px 0;
    }

    .about-story-inner {
        flex-flow: column;
    }

    .about-story-image {
        width: 100%;
        max-width: 100%;
        height: auto;
    }

    .about-story-img-box {
        height: auto;
    }

    .about-story-content {
        padding-top: 50px;
        padding-left: 0;
        padding-bottom: 0;
    }

    .about-story-img-box {
        border-radius: 20px;
    }

    .about-story-desc {
        margin-top: 35px;
    }

    .about-story-cards {
        margin-top: 35px;
    }

    .about-story-card img {
        width: 28px;
    }

    .about-story-card {
        min-width: inherit;
        width: calc(50% - 20px);
    }
}

/* @media (max-width: 380px) {
.about-story-cards {
    flex-flow: column;
}
    .about-story-card {
        width: calc(100% - 20px);
        min-width: inherit;
        max-width: inherit;
    }
    .about-story-card:first-child {
        margin-bottom: 20px;
    }

} */
@media (max-width: 359px) {
    .about-story-card img {
        margin-right: 10px;
    }
}

/* ==================== 品牌价值板块==================== */
.about-value {
    background-color: #F7F7F7;
    padding: 100px 0 160px 0;
}

.about-value-inner {
    position: relative;
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    z-index: 1;
}

.about-value-image-wrap {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: calc(100% - 64px);
    border-radius: 30px;
    overflow: hidden;
    z-index: -1;
}

.about-value-image-wrap>img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.about_value_text {
    position: absolute;
    right: 100px;
    top: 19%;
    max-width: 60%;
}

/* 右侧叠加层 */
.about-value-overlay {
    margin-top: 476px;
    margin-right: 44px;
    width: 488px;
    display: flex;
    flex-direction: column;
    padding: 50px 39px 45px 39px;
    background-image: url(../images/about_story_decor1.svg);
    background-repeat: no-repeat;
    background-size: cover;
}

.about-value-desc {
    color: var(--white-color);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.87;
    margin-bottom: 28px;
}

.about-value-cards {
    display: flex;
    margin-left: -10px;
    margin-right: -10px;
}

.about-value-card {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-left: 10px;
    margin-right: 10px;
    width: calc(50% - 20px);
    padding: 13px 10px;
    z-index: 1;
}

.about-value-card::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.50);
    background: rgba(255, 255, 255, 0.30);
    backdrop-filter: blur(2px);
    z-index: -1;
}

.about-value-card img {
    margin-right: 20px;
    width: 40px;
}

.about-value-card-text h4 {
    color: var(--white-color);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.3;
}

.about-value-card-text p {
    margin-top: 4px;
    color: var(--white-color);
    opacity: 0.7;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
}

@media (max-width: 1365px) {
    .about-value-overlay {
        margin-top: 420px;
    }
}

@media (max-width: 1279px) {
    .about-value-overlay {
        margin-top: 395px;
    }
}

@media (max-width: 991px) {
    .about-value {
        padding: 80px 0 140px;
    }

    .about_value_text {
        right: 60px;
        top: 12%;
    }

    .about-value-image-wrap>img {
        object-position: 80%;
    }

    .about-value-overlay {
        margin-top: 200px;
        margin-right: 30px;
        width: 450px;
        padding: 40px 25px 35px 25px;
    }

}

@media (max-width: 767px) {
    .n_menu ul li a {
        display: inline-block;
    }
    .about-value {
        padding: 50px 0 100px 0;
    }

    .about-value-inner {
        flex-flow: column;
    }

    .about-value-image-wrap {
        position: relative;
        height: auto;
        border-radius: 20px;
    }

    .about-value-image-wrap>img {
        object-position: center;
    }

    .about-value-overlay {
        position: relative;
        margin-top: -20px;
        margin-right: 0;
        width: 100%;
        padding: 40px 25px 35px 25px;
        background-position: center;
        
    }
    .about-value-overlay:after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -15px;
        width: 100%;
        height: 29px;
        background-color: var(--main-color);
        border-bottom-right-radius: 20px;
        border-bottom-left-radius: 20px;
    }

    .about-value-card img {
        width: 28px;
    }

    .about_value_text {
        right: 15px;
        top: 12%;
        max-width: 102%;

    }
}

@media (max-width:380px) {
    .about-value-cards {
        flex-flow: column;
    }

    .about-value-card {
        margin-bottom: 20px;
        width: calc(100% - 20px);
    }
}

@media (max-width: 359px) {
    .about-value-card img {
        margin-right: 10px;
    }
}


/* honor */
.honor_bg {
    padding-top: 180px;
    padding-bottom: 246px;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    background-color: var(--white-color);
    background-image: url(../images/honor_bg.png);
}

.honor_loop {
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}

.honor_loop:after {
    content: "";
    position: absolute;
    bottom: -30px;
    left: calc(40% + 118px);
    width: 1030px;
    height: 108px;
    background-image: url(../images/honor_pic_bg.png);
    background-repeat: no-repeat;
    background-position: left;
}

.honor_loop .honor_button {
    position: absolute;
    left: 42%;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 44px;
}

.honor_loop .honor_button .h_next,
.honor_loop .honor_button .h_prev {
    width: 56px;
    height: 56px;
    border-radius: 48px;
    background-color: var(--white-color);
    background-repeat: no-repeat;
    background-position: center;
    background-size: 24px 24px;
    transition: all 0.3s;
    cursor: pointer;
}

.honor_loop .honor_button .h_next:hover,
.honor_loop .honor_button .h_prev:hover {
    background-color: var(--main-color);
}

.honor_loop .honor_button .h_prev {
    background-image: url(../images/arrow_top_black.svg);
}

.honor_loop .honor_button .h_next {
    background-image: url(../images/arrow_bottom_black.svg);
}

.honor_loop .honor_button .h_prev:hover {
    background-image: url(../images/arrow_top_white.svg);
}

.honor_loop .honor_button .h_next:hover {
    background-image: url(../images/arrow_bottom_white.svg);
}

.honor_loop .honor_button .h_next {
    margin-top: 24px;
}

.honor_swiper {
    width: 42%;
    height: 553px;
    margin: inherit;
}

.honor_swiper .line {
    position: relative;
    padding-left: 24px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.10);
}

.honor_swiper .line::before {
    content: '';
    position: absolute;
    left: 0;
    top: 13px;
    width: 6px;
    height: 6px;
    background-color: rgba(0, 0, 0, 0.30);
    border-radius: 50%;
}

.honor_swiper .title {
    color: var(--dark-color);

    font-size: 20px;
    font-weight:700;
    height: 60px;
    line-height: 30px;
}

.honor_loop .honor-pagination {
    display: none;
}

@media (min-width:768px) {

    .honor_swiper .swiper-slide-active .title {
        color: var(--main-color);
    }

    .honor_swiper .swiper-slide-active .line {
        border-color: var(--main-color);
    }

    .honor_swiper .swiper-slide-active .line::before {
        background-color: var(--main-color);
    }
}

.honor_thumb {
    width: 39.6%;
    margin: 0;
    padding-bottom: 60px;
}

.honor_swiper .thumb,
.honor_thumb .thumb {
    position: relative;
    padding: 24px;
    max-width: 100%;
    z-index: 2;
}

.honor_swiper .thumb::before,
.honor_thumb .thumb::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-image: url(../images/honor_border.png);
    background-repeat: no-repeat;
    background-position: center;
    z-index: 1;
}

.honor_swiper .thumb img:nth-child(1),
.honor_thumb .thumb img:nth-child(1) {
    position: absolute;
    left: 20px;
    top: 20px;
    width: calc(100% - 40px);
    height: calc(100% - 40px);
    object-fit: cover;
    z-index: -1;
}

.honor_swiper .thumb img:nth-child(2),
.honor_thumb .thumb img:nth-child(2) {
    width: 100%;
}

@media (max-width:1365px) {
    .honor_swiper {
        height: 500px;
    }
    .honor_swiper .thumb img:nth-child(1), .honor_thumb .thumb img:nth-child(1) {
    left: 16px;
    top: 16px;
    width: calc(100% - 32px);
    height: calc(100% - 32px);
}
}

@media (max-width:1280px) {

    .honor_swiper .line {
        padding-bottom: 10px;
    }

}

@media (max-width:991px) {
    .honor_bg {
        padding-top: 120px;
        padding-bottom: 200px;
    }

    .honor_loop .honor_button .h_next,
    .honor_loop .honor_button .h_prev {
        width: 46px;
        height: 46px;
        background-size: 20px 20px;
    }

    .honor_loop::after {
        left: calc(40% + 70px);
    }

}

@media (max-width:767px) {
    .honor_bg {
        padding-top: 80px;
        padding-bottom: 120px;
    }

    .honor_thumb {
        display: none !important;
    }

    .honor_loop {
        display: block;
    }

    .honor_loop::after {
        display: none !important;
    }

    .honor_swiper {
        height: auto;
        width: 100%;
    }

    .honor_swiper .line {
        margin-top: 20px;
        padding-left: 0;
    }

    .honor_swiper .line::before {
        display: none;
    }

    .honor_loop .honor_button {
        position: relative;
        left: 0;
        top: inherit;
        transform: inherit;
        margin-left: 0;
        margin-top: 20px;
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    /* .honor_loop .honor-pagination {
        display: block;
        padding-left: 10px;
    }

    .honor_loop .honor-pagination span {
        margin: 0 2px;
    }

    .honor_loop .honor-pagination span:nth-child(6+n) {
        display: none;
    }

    .honor_loop .swiper-pagination-bullet-active {
        background-color: var(--main-color);
    } */

    .honor_loop .honor_button .h_next {
        margin-top: 0;
        margin-left: 16px;
    }

    .honor_loop .honor_button .h_prev {
        background-image: url(../images/arrow_left_black.svg);
    }

    .honor_loop .honor_button .h_next {
        background-image: url(../images/arrow_right_black.svg);
    }

    .honor_loop .honor_button .h_prev:hover {
        background-image: url(../images/arrow-left.svg);
    }

    .honor_loop .honor_button .h_next:hover {
        background-image: url(../images/arrow-right.svg);
    }
.honor_swiper .thumb, .honor_thumb .thumb {
    padding: 8px;
}
.honor_swiper .thumb img:nth-child(1), .honor_thumb .thumb img:nth-child(1) {
    left: 8px;
    top: 8px;
    width: calc(100% - 16px);
    height: calc(100% - 16px);
}
    .honor_swiper .title {
        font-size: 18px;
        min-height: 52px;
        line-height: 26px;
        text-align: center;
    }
}

/* ==================== 发展历程板块 ==================== */
.deve_bg {
    position: relative;
    padding-top: 125px;
    padding-bottom: 210px;
    background-image: url(../images/deve_zbg.jpg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    overflow: hidden;
    z-index: 1;
}

/* 
.deve_bg::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-image: url(../images/deve_bg02.png);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: top center;
    z-index: -1;
} */

.deve-header {
    text-align: center;
    display: block;
    margin: 0 auto;
    margin-bottom: 10px;
}

.deve-header-tag {
    display: inline-block;
    padding: 8px 20px;
    align-items: center;
    background: var(--main-color);
    border-radius: 4px;
}

.deve-header-tag img {
    width: 6px;
    height: auto;
}

.deve-header-tag span {
    position: relative;
    padding-left: 16px;
    color: var(--white-color);
    font-size: 16px;
    font-weight: 400;
    background-image: url(../images/deve_tag_icon.svg);
    background-size: 6px;
    background-position: left;
    background-repeat: no-repeat;
}

.deve-header-title {
    margin-top: 10px;
     font-family: "OPPOSans H";
    font-weight: 400;
    font-style: normal;
    color: var(--light-color);
    line-height: 1.5;
}

.deve-nav {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}

/* 箭头按钮 */
.deve-nav-arrow {
    width: 64px;
    height: 64px;
    border: none;
    background: none;
    cursor: pointer;
    padding: 0;
    flex-shrink: 0;
    transition: opacity 0.3s;
}

.deve-nav-arrow:disabled {
    opacity: 0.3;
    cursor: default;
}

.deve-nav-arrow:not(:disabled):hover {
    opacity: 0.8;
}

.deve-arrow-bg {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    background-color: var(--white-color);
    box-shadow: 0 0 20px rgba(0, 56, 65, 0.06);
    border-radius: 50%;
}

.deve-arrow-icon {
    position: relative;
    z-index: 1;
    width: 32px;
    height: 32px;
}

.deve-arrow-bg:hover {
    background-color: var(--main-color);
}

.deve-arrow-bg:hover .deve-arrow-icon path {
    stroke: var(--white-color);
}

/* 年份轨道 */
.deve-years-track-wrap {
    overflow: hidden;
    flex: 1;
    position: relative;
    margin-left: 48px;
    margin-right: 48px;
}

.deve-years-track {
    display: flex;
    align-items: center;
    padding: 25px 0;
    justify-content: flex-start;
    overflow-x: auto;
    cursor: grab;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.deve-years-track::-webkit-scrollbar {
    display: none;
}

.deve-years-track.dragging {
    cursor: grabbing;
    user-select: none;
}

/* 年份按钮 */
.deve-year-item {
    position: relative;
    display: block;
    width: 70px;
    min-width: 70px;
    height: 52px;
    cursor: pointer;
    transition: transform 0.2s;
}

.deve-year-item i {
    position: absolute;
    left: 0;
    bottom: 100%;
    width: 100%;
    text-align: center;
    font-size: 20px;
    font-family: 'Montserrat';
    font-weight: 700;
    color: var(--dark-color);
    white-space: nowrap;
    user-select: none;
}

.deve-year-item:after {
    content: "";
    position: absolute;
    top: 21px;
    left: 50%;
    transform: translateX(-50%);
    width: 14px;
    height: 14px;
    background-color: #CCC;
    border-radius: 50%;
}

.deve-year-item:hover {
    color: var(--main-color);
}

.deve-year-item.active i {
    color: var(--main-color);
}

.deve-year-item.active:after {
    background-color: var(--main-color);
}

/* 年份间连接点线 */
.deve-year-dots {
    min-width: 190px;
    margin-top: 12px;
    width: 190px;
    height: 20px;
    background-image: url(../images/his_line.svg);
    background-repeat: no-repeat;
}

/* ===== 时间线外层 my-container 包装 ===== */
.deve-tl-outer {
    margin-top: 114px;
    overflow: visible;
}

/* ===== 时间线滚动容器 ===== */
.deve-timeline-scroll {
    position: relative;
    margin-bottom: 70px;
    margin-right: -300px;
    overflow-x: auto;
    scroll-behavior: smooth;
    cursor: grab;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.deve-timeline-scroll::-webkit-scrollbar {
    display: none;
}

.deve-timeline-scroll.dragging {
    cursor: grabbing;
    user-select: none;
}

/* 大屏适配：.my-container 居中固定 1440px 后，时间线延伸到屏幕右边缘 */
/* margin-right = -(container左边距 + container右padding) = 720px - 50vw - right_padding */
@media (min-width: 1441px) and (max-width: 1580px) {
    .deve-timeline-scroll {
        margin-right: calc(640px - 50vw);
    }
}

@media (min-width: 1581px) and (max-width: 1680px) {
    .deve-timeline-scroll {
        margin-right: calc(660px - 50vw);
    }
}

@media (min-width: 1681px) {
    .deve-timeline-scroll {
        margin-right: calc(720px - 50vw);
    }
}

/* 左右渐变遮罩（仅桌面端） */
.deve-timeline-fade {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 80px;
    z-index: 2;
    pointer-events: none;
    transition: opacity 0.3s;
}

.deve-timeline-fade-left {
    left: -40px;
    background: linear-gradient(to right, #fff 0%, rgba(255, 255, 255, 0) 100%);
}

.deve-timeline-fade-right {
    display: none;
}

/* ===== 时间线内容区 ===== */
.deve-timeline {
    display: flex;
    align-items: flex-start;
    flex-wrap: nowrap;
    position: relative;
    min-height: 200px;
    padding-right: 100px; /* 右侧留白：保证滚动到最右侧时最后一个月份的完整可见 */
}

/* ===== 时间线切换动画 ===== */
.deve-tl-slide-out-left {
    animation: deveSlideOutLeft 0.28s ease forwards;
}

.deve-tl-slide-out-right {
    animation: deveSlideOutRight 0.28s ease forwards;
}

.deve-tl-slide-in-right {
    animation: deveSlideInRight 0.35s ease forwards;
}

.deve-tl-slide-in-left {
    animation: deveSlideInLeft 0.35s ease forwards;
}

@keyframes deveSlideOutLeft {
    from {
        opacity: 1;
        transform: translateX(0);
    }

    to {
        opacity: 0;
        transform: translateX(-40px);
    }
}

@keyframes deveSlideOutRight {
    from {
        opacity: 1;
        transform: translateX(0);
    }

    to {
        opacity: 0;
        transform: translateX(40px);
    }
}

@keyframes deveSlideInRight {
    from {
        opacity: 0;
        transform: translateX(40px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes deveSlideInLeft {
    from {
        opacity: 0;
        transform: translateX(-40px);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

/* 竖线分隔符 */
.deve-tl-dot {
    flex-shrink: 0;
    align-self: stretch;
}

.deve-tl-dot-start,
.deve-tl-dot-end {
    width: 41px;
}

.deve-tl-dot-start::before,
.deve-tl-dot-end::before {
    content: '';
    display: block;
    width: 41px;
    height: 41px;
    border-radius: 50%;
    border: 2px solid var(--main-color);
    background: #fff;
    margin-top: 10px;
}

.deve-tl-separator {
    width: 9px;
    min-height: 199px;
    background-image: url(../images/his_top_line.svg);
    background-repeat: no-repeat;
    background-position: top;
    background-size: contain;
}

/* 月份事件卡片 */
.deve-milestone {
    position: relative;
    flex: 0 0 388px;
    width: 312px;
    max-width: 388px;
    padding: 40px 42px 0 30px;
}

.deve-milestone::before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    width: 100%;
    height: 1px;
    background-color: var(--dark-color);
    opacity: 0.3;
    z-index: -1;
}

.deve-ml-head {
    display: flex;
    align-items: flex-start;
    margin-bottom: 20px;
}

.deve-ml-num {
    font-family: 'Montserrat';
    font-weight: 500;
    color: var(--dark-color);
    line-height: 1;
}

.deve-ml-unit {
     font-family: "OPPOSans B";
    font-weight: 400;
    color: var(--dark-color);
    line-height: 1.2;
    margin-left: 2px;
}

.deve-ml-desc {
    font-size: 18px;
    font-weight: 400;
    color: var(--dark-color);
    line-height: 28px;
    height: 140px;
    overflow-y: auto;
}

/* ========== 响应式 ========== */

@media (max-width: 1440px) {
    .deve-timeline-scroll {
        margin-right: -100px;
    }

}
@media (max-width: 1279px) {
    .deve-timeline-scroll {
        margin-right: -60px;
    }

    .deve-milestone {
        flex: 0 0 300px;
        width: 300px;
        max-width: 300px;
    }

    .deve-timeline {
        padding-right: 80px;
    }

    .deve-years-track-wrap {
        margin-left: 38px;
        margin-right: 38px;
    }

    .deve-year-dots {
        min-width: 150px;
        width: 150px;
    }
}

/* ≤991px */
@media (max-width: 991px) {
    .deve_bg {
        padding-top: 80px;
        padding-bottom: 140px;
        background-position: 1%;
    }

    .deve-tl-outer {
        margin-top: 80px;
    }

    .deve-year-dots {
        min-width: 100px;
        width: 100px;
    }

    .deve-milestone {
        flex: 0 0 280px;
        width: 280px;
        max-width: 280px;
    }

    .deve-timeline {
        padding-right: 60px;
    }

    .deve-years-track-wrap {
        margin-left: 16px;
        margin-right: 16px;
    }
}

/* ≤767px 移动端 */
@media (max-width: 767px) {
    .deve_bg {
        padding-top: 50px;
        padding-bottom: 100px;
        background-position: 1%;
    }
    .deve-timeline-scroll {
        margin-right: -16px;
    }
    .deve-tl-outer {
        margin-top: 62px;
    }

    .deve-milestone {
        flex: 0 0 200px;
        width: 200px;
        max-width: 200px;
        padding: 30px 16px 0 20px;
    }

    .deve-timeline {
        padding-right: 50px;
    }

    .deve-ml-desc {
        font-size: 16px;
        line-height: 25px;
        height: 200px;
    }

    .deve-nav-arrow,
    .deve-arrow-bg {
        width: 46px;
        height: 46px;
    }

    .deve-arrow-icon {
        width: 26px;
        height: 26px;
    }

    .deve-years-track-wrap {
        margin-left: 10px;
        margin-right: 10px;
    }

    .deve-years-track {
        padding: 20px 0;
    }

    .deve-year-item:after {
        top: 15px;
        width: 10px;
        height: 10px;
    }

    .deve-year-item i {
        font-size: 18px;
    }

    .deve-year-item {
        width: 60px;
        min-width: 60px;
        height: 36px;
    }

    .deve-year-dots {
        min-width: 60px;
        width: 60px;
    }
.deve-header-tag {
    padding: 8px 16px;
}
.deve-ml-head {
    margin-bottom: 16px;
}

}

/* 品牌实力 */
.ppsl_gc {
    padding-top: 100px;
    padding-bottom: 110px;
    overflow: hidden;
}

.gc_infor {
    padding-top: 60px;
    max-width: 763px;
    margin: 0 auto;
}

.gc_infor p {
    padding-bottom: 30px;
    color: #666;
    text-align: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px;
}

.gc_infor p:last-child {
    padding-bottom: 0;
}

/* ===== 工厂图片 Swiper 轮播 ===== */
.ppsl-slider-wrap {
    position: relative;
    margin-top: 80px;
}

.ppsl-slider-wrap .swiper {
    overflow: visible;
}

.ppsl-slider .swiper-slide {
    width: auto;
    height: auto;
}

/* ===== 卡片 ===== */
.ppsl-card {
    position: relative;
    width: 100%;
    border-radius: 26px;
    overflow: hidden;
    transition: transform 0.45s ease;
}

.ppsl-card img {
    width: 100%;
    height: 100%;
    display: block;
}

.ppsl-card img:first-child {
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    object-fit: cover;
}

/* 交替旋转 - 模拟 Figma 设计 */
.swiper-slide:nth-child(odd) .ppsl-card {
    transform: rotate(-6deg);
}

.swiper-slide:nth-child(even) .ppsl-card {
    transform: rotate(6deg);
}

/* ===== 导航箭头 ===== */
.ppsl-slider-prev,
.ppsl-slider-next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #333;
    transition: all 0.3s ease;
}

.ppsl-slider-prev:hover,
.ppsl-slider-next:hover {
    background: var(--main-color);
    color: #fff;
}

.ppsl-slider-prev {
    left: 10px;
}

.ppsl-slider-next {
    right: 10px;
}

.ppsl-slider-prev.swiper-button-disabled,
.ppsl-slider-next.swiper-button-disabled {
    opacity: 0.3;
    pointer-events: none;
}

@media (max-width:1024px) {

    .ppsl_gc {
        padding-top: 80px;
        padding-bottom: 90px;
    }
}

@media (max-width: 767px) {
    .ppsl_gc {
        padding-top: 50px;
        padding-bottom: 60px;
    }

    .ppsl-slider-wrap {
        margin-top: 50px;
    }

    .ppsl-slider-prev,
    .ppsl-slider-next {
        width: 32px;
        height: 32px;
    }

    .ppsl-slider-prev {
        left: 0;
    }

    .ppsl-slider-next {
        right: 0;
    }

    .gc_infor {
        padding-top: 30px;
    }
}

/* 品牌理念 */
.ppsl_ppln {
    padding-top: 100px;
    padding-bottom: 110px;
    background: #F5FEFF;
    border-top: 1px solid #EDF4F5;
    border-bottom: 1px solid #EDF4F5;
}

/* ===== 交替板块网格 ===== */
.ppln-grid {
    margin-top: 60px;
}

.ppln-row {
    display: flex;
    justify-content: space-between;
    margin-bottom: 20px;
}

.ppln-row:nth-child(odd) .ppln-card {
    background-color: var(--main-color);
}

.ppln-row:nth-child(even) .ppln-card {
    border: 2px solid #FFF;
    background: var(--light-color);
}

.ppln-row:last-child {
    margin-bottom: 0;
}

/* 偶数行：通过 order 交换左右位置（HTML结构统一为图前卡后） */
.ppln-row:nth-child(even) .ppln-media {
    order: 2;
}


/* ===== 图片侧 ===== */
.ppln-media {
    position: relative;
    width: calc(50% - 10px);
    border-radius: 30px;
    border: 2px solid var(--white-color);
    overflow: hidden;
}

.ppln-media img {
    width: 100%;
    height: 100%;
    display: block;
}

.ppln-media img:first-child {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* ===== 彩色卡片 ===== */
.ppln-card {
    width: calc(50% - 10px);
    display: flex;
    align-items: center;
    border-radius: 30px;
    border: 2px solid var(--white-color);
    overflow: hidden;
}

.ppln-card-inner {
    padding: 50px 45px;
    width: 100%;
}

.ppln-card-icon {
    margin-bottom: 10px;
}

.ppln-card-icon img {
    display: block;
    width: 50px;
}

.ppln-card-title {
     font-family: "OPPOSans B";
    font-weight: 400;
    line-height: 1.35;
    color: var(--white-color);
}

.ppln-card-desc {
    margin-top: 10px;
    margin-bottom: 22px;
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    min-height: 52px;
    opacity: 0.7;
    color: var(--white-color);
}

.ppln-card-list {
    display: flex;
    flex-direction: column;
}

.ppln-card-item {
    position: relative;
    margin-top: 6px;
    padding-left: 16px;
    display: flex;
    align-items: center;
    font-size: 16px;
    line-height: 26px;
    color: var(--white-color);
}

.ppln-card-bullet {
    position: absolute;
    left: 0;
    top: 10px;
    width: 6px;
    height: 6px;
}

/* ===== 品牌理念响应式 ===== */
@media (max-width: 1440px) {
    .ppln-card-inner {
        padding: 40px;
    }
}

@media (max-width: 1100px) {
    .ppsl_ppln {
        padding-top: 80px;
        padding-bottom: 90px;
    }

    .ppln-row {
        flex-flow: column;
        margin-bottom: 0;
    }

    .ppln-media,
    .ppln-card {
        margin-bottom: 20px;
        width: calc(100% - 10px);
    }

    .ppln-row:nth-child(even) .ppln-media {
        order: inherit;
    }
}

@media (max-width:1024px) {}

@media (max-width: 767px) {
    .ppsl_ppln {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .ppln-grid {
        margin-top: 36px;
    }

    .ppln-card-inner {
        padding: 24px;
    }

    .ppln-media,
    .ppln-card {
        border-radius: 16px;
    }
}

/* =============================================
   产研实力 板块
   ============================================= */
.ppsl_cysl {
    padding-top: 100px;
    overflow: hidden;
}

.ppsl_cysl .deve-header {
    margin-bottom: 60px;
}

/* 工厂图片卡片 */
.cysl-factory {
    margin-bottom: -60px;
    position: relative;
    z-index: 2;
}

.cysl-factory-card {
    position: relative;
    width: 100%;
    height: 0;
    padding-bottom: 33.125%;
    border-radius: 30px;
    overflow: hidden;
    background: #D9D9D9;
}

.cysl-factory-img2 {
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.cysl-factory-img2 {
    top: 0;
}

/* 数据面板 */
.cysl-data-section {
    position: relative;
    z-index: 3;
}

.cysl-data-panel {
    position: relative;
    margin-left: 72px;
    margin-right: 72px;
    background: #fff;
    border-radius: 30px 30px 0 0;
    padding: 70px 0 20px 0;
    /* overflow: hidden; */
}

.cysl-data-header {
    text-align: center;
}

.cysl-data-subtitle {
    display: inline-flex;
    align-items: center;
    margin-bottom: 16px;
}

.cysl-data-subtitle img {
    display: block;
    margin-right: 11px;
    width: 6px;
    height: 6px;
}

.cysl-data-subtitle span {
     font-family: "OPPOSans B";
    font-weight: 400;
    color: var(--main-color);
}

.cysl-data-desc {
    max-width: 580px;
    margin: 0 auto;
    margin-top: 11px;
    color: #666;
    text-align: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: 26px;
}

/* 数据圆盘图表区 */
.cysl-data-chart {
    position: relative;
    height: 377px;
    margin: 0 auto;
    max-width: 929px;
    margin-top: 14px;
}

.cysl-data-curve {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    width: calc(100% - 100px);
    height: 80%;
    pointer-events: none;
}

.cysl-data-logo {
    position: absolute;
    left: 50%;
    top: 50px;
    transform: translateX(-50%);
    width: 244px;
    pointer-events: none;
}

.cysl-data-logo img {
    width: 100%;
    display: block;
}

/* 数据圆盘公共 */
.cysl-circle {
    position: absolute;
    width: 94px;
    height: 94px;
}

.cysl-circle-bg {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 94px;
    height: 94px;
    background-color: var(--main-color);

    border-radius: 50%;
}

.cysl-circle-content {
    position: absolute;
    white-space: nowrap;
}

.cysl-circle-num {
    margin-bottom: 2px;
}

.cysl-num-val {
    color: #222;
    font-family: 'Montserrat';
    font-size: 36px;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
    text-transform: capitalize;
}

.cysl-num-unit {
    color: #222;

    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: capitalize;
}

.cysl-circle-label {
    color: var(--main-color);
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    text-transform: capitalize;
}

/* 圆盘位置 */
.cysl-circle--top-left {
    left: 84px;
    top: 85px;
}

.cysl-circle--top-left .cysl-circle-content {
    right: 110%;
    top: 45%;
}

.cysl-circle--bottom-left {
    left: 30%;
    top: 55%;
}

.cysl-circle--bottom-left .cysl-circle-content {
    top: 105%;
    left: 0;
}

.cysl-circle--bottom-right {
    right: 30%;
    top: 55%;
}

.cysl-circle--bottom-right .cysl-circle-content {
    left: 18px;
    top: 105%;
}

.cysl-circle--top-right {
    right: 84px;
    top: 85px;
}

.cysl-circle--top-right .cysl-circle-content {
    left: 115%;
    top: 45%;
}


/* 装饰元素 */
.cysl-data-decor {
    position: absolute;
    pointer-events: none;
}

.cysl-data-decor--left {
    left: 80px;
    bottom: 30px;
}

.cysl-data-decor--right {
    right: 40px;
    bottom: 120px;
}

/* 视频展示区 */
.cysl-video-section {
    position: relative;
    padding: 80px 0 180px;
    position: relative;
    z-index: 1;
}

.cysl-video-section:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0.2;
    background: linear-gradient(180deg, rgba(0, 192, 221, 0.00) 0%, rgba(0, 192, 221, 0.50) 100%);
    z-index: -1;
}

/* 视频卡片 */
.cysl-video-card {
    position: relative;
    width: 100%;
    max-width: 1196px;
    margin: 0 auto;
    margin-top: 60px;
    height: 0;
    padding-bottom: 44.44%;
    border-radius: 30px;
    overflow: hidden;
    background: #D9D9D9;
    cursor: pointer;
}

.cysl-video-poster {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.cysl-video-poster img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cysl-video-poster.is-hidden {
    opacity: 0;
    pointer-events: none;
}

.cysl-video {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 0;
    opacity: 0;
    transition: opacity 0.3s;
}

.cysl-video.is-active {
    z-index: 2;
    opacity: 1;
}

/* 播放按钮（呼吸灯） */
.cysl-play-btn {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
    width: 136px;
    height: 136px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: opacity 0.3s;
}

.cysl-play-btn.is-hidden {
    opacity: 0;
    pointer-events: none;
}

/* 呼吸灯圆环 */
.cysl-play-ring {
    position: absolute;
    border-radius: 50%;
    animation: cyslBreathe 2s ease-in-out infinite;
}

.cysl-play-ring--1 {
    width: 136px;
    height: 136px;
    border: 1px solid rgba(255, 255, 255, 0.20);
    animation-delay: 0s;
}

.cysl-play-ring--2 {
    width: 106px;
    height: 106px;
    background: rgba(255, 255, 255, 0.30);
    animation-delay: 0.6s;
}

.cysl-play-ring--3 {
    width: 70px;
    height: 70px;
    background: rgba(0, 192, 221, 0.50);
    animation-delay: 1.2s;
}

/* 播放图标 */
.cysl-play-icon {
    position: relative;
    z-index: 4;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cysl-play-icon img {
    display: block;
    width: 40px;
    height: 40px;
}

/* 呼吸动画 */
@keyframes cyslBreathe {

    0%,
    100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.15);
        opacity: 0.5;
    }
}

@media (max-width:1100px) {
    .cysl-data-curve {
        width: calc(100% - 60px);
        height: 80%;
    }

    .cysl-circle--top-left {
        left: 54px;
        top: 85px;
    }

    .cysl-circle--bottom-left {
        left: 30%;
        top: 52%;
    }

    .cysl-circle--bottom-right {
        right: 30%;
        top: 52%;
    }

    .cysl-circle--top-right {
        right: 54px;
        top: 85px;
    }

}

@media (max-width:991px) {
    .ppsl_cysl {
        padding-top: 80px;
    }

    .cysl-data-panel {
        margin-left: 42px;
        margin-right: 42px;
    }

    .cysl-circle {
        width: 84px;
        height: 84px;
    }

    .cysl-circle-bg {
        padding: 10px;
        width: 84px;
        height: 84px;
    }

    .cysl-data-logo {
        width: 30%;
    }

    .cysl-circle--top-left {
        left: 34px;
    }

    .cysl-circle--bottom-left {
        top: 50%;
    }

    .cysl-circle--bottom-right {
        top: 50%;
    }

    .cysl-circle--top-right {
        right: 34px;
    }

}


@media (max-width: 767px) {
    .ppsl_cysl {
        padding-top: 50px;
    }

    .ppsl_cysl .deve-header {
        margin-bottom: 36px;
    }

    .cysl-data-chart {
        height: auto;
        display: flex;
        flex-wrap: wrap;
    }

    .cysl-factory {
        margin-bottom: 0;
    }

    .cysl-data-logo,
    .cysl-data-curve {
        display: none !important;
    }

    .cysl-factory-card {
        padding-bottom: 50%;
        border-radius: 16px;
    }

    .cysl-data-panel {
        padding-top: 30px;
        margin-left: 0;
        margin-right: 0;
    }

    .cysl-circle {
        position: relative;
        display: flex;
        flex-flow: column;
        align-items: center;
        left: inherit !important;
        top: inherit !important;
        right: inherit !important;
        width: 50%;
        height: auto;
        padding: 15px 10px;
    }

    .cysl-circle-bg {
        padding: 14px;
        width: 70px;
        height: 70px;
    }

    .cysl-circle-bg,
    .cysl-circle-content {
        position: relative;
        left: inherit !important;
        top: inherit !important;
        right: inherit !important;
        text-align: center;
    }

    .cysl-num-val {
        font-size: 28px;
    }

    .cysl-circle-label {
        font-size: 14px;
    }

    .cysl-video-section {
        padding: 40px 0 90px;
    }

    .cysl-video-card {
        margin-top: 30px;
        border-radius: 12px;
        padding-bottom: 60%;
    }

    .cysl-play-ring--1 {
        width: 70px;
        height: 70px;
    }

    .cysl-play-ring--2 {
        width: 50px;
        height: 50px;
    }

    .cysl-play-ring--3 {
        width: 36px;
        height: 36px;
    }

    .cysl-play-btn {
        width: 90px;
        height: 90px;
    }
.cysl-play-icon {
    width: 30px;
    height: 30px;
}
    .cysl-play-icon img {
        width: 20px;
        height: 20px;
    }
}

/* 品质认证 */
.ppsl_pprz {
    padding-top: 100px;
    overflow: hidden;
}

.honor_content {
    position: relative;
    padding-bottom: 57px;

    z-index: 1;
    overflow: hidden;
}

.honor_content::after {
    content: "";
    position: absolute;
    left: 0;
    width: 100%;
    bottom: 0;
    height: 250px;
    background: linear-gradient(42deg, rgba(0, 192, 221, 0.00) 48.36%, #00C0DD 113.42%), linear-gradient(180deg, #00C0DD 0%, #00C0DD 184.57%);
    z-index: -1;
}

.honor_content .rs_cen {
    padding-top: 50px;
}

.honor_content .rs_cen .bg {
    position: relative;
    padding: 24px 22px;
    background-image: url(../images/pz_border.png);
    background-repeat: no-repeat;
    background-size: cover;
    z-index: 1;
}

.honor_content .bg img {
    width: 100%;
}

.honor_content .bg img:nth-child(1) {
    position: absolute;
    top: 24px;
    left: 22px;
    width: calc(100% - 44px);
    height: calc(100% - 48px);
    object-fit: cover;
}

.honor_content .rs_cen .swiper-slide .bg {

    transition: 0.4s;
    transform: scale(0.8);
    transform-origin: center bottom;
    width: 100%;
}

.honor_content .rs_cen .swiper-slide-active .bg {
    transform: scale(1);
}

.honor_content .rs_cen .swiper_list p {
    display: none;
    padding-top: 32px;
    color: var(--white-color);
    text-align: center;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 32px;
}

.honor_content .rs_cen .swiper_list p.active {
    display: block;
}

.honor-pagination {
    position: relative;
    padding-top: 48px;
    text-align: center;
}

.honor-pagination span {
    width: 48px;
    height: 3px;
    background-color: rgba(255, 255, 255, 0.20);
    border-radius: 0;
    margin: 0 4px;
    opacity: 1;
    transition: background-color .4s;
    cursor: pointer;
}

.honor-pagination span.swiper-pagination-bullet-active {
    background-color: var(--white-color);
}

@media (max-width: 1024px) {
    .ppsl_pprz {
        padding-top: 80px;
    }
}

@media (max-width: 767px) {
    .ppsl_pprz {
        padding-top: 50px;
    }

    .honor_content {
        padding-bottom: 45px;
    }

    .honor_content::after {
        height: 210px;
    }

    .honor_content .my-container {
        padding: 0;
    }

    .honor_content .rs_cen .bg {
        padding: 14px 12px;
    }

    .honor_content .bg img:nth-child(1) {
        top: 14px;
        left: 12px;
        width: calc(100% - 24px);
        height: calc(100% - 28px);
    }
    .honor_content .rs_cen .swiper_list p {
        padding-left: 10px;
        padding-right: 10px;
        min-height: 64px;
        font-size: 18px;
    }
    .honor-pagination span {
        margin: 0;
        width: 18px;
    }

    .honor-pagination {
        padding-top: 30px;
    }
}

/* =============================================
   产品中心 — 侧边筛选导航
   ============================================= */
.product-page {
    padding-top: 80px;
    padding-bottom: 180px;
}

.prod-layout {
    display: flex;
    align-items: flex-start;
}

/* ---------- 左侧导航 ---------- */
.prod-sidebar {
    width: 340px;
    position: sticky;
    top: 100px;
}

.prod-sidebar-inner {

    padding: 20px;
    background-color: #FAFAFA;
    border-radius: 30px;
    overflow: hidden;
}

.pro_menu_border {
    padding: 30px 20px;
    margin-top: 20px;
    border-radius: 30px;
    background: #FFF;
}

/* 狗粮/猫粮 分类切换 */
.prod-species-toggle {
    display: flex;
    padding: 6px;
    border-radius: 50px;
    background: #FFF;
}

.prod-species-btn {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    border: none;
    border-radius: 30px;
    background: transparent;
    cursor: pointer;
    font-size: 20px;
    font-weight: 700;

    color: #666;
    transition: background 0.25s, color 0.25s;
    position: relative;
}

.prod-species-btn span {
    font-weight: 700;
}

.prod-species-btn.is-active {
    background: var(--main-color);
    color: #fff;
}

.prod-species-icon {
    margin-right: 15px;
    width: 28px;
    display: block;
}

/* 默认显示 normal 图标 */
.prod-species-icon--active {
    display: none;
}

.prod-species-btn.is-active .prod-species-icon--active {
    display: block;
}

.prod-species-btn.is-active .prod-species-icon--normal {
    display: none;
}

.prod-species-btn:not(.is-active) .prod-species-icon--normal {
    display: block;
}

.prod-species-btn:not(.is-active) .prod-species-icon--active {
    display: none;
}

/* 导航内容区 */

.prod-nav-section {

    margin-bottom: 30px;
    border-bottom: 1px solid #EEEEEE;
}

.is-expanded {
    padding-bottom: 30px;
}

.prod-nav-section:last-of-type {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
}

/* 分组标题栏（可点击折叠） */
.prod-nav-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
    cursor: pointer;
    user-select: none;
}

.prod-nav-header-title {
    display: flex;
    align-items: center;
}

.prod-nav-header-title img {
    margin-right: 8px;
    width: 16px;
    height: 16px;
    display: block;
}

.prod-nav-header-title span {
    font-size: 18px;
    font-weight: 700;
    color: #222;
}

/* 箭头旋转 */
.prod-nav-chevron {
    width: 24px;
    height: 24px;
    display: block;
    transition: transform 0.3s ease;
}

.prod-nav-section:not(.is-expanded) .prod-nav-chevron {
    transform: rotate(180deg);
}

/* 导航项列表 */
.prod-nav-body {
    overflow: hidden;
    transition: max-height 0.35s ease, opacity 0.25s ease;
    max-height: 800px;
    opacity: 1;
}

.prod-nav-section:not(.is-expanded) .prod-nav-body {
    max-height: 0;
    opacity: 0;
}

/* 每个导航项 */
.prod-nav-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 9px 24px;
    margin-bottom: 10px;
    font-size: 16px;
    font-weight: 400;
    color: #666;
    text-decoration: none;
    border-radius: 30px;
    transition: background 0.2s, color 0.2s;
    white-space: nowrap;
}

.prod-nav-item i {
    margin-left: 10px;
    width: 16px;
    height: 16px;
    display: block;
    background-image: url(../images/prod_active_arrow.svg);
    background-repeat: no-repeat;
    background-size: 100%;
    opacity: 0;
    transition: opacity 0.2s;
}

.prod-nav-item:last-child {
    margin-bottom: 0;
}

.prod-nav-item:hover,
.prod-nav-item.is-active {
    color: var(--main-color);
    background: rgba(0, 193, 222, 0.10);
}

.prod-nav-item:hover i,
.prod-nav-item.is-active i {
    opacity: 1;

}

.prod-nav-item-arrow {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    margin-left: 8px;
}

/* ---------- 右侧主内容 ---------- */
.prod-main {
    flex: 1;
    min-width: 0;
    padding-left: 60px;
}

/* ---------- 产品卡片列表 ---------- */
.prod-list-grid {
    display: flex;
    flex-wrap: wrap;
    padding-bottom: 20px;
    margin-left: -40px;
    margin-right: -40px;
    margin-top: -12px;
}

.prod-list-grid>li {
    padding: 12px 40px;
    width: 33.33%;
}

.prod-card {
    display: block;
    text-decoration: none;
    color: inherit;
    overflow: hidden;
}

.prod-card:hover .prod-card-img {
    transform: scale(1.08);
}

.prod-card:hover .prod-card-more {
    opacity: 1;
    transform: translateY(0);
}

/* 卡片图区 */
.prod-card-img-wrap {
    position: relative;
    padding: 48px 20px;
    width: 100%;
    border-radius: 30px;
    background-color: #FAFAFA;
    overflow: hidden;
}

.prod-card-img-wrap .img {
    position: relative;
    max-width: 207px;
    margin: 0 auto;
}

.prod-card-bg {
    width: 100%;
    height: 100%;
}

/* 产品图片 */
.prod-card-img {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    z-index: 1;
    transition: transform 0.4s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

/* 角标 */
.prod-card-tag {
    position: absolute;
    right: 20px;
    top: 20px;
    z-index: 2;
    width: 62px;
    height: auto;
    pointer-events: none;
}

/* 卡片信息区 */
.prod-card-info {
    padding-top: 20px;
    padding-bottom: 10px;
    text-align: center;
}

.prod-card-name {
    font-size: 18px;
    font-weight: 700;
    color: var(--dark-color);
    line-height: 1.4;
    overflow: hidden;
    white-space: nowrap;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    margin-bottom: 4px;
}

.prod-card-desc {
    font-size: 16px;
    font-weight: 400;
    color: #666;
    line-height: 1.4;
    overflow: hidden;
    white-space: nowrap;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
    margin-bottom: 10px;
}

/* "了解更多" 按钮 — 默认隐藏 */
.prod-card-more {
    display: inline-flex;
    align-items: center;
    opacity: 0;
    transform: translateY(6px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.prod-card-more span {
    font-size: 16px;
    font-weight: 400;
    color: var(--main-color);
    line-height: 1;
}

.prod-card-more i {
    display: inline-block;
    margin-left: 10px;
    width: 18px;
    height: 18px;
    background-image: url(../images/pro_jt.svg);
}

.prod-card.is-touched .prod-card-img {
    transform: scale(1.08);
}

.prod-card.is-touched .prod-card-more {
    opacity: 1;
    transform: translateY(0);
}

@media (max-width: 1440px) {
    .prod-list-grid {
        margin-left: -30px;
        margin-right: -30px;
    }

    .prod-list-grid>li {
        padding: 10px 30px;
    }

}

@media (max-width: 1366px) {
    .prod-main {
        padding-left: 40px;
    }

    .prod-list-grid {
        margin-left: -20px;
        margin-right: -20px;
    }

    .prod-list-grid>li {
        padding: 10px 20px;
    }

    .prod-card-img-wrap {
        padding: 40px 20px;
    }

    .prod-card-tag {
        right: 15px;
        top: 15px;
    }

}

@media (max-width: 1280px) {
    .prod-sidebar {
        width: 300px;
    }

    .prod-list-grid {
        margin-left: -15px;
        margin-right: -15px;
    }

    .prod-list-grid>li {
        padding: 10px 15px;
    }
}

@media (max-width: 991px) {
    .prod-sidebar {
        width: 280px;
    }

    .pro_menu_border {
        padding: 30px 15px;
    }

    .prod-species-icon {
        margin-right: 10px;
        width: 25px;
        height: 25px;
    }

    .prod-list-grid>li {
        width: 50%;
    }

}

@media (max-width: 767px) {
    .product-page {
        padding-top: 50px;
        padding-bottom: 80px;
    }
 .prod-sidebar {
        position: static;
        top: inherit;
    }
    .prod-layout {
        flex-direction: column;
    }

    .prod-sidebar {
        width: 100%;
        position: static;
    }

    .pro_menu_border .prod-nav-section:nth-child(2) .prod-nav-header {
        margin-bottom: 0;
        transition: margin .3s;
    }

    .pro_menu_border .is-expanded .prod-nav-header {
        margin-bottom: 20px !important;
    }

    .prod-sidebar-inner {
        padding: 20px 10px;
        border-radius: 20px;
    }

    .prod-card-img-wrap {
        border-radius: 24px;
    }

    .prod-main {
        padding-left: 0px;
        padding-top: 30px;
    }

    .prod-list-grid>li {
        width: 100%;
    }

    .prod-card-more {
        opacity: 1;
    }

}



/*page*/
.paged {
    padding: 100px 0 60px 0;
    text-align: center;
    overflow: hidden;
}

.paged .pagination {
    display: flex;
    align-items: center;
    justify-content: center;
}

.paged .pagination li {
    display: inline-block;
    padding: 0 20px;

}

.paged:after {
    clear: both;
    content: '';
    width: 0px;
    display: block;
    height: 0px;
    visibility: hidden;
}

.paged span,
.paged a {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 50px;
    font-size: 18px;
    font-weight: 400;
    color: #666;
}

.paged a:hover,
.paged .active span {
    color: #222;
    font-weight: 700;
}

.paged ul li:first-child span,
.paged ul li:last-child a,
.paged ul li:first-child a,
.paged ul li:last-child span {
    height: 62px;
    width: 62px;
    border-radius: 50%;
    background: #FFF;
}

.paged a:hover svg path {
    stroke: var(--main-color);
}

@media (max-width:991px) {

    .paged {
        padding: 60px 0 40px 0;
    }
}

@media (max-width:767px) {
    .paged {
        padding: 30px 0 30px 0;
    }

    .paged span,
    .paged a {
        font-size: 14px;
        height: 40px;
    }

    .paged .pagination li {
        display: inline-block;
        padding: 0 10px;

    }

    .paged ul li:first-child span,
    .paged ul li:last-child a,
    .paged ul li:first-child a,
    .paged ul li:last-child span {
        width: 40px;
        height: 40px;
    }

}

/* =============================================
   产品详情页
   ============================================= */
.height100 {
    height: 100px;
}

.prodtail-page {
    padding-top: 80px;
    padding-bottom: 180px;
    background-color: #FAFAFA;
}

.pdetail-layout {
    display: flex;
    align-items: flex-start;
    padding-bottom: 100px;
}

/* ---------- 左侧：产品图（sticky） ---------- */
.pdetail-left {
    width: 588px;
    flex-shrink: 0;
    position: sticky;
    top: 150px;
}

.pdetail-img-wrap {
    position: relative;
    padding: 100px 25px;
    z-index: 1;
}

/* 装饰背景 */
.pdetail-bg-decor {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    border-radius: 30px;
    opacity: 0.04;
    background: var(--main-color);
    z-index: -1;
}

/* 产品主图 */
.pdetail-product-img {
    position: relative;
    z-index: 2;
    text-align: center;
}

.pdetail-product-img>div {
    position: relative;
    max-width: 417px;
    margin: 0 auto;
}

.pdetail-product-img img:nth-child(1) {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.pdetail-product-img img {
    width: 100%;
}

/* 装饰徽章 */
.pdetail-badge {
    position: absolute;
    right: 42px;
    top: 42px;
    width: 21.4%;
    z-index: 3;
}

.pdetail-badge img {
    width: 100%;
}

/* ---------- 右侧：产品信息 ---------- */
.pdetail-right {
    flex: 1;
    min-width: 0;
    padding-left: 125px;
}

.pdetail-info {
    padding-top: 0;
}

.pdetail-icon img {
    height: 30px;
    width: auto;
}

/* 产品标题 */
.pdetail-title {
    margin-top: 30px;
    font-weight: 700;
    color: var(--light-color);
    line-height: 1.3;
}

/* 产品描述 */
.pdetail-desc {
    margin-top: 30px;
    font-size: 16px;
    font-weight: 400;
    color: #666;
    line-height: 1.6;
}

/* 产品参数框 */
.pdetail-params {
    margin-top: 30px;
    padding: 20px;
    border-radius: 10px;
    border: 1px solid #EEE;
    background: #FFF;
}

.pdetail-params p {
    padding-bottom: 20px;
    font-size: 16px;
    font-weight: 400;
    color: #666;
    line-height: 1.2;
}

.pdetail-params p:last-child {
    padding-bottom: 0;
}

/* 操作按钮 */
.pdetail-actions {
    padding-top: 138px;
    display: flex;
}

/* 查看详情 - 描边按钮 */
.pdetail-btn-outline {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 53px;
    padding: 15px 40px 15px 41px;
    border: 1px solid var(--main-color);
    border-radius: 30px;
    font-size: 16px;
    font-weight: 400;
    color: var(--main-color);
    text-decoration: none;
    transition: all 0.3s ease;
    cursor: pointer;
}

.pdetail-btn-outline svg {
    margin-left: 10px;
    width: 18px;
}

.pdetail-btn-outline:hover {
    background: var(--main-color);
    color: #fff;
    /* transform: translateY(-2px); */
}

.pdetail-btn-outline:hover svg path {
    stroke: #fff;
}

.pdetail-actions .brand-btn-wrap {
    margin-left: 20px;
}

/* ---------- 标签栏 ---------- */
.pdetail-tabs {
    margin-top: 60px;

}

.pdetail-tab-header {
    position: relative;
    display: flex;
    z-index: 1;
}

.pdetail-tab-header::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 1px;
    background-color: #EEEEEE;
    z-index: -1;
}

.pdetail-tab-item {
    display: inline-flex;
    align-items: center;
    padding-bottom: 16px;
    font-weight: 700;
    color: var(--main-color);
    border-bottom: 2px solid var(--main-color);
}


/* ---------- 详情大图 ---------- */
.pdetail-content {
    margin-top: 40px;
}

.pdetail-content img {
    width: 100%;
    /* border-radius: 36px 36px 0 0; */
    display: block;
}

.other_title {
    color: var(--light-color);
    text-align: center;
    font-style: normal;
    font-weight: 700;
    line-height: normal;
}

.other_product {
    margin-top: 60px;
}

.other_product .prod-card-img-wrap {
    background-color: var(--white-color);
}

.prod-pagination {
    margin-top: 30px;
    text-align: center;
}

.prod-pagination span {
    width: 12px;
    height: 6px;
    border-radius: 4px;
    margin: 0 4px;
}

.prod-pagination .swiper-pagination-bullet-active {
    width: 18px;
}

/* =============================================
   产品详情 — 响应式
   ============================================= */
@media (max-width: 1440px) {

    .pdetail-left {
        width: 500px;
    }

}

@media (max-width: 1366px) {

    .pdetail-left {
        width: 440px;
    }

}

@media (max-width: 1280px) {
    .pdetail-right {
        padding-left: 80px;
    }

}

@media (max-width: 991px) {
    .height100 {
        height: 80px;
    }

    .pdetail-layout {
        padding-bottom: 60px;
        flex-direction: column;
    }

    .pdetail-left {
        width: 100%;
        position: static;
    }

    .pdetail-right {
        padding-left: 0;
        padding-top: 50px;
    }

    .pdetail-actions {
        padding-top: 50px;
    }

    .pro_xq_down {
        padding: 0 0 80px 0;
    }
}



@media (max-width: 767px) {
    .height100 {
        height: 70px;
    }

    .pdetail-title {
        margin-top: 20px;
    }

    .prodtail-page {
        padding-top: 50px;
        padding-bottom: 120px;
        overflow: hidden;
    }

    .pdetail-layout {
        padding-bottom: 0;
    }

    .pdetail-badge {
        right: 16px;
        top: 16px;
    }

    .pdetail-img-wrap {
        max-width: 100%;
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .pdetail-params p {
        padding-bottom: 16px;
    }

    .pdetail-bg-decor {
        border-radius: 20px;
    }

    .pdetail-desc {
        margin-top: 20px;
    }

    .pdetail-params {
        padding: 16px;
        margin-top: 20px;
    }

    .pdetail-actions a {
        padding: 15px 20px 15px 21px;
    }

    .pdetail-actions .brand-btn-wrap {
        margin-left: 10px;
    }

    .pdetail-tabs {
        margin-top: 36px;
    }

    .pdetail-content {
        margin-top: 24px;
    }

    .pdetail-content img {
        border-radius: 20px 20px 0 0;
    }


}

/* 详情翻页 */
.new_page {
    display: flex;
    align-items: center;
    justify-content: center;
}

.newxq_prev span,
.newxxq_next span {
    color: var(--dark-color);
    font-size: 16px;
    font-weight: 400;
    line-height: 26px;
    flex: 1;
    overflow: hidden;
    white-space: nowrap;
    -o-text-overflow: ellipsis;
    text-overflow: ellipsis;
}

.newxq_prev span {
    text-align: right;
}

.newxq_prev span em,
.newxxq_next span em {
    font-style: normal;
    margin-left: 16px;
}

.newxq_list,
.newxq_prev,
.newxxq_next {
    padding: 16px 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    border-radius: 50px;
    background: var(--white-color);
    font-size: 16px;
    cursor: pointer;
}

.newxq_list {
    justify-content: center;
    background: var(--white-color);
}

.newxq_prev svg {
    margin-right: 16px;
}

.newxxq_next svg {
    margin-left: 16px;
}

.newxq_list::after {
    content: '';
    height: 80%;
    width: 1px;
    background-color: rgba(0, 0, 0, 0.10);
    position: absolute;
    left: -40px;
}

.newxq_list::before {
    content: '';
    height: 80%;
    width: 1px;
    background-color: rgba(0, 0, 0, 0.10);
    position: absolute;
    right: -40px;
}

.newxq_list {
    margin-left: 34px;
    margin-right: 34px;
    position: relative;
}

.newxq_list svg {
    margin-left: 16px;
}

.newxq_prev {
    margin-right: 34px;
}

.newxxq_next {
    margin-left: 34px;
}

.newxq_prev:hover span {
    color: #fff;
    transition: .3s;
}

.newxq_prev:hover {
    background: var(--main-color);
    transition: .3s;
}

.newxxq_next:hover {
    background: var(--main-color);
    transition: .3s;
}

.newxq_prev:hover svg path {
    stroke: #fff;
    transition: .3s;
}

.newxxq_next:hover span {
    color: #fff;
    transition: .3s;
}

.newxxq_next:hover svg path {
    stroke: #fff;
    transition: .3s;
}

.newxq_list:hover {
    background: var(--main-color);
    color: #FFF
}

.newxq_list:hover a {
    color: #fff;
}

.newxq_list:hover svg path {
    stroke: #fff;
    transition: .3s;
}

@media (max-width:767px) {
    .article_text .des span:nth-child(2) {
        margin-left: 10px;
        margin-right: 10px;
    }

    .article_box {
        padding-top: 30px;
    }

    .new_page {
        flex-wrap: wrap;
    }

    .newxq_list,
    .newxq_prev,
    .newxxq_next {
        padding: 10px 16px;
        font-size: 14px;
        margin: 0;
    }

    .newxq_prev span,
    .newxxq_next span {
        font-size: 14px;
    }

    .newxq_list {
        margin-left: 5px;
        margin-right: 5px;
    }

    .newxq_list svg {
        margin-left: 4px;
        width: 16px;
    }

    .newxq_prev svg {
        margin-right: 4px;
        width: 16px;
    }

    .newxxq_next svg {
        margin-left: 4px;
        width: 16px;
    }

    .newxq_list::before,
    .newxq_list::after {
        display: none;
    }

    .newxq_prev span {
        font-size: 14px;
    }

}

.pro_xq_down {
    padding: 0 0 100px 0;
}

.pro_xq_down .new_page {
    justify-content: space-between;
}

.pro_xq_down .newxq_list {
    width: 278px;
}

.pro_xq_down .new_page a:first-child,
.pro_xq_down .new_page a:nth-child(3) {
    width: calc(50% - 220px);
}

.pro_xq_down .newxq_prev {
    margin-right: 0;
}

.pro_xq_down .newxxq_next {
    margin-left: 0;
}

.pro_xq_down .newxq_prev,
.pro_xq_down .newxxq_next {
    padding: 16px 32px;
}


.pro_xq_down .newxq_list {
    padding: 16px 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50px;
    background: var(--white-color);
    font-size: 16px;
    line-height: 26px;
    cursor: pointer;
}

.pro_xq_down a:hover .newxq_list {
    background: var(--main-color);
    transition: all .3s;
}

@media (max-width:991px) {

    .pro_xq_down .newxq_list {
        width: 200px;
    }

    .pro_xq_down .new_page a:first-child,
    .pro_xq_down .new_page a:nth-child(3) {
        width: calc(50% - 180px);
    }

    .newxq_list {
        margin-left: 20px;
        margin-right: 20px;
    }


}

@media (max-width:767px) {
    .pro_xq_down {
        padding: 50px 0;
    }

    .pro_xq_down .newxq_prev,
    .pro_xq_down .newxxq_next {
        padding: 12px 15px;
    }

    .pro_xq_down .new_page a:first-child,
    .pro_xq_down .new_page a:nth-child(3) {
        width: calc(50% - 10px);
    }

    .other_product {
        margin-top: 40px;
        overflow: visible;
    }
}

/* =============================================
   文章详情页 — 背景固定 + 白卡片内滚动
   ============================================= */
.article-detail-page {}

.article-detail-wrapper {
    width: 100%;
}

/* ---------- 背景图 — 固定 ---------- */
.article-bg-fixed {
    position: fixed;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
}

.article-bg-fixed img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* ---------- 左侧返回按钮 — 固定 ---------- */
.article-nav-prev {
    position: fixed;
    left: 80px;
    top: calc(100vh - 100px);
    z-index: 10;
    display: inline-flex;
    align-items: center;
    height: 49px;
    padding: 0 28px 0 20px;
    background: var(--main-color);
    border-radius: 30px;
    transition: background 0.25s;
}

.article-nav-prev svg {
    margin-right: 20px;
}

.article-nav-prev span {
    font-size: 16px;
    font-weight: 400;
    color: var(--white-color);
    white-space: nowrap;
}

.article-nav-prev:hover {
    background: var(--white-color);
}


/* ---------- 右侧"下一条" — 固定 ---------- */
.article-nav-next-wrap {
    position: fixed;
    right: 80px;
    top: calc(100vh - 100px);
    display: flex;
    align-items: center;
    z-index: 10;
}

.article-nav-label {
    margin-right: 20px;
    font-size: 16px;
    font-weight: 400;
    color: var(--white-color);
    white-space: nowrap;
}

.article-nav-next-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: var(--main-color);
    border-radius: 50%;
    text-decoration: none;
    transition: background 0.25s, transform 0.2s;
    flex-shrink: 0;
}

.article-nav-next-wrap:hover .article-nav-next-circle {
    background-color: var(--white-color);
}

.article-nav-next-wrap:hover .article-nav-next-circle svg path {
    stroke: var(--main-color);
}


/* ---------- 白色内容卡片 — 固定位置，内部滚动 ---------- */
.article-card {
    position: sticky;
    top: 100px;
    padding-top: 160px;
    width: 100%;
}

.article-card-inner {
    padding: 50px;
    padding-bottom: 80px;
    background: var(--white-color);
    border-radius: 30px 30px 0 0;
    max-width: 1196px;
    margin: 0 auto;
}

.article-card-header {
    padding-bottom: 30px;
    border-bottom: 1px solid #EEEEEE;
}

.article-card-date {
    font-size: 18px;
    font-weight: 400;
    color: #666;
    margin-bottom: 16px;
}

.article-card-title {
    font-weight: 700;
    color: #222;
    line-height: 1.4;
}

.article-card-body {
    padding-top: 30px;
    padding-bottom: 0;
}

.article-card-body p {
    font-size: 16px;
    font-weight: 400;
    color: #666;
    line-height: 1.6;
    margin-bottom: 30px;
}

.article-card-body img,
.article-card-body p img {
    max-width: 800px !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 auto;
    display: block;
}

/* =============================================
   文章详情 — 响应式
   ============================================= */
@media (max-width: 1680px) {
    .article-nav-prev {
        left: 60px;
    }

    .article-nav-next-wrap {
        right: 60px;
    }

}

@media (max-width: 1679px) {

    .article-card-inner {
        margin-left: 40px;
        margin-right: 40px;
    }

}

@media (max-width: 1580px) {
    .article-nav-prev {
        left: 20px;
    }

    .article-nav-next-wrap {
        right: 20px;
    }

    .article-card-inner {
        margin-left: 45px;
        margin-right: 45px;
    }

    .article-nav-label {
        margin-right: 10px;
    }
}

@media (max-width: 1365px) {
    .article-nav-prev {
        left: 10px;
    }

    .article-nav-next-wrap {
        right: 10px;
    }
}

@media (max-width: 1279px) {
    .article-card-inner {
        margin-left: 50px;
        margin-right: 50px;
    }

    .article-nav-prev svg {
        margin-right: 16px;
    }
}

@media (max-width:991px) {

    .article-nav-prev,
    .article-nav-next-wrap {
        top: calc(100vh - 150px);
    }

    .article-nav-next-circle {
        width: 40px;
        height: 40px;
    }

    .article-card-inner {
        margin-left: 65px;
        margin-right: 65px;
    }

    .article-nav-prev {
        padding: 0 20px 0 16px;
    }

    .article-nav-label {
        margin-right: 6px;
        font-size: 14px;
    }
}

@media (max-width: 767px) {
    .article-card {
        padding-top: 100px;
    }

    .article-card {
        width: 100%;
        max-width: 100%;
    }

    .article-card-inner {
        margin-left: 0;
        margin-right: 0;
        padding-top: 30px;
        padding-left: 20px;
        padding-right: 20px;
        padding-bottom: 140px;
    }

    .article-card-header {
        padding-bottom: 20px;
    }

    .article-card-body {
        padding-bottom: 0;
    }

    .article-image img {
        border-radius: 8px;
    }

    .article-detail-wrapper {
        position: relative;
    }

    .article-nav-prev,
    .article-nav-next-wrap {
        position: absolute;
        top: inherit;
        left: inherit;
        bottom: 70px;
    }

    .article-nav-prev {
        left: 26px;
    }

    .article-nav-prev svg {
        margin-right: 10px;
    }

    .article-nav-next-wrap {
        right: 26px;
    }

    .article-nav-label {
        color: #666;
        font-size: 16px;
    }

    .article-nav-prev {
        height: 40px;
    }

}

/* ===== 新闻列表 ===== */
.new_bg {
    padding-top: 70px;
    padding-bottom: 120px;
    background-color: #FAFAFA;
}

.news-list ul li {
    padding: 30px 0;
    border-bottom: 1px solid #EEE;
}

.news-item {
    display: flex;
    align-items: stretch;
}

/* 日期 */
.news-date {
    width: 120px;
    font-family: 'Montserrat';
    font-size: 16px;
    font-weight: 500;
    color: #222222;
    transition: color .3s;
}

.news-img {
    margin-left: 170px;
    position: relative;
    width: 413px;
    border-radius: 30px;
    overflow: hidden;
}

.news-img img:nth-child(1) {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.news-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.45s ease;
}

.news-item:hover .news-img img {
    transform: scale(1.05);
}

/* 文字信息区 */
.news-info {
    position: relative;
    flex: 1;
    min-width: 0;
    margin-left: 50px;
    padding-top: 12px;
}

.news-title {
    font-weight: 700;
    color: #222222;
    height: 72px;
    line-height: 36px;
    transition: color .3s;
}

.news-desc {
    margin-top: 20px;
    font-size: 16px;
    color: #666666;
    height: 42px;
    line-height: 21px;
    overflow: hidden;
}

.news-more {
    position: absolute;
    left: 0;
    bottom: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 62px;
    height: 62px;
    background-color: var(--white-color);
    border-radius: 50%;
    z-index: 1;
    transition: transform 0.25s ease;
}

.news-more svg {
    width: 14px;
    height: 14px;
}

.news-more:after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 0;
    height: 0;
    border-radius: 50%;
    background-color: var(--main-color);
    z-index: -1;
    transition: all .3s;
}

.news-item:hover .news-date,
.news-item:hover .news-title {
    color: var(--main-color);
}

.news-item:hover .news-more:after {
    width: 100%;
    height: 100%;
}

.news-item:hover .news-more svg path {
    stroke: var(--white-color);
}

/* ---------- 平板 ---------- */
@media (max-width: 1440px) {
    .news-img {
        margin-left: 100px;
        width: 400px;
    }
}

@media (max-width: 1366px) {
    .news-img {
        margin-left: 80px;
        width: 380px;
    }
}

@media (max-width: 1280px) {
    .news-img {
        margin-left: 60px;
    }
}

@media (max-width: 1200px) {
    .news-img {
        margin-left: 20px;
        width: 360px;
    }

    .news-info {
        margin-left: 30px;
        padding-top: 0;
    }
}

@media (max-width: 991px) {
    .news-img {
        width: 300px;
    }

    .news-title {
        height: 60px;
        line-height: 30px;
    }

    .news-more {
        width: 52px;
        height: 52px;
    }
}

/* ---------- 移动端 ---------- */
@media (max-width: 767px) {
    .new_bg {
        padding-top: 40px;
        padding-bottom: 120px;
    }

    .news-item {
        flex-direction: column;
    }

    /* 图片置顶 */
    .news-img {
        width: 100%;
        height: auto;
        margin-left: 0;
        order: 1;
    }

    .news-item:hover .news-img img {
        transform: none;
    }

    /* 日期放在图片下方 */
    .news-date {
        width: auto;
        margin: 20px 0 10px 0;
        order: 2;
    }

    /* 标题和描述在日期下方 */
    .news-info {
        padding-top: 0;
        margin-left: 0;
        order: 3;
    }

    .news-more {
        position: relative;
        margin-top: 25px;
        bottom: inherit;
    }

    .news-more img {
        width: 40px;
    }

    .news-item:hover .news-more {
        transform: none;
    }
}

/* =============================================
   经销商信息板块
   ============================================= */
.jxx_bg {
    padding-bottom: 110px;
    background-color: #FAFAFA;
}

.jxx_bg .paged {
    padding: 70px 0 60px 0;
}

.dealer-section {
    padding-top: 80px;
}

.dealer-header {
    position: relative;
    padding-bottom: 20px;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}

.dealer-header::before {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #EEE;
}

.dealer-tabs {
    display: flex;
    align-items: center;
    position: relative;
    margin-left: -25px;
    margin-right: -25px;
}

.dealer-tab {
    position: relative;
    display: flex;
    align-items: center;
    min-height: 58px;
    margin: 0 25px;
    cursor: pointer;
    transition: color 0.3s ease;
}

.dealer-tab .dtab-icon {
    width: 20px;
    height: 20px;
    display: flex;
}

.dealer-tab .dtab-icon img {
    width: 100%;
}

.dealer-tab .dtab-icon img:nth-child(2) {
    display: none;
}

.dealer-tab .dtab-label {
    margin-left: 10px;
    font-size: 18px;
    font-weight: 400;
    color: #666;
    white-space: nowrap;
    transition: color 0.3s;
}

.dealer-tab .dtab-count {
    margin-left: 10px;
    color: #999;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.dealer-tab:after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -20px;
    transform: translateX(-50%);
    height: 2px;
    width: 0;
    background-color: var(--main-color);
    transition: width .3s;
}

.dealer-tab.active .dtab-label,
.dealer-tab:hover .dtab-label {
    color: var(--main-color);
    font-weight: 700;
}

.dealer-tab.active:after,
.dealer-tab:hover:after {
    width: 32px;
}

.dealer-tab.active .dtab-icon img:first-child,
.dealer-tab:hover .dtab-icon img:first-child {
    display: none;
}

.dealer-tab.active .dtab-icon img:nth-child(2),
.dealer-tab:hover .dtab-icon img:nth-child(2) {
    display: block;
}


/* 筛选区域 */
.dealer-filter {
    flex-shrink: 0;
}

/* 省市联动两列布局 */
.dealer-filter-cascade {
    display: flex;
}

.dealer-filter-cascade .dealer-filter-box {
    width: 200px;
    min-width: 160px;
}

.dealer-filter-cascade .dealer-filter-box:nth-child(2) {
    margin-left: 20px;
}

.dealer-filter-box {
    position: relative;
    display: inline-flex;
    align-items: center;
    padding: 16px;
    width: 300px;
    max-width: 100%;
    border-radius: 16px;
    border: 1px solid #EEE;
    background-color: var(--white-color);
    backdrop-filter: blur(4px);
    cursor: pointer;
    user-select: none;
    transition: background 0.25s;
    min-width: 180px;
    justify-content: space-between;
    z-index: 9;
}

.dealer-filter-box.open {
    background-color: var(--white-color);
}

.dealer-filter-box .filter-text {
    font-size: 16px;
    font-weight: 400;
    color: #657188;
}

.dealer-filter-box .filter-arrow {
    width: 24px;
    transition: transform 0.3s ease;
}

.dealer-filter-box.open .filter-arrow {
    transform: rotate(180deg);
}

/* 下拉选项 */
.filter-dropdown {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    min-width: 180px;
    width: 100%;
    width: 100%;
    max-height: 315px;
    overflow-y: auto;
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.1);
    padding: 8px;
    z-index: 20;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
}

.dealer-filter-box.open .filter-dropdown {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.filter-option {
    padding: 10px 16px;
    margin-bottom: 4px;
    font-size: 16px;
    color: #666;
    border-radius: 10px;
    cursor: pointer;
    transition: background 0.2s, color 0.2s;
    white-space: nowrap;
}

.filter-option:hover {
    background: rgba(0, 193, 222, 0.08);
    color: var(--main-color);
}

.filter-option.active {
    background: rgba(0, 193, 222, 0.12);
    color: var(--main-color);
    font-weight: 700;
}

.dealer-list {
    margin-top: 60px;
    display: flex;
    flex-wrap: wrap;
    margin-left: -20px;
    margin-right: -20px;
    min-height: 30vh;
}

.dealer-card {
    position: relative;
    margin-left: 20px;
    margin-right: 20px;
    margin-bottom: 25px;
    width: calc(33.33% - 40px);
    background-color: var(--white-color);
    border-radius: 30px;
    border: 1px solid #E2E8F0;
    padding: 26px;
    transition: box-shadow 0.3s ease, border 0.3s ease;
    overflow: hidden;
}

.dealer-card:hover {
    border: 1px solid rgba(0, 192, 221, 0.50);
    box-shadow: 0 0 10px 0 rgba(0, 151, 174, 0.10);
}

/* 平台标签 */
.dealer-card-badge {
    display: inline-flex;
    align-items: center;
    border-radius: 6px;
}

.badge-city {
    padding-left: 0;
}

.dealer-card-badge .badge-icon {
    margin-right: 6px;
    width: 14px;
    height: 14px;
}

.dealer-card-badge span {
    font-size: 14px;
    font-weight: 400;
}

/* 店铺名称 */
.dealer-card-name {
    margin-top: 16px;
    font-size: 18px;
    font-weight: 700;
    color: #222;
    line-height: 1.2;
    overflow: hidden;
    transition: color 0.3s;
}

/* URL 栏 */
.dealer-card-url {
    margin-top: 16px;
    display: flex;
    align-items: center;
    padding: 8px 10px;
    border-radius: 6px;
    border: 1px solid #F1F5F9;
    background: #FAFBFD;
}

.dealer-card-url-text {
    flex: 1;
    margin-right: 4px;
    font-size: 14px;
    color: #94A3B8;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dealer-card-copy {
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    cursor: pointer;
    /* transition: opacity 0.2s; */
}

.dealer-card-copy:hover {
    /* opacity: 1; */
}

/* ===== 复制 Toast 提示（在 dealer-card 内绝对居中）===== */
.copy-toast {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.8);
    background: rgba(0, 0, 0, 0.75);
    color: var(--white-color);
    font-size: 16px;
    padding: 12px 28px;
    border-radius: 8px;
    z-index: 10;
    pointer-events: none;
    white-space: nowrap;
    opacity: 0;
    transition: opacity 0.3s, transform 0.3s;
}

.copy-toast.show {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

/* "直达店铺" 按钮区 */
.dealer-card-action-wrap {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid #F5F5F5;
}

.dealer-card-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 14px 20px;
    border-radius: 6px;
    border: 1px solid #D9F6FA;
    background-color: #F2FCFD;
    text-decoration: none;
}

.dealer-card-action span {
    font-size: 14px;
    font-weight: 400;
    color: var(--main-color);
}

.dealer-card-action img {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
    transition: transform 0.3s;
}

@media (max-width: 1279px) {

    .dealer-list {
        margin-left: -15px;
        margin-right: -15px;
    }

    .dealer-card {
        margin-left: 15px;
        margin-right: 15px;
        width: calc(33.33% - 30px);

    }

}

@media (max-width: 991px) {
    .dealer-section {
        padding-top: 50px;
    }

    .dealer-header {
        flex-flow: column;
    }

    .dealer-tab:after {
        bottom: -6px;
    }

    .dealer-card {
        width: calc(50% - 30px);
    }

    .dealer-filter {
        margin-top: 30px;
    }

    .dealer-header::before {
        display: none;

    }

    .dealer-tabs {
        z-index: 1;
    }

    .dealer-tabs:after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -5px;
        width: 100%;
        height: 1px;
        background-color: #EEE;
        z-index: -1;
    }

}

/* ≤767px 移动端：单列 */
@media (max-width: 767px) {
    .jxx_bg {
        padding-bottom: 60px;
    }

    .jxx_bg .paged {
        padding: 30px 0 30px 0;
    }

    .dealer-section {
        padding-top: 50px;
    }

    .filter-dropdown {
        min-width: 120px;
    }

    .dealer-tabs {
        margin-left: 0;
        margin-right: 0;
        width: 100%;
    }

    .dealer-tab {
        margin: 0;
        width: 50%;
        min-height: 36px;
    }

    .dealer-tab .dtab-count {
        display: none;
    }

    .dealer-tab .dtab-label {
        margin-left: 6px;
    }

    .dealer-filter-box {
        width: 100%;
    }

    .dealer-filter {
        margin-top: 40px;
        width: 100%;
    }

    .dealer-filter-cascade .dealer-filter-box {
        width: 50%;
        min-width: 160px;
    }

    .dealer-list {
        margin-top: 40px;
        margin-left: -10px;
        margin-right: -10px;
    }

    .dealer-card {
        padding: 20px 16px;
        width: calc(100% - 20px);
        margin-left: 10px;
        margin-right: 10px;
    }



}

/* ==================== 联系我们 - 公司信息板块 ==================== */
.contact_bg {
    /* padding-bottom: 180px; */
    width: 100%;
    overflow: hidden;
}

.contact-info-wrap {
    display: flex;
    padding: 140px 0 100px 0;
    align-items: stretch;
}

.contact-info-left {
    width: 48%;
}

.contact-map-box {
    display: flex;
    width: 100%;
    min-height: 500px;
    border-radius: 30px;
    overflow: hidden;
}

.contact-map-box img {
    display: block;
    width: 100%;
    object-fit: cover;
}

.contact-info-right {
    flex: 1;
    padding-left: 66px;
    padding-top: 24px;
    display: flex;
    flex-flow: column;
    justify-content: space-between;
}

.contact-company-name {
    margin-top: 10px;
    font-family: "OPPOSans H";
    font-weight: 400;
    color: var(--light-color);
    line-height: 1.3;
}

.contact-company-desc {
    margin-top: 10px;
    font-size: 16px;
    color: #666;
    line-height: 1.8;
    max-width: 517px;
}

.contact-detail-list {
    display: flex;
    flex-direction: column;
}

.contact-detail-item {
    display: flex;
    align-items: flex-start;
    padding: 22px 0;
    border-top: 1px solid #AAAAAA;
    border-bottom: 1px solid #AAAAAA;
    line-height: 32px;
}

.contact-detail-item+.contact-detail-item {
    border-top: none;
}

.contact-detail-icon {
    position: relative;
    margin-right: 20px;
    margin-top: -2px;
    width: 32px;
}

.contact-detail-val {
    font-size: 24px;
    color: var(--dark-color);
    font-family: "OPPOSans B";
    font-weight: 400;
}

.contact-phone {
    font-family: 'Montserrat';
    font-weight: 700;
}

@media (max-width: 1200px) {
    .contact-info-right {
        padding-left: 40px;
        padding-top: 10px;
    }
}

@media (max-width: 991px) {
    .contact-info-wrap {
        padding: 80px 0 80px 0;
    }

    .contact-map-box {
        min-height: 450px;
    }

    .contact-detail-val {
        font-size: 22px;
    }

    .contact-detail-item {
        padding: 18px 0;
    }

}

@media (max-width: 767px) {
    .contact-info-wrap {
        padding: 50px 0;
        flex-flow: column;
    }

    .contact-info-left {
        width: 100%;
    }

    .contact-map-box {
        height: auto;
        min-height: inherit;
        border-radius: 16px;
    }

    .contact-info-right {
        padding-top: 30px;
        padding-left: 0;
    }

    .contact-detail-list {
        padding-top: 50px;
    }

    .contact-detail-val {
        font-size: 20px;
    }
.contact-detail-icon {
    margin-right: 16px;
    margin-top: -2px;
    width: 25px;
}
}

.contact_message {
    padding-top: 100px;
    padding-bottom: 180px;
    background-color: #F9F9F9;
}

.mess_title {
    color: var(--light-color);
    font-style: normal;
    font-family: "OPPOSans H";
    font-weight: 400;
    line-height: normal;
}

.mess_text {
    padding-top: 10px;
    color: #999;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
}

.message_form {
    margin-top: 70px;
    padding: 40px;
    border-radius: 30px;
    background: var(--white-color);
    box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.06);
}

.message_form .item_box {
    margin-left: -40px;
    margin-right: -40px;
    display: flex;
    flex-wrap: wrap;
}

.item_box .col-2 {
    width: 50%;
    padding-left: 40px;
    padding-right: 40px;
    padding-bottom: 60px;
}

.item_box .colw100 {
    width: 100%;
    padding-left: 40px;
    padding-right: 40px;
    padding-bottom: 60px;
}

.item_box .col_z span {
    color: #3E3A39;
    font-size: 18px;
    font-style: normal;
    font-weight: 400;
    line-height: 30px;
}

.item_box .col_z span em {
    margin-left: 8px;
    font-style: normal;
}

.item_box .input-container {
    position: relative;
    padding: 12px 0;
    border-bottom: 1px solid #E7EBEE;
}

.item_box .input-container input {
    outline: none;
    z-index: 1;
    position: relative;
    background: none;
    width: 100%;
    height: 28px;
    border: 0;
    color: var(--dark-color);
    line-height: 26px;
    font-size: 16px;
    font-weight: 400;
    text-align: left;
}

.item_box .input-container textarea {
    outline: none;
    z-index: 1;
    padding: 12px 0;
    position: relative;
    background: none;
    width: 100%;
    height: 76px;
    border: 0;
    color: var(--dark-color);
    line-height: 26px;
    font-size: 16px;
    font-weight: 400;
    font-family: "OPPOSans R";
    text-align: left;
    resize: none;
}

.message_form .input-container input::placeholder,
.message_form textarea::placeholder {
    color: #CCC;
    font-size: 16px;
    font-family: "OPPOSans R";
    font-style: normal;
    font-weight: 400;
    line-height: 28px;
}

.message_form .yanz {
    justify-content: space-between;
}

.message_form .yanz .input-container {
    flex: 1;
}

.message_form .text-area label {
    position: absolute;
    bottom: -20px;
    left: 0;
    color: var(--red-color);
}

.item_box .last_button {
    padding-bottom: 0;
    justify-content: center;
}

.item_box .last_button button {
    display: flex;
    padding: 16px 40px 16px 41px;
    justify-content: center;
    align-items: center;
    margin-left: 10px;
    margin-right: 10px;
    border-radius: 30px;
    cursor: pointer;
}

.item_box .last_button button span {
    display: flex;
    align-items: center;
    font-size: 16px;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    font-family: "OPPOSans R", 'Microsoft YaHei';
}

.item_box .last_button button span svg {
    margin-left: 10px;
}

.mess_reset {
    border: 1px solid var(--main-color);
    background:var(--white-color);
    color: var(--main-color);
}

.mess_submit {
    background-color: var(--main-color);
    color: var(--white-color);
}

.item_box .message_code {
    display: flex;
    align-items: flex-end;
    margin-left: 10px;
}

.item_box .message_code img {
    height: 100%;
}

@media (max-width: 991px) {
    .contact_message {
        padding-top: 80px;
    }
}

@media (max-width: 767px) {
    .contact_message {
        padding-top: 50px;
        padding-bottom: 120px;
    }

    .mess_text {
        padding-top: 10px;
    }

    .item_box .col-2 {
        width: 100%;
    }

    .item_box .col-2,
    .item_box .colw100 {
        padding-bottom: 40px;
    }

    .item_box .last_button {
        padding-bottom: 0;
        margin-left: -5px;
        margin-right: -5px;
    }

    .item_box .last_button button {
        padding: 12px 10px;
        margin-left: 5px;
        margin-right: 5px;
        width: calc(50% - 10px);
    }
.item_box .last_button button span svg {
    margin-left: 6px;
}
    .message_form {
        margin-top: 40px;
        padding-top: 30px;
        padding-left: 20px;
        padding-right: 20px;
    }
}
.search_bottom {
    width: 100%;
}
.search_bottom .search_no {
    padding-top: 100px;
    padding-bottom: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-flow: column;
}

.search_bottom .search_no .img {
    max-width: 360px;
}

.search_bottom .search_no .text {
    padding-top: 24px;
    color: var(--dark-color);
    text-align: center;
    font-size: 18px;
    font-weight: 400;
    line-height: 30px;
}
