/*
Theme Name: My 2026 Theme
Theme URI: https://example.com/
Author: the ST team
Author URI: https://example.com/
Description: 外贸企业展示主题，首页区块可独立改 HTML/CSS/JS。
Version: 2.4.0-dev.4.4
Requires at least: 6.4
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: my2026mb
*/

/**
 * 文件作用：主题基础排版、页头页脚及内页样式；字体由插件加载。
 */


/*
排版参考：display-5 ≈ 47px | 区块描述 1.125rem | 列表标题 1.25rem | 列表描述 1rem
品牌色默认在插件 bootstrap.min.css；可在「外观 → 自定义 → 品牌色」覆盖主色/强调色。
首页区块 CSS 在本皮 blocks/{类型}/style.css，页头页脚与内页留在本文件。
*/

/* 品牌色组件绑定（bootstrap.min.css 内 btn/pagination 为硬编码 HEX，须在此重绑变量） */
.btn-primary {
    --bs-btn-bg: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-bg: color-mix(in srgb, var(--bs-primary), #000 15%);
    --bs-btn-hover-border-color: color-mix(in srgb, var(--bs-primary), #000 20%);
    --bs-btn-active-bg: color-mix(in srgb, var(--bs-primary), #000 25%);
    --bs-btn-active-border-color: color-mix(in srgb, var(--bs-primary), #000 30%);
    --bs-btn-disabled-bg: var(--bs-primary);
    --bs-btn-disabled-border-color: var(--bs-primary);
}
.btn-outline-primary {
    --bs-btn-color: var(--bs-primary);
    --bs-btn-border-color: var(--bs-primary);
    --bs-btn-hover-bg: var(--bs-primary);
    --bs-btn-hover-border-color: var(--bs-primary);
    --bs-btn-active-bg: var(--bs-primary);
    --bs-btn-active-border-color: var(--bs-primary);
    --bs-btn-disabled-color: var(--bs-primary);
    --bs-btn-disabled-border-color: var(--bs-primary);
}
.btn-danger {
    --bs-btn-color: var(--bs-warning-contrast, #fff);
    --bs-btn-hover-color: var(--bs-warning-contrast, #fff);
    --bs-btn-active-color: var(--bs-warning-contrast, #fff);
    --bs-btn-disabled-color: var(--bs-warning-contrast, #fff);
    --bs-btn-bg: var(--bs-warning);
    --bs-btn-border-color: var(--bs-warning);
    --bs-btn-hover-bg: color-mix(in srgb, var(--bs-warning), #000 15%);
    --bs-btn-hover-border-color: color-mix(in srgb, var(--bs-warning), #000 20%);
    --bs-btn-active-bg: color-mix(in srgb, var(--bs-warning), #000 25%);
    --bs-btn-active-border-color: color-mix(in srgb, var(--bs-warning), #000 30%);
    --bs-btn-disabled-bg: var(--bs-warning);
    --bs-btn-disabled-border-color: var(--bs-warning);
}
.btn-warning {
    --bs-btn-color: var(--bs-warning-contrast, #fff);
    --bs-btn-hover-color: var(--bs-warning-contrast, #fff);
    --bs-btn-active-color: var(--bs-warning-contrast, #fff);
    --bs-btn-disabled-color: var(--bs-warning-contrast, #fff);
    --bs-btn-bg: var(--bs-warning);
    --bs-btn-border-color: var(--bs-warning);
    --bs-btn-hover-bg: color-mix(in srgb, var(--bs-warning), #000 10%);
    --bs-btn-hover-border-color: color-mix(in srgb, var(--bs-warning), #000 15%);
    --bs-btn-active-bg: color-mix(in srgb, var(--bs-warning), #000 18%);
    --bs-btn-active-border-color: color-mix(in srgb, var(--bs-warning), #000 22%);
    --bs-btn-disabled-bg: var(--bs-warning);
    --bs-btn-disabled-border-color: var(--bs-warning);
}
.pagination {
    --bs-pagination-active-bg: var(--bs-primary);
    --bs-pagination-active-border-color: var(--bs-primary);
}
.faq-section-title {
    border-color: var(--bs-primary) !important;
}

/* 字体由核心插件 assets/css/fonts.css 统一加载。 */

body {
    font-family: 'Poppins Regular', sans-serif;
}
@media (min-width:1620px){
	.container{width:90%;max-width:1600px;}
}
a {
    text-decoration: none;
    color: var(--bs-body-color);
}

/* ========== 链接与悬停交互（全站统一 · 维护入口） ==========
 * 内页正文链接、面包屑、列表卡片 hover / focus 反馈。
 * 首页 #homepage-blocks 由各区块样式独立控制，不在此重复。
 * 排除组件：.btn / .btn-more / .badge / .page-link 等保留各自样式。
 */
/* 1. 正文 / 面包屑文本链接 */
.page-content a:not(.btn):not(.btn-more):not(.badge):not(.page-link),
.article-content a:not(.btn):not(.btn-more):not(.badge):not(.page-link),
.case-content a:not(.btn):not(.btn-more):not(.badge):not(.page-link),
.product-detail a:not(.btn):not(.btn-more):not(.badge):not(.page-link),
.category-faq-page .accordion-body a:not(.btn):not(.btn-more):not(.badge),
.breadcrumb a {
    color: var(--bs-primary);
    transition: color 0.2s ease;
}
.page-content a:not(.btn):not(.btn-more):not(.badge):not(.page-link):hover,
.page-content a:not(.btn):not(.btn-more):not(.badge):not(.page-link):focus-visible,
.article-content a:not(.btn):not(.btn-more):not(.badge):not(.page-link):hover,
.article-content a:not(.btn):not(.btn-more):not(.badge):not(.page-link):focus-visible,
.case-content a:not(.btn):not(.btn-more):not(.badge):not(.page-link):hover,
.case-content a:not(.btn):not(.btn-more):not(.badge):not(.page-link):focus-visible,
.product-detail a:not(.btn):not(.btn-more):not(.badge):not(.page-link):hover,
.product-detail a:not(.btn):not(.btn-more):not(.badge):not(.page-link):focus-visible,
.category-faq-page .accordion-body a:not(.btn):not(.btn-more):not(.badge):hover,
.category-faq-page .accordion-body a:not(.btn):not(.btn-more):not(.badge):focus-visible,
.breadcrumb a:hover,
.breadcrumb a:focus-visible {
    color: var(--bs-link-hover-color, var(--bs-blue));
}

/* 1b. 正文内 .btn-more 按钮（避免被上文链接色覆盖） */
.page-content a.btn-more,
.article-content a.btn-more,
.case-content a.btn-more,
.product-detail a.btn-more,
.CTA-box a.btn-more {
    color: var(--bs-warning-contrast, #fff);
    background-color: var(--bs-warning);
}
.page-content a.btn-more:hover,
.page-content a.btn-more:focus-visible,
.article-content a.btn-more:hover,
.article-content a.btn-more:focus-visible,
.case-content a.btn-more:hover,
.case-content a.btn-more:focus-visible,
.product-detail a.btn-more:hover,
.product-detail a.btn-more:focus-visible,
.CTA-box a.btn-more:hover,
.CTA-box a.btn-more:focus-visible {
    color: #fff;
    background-color: var(--bs-blue);
}

/* 2. 内页列表卡片：悬停上浮 + 阴影 */
.product-box .card,
.category-box .card,
.archive-page .card,
.category-case-page .card,
.category-product-page .card,
.category-certificates-page .card,
.product-category .card,
.related-blog .card,
.related-products .card,
.recommended-products .card,
.certificate-card,
.product-customer-reviews .card {
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.product-box .card:hover,
.category-box .card:hover,
.archive-page .card:hover,
.category-case-page .card:hover,
.category-product-page .card:hover,
.category-certificates-page .card:hover,
.product-category .card:hover,
.related-blog .card:hover,
.related-products .card:hover,
.recommended-products .card:hover,
.certificate-card:hover,
.product-customer-reviews .card:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.1) !important;
}

/* 3. 卡片内标题链接：悬停变主色 */
.product-box .card-title a,
.category-box .card-title a,
.archive-page .card-title a,
.category-case-page .card-title a,
.category-product-page .card-title a,
.category-certificates-page .card-title a,
.product-category .card h3,
.related-blog .card-title a,
.related-blog .list-group-item-action h3,
.related-products .card-title a,
.recommended-products .card h3,
.certificate-card h3,
.product-customer-reviews .card blockquote p,
.product-customer-reviews .card .blockquote-footer strong {
    transition: color 0.2s ease;
}
.product-box .card:hover .card-title a,
.category-box .card:hover .card-title a,
.archive-page .card:hover .card-title a,
.category-case-page .card:hover .card-title a,
.category-product-page .card:hover .card-title a,
.category-certificates-page .card:hover .card-title a,
.product-category .card:hover h3,
.related-blog .card:hover .card-title a,
.related-blog .col:hover h3,
.related-blog .list-group-item-action:hover h3,
.related-products .card:hover .card-title a,
.recommended-products .card:hover h3,
.certificate-card:hover h3,
.product-customer-reviews .card:hover blockquote p,
.product-customer-reviews .card:hover .blockquote-footer strong {
    color: var(--bs-primary);
}

/* 3b. 应用案例列表（case-box 行式布局，非 card 结构） */
.category-case-page .case-box h2 a {
    transition: color 0.2s ease;
}
.category-case-page .case-box h2 a:hover,
.category-case-page .case-box h2 a:focus-visible,
.category-case-page .case-box:hover h2 a {
    color: var(--bs-primary);
}
.category-case-page .case-box img {
    transition: transform 0.25s ease;
}
.category-case-page .case-box:hover img {
    transform: scale(1.02);
}

/* 4. 工艺步骤项（首页 process-block + 产品详情页） */
.process-block .product-process-item,
.single-product-page .product-process-item {
    color: inherit;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.process-block .product-process-item:hover,
.single-product-page .product-process-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 .5rem 1rem rgba(0, 0, 0, .12) !important;
}
/*20260921add*/
.single-product-page .product-detail .feature-icon-small{
	width: 3rem;
	height: 3rem;
}
.my-md-6{margin: 5rem 0!important;}

/* 5. FAQ 手风琴：展开项标题与答案高亮 */
.product-faq .accordion-item,
.contact-faq .accordion-item,
.faq-block .accordion-item,
.category-faq-page .accordion-item {
    box-shadow: 0 0 20px 0 rgba(5, 5, 5, .05);
}
.product-faq .accordion-button,
.contact-faq .accordion-button,
.faq-block .accordion-button,
.category-faq-page .accordion-button {
    transition: color 0.2s ease, background-color 0.2s ease;
}
.product-faq .accordion-button:not(.collapsed),
.contact-faq .accordion-button:not(.collapsed),
.faq-block .accordion-button:not(.collapsed),
.category-faq-page .accordion-button:not(.collapsed) {
    color: var(--bs-primary);
    background-color: color-mix(in srgb, var(--bs-primary) 8%, #fff);
    box-shadow: none;
    border-color: #dee2e6;
}
.product-faq .accordion-button:focus,
.contact-faq .accordion-button:focus,
.faq-block .accordion-button:focus,
.category-faq-page .accordion-button:focus {
    box-shadow: none;
    border-color: #dee2e6;
}
.product-faq .accordion-collapse.show .accordion-body,
.contact-faq .accordion-collapse.show .accordion-body,
.faq-block .accordion-collapse.show .accordion-body,
.category-faq-page .accordion-collapse.show .accordion-body,
.product-faq .accordion-collapse.show .accordion-body.text-muted,
.contact-faq .accordion-collapse.show .accordion-body.text-muted,
.faq-block .accordion-collapse.show .accordion-body.text-muted {
    color: var(--bs-body-color);
    border-left: 3px solid var(--bs-primary);
    background-color: color-mix(in srgb, var(--bs-primary) 4%, #fff);
}
/* ========== /链接与悬停交互 ========== */

.color{color:var(--bs-blue);}
.subcolor{color:var(--bs-warning);}
.text-bg-warning,
.badge.bg-warning:not(.bg-opacity-10) {
    color: var(--bs-warning-contrast, #fff) !important;
}
.bg{background:var(--bs-blue);}
.contact-accent-line {
    height: 2px;
    width: 60px;
    border-bottom: 3px solid var(--bs-warning);
}
img{max-width:100%;height:auto;}
.py-6{padding-top:5rem!important;padding-bottom:4rem!important;}
.fs-7{font-size:0.875rem;}
.btn-more {
    display: inline-block;
    padding: 0.5rem 2rem;
    font-size: 1.25rem;
    border: none;
    background-color: var(--bs-warning);
    color: var(--bs-warning-contrast, #fff);
    border-radius: 2rem;
    transition: transform 0.3s ease, background-color 0.3s ease;
    font-weight: 600;
}
.btn-more:hover {
    background-color: var(--bs-blue);
    transform: rotate(-5deg) scale(1.05);
	color:#fff;
}
.btn-more.btn-outline-primary:hover {
    background-color: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #fff;
}
.swiper{
	--swiper-pagination-color: var(--bs-blue);
}
.swiper-pagination-bullet {
  width: 20px;
  height: 3px;
  border-radius: 0;
  background: rgba(255, 255, 255, 0.5);
  opacity: 1;
}
.swiper-pagination {min-height: 30px;}
.swiper-pagination-bullet-active {
  background: var(--bs-blue);
  width: 30px;
}

/*zoom-img*/
.zoom-img {
  overflow: hidden;
}
.zoom-img img{
  transition: transform 0.3s ease-in-out;
}
.zoom-img:hover img{
  transform: scale(1.05);
}
/* 合作伙伴 Logo 悬停放大（勿作用于全局 .flex-shrink-0 工具类） */
.partner-block .flex-shrink-0 {
  transition: transform 0.3s ease;
}
.partner-block .flex-shrink-0:hover {
  transform: scale(1.05);
}

.icon {
  width: 1em;
  height: 1em;
  display: inline-block;
  vertical-align: -0.125em;
  fill: currentColor;
  stroke-width: 2;
  overflow: visible;
  line-height: 1;
  transition: all 0.3s ease;
}

@media (max-width: 767.98px) {
	.btn-more {padding: 0.625rem 1.2rem;font-size: 1rem;}
	
}

/* 限制2行 */
.line-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.4; 
}

/* 限制3行 */
.line-clamp-3 {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.5; 
}

/* ========== 头部导航 header | 2026-09-17 ==========
 * 模板：header.php（全站头部，不是首页内容区块）
 * 作用：白底顶栏、主菜单、Polylang 语言项（菜单末尾，国旗+文字）、右侧询盘按钮
 * 结构：li.nav-item.dropdown > a.nav-link + span.dropdown-toggle + ul.dropdown-menu
 * 2026-09-17 前旧规则（#top-bar 邮箱条、.head-nav 100px / 滚动 fixed-top）已删除，由 .site-header sticky 替代
 */
.site-header {
    --header-text: #1c334f;
    --header-cta: var(--bs-warning);
    --header-cta-hover: color-mix(in srgb, var(--bs-warning), #000 18%);
    --header-bg: rgba(255, 255, 255, 0.88);
    --header-bg-solid: rgba(255, 255, 255, 0.96);
    position: sticky;
    top: 0;
    z-index: 1050;
    background: var(--header-bg);
    backdrop-filter: blur(18px);
    box-shadow: 0 1px 0 rgba(var(--bs-primary-rgb), 0.06);
    transition: background 0.35s ease, box-shadow 0.35s ease;
}
.site-header.is-solid {
    background: var(--header-bg-solid);
    box-shadow: 0 8px 28px rgba(var(--bs-primary-rgb), 0.1);
}
.head-nav {
    padding-top: 0;
    padding-bottom: 0;
}
.head-nav .header-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    min-height: 88px;
    gap: 0.5rem 1.5rem;
}
.head-nav .navbar-brand {
    padding: 0.125rem 0;
    margin-right: 0;
    flex-shrink: 0;
}
.head-nav .navbar-brand img {
    height: 48px;
    width: auto;
    max-width: 220px;
    object-fit: contain;
    display: block;
}
.head-nav .navbar-brand picture {
    display: block;
    line-height: 0;
}
.head-nav.navbar .nav-link {
    font-size: 16px;
    font-weight: 500;
    color: var(--header-text);
    padding: 0.75rem 1rem;
    position: relative;
}
.head-nav.navbar .nav-link:hover,
.head-nav.navbar .nav-link:focus,
.head-nav .navbar-nav .current-menu-item > a,
.head-nav .navbar-nav .current_page_item > a,
.head-nav .navbar-nav .current-menu-parent > a,
.head-nav .navbar-nav .current-menu-ancestor > a {
    color: var(--header-cta);
}
.head-nav .dropdown-menu {
    padding: 12px 0;
    border: 0;
    border-radius: 0;
    position: absolute;
    top: 100%;
    left: 0;
    opacity: 0;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity 0.22s ease, transform 0.22s ease;
    z-index: 1000;
    min-width: 220px;
    background-color: #fff;
    box-shadow: 0 18px 50px rgba(6, 20, 39, 0.18);
}
.head-nav .dropdown:hover > .dropdown-menu {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}
.head-nav .dropdown-menu .dropdown-menu {
    left: 100%;
    top: 0;
    min-width: 200px;
    white-space: nowrap;
    box-shadow: 0 18px 50px rgba(6, 20, 39, 0.18);
}
.head-nav .dropdown-menu li a.dropdown-item {
    padding: 10px 22px;
    font-size: 14px;
    color: var(--header-text);
}
.head-nav .dropdown-menu .dropdown-menu li a.dropdown-item {
    padding: 10px 16px;
}
.head-nav .dropdown-item:hover,
.head-nav .dropdown-item:focus {
    color: var(--bs-primary);
    background: color-mix(in srgb, var(--bs-primary) 8%, #fff);
}
.head-nav .dropdown-menu .current-menu-item > a,
.head-nav .dropdown-menu .current_page_item > a,
.head-nav .dropdown-menu .current-menu-parent > a,
.head-nav .dropdown-menu .current-menu-ancestor > a {
    color: var(--header-cta);
    background: color-mix(in srgb, var(--bs-warning) 8%, #fff);
}
.head-nav.navbar .dropdown-toggle::after {
    width: 0;
    height: 0;
    margin: 0;
    content: "";
    display: block;
    border-top: 0.28em solid currentColor;
    border-right: 0.22em solid transparent;
    border-bottom: 0;
    border-left: 0.22em solid transparent;
    opacity: 0.7;
    transition: transform 0.3s ease;
}
.head-nav .dropdown-item {
    flex-grow: 1;
    padding-right: 1rem;
    display: flex;
    align-items: center;
    position: relative;
}
.head-nav .dropdown-item:active,
.head-nav .dropdown-item:visited {
    background: color-mix(in srgb, var(--bs-primary) 8%, #fff);
    color: inherit;
}
/* Polylang 语言切换器 | 2026-09-17：主菜单末尾，国旗+文字，沿用 .nav-link */
.head-nav .navbar-nav .lang-item .nav-link {
    display: inline-flex;
    align-items: center;
    gap: 0.35em;
}
.head-nav .navbar-nav .lang-item img {
    display: inline-block;
    width: 16px;
    height: auto;
    vertical-align: middle;
}
/* 头部询盘按钮 header-actions | 2026-09-17 */
.header-actions {
    display: flex;
    align-items: center;
    gap: 18px;
    flex-shrink: 0;
    margin-left: auto;
    white-space: nowrap;
}
.header-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 46px;
    padding: 0 26px;
    border: 0;
    border-radius: 0;
    background: var(--header-cta);
    color: var(--bs-warning-contrast, #fff);
    font-size: 15px;
    font-weight: 500;
    line-height: 1;
}
.header-cta:hover,
.header-cta:focus,
.header-cta:active {
    background: var(--header-cta-hover);
    color: var(--bs-warning-contrast, #fff);
}
.head-nav.navbar .navbar-toggler {
    border: var(--bs-border-width) solid var(--header-text);
    padding: 0.4rem 0.55rem;
}
.head-nav .navbar-toggler:focus {
    box-shadow: 0 0 0 0.0625rem rgba(28, 51, 79, 0.25);
}

@media (min-width: 992px) {
    .head-nav .header-inner {
        flex-wrap: nowrap;
        align-items: stretch;
        min-height: 88px;
    }
    .head-nav .navbar-brand {
        align-self: center;
    }
    /* 2026-09-17 归档：滚动 shrink 88→64 会改变 sticky 占位，菜单上下跳
    .head-nav {
        transition: height 0.3s, min-height 0.3s, background 0.3s;
    }
    .head-nav.shrink .header-inner {
        min-height: 64px;
    }
    .head-nav.shrink .navbar-brand img {
        height: 40px;
    }
    */
    .head-nav .navbar-collapse {
        display: flex !important;
        flex: 1 1 auto;
        align-self: stretch;
        align-items: stretch;
        justify-content: flex-end;
        gap: 8px 24px;
    }
    .head-nav .header-actions {
        align-self: center;
    }
    .head-nav .navbar-nav {
        align-items: stretch;
        align-self: stretch;
        flex-wrap: nowrap;
        margin-left: auto;
        margin-right: 0.25rem;
        column-gap: 0.35rem;
    }
    .head-nav .navbar-nav > li {
        display: flex;
        align-items: center;
        align-self: stretch;
        position: relative;
        margin-right: 0;
    }
    .head-nav.navbar .navbar-nav > li > .nav-link {
        display: flex;
        align-items: center;
        height: 100%;
    }
    .head-nav .navbar-nav > li > .dropdown-menu {
        margin-top: 0;
        top: 100%;
    }
    .head-nav .dropdown:hover > .dropdown-menu {
        display: block;
    }
    .head-nav .nav-item.dropdown > .dropdown-toggle {
        position: absolute;
        right: 0.2rem;
        top: 50%;
        transform: translateY(-50%);
        border: none;
        background: none;
        padding: 0;
        pointer-events: none;
        z-index: 10;
        color: var(--header-text);
    }
    .head-nav .nav-item.dropdown > .nav-link {
        padding-right: 0.9rem;
    }
    .head-nav .nav-item.dropdown .dropdown .dropdown-toggle {
        position: absolute;
        right: 0.75rem;
        top: 50%;
        transform: translateY(-50%);
        border: none;
        background: none;
        padding: 0;
        cursor: pointer;
        z-index: 10;
    }
    .head-nav.navbar .dropdown-menu .dropdown-toggle::after {
        transform: rotate(-90deg);
        border-top-color: currentColor;
        transition: transform 0.3s ease;
    }
    .head-nav .dropdown-menu .dropdown-menu {
        left: 100%;
        right: auto;
    }
    .head-nav .dropdown-menu.dropdown-menu-end,
    .head-nav .dropdown-menu .dropdown-menu.dropdown-menu-end {
        left: auto !important;
        right: 100% !important;
    }
}

@media (max-width: 991.98px) {
    .head-nav .header-inner {
        min-height: 72px;
    }
    .head-nav .navbar-brand img {
        height: 40px;
    }
    .head-nav .navbar-collapse {
        width: 100%;
        padding: 0.5rem 0 1rem;
    }
    .head-nav.navbar .navbar-nav {
        padding: 6px 0;
    }
    .head-nav .navbar-nav > li {
        position: relative;
    }
    .head-nav.navbar .nav-link {
        padding-top: .75rem;
        padding-bottom: .75rem;
        max-width: calc(100% - 3rem);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        font-size: 16px;
    }
    .head-nav a.dropdown-item {
        max-width: calc(100% - 3rem);
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
        position: relative;
    }
    .head-nav .dropdown-toggle {
        position: absolute;
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: 48px;
        min-height: 48px;
        top: 0;
        right: 0;
        border: none;
        background: none;
        padding: 0;
        cursor: pointer;
        z-index: 10;
        transition: transform 0.3s ease;
        color: var(--header-text);
    }
    .head-nav.navbar .dropdown-toggle::after {
        transform: rotate(-90deg);
        transition: transform 0.3s ease;
        border-top-width: 0.32em;
        border-right-width: 0.32em;
        border-left-width: 0.32em;
    }
    .head-nav .dropdown-toggle.show::after {
        transform: rotate(0);
        transition: transform 0.3s ease;
    }
    .head-nav .dropdown-menu {
        position: static !important;
        transform: none;
        min-width: 100%;
        box-shadow: none;
        background-color: #fff;
        display: none;
        width: 100% !important;
        top: auto;
        left: auto;
        right: auto;
        border: none;
        padding: 0;
    }
    .head-nav .dropdown .dropdown-menu.show,
    .head-nav .dropdown.show > .dropdown-menu {
        display: block !important;
        width: 100% !important;
        background-color: #fff;
        border: 1px solid #ced4da;
        opacity: 1;
        pointer-events: auto;
        transform: none;
    }
    .head-nav .dropdown.show .dropdown.show .dropdown-menu {
        border-left: 0;
        border-right: 0;
    }
    .head-nav .dropdown-menu .dropdown-menu {
        position: static;
        left: auto;
        right: auto;
        padding-left: 1.5rem;
        background-color: #f8f9fa;
        width: 100%;
        box-shadow: none;
    }
    .head-nav .dropdown-menu .dropdown-item {
        padding-left: 1rem;
    }
    .head-nav .dropdown-menu .dropdown-item:focus,
    .head-nav .dropdown-menu .dropdown-item:hover,
    .head-nav .dropdown-menu .dropdown-item:active,
    .head-nav .dropdown-menu .dropdown-item.show {
        background-color: #fff;
        color: var(--bs-dropdown-link-hover-color);
    }
    .header-actions {
        width: 100%;
        justify-content: flex-end;
        padding: 0.75rem 0 0.25rem;
        margin-left: 0;
        border-top: 1px solid rgba(28, 51, 79, 0.08);
    }
    .header-cta {
        flex: 1 1 auto;
        max-width: 220px;
    }
}

/* Banner：aspect-ratio 自适应 + Grid 叠层；勿给 .banner-swiper.swiper 设 height:100%
 * 内页沿用本段。首页 hero 见下方「轮播图 Banner | 2026-09-17」
 */
.banner-swiper {
    position: relative;
    width: 100%;
    max-width: 100%;
    aspect-ratio: 1920 / var(--banner-d, 600);
    height: auto;
    overflow: hidden;
    background-color: #212529;
    box-sizing: border-box;
}
/* 纯色 Banner：按后台像素高度，不用 1920 比例（内页常用 240–280） */
.banner-swiper.banner-swiper-bg {
    aspect-ratio: unset;
    height: calc(var(--banner-d, 280) * 1px);
    min-height: 160px;
    background-color: var(--banner-bg, var(--bs-primary));
}
.banner-swiper.banner-swiper-bg .swiper-slide.banner-slide-bg {
    background-color: var(--banner-bg, inherit);
}
.banner-swiper.banner-swiper-bg .swiper-wrapper,
.banner-swiper.banner-swiper-bg .swiper-slide {
    height: 100%;
}
.banner-swiper.banner-swiper-bg .swiper-txt {
    text-shadow: none;
}
.banner-swiper .swiper-wrapper {
    height: 100%;
    width: 100%;
}
.banner-swiper .swiper-slide {
    display: grid;
    grid-template: 1fr / 1fr;
    width: 100% !important;
    height: 100%;
    overflow: hidden;
    box-sizing: border-box;
}
.banner-swiper .swiper-slide.banner-slide-bg {
    display: flex;
    align-items: center;
}
.banner-swiper .swiper-slide > .container {
    grid-area: 1 / 1;
    z-index: 2;
    align-self: stretch;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    pointer-events: none;
}
.banner-swiper .swiper-slide.banner-slide-bg .container {
    height: 100%;
}
.banner-swiper .swiper-slide > .container .swiper-txt {
    width: 100%;
    pointer-events: none;
}
.banner-swiper .swiper-slide > picture {
    grid-area: 1 / 1;
    width: 100%;
    height: 100%;
    min-height: 0;
    margin: 0;
    display: block;
    overflow: hidden;
}
.banner-swiper .slider-image {
    display: block;
    width: 100% !important;
    height: 100% !important;
    max-width: none;
    object-fit: cover;
    object-position: center;
    pointer-events: none;
}
.banner-swiper .swiper-slide > .swiper-txt {
    grid-area: 1 / 1;
    z-index: 2;
    align-self: center;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    padding: 1rem 1.25rem;
    box-sizing: border-box;
    overflow: visible;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.5);
    pointer-events: none;
}
@media (min-width: 768px) {
    .banner-hero.banner-swiper .swiper-slide > .swiper-txt {
        justify-self: end;
        width: min(55%, 640px);
        padding: 1.25rem 2rem 1.25rem 1rem;
    }
}
@media (min-width: 1200px) {
    .banner-hero.banner-swiper .swiper-slide > .swiper-txt {
        width: min(50%, 720px);
        padding: 1.5rem 3rem;
    }
}
.banner-swiper .swiper-txt a,
.banner-swiper .swiper-txt button {
    pointer-events: auto;
}
.banner-swiper > .swiper-pagination {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    min-height: 0;
    z-index: 3;
}
.banner-swiper .swiper-button-prev,
.banner-swiper .swiper-button-next {
    z-index: 3;
    color: #fff;
}
/* 压缩合并后仍保证 Swiper 导航用图标字体，避免显示 prev/next 文字 */
.banner-swiper .swiper-button-prev:after,
.banner-swiper .swiper-button-next:after {
    font-family: swiper-icons !important;
    font-size: 1.5rem;
    color: #fff;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.45);
}
.banner-swiper .swiper-button-disabled {
    opacity: 0.35;
}
.banner-swiper .swiper-slide-title .icon {
    margin-right: 0.35em;
    vertical-align: -0.12em;
}
.banner-swiper .swiper-slide-title {
    font-size: clamp(1.25rem, 3.5vw, 2.5rem);
    line-height: 1.2;
    text-shadow: 2px 2px 4px rgba(0,0,0,0.7);
    max-width: 100%;
    word-wrap: break-word;
    overflow-wrap: break-word;
    margin-bottom: 0;
}
.banner-swiper .swiper-caption {
    text-shadow: 1px 1px 2px rgba(0,0,0,0.7);
    max-width: 100%;
}
@media (max-width: 767.98px) {
    .banner-swiper:not(.banner-swiper-bg) {
        aspect-ratio: 768 / var(--banner-m, 400);
        height: auto;
    }
    .banner-swiper.banner-swiper-bg {
        aspect-ratio: unset;
        height: calc(var(--banner-m, 220) * 1px);
        min-height: 140px;
    }
    .banner-swiper.banner-swiper-bg .swiper-wrapper,
    .banner-swiper.banner-swiper-bg .swiper-slide {
        height: 100% !important;
    }
    .banner-swiper.banner-swiper-bg .container .swiper-txt {
        background: transparent;
        text-shadow: none;
    }
    .banner-swiper:not(.banner-swiper-bg) .swiper-slide > .container .swiper-txt {
        background: transparent;
        padding: 0;
    }
    .banner-swiper .swiper-slide-title {
        font-size: clamp(1.125rem, 5vw, 1.5rem);
    }
    .banner-swiper .swiper-caption {
        font-size: 0.875rem;
    }
    .banner-swiper .lead {
        font-size: 16px;
    }
}

/* ========== 轮播图 Banner | 2026-09-17 ==========
 * 模板：template-parts/block/banner.php（首页 hero；查询仍走轮播图 CPT）
 * 作用：全宽大图叠字、左文案、红/描边双按钮、底部分页条+箭头
 */
.banner-hero {
    position: relative;
    color: #fff;
    background: var(--bs-primary);
}
.banner-hero .banner-hero-swiper {
    aspect-ratio: 1920 / var(--banner-d, 600);
    min-height: 420px;
    overflow: hidden;
}
.banner-hero .banner-hero-swiper .swiper-wrapper {
    display: flex;
    height: 100%;
}
.banner-hero .swiper-slide::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(var(--bs-primary-rgb), 0.52) 0%, rgba(var(--bs-primary-rgb), 0.22) 50%, rgba(var(--bs-primary-rgb), 0.08) 100%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.16) 0%, transparent 32%, rgba(var(--bs-primary-rgb), 0.28) 100%);
}
.banner-hero .swiper-slide {
    position: relative;
    overflow: hidden;
}
.banner-hero .swiper-slide > picture {
    z-index: 0;
}
.banner-hero .swiper-slide-active .slider-image {
    animation: banner-kenburns 18s ease-out forwards;
}
@keyframes banner-kenburns {
    from { transform: scale(1.04); }
    to { transform: scale(1.12); }
}
.banner-hero.banner-swiper .swiper-slide > .swiper-txt,
.banner-hero .swiper-slide > .swiper-txt {
    z-index: 2;
    justify-self: start;
    align-self: center;
    width: 100%;
    max-width: 100%;
    padding: 0;
    text-shadow: none;
    pointer-events: none;
}
.banner-hero-copy {
    padding-top: 2rem;
    padding-bottom: 4.5rem;
}
.banner-hero .swiper-slide-title {
    font-size: clamp(2rem, 4.4vw, 4.5rem);
    font-weight: 600;
    line-height: 1.12;
    letter-spacing: -0.03em;
    max-width: 24ch;
    margin: 0;
    text-shadow: none;
    color: #fff;
    text-wrap: balance;
}
.banner-hero .swiper-caption {
    margin-top: 1.25rem;
    max-width: 36rem;
    font-size: 1.125rem;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.88);
    text-shadow: none;
}
.banner-hero .swiper-caption p {
    margin-bottom: 0.5rem;
}
.banner-hero .swiper-caption p:last-child {
    margin-bottom: 0;
    font-size: 1rem;
    color: rgba(255, 255, 255, 0.68);
}
.banner-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 2rem;
    pointer-events: auto;
}
.banner-hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 26px;
    border: 0;
    border-radius: 0;
    background: var(--bs-warning);
    color: var(--bs-warning-contrast, #fff);
    font-size: 15px;
    font-weight: 500;
}
.banner-hero-btn:hover,
.banner-hero-btn:focus,
.banner-hero-btn:active {
    background: color-mix(in srgb, var(--bs-warning), #000 18%);
    color: var(--bs-warning-contrast, #fff);
}
.banner-hero-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 26px;
    border: 1px solid rgba(255, 255, 255, 0.55);
    border-radius: 0;
    background: transparent;
    color: #fff;
    font-size: 15px;
    font-weight: 500;
}
.banner-hero-ghost:hover,
.banner-hero-ghost:focus,
.banner-hero-ghost:active {
    background: #fff;
    color: #1c334f;
    border-color: #fff;
}
.banner-hero-nav {
    position: absolute;
    right: max(1.5rem, calc((100vw - 1600px) / 2 + 1.5rem));
    bottom: 2rem;
    z-index: 3;
    display: flex;
    align-items: center;
    gap: 14px;
}
.banner-hero .swiper-pagination {
    position: static;
    width: auto;
    min-height: 0;
    display: flex;
    gap: 8px;
}
.banner-hero .swiper-pagination-bullet {
    width: 28px;
    height: 3px;
    margin: 0 !important;
    border-radius: 0;
    background: rgba(255, 255, 255, 0.35);
    opacity: 1;
}
.banner-hero .swiper-pagination-bullet-active {
    background: #fff;
    width: 36px;
}
.banner-hero .swiper-button-prev,
.banner-hero .swiper-button-next {
    position: static;
    width: 48px;
    height: 48px;
    margin: 0;
    border: 1px solid rgba(255, 255, 255, 0.28);
    background: transparent;
    color: #fff;
}
.banner-hero .swiper-button-prev:after,
.banner-hero .swiper-button-next:after {
    font-size: 1rem;
    text-shadow: none;
    color: #fff;
}
.banner-hero .swiper-button-prev:hover,
.banner-hero .swiper-button-next:hover {
    background: #fff;
}
.banner-hero .swiper-button-prev:hover:after,
.banner-hero .swiper-button-next:hover:after {
    color: #1c334f;
}
@media (min-width: 768px) {
    .banner-hero.banner-swiper .swiper-slide > .swiper-txt,
    .banner-hero .swiper-slide > .swiper-txt {
        justify-self: start;
        width: 100%;
        padding: 0;
    }
}
@media (max-width: 767.98px) {
    /* 覆盖内页 .banner-swiper 小屏「图文上下堆叠」；wrapper 必须保持 flex，否则两张幻灯片会同时竖排 */
    .banner-hero .banner-hero-swiper.banner-swiper {
        aspect-ratio: unset;
        height: calc(var(--banner-m, 400) * 1px);
        min-height: 320px;
        overflow: hidden;
        background-color: var(--bs-primary);
    }
    .banner-hero .banner-hero-swiper .swiper-wrapper {
        display: flex;
        height: 100% !important;
        width: 100%;
    }
    .banner-hero .banner-hero-swiper .swiper-slide {
        display: grid;
        grid-template: 1fr / 1fr;
        flex-shrink: 0;
        width: 100%;
        height: 100% !important;
        overflow: hidden;
    }
    .banner-hero .banner-hero-swiper .swiper-slide > picture {
        grid-area: 1 / 1;
        width: 100%;
        height: 100% !important;
        aspect-ratio: unset;
    }
    .banner-hero .banner-hero-swiper .swiper-slide > picture .slider-image {
        width: 100% !important;
        height: 100% !important;
        aspect-ratio: unset;
        object-fit: cover;
    }
    .banner-hero .banner-hero-swiper .swiper-slide > .swiper-txt {
        grid-area: 1 / 1;
        position: relative;
        width: 100%;
        height: 100%;
        background: transparent;
        padding: 0;
        align-self: center;
    }
    .banner-hero-copy {
        padding-top: 1.25rem;
        padding-bottom: 4rem;
    }
    .banner-hero .swiper-slide-title {
        font-size: clamp(1.5rem, 7vw, 2.1rem);
        max-width: 22ch;
    }
    .banner-hero .swiper-caption {
        font-size: 0.95rem;
        margin-top: 0.75rem;
    }
    .banner-hero-nav {
        right: 1rem;
        bottom: 1rem;
        gap: 8px;
    }
    .banner-hero .swiper-button-prev,
    .banner-hero .swiper-button-next {
        width: 40px;
        height: 40px;
    }
}

/* ========== 数据条区块 stats | 2026-09-17 ==========
 * 模板：template-parts/block/stats.php（区块图片列表：标题=数字，说明=描述）
 * 作用：紧贴轮播下方的 4 列浅蓝条，不写入 banner.php
 */
.stats-block {
    background: var(--bs-primary);
    color: #fff;
}
.stats-block-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 140px;
}
.stats-block-item {
    padding: 28px 16px;
    text-align: center;
    border-right: 1px solid rgba(255, 255, 255, 0.28);
    border-bottom: 1px solid rgba(255, 255, 255, 0.28);
}
.stats-block-item:nth-child(2n) {
    border-right: 0;
}
.stats-block-item:nth-last-child(-n+2) {
    border-bottom: 0;
}
.stats-block-item b {
    display: block;
    font-size: 32px;
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1;
}
.stats-block-item span {
    display: block;
    margin-top: 10px;
    color: rgba(255, 255, 255, 0.58);
    font-size: 13px;
}
@media (min-width: 992px) {
    .stats-block-row {
        grid-template-columns: repeat(4, 1fr);
    }
    .stats-block-item {
        padding: 36px 24px;
        border-right: 1px solid rgba(255, 255, 255, 0.28);
        border-bottom: 0;
    }
    .stats-block-item:nth-child(2n) {
        border-right: 1px solid rgba(255, 255, 255, 0.28);
    }
    .stats-block-item:last-child {
        border-right: 0;
    }
    .stats-block-item b {
        font-size: 42px;
    }
    .stats-block-item span {
        font-size: 14px;
    }
}

/* Intro 轮播：4:3 与产品图统一 */
.intro-swiper {
    overflow: hidden;
    border-radius: 0.375rem;
    width: 100%;
    aspect-ratio: 4 / 3;
}
.intro-swiper .swiper-wrapper {
    height: 100%;
}
.intro-swiper .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    overflow: hidden;
}
.intro-swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}


/* 首页产品效果1（products-style1.php 仍用） */
.product-block-1 .card:hover h3{color:var(--bs-blue);}
.product-block-1 .product-thumbnail {
    aspect-ratio: 4 / 3;
    overflow: hidden;
}
.product-block-1 .product-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 归档：原首页产品效果2（白卡片 + 悬停 Inquiry）| 2026-09-17 起首页改用 .products-block */
.product-block-2 .card:hover h3 a{color:var(--bs-blue);}
.product-block-2 .product-thumbnail {
    aspect-ratio: 4 / 3;
    overflow: hidden;
}
.product-block-2 .product-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.product-block-2 .card { border: none; border-radius: 12px; box-shadow: 0 4px 15px rgba(0,0,0,0.08); transition: all 0.3s ease; }
.product-block-2 .card:hover { transform: translateY(-5px); box-shadow: 0 8px 25px rgba(0,0,0,0.12); }
.product-block-2 .card:hover .product-thumbnail { transform: scale(1.05); }
.product-block-2 .overlay-pro,
.product-block-2 .free-sample-overlay {
    background: rgba(0,0,0,0.7);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: 5; /* 高于图片防盗 ::after(z-index:2)，保证「索要样品」可点 */
}
.product-block-2 .card:hover .overlay-pro,
.product-block-2 .card:hover .free-sample-overlay { opacity: 1; }

/* ========== 产品推荐区块 | 2026-09-17 ==========
 * 模板：template-parts/block/products.php（查询仍走产品 CPT + 区块字段）
 * 作用：浅底、左标题右导语、大图叠字四列网格、底部分类/标题/摘要
 */
.products-block {
    padding: 5.5rem 0;
    background: color-mix(in srgb, var(--bs-primary) 10%, #fff);
    color: #1c334f;
    scroll-margin-top: 96px;
}
.products-block-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 2.5rem;
    margin-bottom: 3rem;
}
.products-block-title {
    margin: 0;
    max-width: 16ch;
    font-size: clamp(2rem, 3.6vw, 3rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: #1c334f;
}
.products-block-lead {
    max-width: 32rem;
    margin: 0;
    font-size: 1rem;
    line-height: 1.7;
    color: #5f738a;
}
.products-block-lead p {
    margin-bottom: 0.5rem;
}
.products-block-lead p:last-child {
    margin-bottom: 0;
}
.products-block-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}
.products-block-card {
    position: relative;
    display: block;
    min-height: 380px;
    overflow: hidden;
    color: #fff;
    text-decoration: none;
    isolation: isolate;
    background: var(--bs-primary);
}
.products-block-card:hover,
.products-block-card:focus-visible {
    color: #fff;
}
.products-block-card picture,
.products-block-card .products-block-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.products-block-card .products-block-image {
    object-fit: cover;
    object-position: center;
    transform: scale(1.04);
    transition: transform 1.1s cubic-bezier(0.22, 1, 0.36, 1);
}
.products-block-card:hover .products-block-image,
.products-block-card:focus-visible .products-block-image {
    transform: scale(1.12);
}
.products-block-fallback {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.875rem;
}
.products-block-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(var(--bs-primary-rgb), 0.08) 18%, rgba(var(--bs-primary-rgb), 0.82) 100%);
}
.products-block-body {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: block;
    padding: 1.5rem 1.5rem 1.75rem;
}
.products-block-cat {
    display: block;
    margin-bottom: 0.5rem;
    letter-spacing: 0.18em;
    font-size: 11px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.62);
}
.products-block-name {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.3;
    color: #fff;
}
.products-block-excerpt {
    display: block;
    margin-top: 0.6rem;
    max-height: 4.8em;
    overflow: hidden;
    opacity: 1;
    font-size: 13px;
    line-height: 1.6;
    color: rgba(255, 255, 255, 0.78);
    transition: max-height 0.35s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease, margin-top 0.35s ease;
}
.products-block-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    max-height: 5rem;
    overflow: hidden;
    opacity: 1;
    margin-top: 0.75rem;
    transition: max-height 0.35s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease, margin-top 0.35s ease;
}
.products-block-badge {
    display: inline-flex;
    padding: 2px 8px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    font-size: 11px;
    color: rgba(255, 255, 255, 0.82);
}
.products-block-actions {
    display: flex;
    justify-content: center;
    margin-top: 2.75rem;
}
.products-block-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 168px;
    min-height: 46px;
    padding: 0 26px;
    border: 1px solid var(--bs-primary);
    border-radius: 0;
    background: transparent;
    color: var(--bs-primary);
    font-size: 15px;
    font-weight: 500;
}
.products-block-more:hover,
.products-block-more:focus,
.products-block-more:active {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #fff;
}
.products-block-empty {
    text-align: center;
    padding: 3rem 0;
    color: #5f738a;
}
@media (min-width: 576px) {
    .products-block-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .products-block-card {
        min-height: 420px;
    }
}
@media (min-width: 992px) {
    .products-block-grid,
    .products-block-grid.is-cols-4 {
        grid-template-columns: repeat(4, 1fr);
    }
    .products-block-grid.is-cols-3 {
        grid-template-columns: repeat(3, 1fr);
    }
    .products-block-card {
        min-height: 520px;
    }
    .products-block-excerpt,
    .products-block-badges {
        max-height: 0;
        opacity: 0;
        margin-top: 0;
    }
    .products-block-card:hover .products-block-excerpt,
    .products-block-card:focus-visible .products-block-excerpt {
        max-height: 4.8em;
        opacity: 1;
        margin-top: 0.6rem;
    }
    .products-block-card:hover .products-block-badges,
    .products-block-card:focus-visible .products-block-badges {
        max-height: 5rem;
        opacity: 1;
        margin-top: 0.75rem;
    }
}
@media (max-width: 1440px) {
    .products-block-card {
        min-height: 400px;
    }
}
@media (max-width: 991.98px) {
    .products-block {
        padding: 3.5rem 0;
    }
    .products-block-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
        margin-bottom: 1.75rem;
    }
    .products-block-title {
        max-width: none;
    }
}


/* ========== 关于我们区块 | 2026-09-17 ==========
 * 模板：template-parts/block/about.php（标题/正文/第一张图/btn/跳转）
 * 作用：全宽背景图 + 左侧白字 + 红色按钮
 */
.about-block {
    position: relative;
    min-height: 640px;
    overflow: hidden;
    color: #fff;
    background: var(--bs-primary);
    scroll-margin-top: 96px;
}
.about-block-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.about-block-bg picture,
.about-block-bg .about-block-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.about-block-bg .about-block-image {
    object-fit: cover;
    object-position: center;
}
.about-block-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(var(--bs-primary-rgb), 0.72) 0%, rgba(var(--bs-primary-rgb), 0.4) 52%, rgba(var(--bs-primary-rgb), 0.16) 100%);
}
.about-block-inner {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    min-height: 640px;
    padding-top: 5.5rem;
    padding-bottom: 5.5rem;
}
.about-block-copy {
    max-width: 46rem;
}
.about-block-title {
    margin: 0 0 1.5rem;
    font-size: clamp(2rem, 3.6vw, 3rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: #fff;
}
.about-block-text {
    font-size: 1.0625rem;
    line-height: 1.9;
    color: rgba(255, 255, 255, 0.86);
}
.about-block-text p {
    margin-bottom: 1rem;
}
.about-block-text p:last-child {
    margin-bottom: 0;
}
.about-block-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 2.5rem;
}
.about-block-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 0 26px;
    border: 0;
    border-radius: 0;
    background: var(--bs-warning);
    color: var(--bs-warning-contrast, #fff);
    font-size: 15px;
    font-weight: 500;
}
.about-block-btn:hover,
.about-block-btn:focus,
.about-block-btn:active {
    background: color-mix(in srgb, var(--bs-warning), #000 18%);
    color: var(--bs-warning-contrast, #fff);
}
@media (max-width: 991.98px) {
    .about-block,
    .about-block-inner {
        min-height: 0;
    }
    .about-block-inner {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }
    .about-block-bg::after {
        background: linear-gradient(180deg, rgba(var(--bs-primary-rgb), 0.55) 0%, rgba(var(--bs-primary-rgb), 0.88) 100%);
    }
}

/* ========== 为什么选择我们区块 | 2026-09-17 ==========
 * 模板：template-parts/block/why.php（标题/正文 + 图片列表卖点；无内页）
 * 作用：全宽背景、居中标题、2×2 白卡片
 */
.why-block {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: var(--bs-primary);
    scroll-margin-top: 96px;
}
.why-block-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.why-block-bg picture,
.why-block-bg .why-block-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.why-block-bg .why-block-image {
    object-fit: cover;
    object-position: center;
}
.why-block-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(var(--bs-primary-rgb), 0.55) 0%, rgba(var(--bs-primary-rgb), 0.72) 100%);
}
.why-block-inner {
    position: relative;
    z-index: 2;
    padding-top: 7rem;
    padding-bottom: 7rem;
}
.why-block-head {
    max-width: 52rem;
    margin: 0 auto 3rem;
    text-align: center;
}
.why-block-title {
    margin: 0;
    font-size: clamp(2rem, 3.6vw, 2.75rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: #fff;
}
.why-block-lead {
    margin-top: 1rem;
    font-size: 1rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.86);
}
.why-block-lead p {
    margin-bottom: 0.5rem;
}
.why-block-lead p:last-child {
    margin-bottom: 0;
}
.why-block-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 18px;
}
.why-block-card {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.25rem;
    min-height: 124px;
    padding: 1.5rem 1.75rem;
    background: #fff;
    color: #1c334f;
    border-radius: 16px;
}
.why-block-copy {
    min-width: 0;
}
.why-block-name {
    margin: 0 0 0.4rem;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
    color: #1c334f;
}
.why-block-text {
    margin: 0;
    font-size: 0.875rem;
    line-height: 1.7;
    color: #5f738a;
}
.why-block-icon {
    flex-shrink: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 68px;
    height: 68px;
    border-radius: 50%;
    background: #eef2f6;
    color: #7b8b9c;
}
.why-block-icon .icon {
    width: 28px;
    height: 28px;
}
@media (min-width: 768px) {
    .why-block-grid {
        grid-template-columns: 1fr 1fr;
        gap: 22px;
    }
}
@media (max-width: 991.98px) {
    .why-block-inner {
        padding-top: 3.5rem;
        padding-bottom: 3.5rem;
    }
    .why-block-head {
        margin-bottom: 1.75rem;
        text-align: left;
    }
}

.desc-toggle {
  display: none;
}
@media (max-width: 767.98px) {
  .category-desc {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    position: relative;
    line-height: 1.4;
    word-wrap: break-word;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
  }
  .category-desc.expanded {
    display: block;
    -webkit-line-clamp: unset;
  }
  .desc-toggle {
    display: none;
    margin-top: 0.5em;
    color: #007bff;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
  }
  .desc-toggle.is-needed {
    display: block;
  }
}


/* ========== 资讯区块 | 2026-09-17 ==========
 * 模板：template-parts/block/news.php（查询仍走 n / cat，分类空则 blog）
 * 作用：浅底、左大图叠字 + 右侧列表；询盘表单在下方
 */
.news-block {
    padding: 5.5rem 0;
    background: #f6f8fb;
    color: #1c334f;
    scroll-margin-top: 96px;
}
.news-block-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 2.5rem;
    margin-bottom: 3rem;
}
.news-block-heading {
    min-width: 0;
}
.news-block-title {
    margin: 0;
    font-size: clamp(2rem, 3.6vw, 3rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: #1c334f;
}
.news-block-lead {
    max-width: 36rem;
    margin-top: 0.75rem;
    font-size: 1rem;
    line-height: 1.7;
    color: #5f738a;
}
.news-block-lead p {
    margin-bottom: 0.5rem;
}
.news-block-lead p:last-child {
    margin-bottom: 0;
}
.news-block-more {
    flex-shrink: 0;
    color: var(--bs-primary);
    font-size: 0.9375rem;
    white-space: nowrap;
    text-decoration: none;
}
.news-block-more::after {
    content: " →";
}
.news-block-more:hover,
.news-block-more:focus {
    color: var(--bs-warning);
}
.news-block-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1.75rem;
    align-items: stretch;
}
.news-block-feature {
    position: relative;
    display: block;
    min-height: 280px;
    overflow: hidden;
    color: #fff;
    text-decoration: none;
    background: var(--bs-primary);
}
.news-block-feature picture,
.news-block-feature .news-block-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.news-block-feature .news-block-image {
    object-fit: cover;
    object-position: center;
}
.news-block-feature::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(180deg, rgba(var(--bs-primary-rgb), 0.08) 20%, rgba(var(--bs-primary-rgb), 0.78) 100%);
}
.news-block-feature-body {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 2;
    padding: 1.75rem 1.5rem;
}
.news-block-feature .news-block-meta {
    display: block;
    font-size: 0.8125rem;
    letter-spacing: 0.08em;
    color: rgba(255, 255, 255, 0.72);
}
.news-block-name {
    margin: 0.75rem 0 0;
    font-size: clamp(1.35rem, 2.2vw, 2rem);
    font-weight: 600;
    line-height: 1.35;
    color: #fff;
}
.news-block-fallback {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.7);
}
.news-block-side {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
}
.news-block-item {
    display: grid;
    grid-template-columns: 1fr;
    gap: 1rem;
    align-items: center;
    color: inherit;
    text-decoration: none;
}
.news-block-item-media {
    display: block;
    overflow: hidden;
    height: 180px;
    background: #d9e4f0;
}
.news-block-item-media picture,
.news-block-item-media .news-block-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.news-block-item-media--empty {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #5f738a;
    font-size: 0.875rem;
}
.news-block-item-copy {
    min-width: 0;
}
.news-block-item .news-block-meta {
    display: block;
    font-size: 0.8125rem;
    letter-spacing: 0.08em;
    color: #5f738a;
}
.news-block-item-name {
    margin: 0.5rem 0 0;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.4;
    color: #1c334f;
}
.news-block-excerpt {
    display: block;
    margin-top: 0.5rem;
    font-size: 0.875rem;
    line-height: 1.7;
    color: #5f738a;
}
.news-block-feature:hover,
.news-block-item:hover {
    color: inherit;
}
.news-block-item:hover .news-block-item-name {
    color: var(--bs-primary);
}
.news-block-empty {
    padding: 2rem 0;
    color: #5f738a;
}
@media (min-width: 768px) {
    .news-block-item {
        grid-template-columns: 240px 1fr;
        gap: 1.35rem;
    }
}
@media (min-width: 992px) {
    .news-block-grid.has-side {
        grid-template-columns: 1.35fr 1fr;
        gap: 1.75rem;
    }
    .news-block-feature {
        min-height: 560px;
        height: 100%;
    }
    .news-block-feature-body {
        padding: 2.5rem;
    }
}
@media (max-width: 991.98px) {
    .news-block {
        padding: 3.5rem 0;
    }
    .news-block-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
        margin-bottom: 1.75rem;
    }
}

/* 归档：原资讯列表 hover */
.news-block li a:hover h3 {
  color:var(--bs-blue)!important;
}

/* ========== 获取专家报价区块 | 2026-09-17 ==========
 * 模板：template-parts/block/contact.php（标题/正文/卖点 + 询盘表单）
 * 作用：全宽叠底、左文案右留言
 */
.contact-block {
    position: relative;
    overflow: hidden;
    color: #fff;
    background: #061427;
    scroll-margin-top: 96px;
}
.contact-block-bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.contact-block-bg picture,
.contact-block-bg .contact-block-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.contact-block-bg .contact-block-image {
    object-fit: cover;
    object-position: center;
}
.contact-block-bg::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(90deg, rgba(6, 20, 39, 0.92) 0%, rgba(var(--bs-primary-rgb), 0.72) 100%);
}
.contact-block-inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 1fr;
    gap: 2.5rem;
    align-items: center;
    padding-top: 4.5rem;
    padding-bottom: 4.5rem;
}
.contact-block-title {
    margin: 0;
    max-width: 8em;
    font-size: clamp(2rem, 4vw, 3.25rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: #fff;
    text-wrap: balance;
}
.contact-block-lead {
    margin-top: 1.35rem;
    max-width: 35rem;
    font-size: 1.125rem;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.78);
}
.contact-block-lead p {
    margin-bottom: 0.5rem;
}
.contact-block-lead p:last-child {
    margin-bottom: 0;
}
.contact-block-points {
    margin-top: 2.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    font-size: 0.9375rem;
    color: rgba(255, 255, 255, 0.82);
}
.contact-block-points span::before {
    content: "";
    display: inline-block;
    width: 10px;
    height: 1px;
    margin-right: 12px;
    vertical-align: middle;
    background: var(--bs-warning);
}
.contact-block-form {
    background: rgba(255, 255, 255, 0.96);
    color: #1c334f;
    padding: 2.25rem 1.75rem 2rem;
}
.contact-block-form-title {
    margin: 0 0 1.5rem;
    font-size: 1.375rem;
    font-weight: 700;
    color: #1c334f;
}
.contact-block-form .form-control {
    border: 0;
    border-bottom: 1px solid #d5dee8;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
}
.contact-block-form .form-control:focus {
    border-bottom-color: var(--bs-primary);
    box-shadow: none;
    background: transparent;
}
.contact-block-form .form-floating > label {
    color: #5f738a;
}
.contact-block-form .form-floating > .form-control:focus ~ label::after,
.contact-block-form .form-floating > .form-control:not(:placeholder-shown) ~ label::after,
.contact-block-form .form-floating > textarea.form-control:focus ~ label::after {
    background: none !important;
    background-color: transparent !important;
    inset: auto;
    height: 0;
    content: none;
}
.contact-block-form .d-grid.col-6 {
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
    margin-top: 1.25rem;
    margin-bottom: 0;
    margin-left: 0;
    margin-right: 0;
}
.contact-block-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 50px;
    padding: 0 1.5rem;
    border: 0;
    border-radius: 0;
    background: var(--bs-warning);
    color: var(--bs-warning-contrast, #fff);
    font-size: 0.9375rem;
    font-weight: 500;
}
.contact-block-submit:hover,
.contact-block-submit:focus,
.contact-block-submit:active {
    background: color-mix(in srgb, var(--bs-warning), #000 18%);
    color: var(--bs-warning-contrast, #fff);
}
@media (min-width: 992px) {
    .contact-block-inner {
        grid-template-columns: 1fr minmax(320px, 38.75rem);
        gap: 5rem;
        padding-top: 7.5rem;
        padding-bottom: 7.5rem;
    }
    .contact-block-form {
        padding: 2.5rem 2.5rem 2.25rem;
    }
}

/* 客户见证 */
.testimonials-block {position:relative;overflow-x: hidden;}
.testimonials-block .swiper {
    overflow: hidden;
    visibility: hidden;
    opacity: 0;
    transition: opacity 0.6s cubic-bezier(.4,0,.2,1);
}
.testimonials-block .swiper.swiper-initialized {
    visibility: visible;
    opacity: 1;
}
.testimonials-block .swiper-slide {
    padding-top: 5px;
}
.testimonials-block .testimonial-quote {font-style: italic;margin-bottom: 1rem;}
.testimonials-block .swiper-pagination {bottom:20px;text-align:center;}
.testimonials-block .testimonial-card {
    transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}
.testimonials-block .testimonial-card:hover {
    transform: translateY(-3px);

}
.testimonials-block .testimonial-card:hover .testimonial-quote {
    color: var(--bs-blue)!important; 
}

/* ========== 案例展示区块 | 2026-09-17 ==========
 * 模板：template-parts/block/case.php（查询仍走文章分类 cases + 区块字段）
 * 作用：白底、左标题右导语、错落拼图叠字、底部分类/标题
 */
.cases-block {
    padding: 5.5rem 0;
    background: #fff;
    color: #1c334f;
    scroll-margin-top: 96px;
}
.cases-block-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    gap: 2.5rem;
    margin-bottom: 3rem;
}
.cases-block-title {
    margin: 0;
    max-width: 12ch;
    font-size: clamp(2rem, 3.6vw, 3rem);
    font-weight: 700;
    letter-spacing: -0.03em;
    line-height: 1.15;
    color: #1c334f;
}
.cases-block-lead {
    max-width: 32rem;
    margin: 0;
    font-size: 1rem;
    line-height: 1.7;
    color: #5f738a;
}
.cases-block-lead p {
    margin-bottom: 0.5rem;
}
.cases-block-lead p:last-child {
    margin-bottom: 0;
}
.cases-block-grid {
    display: grid;
    gap: 14px;
}
.cases-block-card {
    position: relative;
    display: block;
    min-height: 240px;
    overflow: hidden;
    color: #fff;
    text-decoration: none;
    isolation: isolate;
    background: var(--bs-primary);
}
.cases-block-card:hover,
.cases-block-card:focus-visible {
    color: #fff;
}
.cases-block-card picture,
.cases-block-card .cases-block-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
.cases-block-card .cases-block-image {
    object-fit: cover;
    object-position: center;
    transform: scale(1.03);
    transition: transform 1.1s cubic-bezier(0.22, 1, 0.36, 1);
}
.cases-block-card:hover .cases-block-image,
.cases-block-card:focus-visible .cases-block-image {
    transform: scale(1.1);
}
.cases-block-fallback {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.55);
    font-size: 0.875rem;
}
.cases-block-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, transparent 35%, rgba(var(--bs-primary-rgb), 0.78) 100%);
}
.cases-block-body {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 3;
    display: block;
    padding: 1.25rem 1.5rem 1.5rem;
}
.cases-block-cat {
    display: block;
    margin-bottom: 0.4rem;
    letter-spacing: 0.18em;
    font-size: 11px;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.65);
}
.cases-block-name {
    margin: 0;
    font-size: 1.25rem;
    font-weight: 600;
    line-height: 1.3;
    color: #fff;
}
.cases-block-grid.is-n-3 .cases-block-card:first-child .cases-block-name,
.cases-block-grid.is-n-4 .cases-block-card:first-child .cases-block-name,
.cases-block-grid.is-n-5 .cases-block-card:first-child .cases-block-name,
.cases-block-grid.is-n-6 .cases-block-card:first-child .cases-block-name,
.cases-block-grid.is-n-6 .cases-block-card:nth-child(6) .cases-block-name {
    font-size: clamp(1.5rem, 2.2vw, 2.25rem);
}
.cases-block-actions {
    display: flex;
    justify-content: center;
    margin-top: 2.75rem;
}
.cases-block-more {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 168px;
    min-height: 46px;
    padding: 0 26px;
    border: 1px solid var(--bs-primary);
    border-radius: 0;
    background: transparent;
    color: var(--bs-primary);
    font-size: 15px;
    font-weight: 500;
}
.cases-block-more:hover,
.cases-block-more:focus,
.cases-block-more:active {
    background: var(--bs-primary);
    border-color: var(--bs-primary);
    color: #fff;
}
.cases-block-empty {
    text-align: center;
    padding: 3rem 0;
    color: #5f738a;
}
@media (min-width: 576px) and (max-width: 991.98px) {
    .cases-block-grid {
        grid-template-columns: 1fr 1fr;
    }
    .cases-block-card {
        min-height: 260px;
    }
    .cases-block-grid.is-n-3 .cases-block-card:first-child,
    .cases-block-grid.is-n-4 .cases-block-card:first-child,
    .cases-block-grid.is-n-5 .cases-block-card:first-child,
    .cases-block-grid.is-n-6 .cases-block-card:first-child,
    .cases-block-grid.is-n-more .cases-block-card:first-child {
        grid-column: 1 / -1;
        min-height: 320px;
    }
}
@media (min-width: 992px) {
    .cases-block-grid.is-n-1 .cases-block-card {
        min-height: 420px;
    }
    .cases-block-grid.is-n-2 {
        grid-template-columns: 1.35fr 1fr;
    }
    .cases-block-grid.is-n-2 .cases-block-card {
        min-height: 420px;
    }
    .cases-block-grid.is-n-3 {
        grid-template-columns: 1.35fr 1fr;
        grid-template-rows: 280px 280px;
    }
    .cases-block-grid.is-n-3 .cases-block-card:first-child {
        grid-row: 1 / span 2;
    }
    .cases-block-grid.is-n-4 {
        grid-template-columns: 1.35fr 1fr 1fr;
        grid-template-rows: 280px 280px;
    }
    .cases-block-grid.is-n-4 .cases-block-card:first-child {
        grid-row: 1 / span 2;
    }
    .cases-block-grid.is-n-5 {
        grid-template-columns: 1.35fr 1fr 1fr;
        grid-template-rows: 280px 280px 260px;
    }
    .cases-block-grid.is-n-5 .cases-block-card:first-child {
        grid-row: 1 / span 2;
    }
    .cases-block-grid.is-n-5 .cases-block-card:nth-child(5) {
        grid-column: 1 / -1;
    }
    .cases-block-grid.is-n-6 {
        grid-template-columns: 1.35fr 1fr 1fr;
        grid-template-rows: 300px 300px 260px;
    }
    .cases-block-grid.is-n-6 .cases-block-card:first-child {
        grid-row: 1 / span 2;
    }
    .cases-block-grid.is-n-6 .cases-block-card:nth-child(6) {
        grid-column: 1 / -1;
    }
    .cases-block-grid.is-n-more {
        grid-template-columns: 1.35fr 1fr 1fr;
        grid-auto-rows: 260px;
    }
    .cases-block-grid.is-n-more .cases-block-card:first-child {
        grid-row: 1 / span 2;
    }
}
@media (max-width: 991.98px) {
    .cases-block {
        padding: 3.5rem 0;
    }
    .cases-block-head {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.75rem;
        margin-bottom: 1.75rem;
    }
    .cases-block-title {
        max-width: none;
    }
}
@media (max-width: 767.98px) {
    .cases-block-grid {
        grid-template-columns: 1fr;
        grid-template-rows: none;
    }
    .cases-block-card {
        min-height: 240px;
    }
}

/* 归档：原首页案例三列 4:3 卡片 | 2026-09-17 起首页改用 .cases-block */
.case-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 1rem;
}
.case-item {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    aspect-ratio: 4 / 3;
}

