
*{margin:0;padding:0;box-sizing:border-box}
/* ===== 全站统一字体变量（唯一来源，改这里即可全站生效）===== */
:root{
  --blue:#1e6fd9;--blue-d:#1558b3;--red:#c9302c;--ink:#22303f;--mut:#67788c;--bg:#f4f7fb;--line:#e3eaf2;
  /* 中文用微软雅黑，苹果/安卓用苹方，数字与拉丁字母用 Helvetica Neue/Arial，全部同一套 */
  --font:"Microsoft YaHei","PingFang SC","Helvetica Neue",Arial,"Hiragino Sans GB","Source Han Sans SC",sans-serif;
}
html{scroll-behavior:smooth}
/* 全站所有文字统一走 --font，任何标签都不允许再自带字体 */
body,html,div,p,span,a,b,i,em,strong,small,u,s,h1,h2,h3,h4,h5,h6,ul,ol,li,dl,dt,dd,
table,thead,tbody,tr,th,td,label,input,textarea,select,button,nav,header,footer,section,article,
main,aside,figure,figcaption,blockquote,code,pre,summary,details,time,address{
  font-family:var(--font);
}
body{font-family:var(--font);color:var(--ink);background:#fff;line-height:1.7}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%}
.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
/* ===== 顶部品牌条 ===== */
.topbar{background:#fff;border-bottom:1px solid var(--line)}
.topbar .in{display:flex;align-items:center;height:66px;gap:12px}
.brand{display:flex;align-items:center;gap:11px}
.brand .logo{width:42px;height:42px;border-radius:9px;background:var(--blue);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-family:var(--font);font-weight:700}
.brand b{font-size:22px;color:var(--blue);letter-spacing:1px}
.brand small{display:block;font-size:12px;color:var(--mut);font-weight:400;line-height:1.3}
/* 「联系人：徐欢欢」与电话号码同一行、字号完全相同（都 20px），不再上下两行一小一大 */
.hotline{display:flex;align-items:baseline;justify-content:flex-end;gap:8px;flex-wrap:wrap;text-align:right;font-size:20px;color:var(--mut);line-height:1.5}
.hotline .hl-name{font-size:20px;font-weight:400;color:var(--mut);white-space:nowrap}
/* ===== 统一的电话号码样式（全站一致、醒目、加粗） ===== */
/* 号码字体已并入全站统一字体 var(--font)，不再单独指定 DIN Alternate */
/* 电话/号码专用数字字体：Arial/Helvetica 的数字全部等高等宽，
   不像雅黑数字有高有低（1 窄、4 矮），彻底解决「有大有小」 */
.tel,.hotline b,.buybox .tel,.cinfo .tel,.ft-tel{
  font-family:"Helvetica Neue",Arial,"Segoe UI","Microsoft YaHei",sans-serif;
  font-size:20px!important;font-weight:700;color:var(--blue);
  letter-spacing:.5px;white-space:nowrap;
  font-variant-numeric:lining-nums tabular-nums;
  font-feature-settings:"lnum" 1,"tnum" 1;
  text-decoration:none;
}
/* 页头电话与「联系人」同一行排版，号码前不加图标（与参考页一致） */
.tel::before,.buybox .tel::before,.cinfo .tel::before{
 content:none;
}
/* 号码类数字（微信号等）：与电话同字号但不带电话图标 */
.num{font-family:"Helvetica Neue",Arial,"Segoe UI","Microsoft YaHei",sans-serif;
 font-size:20px!important;font-weight:700;color:var(--blue);letter-spacing:.5px;
 font-variant-numeric:lining-nums tabular-nums;
 font-feature-settings:"lnum" 1,"tnum" 1}
/* 正文里手写的号码（如产品简介、FAQ 答案）：同样 20px 加粗蓝色，保证全站一致 */
.tel-inline{font-family:"Helvetica Neue",Arial,"Segoe UI","Microsoft YaHei",sans-serif;
 font-size:20px!important;font-weight:700;color:var(--blue);letter-spacing:.5px;
 font-variant-numeric:lining-nums tabular-nums;
 font-feature-settings:"lnum" 1,"tnum" 1;
 white-space:nowrap;text-decoration:none;
 border-bottom:1px solid rgba(30,111,217,.35);padding-bottom:1px}
.tel-inline:hover{color:var(--blue);border-bottom-color:var(--blue)}
/* 电话号码与「联系人」同一行显示（不再 display:block 换行） */
.hotline b{display:inline}
/* ===== 号码所在整排统一：说明文字与号码同字号（20px），彻底消除「一大一小」 ===== */
/* 与号码同排的补充说明（人名 · 微信同号 · 邮箱 等） */
.tel-sub{font-size:20px;font-weight:400;color:var(--mut)}
/* 号码整排容器：里面的普通文字跟随 20px */
.tel-row{font-size:20px}
/* 咨询与报价框：整排同字号 */
.buybox .tel-sub{display:block;margin-top:4px}
.buybox b{font-size:20px}
@media(max-width:820px){.hotline{display:none}.brand small{display:none}}
/* 联系页整排统一：微信号与电话完全同字号同颜色同粗细，避免看起来一大一小 */
.cinfo .num,.cinfo .tel,.cinfo a[href^="tel:"] .tel,.cinfo a[href^="tel:"],
.cinfo a[href^="tel:"] .num{color:var(--blue)!important;font-size:20px!important;font-weight:700}
/* 「（微信同号）」等紧跟号码的说明文字：与号码同字号，整排看起来完全一致 */
.cinfo .tel-note{font-size:20px;font-weight:700;color:#4a6b8f;opacity:1;margin-left:4px}
/* 通用 .num 也要能顶住外层 span 的颜色覆盖 */
.num{color:var(--blue)}
.tel-note{font-size:20px;font-weight:400;color:var(--mut);margin-left:4px;white-space:nowrap}
@media(max-width:820px){.hotline{display:none}.brand small{display:none}}
/* 页脚里的电话 */
.ft-tel{display:inline-block}
/* ===== 蓝色导航条 ===== */
nav.main{background:var(--blue);position:sticky;top:0;z-index:60;box-shadow:0 2px 10px rgba(21,88,179,.25)}
nav.main .in{display:flex;align-items:center;flex-wrap:wrap}
nav.main a{color:#fff;padding:14px 22px;font-size:16px;display:block}
nav.main a:hover,nav.main a.on{background:var(--blue-d)}
nav.main a.wx{margin-left:auto;background:#22c55e;font-weight:600}
nav.main a.wx:hover{background:#1dad4f}
nav.main .burger{display:none;color:#fff;font-size:16px;padding:12px 14px;cursor:pointer;background:none;border:0}
@media(max-width:920px){
 nav.main a{display:none;padding:12px 16px;font-size:15px}
 nav.main a.wx{display:block}
 nav.main.open a{display:block;width:100%}
 nav.main .burger{display:block}
}
/* ===== 轮播 ===== */
.carousel{position:relative;overflow:hidden;background:linear-gradient(120deg,#0d3c86,#1e6fd9 60%,#3b8ae0)}
.slides{position:relative;height:430px}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .8s;display:flex;align-items:center}
.slide.on{opacity:1}
.slide .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;width:100%}
.slide .txt{color:#fff;max-width:52%;position:relative;z-index:2}
.slide .txt .eyebrow{display:inline-block;border:1.5px solid rgba(255,255,255,.75);padding:5px 16px;border-radius:4px;font-size:15px;letter-spacing:5px;margin-bottom:18px}
.slide .txt h1,.slide .txt h2{font-size:42px;line-height:1.25;letter-spacing:2px;text-shadow:0 2px 12px rgba(0,40,100,.35);font-weight:700}
.slide .txt p{margin-top:14px;font-size:16.5px;opacity:.92}
.slide .txt .go{display:inline-block;margin-top:24px;background:#fff;color:var(--blue);padding:11px 30px;border-radius:6px;font-weight:700;font-size:15px}
.slide .pic{flex:none;width:40%;max-height:360px;display:flex;align-items:center;justify-content:center;position:relative;z-index:2}
.slide .pic img{max-height:360px;max-width:100%;object-fit:contain;filter:drop-shadow(0 16px 26px rgba(0,25,70,.45))}
.slide.clk{cursor:pointer}
.cnt{position:absolute;bottom:20px;right:80px;z-index:5;color:#fff;font-size:13px;background:rgba(0,28,70,.42);padding:5px 16px;border-radius:16px;letter-spacing:1px}
.cnt b{font-size:16px}
.cnt span{opacity:.72;font-size:12px}
@media(max-width:820px){.cnt{right:20px}}
.arr{position:absolute;top:50%;transform:translateY(-50%);z-index:5;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.22);color:#fff;border:0;font-size:20px;cursor:pointer}
.arr:hover{background:rgba(255,255,255,.4)}
.arr.l{left:16px}.arr.r{right:16px}
@media(max-width:820px){.slides{height:340px}.slide .txt h1,.slide .txt h2{font-size:27px}.slide .pic{display:none}.slide .txt{max-width:100%}}
/* ===== 图标条 ===== */
.icons{background:#fff;border-bottom:1px solid var(--line)}
.icons .in{display:grid;grid-template-columns:repeat(4,1fr)}
.icons a{display:flex;align-items:center;justify-content:center;gap:12px;padding:22px 8px;border-right:1px solid var(--line);font-size:17px;font-weight:600;color:var(--ink)}
.icons a:last-child{border-right:0}
.icons .ic{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:21px;color:#fff}
.icons a:nth-child(1) .ic{background:#12b3a8}.icons a:nth-child(2) .ic{background:#f0940a}
.icons a:nth-child(3) .ic{background:#e35b66}.icons a:nth-child(4) .ic{background:#1e6fd9}
.icons a:hover{color:var(--blue)}
@media(max-width:700px){.icons .in{grid-template-columns:repeat(2,1fr)}.icons a{border-bottom:1px solid var(--line)}}
/* ===== 通用节 ===== */
section{padding:64px 0}
section.alt{background:var(--bg)}
h2.t{text-align:center;font-size:30px}
h2.t::after{content:"";display:block;width:52px;height:4px;background:var(--blue);border-radius:2px;margin:12px auto 0}
p.tsub{text-align:center;color:var(--mut);margin-top:12px;font-size:15px}
/* ===== 关于 ===== */
.about{display:grid;grid-template-columns:1.35fr 1fr;gap:40px;margin-top:34px;align-items:start}
.about .txt p{margin-bottom:13px;text-align:justify;color:#33465c;font-size:15.5px}
.about .txt b{color:var(--blue)}
.feats{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.feat{background:#fff;border:1px solid var(--line);border-radius:10px;padding:18px 16px}
.feat .ic{font-size:25px}
.feat b{display:block;margin:8px 0 4px;font-size:15.5px}
.feat span{font-size:13px;color:var(--mut);line-height:1.6;display:block}
@media(max-width:860px){.about{grid-template-columns:1fr}}
/* ===== 产品 ===== */
.tools{display:flex;gap:12px;margin:28px 0 16px}
.search{flex:1;display:flex;border:1.5px solid var(--line);border-radius:9px;overflow:hidden;background:#fff}
.search input{flex:1;border:0;outline:0;padding:11px 14px;font-size:15px}
.search button{border:0;background:var(--blue);color:#fff;padding:0 22px;font-size:15px;cursor:pointer}
.chips{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:18px}
.chip{padding:8px 16px;border-radius:20px;border:1.5px solid var(--line);background:#fff;font-size:14px;cursor:pointer;color:#42566d;white-space:nowrap}
.chip.on{background:var(--blue);border-color:var(--blue);color:#fff;font-weight:600}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:18px}
.card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer;transition:.18s;display:flex;flex-direction:column}
.card:hover{transform:translateY(-4px);box-shadow:0 10px 26px rgba(20,40,80,.13);border-color:#bcd0ea}
.card .ph{height:172px;background:#f2f5f9;display:flex;align-items:center;justify-content:center;overflow:hidden}
.card .ph img{width:100%;height:100%;object-fit:cover}
.card .nm{padding:13px 14px 4px;font-size:15.5px;font-weight:700;color:var(--red);line-height:1.45;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:46px}
.card .md{padding:0 14px 14px;font-size:12.5px;color:var(--blue);margin-top:4px;line-height:1.5;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.more{text-align:center;margin-top:28px}
.more button{padding:11px 44px;border-radius:9px;border:1.5px solid var(--blue);background:#fff;color:var(--blue);font-size:15px;cursor:pointer}
.more button:hover{background:var(--blue);color:#fff}
.empty{text-align:center;color:var(--mut);padding:50px 0;grid-column:1/-1}
/* ===== 新闻 ===== */
.news-list{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:30px}
.news-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 22px;cursor:pointer;transition:.18s}
.news-card:hover{box-shadow:0 10px 26px rgba(20,40,80,.12);border-color:#bcd0ea;transform:translateY(-3px)}
.news-card .date{font-size:13px;color:#fff;background:var(--blue);display:inline-block;padding:2px 12px;border-radius:14px}
.news-card h3{font-size:17px;margin:10px 0 8px;line-height:1.5}
.news-card p{font-size:14px;color:var(--mut);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:820px){.news-list{grid-template-columns:1fr}}
/* ===== 案例 / 荣誉 ===== */
.cases{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}
.case{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.case .ph{display:block;height:190px;background:#f2f5f9;overflow:hidden}
.case .ph img{width:100%;height:100%;object-fit:cover}
.case .bd{padding:15px 17px}
.case b{font-size:16px}
.case p{font-size:13.5px;color:var(--mut);margin-top:6px}
.honors{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:30px}
.honor{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px 18px;text-align:center}
.honor .ic{font-size:34px}
.honor b{display:block;margin:10px 0 6px;font-size:16px;color:var(--blue)}
.honor span{font-size:13px;color:var(--mut)}
@media(max-width:900px){.cases{grid-template-columns:1fr}.honors{grid-template-columns:repeat(2,1fr)}}
/* ===== 联系 ===== */
.contact{display:grid;grid-template-columns:1.25fr .85fr;gap:34px;margin-top:34px}
.cinfo .row{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:10px;padding:15px 18px;margin-bottom:12px}
.cinfo .ic{width:42px;height:42px;border-radius:9px;background:#eaf2fc;display:flex;align-items:center;justify-content:center;font-size:20px;flex:none}
/* 联系页整排：标签与号码完全同字号（20px），杜绝同一行里一小一大 */
.cinfo b{font-size:20px;display:block;font-weight:700;color:var(--ink)}
.cinfo span{font-size:20px;color:#33465c}
/* 邮箱与地址是长文本，单独用较小字号（仍明显大于普通正文） */
.cinfo .mail,.cinfo .addr{font-size:17px}
/* 联系页里的电话链接：外层 a 本身也放大，避免与内层号码出现一大一小两行
   只作用于电话（href 以 tel: 开头），不要波及邮箱链接 */
.cinfo a[href^="tel:"]{font-family:"Helvetica Neue",Arial,"Segoe UI","Microsoft YaHei",sans-serif;font-size:20px!important;font-weight:700;color:var(--blue);text-decoration:none;
 font-variant-numeric:lining-nums tabular-nums;font-feature-settings:"lnum" 1,"tnum" 1;
 font-variant-numeric:tabular-nums;letter-spacing:.5px;white-space:nowrap}
.cinfo a[href^="tel:"]:hover{color:var(--blue);border-bottom:1px solid rgba(30,111,217,.4)}
.wxcard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:26px;text-align:center}
.wxcard img{width:225px;height:225px;margin:14px auto;border-radius:12px;border:1px solid var(--line);cursor:zoom-in}
.wxcard b{font-size:16px}
.wxcard p{font-size:13.5px;color:var(--mut);margin-top:6px}
@media(max-width:860px){.contact{grid-template-columns:1fr}}
/* ===== 弹窗 ===== */
.mask{position:fixed;inset:0;background:rgba(15,30,55,.55);z-index:100;display:none;align-items:flex-start;justify-content:center;padding:30px 14px;overflow:auto}
.mask.show{display:flex}
.dlg{background:#fff;border-radius:14px;max-width:960px;width:100%;padding:26px 28px 30px;position:relative}
.dlg .x{position:absolute;right:16px;top:12px;font-size:26px;color:#98a8bb;cursor:pointer;border:0;background:none;line-height:1}
.dlg h3{font-size:22px;color:var(--red);padding-right:40px}
.dlg .cat{display:inline-block;margin-top:6px;font-size:13px;color:var(--blue);background:#eaf2fc;padding:3px 12px;border-radius:14px}
.dlg .big{margin:18px 0 8px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#f2f5f9;display:flex;align-items:center;justify-content:center;max-height:430px}
.dlg .big img{max-height:430px;width:auto;max-width:100%;object-fit:contain}
.thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:6px}
.thumbs img{width:64px;height:52px;object-fit:cover;border-radius:6px;border:2px solid transparent;cursor:pointer}
.thumbs img.on{border-color:var(--blue)}
.dlg h4{margin:20px 0 8px;font-size:16px;color:var(--blue);border-left:4px solid var(--blue);padding-left:10px}
.dlg .models div{font-size:14px;color:var(--blue);padding:2px 0}
.dlg .sp,.dlg .adv{font-size:14.5px;color:#33465c;white-space:pre-wrap}
.dlg .art{font-size:15px;color:#33465c}
.dlg .art p{margin-bottom:12px}
.ptable{width:100%;border-collapse:collapse;font-size:14px}
.ptable td{border:1px solid var(--line);padding:8px 12px}
.ptable td:first-child{background:#f6f9fd;color:var(--mut);width:130px}
.ask{margin-top:22px;background:#f0f7ff;border:1px solid #cfe3fa;border-radius:10px;padding:16px 18px;display:flex;gap:14px;align-items:center;flex-wrap:wrap}
.ask .qr{width:86px;height:86px;border-radius:8px;object-fit:cover;border:1px solid var(--line)}
.ask b{color:var(--ink)}
.ask p{font-size:13.5px;color:var(--mut)}
.qrmask .dlg{max-width:380px;text-align:center}
.qrmask img{width:280px;height:280px;margin:18px auto 10px;border-radius:12px}
.qrmask p{color:var(--mut);font-size:14px}
.totop{position:fixed;right:22px;bottom:26px;width:44px;height:44px;border-radius:50%;background:var(--blue);color:#fff;border:0;font-size:19px;cursor:pointer;display:none;box-shadow:0 6px 18px rgba(30,111,217,.35);z-index:60}
/* ===== 页脚 ===== */
footer{background:#12345f;color:#b9c9dd;padding:38px 0 26px;font-size:13.5px}
footer .top{display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.14)}
footer b{color:#fff;font-size:16px}
footer .ft-nav{display:flex;gap:16px;flex-wrap:wrap;margin-top:10px}
footer .ft-nav a:hover{color:#fff}
footer .cp{text-align:center;padding-top:16px;font-size:12.5px;color:#7f97b5}

/* ===== 站内补充 ===== */
/* 首页轮播（高铁照片背景 + 深色压暗层，3 页主题式） */
.hero-rot{position:relative;overflow:hidden;background:#0a1c38}
.hero-stage{position:relative;height:460px}
.hero-item{position:absolute;inset:0;opacity:0;transition:opacity .7s;display:flex;align-items:center;pointer-events:none;background:url('hero_rail.webp') center 38%/cover no-repeat}
/* 手机/平板用 768w 小图代替 1920w 大图： hero 背景是 CSS 图，不走 srcset，
   不按屏幕切换的话手机也要下载 101KB；换小图后手机首屏图片量直降 ~73KB */
@media (max-width: 900px){
  .hero-item{background-image:url('hero_rail@768w.webp')}
}
/* 笔记本 / 小屏电脑（901~1366）用 1024w：比 1600w 原图省约 59KB，视觉几乎无差 */
@media (min-width: 901px) and (max-width: 1366px){
  .hero-item{background-image:url('hero_rail@1024w.webp')}
}
.hero-item.on{opacity:1;pointer-events:auto}
.hero-item::before{content:'';position:absolute;inset:0;background:linear-gradient(100deg,rgba(5,20,44,.94) 0%,rgba(6,26,56,.82) 42%,rgba(8,32,68,.46) 78%,rgba(10,38,76,.30) 100%)}
.hero-item.g2::before{background:linear-gradient(100deg,rgba(4,26,32,.94) 0%,rgba(6,38,40,.82) 42%,rgba(8,52,50,.46) 78%,rgba(10,60,56,.30) 100%)}
.hero-item.g3::before{background:linear-gradient(100deg,rgba(18,12,44,.94) 0%,rgba(26,18,58,.82) 42%,rgba(36,26,74,.46) 78%,rgba(46,34,88,.30) 100%)}
.hero-item::after{content:'';position:absolute;inset:0;background:radial-gradient(560px 300px at 82% 14%,rgba(140,200,255,.14),transparent 60%)}
.hero-item .wrap{display:flex;align-items:center;justify-content:space-between;gap:30px;width:100%;position:relative;z-index:2}
.hero-item .txt{color:#fff;max-width:46%;position:relative;z-index:2}
.hero-item .eyebrow{display:inline-block;border:1.5px solid rgba(255,255,255,.75);padding:5px 16px;border-radius:4px;font-size:15px;letter-spacing:4px;margin-bottom:18px}
.hero-item h1,.hero-item h2{font-size:40px;line-height:1.28;letter-spacing:1px;text-shadow:0 2px 12px rgba(0,25,60,.4);font-weight:700}
.hero-item p{margin-top:14px;font-size:16.5px;opacity:.92}
.hero-item .go{display:inline-block;margin-top:24px;background:#fff;color:var(--blue);padding:11px 30px;border-radius:6px;font-weight:700;font-size:15px;box-shadow:0 6px 18px rgba(0,20,60,.25)}
.hero-item .hgrid{flex:none;width:46%;display:grid;grid-template-columns:1fr 1fr;gap:14px;position:relative;z-index:2}
.hcard{background:rgba(255,255,255,.95);border-radius:12px;padding:12px 10px 10px;display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:0 14px 30px rgba(2,16,45,.4);transition:transform .25s,box-shadow .25s}
.hcard:hover{transform:translateY(-5px);box-shadow:0 20px 38px rgba(2,16,45,.5)}
.hcard img{width:100%;height:104px;object-fit:contain}
.hcard b{font-size:13px;color:#17324f;text-align:center;font-weight:600;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:820px){
 .hero-stage{height:auto;min-height:320px;padding:34px 0}
 .hero-item .txt{max-width:100%}
 .hero-item h1,.hero-item h2{font-size:27px}
 .hero-item .hgrid{display:none}
}
.btn-more{display:inline-block;padding:11px 40px;border-radius:9px;border:1.5px solid var(--blue);color:var(--blue);font-size:15px;background:#fff}
.btn-more:hover{background:var(--blue);color:#fff}
.phx{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:150px;color:#9fb0c4;font-size:13px;background:#f2f5f9}
.crumb{background:#fff;border-bottom:1px solid var(--line);font-size:13.5px;color:var(--mut)}
.crumb .wrap{padding:12px 20px}
.crumb a{color:var(--blue)}
.crumb span{color:#9fb0c4;margin:0 6px}
.pagehead{background:linear-gradient(120deg,#0d3c86,#1e6fd9 60%,#3b8ae0);color:#fff;padding:52px 0}
.pagehead h1{font-size:32px;letter-spacing:1px}
.pagehead p{margin-top:10px;opacity:.9;font-size:15px}
.pagehead .wrap{position:relative;z-index:2}
.sec{padding:56px 0}
.sec.alt{background:var(--bg)}
.breadcrumb{margin:0 0 22px}
/* 产品详情 */
.pdetail{display:grid;grid-template-columns:1.05fr .95fr;gap:38px;margin-top:8px;align-items:start}
.gal .big{border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;min-height:360px;overflow:hidden}
.gal .big img{max-width:100%;max-height:520px;object-fit:contain}
.gal .thumbs{margin-top:10px}
.pinfo h1{font-size:28px;line-height:1.4;color:var(--ink)}
.pinfo .cat{display:inline-block;margin:12px 0 6px;font-size:13px;color:var(--blue);background:#eaf2fc;padding:4px 14px;border-radius:14px}
.pinfo .lead{color:#33465c;font-size:15px;margin-top:12px;line-height:1.85}
.pinfo .sp{background:#f2f7ff;border:1px solid #dbe8fa;border-left:4px solid var(--blue);border-radius:10px;padding:13px 16px;margin-top:14px}
.pinfo .sp b{display:block;color:var(--blue);font-size:15px;margin-bottom:7px;letter-spacing:1px}
.pinfo .sp p{margin:0;line-height:1.92;color:#33475c;font-size:14.5px;text-align:justify}
.pinfo .models{margin-top:14px}
.pinfo .models div{font-size:14.5px;color:var(--blue);padding:5px 0;border-bottom:1px dashed var(--line)}
.buybox{margin-top:20px;background:#f0f7ff;border:1px solid #cfe3fa;border-radius:12px;padding:18px 20px}
.buybox b{font-size:20px}
.buybox .tel{display:block;margin:6px 0}
.buybox .tel-sub{display:block;margin-top:4px}
.buybox .btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
.buybox .btns a{padding:9px 20px;border-radius:8px;font-size:16px;font-weight:600}
.btns .b1{background:var(--blue);color:#fff}
.btns .b2{background:#22c55e;color:#fff}
.desc{margin-top:44px;border-top:1px solid var(--line);padding-top:34px}
.desc h2{font-size:20px;color:var(--blue);border-left:5px solid var(--blue);padding-left:12px;margin-bottom:14px}
.desc p{font-size:15.5px;color:#33465c;margin-bottom:12px;line-height:1.95;text-align:justify}
.desc .kv{white-space:pre-wrap;font-size:15px;color:#33465c;line-height:1.9}
.ptable2{width:100%;border-collapse:collapse;font-size:14.5px;margin-top:8px}
.ptable2 td{border:1px solid var(--line);padding:10px 14px}
.ptable2 tr:nth-child(odd) td:first-child{background:#f6f9fd;color:var(--mut);width:160px}
.relgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;margin-top:18px}
/* 分类块 */
.catblocks{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:26px}
.catblock{border:1px solid var(--line);border-radius:12px;padding:18px 16px;background:#fff;transition:.18s}
.catblock:hover{border-color:#bcd0ea;box-shadow:0 8px 22px rgba(20,40,80,.10);transform:translateY(-3px)}
.catblock b{display:block;font-size:16px;color:var(--ink)}
.catblock span{font-size:12.5px;color:var(--mut)}
.catblock em{display:block;margin-top:8px;font-size:12.5px;color:var(--blue);font-style:normal}
@media(max-width:900px){.catblocks{grid-template-columns:repeat(2,1fr)}}
/* 首页产品中心：左侧目录 + 右侧产品 */
.pcat{display:grid;grid-template-columns:252px 1fr;gap:24px;margin-top:28px;align-items:start}
.catnav{background:linear-gradient(165deg,#2f87ea,#1a63c8);border-radius:14px;padding:16px 14px;position:sticky;top:66px;box-shadow:0 12px 30px rgba(20,60,130,.18)}
.catnav .cathead{color:#fff;padding:4px 8px 14px;border-bottom:1px solid rgba(255,255,255,.28);margin-bottom:12px}
.catnav .cathead i{display:block;font-style:normal;font-size:21px;font-weight:800;letter-spacing:3px}
.catnav .cathead b{display:block;font-size:15px;font-weight:600;letter-spacing:7px;margin-top:3px;opacity:.95}
.citem{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.35);color:#fff;border-radius:999px;padding:8px 15px;margin:8px 0;font-size:14px;transition:background .2s,color .2s}
.citem:hover,.citem.on{background:#fff;color:var(--blue);font-weight:600}
.citem em{font-style:normal;font-size:12px;opacity:.85}
@media(max-width:900px){
 .pcat{grid-template-columns:1fr}
 .catnav{position:static}
 .catnav .catitems{display:flex;flex-wrap:wrap;gap:8px}
 .citem{margin:0}
}
/* 文章 */
.article{max-width:860px;margin:0 auto;padding:34px 20px 60px}
.article h1{font-size:30px;line-height:1.45}
.article .meta{color:var(--mut);font-size:14px;margin:14px 0 26px;padding-bottom:14px;border-bottom:1px solid var(--line)}
.article .body{font-size:16px;color:#33465c;line-height:2}
.article .body p{margin-bottom:16px;text-align:justify}
.article .body h2{font-size:20px;margin:26px 0 12px;color:var(--blue)}
.article .body ul{margin:0 0 16px 22px}
.article .body li{margin-bottom:8px}
.article .body img{max-width:100%;border-radius:10px;margin:10px 0}
.article .cta{margin-top:34px;background:#f0f7ff;border:1px solid #cfe3fa;border-radius:12px;padding:20px}
/* 新闻列表 */
.newscards{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:26px}
.newscard{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 24px;transition:.18s;display:block}
.newscard:hover{box-shadow:0 10px 26px rgba(20,40,80,.12);border-color:#bcd0ea;transform:translateY(-3px)}
.newscard time{font-size:13px;color:#fff;background:var(--blue);padding:2px 12px;border-radius:14px;display:inline-block}
.newscard h3{font-size:17.5px;margin:10px 0 8px;line-height:1.55}
.newscard p{font-size:14px;color:var(--mut);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
@media(max-width:820px){.newscards{grid-template-columns:1fr}.pdetail{grid-template-columns:1fr}}
/* 产品列表页 */
.filterbar{position:sticky;top:48px;z-index:40;background:#fff;border-bottom:1px solid var(--line);padding:12px 0}
.filterbar .wrap{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.filterbar .search{flex:1;min-width:240px}
/* 手机上：17 个分类按钮会换行成 7 排，吸顶元素因此占满整屏，把下面产品全挡住、页面像卡死（2026-10-24 修复）。
   移动端改为「不吸顶 + 分类横向滑动一行」，既省屏幕又能正常滚动看产品。 */
@media(max-width:820px){
  .filterbar{position:static}
  .filterbar .wrap{gap:8px}
  .filterbar .chips{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;gap:8px;margin-bottom:10px;padding-bottom:8px;-webkit-overflow-scrolling:touch;scrollbar-width:none;min-width:0;max-width:100%}
  .filterbar .chips::-webkit-scrollbar{display:none}
  .filterbar .chip{flex:0 0 auto;white-space:nowrap}
}
.pager{display:flex;gap:8px;justify-content:center;margin-top:30px;flex-wrap:wrap}
.pager a,.pager span{padding:8px 14px;border:1px solid var(--line);border-radius:8px;font-size:14px;color:#42566d}
.pager .on{background:var(--blue);color:#fff;border-color:var(--blue)}
.emptybox{text-align:center;color:var(--mut);padding:60px 0}
/* 首页新闻 */
.homenews{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:26px}
@media(max-width:820px){.homenews{grid-template-columns:1fr}}
.faq{margin-top:26px}
.faq details{border:1px solid var(--line);border-radius:10px;padding:14px 18px;margin-bottom:10px;background:#fff}
.faq summary{cursor:pointer;font-weight:700;font-size:15.5px}
.faq p{margin-top:10px;font-size:14.5px;color:#33465c;line-height:1.85}

/* 「加载更多」按钮（产品列表 / 分类页分批显示，减轻手机端渲染压力） */
.pmore-wrap{text-align:center;margin:26px 0 4px}
.pmore-wrap .btn-more{cursor:pointer;font-family:inherit;font-weight:600}
@media(max-width:820px){.pmore-wrap .btn-more{padding:12px 28px;width:100%;box-sizing:border-box}}

/* 产品图灯箱：点主图放大，左右箭头 / 键盘 ←→ / 手机滑动切换，Esc 或点空白关闭 */
#lightbox{position:fixed;inset:0;z-index:9999;background:rgba(7,13,22,.92);display:none;
  align-items:center;justify-content:center}
#lightbox.on{display:flex}
#lightbox #lbimg{max-width:92vw;max-height:82vh;object-fit:contain;border-radius:6px;background:#fff}
#lightbox .lbx{position:absolute;top:12px;right:18px;color:#fff;font-size:26px;line-height:1;
  cursor:pointer;opacity:.85;padding:6px}
#lightbox .lbx:hover{opacity:1}
#lightbox .lbnav{position:fixed;top:50%;transform:translateY(-50%);width:46px;height:46px;
  line-height:44px;text-align:center;border-radius:50%;background:rgba(255,255,255,.16);
  color:#fff;font-size:22px;cursor:pointer;user-select:none;-webkit-user-select:none}
#lightbox .lbnav:hover{background:rgba(255,255,255,.32)}
#lightbox .lbprev{left:max(10px,3vw)}
#lightbox .lbnext{right:max(10px,3vw)}
#lightbox .lbcnt{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#fff;
  font-size:14px;opacity:.75}
@media(max-width:820px){
  #lightbox .lbnav{width:40px;height:40px;line-height:38px;font-size:18px}
  #lightbox #lbimg{max-width:96vw;max-height:76vh}
}
