/* ============================================================================
 * hv-subpage-signatures.css —— 四个子页「主角板块」差异化版式层
 * ----------------------------------------------------------------------------
 * 背景：factory / oem-odm / capabilities / quality 四页的主板块（第 3 个顶层节点，
 *       结构都是 .hvp-sub-section > .hvp-sub-container > .hvp-section-head
 *       + .hvp-workshop-list > article.hvp-workshop-item ×6~7）完全同构，
 *       于是四页读起来像同一页换了文案。
 *
 * 做法：内容一字不改（Elementor 原生控件、后台照样可编辑），只给「这一个板块」
 *       换版式骨架。其余章节（hero / 统计条 / 图库 / 橙色 band / 页脚）**保持统一**。
 *
 *   page-id-2113  factory        → 横向时间轴（生产链路 7 站，可横向滚动）
 *   page-id-2356  oem-odm        → 左右对照双栏（编号 + 中缝 + 阶段/交付对照）
 *   page-id-2357  capabilities   → 数据看板网格（1px 细线仪表盘，3×2）
 *   page-id-2358  quality        → 检测流程图（蛇形流向 + 箭头 + 失闭上行回路）
 *
 * 作用域：body.hvp-ds×6 + .page-id-XXXX
 *   v3 层用的是 body.hvp-ds×6 .hvp-workshop-item（0,6,x），本层再叠一个 body 类
 *   →（0,7,x），并晚于 v3 / compat / inline 三层加载，因此可以在不改任何源文件、
 *   不碰 Elementor 数据的前提下接管版式。
 *
 * 回退：插件里的 HV_SUBPAGE_SIG_V 常量置 '' 即整层关闭，秒级回到统一版式。
 *       单页回退 = 删掉本文件里该页那一段。
 *
 * 维护：改本文件必须 bump HV_SUBPAGE_SIG_V（Caddy 给静态资源发 30 天 immutable）。
 *
 * ★★ 头号坑：源层 redesign-draft-source.css 里有 `.hvp-workshop-item{overflow:hidden}`
 *    （(0,1,0)、无 !important）。原设计里条目是「图片 + 文案」两栏网格，盒子外
 *    没有任何东西，所以这个 hidden 无害。但本层把编号圆牌、流向箭头、回路短接
 *    放到**条目盒子以外**（栅格间隙 / 列表内边距里），就会被它整条裁掉 ——
 *    而 getComputedStyle 照样能读到 ::after 的 content 与几何，看着「一切正常」，
 *    只有肉眼看截图才发现箭头全没了。
 *    ⇒ 凡把装饰放到条目盒子之外的页（factory / quality）都必须显式 overflow: visible；
 *      capabilities 相反：角标在盒子内，需要 hidden 兜住顶部图条。
 * ========================================================================= */

/* ─────────────────────────────────────────────────────────────────────────────
 * 0. 四页公共底座
 *    · 拿掉 v3 的「行首细线」（每行一条 1px 上边线）——各页自己决定分隔方式
 * ────────────────────────────────────────────────────────────────────────── */
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds:is(
  .page-id-2113, .page-id-2356, .page-id-2357, .page-id-2358
) .hvp-workshop-item {
  border-top: 0 !important;
}


/* ═════════════════════════════════════════════════════════════════════════════
 * 1. factory（page-id-2113）—— 横向时间轴
 *    7 个车间 = 生产链路上的 7 站。一条水平导轨贯穿，编号做「站点」圆牌骑在导轨上。
 *    导轨由每个条目的上边框拼成（gap:0 使相邻站点首尾相接）。
 *    横向可滚动 + scroll-snap；窄屏落成竖向时间轴。
 * ────────────────────────────────────────────────────────────────────────── */

