@charset "utf-8";
/* ==================================================================
   苏州飓嘉澄科技有限公司 · 内页样式
   依赖 css/home.css（设计变量 --ink / --gold / --wrap / --ease 均来自它）
   只写内页专属的版式，不重复首页已有内容
   ================================================================== */

/* ---------- 浅色背景上的线框按钮 ---------- */
.btn-dark{border:1px solid rgba(12,20,17,.22);color:var(--ink);background:transparent;}
.btn-dark:hover{border-color:var(--gold);color:var(--gold);transform:translateY(-3px);}

/* ---------- 区块通用 ---------- */
.sec-hd{margin-bottom:52px;}
.sec-hd h2{font-size:clamp(28px,3.2vw,40px);font-weight:600;letter-spacing:.02em;line-height:1.3;}
.sec-hd .kicker{margin-bottom:14px;}

.pnote{margin-top:26px;font-size:13.5px;line-height:1.9;color:var(--muted);}

/* ==================================================================
   内页头部（深墨绿通栏）
   ================================================================== */
.phd{
  position:relative;overflow:hidden;
  background:
    radial-gradient(900px 460px at 82% -10%, color-mix(in srgb, var(--gold) .20, transparent), transparent 62%),
    linear-gradient(160deg,var(--ink) 0%, var(--ink2) 58%, var(--ink3) 100%);
  padding:76px 0 88px;
}
.phd::after{
  content:'';position:absolute;inset:0;pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,.028) 1px,transparent 1px),
                   linear-gradient(90deg,rgba(255,255,255,.028) 1px,transparent 1px);
  background-size:64px 64px;
}
.phd>.wrap{position:relative;z-index:2;}

/* 面包屑 */
.crumb{display:flex;align-items:center;gap:10px;font-size:13px;color:rgba(255,255,255,.45);margin-bottom:46px;}
.crumb a{color:rgba(255,255,255,.62);transition:color .3s;}
.crumb a:hover{color:var(--gold2);}
.crumb i{font-style:normal;color:rgba(255,255,255,.22);}
.crumb span{color:rgba(255,255,255,.85);}

/* 头部文字 */
.phd-tx{max-width:820px;}
.phd-tx h1,.phd-tx h2{font-size:clamp(34px,4.4vw,56px);font-weight:600;color:#fff;line-height:1.16;letter-spacing:.01em;margin-bottom:20px;}
.phd-tx .desc{font-size:16.5px;line-height:2;color:rgba(255,255,255,.72);max-width:720px;}

/* 头部数字条 */
.phd-stat{display:flex;flex-wrap:wrap;gap:0;margin-top:54px;border-top:1px solid var(--line2);padding-top:30px;}
.phd-stat li{padding-right:56px;margin-right:56px;border-right:1px solid var(--line2);}
.phd-stat li:last-child{border-right:0;margin-right:0;padding-right:0;}
.phd-stat b{display:block;font-size:clamp(26px,3vw,38px);font-weight:600;color:var(--gold);line-height:1.1;letter-spacing:.01em;}
.phd-stat span{display:block;margin-top:8px;font-size:13px;color:rgba(255,255,255,.5);letter-spacing:.06em;}

/* ==================================================================
   产品列表
   ================================================================== */
.plist{background:var(--paper2);padding:92px 0 100px;}

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

.pcard{
  display:flex;flex-direction:column;background:var(--paper);
  border:1px solid var(--line);overflow:hidden;
  /* 防串味：全局 home.css 的首页图标卡 .pcard 自带 padding:44px 38px 40px，
     会漏到本页图片卡上导致图片四周出白边，这里显式归零（page.css 后加载，同权重覆盖） */
  padding:0;
  transition:transform .5s var(--ease), box-shadow .5s var(--ease), border-color .4s var(--ease);
}
.pcard:hover{transform:translateY(-8px);box-shadow:0 28px 60px rgba(12,20,17,.13);border-color:color-mix(in srgb, var(--gold) .42, transparent);}

/* 卡片图区 */
.pc-pic{position:relative;aspect-ratio:4/3;overflow:hidden;background:var(--ink2);}
.pc-pic img{width:100%;height:100%;object-fit:cover;transition:transform 1.1s var(--ease);}
.pcard:hover .pc-pic img{transform:scale(1.07);}
.pc-pic::after{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(12,20,17,.72),rgba(12,20,17,.06) 62%);}

