/* 工具类 */
.btn {
    display: inline-block;
    padding: 8px 20px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.3s ease;
    border: none;
}

.btn-primary {
    background-color: var(--primary-green-light);
    color: #fff;
}

.btn-primary:hover {
    background-color: var(--primary-green-light);
}


/* --- Products Section --- */
.hero-section {
    background-color: var(--primary-green-bright);
}

.hero-content {
    background-color: #fbfdfa;
}

.hero-section h1 {
    color: #333;
}

.hero-section p {
    color: #333;
}

.section-title {
    text-align: center;
    font-size: 36px;
    margin-bottom: 50px;
    color: #222;
}

.category-filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    margin-bottom: 40px;
    flex-direction: column;
}

.family-title {
    min-width: 200px;
    text-align: center;
    white-space: nowrap;
    margin: 0 0 10px 0;
    font-weight: bold;
    padding: 5px 15px;
    font-size: 14px;
    border: 1px solid var(--primary-green-light);
    border-radius: 20px;
    color: var(--primary-green-light);
    background-color: #fff;
    cursor: pointer;
    transition: all 0.3s;
    margin-right: 15px;
}

.family-group {
    width: 100%;
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
}

.family-items {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    white-space: nowrap;
}

.filter-content {
    background-color: transparent !important;
}

.filter-btn {
    padding: 5px 15px;
    font-size: 14px;
    border: 1px solid #ddd;
    border-radius: 20px;
    background: #fff;
    cursor: pointer;
    transition: all 0.3s;
}

.filter-btn.active {
    background-color: var(--primary-green-light);
    color: #fff;
    border-color: var(--primary-green-light);
}

.filter-btn:hover {
    background-color: var(--primary-green-bright);
    border-color: #fff;
    color: var(--primary-green-dark);
}

.products-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 30px;
}

.product-item {
    background: #fff;
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05);
    transition: transform 0.3s ease;
}

.product-item:hover {
    transform: translateY(-5px);
}

.product-item:hover .btn-details {
    background: var(--primary-green-bright);
    color: var(--primary-green-dark);
}

.product-image {
    width: 100%;
    height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    flex-direction: column;
}

.product-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* 确保图片填满容器 */
    object-position: center;
}

.product-info {
    width: 100%;
    padding: 20px;
}

.product-info h4 {
    font-size: 18px;
    margin-bottom: 15px;
    color: #333;
}

.btn-details {
    font-size: 14px;
    color: #fff;
    background: var(--primary-green-light);
    padding: 6px 15px;
    border-radius: 4px;
    display: inline-block;
}



/* --- 响应式设计 --- */
@media (max-width: 1024px) {

    .products-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 768px) {


    .products-grid {
        grid-template-columns: 1fr;
    }

    .section-title {
        font-size: 28px;
    }

    .product-image img {
        height: 180px;
    }

    .family-group {
        flex-direction: column;
    }
}

@media (max-width: 480px) {
    .product-image img {
        height: 160px;
    }

    .category-filters {
        flex-direction: column;
        align-items: center;
    }

    .filter-btn {
        text-align: center;
    }

}


/* 产品详情页 */

.product-section {
    margin-top: 70px;

}

