/* 案例页专用样式（v1.2 · 2026-10-23）
   独立文件，不改 shanghao.css，避免连带动全站哈希与缓存 */

/* ── 首屏声明 ─────────────────────────────── */
.cdisc{
  margin:14px 0 0; padding:11px 15px;
  background:var(--paper); border-left:3px solid var(--verm);
  font-size:14px; line-height:1.85; color:var(--ink-soft); border-radius:0 var(--r) var(--r) 0;
}

/* ── 详情页首图（同类车间示意，非客户现场） ────── */
.cfig{margin:22px 0 0}
.cfig img{
  display:block; width:100%; height:clamp(190px, 25vw, 330px);
  object-fit:cover; border-radius:var(--r); border:1px solid var(--line);
  background:var(--paper-warm);
}
.cfig figcaption{
  margin-top:9px; font-size:12.5px; line-height:1.7; color:var(--ink-mute);
  padding-left:2px;
}

/* ── 案例速览卡（8 字段，顺序固定） ────────── */
.cquick{
  margin:26px 0 0; border:1px solid var(--line); background:var(--white);
  border-radius:var(--r); overflow:hidden;
}
.cquick-h{
  padding:11px 16px; background:var(--ink); color:#fff;
  font-family:var(--serif); font-size:15px; font-weight:600; letter-spacing:.02em;
}
.cquick dl{display:grid; grid-template-columns:repeat(2,1fr); margin:0}
.cquick .f{
  display:flex; gap:12px; align-items:baseline;
  padding:11px 16px; border-top:1px solid var(--line-soft);
}
.cquick .f:nth-child(odd){border-right:1px solid var(--line-soft)}
.cquick dt{
  flex:0 0 78px; font-size:13px; color:var(--slate); letter-spacing:.04em;
}
.cquick dd{margin:0; font-size:14.5px; color:var(--ink); line-height:1.7; font-weight:500}
.cquick dd.num{font-family:var(--mono); font-weight:600; letter-spacing:.01em}

/* ── 正文小节 ─────────────────────────────── */
.ch2{
  font-family:var(--serif); font-size:21px; font-weight:700; color:var(--ink);
  margin:34px 0 12px; padding-left:12px; border-left:3px solid var(--ink);
  line-height:1.5;
}
.cbody p{margin:0 0 12px; font-size:15.5px; line-height:1.95; color:var(--ink-soft)}
.cbody p:last-child{margin-bottom:0}
.cbody strong{color:var(--ink); font-weight:600}

/* 卡点段引文 */
.ckd{
  margin:0 0 14px; padding:14px 18px; background:var(--paper);
  border:1px solid var(--line-soft); border-radius:var(--r);
  font-size:15.5px; line-height:1.95; color:var(--ink);
}

/* ── 同类对照表 ───────────────────────────── */
.ctable{width:100%; border-collapse:collapse; margin:6px 0 0; font-size:14.5px}
.ctable caption{
  caption-side:bottom; padding-top:10px; font-size:13px; color:var(--slate); text-align:left; line-height:1.8;
}
.ctable th,.ctable td{
  padding:10px 12px; text-align:left; border-bottom:1px solid var(--line-soft); vertical-align:top;
}
.ctable thead th{
  background:var(--paper); color:var(--ink); font-weight:600; font-size:13.5px;
  border-bottom:1px solid var(--line); white-space:nowrap;
}
.ctable td.n{font-family:var(--mono); font-weight:600}
.ctable tbody tr.self{background:rgba(194,69,44,.05)}
.ctable tbody tr.self td{color:var(--ink); font-weight:600}

/* ── 相关链接 ─────────────────────────────── */
.crel{list-style:none; margin:0 0 16px; padding:0}
.crel li{
  padding:10px 0 10px 18px; border-bottom:1px solid var(--line-soft); position:relative;
  font-size:15px; line-height:1.8;
}
.crel li::before{
  content:""; position:absolute; left:0; top:18px; width:6px; height:6px;
  border-right:1.5px solid var(--verm); border-bottom:1.5px solid var(--verm);
  transform:rotate(-45deg);
}
.crel a{color:var(--ink); text-decoration:none; border-bottom:1px solid var(--line)}
.crel a:hover{color:var(--verm); border-bottom-color:var(--verm)}
.crel .tag{
  display:inline-block; margin-right:8px; padding:1px 7px; font-size:12px;
  color:var(--slate); border:1px solid var(--line); border-radius:2px; font-family:var(--mono);
}