/* 线稿图标浮在图上 */
.pc-ico{position:absolute;left:24px;bottom:22px;z-index:2;color:var(--gold2);opacity:.95;}
.pc-ico svg{width:52px;height:52px;}

/* 分类角标 */
.pc-cat{
  position:absolute;right:18px;top:18px;z-index:2;
  padding:9px 22px;font-size:14.5px;font-weight:600;letter-spacing:.08em;color:var(--ink);
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  border-radius:999px; /* v20261007x：角标也统一胶囊 */
  box-shadow:0 4px 14px -6px rgba(0,0,0,.5);
}

/* 卡片文字 */
.pc-tx{position:relative;padding:30px 30px 32px;display:flex;flex-direction:column;flex:1;}
.pc-no{
  position:absolute;right:26px;top:24px;
  font-size:34px;font-weight:600;color:rgba(12,20,17,.07);line-height:1;letter-spacing:.02em;
}
.pc-tx h3{font-size:21px;font-weight:600;color:var(--text);letter-spacing:.01em;margin-bottom:6px;}
.pc-en{display:block;font-size:11px;letter-spacing:.2em;color:var(--gold);margin-bottom:16px;text-transform:uppercase;}
.pc-tx p{font-size:14.5px;line-height:1.95;color:var(--muted);flex:1;}

.pc-tags{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 22px;}
.pc-tags em{
  font-style:normal;font-size:12px;letter-spacing:.02em;color:var(--green);
  padding:5px 11px;border:1px solid rgba(46,90,74,.24);background:rgba(46,90,74,.055);
  border-radius:999px; /* v20261007x：标签统一胶囊圆角（原直角），全主题生效 */
}

.pc-more{
  display:inline-flex;align-items:center;gap:9px;
  font-size:14px;font-weight:600;color:var(--ink);letter-spacing:.02em;
  padding-top:20px;border-top:1px solid var(--line);
}
.pc-more i{font-style:normal;color:var(--gold);transition:transform .35s var(--ease);}
.pcard:hover .pc-more i{transform:translateX(6px);}
.pcard:hover .pc-more{color:var(--gold);}

/* ==================================================================
   详情页头部
   ================================================================== */
.pdh{padding:64px 0 82px;}
.pdh-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:46px;align-items:start;}

