/* ==========================================================================
   suzhouwx.cn —— 新页面共用样式（产品列表 / 产品详情 / 联系页）
   * 所有选择器都锁在 .swx 作用域内，不会影响站点其它页面
   * 只在「产品列表 / 产品详情 / 联系页」加载（见 suzhouwx-catalog.php 的 enqueue）
   * 设计语言与首页一致：同一套配色、圆角、间距、字体
   * 注意：首页的样式是内联在正文里的独立副本，两者互不影响（改这里不会动首页）
   * ========================================================================== */

.swx{
  --ink:#0d1a2b;
  --ink-2:#41536d;
  --ink-3:#7b8aa0;
  --line:#e8edf5;
  --brand:#1d4ed8;
  --brand-2:#2f6bff;
  --brand-soft:#eef3ff;
  --accent:#e8a33d;
  --paper:#ffffff;
  --paper-2:#f7f9fd;
  --radius:16px;
  --shadow:0 1px 2px rgba(13,26,43,.04), 0 12px 32px -12px rgba(13,26,43,.14);
  --maxw:1140px;
  font-family:-apple-system,BlinkMacSystemFont,"PingFang SC","Hiragino Sans GB","Microsoft YaHei","Source Han Sans SC","Noto Sans CJK SC",sans-serif;
  color:var(--ink);
  line-height:1.85;
  font-size:17px;
  background:var(--paper);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.swx *,.swx *::before,.swx *::after{box-sizing:border-box;}
.swx p{margin:0;}
.swx img{max-width:100%;height:auto;display:block;}
.swx a{color:inherit;text-decoration:none;}

/* 布局工具 */
.swx .wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px;}
.swx .sec{padding:96px 0;}
.swx .sec--soft{background:var(--paper-2);border-top:1px solid var(--line);border-bottom:1px solid var(--line);}
.swx .sec--tight{padding:56px 0 96px;}

/* 小标签 */
.swx .eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-size:13px;font-weight:600;letter-spacing:.14em;
  color:var(--brand);background:var(--brand-soft);
  border-radius:999px;padding:7px 16px;margin-bottom:22px;
}
.swx .eyebrow::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--brand);}

.swx h2{font-size:clamp(26px,3.2vw,38px);line-height:1.35;letter-spacing:-.01em;margin:0 0 14px;font-weight:700;}
.swx .sub{color:var(--ink-2);font-size:17px;max-width:60ch;}
.swx .sec-head{margin-bottom:52px;}

