@charset "utf-8";
/* ==========================================================================
   昱阳新能源 · 静态演示页
   主色 #69b02e / 深色 #0B2A31 / 浅底 #F5F8F9
   ========================================================================== */

:root {
    --pri: #69b02e;
    --pri-d: #8caa28;
    --pri-soft: #f4f9e4;
    --dark: #0b2a31;
    --dark-2: #0b2028;
    --ink: #12262e;
    --ink-2: #3c525c;
    --muted: #7c8f98;
    --line: #e4ebee;
    --soft: #f5f8f9;
    --white: #fff;

    --wrap: 1320px;
    --pad: 24px;

    --r-s: 4px;
    --r-m: 10px;
    --r-l: 14px;

    --tr: .35s cubic-bezier(.22, .61, .36, 1);
    --tr-s: .22s ease;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }

body {
    margin: 0;
    font-family: "PingFang SC", "Microsoft YaHei", "Hiragino Sans GB", -apple-system, "Segoe UI", Roboto, sans-serif;
    font-size: 15px;
    line-height: 1.8;
    color: var(--ink-2);
    background: #fff;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

h1, h2, h3, h4, p, ul, figure { margin: 0; }
ul { padding: 0; list-style: none; }
a { color: inherit; text-decoration: none; transition: color var(--tr-s); }
img { max-width: 100%; display: block; border: 0; }
button { font: inherit; color: inherit; background: none; border: 0; cursor: pointer; }

.wrap { width: 100%; max-width: var(--wrap); margin: 0 auto; padding: 0 var(--pad); }

/* 箭头 */
.ar {
    display: block; width: 7px; height: 7px;
    border-top: 1.6px solid currentColor; border-right: 1.6px solid currentColor;
    transform: rotate(45deg); flex: none;
}
.ar-l { transform: rotate(-135deg); }
.ar-up { transform: rotate(-45deg); }

/* 圆形按钮 */
.circle {
    width: 44px; height: 44px; flex: none;
    display: inline-flex; align-items: center; justify-content: center;
    border-radius: 50%; color: #fff; background: var(--pri);
    border: 1px solid var(--pri);
    transition: all var(--tr);
}
.circle:hover { background: var(--pri-d); border-color: var(--pri-d); }
.circle-line { color: var(--muted); background: #fff; border-color: var(--line); }
.circle-line:hover { color: var(--pri); border-color: var(--pri); background: #fff; }
.circle-sm { width: 34px; height: 34px; }
.circle-sm .ar { width: 6px; height: 6px; }

/* 按钮 */
.btn {
    display: inline-flex; align-items: center; justify-content: center; gap: 10px;
    height: 48px; padding: 0 26px;
    font-size: 14.5px; font-weight: 500; letter-spacing: .3px;
    border-radius: 999px; white-space: nowrap;
    transition: all var(--tr);
}
.btn-sm { height: 40px; padding: 0 20px; font-size: 13.5px; }
/* 头部「获取报价」与语言切换同高 */
.hd-act .btn-sm { height: 34px; padding: 0 18px; font-size: 13px; }
.btn-lg { height: 56px; padding: 0 34px; font-size: 15.5px; }
.btn-pri { color: #fff; background: var(--pri); }
.btn-pri:hover { background: var(--pri-d); transform: translateY(-2px); box-shadow: 0 12px 26px rgba(164, 196, 53, .32); }
/* 玻璃按钮：底色固定为深色半透明，保证三张轮播图上观感一致（不随底图色偏） */
.btn-ghost {
    color: #fff;
    border: 1px solid rgba(255, 255, 255, .5);
    background: rgba(9, 32, 40, .24);
    backdrop-filter: blur(8px);
}
.btn-ghost:hover { background: var(--pri); border-color: var(--pri); color: #fff; }
/* 案例区在青底上，保持浅色玻璃 */
.case-tx .btn-ghost { background: rgba(255, 255, 255, .12); border-color: rgba(255, 255, 255, .6); }
.case-tx .btn-ghost:hover { background: #fff; border-color: #fff; color: var(--pri-d); }
.btn-white { color: var(--ink); background: #fff; }
.btn-white:hover { background: var(--pri-soft); color: var(--pri-d); transform: translateY(-2px); }

/* 小标题 */
.kicker {
    display: block;
    font-size: 12px; font-weight: 600; letter-spacing: 2.4px;
    color: var(--pri); text-transform: uppercase; line-height: 1;
}
.kicker-light { color: rgba(255, 255, 255, .72); }

.h2 {
    margin-top: 16px;
    font-size: clamp(26px, 2.4vw, 34px); font-weight: 700; line-height: 1.45;
    color: var(--ink); letter-spacing: -.2px;
}

.sec { padding: 108px 0; }
.sec-hd {
    display: flex; align-items: flex-end; justify-content: space-between;
    gap: 30px; margin-bottom: 40px;
}
.sec-hd-l { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 26px; }
.sec-t { font-size: 26px; font-weight: 700; color: var(--ink); letter-spacing: .3px; line-height: 1.3; }
.sec-d { margin: 0; font-size: 13px; color: var(--muted); }
.sec-hd-r { display: flex; gap: 10px; }

/* ==========================================================================
   顶部导航
   ========================================================================== */
.hd {
    position: fixed; left: 0; right: 0; top: 0; z-index: 100;
    transition: all var(--tr);
}
.hd-in {
    display: flex; align-items: center; gap: 28px; height: 92px;
    transition: height var(--tr);
}
.hd::before {
    content: ""; position: absolute; inset: 0; z-index: -1;
    background: rgba(8, 30, 38, .42); backdrop-filter: blur(6px);
    border-bottom: 1px solid rgba(255, 255, 255, .08);
    transition: all var(--tr);
}
.hd.solid::before {
    background: #fff; backdrop-filter: blur(10px);
    border-bottom-color: var(--line);
    box-shadow: 0 6px 24px rgba(12, 40, 52, .06);
}
.hd.solid .hd-in { height: 72px; }

/* LOGO */
.logo { display: flex; align-items: center; gap: 10px; flex: none; }
.logo-mark { position: relative; display: block; width: 30px; height: 30px; }
.logo-mark i {
    position: absolute; width: 13px; height: 13px; background: var(--pri);
    border-radius: 3px;
}
.logo-mark i:nth-child(1) { left: 0; top: 0; opacity: .55; }
.logo-mark i:nth-child(2) { right: 0; top: 0; }
.logo-mark i:nth-child(3) { left: 0; bottom: 0; }
.logo-mark i:nth-child(4) { right: 0; bottom: 0; opacity: .35; }
.logo-tx {
    font-size: 20px; font-weight: 700; letter-spacing: .5px; color: #fff;
    line-height: 1;
}
.logo-tx b { font-weight: 700; color: var(--pri); }
.hd.solid .logo-tx { color: var(--ink); }
.hd.solid .logo-tx b { color: var(--pri); }

/* 导航 */
.nav { display: flex; align-items: center; gap: 2px; margin-left: auto; }
.nav-a {
    position: relative; display: inline-flex; align-items: center; gap: 6px;
    height: 40px; padding: 0 15px;
    font-size: 14.5px; color: rgba(255, 255, 255, .86);
    transition: all var(--tr-s);
}
.nav-a::after {
    content: ""; position: absolute; left: 15px; right: 15px; bottom: 2px; height: 2px;
    background: var(--pri); transform: scaleX(0); transform-origin: left;
    transition: transform var(--tr);
}
.nav-a:hover, .nav-a.on { color: #fff; }
.nav-a:hover::after, .nav-a.on::after { transform: scaleX(1); }
.hd.solid .nav-a { color: var(--ink-2); }
.hd.solid .nav-a:hover, .hd.solid .nav-a.on { color: var(--pri-d); }
.caret {
    width: 5px; height: 5px; margin-top: -3px;
    border-right: 1.4px solid currentColor; border-bottom: 1.4px solid currentColor;
    transform: rotate(45deg); opacity: .6;
    transition: transform .3s cubic-bezier(.22, .61, .36, 1);
}

/* 右侧动作区 */
.hd-act { display: flex; align-items: center; gap: 14px; flex: none; }
.ic-btn {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    color: rgba(255, 255, 255, .85); border-radius: 50%; transition: all var(--tr-s);
}
.ic-btn:hover { background: rgba(255, 255, 255, .14); }
.hd.solid .ic-btn { color: var(--ink-2); }
.hd.solid .ic-btn:hover { background: var(--soft); color: var(--pri); }

/* 产品中心下拉：通栏深色玻璃面板 */
.nav-drop { position: relative; display: flex; align-items: center; }
/* 透明桥：填平导航项底边(66)到面板顶边(92)之间 26px 的空隙，
   否则鼠标下移经过这段时 :hover 会中断，面板闪一下又重开 */
.nav-drop::after {
    content: ""; position: absolute; left: -6px; right: -6px; top: 100%; height: 36px;
}
.mega {
    position: fixed; left: 0; right: 0; top: 0;
    padding-top: 92px;                       /* 让出 header，内容贴在其下沿 */
    opacity: 0; visibility: hidden; pointer-events: none;
    transition: opacity .32s ease, visibility .32s;
    z-index: 60;
}
.hd.solid .mega { padding-top: 72px; }
.nav-drop:hover .mega,
.nav-drop:focus-within .mega { opacity: 1; visibility: visible; }
.mega-card {
    /* 与「了解更多」按钮同一套深色玻璃：透出背景、白字压得住 */
    background: rgba(9, 32, 40, .58);
    -webkit-backdrop-filter: blur(16px) saturate(150%);
    backdrop-filter: blur(16px) saturate(150%);
    border-top: 1px solid rgba(255, 255, 255, .16);
    box-shadow: 0 30px 70px rgba(4, 18, 24, .4);
    pointer-events: auto;                    /* 只让面板本体接收事件，透明区不挡 header */
    transform: translateY(-6px);
    transition: transform .3s cubic-bezier(.22, .61, .36, 1);
}
.hd.solid .mega-card { background: rgba(9, 32, 40, .68); }
.nav-drop:hover .mega-card,
.nav-drop:focus-within .mega-card { transform: none; }

.mega-in { max-width: var(--wrap); margin: 0 auto; padding: 34px var(--pad) 30px; }
.mega-head { display: flex; align-items: baseline; flex-wrap: wrap; gap: 8px 18px; margin-bottom: 24px; }
.mega-kicker { font-size: 12.5px; font-weight: 700; letter-spacing: 3px; color: #c9e46b; }
.mega-head p { font-size: 13px; color: rgba(255, 255, 255, .64); }
.mega-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; }
.mega-i {
    display: flex; flex-direction: column;
    background: #fff; border: 1px solid rgba(8, 30, 38, .07);
    border-radius: 12px; overflow: hidden;
    transition: transform var(--tr), box-shadow var(--tr), border-color var(--tr);
}
.mega-i:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(8, 30, 38, .12); border-color: transparent; }
.mega-pic {
    aspect-ratio: 4 / 3; display: grid; place-items: center;
    background: #f8fafb; overflow: hidden;
}
.mega-pic img {
    width: 82%; height: 82%; object-fit: contain; mix-blend-mode: multiply;
    transition: transform .6s cubic-bezier(.22, .61, .36, 1);
}
.mega-i:hover .mega-pic img { transform: scale(1.07); }
.mega-tx { display: flex; flex-direction: column; gap: 6px; padding: 16px 18px 18px; }
.mega-tx b { font-size: 15.5px; font-weight: 600; color: var(--ink); line-height: 1.3; }
.mega-tx em { font-style: normal; font-size: 12px; color: var(--muted); line-height: 1.5; }
.mega-i:hover .mega-tx b { color: var(--pri-d); }
.mega-foot {
    display: flex; align-items: center; justify-content: space-between;
    margin-top: 26px; padding-top: 20px;
    border-top: 1px solid rgba(255, 255, 255, .16);
}
.mega-all { display: inline-flex; align-items: center; gap: 8px; font-size: 13.5px; font-weight: 700; color: #cde96f; }
.mega-all .ar, .mega-help .ar { width: 6px; height: 6px; }
.mega-help { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; color: rgba(255, 255, 255, .7); transition: color var(--tr-s); }
.mega-help:hover { color: #fff; }
.nav-drop:hover .caret, .nav-drop:focus-within .caret { transform: rotate(-135deg); }

/* 搜索：按钮 + 弹出面板 */
.hd-search { position: relative; display: inline-flex; }
.search-pop {
    position: absolute; right: -6px; top: calc(100% + 16px);
    width: 372px; padding: 16px;
    background: rgba(9, 32, 40, .62);
    -webkit-backdrop-filter: blur(16px) saturate(150%);
    backdrop-filter: blur(16px) saturate(150%);
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 12px;
    box-shadow: 0 22px 54px rgba(2, 12, 18, .32);
    transform-origin: top right;
    opacity: 0; transform: translateY(-10px) scale(.94);
    visibility: hidden;
    transition: opacity .26s ease, transform .32s cubic-bezier(.22, .61, .36, 1), visibility .32s;
    z-index: 30;
}
.hd.solid .search-pop { background: rgba(9, 32, 40, .68); }
.search-pop.open { opacity: 1; transform: none; visibility: visible; }
.search-form {
    display: flex; align-items: center; gap: 9px;
    height: 48px; padding: 0 6px 0 15px;
    background: rgba(255, 255, 255, .08); border: 1px solid rgba(255, 255, 255, .16); border-radius: 9px;
    transition: border-color var(--tr-s), background var(--tr-s), box-shadow var(--tr-s);
}
.search-form:focus-within { border-color: var(--pri); background: rgba(255, 255, 255, .12); box-shadow: 0 0 0 3px rgba(164, 196, 53, .2); }
.sf-ic { color: rgba(255, 255, 255, .5); flex: none; }
.search-form:focus-within .sf-ic { color: var(--pri); }
.search-form input {
    flex: 1; min-width: 0; height: 100%; border: 0; background: none;
    font-size: 14px; color: #fff; font-family: inherit;
    -webkit-appearance: none; appearance: none;
}
.search-form input:focus { outline: none; }
.search-form input::placeholder { color: rgba(255, 255, 255, .42); }
.search-form input::-webkit-search-cancel-button { -webkit-appearance: none; }
.sf-go {
    flex: none; height: 36px; padding: 0 18px; border-radius: 7px;
    background: var(--pri); color: #fff; font-size: 13.5px; font-weight: 600;
    transition: background var(--tr-s);
}
.sf-go:hover { background: var(--pri-d); }
.search-hot {
    display: flex; flex-wrap: wrap; align-items: center; gap: 8px;
    margin-top: 14px;
}
.sh-lb { font-size: 12px; color: rgba(255, 255, 255, .4); margin-right: 2px; }
.search-hot a {
    padding: 5px 11px; border-radius: 999px;
    font-size: 12.5px; color: rgba(255, 255, 255, .86);
    background: rgba(255, 255, 255, .07);
    border: 1px solid rgba(255, 255, 255, .14);
    transition: all var(--tr-s);
}
.search-hot a:hover { background: var(--pri); border-color: var(--pri); color: #fff; }

/* 语言切换 */
.lang {
    display: inline-flex; align-items: center; gap: 6px;
    height: 34px; padding: 0 12px;
    border: 1px solid rgba(255, 255, 255, .32); border-radius: 999px;
    font-size: 12.5px; line-height: 1; transition: all var(--tr-s);
}
.lang-i { color: rgba(255, 255, 255, .7); transition: color var(--tr-s); }
.lang-i:hover { color: #fff; }
.lang-i.on { color: #fff; font-weight: 600; }
.lang-line { width: 1px; height: 10px; background: rgba(255, 255, 255, .28); }
.hd.solid .lang { border-color: var(--line); }
.hd.solid .lang-i { color: var(--muted); }
.hd.solid .lang-i.on { color: var(--pri); }
.hd.solid .lang-i:hover { color: var(--pri); }
.hd.solid .lang-line { background: var(--line); }

/* 汉堡 */
.burger { display: none; width: 38px; height: 38px; padding: 9px 8px; }
.burger span { display: block; height: 1.8px; background: #fff; border-radius: 2px; transition: all var(--tr); }
.burger span + span { margin-top: 6px; }
.hd.solid .burger span { background: var(--ink); }

/* ==========================================================================
   首屏
   ========================================================================== */
.hero {
    position: relative; height: 100vh; min-height: 660px; max-height: 940px;
    overflow: hidden; background: var(--dark);
}
.hero-slides { position: absolute; inset: 0; }
.hero-s {
    position: absolute; inset: 0;
    background-size: cover; background-position: center;
    opacity: 0; transform: scale(1.06);
    transition: opacity 1.1s ease, transform 6s linear;
    display: flex; align-items: center; justify-content: center;
    /* 未激活的幻灯片不能拦住鼠标，否则会挡住当前页的按钮 */
    pointer-events: none;
}
.hero-s::before {
    content: ""; position: absolute; inset: 0; z-index: 1;
    background:
        linear-gradient(180deg, rgba(6, 24, 32, .55) 0%, rgba(6, 24, 32, .22) 34%, rgba(6, 24, 32, .58) 100%),
        radial-gradient(ellipse at 50% 46%, rgba(6, 24, 32, .26), transparent 64%);
}
.hero-s.on { opacity: 1; transform: scale(1); pointer-events: auto; }
.hero-inner {
    position: relative; z-index: 3;
    width: 100%; max-width: 1060px; margin: 0 auto;
    text-align: center; color: #fff; padding-bottom: 20px;
}
.hero-t {
    font-size: clamp(26px, 3.6vw, 54px); font-weight: 800; line-height: 1.22;
    letter-spacing: .5px; color: #fff;
    /* 英文标题较长：允许换行，不再强制单行 */
    white-space: normal;
    text-shadow: 0 8px 40px rgba(4, 20, 28, .45);
}
.hero-p {
    margin: 22px auto 0; max-width: 660px;
    font-size: 16px; line-height: 1.9; color: rgba(255, 255, 255, .82);
}
.hero-inner .btn { margin-top: 34px; }

/* 轮播点 */
.hero-dots {
    position: absolute; right: 34px; top: 50%; transform: translateY(-50%);
    z-index: 4; display: flex; flex-direction: column; gap: 10px;
}
.hdot {
    width: 8px; height: 8px; border-radius: 999px;
    background: rgba(255, 255, 255, .38);
    transition: background .3s ease, height .3s ease;
}
/* 三个指示点悬停统一变白 + 轻微拉长 */
.hdot:hover { height: 15px; background: #fff; }
.hdot.on { height: 26px; background: #fff; }

/* 向下滚动：动态小鼠标 */
.hero-scroll {
    position: absolute; left: 50%; bottom: 34px; transform: translateX(-50%);
    z-index: 4; display: flex; align-items: center; justify-content: center;
    width: 50px; height: 66px;
    transition: transform var(--tr);
}
.hero-scroll:hover { transform: translateX(-50%) translateY(-4px); }
.mouse {
    position: relative;
    width: 28px; height: 44px;
    border: 1.6px solid rgba(255, 255, 255, .95);
    border-radius: 14px;
    background: rgba(255, 255, 255, .12);
    backdrop-filter: blur(3px);
    box-shadow: 0 10px 26px rgba(4, 20, 28, .32), inset 0 1px 0 rgba(255, 255, 255, .5);
    animation: mouseFloat 2.6s ease-in-out infinite;
}
/* 左右键分界线，强化鼠标辨识度 */
.mouse::after {
    content: ""; position: absolute; left: 50%; top: 0;
    width: 1.4px; height: 10px; margin-left: -.7px;
    background: rgba(255, 255, 255, .55);
}
.mouse-wheel {
    position: absolute; left: 50%; top: 11px;
    width: 3.5px; height: 8px; margin-left: -1.75px;
    border-radius: 3px; background: #fff;
    box-shadow: 0 0 6px rgba(255, 255, 255, .5);
    animation: wheelScroll 1.9s cubic-bezier(.4, 0, .2, 1) infinite;
}
@keyframes wheelScroll {
    0%   { opacity: 0; transform: translateY(-2px) scaleY(.5); }
    22%  { opacity: 1; transform: translateY(0) scaleY(1); }
    68%  { opacity: 1; transform: translateY(12px) scaleY(1); }
    100% { opacity: 0; transform: translateY(16px) scaleY(.4); }
}
@keyframes mouseFloat {
    0%, 100% { transform: translateY(0); }
    50%      { transform: translateY(-6px); }
}

/* ==========================================================================
   三大类目
   ========================================================================== */
.cats { position: relative; z-index: 6; background: #f4f7f9; }
.cat-grid {
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0;
}
.cat {
    position: relative;
    display: flex; flex-direction: column; align-items: center;
    padding: 38px 20px 40px; background: #f4f7f9;
    border-left: 1px solid #dbe4e8;
    transition: background .45s ease, box-shadow .45s ease, transform .45s cubic-bezier(.22, .61, .36, 1);
}
.cat:first-child { border-left: 0; }
.cat:hover {
    z-index: 2; background: #fff;
    box-shadow: 0 6px 16px rgba(14, 44, 56, .09);
    transform: translateY(-3px);
}
.cat-pic {
    width: 100%; height: 232px;
    display: flex; align-items: center; justify-content: center;
}
.cat-pic img {
    max-width: 74%; max-height: 100%; width: auto; height: auto; object-fit: contain;
    mix-blend-mode: multiply;
    transition: transform .8s cubic-bezier(.22, .61, .36, 1);
}
.cat:hover .cat-pic img { transform: scale(1.06); }
.cat-t { margin-top: 22px; font-size: 16.5px; font-weight: 600; color: var(--ink); line-height: 1.4; letter-spacing: .5px; }
.cat-s { margin-top: 8px; font-size: 11.5px; font-weight: 600; letter-spacing: 2.2px; color: #93a3aa; }
.cat-btn {
    width: 30px; height: 30px; margin-top: 18px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--pri); background: #fff; border: 1px solid #e3ebee;
    transition: all var(--tr);
}
.cat-btn .ar { width: 6px; height: 6px; }
.cat:hover .cat-btn { color: #fff; background: var(--pri); border-color: var(--pri); transform: translateX(3px); }

/* ==========================================================================
   关于我们
   ========================================================================== */
.about-in {
    display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: 84px; align-items: center;
}
.about-pic { position: relative; }
.about-pic img { width: 100%; aspect-ratio: 5 / 4.5; object-fit: cover; border-radius: var(--r-m); }
.about-badge {
    position: absolute; left: -26px; bottom: -26px;
    width: 132px; height: 132px; padding: 16px;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    text-align: center; gap: 8px;
    background: var(--pri); color: #fff; border-radius: var(--r-s);
    box-shadow: 0 18px 40px rgba(164, 196, 53, .34);
}
.ab-ic { display: block; opacity: .92; line-height: 0; }
.ab-lb { font-size: 12px; letter-spacing: 3px; opacity: .8; line-height: 1; text-indent: 3px; }
.about-badge b { font-size: 28px; font-weight: 800; line-height: 1.1; letter-spacing: 1px; }

.about-tx .kicker { font-size: 26px; font-weight: 700; letter-spacing: 1px; line-height: 1.3; }
.about-tx .h2 { max-width: 620px; font-size: 19px; font-weight: 600; line-height: 1.65; }
.about-tx > p { margin-top: 20px; font-size: 15px; line-height: 2; color: var(--muted); max-width: 600px; }

.link-more {
    display: inline-flex; align-items: center; gap: 10px; margin-top: 22px;
    font-size: 14px; font-weight: 600; color: var(--ink);
}
.link-more .ar { transition: transform var(--tr); }
.link-more:hover { color: var(--pri); }
.link-more:hover .ar { transform: rotate(45deg) translate(3px, 3px); }

.stats {
    display: grid; grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0; margin-top: 38px; padding-top: 30px; border-top: 1px solid var(--line);
}
.stat { display: flex; flex-direction: column; gap: 6px; padding: 0 30px; }
.stat:first-child { padding-left: 0; }
.stat + .stat { border-left: 1px solid var(--line); }
.stat em { font-style: normal; font-size: 11.5px; letter-spacing: 1.4px; color: #a9b8bf; }
.stat b {
    font-size: clamp(26px, 2.6vw, 36px); font-weight: 800; line-height: 1.1;
    color: var(--pri); letter-spacing: -.5px; font-variant-numeric: tabular-nums;
}
.stat b i { font-style: normal; }

/* ==========================================================================
   项目案例
   ========================================================================== */
.case { background: #fff; }
.case-in {
    position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.18fr);
    min-height: 600px;
}
.case-tx {
    display: flex; flex-direction: column; justify-content: center; align-items: flex-start;
    padding: 76px clamp(30px, 5vw, 92px);
    background: var(--pri); color: #fff;
    background-image: radial-gradient(rgba(255, 255, 255, .14) 1px, transparent 1px);
    background-size: 26px 26px;
}
.case-tx .kicker { font-size: 26px; font-weight: 700; letter-spacing: 1px; color: #fff; }
.case-t {
    margin-top: 14px; font-size: 19px; font-weight: 600; line-height: 1.65;
    color: #fff;
}
.case-p { margin-top: 22px; max-width: 480px; font-size: 14.5px; line-height: 2; color: rgba(255, 255, 255, .86); }
.case-tx .btn { margin-top: 34px; }
.case-pic { position: relative; overflow: hidden; }
.case-pic img { width: 100%; height: 100%; object-fit: cover; }
.case-ctrl {
    position: absolute; right: 26px; bottom: 26px; z-index: 3;
    display: flex; gap: 10px;
}
.case-ctrl .circle { background: rgba(255, 255, 255, .18); border-color: rgba(255, 255, 255, .4); backdrop-filter: blur(6px); }
.case-ctrl .circle:hover { background: var(--pri); border-color: var(--pri); }
.case-ctrl .circle.on { background: var(--pri); border-color: var(--pri); }

/* ==========================================================================
   产品中心
   ========================================================================== */
.products { background: #fff; }
.prod-grid {
    display: grid; grid-auto-flow: column;
    grid-auto-columns: calc((100% - 72px) / 4);
    gap: 24px;
    overflow-x: auto; overflow-y: hidden;
    padding: 10px 0 58px; margin: -10px 0 -58px;
    scrollbar-width: none;
}
.prod-grid::-webkit-scrollbar { display: none; }
.prod {
    display: flex; flex-direction: column; background: #fff;
    border: 1px solid var(--line); border-radius: 10px;
    transition: all var(--tr); overflow: hidden;
}
.prod:hover { border-color: var(--pri); box-shadow: 0 12px 30px rgba(12, 40, 52, .07), 0 2px 8px rgba(12, 40, 52, .04); transform: translateY(-5px); }
.prod-pic {
    display: flex; align-items: center; justify-content: center;
    aspect-ratio: 1 / 1; padding: 6px; background: #fff;
}
.prod-pic img { width: auto; max-width: 100%; max-height: 100%; object-fit: contain; transition: transform .7s cubic-bezier(.22, .61, .36, 1); }
.prod:hover .prod-pic img { transform: scale(1.05); }
.prod-bd {
    display: flex; align-items: center; justify-content: space-between; gap: 14px;
    padding: 18px 22px;
    background: #eff3f5;
    border-top: 1px solid #e3eaed;
}
.prod-m { font-size: 14.5px; font-weight: 600; color: var(--ink); }
.prod-more { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--muted); }
.prod:hover .prod-more { color: var(--pri); }
.prod-more .ar { width: 6px; height: 6px; }

/* ==========================================================================
   四大优势
   ========================================================================== */
.adv { position: relative; overflow: hidden; background: var(--pri); }
.adv-bg {
    position: absolute; inset: 0;
    background-size: cover; background-position: center 58%;
    opacity: .82; filter: saturate(.7);
}
.adv::after {
    content: ""; position: absolute; inset: 0;
    background: linear-gradient(100deg, rgba(118, 144, 26, .82) 0%, rgba(164, 196, 53, .68) 52%, rgba(136, 168, 34, .82) 100%);
}
.adv-grid {
    position: relative; z-index: 2;
    display: grid; grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: stretch;
    min-height: clamp(480px, 64vh, 660px);
}
.adv-i {
    position: relative;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 72px clamp(18px, 2.4vw, 38px);
    text-align: center; color: #fff;
    border-left: 1px solid rgba(255, 255, 255, .2);
    transition: background .5s ease;
}
.adv-i:first-child { border-left: 0; }
/* 悬停整列加深：叠一层深青，不是黑色蒙版 */
.adv-i::before {
    content: ""; position: absolute; inset: 0; z-index: 0;
    background: rgba(5, 62, 56, .38);
    opacity: 0; transition: opacity .5s ease;
}
.adv-i:hover::before { opacity: 1; }
.adv-i > * { position: relative; z-index: 1; }
.adv-ic {
    display: inline-flex; align-items: center; justify-content: center;
    margin-bottom: 26px; color: #fff;
}
.adv-ic svg { transition: transform var(--tr); }
.adv-i:hover .adv-ic svg { transform: translateY(-4px); }
.adv-t { font-size: 19px; font-weight: 600; color: #fff; letter-spacing: .2px; }
.adv-i p {
    margin: 16px auto 0; max-width: 280px;
    font-size: 14.5px; font-weight: 600; line-height: 1.95; color: rgba(255, 255, 255, .92);
}

/* ==========================================================================
   新闻
   ========================================================================== */
.news { background: var(--soft); }
.news-track {
    display: flex; gap: 26px; overflow-x: auto;
    /* 上方留出缩略图溢出的空间，下方留投影/间隙 */
    padding: 78px 0 44px;
    scroll-snap-type: x mandatory; scrollbar-width: none;
}
.news-track::-webkit-scrollbar { display: none; }
/* 鼠标设备：禁用原生横向滚动，滚轮完全交给页面（避免轮询式 scrollBy 的顿挫） */
.news-track.no-wheel { overflow: hidden; }
.news-c {
    position: relative; flex: 0 0 86%; scroll-snap-align: start;
    display: grid; grid-template-columns: 52% minmax(0, 1fr);
    background: #fff; border-radius: 8px;
    transition: box-shadow .5s ease, transform .5s cubic-bezier(.22, .61, .36, 1);
}
.news-c:hover {
    transform: translateY(-3px);
    /* 单层小偏移 + 大模糊 + 极低透明度：只剩边缘的一圈柔光，看不出矩形轮廓 */
    box-shadow: 0 5px 18px rgba(14, 44, 56, .045);
}
/* 缩略图：默认收在内容框内（左进 14px、底部留 18px）
   仅当前卡（.on）向上溢出 60px，破框浮起 */
.news-pic {
    position: absolute; left: 16px; top: 18px; bottom: 20px;
    width: calc(52% - 16px);
    overflow: hidden; background: var(--soft);
    transition: top .55s cubic-bezier(.22, .61, .36, 1);
}
.news-c.on .news-pic { top: -70px; }
.news-pic img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.22, .61, .36, 1); }
.news-c:hover .news-pic img { transform: scale(1.04); }
.news-tag {
    position: absolute; left: 16px; top: 16px;
    padding: 4px 12px; font-style: normal; font-size: 11.5px; letter-spacing: .5px;
    color: #fff; background: rgba(11, 42, 49, .68); border-radius: 999px;
    backdrop-filter: blur(4px);
}
.news-bd {
    grid-column: 2;
    display: flex; flex-direction: column;
    padding: 50px 44px 34px 40px;
    min-width: 0;
}
.news-t {
    font-size: 20px; font-weight: 600; line-height: 1.6; color: var(--ink);
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
/* 标题 / 阅读全文 / 圆钮各自独立响应，不再随整卡联动 */
.news-t:hover { color: var(--pri-d); }
.news-date { margin-top: 16px; font-size: 12.5px; letter-spacing: .6px; color: #a9b8bf; }
.news-p {
    margin-top: 20px;
    font-size: 14px; line-height: 2; color: var(--muted);
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.news-foot {
    display: flex; align-items: center; justify-content: space-between; gap: 16px;
    margin-top: auto; padding-top: 30px;
}
.news-more {
    font-size: 13.5px; font-weight: 600; color: var(--ink);
    border-bottom: 1px solid currentColor; padding-bottom: 2px;
    transition: color var(--tr-s);
}
.news-more:hover { color: var(--pri); }
.news-btn {
    width: 34px; height: 34px; flex: none; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--ink-3, #6b7c85); background: #fff; border: 1px solid #e3ebee;
    transition: all var(--tr);
}
.news-btn .ar { width: 6px; height: 6px; }
.news-btn:hover { color: #fff; background: var(--pri); border-color: var(--pri); }

/* ==========================================================================
   客户评价
   ========================================================================== */
.fb { background: #fff; }
.fb-track {
    display: flex; gap: 24px; overflow-x: auto; padding-bottom: 26px;
    scroll-snap-type: x mandatory; scrollbar-width: none;
}
.fb-track::-webkit-scrollbar { display: none; }
.fb-track.no-wheel { overflow: hidden; }
.fb-c {
    flex: 0 0 calc((100% - 48px) / 2.5); scroll-snap-align: start;
    min-width: 0; /* 英文长文本不撑宽卡片（flex item 默认 min-width:auto 会被 min-content 顶大） */
    display: flex; flex-direction: column; gap: 16px;
    padding: 26px 28px; background: #f7f9fa; border-radius: 8px;
    border: 1px solid transparent;
    transition: background .45s ease, border-color .45s ease, box-shadow .45s ease, transform .45s ease;
}
.fb-c:hover {
    background: #fff;
    border-color: #d8e2e6;
    box-shadow: 0 6px 20px rgba(14, 44, 56, .055);
    transform: translateY(2px);
}
.fb-top { display: flex; align-items: center; gap: 12px; min-width: 0; }
.fb-av { width: 42px; height: 42px; flex: none; border-radius: 50%; overflow: hidden; background: var(--soft); }
.fb-av img { width: 100%; height: 100%; object-fit: cover; }
.fb-who { display: flex; flex-direction: column; min-width: 0; }
.fb-who b { font-size: 14px; font-weight: 600; color: var(--ink); line-height: 1.4; overflow-wrap: anywhere; }
.fb-who em { font-style: normal; font-size: 11.5px; color: var(--muted); line-height: 1.5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fb-score {
    margin-left: auto; flex: none; display: inline-flex; align-items: center; gap: 7px;
    font-size: 12.5px; font-weight: 700; color: var(--ink);
}
.fb-c p { font-size: 13.5px; line-height: 1.95; color: var(--muted); }

/* ==========================================================================
   联系 CTA
   ========================================================================== */
/* 底部（CTA + 页脚）共用一张实景图：模糊 + 暗色遮罩 */
.bottom { position: relative; isolation: isolate; background: #08222a; overflow: hidden; }
.bottom::before {
    content: ""; position: absolute; inset: 0; z-index: -2;
    background: url(../images/cta-bg.jpg) center 38% / cover no-repeat;
    filter: blur(4px) saturate(.95) brightness(.98);
    transform: scale(1.06);
}
.bottom::after {
    content: ""; position: absolute; inset: 0; z-index: -1;
    background: linear-gradient(180deg, rgba(4, 18, 24, .62) 0%, rgba(4, 18, 24, .55) 45%, rgba(4, 18, 24, .76) 100%);
}
.cta { position: relative; }
.cta-in {
    position: relative;
    padding-top: 64px; padding-bottom: 36px;
}
.cta-tx h2 { font-size: clamp(24px, 2.5vw, 36px); font-weight: 700; line-height: 1.4; color: rgba(255, 255, 255, .7); white-space: nowrap; }
.cta-tx h2 b { color: #fff; }
.cta-tx p { margin-top: 14px; font-size: 14.5px; color: rgba(255, 255, 255, .6); }

/* ==========================================================================
   页脚
   ========================================================================== */
.ft { position: relative; background: transparent; color: rgba(255, 255, 255, .7); }
.ft-in {
    display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr));
    gap: 40px; padding-top: 26px; padding-bottom: 18px;
    border-top: 1px solid rgba(255, 255, 255, .14);
}
.logo-light .logo-tx { color: #fff; }
.ft-brand > p { margin-top: 14px; max-width: 380px; font-size: 13.5px; line-height: 1.95; color: rgba(255, 255, 255, .55); }
.ft-info { margin-top: 16px; display: flex; flex-direction: column; gap: 8px; font-size: 15.5px; font-weight: 600; color: rgba(255, 255, 255, .88); }
.ft-info em {
    display: inline-block; min-width: 82px;
    font-style: normal; font-size: 13px; font-weight: 700; letter-spacing: 1.4px; color: rgba(255, 255, 255, .62);
}
.ft-social { display: flex; gap: 9px; margin-top: 14px; }
.ft-social a {
    width: 32px; height: 32px; display: inline-flex; align-items: center; justify-content: center;
    font-size: 12px; font-weight: 600; color: rgba(255, 255, 255, .8);
    border: 1px solid rgba(255, 255, 255, .18); border-radius: 50%;
    transition: all var(--tr-s);
}
.ft-social a:hover { color: #fff; background: var(--pri); border-color: var(--pri); }
.ft-col h4 {
    font-size: 15px; font-weight: 700; letter-spacing: .5px;
    color: rgba(255, 255, 255, .92);
    margin-bottom: 14px;
}
.ft-col a { display: block; font-size: 14px; line-height: 2.2; color: rgba(255, 255, 255, .68); }
.ft-col a:hover { color: var(--pri); }
.ft-bot {
    display: flex; align-items: center; justify-content: space-between; gap: 20px;
    padding-top: 10px; padding-bottom: 12px;
    border-top: 1px solid rgba(255, 255, 255, .08);
    font-size: 12.5px; color: rgba(255, 255, 255, .42);
}
.ft-lang { letter-spacing: .5px; }

/* 回到顶部 */
.totop {
    position: fixed; right: 26px; bottom: 26px; z-index: 90;
    width: 46px; height: 46px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: #fff; background: var(--pri);
    box-shadow: 0 12px 26px rgba(164, 196, 53, .38);
    opacity: 0; visibility: hidden; transform: translateY(12px);
    transition: all var(--tr);
}
.totop.show { opacity: 1; visibility: visible; transform: none; }
.totop:hover { background: var(--pri-d); }

/* toast */
.toast {
    position: fixed; left: 50%; bottom: 40px; z-index: 200;
    transform: translate(-50%, 14px);
    padding: 12px 22px; font-size: 13.5px; color: #fff;
    background: rgba(11, 42, 49, .94); border-radius: 999px;
    opacity: 0; visibility: hidden; transition: all var(--tr);
    box-shadow: 0 12px 30px rgba(4, 20, 28, .3);
}
.toast.show { opacity: 1; visibility: visible; transform: translate(-50%, 0); }

/* ==========================================================================
   滚动渐显
   ========================================================================== */
/* 仅在脚本确认观察器可用后（html.rv-on）才隐藏，避免脚本异常时内容不可见 */
.rv-on [data-rv] { opacity: 0; transform: translateY(26px); transition: opacity .8s cubic-bezier(.22, .61, .36, 1), transform .8s cubic-bezier(.22, .61, .36, 1); }
.rv-on [data-rv].in { opacity: 1; transform: none; }

/* ==========================================================================
   响应式
   ========================================================================== */
@media (max-width: 1280px) {
    .nav-a { padding: 0 11px; font-size: 14px; }
    .hd-in { gap: 18px; }
    .about-in { gap: 60px; }
}

@media (max-width: 1100px) {
    .sec { padding: 86px 0; }
    .nav { display: none; }
    .mega { display: none; }
    .nav-drop .caret { display: none; }
    .burger { display: block; }
    .hd-act { margin-left: auto; }
    .cat-grid { gap: 0; }
    .cat-pic { height: 176px; }
    .cat { padding: 30px 18px 32px; }
    .adv-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); min-height: 0; row-gap: 0; padding-top: 24px; padding-bottom: 24px; }
    .adv-i { padding: 48px 24px; }
    .prod-grid { grid-auto-columns: calc((100% - 48px) / 3); }
    .adv-i:nth-child(3) { border-left: 0; padding-left: 0; }
    .fb-c { flex: 0 0 calc((100% - 24px) / 1.7); }
    .news-c { flex: 0 0 90%; }
}

@media (max-width: 992px) {
    .about-in { grid-template-columns: minmax(0, 1fr); gap: 56px; }
    /* About image is 1200×1080 — keep its native ratio on mobile instead of cropping to 16:10 */
    .about-pic img { aspect-ratio: 1200 / 1080; }
    .about-badge { left: auto; right: 20px; bottom: -20px; width: 112px; height: 112px; }
    .case-in { grid-template-columns: minmax(0, 1fr); min-height: 0; }
    .case-tx { padding: 56px 34px; }
    .case-pic { height: 380px; }
    .prod-grid { grid-auto-columns: calc((100% - 24px) / 2); }
    .ft-in { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
    .cta-in { padding-top: 52px; padding-bottom: 32px; }
}

@media (max-width: 767px) {
    :root { --pad: 16px; }
    body { font-size: 14.5px; }

    .hd-in { height: 68px; }
    .hd.solid .hd-in { height: 60px; }
    .logo-tx { font-size: 17px; }
    .logo-mark { width: 26px; height: 26px; }
    .logo-mark i { width: 11px; height: 11px; }
    .hd-act { gap: 8px; }
    .hd-act .btn-sm { display: none; }
    .search-pop { position: fixed; left: 16px; right: 16px; top: 74px; width: auto; padding: 14px; }
    .lang { height: 30px; padding: 0 10px; font-size: 11.5px; }

    .hero { min-height: 560px; height: 88vh; }
    .hero-t { font-size: 26px; letter-spacing: 0; }
    .hero-t b::after { height: 6px; bottom: 3px; }
    .hero-p { font-size: 14px; padding: 0 8px; }
    .hero-inner .btn { margin-top: 26px; }
    .hero-dots { display: none; }
    .hero-scroll { bottom: 42px; width: 44px; height: 58px; }
    .mouse { width: 25px; height: 40px; border-radius: 12.5px; }

    .cats { padding: 0 16px; }
    .cat-grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .cat {
        display: grid; grid-template-columns: 100px minmax(0, 1fr) auto;
        column-gap: 16px; align-items: center; padding: 14px 16px;
    }
    .cat-pic { grid-row: 1 / 3; width: 100%; height: 82px; }
    .cat-pic img { max-width: 100%; max-height: 78px; }
    .cat-t { grid-column: 2; grid-row: 1 / 3; align-self: center; margin: 0; font-size: 15px; }
    .cat-btn { grid-column: 3; grid-row: 1 / 3; margin: 0; }
    .cat { border-left: 0; border-top: 1px solid #dbe4e8; }
    .cat:first-child { border-top: 0; }

    .sec { padding: 64px 0; }
    .sec-hd { flex-direction: column; align-items: stretch; gap: 14px; margin-bottom: 28px; }
    .sec-hd-l { flex-direction: column; align-items: flex-start; gap: 6px; }
    .sec-hd-r { display: flex; justify-content: flex-end; }
    .sec-t { font-size: 22px; }
        .sec-d { font-size: 12.5px; line-height: 1.7; }

    .about-in { gap: 44px; }
    .about-badge { width: 92px; height: 92px; padding: 12px; right: 12px; bottom: -14px; }
    .about-badge b { font-size: 20px; }
    .about-tx .h2 { font-size: 22px; }
    .stats { gap: 0; margin-top: 28px; padding-top: 22px; }
    .stat { padding: 0 12px; }
    .stat:first-child { padding-left: 0; }
    .stat:last-child { padding-right: 0; }
    .stat em { font-size: 10px; letter-spacing: .6px; }
    .stat b { font-size: 21px; }

    .case-tx { padding: 44px 22px; }
    .case-tx .kicker { font-size: 20px; letter-spacing: .5px; }
    .case-t { font-size: 19px; margin-top: 12px; }
    .case-pic { height: 264px; }
    .case-ctrl { right: 14px; bottom: 14px; }

    .prod-grid { grid-auto-columns: 100%; gap: 14px; }
    .prod-pic { aspect-ratio: 4 / 3; padding: 8px; }

    .adv-grid { grid-template-columns: minmax(0, 1fr); min-height: 0; padding-top: 44px; padding-bottom: 44px; }
    .adv-i { padding: 26px 0; border-left: 0; border-top: 1px solid rgba(255, 255, 255, .16); }
    .adv-t { font-size: 18px; }
    .adv-ic { margin-bottom: 18px; }
    .adv-i p { max-width: 300px; font-size: 14px; font-weight: 600; line-height: 1.9; color: rgba(255, 255, 255, .92); }
    .adv-i:first-child { padding-top: 0; border-top: 0; }
    .adv-i:last-child { padding-bottom: 0; }
    .adv-ic { margin-bottom: 14px; }

    .news-track { gap: 16px; padding: 0; }
    .news-c { flex: 0 0 100%; display: block; }
    .news-pic { position: relative; left: auto; top: auto; bottom: auto; width: auto; display: block; height: 232px; transition: none; }
    .news-c.on .news-pic { top: auto; }
    .news-pic img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
    .news-bd { padding: 24px 22px 26px; }
    .news-t { font-size: 16.5px; -webkit-line-clamp: 2; }
    .news-date { margin-top: 10px; }
    .news-p { margin-top: 12px; -webkit-line-clamp: 2; font-size: 13px; }
    .news-foot { padding-top: 20px; }

    .fb-track { gap: 14px; }
    .fb-c { flex: 0 0 86%; padding: 20px; }
    /* 英文评价正文较长，移动端限制 6 行，避免单张卡片把整排轮播撑得过高
       用 .fb-track 提高特异性，压过下方 .fb-p{display:block} 的定义 */
    .fb-track .fb-p {
        display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 6;
        overflow: hidden;
    }

    .cta-in { padding-top: 44px; padding-bottom: 26px; }
    .cta-tx h2 { font-size: 21px; white-space: normal; line-height: 1.45; }
    .cta-tx h2 b { display: block; margin-top: 4px; }

    .ft-in { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px 12px; padding-top: 26px; padding-bottom: 18px; }
    .ft-brand { grid-column: 1 / -1; }
    .ft-col h4 { font-size: 10.5px; letter-spacing: 1px; }
    .ft-col a { font-size: 12.5px; line-height: 2.2; }
    /* English footer links are long sentences — keep one line each so the three
       columns end at the same height instead of the Solution column running far below */
    .ft-col a { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
    .ft-col h4 { margin-bottom: 12px; }
    .ft-bot { flex-direction: column; align-items: flex-start; gap: 8px; font-size: 11.5px; }
    .totop { right: 16px; bottom: 16px; width: 40px; height: 40px; }

}

/* ==========================================================================
   移动端菜单抽屉（暗色毛玻璃）+ 底部快捷导航
   ========================================================================== */
@media (max-width: 1100px) {
    .nav.open {
        display: flex; flex-direction: column; align-items: stretch; gap: 0;
        position: fixed; left: 0; right: 0; top: 0; bottom: 0;
        padding: 96px 28px 44px; z-index: -1;
        background: rgba(8, 30, 38, .74);
        -webkit-backdrop-filter: blur(26px) saturate(150%);
        backdrop-filter: blur(26px) saturate(150%);
    }
    /* 上下压暗，保证白字压在任何内容上都清楚 */
    .nav.open::before {
        content: ""; position: absolute; inset: 0; pointer-events: none;
        background: linear-gradient(180deg, rgba(6, 24, 31, .44) 0%, rgba(6, 24, 31, .16) 42%, rgba(6, 24, 31, .54) 100%);
    }
    /* 菜单展开时头部回到浅色配色（滚动后是实底白，logo/按钮会看不见） */
    body.menu-open .hd::before {
        background: transparent;
        -webkit-backdrop-filter: none; backdrop-filter: none;
        border-bottom-color: transparent; box-shadow: none;
    }
    body.menu-open .hd .logo-img-a { opacity: 1; }
    body.menu-open .hd .logo-img-b { opacity: 0; }
    body.menu-open .hd .ic-btn { color: rgba(255, 255, 255, .85); }
    body.menu-open .hd .lang { border-color: rgba(255, 255, 255, .32); }
    body.menu-open .hd .lang-i { color: rgba(255, 255, 255, .7); }
    body.menu-open .hd .lang-i.on { color: #fff; }
    body.menu-open .hd .lang-line { background: rgba(255, 255, 255, .28); }
    body.menu-open .hd .burger span { background: #fff; }
    body.menu-open .totop { opacity: 0; visibility: hidden; }
    .nav.open .nav-a {
        height: auto; padding: 18px 0; font-size: 17px; color: rgba(255, 255, 255, .84);
        border-bottom: 1px solid rgba(255, 255, 255, .12);
    }
    .nav.open .nav-a::after { display: none; }
    .nav.open .nav-a.on { color: var(--pri); }
    .burger.on span:nth-child(1) { transform: translateY(7.8px) rotate(45deg); }
    .burger.on span:nth-child(2) { opacity: 0; }
    .burger.on span:nth-child(3) { transform: translateY(-7.8px) rotate(-45deg); }
}

/* 底部快捷导航：默认隐藏，移动端才出现 */
.m-bar { display: none; }

@media (max-width: 767px) {
    .m-bar {
        display: flex; align-items: stretch;
        position: fixed; left: 0; right: 0; bottom: 0; z-index: 95;
        padding: 7px 0 calc(7px + env(safe-area-inset-bottom));
        background: rgba(8, 30, 38, .8);
        -webkit-backdrop-filter: blur(20px) saturate(150%);
        backdrop-filter: blur(20px) saturate(150%);
        border-top: 1px solid rgba(255, 255, 255, .12);
        box-shadow: 0 -8px 26px rgba(3, 18, 25, .18);
        transition: transform .34s cubic-bezier(.22, .61, .36, 1), opacity .28s ease;
    }
    .m-bar-i {
        flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
        gap: 3px; padding: 2px 0;
        font-size: 10.5px; line-height: 1; letter-spacing: .2px;
        color: rgba(255, 255, 255, .72);
        transition: color var(--tr-s);
    }
    .m-bar-i svg { display: block; }
    .m-bar-i.on { color: var(--pri); }
    .m-bar-i:active { color: #fff; }

    /* 中间「一键拨号」：主题色圆钮微微上浮 */
    .m-bar-call .m-bar-ic {
        display: flex; align-items: center; justify-content: center;
        width: 38px; height: 38px; margin-top: -16px; border-radius: 50%;
        background: var(--pri); color: #fff;
        box-shadow: 0 7px 16px rgba(120, 152, 30, .4), 0 0 0 3px rgba(8, 30, 38, .22);
        transition: transform var(--tr-s), background var(--tr-s);
    }
    .m-bar-call span { margin-top: 2px; }
    .m-bar-call:active .m-bar-ic { transform: scale(.94); background: var(--pri-d); }

    /* 给底栏腾出空间，避免遮住页脚最后一行 */
    .bottom { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
    .totop { bottom: calc(74px + env(safe-area-inset-bottom)); }
    .toast { bottom: calc(82px + env(safe-area-inset-bottom)); }

    /* 菜单展开时收起底栏 */
    body.menu-open .m-bar { transform: translateY(130%); opacity: 0; pointer-events: none; }}

@media (max-width: 400px) {
    .hero-t { font-size: 25px; }
    .logo-tx { font-size: 15px; }
    .stat b { font-size: 21px; }
}

/* ==========================================================================
   PbootCMS 套标签适配（logo 切换 / 案例轮播 / 优势图标 / 富文本）
   ========================================================================== */

/* 顶部 logo：默认白字版（深色首屏），滚动实底后切换深色版 */
.logo { position: relative; }
.logo-img { display: block; height: 36px; width: auto; transition: opacity .35s ease; }
.logo-img-b { position: absolute; left: 0; top: 50%; transform: translateY(-50%); opacity: 0; }
.hd.solid .logo-img-a { opacity: 0; }
.hd.solid .logo-img-b { opacity: 1; }

/* 页脚 logo：深色底用白字版 */
.ft-brand .logo { display: inline-block; }
.ft-brand .logo-img { height: 34px; }

/* 客户案例轮播（后台多条，逐条切换） */
.case-slides { position: relative; }
.case-i { display: none; }
.case-i.on { display: grid; animation: caseIn .55s cubic-bezier(.22, .61, .36, 1) both; }
@keyframes caseIn {
    from { opacity: 0; transform: translateY(10px); }
    to   { opacity: 1; transform: translateY(0); }
}

/* 四大优势：每列只显示与标题对应的那一枚图标 */
.adv-ic .adv-svg { display: none; }
.adv-i:nth-child(1) .adv-svg:nth-child(1),
.adv-i:nth-child(2) .adv-svg:nth-child(2),
.adv-i:nth-child(3) .adv-svg:nth-child(3),
.adv-i:nth-child(4) .adv-svg:nth-child(4) { display: block; }

/* 后台富文本（带 <p>）适配 */
.about-txt { margin-top: 20px; max-width: 600px; }
.about-txt, .about-txt p { font-size: 15px; line-height: 2; color: var(--muted); }
.about-txt p { margin: 0 0 12px; text-indent: 2em; }
.about-txt p:last-child { margin-bottom: 0; }
.about-txt img { max-width: 100%; height: auto; }

.adv-p { margin: 16px auto 0; max-width: 280px; }
.adv-p, .adv-p p { font-size: 14.5px; font-weight: 600; line-height: 1.95; color: rgba(255, 255, 255, .92); }
.adv-p p { margin: 0; }

.fb-p { margin-top: 18px; overflow-wrap: anywhere; }
.fb-p, .fb-p p { font-size: 13.5px; line-height: 1.95; color: var(--muted); }
.fb-p p { margin: 0; }

.news-p { display: block; }
.news-p p {
    margin: 0;
    display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}

@media (max-width: 1100px) {
    .logo-img { height: 32px; }
}

@media (max-width: 767px) {
    .logo-img { height: 28px; }
    .ft-brand .logo-img { height: 28px; }
    .about-txt, .about-txt p { font-size: 14px; }
    .adv-p, .adv-p p { max-width: 300px; font-size: 14px; font-weight: 600; line-height: 1.9; color: rgba(255, 255, 255, .92); }
}

/* 头部适配横版 logo（英文 460×80，比中文 700×80 短）：
   logo 变短后导航区多出空间，这里让导航整体居中、项间距放宽，避免 logo 与导航之间出现大片空洞 */
.logo-img { height: 30px; }
.nav { gap: 4px; margin: 0 auto; }
.nav-a { white-space: nowrap; padding: 0 18px; }
.nav-a::after { left: 18px; right: 18px; }

/* 1320 以下收紧一档，保证导航不被压扁 */
@media (max-width: 1320px) {
    .nav-a { padding: 0 12px; }
    .nav-a::after { left: 12px; right: 12px; }
}

/* 英文导航文字比中文长得多：1180 以下改用汉堡，避免挤压与右侧溢出 */
@media (max-width: 1180px) {
    .nav { display: none; }
    .mega { display: none; }
    .nav-drop .caret { display: none; }
    .burger { display: block; }
    .hd-act { margin-left: auto; }
}

/* 小屏头部：横版 logo 缩小，保证汉堡按钮不被挤出 */
@media (max-width: 767px) {
    .logo-img { height: 22px; }
    .hd-act { gap: 6px; }
    .lang { padding: 0 8px; font-size: 11px; }
}

/* 超小屏：logo 再收一档，避免右侧按钮溢出 */
@media (max-width: 430px) {
    .logo-img { height: 18px; }
    .lang { padding: 0 6px; }
}

/* 优势区实景图偏亮，给文字加一层极淡投影提升可读性 */
.adv-t, .adv-p, .adv-p p { text-shadow: 0 2px 12px rgba(60, 78, 8, .38); }

/* ==========================================================================
   普通栏目的二级下拉（暗色毛玻璃，与产品 mega 视觉同源）
   ========================================================================== */
.nav-drop-m { position: relative; display: inline-flex; align-items: center; }
.nav-drop-m::after { content: ""; position: absolute; left: -6px; right: -6px; top: 100%; height: 18px; }
.m-sub {
    position: absolute; left: 50%; top: calc(100% + 12px);
    min-width: 200px; padding: 8px; z-index: 60;
    background: rgba(9, 32, 40, .62);
    -webkit-backdrop-filter: blur(16px) saturate(150%);
    backdrop-filter: blur(16px) saturate(150%);
    border: 1px solid rgba(255, 255, 255, .14);
    box-shadow: 0 18px 44px rgba(2, 12, 18, .3);
    opacity: 0; visibility: hidden; pointer-events: none;
    transform: translate(-50%, -6px);
    transition: opacity .26s ease, transform .3s cubic-bezier(.22, .61, .36, 1), visibility .26s;
}
.hd.solid .m-sub { background: rgba(9, 32, 40, .68); }
.nav-drop-m:hover .m-sub { opacity: 1; visibility: visible; pointer-events: auto; transform: translate(-50%, 0); }
.nav-drop-m:hover .caret { transform: rotate(-135deg); }

.m-sub-i {
    position: relative; display: block; padding: 11px 14px;
    font-size: 14px; color: rgba(255, 255, 255, .82);
    white-space: nowrap;
    transition: color .22s ease, background .22s ease;
}
.m-sub-i::before {
    content: ""; position: absolute; left: 0; top: 50%;
    width: 2px; height: 0; background: var(--pri); transform: translateY(-50%);
    transition: height .26s cubic-bezier(.22, .61, .36, 1);
}
.m-sub-i:hover { color: #fff; background: rgba(255, 255, 255, .08); }
.m-sub-i:hover::before { height: 18px; }

/* 没有子栏目的项：去掉箭头与空面板 */
.no-sub .m-sub { display: none; }
.no-sub .caret { display: none; }

/* 版权栏右侧链接 */
.ft-lang { display: inline-flex; align-items: center; gap: 8px; }
.ft-lang a { color: rgba(255, 255, 255, .5); transition: color var(--tr-s); }
.ft-lang a:hover { color: #fff; }
.ft-lang i { font-style: normal; color: rgba(255, 255, 255, .22); }

/* ==========================================================================
   内页 · 专题单页（about.html）：栏目大图 / 面包屑 / 二级切换 / 正文
   ========================================================================== */
.pg-bn {
    position: relative; height: 500px;
    display: flex; align-items: center;
    background: var(--dark-2); overflow: hidden;
}
.pg-bn-bg {
    position: absolute; inset: 0;
    background-position: center; background-size: cover; background-repeat: no-repeat;
    transform: scale(1.03);
}
.pg-bn::after {
    content: ""; position: absolute; inset: 0;
    background:
        linear-gradient(0deg, rgba(5, 22, 30, .62) 0%, rgba(5, 22, 30, .16) 54%, rgba(5, 22, 30, 0) 82%),
        linear-gradient(90deg, rgba(5, 22, 30, .78) 0%, rgba(5, 22, 30, .36) 52%, rgba(5, 22, 30, .12) 100%);
}
.pg-bn-in { position: relative; z-index: 2; padding-bottom: 0; }
.pg-bn-in::before {
    content: ""; display: block; width: 52px; height: 3px;
    background: var(--pri); margin-bottom: 18px;
    box-shadow: 0 0 16px rgba(164, 196, 53, .6);
}
.pg-bn-t {
    font-size: 44px; font-weight: 700; line-height: 1.2;
    color: #fff; letter-spacing: 1px;
    text-shadow: 0 3px 20px rgba(3, 16, 22, .38);
}
.pg-bn-s {
    margin-top: 14px; max-width: 640px;
    font-size: 15px; line-height: 1.9; color: rgba(255, 255, 255, .8);
    text-shadow: 0 2px 14px rgba(3, 16, 22, .5);
}
.pg-bn-s:empty { display: none; }

/* 面包屑 */
.crumb { background: #fff; border-bottom: 1px solid var(--line); }
.crumb-in {
    display: flex; align-items: center; flex-wrap: wrap;
    min-height: 54px; padding-top: 10px; padding-bottom: 10px;
    font-size: 13px; color: var(--muted);
}
.crumb-in a { color: var(--muted); transition: color var(--tr-s); }
.crumb-in a:hover { color: var(--pri-d); }
.crumb-in i { font-style: normal; margin: 0 9px; color: #c6d2d7; }
.crumb-in a:last-of-type { color: var(--ink); pointer-events: none; }

/* 二级栏目切换 */
.subnav { background: #fff; border-bottom: 1px solid var(--line); }
.subnav-in { display: flex; align-items: center; justify-content: center; }
.subnav-list {
    display: flex; align-items: center; gap: 4px;
    width: -moz-fit-content; width: fit-content; max-width: 100%;
    overflow-x: auto; scrollbar-width: none; -ms-overflow-style: none;
}
.subnav-list::-webkit-scrollbar { display: none; }
.subnav-i {
    position: relative; flex: none;
    display: inline-flex; align-items: center; height: 60px; padding: 0 22px;
    font-size: 15px; color: var(--ink-2); white-space: nowrap;
    transition: color var(--tr-s);
}
.subnav-i::after {
    content: ""; position: absolute; left: 22px; right: 22px; bottom: -1px; height: 2px;
    background: var(--pri); transform: scaleX(0); transform-origin: left;
    transition: transform .32s cubic-bezier(.22, .61, .36, 1);
}
.subnav-i:hover { color: var(--pri-d); }
.subnav-i:hover::after { transform: scaleX(.5); }
.subnav-i.on { color: var(--pri-d); font-weight: 600; }
.subnav-i.on::after { transform: scaleX(1); }

/* 正文区 */
.pg-main { background: var(--soft); padding: 56px 0 72px; }
.pg-card {
    max-width: 1120px; margin: 0 auto; padding: 56px 64px;
    background: #fff; border: 1px solid var(--line); border-radius: 6px;
    box-shadow: 0 2px 10px rgba(12, 40, 52, .03);
}
.rich { max-width: 880px; margin: 0 auto; }
.rich, .rich p, .rich li, .rich td, .rich th {
    font-size: 15.5px; line-height: 2.05; color: var(--ink-2);
}
.rich p { margin: 0 0 18px; text-indent: 2em; }
.rich p:last-child { margin-bottom: 0; }
.rich h1, .rich h2, .rich h3, .rich h4 { color: var(--ink); font-weight: 700; line-height: 1.45; }
.rich h1 { font-size: 28px; margin: 8px 0 22px; }
.rich h2 {
    position: relative; font-size: 23px; margin: 44px 0 18px; padding-left: 16px;
}
.rich h2::before {
    content: ""; position: absolute; left: 0; top: .32em; bottom: .32em;
    width: 3px; background: var(--pri); border-radius: 2px;
}
.rich h2:first-child { margin-top: 0; }
.rich h3 { font-size: 18.5px; margin: 32px 0 14px; }
.rich h4 { font-size: 16.5px; margin: 24px 0 12px; }
.rich img { max-width: 100%; height: auto; display: block; margin: 24px auto; border-radius: 4px; }
.rich a { color: var(--pri-d); text-decoration: underline; text-underline-offset: 3px; }
.rich strong, .rich b { color: var(--ink); font-weight: 700; }
.rich ul, .rich ol { margin: 0 0 18px; padding-left: 1.5em; }
.rich ul { list-style: disc; }
.rich ol { list-style: decimal; }
.rich li { margin-bottom: 8px; }
.rich li::marker { color: var(--pri); }
.rich blockquote {
    margin: 24px 0; padding: 18px 24px;
    background: var(--pri-soft); border-left: 3px solid var(--pri);
    color: var(--ink-2);
}
.rich blockquote p { text-indent: 0; margin: 0; }
.rich table { width: 100%; border-collapse: collapse; margin: 24px 0; font-size: 14.5px; }
.rich th, .rich td { border: 1px solid var(--line); padding: 12px 14px; text-align: left; line-height: 1.8; }
.rich th { background: var(--soft); color: var(--ink); font-weight: 600; }
.rich hr { border: 0; border-top: 1px solid var(--line); margin: 34px 0; }
/* 后台粘贴自带宋体/字号，统一回站点字体与字号 */
.rich [style] { font-family: inherit !important; font-size: inherit !important; line-height: inherit !important; }
.rich p[style] { text-align: justify !important; }

/* ==========================================================================
   内页 · 列表 / 详情（产品、新闻、应用、评价、搜索共用）
   ========================================================================== */

/* ---------- 产品列表：静态三列（复用首页 .prod 卡片） ---------- */
.plist { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }

/* ---------- 文章列表：左缩略图 / 中标题摘要 / 右箭头 ---------- */
.nlist { display: flex; flex-direction: column; gap: 16px; max-width: 1180px; margin: 0 auto; }
.nitem {
    display: grid; grid-template-columns: 280px minmax(0, 1fr) 44px;
    align-items: center; gap: 30px;
    padding: 18px 26px 18px 18px; background: #fff;
    border: 1px solid var(--line); border-radius: 8px;
    transition: border-color .35s ease, box-shadow .35s ease, transform .35s ease;
}
/* 无缩略图（如公司优势、无图新闻）时收起图片列 */
.nitem:not(.has-pic) { grid-template-columns: minmax(0, 1fr) 44px; padding: 24px 30px; }
.nitem:hover {
    border-color: var(--pri);
    box-shadow: 0 10px 26px rgba(12, 40, 52, .06);
    transform: translateY(-2px);
}
.npic {
    display: block; aspect-ratio: 4 / 3; overflow: hidden;
    border-radius: 5px; background: var(--soft);
}
.npic img { width: 100%; height: 100%; object-fit: cover; transition: transform .8s cubic-bezier(.22, .61, .36, 1); }
.nitem:hover .npic img { transform: scale(1.05); }
.nitem:not(.has-pic) .npic { display: none; }
.nbd { display: flex; flex-direction: column; min-width: 0; }
.nmeta { display: flex; align-items: center; gap: 12px; margin-bottom: 9px; font-size: 12px; color: var(--muted); }
.nmeta time { font-variant-numeric: tabular-nums; letter-spacing: .3px; }
.ntitle {
    display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
    font-size: 17.5px; font-weight: 600; line-height: 1.55; color: var(--ink);
    transition: color var(--tr-s);
}
.nitem:hover .ntitle { color: var(--pri-d); }
.ntag {
    display: inline-block; padding: 2px 9px;
    font-style: normal; font-size: 11.5px; line-height: 1.7;
    color: var(--pri-d); background: var(--pri-soft); border-radius: 3px;
}
.ntxt {
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    margin-top: 9px; font-size: 13.5px; line-height: 1.9; color: var(--muted);
}
.narw {
    width: 40px; height: 40px; border-radius: 50%;
    display: inline-flex; align-items: center; justify-content: center;
    color: #8b9ba3; border: 1px solid #e3ebee;
    transition: all var(--tr-s);
}
.narw .ar { width: 6px; height: 6px; }
.nitem:hover .narw { color: #fff; background: var(--pri); border-color: var(--pri); }

/* ---------- 应用列表：三列大图卡 ---------- */
.agrid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.acard {
    display: flex; flex-direction: column; overflow: hidden;
    background: #fff; border: 1px solid var(--line); border-radius: 10px;
    transition: all var(--tr);
}
.acard:hover {
    border-color: var(--pri);
    box-shadow: 0 14px 34px rgba(12, 40, 52, .07);
    transform: translateY(-4px);
}
.acard-pic { display: block; overflow: hidden; background: var(--soft); }
/* 高度自适应、不裁切 */
.acard-pic img { display: block; width: 100%; height: auto; transition: transform .8s cubic-bezier(.22, .61, .36, 1); }
.acard:hover .acard-pic img { transform: scale(1.04); }
.acard-bd { display: block; padding: 20px 20px 22px; }
.acard-t { display: block; font-size: 16.5px; font-weight: 600; line-height: 1.5; color: var(--ink); }
.acard:hover .acard-t { color: var(--pri-d); }
.acard-p {
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
    margin-top: 9px; font-size: 13px; line-height: 1.9; color: var(--muted);
}
.acard-more { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; font-size: 12.5px; color: var(--muted); }
.acard-more .ar { width: 6px; height: 6px; }
.acard:hover .acard-more { color: var(--pri); }

/* ---------- 客户评价列表：复用首页卡片，改静态两列 ---------- */
.fgrid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; }
/* 页面底色为 --soft，卡片需再深一档才分得清 */
.fgrid .fb-c {
    flex: none;
    background: #e6edf0; border-color: #d9e5e9;
}
.fgrid .fb-c:hover { background: #fff; border-color: var(--line); }
.fb-p { display: block; font-size: 13.5px; line-height: 1.95; color: var(--muted); }
.fb-more { display: inline-flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--muted); transition: color var(--tr-s); }
.fb-more .ar { width: 5px; height: 5px; }
.fb-c:hover .fb-more { color: var(--pri); }

/* ---------- 分页（{page:bar} 默认结构） ---------- */
.pager {
    display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
    gap: 8px; margin-top: 46px; font-size: 13.5px;
}
/* 统计条与翻页按钮同一套外观 */
.pager .page-status,
.pager > span > a,
.pager .page-num {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 38px; height: 38px; padding: 0 13px;
    color: var(--ink-2); background: #fff;
    border: 1px solid var(--line); border-radius: 4px;
    box-shadow: 0 1px 2px rgba(12, 40, 52, .04);
    transition: all var(--tr-s);
}
.pager .page-status { padding: 0 16px; color: var(--muted); letter-spacing: .2px; }
.pager > span > a:hover,
.pager .page-num:hover {
    color: var(--pri-d); border-color: var(--pri); background: var(--pri-soft);
    transform: translateY(-1px);
}
.pager .page-num-current,
.pager .page-num-current:hover {
    color: #fff; background: var(--pri); border-color: var(--pri); font-weight: 700;
    box-shadow: 0 4px 12px rgba(105, 176, 46, .28);
}
/* 首/尾页在无翻页对象时输出 javascript:;，按禁用态呈现 */
.pager a[href="javascript:;"],
.pager a[href="javascript:;"]:hover {
    color: #b6c4ca; background: #f2f5f6; border-color: #eef2f4;
    box-shadow: none; cursor: not-allowed; transform: none;
}
.pager .page-numbar { display: inline-flex; gap: 8px; }
.pager .page-none { color: var(--muted); }

/* ---------- 详情页：标题区 / 主图 / 正文 ---------- */
.dt-hd { padding-bottom: 28px; margin-bottom: 36px; border-bottom: 1px dashed var(--line); text-align: center; }
.dt-t { font-size: 30px; font-weight: 700; line-height: 1.45; color: var(--ink); }
.dt-meta {
    display: flex; align-items: center; justify-content: center; flex-wrap: wrap;
    gap: 6px 24px; margin-top: 18px; font-size: 13px; color: var(--muted);
}
.dt-meta i { font-style: normal; margin-right: 8px; color: #a9b8bf; }
.dt-pic { max-width: 860px; margin: 0 auto 34px; padding: 10px; background: #fff; border: 1px solid var(--line); border-radius: 6px; }
.dt-pic img { display: block; width: 100%; height: auto; }
.dt-sub {
    max-width: 880px; margin: -8px auto 30px; padding: 16px 20px;
    font-size: 14px; line-height: 1.95; color: var(--ink-2);
    background: var(--pri-soft); border-left: 3px solid var(--pri);
}
.dt-sub:empty { display: none; }

/* ---------- 评价详情头 ---------- */
.pj-hd { border-bottom: 0; padding-bottom: 0; margin-bottom: 30px; }
.pj-av {
    display: block; width: 76px; height: 76px; margin: 0 auto 18px;
    border-radius: 50%; overflow: hidden; background: var(--soft);
    border: 1px solid var(--line);
}
.pj-av img { width: 100%; height: 100%; object-fit: cover; }
.pj-t { font-size: 22px; }
.pj-ind { margin-top: 10px; font-size: 13px; letter-spacing: 1px; color: var(--muted); }
.pj-stars { display: inline-block; margin-top: 12px; font-size: 15px; letter-spacing: 4px; color: #f0b429; }

/* ---------- 详情页：上下篇 / 返回 ---------- */
.pn { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; max-width: 1120px; margin: 22px auto 0; }
.pn-i {
    display: flex; align-items: center; gap: 14px; padding: 18px 22px;
    background: #fff; border: 1px solid var(--line); border-radius: 6px;
    transition: all var(--tr-s);
}
a.pn-i:hover { border-color: var(--pri); box-shadow: 0 8px 22px rgba(12, 40, 52, .05); }
.pn-i em {
    flex: none; font-style: normal; font-size: 12px;
    letter-spacing: 1px; color: var(--muted);
}
.pn-i span { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 14px; color: var(--ink-2); }
a.pn-i:hover span { color: var(--pri-d); }
.pn-i.is-next { justify-content: flex-end; text-align: right; }
.pn-i.is-off { color: var(--muted); background: #f4f7f8; }
.pn-i.is-off span { color: var(--muted); }

/* ---------- 同系列产品 ---------- */
.pg-rel { background: #fff; padding: 60px 0 66px; border-top: 1px solid var(--line); }
.rel-hd { margin-bottom: 30px; }
.rel-t { font-size: 24px; font-weight: 700; color: var(--ink); }
.rel-d { margin-top: 8px; font-size: 13.5px; color: var(--muted); }

/* ---------- 搜索页 ---------- */
.pg-bn-sm { height: 300px; }
.srch { max-width: 880px; margin: 0 auto 38px; }
.srch-form {
    display: flex; gap: 8px; padding: 8px;
    background: #fff; border: 1px solid var(--line); border-radius: 6px;
    transition: border-color var(--tr-s), box-shadow var(--tr-s);
}
.srch-form:focus-within { border-color: var(--pri); box-shadow: 0 6px 20px rgba(164, 196, 53, .16); }
.srch-form input {
    flex: 1; min-width: 0; height: 46px; padding: 0 16px;
    border: 0; background: transparent; font-size: 15px; color: var(--ink);
}
.srch-form input:focus { outline: none; }
.srch-form button {
    flex: none; height: 46px; padding: 0 32px;
    font-size: 14.5px; font-weight: 600; color: #fff;
    background: var(--pri); border: 0; border-radius: 4px; cursor: pointer;
    transition: background var(--tr-s);
}
.srch-form button:hover { background: var(--pri-d); }
.srch-tip { margin-top: 16px; font-size: 13.5px; color: var(--muted); text-align: center; }
.srch-tip b { color: var(--pri-d); font-weight: 600; }
.empty-box { padding: 66px 0 20px; text-align: center; font-size: 14.5px; line-height: 2; color: var(--muted); }
.empty-box a { color: var(--pri-d); text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 992px) {
    .pg-bn { height: 400px; }
    .pg-bn-t { font-size: 34px; }
    .pg-card { padding: 44px 34px; }
    .pg-main { padding: 44px 0 60px; }
}

@media (max-width: 767px) {
    .pg-bn { height: 300px; }
    .pg-bn-in { padding-bottom: 0; }
    .pg-bn-in::before { width: 34px; height: 2px; margin-bottom: 12px; }
    .pg-bn-t { font-size: 26px; }
    .pg-bn-s { margin-top: 10px; font-size: 12.5px; line-height: 1.8; }
    .crumb-in { min-height: 46px; font-size: 12px; }
    .crumb-in i { margin: 0 6px; }
    .subnav-i { height: 50px; padding: 0 14px; font-size: 14px; }
    .subnav-i::after { left: 14px; right: 14px; }
    .pg-main { padding: 28px 0 40px; }
    .pg-card { padding: 26px 20px; border-radius: 4px; }
    .pg-main .wrap { padding: 0 12px; }
    .rich, .rich p, .rich li, .rich td, .rich th { font-size: 14.5px; line-height: 1.95; }
    .rich h1 { font-size: 22px; }
    .rich h2 { font-size: 19px; margin: 32px 0 14px; }
    .rich h3 { font-size: 16.5px; margin: 26px 0 12px; }
    .rich p { margin-bottom: 14px; }
}

/* 正文为空的兜底提示 */
.rich-empty {
    padding: 46px 0 42px; text-align: center;
    font-size: 14.5px; color: var(--muted);
}
.rich-empty a { color: var(--pri-d); text-decoration: underline; text-underline-offset: 3px; }
.rich-empty a:hover { color: var(--pri); }

/* ==========================================================================
   内页 · 列表 / 详情 响应式
   ========================================================================== */
@media (max-width: 1100px) {
    .plist { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .agrid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 992px) {
    .dt-t { font-size: 26px; }
    .nitem { grid-template-columns: 220px minmax(0, 1fr) 40px; gap: 22px; padding: 16px 22px 16px 16px; }
    .nitem:not(.has-pic) { grid-template-columns: minmax(0, 1fr) 40px; padding: 20px 24px; }
    .ntitle { font-size: 16.5px; }
    .agrid { gap: 20px; }
    .pg-rel { padding: 48px 0 54px; }
}

@media (max-width: 767px) {
    .plist { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .plist .prod-bd { padding: 14px 14px; gap: 8px; }
    .plist .prod-m { font-size: 13.5px; }
    .plist .prod-more { display: none; }

    .nitem { grid-template-columns: 112px minmax(0, 1fr); gap: 14px; padding: 12px; }
    .nitem:not(.has-pic) { grid-template-columns: minmax(0, 1fr); padding: 16px; }
    .npic { aspect-ratio: 1 / 1; }
    .nmeta { margin-bottom: 6px; gap: 8px; font-size: 11.5px; }
    .narw { display: none; }
    .ntitle {
        display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
        white-space: normal; font-size: 15px; line-height: 1.5;
    }
    .ntxt { margin-top: 6px; font-size: 12.5px; -webkit-line-clamp: 2; }
    .ntag { display: none; }

    .agrid, .fgrid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
    .acard-bd { padding: 18px 18px 20px; }
    .acard-t { font-size: 16.5px; }

    .pager { margin-top: 32px; gap: 6px; }
    .pager > span > a,
    .pager .page-num { min-width: 34px; height: 34px; padding: 0 10px; font-size: 13px; }
    .pager .page-status { height: 34px; padding: 0 11px; font-size: 12px; }
    .pager .page-index, .pager .page-last { display: none; }

    .dt-t { font-size: 21px; }
    .dt-hd { padding-bottom: 20px; margin-bottom: 24px; }
    .dt-meta { margin-top: 12px; font-size: 12px; gap: 4px 16px; }
    .dt-pic { margin-bottom: 24px; padding: 6px; }
    .dt-sub { margin-bottom: 22px; padding: 12px 16px; font-size: 13.5px; }
    .pn { grid-template-columns: minmax(0, 1fr); gap: 10px; margin-top: 16px; }
    .pn-i { padding: 14px 16px; }
    .pn-i.is-next { justify-content: flex-start; text-align: left; }
    .pj-av { width: 62px; height: 62px; }
    .pj-t { font-size: 19px; }

    .pg-rel { padding: 36px 0 42px; }
    .rel-t { font-size: 20px; }

    .pg-bn-sm { height: 220px; }
    .srch { margin-bottom: 26px; }
    .srch-form { padding: 6px; }
    .srch-form input { height: 42px; font-size: 14px; padding: 0 12px; }
    .srch-form button { height: 42px; padding: 0 20px; font-size: 14px; }
    .empty-box { padding: 48px 0 12px; font-size: 13.5px; }
}

/* ==========================================================================
   内页 · 联系我们（contact.html）
   ========================================================================== */
.ct-cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.ct-card {
    display: flex; flex-direction: column; gap: 6px;
    padding: 26px 24px; background: #fff;
    border: 1px solid var(--line); border-radius: 8px;
    transition: border-color var(--tr), box-shadow var(--tr), transform var(--tr);
}
.ct-card:hover { border-color: var(--pri); box-shadow: 0 12px 28px rgba(12, 40, 52, .07); transform: translateY(-3px); }
.ct-ic {
    width: 44px; height: 44px; margin-bottom: 8px;
    display: inline-flex; align-items: center; justify-content: center;
    color: var(--pri-d); background: var(--pri-soft); border-radius: 6px;
}
.ct-ic svg { width: 21px; height: 21px; }
.ct-lb { font-size: 12.5px; letter-spacing: .12em; color: var(--muted); }
.ct-v { font-size: 17px; font-weight: 700; line-height: 1.45; color: var(--ink); word-break: break-all; }
a.ct-v:hover { color: var(--pri-d); }
.ct-s { font-size: 12.5px; line-height: 1.7; color: var(--muted); }

.ct-grid {
    display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: 24px; margin-top: 24px; align-items: stretch;
}
.ct-panel { display: flex; flex-direction: column; padding: 32px 34px; background: #fff; border: 1px solid var(--line); border-radius: 10px; }
.ct-panel-h h2 { font-size: 21px; font-weight: 700; line-height: 1.4; color: var(--ink); }
.ct-panel-h h2 em {
    font-style: normal; margin-left: 10px; font-size: 12px; font-weight: 400;
    letter-spacing: .16em; text-transform: uppercase; color: #b3c1c7;
}
.ct-panel-h p { margin-top: 8px; font-size: 13.5px; color: var(--muted); }

/* 表单 */
.cf { margin-top: 24px; }
.cf-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.cf-i { display: block; margin-bottom: 16px; }
.cf-i > span { display: block; margin-bottom: 7px; font-size: 13px; color: var(--ink-2); }
.cf-i em { font-style: normal; margin-left: 3px; color: #d9534f; }
.cf-i input,
.cf-i textarea {
    width: 100%; height: 46px; padding: 0 14px;
    font: inherit; font-size: 14px; color: var(--ink);
    background: #fafcfc; border: 1px solid var(--line); border-radius: 5px;
    outline: none; transition: border-color var(--tr-s), background var(--tr-s);
}
.cf-i textarea { height: auto; padding: 12px 14px; line-height: 1.8; resize: vertical; }
.cf-i input:focus,
.cf-i textarea:focus { background: #fff; border-color: var(--pri); }
.cf-i input::placeholder,
.cf-i textarea::placeholder { color: #b6c4ca; }
.cf-code-row {
    display: grid; grid-template-columns: minmax(0, 1fr) 132px;
    gap: 16px; align-items: end; margin-bottom: 16px;
}
.cf-code-row .cf-i { margin-bottom: 0; }
.cf-code {
    width: 132px; height: 46px; object-fit: cover;
    border: 1px solid var(--line); border-radius: 5px; cursor: pointer;
}
.cf-sub { width: 100%; }

/* 到厂信息 */
.ct-list { display: flex; flex-direction: column; gap: 14px; margin-top: 20px; }
.ct-list li { display: grid; grid-template-columns: 96px minmax(0, 1fr); gap: 12px; font-size: 14px; line-height: 1.75; color: var(--ink-2); }
.ct-list .ct-k { font-size: 13px; color: var(--muted); }
.ct-qr { display: flex; align-items: center; gap: 16px; margin-top: auto; padding-top: 24px; border-top: 1px solid var(--line); }
.ct-list { margin-bottom: 22px; }
.ct-qr img { width: 96px; height: 96px; object-fit: contain; padding: 4px; background: #fff; border: 1px solid var(--line); border-radius: 6px; }
.ct-qr span { font-size: 13px; line-height: 1.9; color: var(--muted); }

/* ==========================================================================
   内页 · 常见问题（wentilist.html）：Q/A 问答
   ========================================================================== */
.qa-wrap { display: flex; flex-direction: column; gap: 14px; max-width: 1000px; margin: 0 auto; }
.qa {
    background: #fff; border: 1px solid var(--line); border-radius: 8px;
    overflow: hidden;
    transition: border-color var(--tr), box-shadow var(--tr);
}
.qa:hover { border-color: #cfdde1; }
.qa[open] { border-color: #d3e3bd; box-shadow: 0 12px 28px rgba(12, 40, 52, .055); }
.qa-q {
    display: flex; align-items: flex-start; gap: 16px;
    padding: 20px 26px; cursor: pointer; list-style: none;
    font-size: 16.5px; font-weight: 600; line-height: 1.6; color: var(--ink);
    transition: color var(--tr-s);
}
.qa-q::-webkit-details-marker { display: none; }
.qa:hover .qa-q { color: var(--pri-d); }
.qa-b {
    flex: none; width: 27px; height: 27px; margin-top: 1px;
    display: inline-flex; align-items: center; justify-content: center;
    font-style: normal; font-size: 13px; font-weight: 700; line-height: 1;
    color: #fff; background: var(--pri); border-radius: 4px;
}
.qa-b-a { color: var(--pri-d); background: var(--pri-soft); }
.qa-t { flex: 1 1 auto; min-width: 0; }
.qa-ic { position: relative; flex: none; width: 14px; height: 14px; margin-top: 7px; color: #a7b7bd; transition: color var(--tr-s); }
.qa-ic::before,
.qa-ic::after {
    content: ""; position: absolute; left: 50%; top: 50%;
    background: currentColor; transform: translate(-50%, -50%);
    transition: transform .3s ease, opacity .3s ease;
}
.qa-ic::before { width: 14px; height: 1.6px; }
.qa-ic::after { width: 1.6px; height: 14px; }
.qa[open] .qa-ic { color: var(--pri-d); }
.qa[open] .qa-ic::after { opacity: 0; transform: translate(-50%, -50%) scaleY(0); }
.qa-a { display: flex; align-items: flex-start; gap: 16px; padding: 0 26px 24px; }
.qa-tx { flex: 1 1 auto; min-width: 0; font-size: 14.5px; line-height: 2; color: var(--ink-2); }
.qa-tx p { margin: 0 0 10px; }
.qa-tx p:last-child { margin-bottom: 0; }
.qa-tx strong { color: var(--ink); font-weight: 600; }
.qa-more { margin-top: 34px; text-align: center; font-size: 13.5px; color: var(--muted); }
.qa-more a { color: var(--pri-d); font-weight: 600; }
.qa-more a:hover { color: var(--pri); }

@media (max-width: 1100px) {
    .ct-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ct-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 767px) {
    .ct-cards { grid-template-columns: minmax(0, 1fr); gap: 12px; }
    .ct-card { padding: 20px 18px; }
    .ct-v { font-size: 16px; }
    .ct-panel { padding: 24px 20px; }
    .ct-panel-h h2 { font-size: 18px; }
    .cf-row,
    .cf-code-row { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .cf-code-row .cf-i { margin-bottom: 0; }
    .qa-q { padding: 16px; gap: 12px; font-size: 15px; }
    .qa-b { width: 24px; height: 24px; font-size: 12px; }
    .qa-a { padding: 0 16px 18px; gap: 12px; }
    .qa-tx { font-size: 13.5px; line-height: 1.95; }
}

/* 联系页正文（后台有内容时才出现） */
.ct-rich { max-width: none; }
.ct-rich:not(:empty) { margin-top: 26px; }
.qa-more a { display: inline-flex; align-items: center; gap: 8px; }
.qa-more a .ar { width: 5px; height: 5px; }

/* 联系页右侧：快捷入口 */
.ct-links { margin-bottom: 22px; }
.ct-link-row { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.ct-link-row a {
    display: inline-flex; align-items: center; height: 32px; padding: 0 12px;
    font-size: 12.5px; color: var(--ink-2);
    background: #f6f9fa; border: 1px solid var(--line); border-radius: 4px;
    transition: all var(--tr-s);
}
.ct-link-row a:hover { color: var(--pri-d); background: var(--pri-soft); border-color: var(--pri); }

/* ==========================================================================
   内页 · 产品详情（product.html）：左图库 + 右自定义字段 + 滑动门
   ========================================================================== */
/* 次级按钮（浅底），与 .btn-pri 同高 */
.btn-line { color: var(--ink-2); background: #fff; border: 1px solid var(--line); }
.btn-line:hover { color: var(--pri-d); border-color: var(--pri); background: var(--pri-soft); }
.btn .ar { width: 6px; height: 6px; }

.pdt {
    display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, 1fr);
    gap: 50px; padding: 34px 36px 36px;
    background: #fff; border: 1px solid var(--line); border-radius: 8px;
    box-shadow: 0 2px 10px rgba(12, 40, 52, .03);
}

/* ---------- 左：多图 ---------- */
.pdt-gal { min-width: 0; }
.pdt-view {
    position: relative; overflow: hidden;
    background: var(--soft); border: 1px solid var(--line); border-radius: 6px;
}
.pdt-track { display: flex; transition: transform .52s cubic-bezier(.22, .61, .36, 1); }
.pdt-slide {
    flex: 0 0 100%;
    display: flex; align-items: center; justify-content: center;
    aspect-ratio: 1 / 1; padding: 14px;
}
.pdt-slide img { width: 100%; height: 100%; object-fit: contain; }
.pdt-arrow {
    position: absolute; top: 50%; z-index: 2;
    display: inline-flex; align-items: center; justify-content: center;
    width: 40px; height: 40px; color: var(--ink-2);
    background: rgba(255, 255, 255, .92); border: 1px solid var(--line); border-radius: 50%;
    box-shadow: 0 4px 14px rgba(12, 40, 52, .08);
    transform: translateY(-50%); opacity: 0;
    transition: opacity var(--tr-s), color var(--tr-s), background var(--tr-s), border-color var(--tr-s);
}
.pdt-view:hover .pdt-arrow,
.pdt-view:focus-within .pdt-arrow { opacity: 1; }
.pdt-arrow:hover { color: #fff; background: var(--pri); border-color: var(--pri); }
.pdt-arrow .ar { width: 6px; height: 6px; }
.pdt-arrow.is-prev { left: 12px; }
.pdt-arrow.is-next { right: 12px; }
.pdt-view.is-single .pdt-arrow { display: none; }
.pdt-no {
    position: absolute; right: 14px; bottom: 12px; z-index: 2;
    padding: 3px 11px; font-size: 11.5px; letter-spacing: .06em;
    color: #fff; background: rgba(11, 42, 49, .5); border-radius: 999px;
    font-variant-numeric: tabular-nums; backdrop-filter: blur(4px);
}
.pdt-thumbs {
    display: flex; gap: 10px; margin-top: 14px;
    overflow-x: auto; padding-bottom: 4px;
    scrollbar-width: none; -ms-overflow-style: none;
}
.pdt-thumbs::-webkit-scrollbar { display: none; }
.pdt-thumbs:empty { display: none; }
.pdt-th {
    flex: 0 0 86px; width: 86px; aspect-ratio: 1 / 1; padding: 5px;
    background: #fff; border: 1px solid var(--line); border-radius: 5px;
    transition: border-color var(--tr-s), box-shadow var(--tr-s);
}
.pdt-th img { width: 100%; height: 100%; object-fit: contain; }
.pdt-th:hover { border-color: #c6dcc2; }
.pdt-th.on { border-color: var(--pri); box-shadow: 0 0 0 2px rgba(164, 196, 53, .18); }

/* ---------- 右：标题 + 字段 ---------- */
.pdt-info { display: flex; flex-direction: column; min-width: 0; padding-top: 2px; }
.pdt-cat {
    align-self: flex-start;
    display: inline-flex; align-items: center; height: 26px; padding: 0 12px;
    font-size: 12px; letter-spacing: .06em; color: var(--pri-d);
    background: var(--pri-soft); border-radius: 3px;
}
.pdt-cat:hover { color: #fff; background: var(--pri); }
.pdt-t {
    margin-top: 14px; font-size: 31px; font-weight: 700;
    line-height: 1.34; letter-spacing: .4px; color: var(--ink);
}
.pdt-sub { margin-top: 12px; font-size: 14.5px; line-height: 1.9; color: var(--muted); }
.pdt-attr { margin-top: 26px; border-top: 1px solid var(--line); }
.pdt-attr li {
    display: grid; grid-template-columns: 88px minmax(0, 1fr); gap: 16px;
    align-items: start; padding: 14px 0;
    border-bottom: 1px dashed var(--line);
}
.pdt-k { font-size: 14px; color: var(--muted); }
.pdt-v { font-size: 14.5px; font-weight: 600; line-height: 1.75; color: var(--ink); word-break: break-word; }
.pdt-cta { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }

/* ---------- 滑动门 ---------- */
.pdt-door {
    margin-top: 24px; background: #fff;
    border: 1px solid var(--line); border-radius: 8px; overflow: hidden;
    box-shadow: 0 2px 10px rgba(12, 40, 52, .03);
}
.door-nav {
    position: relative; display: flex; gap: 6px;
    padding: 10px 14px; background: #fbfdfa;
    border-bottom: 1px solid var(--line);
}
.door-ink {
    position: absolute; left: 0; top: 10px; bottom: 10px; width: 0;
    background: var(--pri); border-radius: 5px;
    box-shadow: 0 8px 18px rgba(164, 196, 53, .3);
    transition: transform .42s cubic-bezier(.22, .61, .36, 1), width .42s cubic-bezier(.22, .61, .36, 1);
}
.door-tab {
    position: relative; z-index: 1;
    display: inline-flex; align-items: center; gap: 8px;
    height: 42px; padding: 0 26px; border-radius: 5px;
    font-size: 15px; color: var(--ink-2);
    transition: color var(--tr-s);
}
.door-tab em {
    font-style: normal; font-size: 10.5px; letter-spacing: .12em;
    color: #b6c4ca; text-transform: uppercase;
}
.door-tab:hover { color: var(--pri-d); }
.door-tab.on { color: #fff; font-weight: 600; }
.door-tab.on em { color: rgba(255, 255, 255, .68); }
.door-body { padding: 44px 48px 50px; }
.door-pane { display: none; }
.door-pane.on { display: block; animation: doorIn .46s cubic-bezier(.22, .61, .36, 1) both; }
@keyframes doorIn {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: none; }
}
/* 参数表：允许比正文更宽，表格第一列窄一些 */
.pdt-spec { max-width: 100%; }
.pdt-spec table { margin-top: 0; }
.pdt-spec td:first-child,
.pdt-spec th:first-child { white-space: nowrap; color: var(--ink); background: var(--soft); }

@media (max-width: 1100px) {
    .pdt { gap: 34px; padding: 28px 26px 30px; }
    .pdt-t { font-size: 26px; }
    .door-body { padding: 38px 34px 42px; }
}

@media (max-width: 992px) {
    .pdt { grid-template-columns: minmax(0, 1fr); gap: 28px; }
    .pdt-arrow { opacity: 1; }
    .pdt-cta { margin-top: 26px; }
}

@media (max-width: 767px) {
    .pdt { padding: 16px 14px 20px; border-radius: 6px; gap: 22px; }
    .pdt-slide { padding: 8px; }
    .pdt-th { flex: 0 0 62px; width: 62px; padding: 4px; }
    .pdt-arrow { width: 34px; height: 34px; }
    .pdt-arrow.is-prev { left: 8px; }
    .pdt-arrow.is-next { right: 8px; }
    .pdt-no { right: 10px; bottom: 9px; font-size: 11px; padding: 2px 9px; }
    .pdt-t { font-size: 21px; margin-top: 10px; }
    .pdt-sub { font-size: 13.5px; margin-top: 9px; }
    .pdt-attr { margin-top: 18px; }
    .pdt-attr li { grid-template-columns: 74px minmax(0, 1fr); gap: 12px; padding: 11px 0; }
    .pdt-k { font-size: 13px; }
    .pdt-v { font-size: 13.5px; }
    .pdt-cta { margin-top: 22px; gap: 10px; }
    .pdt-cta .btn { flex: 1 1 auto; height: 44px; padding: 0 14px; font-size: 13.5px; }
    .door-nav { padding: 8px 10px; gap: 4px; }
    .door-ink { top: 8px; bottom: 8px; }
    .door-tab { height: 38px; padding: 0 16px; font-size: 14px; }
    .door-tab em { display: none; }
    .door-body { padding: 22px 16px 26px; }
    .pdt-spec td:first-child,
    .pdt-spec th:first-child { white-space: normal; }
}

/* 自定义字段为空时的提示（旧产品尚未填参数） */
.pdt-tip {
    margin-top: 26px; padding: 16px 18px;
    font-size: 13.5px; line-height: 1.9; color: var(--muted);
    background: var(--soft); border: 1px dashed var(--line); border-radius: 6px;
}
.pdt-tip a { color: var(--pri-d); font-weight: 600; }
.pdt-tip a:hover { color: var(--pri); }
@media (max-width: 767px) {
    .pdt-tip { margin-top: 18px; padding: 13px 14px; font-size: 13px; }
}

/* 参数表来自后台粘贴（自带内联样式与 sticky 表头），统一成站点表格风格 */
.pdt-spec table {
    width: 100% !important; border-collapse: collapse !important;
    table-layout: auto; margin: 0;
}
.pdt-spec th,
.pdt-spec td {
    position: static !important;
    padding: 11px 14px !important;
    font-size: 14px !important; line-height: 1.7 !important;
    text-align: left !important;
    color: var(--ink-2) !important;
    background: #fff !important;
    border: 1px solid var(--line) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    white-space: normal;
}
.pdt-spec thead th,
.pdt-spec tr:first-child th {
    color: var(--ink) !important; font-weight: 600 !important;
    background: #f2f7ee !important;
}
.pdt-spec td:first-child {
    color: var(--ink) !important; font-weight: 600;
    background: #fbfdf9 !important;
    white-space: nowrap;
}
.pdt-spec tbody tr:hover td { background: #f8fbf6 !important; }
.pdt-spec tbody tr:hover td:first-child { background: #f2f7ee !important; }
/* 表格前后多余的空段 */
.pdt-spec > p:empty,
.pdt-spec > p:has(> br:only-child) { display: none; }

@media (max-width: 767px) {
    .pdt-spec th,
    .pdt-spec td { padding: 9px 10px !important; font-size: 13px !important; }
    .pdt-spec td:first-child { white-space: normal; }
}

/* 平板单列时限制图库宽度，避免整屏只剩一张图 */
@media (max-width: 992px) {
    .pdt-gal { max-width: 560px; width: 100%; margin: 0 auto; }
    .pdt-thumbs { justify-content: center; }
}
/* 参数表在窄屏允许横向滚动，不撑破页面 */
@media (max-width: 767px) {
    .pdt-spec { overflow-x: auto; -webkit-overflow-scrolling: touch; }
    .pdt-spec table { min-width: 520px; }
}

/* 窄屏参数表横向滑动提示 */
.pdt-spec-tip {
    margin: 0 0 10px; font-size: 12px; line-height: 1.6;
    color: var(--muted); text-align: right;
}
.pdt-spec-tip::before { content: "↔ "; color: var(--pri); }

/* ---------- 同系列产品：一排四个，卡片更紧凑 ---------- */
.pg-rel .plist { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.pg-rel .prod { border-radius: 8px; }
.pg-rel .prod-pic { padding: 6px; }
.pg-rel .prod-bd { padding: 12px 14px; gap: 8px; }
.pg-rel .prod-m {
    min-width: 0; font-size: 13.5px;
    display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.pg-rel .prod-more { flex: none; gap: 6px; font-size: 11.5px; }
.pg-rel .prod-more .ar { width: 5px; height: 5px; }

@media (max-width: 1100px) {
    .pg-rel .plist { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
}

@media (max-width: 992px) {
    .pg-rel .plist { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
}

@media (max-width: 767px) {
    .pg-rel .plist { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .pg-rel .prod-bd { padding: 10px 12px; }
    .pg-rel .prod-m { font-size: 12.5px; }
}