.pdh-tx h1{font-size:clamp(32px,4vw,50px);font-weight:600;color:#fff;line-height:1.18;margin-bottom:10px;}
.pdh-tx .en{display:block;font-size:12px;letter-spacing:.26em;color:rgba(255,255,255,.4);margin-bottom:24px;text-transform:uppercase;}
.pdh-tx .lead{font-size:16px;line-height:2.05;color:rgba(255,255,255,.74);max-width:640px;}

.pdh-tags{display:flex;flex-wrap:wrap;gap:9px;margin:28px 0 34px;}
.pdh-tags em{
  font-style:normal;font-size:12.5px;letter-spacing:.03em;color:var(--gold2);
  padding:7px 14px;border:1px solid color-mix(in srgb, var(--gold) .34, transparent);background:color-mix(in srgb, var(--gold) .09, transparent);
  border-radius:999px; /* v20261007x */
}

.pdh-btns{display:flex;gap:14px;flex-wrap:wrap;}

/* Hero 左下微信二维码卡（v20260928b）：白卡+金边贴墨绿底，复用顶栏 top_wx_img；
   后台换二维码图这里自动同步。无图时不渲染（PHP 侧判断）。
   2026-09-28 用户要求放大：二维码 96→140px，文字同步加大。 */
.pdh-qr{
  margin-top:26px;display:inline-flex;align-items:center;gap:16px;
  background:rgba(255,255,255,.97);border:1px solid color-mix(in srgb, var(--gold) .55, transparent);
  padding:12px 22px 12px 12px;box-shadow:0 16px 36px rgba(0,0,0,.30);
}
.pdh-qr img{width:140px;height:140px;display:block;background:#fff;}
.pdh-qr .t{font-size:15.5px;font-weight:700;color:#16241D;line-height:1.45;}
.pdh-qr .t span{display:block;font-size:12.5px;font-weight:400;color:#75827B;margin-top:4px;letter-spacing:.02em;}
@media (max-width:760px){.pdh-qr{margin-top:20px;}.pdh-qr img{width:116px;height:116px;}}

.pdh-pic{border:1px solid var(--line2);overflow:hidden;aspect-ratio:4/3;background:rgba(255,255,255,.03);}
.pdh-pic img{width:100%;height:100%;object-fit:cover;display:block;}

/* ==================================================================
   技术参数
   ================================================================== */
.pspec{background:var(--paper);padding:40px 0 96px;}
.spec-wrap{border-top:2px solid var(--ink);}
.spec{width:100%;border-collapse:collapse;}
.spec tr{border-bottom:1px solid var(--line);transition:background .3s;}
.spec tr:hover{background:var(--paper2);}
.spec th{
  width:180px;text-align:left;vertical-align:top;
  padding:22px 28px 22px 0;font-size:15px;font-weight:600;color:var(--text);
  white-space:nowrap;letter-spacing:.02em;
}
.spec td{padding:22px 0;font-size:15px;line-height:1.9;color:var(--muted);}

/* ==================================================================
   为什么好用（深墨绿）
   ================================================================== */
.pwhy{
  background:linear-gradient(160deg,var(--ink) 0%,var(--ink2) 100%);
  padding:92px 0 24px;
}
.pwhy .sec-hd h2{color:#fff;}

.ptgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.pt{
  padding:40px 34px;border:1px solid var(--line2);
  background:rgba(255,255,255,.028);
  transition:border-color .4s var(--ease), background .4s var(--ease), transform .5s var(--ease);
}
.pt:hover{border-color:color-mix(in srgb, var(--gold) .4, transparent);background:color-mix(in srgb, var(--gold) .055, transparent);transform:translateY(-6px);}
.pt-no{
  display:block;font-size:13px;font-weight:600;letter-spacing:.24em;
  color:var(--gold);margin-bottom:20px;
}
.pt h3{font-size:19px;font-weight:600;color:#fff;margin-bottom:14px;line-height:1.5;}
.pt p{font-size:14.5px;line-height:2;color:rgba(255,255,255,.62);}

/* 适用场景 */
.scene{margin-top:56px;padding-top:40px;border-top:1px solid var(--line2);}
.scene h4{font-size:15px;font-weight:600;color:#fff;margin-bottom:20px;letter-spacing:.04em;}
.scene-tags{display:flex;flex-wrap:wrap;gap:10px;}
.scene-tags em{
  font-style:normal;font-size:13.5px;color:rgba(255,255,255,.78);
  padding:9px 18px;border:1px solid var(--line2);background:rgba(255,255,255,.03);
  border-radius:999px; /* v20261007x */
  transition:all .35s var(--ease);
}
.scene-tags em:hover{border-color:var(--gold);color:var(--gold2);}

/* ==================================================================
   图集
   ================================================================== */
.pgal{background:var(--paper);padding:88px 0 92px;}
.gal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;}
.gal{overflow:hidden;aspect-ratio:16/10;background:var(--paper3);}
.gal img{width:100%;height:100%;object-fit:cover;display:block;transition:transform 1.2s var(--ease);}
.gal:hover img{transform:scale(1.06);}

/* 2026-09-28 图集内联版：紧跟正文区块末尾，不再单独起一个 88px 上间距的 section */
.gal-in-body{margin-top:52px;}
.pwhy .gal-in-body + .pnote{color:rgba(255,255,255,.58);}
@media (max-width:900px){
  .gal-in-body{margin-top:36px;}
}

/* ==================================================================
   其他产品
   ================================================================== */
.pother{background:var(--paper2);padding:90px 0 96px;}
.pgrid-mini{gap:28px;}
.pgrid-mini .pc-tx{padding:26px 26px 28px;}
.pgrid-mini .pc-tx h3{font-size:19px;}
.pgrid-mini .pc-pic{aspect-ratio:16/10;}

/* ==================================================================
   预约 CTA
   ================================================================== */
.pcta{
  background:
    radial-gradient(760px 380px at 20% 0%, color-mix(in srgb, var(--gold) .16, transparent), transparent 60%),
    linear-gradient(150deg,var(--ink) 0%,var(--ink3) 100%);
  padding:88px 0 96px;
}
.pcta-in{display:grid;grid-template-columns:1fr 1fr;gap:68px;align-items:center;}
.pcta-in .tx h2{font-size:clamp(26px,3vw,36px);font-weight:600;color:#fff;line-height:1.35;margin-bottom:18px;}
.pcta-in .tx p{font-size:15.5px;line-height:2;color:rgba(255,255,255,.66);}

.pcta-form .row{display:flex;gap:14px;margin-bottom:14px;}
.pcta-form input,
.pcta-form select{
  flex:1;min-width:0;height:54px;padding:0 18px;
  background:rgba(255,255,255,.06);border:1px solid var(--line2);
  color:#fff;font-size:15px;font-family:inherit;outline:none;
  transition:border-color .3s var(--ease), background .3s var(--ease);
}
.pcta-form input::placeholder{color:rgba(255,255,255,.38);}
.pcta-form select{color:rgba(255,255,255,.8);cursor:pointer;}
.pcta-form select option{color:var(--text);background:#fff;}
.pcta-form input:focus,
.pcta-form select:focus{border-color:var(--gold);background:rgba(255,255,255,.09);}

.pcta-form button{
  flex:1;height:54px;border:0;cursor:pointer;
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:var(--ink);font-size:15.5px;font-weight:600;letter-spacing:.04em;font-family:inherit;
  transition:transform .3s var(--ease), box-shadow .3s var(--ease);
}
.pcta-form button:hover{transform:translateY(-3px);box-shadow:0 16px 34px color-mix(in srgb, var(--gold) .4, transparent);}

.pcta-form .tip{margin-top:6px;font-size:13px;color:rgba(255,255,255,.42);}
.pcta-form .msg{
  display:none;margin-top:14px;padding:13px 18px;font-size:14px;line-height:1.7;
  background:color-mix(in srgb, var(--gold) .13, transparent);border-left:3px solid var(--gold);color:var(--gold2);
}
.pcta-form .msg.show{display:block;}

/* ==================================================================
   响应式
   ================================================================== */
@media (max-width:1200px){
  .pgrid{grid-template-columns:repeat(2,1fr);gap:20px;}
  .phd-stat li{padding-right:38px;margin-right:38px;}
  .pdh-grid{gap:36px;}
}
@media (max-width:980px){
  .phd{padding:58px 0 66px;}
  .crumb{margin-bottom:34px;}
  .phd-stat{margin-top:40px;}
  .phd-stat li{padding-right:26px;margin-right:26px;}
  .plist,.pspec,.pwhy,.pgal,.pother,.pcta{padding:64px 0 70px;}
  .pdh-grid{grid-template-columns:1fr;gap:38px;}
  .pcta-in{grid-template-columns:1fr;gap:38px;}
  .ptgrid{grid-template-columns:1fr;gap:20px;}
  .gal-grid{grid-template-columns:1fr;gap:18px;}
  .sec-hd{margin-bottom:38px;}
}
@media (max-width:640px){
  .pgrid{grid-template-columns:1fr;gap:18px;}
  .phd-stat{gap:22px 0;}
  .phd-stat li{padding-right:0;margin-right:0;border-right:0;width:50%;}
  .pcta-form .row{flex-direction:column;gap:12px;}
  .spec th{width:104px;padding:16px 16px 16px 0;font-size:14px;white-space:normal;}
  .spec td{padding:16px 0;font-size:14px;}
  .pc-tx{padding:24px 22px 26px;}
  .pt{padding:30px 24px;}
}

/* ===== v20261006y：阅读次数（案例 / 产品共用，口径同新闻 .art-meta）=====
   - .pdh-meta：详情页头部（product.php / case-detail.php，深色区，数字用金）
   - .pc-meta ：产品卡片（products.php 列表卡与详情页「其他产品」卡）
   - 案例卡片直接复用 cases.css 里已有的 .case-body .meta（同一种视觉，不重复定义）
   ====================================================================== */
.pdh-meta{display:flex;flex-wrap:wrap;align-items:center;gap:7px;font-size:13.5px;color:rgba(255,255,255,.55);margin:16px 0 0;letter-spacing:.02em;}
.pdh-meta b{color:var(--gold2);font-weight:600;font-variant-numeric:tabular-nums;}
.pc-meta{display:flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted);margin:8px 0 2px;letter-spacing:.02em;}
.pc-meta b{color:var(--gold2);font-weight:600;font-variant-numeric:tabular-nums;}

/* ===== v20261007b：分类标签 .ctag
   原「图片左上角/右上角角标」移到标题下方 meta 行，与「阅读 N」同排。
   只用在列表卡（products.php / cases.php）。
   v20261007y：案例卡改白底后两页共用本款。
   v20261007z：实心金渐变底太生硬（老王）→ 改「透明主题色底 + 同色细描边 + 深化主题色文字」，
   轻透不抢画面；--gold 随主题（香槟金/苹果橙/冷蓝），文字自动 mix 深化保证浅底可读。 ===== */
.ctag{
  display:inline-flex;align-items:center;
  font-size:13px;font-weight:600;letter-spacing:.06em;line-height:1.4;
  color:color-mix(in srgb,var(--gold,#C6A15B) 80%,var(--ink,#0C1411));
  background:color-mix(in srgb,var(--gold,#C6A15B) 9%,transparent);
  border:1px solid color-mix(in srgb,var(--gold,#C6A15B) 36%,transparent);
  padding:3px 13px;border-radius:999px;
}

/* ===== v20261008：全站通用列表分页（inc/pager.php）
   服务案例 / 服务产品 / 产品相册 / 新闻资讯 四个列表页共用一套。
   样式与新闻页 .news-pager 保持一致，颜色走主题变量（三套主题自动适配）。 ===== */
.hd-pager{
  display:flex;align-items:center;justify-content:center;flex-wrap:wrap;
  gap:10px;margin-top:46px;
}
.hd-pager .pg-num,.hd-pager .pg-btn{
  min-width:38px;height:38px;padding:0 14px;
  display:inline-flex;align-items:center;justify-content:center;
  border:1px solid var(--line,#E3E7E4);border-radius:4px;
  color:var(--text,#16241D);font-size:14px;text-decoration:none;
  transition:all .22s var(--ease,ease);
}
.hd-pager .pg-num:hover,.hd-pager .pg-btn:hover{
  border-color:var(--gold,#C6A15B);color:var(--gold,#C6A15B);
}
.hd-pager .pg-num.on{
  background:linear-gradient(135deg,var(--gold,#C6A15B),var(--gold2,#E2C795));
  border-color:transparent;color:var(--ink,#0C1411);font-weight:700;
}
.hd-pager .pg-btn.dis{opacity:.42;cursor:default;}
.hd-pager .pg-gap{color:var(--muted,#6E7A74);padding:0 2px;}
.hd-pager .pg-info{margin-left:8px;font-size:12.5px;color:var(--muted,#6E7A74);}
/* 「加载更多」按钮（后台可切换；SEO 上弱于页码导航，默认不用） */
.hd-more{margin-top:44px;text-align:center;}
.hd-more-btn{
  display:inline-block;padding:12px 40px;cursor:pointer;
  border:1px solid var(--gold,#C6A15B);border-radius:4px;background:transparent;
  color:var(--gold,#C6A15B);font-size:14.5px;font-weight:600;letter-spacing:.04em;
  transition:all .25s var(--ease,ease);
}
.hd-more-btn:hover{background:var(--gold,#C6A15B);color:#fff;}
.hd-more-btn[disabled]{opacity:.5;cursor:default;}
.hd-more-tip{margin-top:12px;font-size:13px;color:var(--muted,#6E7A74);}
@media (max-width:640px){
  .hd-pager{gap:7px;margin-top:32px;}
  .hd-pager .pg-num,.hd-pager .pg-btn{min-width:34px;height:34px;padding:0 10px;font-size:13px;}
  .hd-pager .pg-info{width:100%;text-align:center;margin-left:0;}
}

/* ==================================================================
   v20261008h · 列表页 / 详情页 模板管理（后台「主题风格与模板」）
   ------------------------------------------------------------------
   ① cols-2/3/4：每行卡片数（后台可调，四个列表页通用）
   ② no-ds：卡片不显示简介
   ③ .lsb-*：列表页模板「左分类侧栏」（templates/list/sidebar.php）
   ④ .dts-*：详情页模板「左右分栏」（templates/detail/split.php）
   ================================================================== */
.case-grid.cols-2,.pgrid.cols-2,.news-grid.cols-2,.alb-grid.cols-2{grid-template-columns:repeat(2,1fr);}
.case-grid.cols-3,.pgrid.cols-3,.news-grid.cols-3,.alb-grid.cols-3{grid-template-columns:repeat(3,1fr);}
.case-grid.cols-4,.pgrid.cols-4,.news-grid.cols-4,.alb-grid.cols-4{grid-template-columns:repeat(4,1fr);}
.no-ds .ds,.no-ds .pc-tx>p,.no-ds .ndesc,.no-ds .alb-body>p{display:none !important;}

/* 左分类侧栏 */
.lsb{display:grid;grid-template-columns:var(--lsb-side,240px) minmax(0,1fr);gap:34px;align-items:start;}
.lsb-side{position:sticky;top:92px;background:var(--paper,#fff);border:1px solid var(--line,#E9EDEA);border-radius:10px;padding:16px 14px;}
.lsb-h{font-size:13px;font-weight:700;letter-spacing:.08em;color:var(--muted,#6E7A74);padding:0 8px 10px;border-bottom:1px solid var(--line,#E9EDEA);}
.lsb-list{display:flex;flex-direction:column;gap:2px;margin-top:8px;}
.lsb-i{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-radius:6px;font-size:14px;color:var(--ink,#0C1411);transition:background .2s ease,color .2s ease;}
.lsb-i:hover{background:rgba(198,161,91,.10);color:var(--gold,#C6A15B);text-decoration:none;}
.lsb-i.on{background:var(--gold,#C6A15B);color:#fff;font-weight:600;}
.lsb-i .n{font-size:12px;opacity:.72;}
.lsb-main{min-width:0;}

/* 详情页 · 左右分栏 */
.dtsplit{padding-top:52px;}
.dts-top{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:46px;align-items:start;}
.dts-main{background:var(--paper2,#F4F6F4);border-radius:10px;overflow:hidden;}
.dts-main img{width:100%;height:100%;object-fit:cover;display:block;}
.dts-thumbs{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px;}
.dts-th{width:76px;height:76px;padding:0;border:1px solid var(--line,#E9EDEA);border-radius:6px;overflow:hidden;background:none;cursor:pointer;}
.dts-th.on{border:2px solid var(--gold,#C6A15B);}
.dts-th img{width:100%;height:100%;object-fit:cover;display:block;}
.dts-t{margin:0 0 10px;font-size:26px;line-height:1.35;font-weight:700;color:var(--ink,#0C1411);}
.dts-sub{margin:0 0 16px;font-size:15.5px;line-height:1.7;color:var(--muted,#6E7A74);}
.dts-meta{font-size:13.5px;color:var(--muted,#6E7A74);margin-bottom:18px;}
.dts-meta span+span{margin-left:14px;}
.dts-points{margin-bottom:20px;}
.dts-specs{margin-bottom:22px;}
.dts-specs-h{font-size:14px;font-weight:700;margin-bottom:10px;color:var(--ink,#0C1411);}
.dts-specs table{width:100%;border-collapse:collapse;}
.dts-specs th,.dts-specs td{border:1px solid var(--line,#E9EDEA);padding:9px 12px;font-size:14px;text-align:left;vertical-align:top;}
.dts-specs th{width:120px;background:var(--paper2,#F4F6F4);font-weight:600;color:var(--ink,#0C1411);}
.dts-acts{display:flex;gap:12px;flex-wrap:wrap;}
.dts-body{margin-top:46px;font-size:16px;line-height:1.95;color:var(--ink,#0C1411);}
.dts-body img{max-width:100%;height:auto;border-radius:8px;margin:14px 0;}
.dts-pn{margin-top:38px;}

@media (max-width:980px){
  .case-grid.cols-4,.pgrid.cols-4,.news-grid.cols-4,.alb-grid.cols-4{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:860px){
  .lsb{grid-template-columns:1fr;gap:20px;}
  .lsb-side{position:static;}
  .lsb-list{flex-direction:row;flex-wrap:wrap;}
  .dts-top{grid-template-columns:1fr;gap:26px;}
  .dts-t{font-size:22px;}
}
@media (max-width:640px){
  .case-grid.cols-2,.case-grid.cols-3,.case-grid.cols-4,
  .pgrid.cols-2,.pgrid.cols-3,.pgrid.cols-4,
  .news-grid.cols-2,.news-grid.cols-3,.news-grid.cols-4,
  .alb-grid.cols-2,.alb-grid.cols-3,.alb-grid.cols-4{grid-template-columns:1fr;}
  .dts-body{margin-top:30px;font-size:15.5px;}
}

/* v20261008h：详情页图片组每行张数（后台「详情页模板管理」可调） */
.gal-grid.gal-2,.albd-grid.gal-2{grid-template-columns:repeat(2,1fr) !important;}
.gal-grid.gal-3,.albd-grid.gal-3{grid-template-columns:repeat(3,1fr) !important;}
.gal-grid.gal-4,.albd-grid.gal-4{grid-template-columns:repeat(4,1fr) !important;}
.dts-pts{list-style:none;margin:0 0 4px;padding:0;}
.dts-pts li{padding:8px 0 8px 18px;position:relative;font-size:14.5px;line-height:1.7;border-bottom:1px dashed var(--line,#E9EDEA);}
.dts-pts li:before{content:"";position:absolute;left:0;top:15px;width:7px;height:7px;border-radius:50%;background:var(--gold,#C6A15B);}
.dts-pts li b{font-weight:600;margin-right:6px;}
.dts-pts li span{display:block;color:var(--muted,#6E7A74);font-size:13.5px;}
@media (max-width:980px){
  .gal-grid.gal-4,.albd-grid.gal-4{grid-template-columns:repeat(2,1fr) !important;}
}
@media (max-width:640px){
  .gal-grid.gal-3,.gal-grid.gal-4,.albd-grid.gal-3,.albd-grid.gal-4{grid-template-columns:repeat(2,1fr) !important;}
}

/* ==================================================================
   v20261008i · 单页模板管理（独立单页 / 普通单页）
   ------------------------------------------------------------------
   ① .spb-*：独立单页「横幅图文页」模板（templates/page/banner.php）
   ② .spn-*：普通单页「居中窄版」模板（templates/page/narrow.php）
   ③ .sp-placeholder：正文未填写时的占位块（三套单页模板共用）
   ④ .sp-contentwidth-*：修正正文宽度（page_style_class 生成的 class 名
      是 sp-contentwidth-xxx，旧的 .sp-cw-* 与之对不上，故在此补齐）
   ================================================================== */
.sp-placeholder{
  border:1px dashed rgba(12,20,17,.22); border-radius:8px; background:rgba(244,246,244,.6);
  padding:28px 24px; text-align:center; color:var(--muted,#6E7A74); font-size:15px; line-height:1.8;
}
.sp-placeholder p{ margin:0; }
.sp-placeholder .muted{ font-size:13px; margin-top:6px; }
.sp-ph-badge{
  display:inline-block; font-size:11px; letter-spacing:.06em; color:#fff; background:var(--muted,#6E7A74);
  border-radius:10px; padding:2px 10px; margin-bottom:10px;
}

/* 横幅图文页 */
.spb{ position:relative; display:flex; align-items:center; overflow:hidden;
  background:linear-gradient(120deg,#0C1411 0%,#243029 55%,#3A4640 100%); }
.spb-bg{ position:absolute; inset:0; background-size:cover; background-position:center; }
.spb-mask{ position:absolute; inset:0;
  background:linear-gradient(90deg, rgba(12,20,17,.78) 0%, rgba(12,20,17,.45) 60%, rgba(12,20,17,.30) 100%); }
.spb-wrap{ position:relative; z-index:2; width:100%; }
.spb-crumb{ margin-bottom:14px; }
.spb-crumb,.spb-crumb a,.spb-crumb i,.spb-crumb span{ color:rgba(255,255,255,.72); }
.spb-crumb a:hover{ color:#fff; }
.spb-tx h1{ color:#fff; font-size:42px; line-height:1.25; margin:0 0 12px; font-weight:700; }
.spb-tx .kicker{ color:var(--gold,#C6A15B); }
.spb-sub{ color:rgba(255,255,255,.84); font-size:16px; line-height:1.8; margin:0; max-width:640px; }
.spb-center{ text-align:center; }
.spb-center .spb-sub{ margin-left:auto; margin-right:auto; }
.spb-left{ text-align:left; }

/* 居中窄版 */
.spn-hd{ text-align:center; }
.spn-tx{ max-width:820px; margin:0 auto; }
.spn-tx h1{ font-size:34px; line-height:1.3; }
.spn-tx .desc{ font-size:15.5px; line-height:1.8; color:var(--muted,#6E7A74); max-width:680px; }
.spn-center{ text-align:center; }
.spn-center .desc{ margin-left:auto; margin-right:auto; }
.spn-left{ text-align:left; }
.spn-left .desc{ margin-left:0; margin-right:auto; }

/* 正文宽度（content_width：narrow / standard / wide / full） */
.sp-contentwidth-narrow   .sp-content{ max-width:760px; }
.sp-contentwidth-standard .sp-content{ max-width:880px; }
.sp-contentwidth-wide     .sp-content{ max-width:1080px; }
.sp-contentwidth-full     .sp-content{ max-width:none; }

@media (max-width:860px){
  .spb{ height:300px !important; }
  .spb-tx h1{ font-size:28px; }
  .spb-sub{ font-size:14.5px; }
  .spn-tx h1{ font-size:26px; }
}
