/* 详情页 10-29 反馈（产品 / 解决方案页）。
   ":not(#df-x)" 与 21-home 的 "#fh-x" 同理：只为压过前面多类名选择器，不匹配任何元素。 */

/* ---- 不可点的标签读作一行要点，不像按钮 ----
   功能标签、小北典型场景的能力标签、政务 / NAC 的框架与业务清单都只是说明，
   去掉实底 / 描边 / 圆角块，改成「蓝点 + 文字」。 */
.v22-detail-page:not(#df-x) :is(.mini-list, .xbs-tags, .c24-chips):where(:not(.nh, .nh *, .nh-home, .nh-home > body)){
  gap: 6px 22px;
}
.v22-detail-page:not(#df-x)
  :is(.mini-list > span, .xbs-tags > li, .c24-chips > li):where(:not(.nh, .nh *, .nh-home, .nh-home > body)){
  /* 18-editorial 的标签规则带 #practice，特异性更高，但颜色取自这两个变量 */
  --v23-tag-text: #4b5b72;
  --v23-tag-background: transparent;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: none;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.7;
  color: #4b5b72;
}
.v22-detail-page:not(#df-x)
  :is(.mini-list > span, .xbs-tags > li, .c24-chips > li):where(:not(.nh, .nh *, .nh-home, .nh-home > body))::before{
  content: '';
  flex: none;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #2950ff;
}
@media (max-width: 760px) {
  .v22-detail-page:not(#df-x) :is(.mini-list, .xbs-tags, .c24-chips):where(:not(.nh, .nh *, .nh-home, .nh-home > body)){
    gap: 4px 18px;
  }
  .v22-detail-page:not(#df-x)
    :is(.mini-list > span, .xbs-tags > li, .c24-chips > li):where(:not(.nh, .nh *, .nh-home, .nh-home > body)){
    font-size: 14px;
  }
}

/* ---- 数字块：同一字号、字重、基线，单位统一小字 ---- */
/* 政企页（政务部分）：三行数字右对齐成一列，「万」按数字的视觉高度缩小 */
.c24-stats > div:where(:not(.nh, .nh *, .nh-home, .nh-home > body)){
  align-items: baseline;
}
.c24-stats dd:not(.c24-stat-note):where(:not(.nh, .nh *, .nh-home, .nh-home > body)){
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  gap: 5px;
  min-width: 132px;
  font-size: 15px;
  line-height: 1;
  white-space: nowrap;
  color: var(--c-muted);
}
.v22-detail-page:not(#df-x) .c24-stats dd b:where(:not(.nh, .nh *, .nh-home, .nh-home > body)){
  font-family: var(--c-num);
  font-size: 44px;
  line-height: 1;
  font-weight: 700;
  letter-spacing: -0.01em;
  font-variant-numeric: lining-nums tabular-nums;
}
.c24-stats .c24-num-cjk:where(:not(.nh, .nh *, .nh-home, .nh-home > body)){
  margin: 0 0.04em 0 0.1em;
  font-family:
    'PingFang SC', 'HarmonyOS Sans SC', 'Noto Sans CJK SC', 'Microsoft YaHei',
    sans-serif;
  font-size: 0.6em;
  font-weight: 600;
  letter-spacing: 0;
}
@media (max-width: 760px) {
  .v22-detail-page:not(#df-x) .c24-stats dd b:where(:not(.nh, .nh *, .nh-home, .nh-home > body)){
    font-size: 38px;
  }
  .c24-stats dd:not(.c24-stat-note):where(:not(.nh, .nh *, .nh-home, .nh-home > body)){
    min-width: 0;
  }
}
/* 制造业页（楼宇自控案例）：前后对比的单位（% / 秒）同一字号字重，中文单位不比 % 显大 */
.v22-detail-page:not(#df-x) .proof-grid .v23-kpi-comparison small:where(:not(.nh, .nh *, .nh-home, .nh-home > body)){
  margin-left: 3px;
  font-family:
    'V23 DIN', 'DIN Alternate', 'PingFang SC', 'Noto Sans CJK SC', sans-serif;
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0;
}
.v22-detail-page:not(#df-x) .proof-grid .v23-kpi-before small:where(:not(.nh, .nh *, .nh-home, .nh-home > body)){
  font-size: 13px;
}

/* ---- 小北 · 典型场景：头部与下面「左列表 + 右内容」左缘对齐 ---- */
.v22-detail-page:not(#df-x) .xbs > :is(.eyebrow, h2, .xbs-intro):where(:not(.nh, .nh *, .nh-home, .nh-home > body)){
  margin-left: 0;
  margin-right: 0;
  text-align: left;
}
.v22-detail-page:not(#df-x) .xbs > .xbs-intro:where(:not(.nh, .nh *, .nh-home, .nh-home > body)){
  max-width: 780px;
  margin-top: 12px;
  font-size: 17px;
  line-height: 1.75;
}
.v22-detail-page:not(#df-x) .xbs > .xbs-body:where(:not(.nh, .nh *, .nh-home, .nh-home > body)){
  margin-top: 40px;
}
@media (max-width: 900px) {
  .v22-detail-page:not(#df-x) .xbs > .xbs-intro:where(:not(.nh, .nh *, .nh-home, .nh-home > body)){
    font-size: 16px;
  }
  .v22-detail-page:not(#df-x) .xbs > .xbs-body:where(:not(.nh, .nh *, .nh-home, .nh-home > body)){
    margin-top: 28px;
  }
}

/* ---- Weaver · 领域训练效果：说明文字均匀折行，手机上不留「平。」这样的孤字 ---- */
.v22-detail-page:not(#df-x) .proof-grid [data-training-case]:where(:not(.nh, .nh *, .nh-home, .nh-home > body)){
  text-wrap: balance;
}