/* 面包屑导航容器 */
.breadcrumbs {
    background-color: #e8f5e9;
    /* 浅绿色背景 */
    padding: 12px 20px;
    margin: 0;
    border-radius: 4px;
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.breadcrumbs ul {
    width: 90%;
    max-width: 1480px;
    margin: 0 auto;
}

/* 所有li水平排列 */
.breadcrumbs li {
    display: inline-flex;
    align-items: center;
}

/* 链接样式 */
.breadcrumbs a {
    text-decoration: none;
    transition: color 0.2s ease;
    font-size: 14px;
}

.breadcrumbs a:hover {
    color: var(--primary-green-dark)
}

/* 分隔符样式 */
.breadcrumbs .separator {
    margin: 0 8px;
    color: #666;
}

/* 第一个li不需要分隔符（隐藏第一个分隔符） */
.breadcrumbs li:first-child .separator {
    display: none;
}

/* 当前页面样式（可选） */
.breadcrumbs li:last-child a {
    color: #2c3e50;
    font-weight: 500;
    cursor: default;
    pointer-events: none;
}


/* 左右布局容器 - 图片在左，右侧区域包含标题+描述 */
.product-card__content {
    margin: 50px 0;
    display: flex;
    gap: 80px;
    align-items: flex-start;
    flex-wrap: wrap;
}

/* 左侧图片区域 */
.product-card__media {
    flex: 0 0 40%;
    max-width: 500px;
}

/* 图片样式 */
.product-card__image {
    object-fit: cover;
    width: 100%;
    height: 300px;
    display: block;
    border-radius: 12px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}

/* 右侧信息区域（包含标题和描述） */
.product-card__info {
    flex: 1;
}

/* 标题样式 - 现在在右侧了 */
.product-card__title {
    font-size: 28px;
    font-weight: 600;
    margin-bottom: 20px;
    line-height: 1.3;
    color: var(--primary-green-light);
}

/* 描述样式 */
.product-card__description p {
    font-size: 16px;
    line-height: 1.6;
    color: #555;
}

.pro-spirite {
    background-image: url(../../common/images/pro-spirite.png?v=6.0);
    background-repeat: no-repeat;
    width: 25px;
    height: 25px;
    margin: 0 auto;
}

.scroll_box {
    border: 1px solid #d4e8d6;
    overflow-y: auto;
    max-height: 500px;
    position: relative;
}


/* 表格需要设置为独立层叠上下文 */
.table_con {
    position: relative;
    border-collapse: separate;
    /* 关键：使表头固定生效 */
    border-spacing: 0;
    min-width: 800px;
    /* 确保有足够宽度显示滚动条 */
}

/* 固定表头（第一行） */
.table_con thead tr:first-child th,
.table_con tbody tr:first-child td {
    position: sticky;
    top: 0;
    background-color: var(--primary-green-light) !important;
    /* 绿色背景 */
    z-index: 20;
    color: #fff;
}

/* 固定第一列 */
.table_con td:first-child,
.table_con th:first-child {
    position: sticky;
    left: 0;
    background-color: #fff;
    /* 保持背景不透明，避免内容穿透 */
    z-index: 10;
}

/* 左上角单元格（既是表头又是第一列）需要更高的层级 */
.table_con tr:first-child td:first-child,
.table_con tr:first-child th:first-child {
    z-index: 30;
}

.result table tr:hover td {
    background-color: var(--primary-green-bright);
}

.table_con td:first-child::after,
.table_con th:first-child::after {
    content: '';
    position: absolute;
    right: 0;
    top: 0;
    height: 100%;
    width: 1px;
    background-color: #ddd;
}

.tr_hover {
    background-color: var(--primary-green-bright);
}

/* 当行有 .slide_p_color 类时，所有 td 包括第一列都变色 */
.slide_p_color td {
    background-color: var(--primary-green-bright);
}

/* 特别确保第一列在 .slide_p_color 时也变色 */
.slide_p_color td:first-child,
.slide_p_color th:first-child {
    background-color: var(--primary-green-bright);
}

.result {
    padding: 50px 0;
    width: 100%;
    position: relative;
    background-color: #fff;
}

.result .tb_1 {
    background-color: var(--primary-green-light);
}

.result .tb_2 {
    border-bottom: 1px solid #e8e8e8;
}

.result .tb_2 .td_1 {
    box-sizing: border-box;
    padding-left: 10px;
    cursor: pointer;
    text-align: left !important;
}

.result table {
    height: 45px;
    box-sizing: border-box;
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.table_con_field tr td {
    border: 1px solid #fff;
    color: #fff !important;
}

.result table tr td {
    color: #454545;
    font-size: 14px;
    text-align: center;
    vertical-align: middle;
    white-space: normal;
    box-sizing: border-box !important;
    word-break: break-all;
}

.result .tb_2 tr td {
    height: 45px;
    border-top: 1px solid #e8e8e8;
    border-left: 1px solid #e8e8e8;
    border-right: 1px solid #e8e8e8;
    box-sizing: border-box;
}



.slide_p .img_hide span {
    display: none;
}

.fold-style p {
    position: absolute;
    left: 16px;
    height: 15px;
    line-height: 15px;
    top: 0;
    display: inline-block;
    white-space: nowrap;
    background-color: #ffffff;
}

.pro-spirite.certificate-bg {
    display: inline-block;
    width: 30px;
    height: 30px;
}

.pro-spirite.isdownload-bg {
    display: inline-block;
    width: 45px;
    height: 30px;
}


.clickCE {
    cursor: pointer;
}

.pdf-bg {
    background-position: -176px -220px;
}


.request-bg {
    background-position: -86px -220px;
    cursor: pointer;
}

.download-bg {
    background-position: -131px -220px;
    display: -webkit-box;
    display: -moz-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    box-align: center;
    -moz-box-align: center;
    -webkit-box-align: center;
    align-items: center;
}

.ce-bg {
    background-position: -20px -380px;
}

.ce-bg {
    background-position: -20px -380px;
}

.cb-bg {
    background-position: -70px -380px;
}

.ul-bg {
    background-position: -270px -380px;
}

.ccc-bg {
    background-position: -120px -380px;
}

.cqc-bg {
    background-position: -170px -380px;
}

.rohs-bg {
    background-position: -220px -380px;
}

.ce-pending {
    width: 45px !important;
    height: 30px !important;
    background-position: -320px -380px;
}



.ce-isdownload-bg {
    background-position: -20px -310px;
}

.cb-isdownload-bg {
    background-position: -85px -310px;
}

.ul-isdownload-bg {
    background-position: -345px -310px;
}

.ccc-isdownload-bg {
    background-position: -150px -310px;
}

.cqc-isdownload-bg {
    background-position: -280px -310px;
}

.rohs-isdownload-bg {
    background-position: -215px -310px;
}

.source-download {
    display: inline-block;
    width: 30px;
    height: 30px;

    margin: 3px;
}

.source-download .pro-spirite {
    width: 100%;
    height: 100%;
}

.three-download {
    background-position: -25px -430px;
}


.pcb-download {
    background-position: -125px -430px;
}


.sd-download {
    background-position: -75px -430px;
}

.app-download {
    background-position: -25px -504px;
}

.tech-download {
    background-position: -75px -504px;
}

.buy-bg {
    background-position: -13px -264px;
    cursor: pointer;
}


.fold-style.pro-spirite {
    display: block;
    cursor: pointer;
    text-align: center;
    width: 15px;
    height: 15px;
    background-position: -505px -227px;
    position: relative;
    margin-left: 35px;
}

.fold-style p {
    position: absolute;
    left: 16px;
    height: 15px;
    line-height: 15px;
    top: 0;
    display: inline-block;
    white-space: nowrap;
    background-color: #ffffff;
}

.slide_p:hover .fold-style p {
    background-color: var(--primary-green-bright)
}



.topic-container h1,
.topic-container h2 {
    color: #222222;
    font-size: .3rem;
    line-height: .35rem;
    display: inline-block;
    width: 100%;
    text-align: center;
    padding-bottom: .2rem;
    padding-top: .3rem;
}



.wrapper.topic-wrapper {
    width: 100%;
    padding-bottom: 0;
    padding-top: 0;
    margin: 0 auto;
}

.slide-tips {
    display: none;
}

.result .tb_2 tr td.td_1 .img_rotate {
    -webkit-transform: rotateZ(180deg);
    -moz-transform: rotateZ(180deg);
    -o-transform: rotateZ(180deg);
    -ms-transform: rotateZ(180deg);
    transform: rotateZ(180deg);
}

.pro-spirite.arr_img {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin-left: .05rem;
    -webkit-transition: all .1s linear;
    -moz-transition: all .1s linear;
    -o-transition: all .1s linear;
    -ms-transition: all .1s linear;
    transition: all .1s linear;
    margin-right: .1rem;
    background-position: -20px -220px;
    transform-origin: center center;
}

.slide_p_color {
    background-color: var(--primary-green-bright)
}

.show_list {
    display: none;
    background-color: var(--primary-green-brighter)
}


/* 让 .show_list 里面的第一列继承或使用相同的绿色 */
.show_list td:first-child,
.show_list th:first-child {
    background-color: var(--primary-green-brighter);
}



.scroll_box::-webkit-scrollbar {
    width: 16px;
    height: 16px;
}

.scroll_box::-webkit-scrollbar-track {
    background: #e8f5e9;
    border-radius: 0;
    border: 3px solid #e8f5e9;
    background-clip: padding-box;
}

.scroll_box::-webkit-scrollbar-thumb {
    background: var(--primary-green-light);
    border-radius: 0;
    border: 3px solid #e8f5e9;
    background-clip: padding-box;
}

.scroll_box::-webkit-scrollbar-thumb:hover {
    background: var(--primary-green-dark);
    cursor: pointer;
}

/* 让小三角区域显示出来 */
.scroll_box::-webkit-scrollbar-button {
    background: #d4e8d6;
    height: 16px;
    width: 16px;
}


@media screen and (max-width: 1000px) {
    .pro-spirite.fold-style {
        background-position: 82.5% 29%;
        background-size: 2000%;
    }

    .download-bg {
        background-position: 46.19% 29.33%;
    }

    .pro-spirite {
        background-size: 1360%;
    }

    .pro-spirite.certificate-bg {
        background-size: 1133%;
    }

    .ce-bg {
        background-position: 3.22% 16.21%;
    }

    .cb-bg {
        background-position: 16.12% 16.21%;
    }

    .pro-spirite {

        background-size: 1360%;
    }

    .pro-spirite.arr_img {
        background-position: 7.53% 28.06%;
        background-size: 3000%;
    }

    .pdf-bg {
        background-position: 57.3% 29.33%;
    }


    .request-bg {
        background-position: 35.07% 29.33%;
    }


    .download-bg {
        background-position: 46.19% 29.33%;
    }

    .pro-spirite.certificate-bg {
        background-size: 1133%;
    }


    .pro-spirite.isdownload-bg {
        background-size: 755%;
    }


    .ce-bg {
        background-position: 3.22% 16.21%;

    }


    .ccc-bg {
        background-position: 29.03% 16.21%;
    }

    .ul-bg {
        background-position: 67.74% 16.21%;
    }



    .cb-bg {
        background-position: 16.12% 16.21%;
    }

    .cqc-bg {
        background-position: 41.93% 16.21%;
    }

    .rohs-bg {
        background-position: 54.83% 16.21%;
    }

    .ce-pending {
        background-position: 84.74% 16.21%;
        background-size: 755% !important;
    }

    .ce-isdownload-bg {
        background-position: 3.38% 2.7%;
    }

    .cb-isdownload-bg {
        background-position: 22.03% 2.7%;
    }

    .ul-isdownload-bg {
        background-position: 77.96% 2.7%;
    }

    .ccc-isdownload-bg {
        background-position: 40.67% 2.7%;
    }

    .cqc-isdownload-bg {
        background-position: 59.32% 2.7%;
    }

    .rohs-isdownload-bg {
        background-position: 96.61% 2.7%;
    }

    .source-download {
        display: inline-block;
        width: 25px;
        height: 25px;
    }

    .source-download .pro-spirite {
        background-size: 1133%;
    }

    .three-download {
        /* background-position: -175px -430px; */
        background-position: 28.22% 58.10%;
    }

    .apk_box .apk_wrapper {
        padding: 8%;
    }


    .pcb-download {
        /* background-position: -335px -430px; */
        background-position: 54.03% 58.10%;
    }


    .sd-download {
        /* background-position: -255px -430px; */
        background-position: 41.13% 58.10%;
    }

    .app-download {
        /* background-position: -175px -504px; */
        background-position: 28.22% 68.1%;
    }

    .tech-download {
        /* background-position: -255px -504px; */
        background-position: 41.13% 68.1%;
    }


    .buy-bg {
        /* background-position: -433px -224px; */
        background-position: 68.73% 29%;
    }

    .pro-spirite.fold-style {
        background-position: 82.5% 29%;
        background-size: 2000%;
    }
    .product-card__content {
        gap: 40px;
    }

}

/* 移动端适配 */
@media (max-width: 768px) {
    .breadcrumbs ul {
        width: 100%;
    }

    .slide-tips {
        display: none;
    }

    .product-card__content {
        flex-direction: column;
        gap: 20px;
        align-items: center;
    }

    .product-card__media {
        flex: 0 0 auto;
        max-width: 100%;
    }

    .product-card__title {
        font-size: 24px;
    }
}