/* ===== 大类页横幅(深色) ===== */
.cat-banner { position:relative; overflow:hidden; border-radius:16px; color:#fff; padding:36px 40px; margin-bottom:22px;
  background:
    radial-gradient(560px 240px at 8% -20%, rgba(40,184,148,.14), transparent 65%),
    radial-gradient(500px 220px at 95% 30%, rgba(50,230,185,.08), transparent 60%),
    repeating-linear-gradient(0deg, rgba(239,238,236,.04) 0 1px, transparent 1px 44px),
    repeating-linear-gradient(90deg, rgba(239,238,236,.04) 0 1px, transparent 1px 44px),
    linear-gradient(120deg,#191a23 0%,#1e1e28 100%); }
/* 漂移光斑: 与首页 hero 同款, 径向渐变低透明度, transform-only keyframes 错周期 */
.cat-orb { position:absolute; z-index:0; border-radius:50%; pointer-events:none; will-change:transform; }
.cat-orb.oa { width:380px; height:380px; left:-120px; top:-160px; background:radial-gradient(circle, rgba(40,184,148,.30) 0%, rgba(40,184,148,0) 65%); animation:catOrbA 24s ease-in-out infinite alternate; }
.cat-orb.ob { width:320px; height:320px; right:6%; top:-140px; background:radial-gradient(circle, rgba(50,230,185,.18) 0%, rgba(50,230,185,0) 65%); animation:catOrbB 30s ease-in-out infinite alternate; }
.cat-orb.oc { width:280px; height:280px; right:-90px; bottom:-150px; background:radial-gradient(circle, rgba(245,94,50,.15) 0%, rgba(245,94,50,0) 65%); animation:catOrbC 27s ease-in-out infinite alternate; }
@keyframes catOrbA { from { transform:translate(0,0) scale(1); } to { transform:translate(90px,50px) scale(1.1); } }
@keyframes catOrbB { from { transform:translate(0,0); } to { transform:translate(-70px,60px); } }
@keyframes catOrbC { from { transform:translate(0,0); } to { transform:translate(-60px,-50px); } }
.cat-banner .cb-inner { position:relative; z-index:1; }
/* 自定义横幅背景图: 深色渐变叠加保证文字可读, 层级在光斑之下、文字之上(DOM 最先绘制) */
.cat-banner .cat-bg { position:absolute; inset:0; z-index:0; }
.cat-banner h1 { font-size:28px; font-weight:600; margin-bottom:8px; }
.cat-banner p { font-size:13px; color:rgba(239,238,236,.7); }
.cat-banner .crumb { font-size:12px; color:rgba(239,238,236,.55); margin-bottom:12px; }
.cat-banner .crumb a { color:#28b894; text-decoration:none; }

/* ===== 地区 chips(全圆胶囊; 选中再点=toggle 取消回全部, 由 href 不带 region 实现) ===== */
.pc-subchips { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.pc-chip { display:inline-block; padding:7px 20px; border-radius:999px; font-size:13px; font-weight:500; color:#4B4B4B; background:#fff; border:1px solid #E1E1E1; text-decoration:none; cursor:pointer; transition:all .15s; }
.pc-chip:hover { color:#28b894; border-color:#28b894; }
.pc-chip.on { background:var(--orange); color:#fff; border-color:var(--orange); font-weight:600; }
.pc-chip.on:hover { background:var(--orange-d); border-color:var(--orange-d); }

/* ===== 产品卡栅格: 3 列均分固定宽(minmax(0,1fr) 防内容撑宽, 各分类/地区页卡片宽度严格一致), 卡片 flex 列布局等高(规格区 flex:1 把价格按钮压到底部) ===== */
.pc-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-bottom:16px; }
.pc-card { display:flex; flex-direction:column; background:#fff; border-radius:12px; box-shadow:0 2px 10px rgba(0,60,64,.06); padding:20px; transition:box-shadow .2s,transform .2s; }
.pc-card:hover { box-shadow:0 10px 26px rgba(0,60,64,.16); transform:translateY(-4px); }
.pc-card .hd { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.pc-tag { display:inline-block; background:#28b894; color:#fff; border-radius:4px; padding:2px 8px; font-size:11px; font-weight:500; line-height:1.5; }
.pc-name { font-size:15px; font-weight:600; color:#191a23; }
.pc-desc { font-size:12px; color:#9aa3b2; margin-top:4px; line-height:1.6; }
.pc-specs { flex:1; display:flex; flex-direction:column; gap:6px; min-height:120px; align-content:flex-start; margin:14px 0 16px; }
/* 参数行统一: 纯文本项(.it)与可选项(.sel)同高 32px、同行布局(圆点+7em 标签列+值列)、同字体,
   整列参数视觉对齐(实测原 .it 23.4px / .sel 32.67px / 系统框 35.59px 三档不一) */
.pc-specs .it, .pc-specs .sel { position:relative; padding-left:14px; font-size:13px; color:#2b3a55; line-height:1.5; }
.pc-specs .it { display:flex; align-items:center; gap:6px; min-height:32px; }
.pc-specs .it::before, .pc-specs .sel::before { content:''; position:absolute; left:0; top:50%; transform:translateY(-50%); width:6px; height:6px; border-radius:50%; background:#28b894; }
.pc-specs .it .plus { font-size:11px; color:#9aa3b2; }
/* 纯文本值右移 11px(=下拉框 border 1px + padding-left 10px),
   与下拉框内文字的左边缘同一 x 坐标(实测差 10.67px@当前缩放) */
.pc-specs .it .it-val { flex:1; min-width:0; padding-left:11px; }
.pc-specs .sel { display:flex; align-items:center; gap:6px; min-height:32px; }
.pc-specs .sel select { flex:1; min-width:0; height:32px; padding:5px 10px; border:1px solid #d4d8e0; border-radius:8px; font-size:13px; color:#2b3a55; background:#fff; }
.pc-specs .sel .sel-label, .pc-specs .it .sel-label { flex-shrink:0; width:7em; white-space:nowrap; overflow:hidden; }
/* 系统双选框(卡片式 radio): 选中绿色加粗高亮, 禁用浅灰; 高度与下拉一致 32px */
.os-boxes { display:flex; gap:6px; flex:1; min-width:0; }
.os-box { flex:1; display:flex; align-items:center; justify-content:center; height:32px; padding:0 8px; border:2px solid #E1E1E1; border-radius:8px; font-size:12px; color:#2b3a55; cursor:pointer; background:#fff; transition:all .15s; user-select:none; }
.os-box:hover { border-color:#28b894; }
.os-box.on { border-color:#28b894; color:#0f7a5f; font-weight:600; background:#e6f7f1; }
.os-box.off, .os-box.off:hover { background:#f3f4f6; color:#c0c4cc; cursor:not-allowed; border-color:#e5e7eb; font-weight:400; }
.pc-foot { display:flex; align-items:center; justify-content:space-between; gap:10px; border-top:1px solid #f0f1f4; padding-top:14px; }
.pc-price { font-size:20px; font-weight:700; color:#28b894; white-space:nowrap; }
.pc-price small { font-size:12px; color:#9aa3b2; font-weight:400; }

/* ===== 产品优势(卖点卡) ===== */
.adv-title { text-align:center; font-size:26px; font-weight:600; color:#1F1F1F; margin:44px 0 8px; letter-spacing:.3px; }
.adv-sub { text-align:center; font-size:14px; color:#b6b7c1; margin-bottom:28px; }
.adv-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:18px; margin-bottom:8px; }
.adv-card { background:#fff; border-radius:12px; box-shadow:0 2px 10px rgba(0,60,64,.06); border-top:3px solid #28b894; padding:24px 20px; transition:box-shadow .2s,transform .2s; }
.adv-card:hover { box-shadow:0 10px 26px rgba(0,60,64,.16); transform:translateY(-4px); }
.adv-card .ico { display:inline-flex; margin-bottom:12px; color:#28b894; }
.adv-card h4 { font-size:16px; font-weight:600; color:#1F1F1F; margin-bottom:8px; }
.adv-card p { font-size:12px; color:#6b7280; line-height:1.9; }

/* ===== 常见问题(手风琴, 同一时间只展开一条) ===== */
.qa-list { max-width:880px; margin:0 auto 8px; }
.qa-item { background:#fff; border-radius:12px; box-shadow:0 2px 10px rgba(0,60,64,.06); margin-bottom:12px; overflow:hidden; }
.qa-q { width:100%; display:flex; align-items:center; justify-content:space-between; gap:14px; padding:17px 22px; background:none; border:none; cursor:pointer; font-family:inherit; font-size:15px; font-weight:600; color:#1F1F1F; text-align:left; transition:color .15s; }
.qa-q:hover { color:#28b894; }
.qa-arrow { flex-shrink:0; display:inline-flex; align-items:center; justify-content:center; width:22px; height:22px; font-size:11px; color:#9aa3b2; transition:transform .25s; }
.qa-item.open .qa-arrow { transform:rotate(180deg); color:#28b894; }
.qa-a { max-height:0; overflow:hidden; opacity:0; transition:max-height .3s ease, opacity .25s ease; }
.qa-item.open .qa-a { max-height:280px; opacity:1; }
.qa-a p { padding:0 22px 18px; font-size:13px; color:#4B4B4B; line-height:1.9; }

/* ===== 滚动入场 fade-up(与首页同一套 .rv 模式) ===== */
.rv { opacity:0; transform:translateY(24px); transition:opacity .55s ease, transform .55s cubic-bezier(.22,.61,.36,1); }
.rv-on { opacity:1; transform:translateY(0); }

/* ===== 离屏暂停: 横幅滚出视口后光斑动画暂停, 滚回自动恢复 ===== */
.anim-pause .cat-orb { animation-play-state:paused; }

/* ===== 动效降级 ===== */
@media (prefers-reduced-motion: reduce) {
  .cat-orb { animation:none; }
  .rv { opacity:1; transform:none; transition:none; }
  .qa-a, .qa-arrow { transition:none; }
}

@media (max-width: 1080px) {
  .adv-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .pc-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .cat-banner { padding:26px 22px; }
  .pc-grid { grid-template-columns:1fr; }
  .adv-grid { grid-template-columns:1fr; gap:14px; }
  .adv-card { padding:20px 18px; }
  .qa-q { padding:15px 18px; }
  .qa-a p { padding:0 18px 16px; }
}