.case-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}
.case-item-content {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 20px;
    padding: 0 1.2rem;
    color: #fff;
    transition: all 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
    transform: translateY(0);
    z-index: 2;
}
.case-item-title {
    font-size: 1.25rem;
    margin: 0;
    padding: 0;
    line-height: 1.2;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
}
.case-item-description {
    margin: 0;
    padding: 0;
    height: 0;
    opacity: 0;
    overflow: hidden;
    transition: all 0.4s ease 0.1s;
    color: #fff;
}
.case-item::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 60px;
    background: linear-gradient(to top, rgba(0,0,0,0.7), transparent);
    transition: all 0.4s ease;
    z-index: 1;
    pointer-events: none;
}
@media (hover: hover) and (pointer: fine) {
    .case-item:hover img {
        transform: scale(1.1);
    }
    .case-item:hover .case-item-content {
        bottom: auto;
        top: 50%;
        transform: translateY(-50%);
        padding: 1.2rem;
        width: 100%;
    }
    .case-item:hover .case-item-description {
        height: auto;
        opacity: 1;
        margin-top: 1rem;
    }
    .case-item:hover::after {
        height: 100%;
    }
}
.case-item-title,
.case-item-description {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
@media (max-width: 991.98px) {
    .case-grid {
      grid-template-columns: repeat(2, 1fr);
    }
    .case-item-content {padding: 0 0.8rem;}
    .case-item-title {font-size: 1rem;}
}
@media (max-width: 767.98px) {
  .case-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.625rem;
  }
  .case-item {
    aspect-ratio: 4 / 3;
  }
  .case-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .case-item::after {
    height: 72%;
    background: linear-gradient(
      to top,
      rgba(0, 0, 0, 0.88) 0%,
      rgba(0, 0, 0, 0.55) 45%,
      rgba(0, 0, 0, 0.15) 75%,
      transparent 100%
    );
  }
  .case-item-content {
    bottom: 0;
    padding: 0.5rem 0.625rem 0.625rem;
    transform: none;
  }
  .case-item-title {
    font-size: 0.8125rem;
    line-height: 1.35;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.85);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  .case-item-description {
    display: none;
  }
}