/* 1.1 轨道容器：由竖排列表改为横向滚动条带
   上内边距 6px 是给 hover 的 translateY(-3px) 留头，否则被 overflow-y:hidden 切掉。 */
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-list {
  display: flex !important;
  flex-flow: row nowrap !important;
  gap: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x proximity !important;
  -webkit-overflow-scrolling: touch;
  padding: 6px 0 14px !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(23, 21, 15, 0.24) transparent;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-list::-webkit-scrollbar { height: 3px; }
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-list::-webkit-scrollbar-track { background: rgba(23, 21, 15, 0.05); border-radius: 2px; }
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-list::-webkit-scrollbar-thumb { background: rgba(23, 21, 15, 0.24); border-radius: 2px; }

/* 1.2 一站
   overflow: visible 必须写 —— 窄屏的竖向导轨是 item::before（bottom:-34px，
   伸到条目盒子之外去接下一站），源层的 overflow:hidden 会把它整条裁掉。 */
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-item {
  display: block !important;
  grid-template-columns: none !important;
  flex: 0 0 clamp(248px, 20.5%, 322px) !important;
  min-width: 248px !important;
  scroll-snap-align: start !important;
  padding: 0 clamp(20px, 1.9vw, 32px) 4px 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-top: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  overflow: visible !important;
  position: relative !important;
}

/* 1.3 机车图 */
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-item > .hvp-nkit-figure {
  height: auto !important;
  margin: 0 0 22px !important;
  border-radius: 2px !important;
  background: var(--hv3-surface-2) !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-item > .hvp-nkit-figure img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 11 !important;
  object-fit: cover !important;
  border-radius: 2px !important;
  filter: saturate(0.94) contrast(1.03) !important;
}

/* 1.4 文案列 → 导轨 + 站点圆牌 */
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-item > div:not(.hvp-nkit-wrap) {
  position: relative !important;
  display: block !important;
  padding: 30px 0 0 !important;
  /* 导轨是这条时间轴的骨架，比普通分隔线略重一档才看得见 */
  border-top: 1px solid rgba(23, 21, 15, 0.17) !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-item > div:not(.hvp-nkit-wrap) > .hvp-nkit-index {
  position: absolute !important;
  top: -15px !important;
  left: 0 !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border: 1px solid var(--hv3-orange) !important;
  border-radius: 50% !important;
  background: var(--hv3-paper) !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-item > div:not(.hvp-nkit-wrap) > .hvp-nkit-index span {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--hv3-mono) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.03em !important;
  text-align: center !important;
  color: var(--hv3-orange-ink) !important;
  -webkit-text-stroke: 0 !important;
  -webkit-text-fill-color: currentColor !important;
  transition: color 180ms ease-out;
}

/* 1.5 文案层级（窄栏专用字号） */
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-item h3 {
  font-size: 17.5px !important;
  line-height: 1.42 !important;
  margin: 0 0 10px !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-item p {
  font-size: 14.5px !important;
  line-height: 1.74 !important;
  margin: 0 !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-item ul {
  margin-top: 16px !important;
  gap: 6px !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-item li {
  font-size: 10.5px !important;
  letter-spacing: 0.12em !important;
  padding: 5px 9px !important;
}

/* 1.6 站点点亮 */
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-item:hover > div:not(.hvp-nkit-wrap) > .hvp-nkit-index {
  background: var(--hv3-orange) !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-item:hover > div:not(.hvp-nkit-wrap) > .hvp-nkit-index span {
  color: var(--hv3-paper) !important;
}

/* 1.7 窄屏 → 竖向时间轴（左侧导轨）
   导轨用「虚线」而不是 1px 实线：实线落在半像素上会被抗锯齿冲淡到看不见，
   虚线（4/9 段）即使被冲淡也仍是一条可辨认的路线。 */
@media (max-width: 1024px) {
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-list {
    display: block !important;
    overflow: visible !important;
    padding: 0 !important;
    scrollbar-width: none;
  }
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-item {
    display: block !important;
    flex: none !important;
    min-width: 0 !important;
    margin: 0 0 34px !important;
    padding: 0 0 0 44px !important;
  }
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-item::before {
    content: "" !important;
    position: absolute !important;
    left: 15px !important;
    top: 33px !important;
    bottom: -34px !important;
    width: 1px !important;
    background: repeating-linear-gradient(
      to bottom,
      rgba(23, 21, 15, 0.3) 0 4px,
      transparent 4px 9px
    ) !important;
  }
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-item:last-child::before {
    display: none !important;
  }
  /* 让圆牌相对「条目」定位，而不是相对文案列 */
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-item > div:not(.hvp-nkit-wrap) {
    position: static !important;
    border-top: 0 !important;
    padding: 0 !important;
  }
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-item > div:not(.hvp-nkit-wrap) > .hvp-nkit-index {
    top: 0 !important;
    left: 0 !important;
  }
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-item h3 { font-size: 18px !important; }
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-item p { font-size: 15px !important; }
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2113 .hvp-workshop-item li { font-size: 11px !important; }
}


/* ═════════════════════════════════════════════════════════════════════════════
 * 2. oem-odm（page-id-2356）—— 左右对照双栏
 *    每行 = 一条「阶段 ↔ 交付物」的对照记录：
 *      左栏 = 现场图；右栏 = 编号圆牌（骑在中缝上）+ 阶段名 + 动作说明 + 交付物清单。
 *    中缝是一条贯穿整行高度的实线 → 6 行叠起来就是一张对照表。
 * ────────────────────────────────────────────────────────────────────────── */

body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2356 .hvp-workshop-list {
  display: block !important;
  gap: 0 !important;
}

body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2356 .hvp-workshop-item {
  display: grid !important;
  grid-template-columns: clamp(228px, 26%, 330px) minmax(0, 1fr) !important;
  align-items: stretch !important;
  column-gap: clamp(26px, 3.4vw, 56px) !important;
  row-gap: 0 !important;
  padding: clamp(22px, 2.5vw, 34px) 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-top: 1px solid var(--hv3-line) !important;
  border-radius: 0 !important;
  background: none !important;
  position: relative !important;
}

body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2356 .hvp-workshop-item > .hvp-nkit-figure {
  grid-column: 1 !important;
  grid-row: 1 !important;
  align-self: start !important;
  height: auto !important;
  margin: 0 !important;
  border-radius: 2px !important;
  background: var(--hv3-surface-2) !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2356 .hvp-workshop-item > .hvp-nkit-figure img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 11 !important;
  object-fit: cover !important;
  border-radius: 2px !important;
  filter: saturate(0.95) contrast(1.03) !important;
}

/* 右栏 = 中缝 + 内容 */
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2356 .hvp-workshop-item > div:not(.hvp-nkit-wrap) {
  grid-column: 2 !important;
  grid-row: 1 !important;
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  padding: 0 0 0 clamp(24px, 2.6vw, 46px) !important;
  border-left: 1px solid var(--hv3-line) !important;
}

/* 编号圆牌：骑在中缝上 */
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2356 .hvp-workshop-item > div:not(.hvp-nkit-wrap) > .hvp-nkit-index {
  position: absolute !important;
  top: 0 !important;
  left: -15px !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border: 1px solid var(--hv3-orange) !important;
  border-radius: 50% !important;
  background: var(--hv3-surface) !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2356 .hvp-workshop-item > div:not(.hvp-nkit-wrap) > .hvp-nkit-index span {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--hv3-mono) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.03em !important;
  color: var(--hv3-orange-ink) !important;
  -webkit-text-stroke: 0 !important;
  -webkit-text-fill-color: currentColor !important;
}

body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2356 .hvp-workshop-item h3 {
  font-size: clamp(19px, 1.5vw, 23px) !important;
  line-height: 1.34 !important;
  margin: 0 0 10px !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2356 .hvp-workshop-item p {
  font-size: 15px !important;
  line-height: 1.76 !important;
  margin: 0 !important;
  max-width: 62ch;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2356 .hvp-workshop-item ul {
  margin-top: 18px !important;
  gap: 8px !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2356 .hvp-workshop-item:hover > div:not(.hvp-nkit-wrap) > .hvp-nkit-index {
  background: var(--hv3-orange) !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2356 .hvp-workshop-item:hover > div:not(.hvp-nkit-wrap) > .hvp-nkit-index span {
  color: var(--hv3-paper) !important;
}

@media (max-width: 1000px) {
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2356 .hvp-workshop-item {
    display: block !important;
    padding: 0 0 30px !important;
    border-top: 0 !important;
  }
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2356 .hvp-workshop-item > .hvp-nkit-figure {
    margin: 0 0 20px !important;
  }
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2356 .hvp-workshop-item > div:not(.hvp-nkit-wrap) {
    display: block !important;
    border-left: 0 !important;
    padding: 24px 0 0 !important;
    border-top: 1px solid var(--hv3-line) !important;
  }
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2356 .hvp-workshop-item > div:not(.hvp-nkit-wrap) > .hvp-nkit-index {
    top: -15px !important;
    left: 0 !important;
    background: var(--hv3-surface) !important;
  }
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2356 .hvp-workshop-item > div:not(.hvp-nkit-wrap) > .hvp-nkit-heading {
    padding-top: 8px !important;
  }
}


/* ═════════════════════════════════════════════════════════════════════════════
 * 3. capabilities（page-id-2357）—— 数据看板网格
 *    6 块能力做成 3×2 的仪表盘面板：1px 细线网格（用 gap:1px + 底色露出）分隔，
 *    每格顶部一条窄幅现场图当「图表条」，左上角等宽体通道号，右上角定位角标。
 * ────────────────────────────────────────────────────────────────────────── */

body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2357 .hvp-workshop-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 1px !important;
  padding: 0 !important;
  background: var(--hv3-line) !important;
  border: 1px solid var(--hv3-line) !important;
}

body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2357 .hvp-workshop-item {
  display: block !important;
  grid-template-columns: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-top: 0 !important;
  border-radius: 0 !important;
  background: var(--hv3-surface) !important;
  position: relative !important;
  overflow: hidden !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2357 .hvp-workshop-item::after {
  content: "" !important;
  position: absolute !important;
  top: 13px !important;
  right: 13px !important;
  width: 7px !important;
  height: 7px !important;
  border-top: 1.5px solid var(--hv3-orange) !important;
  border-right: 1.5px solid var(--hv3-orange) !important;
  opacity: 0.72 !important;
  z-index: 3 !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2357 .hvp-workshop-item:hover {
  transform: none !important;
  background: var(--hv3-paper) !important;
}

/* 3.1 顶部现场图
 *     ★高度用 aspect-ratio 而不是写死 px：1440 视口下卡片宽 393px，
 *       5/4 → 314px（原 104px 把照片压成了一条「图表条」，用户反馈太窄）。
 *       卡片宽度是随断点变的（>1100px 三栏 ≈393px／≤1100px 两栏／≤700px 单栏），
 *       写死 px 会在窄断点被拉变形，用比例 + max-height 兜顶更稳。
 *     ⚠️ 图片容器高度变了，条目盒子里的 overflow:hidden（见文件头）仍然保留，
 *        顶部图片是「盒内」内容，不需要 visible。 */
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2357 .hvp-workshop-item > .hvp-nkit-figure {
  height: auto !important;
  aspect-ratio: 5 / 4 !important;
  max-height: 340px !important;
  margin: 0 !important;
  border-radius: 0 !important;
  background: var(--hv3-surface-2) !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2357 .hvp-workshop-item > .hvp-nkit-figure img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  border-radius: 0 !important;
  filter: saturate(0.72) contrast(1.02) !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2357 .hvp-workshop-item:hover > .hvp-nkit-figure img {
  transform: none !important;
  filter: saturate(0.92) contrast(1.02) !important;
}

/* 3.2 面板内容 */
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2357 .hvp-workshop-item > div:not(.hvp-nkit-wrap) {
  display: block !important;
  padding: 22px clamp(20px, 2vw, 30px) 26px !important;
  border-top: 1px solid var(--hv3-line) !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2357 .hvp-workshop-item > div:not(.hvp-nkit-wrap) > .hvp-nkit-index {
  margin: 0 0 12px !important;
  padding: 0 !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2357 .hvp-workshop-item > div:not(.hvp-nkit-wrap) > .hvp-nkit-index span {
  display: inline-block !important;
  margin: 0 !important;
  padding: 3px 8px !important;
  font-family: var(--hv3-mono) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.16em !important;
  color: var(--hv3-orange-ink) !important;
  background: rgba(238, 120, 0, 0.06) !important;
  border: 1px solid var(--hv3-orange-dim) !important;
  -webkit-text-stroke: 0 !important;
  -webkit-text-fill-color: currentColor !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2357 .hvp-workshop-item h3 {
  font-size: 18px !important;
  line-height: 1.38 !important;
  margin: 0 0 10px !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2357 .hvp-workshop-item p {
  font-size: 14.5px !important;
  line-height: 1.76 !important;
  margin: 0 !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2357 .hvp-workshop-item ul {
  margin-top: 16px !important;
  gap: 6px !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2357 .hvp-workshop-item li {
  font-size: 10.5px !important;
  letter-spacing: 0.12em !important;
  padding: 5px 9px !important;
}

@media (max-width: 1100px) {
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2357 .hvp-workshop-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}
@media (max-width: 700px) {
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2357 .hvp-workshop-list {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}


/* ═════════════════════════════════════════════════════════════════════════════
 * 4. quality（page-id-2358）—— 检测流程图
 *    蛇形流向：上行 01→02→03，折向下，下行 04→05→06（自右向左），
 *    再由左侧虚线回路从 06 回到 01（= 内容里「缺陷数据回流 / 持续改进」的闭环）。
 *    两行等高（grid-template-rows: 1fr 1fr）→ 回路两端点位置可精确计算。
 *    ⚠️ 左侧留白必须用「固定值」58px：导轨(left:16px)、短接(left:-42px;width:42px)
 *       三者是同一个几何体系，用 clamp() 会各算各的，接头错位。
 * ────────────────────────────────────────────────────────────────────────── */

body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-list {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(26px, 3.4vw, 54px) clamp(24px, 3vw, 46px) !important;
  position: relative !important;
  padding: 0 0 0 58px !important;
  background: none !important;
  border: 0 !important;
}

body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item {
  display: block !important;
  grid-template-columns: none !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-top: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  /* 箭头 (±21.6px) 与回路短接 (-42px) 全在条目盒子之外，必须放行；
     源层 .hvp-workshop-item{overflow:hidden} 会把它们全裁掉。
     装饰最远只到列表的 padding-left(58px) 与栅格间隙里，不会造成页面级横向溢出。 */
  overflow: visible !important;
  position: relative !important;
}

/* 4.1 蛇形落位：04 在第 2 行右、05 中、06 左 */
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item:nth-child(4) { grid-column: 3 !important; grid-row: 2 !important; }
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item:nth-child(5) { grid-column: 2 !important; grid-row: 2 !important; }
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item:nth-child(6) { grid-column: 1 !important; grid-row: 2 !important; }

/* 4.2 流向箭头 */
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item::after {
  content: "" !important;
  position: absolute !important;
  width: 10px !important;
  height: 10px !important;
  border-top: 1.5px solid var(--hv3-orange) !important;
  border-right: 1.5px solid var(--hv3-orange) !important;
  opacity: 0.8 !important;
  z-index: 4 !important;
}
/* 01、02 →  向右 */
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item:nth-child(1)::after,
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item:nth-child(2)::after {
  top: 50% !important;
  right: calc(clamp(24px, 3vw, 46px) / -2) !important;
  transform: translate(50%, -50%) rotate(45deg) !important;
}
/* 03 ↓  折向下一行 */
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item:nth-child(3)::after {
  left: 50% !important;
  bottom: calc(clamp(26px, 3.4vw, 54px) / -2) !important;
  transform: translate(-50%, 50%) rotate(135deg) !important;
}
/* 04、05 ←  下行自右向左 */
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item:nth-child(4)::after,
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item:nth-child(5)::after {
  top: 50% !important;
  left: calc(clamp(24px, 3vw, 46px) / -2) !important;
  transform: translate(-50%, -50%) rotate(225deg) !important;
}

/* 4.3 失闭上行回路（06 → 01）
   几何：条目左边缘在列表坐标 x=58（padding-left）；短接从 -42 到 0 → 列表坐标 16~58；
   因此导轨与箭头都必须落在 x=16 上，三者才接得上。 */
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-list::before {
  content: "" !important;
  position: absolute !important;
  left: 16px !important;
  top: 16px !important;
  bottom: calc(50% - 16px) !important;
  width: 1px !important;
  background: repeating-linear-gradient(
    to bottom,
    rgba(238, 120, 0, 0.55) 0 6px,
    transparent 6px 12px
  ) !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-list::after {
  content: "" !important;
  position: absolute !important;
  left: 12px !important;
  top: 9px !important;
  width: 8px !important;
  height: 8px !important;
  border-top: 1.5px solid var(--hv3-orange) !important;
  border-right: 1.5px solid var(--hv3-orange) !important;
  transform: rotate(-45deg) !important;
  opacity: 0.8 !important;
}
/* 回路两端与 01 / 06 的横向短接（item 本地坐标 -42 → 0 = 列表坐标 16 → 58） */
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item:nth-child(1)::before,
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item:nth-child(6)::before {
  content: "" !important;
  position: absolute !important;
  top: 16px !important;
  left: -42px !important;
  width: 42px !important;
  height: 1px !important;
  background: repeating-linear-gradient(
    to right,
    rgba(238, 120, 0, 0.55) 0 6px,
    transparent 6px 12px
  ) !important;
}

/* 4.4 卡片本体 */
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item > .hvp-nkit-figure {
  height: auto !important;
  margin: 0 0 20px !important;
  border-radius: 2px !important;
  background: var(--hv3-surface-2) !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item > .hvp-nkit-figure img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 16 / 9 !important;
  object-fit: cover !important;
  border-radius: 2px !important;
  filter: saturate(0.93) contrast(1.03) !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item > div:not(.hvp-nkit-wrap) {
  display: block !important;
  padding: 0 !important;
  position: relative !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item > div:not(.hvp-nkit-wrap) > .hvp-nkit-index {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 3 !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item > div:not(.hvp-nkit-wrap) > .hvp-nkit-index span {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  font-family: var(--hv3-mono) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  letter-spacing: 0.14em !important;
  color: var(--hv3-orange-ink) !important;
  -webkit-text-stroke: 0 !important;
  -webkit-text-fill-color: currentColor !important;
}
/* 文案让开左上角的编号 */
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item > div:not(.hvp-nkit-wrap) > .hvp-nkit-heading {
  padding-left: 34px !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item h3 {
  font-size: 18.5px !important;
  line-height: 1.36 !important;
  margin: 0 0 10px !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item p {
  font-size: 15px !important;
  line-height: 1.74 !important;
  margin: 0 !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item ul {
  margin-top: 15px !important;
  gap: 7px !important;
}
body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item li {
  font-size: 10.5px !important;
  letter-spacing: 0.12em !important;
  padding: 5px 9px !important;
}

/* 4.5 窄屏 → 单列，去掉蛇形与回路装饰 */
@media (max-width: 940px) {
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-list {
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: none !important;
    gap: 30px !important;
    padding-left: 0 !important;
  }
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item:nth-child(4),
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item:nth-child(5),
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item:nth-child(6) {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item::after,
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-item::before,
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-list::before,
  body.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.hvp-ds.page-id-2358 .hvp-workshop-list::after {
    display: none !important;
  }
}
