:root{
  --steel:#15406b;
  --steel-dark:#0e2c4a;
  --accent:#e8852b;
  --ink:#1f2733;
  --muted:#5b6675;
  --line:#e3e8ef;
  --bg:#f6f8fb;
  --white:#fff;
  --radius:10px;
  --maxw:1180px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;scrollbar-gutter:stable}
@supports not (scrollbar-gutter:stable){html{overflow-y:scroll}}
body{font-family:"Microsoft YaHei","PingFang SC",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg);line-height:1.7;font-size:15px}
html,body{min-height:100vh}
body{display:flex;flex-direction:column}
body>footer.site{margin-top:auto;width:100%}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px}
header.site{background:var(--steel);position:sticky;top:0;z-index:50}
.nav{display:flex;align-items:center;justify-content:space-between;height:64px;color:#fff}
.brand{font-weight:700;font-size:18px;display:flex;align-items:center;gap:10px}
.brand .logo{width:34px;height:34px;border-radius:7px;object-fit:contain;background:transparent;display:block}
.nav ul{display:flex;gap:22px;list-style:none;font-size:14px}
.nav ul a{opacity:.9;transition:.2s}
.nav ul a:hover{opacity:1;color:var(--accent)}
.nav ul a.active{opacity:1;color:var(--accent)}
.menu-btn{display:none;background:none;border:0;color:#fff;font-size:22px;cursor:pointer}
.hero{position:relative;color:#fff;padding:88px 0;background:#0d2642 url('../images/hero-home.jpg') center/cover no-repeat}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,rgba(13,38,66,.82),rgba(28,80,140,.5))}
.hero .wrap{position:relative;z-index:1}
.hero h1{font-size:30px;line-height:1.35;margin-bottom:14px;text-shadow:0 1px 12px rgba(0,0,0,.35)}
.hero p{opacity:.92;max-width:680px;margin-bottom:22px;text-shadow:0 1px 10px rgba(0,0,0,.3)}
.hero .btn.ghost{border-color:rgba(255,255,255,.7);color:#fff}
/* 首页 hero 内嵌搜索框（仿资料下载页，搜索框落在 hero 图上，不再占用导航条） */
.hero-search{position:relative;display:inline-flex;align-items:center;vertical-align:middle;width:290px;max-width:100%;margin:0 0 0 12px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:3px 3px 3px 36px;box-shadow:0 8px 30px rgba(0,0,0,.18)}
.hero-search .hero-search-ico{position:absolute;left:13px;color:rgba(255,255,255,.85);font-size:14px;pointer-events:none;z-index:1}
.hero-search input{flex:1;border:0;outline:none;background:transparent;font-size:14px;padding:9px 6px;color:#fff;min-width:0}
.hero-search input::placeholder{color:rgba(255,255,255,.65)}
.hero-search:focus-within{border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.2);box-shadow:0 0 0 3px rgba(255,255,255,.12)}
.hero-search button{border:0;background:rgba(255,255,255,.18);color:#fff;font-size:13.5px;padding:9px 18px;border-radius:999px;cursor:pointer;white-space:nowrap}
.hero-search button:hover{background:rgba(255,255,255,.3)}
@media (max-width:520px){.hero-search{display:flex;width:100%;margin:12px 0 0}}
/* 内页横幅：整幅背景图 cover 铺满（横幅图统一为 1600x360 宽幅素材，裁切极小）
   左侧深色渐变只做「文字压暗」，向右快速透明，保证是「一整幅图」而不是「右侧贴一小块」
   具体背景图由后台「前台横幅图」注入到 .ph-xxx（见 server.js bannerCSS），未配置时用下面的默认图 */
.page-hero{position:relative;overflow:hidden;color:#fff;padding:82px 0 74px;background-color:#0a2340;background-position:center;background-size:cover;background-repeat:no-repeat}
.page-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(100deg,rgba(8,28,52,.95) 0%,rgba(8,28,52,.92) 40%,rgba(8,28,52,.62) 60%,rgba(8,28,52,.18) 82%,rgba(8,28,52,.02) 100%)}
.page-hero .wrap{position:relative;z-index:1}
.page-hero h1,.page-hero h2{font-size:28px;line-height:1.35;margin:0 0 10px;color:#fff;text-shadow:0 1px 14px rgba(0,0,0,.5)}
.page-hero p{opacity:.94;margin:0;max-width:560px;text-shadow:0 1px 12px rgba(0,0,0,.45)}
.ph-products{background-image:url('../images/banner-products.jpg')}
.ph-downloads{background-image:url('../images/banner-downloads.jpg')}
.ph-about{background-image:url('../images/banner-about.jpg')}
.ph-faq{background-image:url('../images/banner-faq.jpg')}
.ph-contact{background-image:url('../images/banner-contact.jpg')}
.ph-selector{background-image:url('../images/banner-selector.jpg')}
@media(max-width:720px){
  .page-hero{background-size:cover;background-position:center}
  .page-hero::after{background:linear-gradient(120deg,rgba(10,35,64,.93),rgba(10,35,64,.72))}
  .page-hero h2{font-size:23px}
}
.btn{display:inline-block;background:var(--accent);color:#fff;padding:11px 22px;border-radius:8px;font-weight:600;transition:.2s}
.btn:hover{background:#d4741c}
.btn.ghost{background:transparent;border:1px solid rgba(255,255,255,.5)}
section{padding:54px 0}
.section-title{font-size:23px;margin-bottom:8px;color:var(--steel-dark)}
.section-sub{color:var(--muted);margin-bottom:28px}
.grid{display:grid;gap:20px}
.cards{grid-template-columns:repeat(var(--vpr,3),1fr)}
.card{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:16px}
.card h3{font-size:15.5px;line-height:1.42;margin:0 0 6px;color:var(--steel)}
.card .tag{display:inline-block;font-size:12px;background:#eef3f9;color:var(--steel);padding:2px 9px;border-radius:20px;margin-bottom:8px}
.card .meta{font-size:12px;color:var(--muted);margin:0 0 6px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.card p{margin:6px 0 0;font-size:13.5px;line-height:1.6;color:#5a6675;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* 行业资讯卡片：更密集网格，资讯增多时不拥挤（不影响其它 .cards 区域） */
.grid.cards.news-cards{grid-template-columns:repeat(auto-fill,minmax(248px,1fr));gap:14px}
/* 行业资讯页底部：行业服务网站导航（在 news 列表下方展示） */
.ext-links-sec{padding:6px 0 30px}
.ext-links-title{font-size:18px;margin:20px 0 14px;color:var(--steel-dark);font-weight:700}
.ext-links{display:flex;flex-wrap:wrap;gap:10px}
.ext-link{display:inline-flex;align-items:center;padding:9px 16px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--steel);font-size:14px;transition:.15s;box-shadow:0 1px 2px rgba(15,44,74,.04)}
.ext-link:hover{border-color:var(--accent);color:var(--accent);box-shadow:0 4px 14px rgba(232,133,43,.15);transform:translateY(-1px)}
/* 首页「选型知识库 + 行业资讯」双栏：两栏等高、一行一条，比卡片网格更紧凑直观 */
.home-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
/* 两栏区块底部不再留白：下方 CTA 区块自身带 54px 上内边距，避免两段 54px 叠加成约 108px 的整页空隙 */
.sec-cols{padding-bottom:0}
.home-col{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px 22px 16px;box-shadow:0 6px 20px rgba(20,60,110,.05)}
.hc-hd{padding-left:11px;border-left:3px solid var(--accent);margin-bottom:12px}
.hc-title{font-size:19px;line-height:1.3;color:var(--steel-dark);margin:0 0 4px}
.hc-sub{font-size:12.5px;color:var(--muted);margin:0;line-height:1.55}
.hc-list{list-style:none;margin:0;padding:0;flex:1}
.hc-list li{position:relative;display:flex;align-items:baseline;gap:12px;padding:10px 0 10px 16px;border-bottom:1px dashed var(--line);font-size:14px;line-height:1.55}
.hc-list li:last-child{border-bottom:0}
.hc-list li:before{content:"▸";color:var(--accent);position:absolute;left:0;top:10px;font-size:12px;line-height:1.6}
.hc-list a{flex:1;min-width:0;color:var(--ink);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;transition:color .15s}
.hc-list a:hover{color:var(--accent)}
.hc-date{flex:0 0 auto;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.hc-empty{color:var(--muted);font-size:13.5px}
.hc-more{margin:12px 0 0;text-align:right}
.hc-more a{font-size:13px;font-weight:600;color:var(--steel)}
.hc-more a:hover{color:var(--accent)}
@media(max-width:820px){.home-cols{grid-template-columns:1fr;gap:16px}.home-col{padding:18px 18px 14px}}
/* 详情页正文字号放大，提升长文阅读体验 */
.post-body{font-size:16px;line-height:1.85;color:#222}
.post-body h2{font-size:19px;margin:22px 0 10px;color:var(--steel-dark)}
.post-body h3{font-size:16.5px;margin:16px 0 8px;color:var(--steel-dark)}
.post-body p{margin:0 0 13px}
.post-body ul{padding-left:22px;margin:0 0 13px}
.post-body ol{padding-left:22px;margin:0 0 13px}
.post-body li{margin:5px 0;line-height:1.7}
.post-body a{color:var(--steel);text-decoration:underline}
/* 自动内链锚文本：正文关键词自动包成的站内链接（与正文链接观感一致，可一眼辨识） */
.ilink{color:var(--steel);text-decoration:underline;text-underline-offset:2px}
.ilink:hover{color:var(--accent)}
.post .tag{display:inline-block;font-size:13px;font-weight:600;color:#fff;background:linear-gradient(120deg,var(--steel-dark),var(--steel));padding:4px 14px;border-radius:6px;margin-bottom:14px;letter-spacing:1px}
/* 分类管理：一级分组 + 二级内嵌树形 */
.cat-grp{background:#f3f7fb}
.cat-grp td{border-top:2px solid #dbe6f0}
.cat-grp .cnt-badge{display:inline-block;margin-left:10px;font-size:12px;font-weight:600;color:#3b6ea0;background:#e8f0f8;border:1px solid #cfe0ef;padding:1px 9px;border-radius:10px;vertical-align:middle}
.cat-orphan{background:#fdf3f3}
.cat-grp td.ops, .cat-sub td.ops{display:flex;align-items:center;gap:6px;white-space:nowrap}
.cat-grp td.ops .ghost, .cat-sub td.ops .ghost{margin-left:auto}
td.ops .mv{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;line-height:1;font-size:14px;font-weight:700;color:#3b6ea0;background:#fff;border:1px solid #cdd9e6;border-radius:6px;cursor:pointer;padding:0;vertical-align:middle}
td.ops .mv:hover:not([disabled]){background:#e8f0f8;border-color:#9cc0e0}
td.ops .mv[disabled]{color:#c2cdd8;background:#f4f6f8;border-color:#e6ebf0;cursor:not-allowed}
.lv{display:inline-block;font-size:12px;padding:1px 9px;border-radius:10px;font-weight:600}
.lv1{color:#1a7a4c;background:#e6f5ec}
.lv2{color:#a8601f;background:#fbf0e2}
.cat-sub td.sub-cell{position:relative;padding-left:36px;box-shadow:inset 3px 0 0 #d4e0ec}
.cat-sub .tree{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#b8c6d4;font-size:12px}
.cat-empty td{border-top:1px dashed #e2e8ef}
.cat-empty .tree{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#cdd9e6;font-size:12px}
.rel-block{margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.rel-block .rel-title{font-size:15px;color:var(--steel-dark);margin:0 0 12px;font-weight:600}
.rel-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rel-list li{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:14px;padding:10px 14px;background:#f7fafd;border:1px solid var(--line);border-radius:8px;transition:border-color .15s,background .15s}
.rel-list li:hover{background:#eef4fb;border-color:var(--steel)}
.rel-list a{color:var(--steel-dark);text-decoration:none;flex:1;min-width:0}
.rel-list a:hover{color:var(--steel);text-decoration:underline}
.rel-list .rel-date{color:var(--muted);font-size:12px;white-space:nowrap}
.src-block{margin-top:28px;padding:16px 18px;background:#f5f8fc;border:1px solid var(--line);border-radius:10px}
.src-block h4{font-size:14px;color:var(--steel);margin:0 0 10px;letter-spacing:.5px}
.src-block ul{padding-left:20px;margin:0}
.src-block li{margin:6px 0;font-size:13.5px;line-height:1.6}
.src-block a{color:var(--steel);text-decoration:none}
.src-block a:hover{text-decoration:underline}
.src-block .src-site{color:var(--muted);font-size:12px}
/* 后台「编辑文章」表单：参考来源可视化编辑区 */
.src-edit{display:flex;flex-direction:column;gap:8px;margin:6px 0;font-size:15px}
.src-row{display:flex;gap:8px;align-items:center}
/* 仅作用于手动编辑区的文本输入框，绝不可命中 AI 结果里的 checkbox */
.src-row input.src-title,.src-row input.src-url{flex:1 1 auto;min-width:0;padding:9px 11px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:15px;background:#fff;color:#16324c}
/* AI 搜索结果列表：行间距统一由容器 gap 控制，避免与 margin 叠加导致上下间隙不一致 */
#ai_results{display:flex;flex-direction:column;gap:8px}
.src-row input:focus{outline:none;border-color:#9fb6cc;box-shadow:0 0 0 2px rgba(63,110,160,.12)}
.src-row .src-del{flex:0 0 auto;width:32px;height:34px;border:1px solid #e2e8f0;background:#fff;color:#c0392b;border-radius:8px;cursor:pointer;font-size:14px;line-height:1}
.src-row .src-del:hover{background:#fdecea;border-color:#f0b4ab}
.stat{display:flex;gap:30px;flex-wrap:wrap;justify-content:center;padding:10px 0}
.stat-item{text-align:center;min-width:120px}
.stat-item .num{display:block;font-size:42px;font-weight:800;line-height:1.1;color:var(--steel);font-variant-numeric:tabular-nums;transition:opacity .4s}
.stat-item .num.static{font-size:26px;color:var(--accent)}
.stat-item span{display:block;margin-top:8px;color:var(--muted);font-size:14px}
@media(max-width:600px){.stat{gap:18px}.stat-item{min-width:90px}.stat-item .num{font-size:32px}}
.product{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.pcard{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:#fff;transition:.2s}
.pcard:hover{box-shadow:0 6px 20px rgba(20,40,70,.1)}
.pcard .ph{height:190px;background:linear-gradient(135deg,#dfe7f0,#c4d2e2);display:flex;align-items:center;justify-content:center;text-align:center;color:var(--steel);font-size:13px;overflow:hidden;padding:0 14px}
.pcard .ph .ph-name{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;line-height:1.5;word-break:break-all}
.pcard .ph img{width:100%;height:100%;object-fit:cover;display:block}
.pcard .pb{padding:14px}
.pcard .pb h4{font-size:15px;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4;word-break:break-all;min-height:calc(1.4em * 2)}
.pcard .pb .meta{font-size:12px;color:var(--muted);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pcard .pb .stock{font-size:12px;color:#1a9e6b;font-weight:600}
.list li{margin:8px 0;list-style:none;padding-left:18px;position:relative}
.list li:before{content:"▸";color:var(--accent);position:absolute;left:0}
.faq-item{border-bottom:1px solid var(--line);padding:14px 0}
.faq-item h4{font-size:15px;color:var(--steel-dark);margin-bottom:6px}
.faq-item p{color:var(--muted)}
.cta{background:var(--steel);color:#fff;border-radius:var(--radius);padding:34px;text-align:center}
.cta h2{margin-bottom:10px;font-size:22px}
/* 关于我们页「联系我们」CTA：左文右按钮横排，避免大横幅过空 */
.cta.cta-about{display:flex;align-items:center;justify-content:space-between;gap:26px;text-align:left;flex-wrap:wrap;background:linear-gradient(135deg,var(--steel-dark),var(--steel));box-shadow:0 14px 34px rgba(14,44,74,.20);border:none;padding:32px 38px}
.cta-about .cta-about-text{flex:1 1 320px;min-width:0}
.cta-about h2{margin:0 0 7px;font-size:20px;line-height:1.35;color:#fff}
.cta-about p{margin:0;font-size:14.5px;line-height:1.7;color:#dbe6f2;opacity:.92}
.cta-about .btn{flex:0 0 auto;white-space:nowrap;box-shadow:0 6px 16px rgba(232,133,43,.35)}
@media (max-width:600px){.cta.cta-about{text-align:center;justify-content:center}.cta-about .cta-about-text{text-align:center}}
footer.site{background:var(--steel-dark);color:#cdd7e3;padding:34px 0;font-size:13px}
footer .cols{display:grid;grid-template-columns:auto auto auto auto auto;gap:30px;justify-content:space-between;align-items:start}
footer .cols>:first-child{max-width:460px}
footer h5{color:#fff;margin-bottom:10px;font-size:14px}
footer a{opacity:.85}
footer .filing{margin-top:30px;padding-top:18px;border-top:1px solid rgba(255,255,255,.22);font-size:12px;color:#9fb0c4;display:flex;flex-wrap:wrap;align-items:center}
footer .filing>:not(:first-child){border-left:1px solid rgba(255,255,255,.28);padding-left:16px;margin-left:16px}
footer .filing a{color:#9fb0c4;text-decoration:none}
footer .filing a:hover{color:#fff;text-decoration:underline}
footer .filing img.police-badge{width:16px;height:16px;vertical-align:-3px;margin-right:5px;border:0;display:inline-block}
footer .qr-col{display:flex;flex-direction:column;align-items:center;gap:6px}
footer .qr-cap{font-size:12px;color:#9fb0c4;margin-top:2px}
footer .qr{background:#fff;padding:5px;border-radius:8px;width:104px;height:104px;flex:none}
footer .qr img{display:block;width:94px;height:94px}
@media(max-width:1100px){
  footer .cols{grid-template-columns:auto auto auto;gap:18px 30px;justify-content:space-between}
  footer .cols>:first-child{grid-column:1 / -1}
  footer .qr-col{margin-right:78px}
}
/* 实用工具页：换算器卡片（单列全宽卡片，单位两列排布；后续新增工具纵向堆叠） */
/* 仅收窄「主体内容」容器到 1000px（与「关于我们」一致）；页头/页脚的 .wrap 不受影响，保持默认 1180px */
.tools-main{max-width:1000px}
.tools-hero{margin:16px 0 24px;border-radius:14px;overflow:hidden;border:1px solid var(--line);box-shadow:0 6px 20px rgba(20,60,110,.06)}
.tools-hero img{display:block;width:100%;height:240px;object-fit:cover;object-position:center 42%}
.tool-grid{display:grid;gap:24px;margin:8px 0 4px}
.tool-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 24px;box-shadow:0 6px 20px rgba(20,60,110,.06)}
.tool-card h3{font-size:18px;color:var(--steel-dark);margin-bottom:6px}
.tool-desc{color:var(--muted);font-size:13px;margin-bottom:14px}
.trows{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px}
.trow{display:grid;grid-template-columns:1fr 140px;align-items:center;gap:14px;padding:6px 0;border-bottom:1px dashed var(--line)}
.trow:last-child{border-bottom:0}
.tlabel{display:flex;flex-direction:column;line-height:1.25;min-width:0}
.tlabel b{font-size:15px;color:var(--steel-dark)}
.tlabel span{font-size:12px;color:var(--muted)}
.tval{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:14px;text-align:right;background:#fbfdff}
.tval:focus{outline:none;border-color:var(--steel);box-shadow:0 0 0 3px rgba(29,81,133,.12)}
.tval::placeholder{color:#b9c4d1;text-align:right}
.tool-note{color:var(--muted);font-size:13px;margin-top:18px}
/* 钢瓶气态体积换算卡片 */
.cy-form{display:grid;gap:12px;margin:6px 0 2px}
.cy-row{display:grid;grid-template-columns:1fr 280px;align-items:center;gap:14px;padding:6px 0}
.cy-row label{color:var(--steel-dark);font-size:14px}
.cy-in{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:14px;background:#fbfdff}
.cy-in:focus{outline:none;border-color:var(--steel);box-shadow:0 0 0 3px rgba(29,81,133,.12)}
.cy-out{display:grid;gap:10px;margin:16px 0 2px;background:#f4f8fc;border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.cy-out .cy-row{padding:4px 0;grid-template-columns:1fr auto 56px}
.cy-out .cy-row label{font-weight:600}
.cy-out output{font-size:18px;font-weight:700;color:var(--steel);text-align:right}
.cy-unit{color:var(--muted);font-size:13px}
.cy-note{color:var(--muted);font-size:12.5px;line-height:1.6;margin-top:14px}
/* 工具页可见 FAQ 区块（JSON-LD 之外的可见文字，便于用户阅读与 GEO 抓取） */
.tool-faq{margin:26px 0 4px;border-top:1px solid var(--line);padding-top:18px}
.tool-faq-title{font-size:16px;color:var(--steel-dark);margin-bottom:6px}
.tool-faq-sub{font-size:12.5px;color:var(--muted);margin-bottom:8px}
.tool-faq .faq-item{border-bottom:1px dashed var(--line)}
.tool-faq .faq-item:last-child{border-bottom:0}
.tool-faq summary{cursor:pointer;font-size:14px;font-weight:600;color:var(--steel);padding:11px 24px 11px 0;position:relative;list-style:none;line-height:1.5}
.tool-faq summary::-webkit-details-marker{display:none}
.tool-faq summary::after{content:'+';position:absolute;right:4px;top:9px;color:var(--muted);font-weight:400;font-size:17px;line-height:1}
.tool-faq details[open]>summary::after{content:'−'}
.tool-faq details p{font-size:13px;color:var(--muted);line-height:1.75;padding:0 0 12px;margin:0}
@media(max-width:520px){
  .tools-hero img{height:150px}
  .trows{grid-template-columns:1fr}
  .trow{grid-template-columns:1fr 120px;gap:10px}
  .cy-row{grid-template-columns:1fr;gap:6px}
  .cy-out output{text-align:left}
}
.form input,.form select,.form textarea{width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:8px;font:inherit}
.form label{font-size:13px;color:var(--muted)}
.breadcrumb{font-size:13px;color:var(--muted);padding:16px 0}
.breadcrumb a:hover{color:var(--accent)}
.detail{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.spec{width:100%;border-collapse:collapse;font-size:14px}
.spec td{border:1px solid var(--line);padding:9px 12px}
.spec td:first-child{background:#f3f6fa;color:var(--muted);width:34%}
.pill{display:inline-block;background:#eaf6ef;color:#1a9e6b;font-size:12px;padding:3px 10px;border-radius:20px;margin:2px}
.note{background:#fff8ef;border:1px solid #f3d9b0;color:#8a5a12;padding:12px 14px;border-radius:8px;font-size:13px;margin:14px 0}
/* 关于我们正文排版美化（语义化标签 + 渐进增强，不破坏后台富文本编辑） */
.about-card{background:#fff;border:1px solid #e8eef5;border-radius:16px;padding:34px 40px;box-shadow:0 8px 30px rgba(27,58,86,.06)}
.about-body{font-size:15.5px;line-height:1.85;color:#3c4a58}
.about-body>p{margin:0 0 16px}
.about-body>p.lead{font-size:16.5px;line-height:1.95;color:#27323d}
.about-body>h3{position:relative;font-size:17px;line-height:1.4;margin:28px 0 14px;padding-left:14px;color:var(--steel-dark);border-left:4px solid var(--steel)}
.about-body>ul.list{list-style:none;margin:0 0 18px;padding:0}
.about-body>ul.list>li{position:relative;padding:9px 14px 9px 32px;margin-bottom:9px;background:#f5f9fd;border:1px solid #e6eef6;border-radius:9px;line-height:1.65}
.about-body>ul.list>li::before{content:"";position:absolute;left:14px;top:15px;width:7px;height:7px;border-radius:2px;background:var(--steel)}
.about-body>.tag-cloud{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px}
.about-body>.tag-cloud>.tag{display:inline-block;padding:7px 15px;border-radius:999px;background:linear-gradient(135deg,#eaf2fa,#f6fafe);border:1px solid #d8e6f2;color:var(--steel-dark);font-size:13.5px;font-weight:600}
.about-body>p.cta{margin-top:22px}
/* 全国业务覆盖范围地图 */
.about-body>p.lead-sm{font-size:14.5px;color:#5a6776;line-height:1.8}
.coverage-legend{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:0 0 10px;font-size:13px;color:#5a6776}
.coverage-legend .lg{display:inline-flex;align-items:center;gap:7px}
.coverage-legend .dot{width:12px;height:12px;border-radius:50%}
.coverage-legend .dot.origin{background:#E8852B}
.coverage-legend .dot.city{background:#1d4e74}
.coverage-legend .line{width:22px;height:0;border-top:2px solid #E8852B;opacity:.7}
.coverage-map-wrap{margin:6px 0 22px;border:1px solid #e6eef6;border-radius:14px;overflow:hidden;box-shadow:0 8px 26px rgba(27,58,86,.07)}
#coverageMap{width:100%;height:460px;background:#eaf1f8}
#coverageMap.map-fallback-box{display:flex;align-items:center;justify-content:center;height:220px;background:#f5f9fd}
.map-fallback{text-align:center;color:#3c4a58;padding:20px}
.map-fallback strong{display:block;font-size:17px;margin-bottom:8px;color:var(--steel-dark)}
.map-fallback p{margin:4px 0;font-size:14px}
.map-fallback-sub{color:#8aa0b4;font-size:12.5px}
.cov-label{background:rgba(255,255,255,.92);border:1px solid #d6e2ee;border-radius:6px;padding:1px 6px;font-size:11px;color:#2b3947;white-space:nowrap;box-shadow:0 1px 3px rgba(0,0,0,.08)}
.cov-label-origin{background:#E8852B;color:#fff;border-color:#cf7320;font-weight:700;font-size:12px}
@media (max-width:600px){#coverageMap{height:340px}}
/* 产品分类导航与分区：吸顶浮动（贴在 64px 主导航下），浏览产品时可随时切换分类 */
.cat-nav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:64px;z-index:40;box-shadow:0 4px 14px rgba(20,40,70,.06)}
/* 资料下载列表 */
.dl-group{padding:18px 0;border-bottom:1px solid var(--line)}
.dl-group:last-of-type{border-bottom:0}
/* 两列紧凑列表：每行两个条目，小图标 + 名称/大小描述 + 右侧下载按钮。
   图标与按钮分居两端，大小作为文字行的一部分，不再单独夹在两块色块之间。 */
.dl-list{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
.dl-item{display:flex;align-items:center;gap:11px;min-width:0;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#fff;text-decoration:none;color:inherit;transition:.18s}
.dl-item:hover{border-color:var(--steel);box-shadow:0 4px 14px rgba(20,60,110,.09)}
.dl-ext{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:40px;height:42px;border-radius:7px;font-size:10.5px;font-weight:800;color:#fff;letter-spacing:.3px}
.dl-ext.e-red{background:#c0392b}.dl-ext.e-blue{background:#2b6cb0}.dl-ext.e-green{background:#2e7d32}.dl-ext.e-orange{background:#e06a15}.dl-ext.e-purple{background:#7b3fb8}.dl-ext.e-brown{background:#8a5a2b}.dl-ext.e-teal{background:#0f7d8a}.dl-ext.e-slate{background:#5b6b7c}
.dl-body{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.dl-name{font-size:14px;font-weight:600;line-height:1.4;color:#16324c;word-break:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.dl-meta{font-size:12px;line-height:1.5;color:#7b8ea0;word-break:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.dl-go{flex:0 0 auto;padding:6px 13px;border-radius:7px;background:#eef4fa;color:#2f6ea8;font-size:12.5px;font-weight:600;white-space:nowrap;transition:.18s}
.dl-item:hover .dl-go{background:var(--steel);color:#fff}
.dl-item.locked .dl-go{background:#fff4e6;color:#c96a12}
.dl-item.locked:hover .dl-go{background:#e06a15;color:#fff}
/* 窄屏：两列变单列 */
@media(max-width:680px){
  .dl-list{grid-template-columns:1fr}
}
.cat-nav .wrap{display:flex;flex-wrap:wrap;gap:6px;padding:10px 20px}
.cat-nav a{font-size:13px;color:var(--steel);background:#eef3f9;padding:5px 12px;border-radius:20px;transition:.2s}
.cat-nav a:hover{background:var(--accent);color:#fff}
/* 产品分类区块：左右两栏（左=分类信息吸顶，右=产品卡），没产品的分类也铺满整行 */
.cat-cols{display:grid;grid-template-columns:320px minmax(0,1fr);gap:30px;align-items:start}
.cat-side{position:sticky;top:128px}
/* 产品中心两栏布局：右栏产品卡按内容宽自适应列数（与首页卡片同比例，避免窄卡竖版占位图） */
.cat-main .product{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.cat-side .cat-desc{max-width:none}
.cat-side .cat-more{margin-top:14px}
.product .cat-more{grid-column:1/-1;border:1px dashed #c8d6e5;border-radius:10px;padding:20px 16px;text-align:center;color:#7a8fa3;background:#fbfdff;margin:0}
@media(max-width:900px){.cat-cols{grid-template-columns:1fr}.cat-side{position:static}}
.cat{padding:34px 0;border-bottom:1px solid var(--line);scroll-margin-top:120px}
.cat-title{font-size:20px;color:var(--steel-dark);margin-bottom:8px}
.cat-en{font-size:13px;color:var(--muted);font-weight:400;margin-left:8px}
.cat-desc{color:var(--ink);margin-bottom:10px;max-width:840px}
.cat-meta{font-size:13px;color:var(--muted);background:#eef3f9;display:inline-block;padding:5px 12px;border-radius:6px;margin-bottom:18px}
.cat-more{font-size:13px;margin-top:14px}
.cat-more a{color:var(--accent);font-weight:600}
.cat-more a:hover{text-decoration:underline}
@media(max-width:860px){
  .nav ul{display:none;position:absolute;top:64px;left:0;right:0;background:var(--steel);flex-direction:column;padding:14px 20px;gap:14px}
  .nav ul.open{display:flex}
  .menu-btn{display:block}
  .cards,.product{grid-template-columns:repeat(2,1fr)}
  .detail{grid-template-columns:1fr}
  .stat{gap:18px}
  footer .cols{grid-template-columns:auto auto auto;gap:18px 30px;justify-content:space-between}
  footer .cols>:first-child{grid-column:1 / -1}
  footer .qr-col{margin-right:78px}
}
@media(max-width:520px){
  footer .cols{grid-template-columns:1fr 1fr;gap:18px;justify-content:start}
  footer .cols>:first-child{grid-column:1 / -1}
  footer .qr-col{grid-column:1 / -1;align-items:center;margin-top:6px;margin-right:0;text-align:center}
}
/* 一键置顶 / 置底悬浮按钮（全站通用，由 app.js 注入；右下角堆叠在 AI 顾问按钮上方） */
.float-btns{position:fixed;right:25px;bottom:92px;z-index:90;display:flex;flex-direction:column;gap:14px}
.float-btn{width:46px;height:46px;border:0;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;background:linear-gradient(145deg,#1d5185,#0e2c4a);box-shadow:0 6px 16px rgba(14,44,74,.38),0 2px 4px rgba(14,44,74,.28),inset 0 1px 0 rgba(255,255,255,.28),inset 0 -2px 4px rgba(0,0,0,.18);filter:drop-shadow(0 1px 1px rgba(0,0,0,.25));transition:transform .2s,box-shadow .2s,opacity .3s,filter .2s;opacity:.95}
.float-btn svg{filter:drop-shadow(0 1px 1px rgba(0,0,0,.35))}
.float-btn:hover{background:linear-gradient(145deg,#f29544,#d4741c);transform:translateY(-3px) scale(1.05);box-shadow:0 10px 22px rgba(232,133,43,.45),0 3px 6px rgba(232,133,43,.35),inset 0 1px 0 rgba(255,255,255,.38),inset 0 -2px 4px rgba(0,0,0,.15);opacity:1}
.float-btn:active{transform:translateY(-1px) scale(.98);box-shadow:0 4px 10px rgba(14,44,74,.4),inset 0 1px 0 rgba(255,255,255,.28)}
.float-top{opacity:0;transform:translateY(12px) scale(.9);pointer-events:none}
.float-top.show{opacity:.95;transform:translateY(0) scale(1);pointer-events:auto}
.float-top.show:hover{opacity:1}
@media(max-width:600px){.float-btns{right:27px;bottom:84px;gap:12px}.float-btn{width:42px;height:42px}}

/* ===== 首页媒体栏目（视频/图片 + 遮罩 + 左右结构 + 拖拽定位）===== */
/* 媒体栏目（banner）上方留出垂直间隙，使其与上方区块（导航/Hero/内容区）分隔开，
   不再紧贴。下方间距由相邻 section 的 padding 提供，这里只补上方。 */
.media-zone{margin:28px 0 0;padding:0}
.media-zone:empty{display:none}
/* 媒体块必须通栏通高：显式清掉全局 section{padding:54px 0}，否则视频上下会多出 54px 深色留白、高度设置也不准 */
.mblock{position:relative;width:100%;overflow:hidden;background:#0b2238;min-height:var(--mb-h,360px);border-radius:0;padding:0}
.mblock .mb-media{position:absolute;inset:0;width:100%;height:100%;object-fit:var(--mb-fit,cover);display:block;z-index:1}
.mblock .mb-mask{position:absolute;inset:0;background:var(--mb-maskbg,rgba(0,0,0,.45));opacity:var(--mb-maskop,.45);z-index:2;pointer-events:none}
.mblock .mb-text{position:absolute;left:var(--mb-x,50%);top:var(--mb-y,50%);transform:translate(-50%,-50%);width:max-content;max-width:var(--mb-tmax,92%);color:var(--mb-color,#fff);z-index:3;text-shadow:0 1px 3px rgba(0,0,0,.85),0 2px 14px rgba(0,0,0,.55);padding:8px}
.mblock .mb-text h2{font-size:calc(var(--mb-tsize,clamp(22px,3.4vw,42px)) * var(--mb-sfit-t,1));margin:0 0 12px;line-height:1.18;font-weight:800;color:var(--mb-tcolor,var(--mb-color,#fff))}
.mblock .mb-text p{font-size:calc(var(--mb-ssize,clamp(15px,1.7vw,21px)) * var(--mb-sfit,1));margin:0;opacity:.96;line-height:1.5;white-space:pre-wrap;color:var(--mb-scolor,var(--mb-color,#fff))}
.mblock.overlay .mb-text{width:max-content;max-width:var(--mb-tmax,92%);text-align:var(--mb-align,center)}
/* 左右结构：左右两幅媒体 + 文字浮层覆盖整幅 */
.mblock.side{display:grid;grid-template-columns:1fr 1fr;min-height:var(--mb-h,380px)}
/* A 方案「文字侧占比」：--mb-side 为文字侧（文字侧背景所在栏）宽度占比。
   order 决定左右：text-left 时 side-2 在左、side-main 在右；text-right 反之。 */
.mblock.side.text-left{grid-template-columns:var(--mb-side,50%) 1fr}
.mblock.side.text-right{grid-template-columns:1fr var(--mb-side,50%)}
.mblock.side .mb-side{position:relative;min-height:var(--mb-h,380px);overflow:hidden}
.mblock.side .mb-media{position:absolute;inset:0;width:100%;height:100%;object-fit:var(--mb-fit,cover);z-index:1}
.mblock.side .mb-mask{position:absolute;inset:0;background:var(--mb-maskbg,rgba(0,0,0,.45));opacity:var(--mb-maskop,.45);z-index:2;pointer-events:none}
.mblock.side .mb-mask2{position:absolute;inset:0;background:var(--mb-maskbg2,transparent);opacity:var(--mb-maskop2,0);z-index:2;pointer-events:none}
.mblock.side .side-empty{background:linear-gradient(135deg,#16324f,#0b2238)}
/* 分栏：文字块以自身中心定位（拖拽 X/Y 语义不变）。
   宽度上限 = 文字所在那一栏（文字侧背景栏）的宽度减 2%，文字永远留在自己那一栏内，
   不跨到另一栏画面上；行宽超出栏宽时由 B 方案先缩字号，实在放不下才折行（pre-wrap），
   作者手打的换行仍优先保留。 */
.mblock.side .mb-text{position:absolute;left:var(--mb-x,50%);top:var(--mb-y,50%);transform:translate(-50%,-50%);width:max-content;max-width:calc(var(--mb-side,50%) - 2%);text-align:var(--mb-align,center);color:var(--mb-color,#fff);z-index:3;padding:8px}
.mblock.side.text-left .side-main{order:2}
.mblock.side.text-left .side-2{order:1}
.mblock.side.text-right .side-main{order:1}
.mblock.side.text-right .side-2{order:2}
/* 标准宽：与中间内容同宽并居中 */
.mblock.w-wrap{max-width:1140px;width:calc(100% - 40px);margin:0 auto;border-radius:14px}
@media(max-width:760px){
  .mblock{min-height:min(var(--mb-h,360px),300px)}
  .mblock.side{grid-template-columns:1fr;min-height:min(var(--mb-h,380px),300px)}
  /* 窄屏上下堆叠：分栏列宽还原为单列（覆盖 text-left/text-right 的占比列宽） */
  .mblock.side.text-left,.mblock.side.text-right{grid-template-columns:1fr}
  /* 堆叠后不再分栏，文字可用整幅宽度（92%），否则会被 48% 的栏宽上限逼成多行 */
  .mblock.side .mb-text{max-width:92%}
  .mblock.side .mb-side{min-height:min(var(--mb-h,380px),240px)}
  .mblock.side .side-main{order:1!important}
  .mblock.side .side-2{order:2!important;min-height:min(var(--mb-h,380px),220px)}
  .mblock.overlay .mb-text{max-width:90%}
  /* 窄屏兜底：作者手打的换行保留，但过长行仍自动折行，避免横向溢出 */
  .mblock .mb-text p{white-space:pre-wrap}
}

/* ===== 图片水印（站点配置可开关，CSS 叠加而非烘焙进原图）===== */
.wm-host{position:relative;overflow:hidden}
.wm-img{position:absolute;transform:translate(-50%,-50%);pointer-events:none;user-select:none;-webkit-user-drag:none;z-index:2;max-width:none;height:auto;display:block}
.wm-text{position:absolute;transform:translate(-50%,-50%);pointer-events:none;user-select:none;white-space:nowrap;font-weight:700;letter-spacing:.02em;line-height:1;z-index:2;text-shadow:0 1px 3px rgba(0,0,0,.4)}
.wm-tile{position:absolute;inset:0;background-repeat:repeat;pointer-events:none;z-index:2}
.wm-inline{display:inline-block;max-width:100%;vertical-align:top}
/* 文章正文里的图片水印容器：宽度跟随图片，不改变原有排版 */
.post-body .wm-inline{line-height:0}
.post-body .wm-inline>img{margin:0}

/* ===== 资料下载：授权码锁标识与解锁弹窗 ===== */
.dl-lock{display:inline-block;padding:2px 8px;border-radius:10px;background:#fff4e6;color:#c96a12;border:1px solid #f6d9b6;font-size:11.5px;font-weight:600;white-space:nowrap;flex:0 0 auto}
.dl-item.locked{position:relative}
.dl-item.locked .dl-ext{opacity:.85}
.dl-mask{position:fixed;inset:0;background:rgba(10,26,42,.55);z-index:9998;align-items:center;justify-content:center;padding:16px}
.dl-box{width:100%;max-width:380px;background:#fff;border-radius:14px;padding:22px 22px 16px;box-shadow:0 24px 60px rgba(8,24,40,.32);position:relative}
/* 弹窗右上角关闭叉号 */
.dl-close{position:absolute;top:10px;right:10px;width:32px;height:32px;border:none;background:transparent;border-radius:8px;font-size:22px;line-height:1;color:#8ba0b3;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}
.dl-close:hover{background:#f2f7fc;color:#16324c}
.dl-box h4{margin:0 0 6px;font-size:17px;color:#16324c}
.dl-box .dl-tip{margin:0 0 12px;font-size:13px;color:#6b7f92;word-break:break-all}
.dl-box .dl-input{width:100%;box-sizing:border-box;padding:10px 12px;border:1px solid #d6e2ee;border-radius:8px;font-size:14px;letter-spacing:.06em;text-transform:uppercase;outline:none}
.dl-box .dl-input:focus{border-color:#3b6ea0;box-shadow:0 0 0 3px rgba(59,110,160,.12)}
.dl-box .dl-err{min-height:18px;margin-top:6px;font-size:12.5px;color:#d9483b}
.dl-box .dl-btns{display:flex;gap:10px;justify-content:flex-end;margin-top:8px}
/* 弹窗内按钮统一规格：ghost 在白底可见、两按钮等宽一行 */
.dl-box .dl-btns .btn{flex:1;text-align:center;white-space:nowrap;padding:10px 12px;font-size:14px}
.dl-box .btn.ghost{background:#fff;border:1px solid #cdd9e6;color:#33506b}
.dl-box .btn.ghost:hover{background:#f2f7fc;border-color:#9fb6cc;color:#16324c}
.dl-box .dl-note{margin:12px 0 0;font-size:12.5px;color:#6b7f92;text-align:center}
.dl-box .dl-note a{color:#2f6ea8}
/* 付费获取授权码弹窗：表单 / 收款码 */
.dl-order-box{max-width:420px;max-height:92vh;overflow:auto}
.dl-f2{margin-bottom:10px}
.dl-f2 label{display:block;font-size:12.5px;color:#5b7186;margin-bottom:4px;font-weight:600}
.dl-f2 .dl-hint{font-weight:400;color:#93a5b6;margin-left:6px}
.dl-box .dl-input-txt{text-transform:none;letter-spacing:0}
.dl-pay-amt{text-align:center;font-size:14px;color:#5b7186;margin-bottom:10px}
.dl-pay-amt b{font-size:24px;color:#c96a12;font-weight:800;margin-left:4px}
.dl-qr-wrap{width:200px;max-width:70%;margin:0 auto 10px;border:1px solid #e2ecf5;border-radius:10px;padding:8px;background:#fff}
.dl-pay-note{margin:0 0 8px;font-size:12.5px;color:#6b7f92;text-align:center}
.dl-pay-order{margin:0 0 10px;font-size:12.5px;color:#5b7186;text-align:center}
.dl-pay-order b{font-family:Consolas,Menlo,monospace;color:#1b5a92;letter-spacing:.5px}
.dl-pay-tip{background:#fff8ec;border:1px solid #f6dfb8;border-radius:8px;padding:9px 11px;font-size:12.5px;color:#8a6320;line-height:1.6}
/* 前台资料下载搜索 */
.dl-search{position:relative;max-width:440px;margin:0}
.dl-search .dl-search-ico{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:rgba(255,255,255,.85);font-size:14px;pointer-events:none;z-index:1}
.dl-search input{width:100%;box-sizing:border-box;padding:11px 14px 11px 38px;border:1px solid rgba(255,255,255,.28);border-radius:10px;font-size:14px;outline:none;background:rgba(255,255,255,.14);color:#fff}
.dl-search input::placeholder{color:rgba(255,255,255,.65)}
.dl-search input:focus{border-color:rgba(255,255,255,.55);background:rgba(255,255,255,.2);box-shadow:0 0 0 3px rgba(255,255,255,.12)}
.dl-hidden{display:none!important}
/* 页内搜索（浅色版：选型知识 / 行业资讯） */
.srch-box{position:relative;max-width:440px;margin:0 0 16px}
.srch-box .dl-search-ico{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#9bb0c4;font-size:14px;pointer-events:none;z-index:1}
.srch-box input{width:100%;box-sizing:border-box;padding:10px 14px 10px 36px;border:1px solid #d6e2ee;border-radius:10px;font-size:14px;outline:none;background:#fff}
.srch-box input:focus{border-color:#3b6ea0;box-shadow:0 0 0 3px rgba(59,110,160,.12)}
/* 获取授权码弹窗：直接输入授权码入口（与按钮同行、更醒目） */
.dl-btns-split{justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.dl-has-code{display:block;width:100%;box-sizing:border-box;text-align:center;color:#2f6ea8;font-size:14px;font-weight:600;text-decoration:none;border:1px solid #cfe0f0;padding:11px 13px;border-radius:8px;background:#f3f8fd;white-space:nowrap}
.dl-has-code:hover{background:#e8f1fb}
.dl-btns-right{display:flex;gap:10px;margin-left:auto}
/* 授权码管理：最近下载记录（真表格，列对齐由浏览器原生保证） */
.dlg-table{width:100%;border-collapse:collapse;table-layout:fixed}
.dlg-table th,.dlg-table td{padding:7px 4px;border-bottom:1px solid #eef2f6;font-size:12.5px;text-align:right;color:#7a8fa3;vertical-align:top;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dlg-table th{color:#9aa9b8;font-weight:600;font-size:12px;border-bottom:1px solid #dde5ee}
.dlg-table td:first-child,.dlg-table th:first-child{text-align:left;color:#33506b;font-size:13px;white-space:normal;overflow:visible;text-overflow:initial}