/* footer | 2026-09-17：品牌蓝背景 + 右下角圆形社媒 */
.site-footer {
    background: var(--bs-primary);
    color: rgba(255, 255, 255, 0.78);
}
.site-footer .border-secondary {
    border-color: rgba(255, 255, 255, 0.12) !important;
}
.site-footer .foot-info p,
.site-footer .foot-copyright,
.site-footer .foot-contact li {
    color: rgba(255, 255, 255, 0.78);
}
.site-footer .foot-nav h3,
.site-footer .foot-contact h3 {
    color: #fff;
}
.site-footer .foot-nav a,
.site-footer .foot-nav a span {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.site-footer .foot-nav a,
.site-footer .foot-nav a span,
.site-footer .foot-contact a,
.site-footer .foot-copyright a {
    color: rgba(255, 255, 255, 0.78) !important;
    text-decoration: none;
    opacity: 1;
    transition: color .2s ease;
}
.site-footer .foot-contact .icon {
    color: rgba(255, 255, 255, 0.78);
}
.site-footer .foot-nav a:hover,
.site-footer .foot-nav a:focus-visible,
.site-footer .foot-contact a:hover,
.site-footer .foot-contact a:focus-visible,
.site-footer .foot-copyright a:hover,
.site-footer .foot-copyright a:focus-visible {
    color: #fff !important;
}
.foot-bar .social-list {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}
.foot-social-link {
    width: 36px;
    height: 36px;
    border: 1px solid rgba(255, 255, 255, 0.28);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}
.foot-social-link .icon {
    width: 14px;
    height: 14px;
    fill: currentColor;
}
.foot-social-link:hover,
.foot-social-link:focus {
    background: #fff;
    color: var(--bs-primary) !important;
    border-color: #fff;
}
.foot-social-link:hover .icon,
.foot-social-link:focus .icon {
    color: var(--bs-primary) !important;
    fill: currentColor;
}
@media (max-width: 767.98px) {
  .foot-bar {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
  .foot-bar .foot-social {
    width: 100%;
  }
}

/* ratio 容器内图片填满，减少 CLS（含 WebP <picture> 包装） */
.ratio > img,
.ratio > picture {
    object-fit: cover;
}
.ratio > picture img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* 主题 WebP 包装：占满父级宽度，不额外撑开布局 */
picture.mytheme-picture {
    display: block;
    max-width: 100%;
    line-height: 0;
}
picture.mytheme-picture > img {
    max-width: 100%;
}
picture.mytheme-picture:has(> img.w-100) {
    width: 100%;
}
picture.mytheme-picture:has(> img.h-100) {
    height: 100%;
}
.product-gallery-main .swiper-slide picture,
.product-gallery-thumbs .swiper-slide picture,
.intro-swiper .swiper-slide picture {
    width: 100%;
    height: 100%;
}

/* 产品主图画廊：固定比例 */
.product-gallery-main {
    aspect-ratio: 4 / 3;
    background: #f8f9fa;
    border-radius: 0.375rem;
    overflow: hidden;
}
.product-gallery-main .swiper-slide {
    display: flex;
    align-items: center;
    justify-content: center;
}
.product-gallery-main .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* 产品详情页缩略图：与主图同为 4:3，不要正方形 */
.product-gallery-thumbs {
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    padding-top: 8px;
    padding-bottom: 8px;
}
.product-gallery-thumbs .swiper-slide {
    display: flex;
    justify-content: center;
    align-items: center;
    cursor: pointer;
    opacity: 0.7;
    border: 2px solid transparent;
    border-radius: 8px;
    padding: 2px;
    box-sizing: border-box;
    width: 80px !important;
    height: 60px !important;
    margin: 0;
    background: #f8f9fa;
    overflow: hidden;
    transition: opacity 0.2s, border 0.2s;
}
.product-gallery-thumbs .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    border-radius: 6px;
    box-shadow: none;
    display: block;
}
.product-gallery-thumbs .swiper-slide-thumb-active{
    opacity: 1;
    border: 2px solid var(--bs-blue);
    background: #fff;
}


/* 定制流程进度条美化 */
.custom-process-wrapper {
    position: relative;
    padding: 32px 0 0 0;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.custom-process-wrapper .process-step {
    width: 40px;
    height: 40px;
    font-size: 1.1rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 2;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.custom-process-wrapper .custom-process-bar {
    height: 6px;
    background: rgba(var(--bs-primary-rgb), 0.2);
    z-index: 1;
	margin-top: 3px;
    border-radius: 3px;
}
@media (max-width: 767.98px) {
	.custom-process-wrapper {
		padding-bottom: 8px;
	}
	.custom-process-wrapper .process-step {
		width: 36px;
		height: 36px;
		font-size: 1.1rem;
		padding: 0;
	}
    .custom-process-wrapper .custom-process-bar {
        height: 4px;
		margin-top: -11px;
    }
}


/* 图片淡入（原生 lazy + 真实 src） */
.fade-in-img,
.post-content img,
img[loading="lazy"] {
  max-width: 100%;
  height: auto;
  display: block;
}
.fade-in-img {
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
}
.fade-in-img.loaded {
  opacity: 1;
}
.fade-up {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.fade-up.visible {
  opacity: 1;
  transform: translateY(0);
}


.ajax-contact-form input:-webkit-autofill,
.ajax-contact-form input:-webkit-autofill:focus,
.ajax-contact-form input:-webkit-autofill:hover {
    background-color: #fff !important;
    color: #212529 !important;
    box-shadow: 0 0 0px 1000px #fff inset !important;
}
.ajax-contact-form .form-floating > .form-control:focus ~ label::after,
.ajax-contact-form .form-floating > .form-control:not(:placeholder-shown) ~ label::after {
    background-color: transparent;
}
.ajax-contact-form button[type="submit"].disabled,
.ajax-contact-form button[type="submit"]:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    position: relative;
}
/* 仅「提交中」显示转圈，成功态 disabled 不再转圈 */
.ajax-contact-form button[type="submit"].is-submitting::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 16px;
    height: 16px;
    margin: -8px 0 0 -8px;
    border: 2px solid transparent;
    border-top: 2px solid currentColor;
    border-radius: 50%;
    animation: loading 1s linear infinite;
}
.ajax-contact-form:has(button[type="submit"].is-submitting) {
    pointer-events: none;
}
.ajax-contact-form:has(button[type="submit"].is-submitting) input,
.ajax-contact-form:has(button[type="submit"].is-submitting) textarea {
    opacity: 0.6;
    cursor: not-allowed;
}
.ajax-contact-form.submitted {
    pointer-events: none;
}
.ajax-contact-form.submitted input,
.ajax-contact-form.submitted textarea,
.ajax-contact-form.submitted button {
    opacity: 0.6;
    cursor: not-allowed;
}
.ajax-contact-form.submitted button[type="submit"] {
    opacity: 1;
}
#globalContactModal .ajax-contact-form.submitted .alert-success {
    display: block !important;
    font-weight: 600;
}
#globalContactModal .modal-header .btn-close {
    pointer-events: auto;
    z-index: 2;
}
@keyframes loading {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* 内页生产流程 */
.production-process .process-step {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}
.production-process .process-step.visible {
  opacity: 1;
  transform: translateY(0);
}
.production-process .step-dot {
  width: 20px;
  height: 20px;
  background: var(--bs-blue);
  border: 3px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 6px rgba(var(--bs-primary-rgb), 0.15);
  z-index: 10;
  transition: all 0.3s ease;
}
.production-process .process-step.visible .step-dot {
  box-shadow: 0 0 0 8px rgba(var(--bs-primary-rgb), 0.2);
  transform: scale(1.1);
}
.production-process .step-image-col img {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.production-process .step-image-col img:hover {
  transform: translateY(-4px);
  box-shadow: 0 1rem 3rem rgba(0,0,0,.15) !important;
}
@media (min-width: 992px) {
  .production-process .process-step:nth-child(odd) .step-content { 
	order: 1; 
	text-align: right; 
	padding-right: 3rem; 
  }
  .production-process .process-step:nth-child(odd) .step-dot-col { 
	order: 2; 
  }
  .production-process .process-step:nth-child(odd) .step-image-col { 
	order: 3; 
	padding-left: 3rem; 
  }
  .production-process .process-step:nth-child(even) .step-content { 
	order: 3; 
	text-align: left; 
	padding-left: 3rem; 
  }
  .production-process .process-step:nth-child(even) .step-dot-col { 
	order: 2; 
  }
  .production-process .process-step:nth-child(even) .step-image-col { 
	order: 1; 
	padding-right: 3rem; 
  }
}
@media (max-width: 991.98px) {
  .production-process .timeline-line { 
	left: 17px !important;
	display: block !important;
  }
  .production-process .process-step {
	padding-left: 0;
	min-height: auto;
  }
  .production-process .process-step .step-content {
	order: 2;
	text-align: left !important;
	padding-left: 58px !important;
	padding-right: 0.75rem !important;
	margin-bottom: 1.5rem;
	width: 100%;
  }
  .production-process .process-step .step-dot-col {
	order: 1;
	position: absolute;
	left: 18px;
	top: 50%;
	transform: translateY(-50%);
	width: auto;
	padding: 0;
  }
  .production-process .process-step .step-image-col {
	order: 3;
	padding-left: 58px !important;
	padding-right: 0 !important;
	width: 100%;
  }
  .production-process .process-step .step-image-col img {
	max-height: 250px;
	object-fit: cover;
  }
}

/* 证书卡片（竖版完整显示，不裁剪）— 产品页 / 证书列表共用；hover 见「链接与悬停交互」 */
.certificate-thumb {
	min-height: 160px;
	padding: 0.5rem;
	background: var(--bs-light);
	border-radius: var(--bs-border-radius);
}
.certificate-img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 220px;
	object-fit: contain;
}
@media (min-width: 768px) {
	.certificate-thumb {
		min-height: 220px;
		padding: 0.75rem;
	}
	.certificate-img {
		max-height: 300px;
	}
}

/* 证书详情页（固定 480×700，不放大） */
.certificate-single-figure {
	max-width: 480px;
}
.certificate-single-img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 700px;
	object-fit: contain;
}