/* ---------------- 页头（非首页的自定义页头） ---------------- */
.swx .page-head{
  background:
    radial-gradient(900px 420px at 88% -10%, #dbe6ff 0%, rgba(219,230,255,0) 62%),
    radial-gradient(700px 380px at -8% 108%, #fdf1dc 0%, rgba(253,241,220,0) 60%),
    var(--paper);
  padding:64px 0 56px;border-bottom:1px solid var(--line);
}
.swx .page-head h1{font-size:clamp(28px,4vw,44px);line-height:1.22;letter-spacing:-.02em;margin:0 0 16px;font-weight:800;}
.swx .page-head h1 em{font-style:normal;color:var(--brand);}

/* 面包屑 */
.swx .crumbs{font-size:14px;color:var(--ink-3);margin-bottom:20px;}
.swx .crumbs a{color:var(--ink-3);border-bottom:1px solid transparent;}
.swx .crumbs a:hover{color:var(--brand);border-bottom-color:var(--brand);}
.swx .crumbs span{color:#c3ccda;margin:0 8px;}

/* ---------------- 按钮 ---------------- */
.swx .actions{display:flex;flex-wrap:wrap;gap:14px;align-items:center;}
.swx .btn{
  display:inline-flex;align-items:center;gap:10px;
  font-size:16px;font-weight:600;border-radius:12px;padding:15px 28px;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  white-space:nowrap;
}
.swx .btn--primary{background:var(--brand);color:#fff;box-shadow:0 10px 24px -10px rgba(29,78,216,.7);}
.swx .btn--primary:hover{background:var(--brand-2);transform:translateY(-2px);box-shadow:0 16px 30px -12px rgba(29,78,216,.75);}
.swx .btn--ghost{background:var(--paper);color:var(--ink);border:1px solid var(--line);box-shadow:var(--shadow);}
.swx .btn--ghost:hover{transform:translateY(-2px);border-color:#cfd9ea;}
.swx .btn--sm{padding:11px 20px;font-size:15px;border-radius:11px;}
.swx .btn svg{width:18px;height:18px;flex:none;}

/* ---------------- 汇总数字 ---------------- */
.swx .psum{display:flex;flex-wrap:wrap;gap:12px;}
.swx .psum__item{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:14px 22px;box-shadow:var(--shadow);}
.swx .psum__item b{display:block;font-size:26px;line-height:1.15;letter-spacing:-.02em;}
.swx .psum__item b i{font-style:normal;font-size:14px;color:var(--brand);margin-left:3px;font-weight:600;}
.swx .psum__item span{font-size:13px;color:var(--ink-3);}
.swx .psum__item--mute b{color:var(--ink-3);}

/* ---------------- 列表头 + 筛选 ---------------- */
.swx .plist-head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:22px;margin-bottom:34px;}
.swx .tabs{display:inline-flex;gap:4px;background:var(--paper-2);border:1px solid var(--line);border-radius:999px;padding:5px;}
.swx .tabs a{font-size:14px;padding:8px 18px;border-radius:999px;color:var(--ink-2);transition:background .18s ease,color .18s ease;}
.swx .tabs a:hover{color:var(--brand);}
.swx .tabs a.is-on{background:var(--paper);color:var(--brand);font-weight:600;box-shadow:var(--shadow);}

/* ---------------- 产品卡片 ---------------- */
.swx .pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.swx .pcard{
  display:flex;flex-direction:column;background:var(--paper);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  box-shadow:0 1px 2px rgba(13,26,43,.03);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.swx .pcard:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#d8e2f2;}
.swx .pcard__shot{position:relative;aspect-ratio:4/3;background:var(--paper-2);overflow:hidden;}
.swx .pcard__shot img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.swx .pcard:hover .pcard__shot img{transform:scale(1.04);}
.swx .pcard__shot--empty{
  display:grid;place-items:center;color:#aab6c6;font-size:13px;letter-spacing:.04em;
  background:repeating-linear-gradient(135deg,#f4f7fc 0 12px,#eef3fa 12px 24px);
}
.swx .pcard__body{padding:20px 20px 22px;display:flex;flex-direction:column;gap:9px;flex:1;}
.swx .pcard__badges{display:flex;flex-wrap:wrap;gap:6px;}
.swx .bdg{font-size:12px;font-weight:600;border-radius:999px;padding:4px 11px;letter-spacing:.02em;}
.swx .bdg--in{background:#e7f6ee;color:#0f7a4a;}
.swx .bdg--sold{background:#f1f3f7;color:#7b8aa0;}
.swx .bdg--ton{background:var(--brand-soft);color:var(--brand);}
.swx .pcard h3{font-size:17px;margin:0;font-weight:700;letter-spacing:-.01em;line-height:1.5;}
.swx .pcard__meta{font-size:13px;color:var(--ink-3);}
.swx .pcard__desc{font-size:14px;color:var(--ink-2);line-height:1.75;}
.swx .pcard__more{margin-top:auto;padding-top:6px;font-size:14px;font-weight:600;color:var(--brand);display:inline-flex;align-items:center;gap:6px;}
.swx .pcard.is-sold .pcard__shot img{filter:grayscale(.55);opacity:.78;}
.swx .pcard.is-sold h3{color:var(--ink-2);}
.swx .empty{padding:70px 24px;text-align:center;color:var(--ink-3);border:1px dashed #d9e2f0;border-radius:var(--radius);background:var(--paper-2);}
.swx .empty b{display:block;color:var(--ink-2);font-size:17px;margin-bottom:6px;font-weight:600;}

/* ---------------- 分页 ---------------- */
.swx .pager{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:46px;flex-wrap:wrap;}
.swx .pager a,.swx .pager span{
  min-width:42px;height:42px;display:inline-flex;align-items:center;justify-content:center;
  padding:0 14px;border:1px solid var(--line);border-radius:11px;font-size:14px;background:var(--paper);
}
.swx .pager a:hover{border-color:#cfd9ea;color:var(--brand);}
.swx .pager .is-now{background:var(--brand);border-color:var(--brand);color:#fff;font-weight:600;}
.swx .pager .dots{border:none;background:none;color:var(--ink-3);}

/* ---------------- 产品详情 ---------------- */
.swx .detail{display:grid;grid-template-columns:1.02fr .98fr;gap:52px;align-items:start;}
.swx .detail__shot{border:1px solid var(--line);border-radius:20px;overflow:hidden;background:var(--paper-2);box-shadow:var(--shadow);}
.swx .detail__shot img{width:100%;display:block;}
.swx .detail__shot--empty{aspect-ratio:4/3;display:grid;place-items:center;color:#aab6c6;font-size:14px;}
.swx .detail h1{font-size:clamp(26px,3.4vw,38px);line-height:1.28;letter-spacing:-.02em;margin:14px 0 16px;font-weight:800;}
.swx .detail .lead{font-size:16.5px;color:var(--ink-2);margin-bottom:26px;}
.swx .specs{border-top:1px solid var(--line);margin:0 0 30px;}
.swx .spec{display:flex;gap:18px;padding:14px 0;border-bottom:1px solid var(--line);font-size:15.5px;}
.swx .spec .k{width:92px;flex:none;color:var(--ink-3);font-size:13.5px;letter-spacing:.06em;}
.swx .spec .v{font-weight:600;}

/* 正文排版（用户在产品详情里写的内容） */
.swx .article{font-size:16.5px;color:var(--ink-2);}
.swx .article > *:first-child{margin-top:0;}
.swx .article h2{font-size:23px;color:var(--ink);margin:38px 0 14px;}
.swx .article h3{font-size:19px;color:var(--ink);margin:28px 0 10px;}
.swx .article h4{font-size:17px;color:var(--ink);margin:22px 0 8px;}
.swx .article p{margin:0 0 16px;}
.swx .article ul,.swx .article ol{margin:0 0 16px;padding-left:24px;}
.swx .article li{margin:6px 0;}
.swx .article img{border-radius:14px;margin:20px 0;border:1px solid var(--line);}
.swx .article a{color:var(--brand);text-decoration:underline;text-underline-offset:3px;}
.swx .article blockquote{
  margin:20px 0;padding:16px 22px;border-left:3px solid var(--brand);
  background:var(--brand-soft);border-radius:0 12px 12px 0;color:var(--ink-2);
}
.swx .article table{width:100%;border-collapse:collapse;margin:20px 0;font-size:15px;}
.swx .article th,.swx .article td{border:1px solid var(--line);padding:10px 13px;text-align:left;}
.swx .article th{background:var(--paper-2);color:var(--ink);}
.swx .article figure{margin:20px 0;}

/* 相关产品 */
.swx .related{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}

/* ---------------- 联系（与首页同一套组件） ---------------- */
.swx .contact{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;}
.swx .who{display:flex;align-items:center;gap:16px;margin-bottom:28px;}
.swx .who img{width:66px;height:66px;border-radius:50%;object-fit:cover;flex:none;border:3px solid var(--paper);box-shadow:var(--shadow);}
.swx .who b{display:block;font-size:17px;font-weight:700;line-height:1.5;}
.swx .who span{font-size:13.5px;color:var(--ink-3);}
.swx .rows{display:flex;flex-direction:column;gap:4px;margin-top:30px;}
.swx .row{display:flex;align-items:center;gap:18px;padding:20px 0;border-bottom:1px solid var(--line);}
.swx .row:first-child{border-top:1px solid var(--line);}
.swx .row .k{font-size:13px;color:var(--ink-3);letter-spacing:.08em;width:72px;flex:none;}
.swx .row .v{font-size:19px;font-weight:600;letter-spacing:.01em;}
.swx .row .v small{display:block;font-size:13px;font-weight:400;color:var(--ink-3);letter-spacing:0;}
.swx .qr{background:var(--paper);border:1px solid var(--line);border-radius:20px;padding:26px;text-align:center;box-shadow:var(--shadow);}
.swx .qr img{width:190px;height:190px;margin:0 auto 16px;border-radius:10px;}
.swx .qr b{display:block;font-size:16px;margin-bottom:4px;}
.swx .qr span{font-size:13.5px;color:var(--ink-3);}
.swx .steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.swx .step{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px;}
.swx .step .n{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:9px;background:var(--brand-soft);color:var(--brand);font-weight:700;font-size:14px;margin-bottom:14px;}
.swx .step h3{font-size:16.5px;margin:0 0 8px;font-weight:700;}
.swx .step p{font-size:14.5px;color:var(--ink-2);}

/* ---------------- 底部 CTA / 页脚 ---------------- */
.swx .cta{
  background:linear-gradient(135deg,#12233d 0%,#1b3a6b 55%,#1d4ed8 100%);
  color:#fff;border-radius:22px;padding:54px 52px;
  display:flex;align-items:center;justify-content:space-between;gap:34px;flex-wrap:wrap;
}
.swx .cta h2{color:#fff;margin:0 0 8px;font-size:clamp(23px,2.6vw,31px);}
.swx .cta p{color:rgba(255,255,255,.78);font-size:16px;max-width:46ch;}
.swx .cta .btn--primary{background:#fff;color:#12233d;box-shadow:0 12px 28px -12px rgba(0,0,0,.6);}
.swx .cta .btn--primary:hover{background:#eef3ff;}
.swx .cta .btn--ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.34);box-shadow:none;}
.swx .cta .btn--ghost:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.55);}

.swx .foot{padding:36px 0 10px;color:var(--ink-3);font-size:13.5px;text-align:center;}
.swx .foot a{color:var(--ink-3);border-bottom:1px solid var(--line);}

/* 公安联网备案号 */
.swx .beian{padding:0 0 52px;text-align:center;}
.swx .beian a{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--ink-3);text-decoration:none;transition:color .18s ease;}
.swx .beian a:hover{color:var(--ink-2);}
.swx .beian img{width:16px;height:16px;display:block;flex:none;}

/* ---------------- 手机端浮动拨号 ---------------- */
.swx .fab{
  display:none;position:fixed;left:16px;right:16px;bottom:16px;z-index:9990;
  background:var(--brand);color:#fff;border-radius:14px;
  padding:15px;text-align:center;font-weight:600;font-size:16px;
  box-shadow:0 14px 30px -10px rgba(29,78,216,.8);
}

/* ---------------- 响应式 ---------------- */
@media (max-width:1024px){
  .swx .pgrid{grid-template-columns:repeat(2,1fr);}
  .swx .detail{grid-template-columns:1fr;gap:34px;}
  .swx .contact{grid-template-columns:1fr;gap:40px;}
  .swx .related{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:760px){
  .swx{font-size:15.5px;line-height:1.75;}
  .swx .wrap{padding:0 18px;}
  .swx .sec{padding:40px 0;}
  .swx .sec--tight{padding:26px 0 40px;}
  .swx .sec-head{margin-bottom:24px;}
  .swx h2{font-size:23px;margin-bottom:8px;}
  .swx .sub{font-size:14.5px;}
  .swx .eyebrow{margin-bottom:14px;padding:5px 13px;font-size:12px;}
  .swx .page-head{padding:30px 0 26px;}
  .swx .page-head h1{font-size:26px;margin-bottom:10px;}
  .swx .crumbs{font-size:12.5px;margin-bottom:12px;}

  .swx .btn{padding:13px 20px;font-size:15px;border-radius:11px;}
  .swx .actions{width:100%;gap:10px;}
  .swx .actions .btn{flex:1 1 auto;justify-content:center;}

  /* 汇总数字：手机上并成一行，不占高度 */
  .swx .psum{gap:8px;width:100%;}
  .swx .psum__item{padding:10px 14px;flex:1 1 0;min-width:0;border-radius:12px;}
  .swx .psum__item b{font-size:19px;}
  .swx .psum__item b i{font-size:11.5px;}
  .swx .psum__item span{font-size:11.5px;}

  .swx .plist-head{gap:14px;margin-bottom:22px;}
  .swx .tabs{padding:4px;}
  .swx .tabs a{padding:7px 14px;font-size:13.5px;}

  /* 产品卡片：手机两列，紧凑 */
  .swx .pgrid{grid-template-columns:repeat(2,1fr);gap:11px;}
  .swx .pcard{border-radius:13px;}
  .swx .pcard__body{padding:12px 12px 14px;gap:6px;}
  .swx .pcard__badges{gap:4px;}
  .swx .bdg{font-size:10.5px;padding:3px 8px;}
  .swx .pcard h3{font-size:14px;line-height:1.45;}
  .swx .pcard__meta{font-size:11.5px;}
  .swx .pcard__desc{display:none;}
  .swx .pcard__more{font-size:12.5px;}
  .swx .empty{padding:44px 18px;font-size:14px;}

  .swx .pager{margin-top:26px;gap:6px;}
  .swx .pager a,.swx .pager span{min-width:36px;height:36px;font-size:13px;border-radius:9px;padding:0 10px;}

  .swx .detail{gap:22px;}
  .swx .detail h1{font-size:23px;margin:10px 0 12px;}
  .swx .detail .lead{font-size:15px;margin-bottom:18px;}
  .swx .specs{margin-bottom:20px;}
  .swx .spec{padding:11px 0;font-size:14.5px;gap:12px;}
  .swx .spec .k{width:70px;font-size:12.5px;}
  .swx .article{font-size:15px;}
  .swx .article h2{font-size:19px;margin:26px 0 10px;}
  .swx .article h3{font-size:17px;margin:20px 0 8px;}
  .swx .related{gap:11px;}

  .swx .contact{gap:22px;}
  .swx .who{margin-bottom:16px;gap:13px;}
  .swx .who img{width:52px;height:52px;border-width:2px;}
  .swx .who b{font-size:16px;}
  .swx .rows{margin-top:14px;}
  .swx .row{padding:13px 0;gap:13px;}
  .swx .row .k{width:52px;font-size:12px;}
  .swx .row .v{font-size:16.5px;}
  .swx .qr{padding:18px;border-radius:16px;}
  .swx .qr img{width:150px;height:150px;margin-bottom:11px;}
  .swx .qr b{font-size:15px;}
  .swx .steps{grid-template-columns:1fr;gap:11px;}
  .swx .step{padding:18px 16px;border-radius:13px;}
  .swx .step .n{width:26px;height:26px;font-size:13px;margin-bottom:10px;}
  .swx .step h3{font-size:15.5px;}
  .swx .step p{font-size:13.5px;}

  .swx .cta{padding:28px 20px;border-radius:16px;gap:20px;}
  .swx .cta h2{font-size:20px;margin-bottom:6px;}
  .swx .cta p{font-size:14px;}

  .swx .foot{padding:22px 0 4px;font-size:12px;}
  .swx .beian a{font-size:12px;gap:6px;}
  .swx .beian img{width:14px;height:14px;}

  .swx .fab{display:block;}
  .swx .beian{padding-bottom:100px;}
}

@media (max-width:400px){
  .swx .psum__item b{font-size:17px;}
  .swx .pcard h3{font-size:13px;}
}