/* ── 页脚口径 ─────────────────────────────── */
.cfoot{
  margin:30px 0 0; padding:13px 16px; border-top:1px solid var(--line);
  font-size:13px; line-height:1.9; color:var(--slate);
}

/* ── 列表页：筛选器 ───────────────────────── */
.cfilters{margin:22px 0 0; padding:16px 18px; background:var(--paper); border:1px solid var(--line-soft); border-radius:var(--r)}
.cfilters .row{display:flex; flex-wrap:wrap; gap:8px; align-items:center; margin-bottom:10px}
.cfilters .row:last-child{margin-bottom:0}
.cfilters .lb{flex:0 0 52px; font-size:13px; color:var(--slate); letter-spacing:.04em}
.cfilters button{
  font:inherit; font-size:13.5px; padding:5px 12px; cursor:pointer;
  background:var(--white); border:1px solid var(--line); border-radius:2px; color:var(--ink-soft);
  transition:all .2s var(--ease);
}
.cfilters button:hover{border-color:var(--ink-soft)}
.cfilters button.on{background:var(--ink); border-color:var(--ink); color:#fff}
.cfilters .cnt{margin-left:auto; font-size:13px; color:var(--slate); font-family:var(--mono)}

/* ── 列表页：卡片 ─────────────────────────── */
.ccards{display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin:18px 0 0}
.ccard{
  display:flex; flex-direction:column; border:1px solid var(--line);
  background:var(--white); border-radius:var(--r); overflow:hidden;
  transition:box-shadow .25s var(--ease), transform .25s var(--ease);
}
.ccard:hover{box-shadow:0 8px 24px rgba(13,30,57,.10); transform:translateY(-2px)}
.ccard .ph{
  height:172px; display:block;
  background:linear-gradient(135deg, var(--ink-deep) 0%, var(--ink) 100%);
  position:relative; overflow:hidden;
}
.ccard .ph img{
  width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .55s var(--ease);
}
.ccard:hover .ph img{transform:scale(1.035)}
.ccard .ph::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(7,20,39,.80) 0%, rgba(7,20,39,.14) 42%, rgba(7,20,39,0) 66%);
}
.ccard .ph b{
  position:absolute; left:14px; bottom:10px; z-index:1;
  font-family:var(--serif); font-size:16px;
  color:#fff; letter-spacing:.05em; text-shadow:0 1px 4px rgba(7,20,39,.55);
}
.ccard .bd{padding:14px 16px 16px; flex:1; display:flex; flex-direction:column}
.ccard h3{
  margin:0 0 8px; font-family:var(--serif); font-size:16.5px; font-weight:700;
  color:var(--ink); line-height:1.55;
}
.ccard h3 a{color:inherit; text-decoration:none}
.ccard h3 a:hover{color:var(--verm)}
.ccard h3 em{
  display:block; margin-top:5px; font-style:normal;
  font-family:var(--mono); font-size:12.5px; font-weight:500;
  letter-spacing:.02em; color:var(--slate);
}
.ccard .meta{
  margin:0 0 9px; font-size:13px; line-height:1.85; color:var(--slate);
}
.ccard .meta b{color:var(--ink-soft); font-weight:600; font-family:var(--mono)}
.ccard .abs{margin:0 0 12px; font-size:13.5px; line-height:1.8; color:var(--ink-soft)}
.ccard .go{
  margin-top:auto; font-size:13.5px; color:var(--verm); text-decoration:none;
  border-top:1px solid var(--line-soft); padding-top:10px; display:block;
}
.ccard .go span{transition:transform .25s var(--ease); display:inline-block}
.ccard:hover .go span{transform:translateX(4px)}

/* ── 口径说明 ─────────────────────────────── */
.cnote{
  margin:28px 0 0; padding:16px 18px; background:var(--paper);
  border:1px solid var(--line-soft); border-radius:var(--r);
}
.cnote h3{margin:0 0 10px; font-family:var(--serif); font-size:16px; color:var(--ink)}
.cnote p{margin:0 0 9px; font-size:14px; line-height:1.9; color:var(--ink-soft)}
.cnote p:last-child{margin-bottom:0}
.cnote .ph{color:var(--slate); font-size:13.5px}

/* ── 响应式 ───────────────────────────────── */
@media (max-width:900px){
  .ccards{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
  .ccards{grid-template-columns:1fr}
  .cquick dl{grid-template-columns:1fr}
  .cquick .f:nth-child(odd){border-right:0}
  .cquick dt{flex:0 0 68px}
  .cfilters .cnt{margin-left:0; width:100%}
  .ctable{font-size:13px}
  .ctable th,.ctable td{padding:8px 8px}
}