/* ---- 图片轻度防护（配合 image-protect.js；主题设置可开关） ---- */
img {
	-webkit-user-drag: none;
	-webkit-touch-callout: none;
}

.img-protect-box {
	position: relative;
	max-width: 100%;
}

.img-protect-box > img[data-protect-marked] {
	display: block;
	max-width: 100%;
	height: auto;
	pointer-events: none;
}

.img-protect-box:has(> img[data-protect-marked])::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
	background: transparent;
}

.no-protect,
.no-protect img {
	pointer-events: auto !important;
	-webkit-user-drag: auto;
}

.no-protect.img-protect-box::after,
.no-protect::after {
	display: none !important;
}

.theme-hp {
	position: absolute;
	left: -10000px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
.captcha-image.captcha-loading {
	opacity: 0.4;
}

/* 相关资讯：缩略图固定，避免长标题把图和文字挤在一起 */
.related-blog-thumb {
    width: 80px;
    height: 80px;
    overflow: hidden;
}
.related-blog-thumb picture.mytheme-picture,
.related-blog-thumb img {
    display: block;
    width: 80px;
    height: 80px;
    max-width: 80px;
    object-fit: cover;
}

/* 产品归档询盘：桌面在标题右侧，手机另起一行 */
@media (max-width: 767.98px) {
    .product-archive-header .form-btn {
        align-self: flex-start;
    }
}

/* 关于我们：公司介绍、文化、服务支持 */
.about-intro-panel {
    padding: 2rem 1.75rem;
    background: var(--bs-primary);
    color: #fff;
}
.about-intro-kicker {
    margin: 0;
    font-size: 0.8125rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, 0.72);
}
.about-intro-year {
    margin: 0;
    font-size: clamp(3.25rem, 6vw, 4.5rem);
    font-weight: 700;
    line-height: 0.95;
    letter-spacing: -0.04em;
    color: #fff;
}
.about-intro-place {
    margin: 0;
    max-width: 22rem;
    color: rgba(255, 255, 255, 0.88);
}
.about-fields {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}
.about-fields li {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    padding: 0.4rem 0.7rem;
    background: rgba(255, 255, 255, 0.12);
    font-size: 0.9375rem;
}
.about-fields .icon {
    width: 1.05rem;
    height: 1.05rem;
}
.about-photo {
    overflow: hidden;
    background: #e8eef5;
}
.about-photo picture,
.about-photo-img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.about-culture {
    padding: 4.5rem 0;
    background: color-mix(in srgb, var(--bs-primary) 6%, #fff);
}
.about-service {
    padding: 4.5rem 0 3rem;
}
.about-card {
    height: 100%;
    padding: 1.5rem 1.35rem 1.4rem;
    background: #fff;
    border: 1px solid rgba(var(--bs-primary-rgb), 0.1);
}
.about-card-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.75rem;
    height: 2.75rem;
    margin-bottom: 1rem;
    color: var(--bs-primary);
    background: color-mix(in srgb, var(--bs-primary) 8%, #fff);
    font-size: 1.35rem;
}
.about-card-icon .icon {
    width: 1.35rem;
    height: 1.35rem;
}
.about-promise {
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.about-promise > div {
    padding: 1.35rem 1.5rem;
    background: var(--bs-primary);
    color: rgba(255, 255, 255, 0.82);
}
.about-promise > div + div {
    background: color-mix(in srgb, var(--bs-primary), #000 12%);
}
.about-promise strong {
    display: block;
    font-size: clamp(1.75rem, 3vw, 2.25rem);
    line-height: 1.1;
    color: #fff;
}
.about-docs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 1.5rem;
    padding: 1.25rem 1.35rem;
    border: 1px solid rgba(var(--bs-primary-rgb), 0.12);
    background: #fff;
}
@media (max-width: 767.98px) {
    .about-culture,
    .about-service {
        padding-top: 3rem;
        padding-bottom: 2.5rem;
    }
    .about-intro-panel {
        padding: 1.5rem 1.25rem;
    }
}

/* 下载中心 | 编辑器 HTML：.download-center */
.download-center {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 2rem 1rem;
}
.download-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    min-width: 0;
}
.download-card-title {
    font-size: 1.25rem;
    line-height: 1.4;
    margin: 0 0 0.4rem;
    width: 100%;
    min-height: calc(1.25rem * 1.4 * 2);
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}
.download-card-cover {
    width: 100%;
    aspect-ratio: 3 / 4;
    overflow: hidden;
    background: #f4f6f8;
}
.download-card-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.download-card .btn-more {
    margin-top: 0.85rem;
}
@media (max-width: 991.98px) {
    .download-center {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width: 359.98px) {
    .download-center {
        grid-template-columns: 1fr;
    }
}

/* 404 */
.error-404-code {
    margin: 0 0 0.35rem;
    font-size: clamp(3.25rem, 9vw, 5.5rem);
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.04em;
    color: var(--bs-primary);
    opacity: 0.16;
}
.error-404-desc {
    max-width: 32rem;
    font-size: 1.0625rem;
}
.error-404-links a {
    text-decoration: none;
}
.error-404-links a:hover,
.error-404-links a:focus-visible {
    text-decoration: underline;
}

/* Progressive enhancement: real content stays visible if scripts fail. */
[hidden] { display: none !important; }
img.fade-in-img { opacity: 1; }
.ft-js img.fade-in-img:not(.loaded) { opacity: 0; }
.ft-js img.fade-in-img.loaded { opacity: 1; }
.production-process .process-step { opacity: 1; transform: none; }
.ft-process-animate .process-step:not(.visible) { opacity: 0; transform: translateY(12px); }
.head-nav .dropdown > .dropdown-menu { display: none; }
.head-nav .dropdown.show > .dropdown-menu,
.head-nav:not(.ft-nav-ready) .dropdown:hover > .dropdown-menu,
.head-nav:not(.ft-nav-ready) .dropdown:focus-within > .dropdown-menu { display: block; opacity: 1; visibility: visible; transform: none; }
.head-nav button.dropdown-toggle { background: transparent; border: 0; color: inherit; }
.head-nav button.dropdown-toggle:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.skip-link { position: absolute; z-index: 1100; top: 8px; left: 8px; background: #fff; color: #111; padding: 8px 12px; }
.no-js .navbar-collapse { display: block !important; }
.no-js .category-desc { display: block; -webkit-line-clamp: unset; max-height: none; overflow: visible; }
.no-js .desc-toggle { display: none; }
.swiper:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide { display: none; }
.swiper:not(.swiper-initialized) > .swiper-wrapper > .swiper-slide:first-child { display: block; }
.swiper-static .swiper-pagination, .swiper-static .swiper-button-next, .swiper-static .swiper-button-prev { display: none; }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; scroll-behavior: auto !important; }
    .ft-process-animate .process-step { opacity: 1; transform: none; }
}
