/* ==========================================================================
   统一「卡片模式」降级：二级（解决方案详情）/ 三级（产品详情）页面
   --------------------------------------------------------------------------
   规则（对非硬件、非证书类详情页生效）：
     1. 图标卡 / 数字卡 / 图片卡 / 面板卡 —— 一律去掉外框、阴影、图标底座，
        改成「标题 + 说明」的编辑式两列列表，行间用细分隔线，不再用卡片容器。
     2. 与具体技术/特点无关的配图（mcard-media / card-bg 项目实景）隐藏，
        信息由文字承载；真实产品图、证书、表格、gallery、时间线不受影响。
     3. 有先后顺序的数字卡（实施/配置步骤）改为编号流程，桌面 4 列、平板 2 列、手机 1 列。
     4. 面板 .panel 不再做厚卡片，退化为普通文字块。
     5. 移动端一律单列。
   ========================================================================== */
.detail-experiment main .reveal.reveal-pending { opacity:1; translate:none; }

/* 固定列宽：列数交给模板按张数算（能整除就均分），这里不再覆盖，避免 4+4+1 的孤立末行。 */
.detail-experiment .star-list--bal { align-items:start; gap:16px 44px; max-width:none; }
.detail-experiment .star-list--bal > li { min-width:0; }

/* 产品中心总览：三类自研单元居中排列（图在上、文字与型号居中，与主标题对齐） */
.page-product .mcards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 44px 32px !important;
}
.page-product .mcard {
  position: static;
  display: block;
  padding: 0;
  text-align: center;
  background: none;
  border: 0;
  border-radius: 0;
  box-shadow: none;
}
.page-product .mcard .mcard-media {
  position: static;
  width: 100%; height: auto;
  aspect-ratio: 2 / 1;
  margin: 0 0 18px;
  border: 0;
  border-radius: 0;
  background: #FFFFFF;
  overflow: hidden;
}
.page-product .mcard .mcard-media img { width: 100%; height: 100%; object-fit: contain; }
.page-product .mcard .mcard-body { padding: 0; background: none; border: 0; text-align: center; }
.page-product .mcard-body h3 { display: block; justify-content: center; margin: 4px 0 12px; }
.page-product .mcard-body h3::before { display: none; }
.page-product .mcard .tags { gap: 8px; justify-content: center; }

@media (max-width: 760px) {
  .page-product .mcards { grid-template-columns: minmax(0, 1fr) !important; gap: 32px !important; }
}

/* 硬件页单独处理：保留真实图片，避免套用上面的隐藏配图规则。 */
.page-product-hardware .mcards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:32px; background:none; border:0; box-shadow:none; }
.page-product-hardware .mcard { min-width:0; padding:0; background:none; border:0; border-radius:0; box-shadow:none; }
.page-product-hardware .mcard-media { display:block; aspect-ratio:2 / 1; overflow:hidden; background:#fff; border-radius:0; }
.page-product-hardware .mcard-media img { display:block; width:100%; height:100%; object-fit:contain; }
.page-product-hardware .mcard-body { padding:20px 0; background:none; border-top:1px solid #B9C6BD; }
.page-product-hardware .mcard h3 { margin:6px 0 12px; }
.page-product-hardware .mcard-lead { margin:0; line-height:1.8; overflow-wrap:anywhere; }
.page-product-hardware .table-wrap { background:none; border:0; border-radius:0; box-shadow:none; }
.page-product-hardware table.data { width:100%; min-width:0; table-layout:fixed; background:none; }
.page-product-hardware table.data th,
.page-product-hardware table.data td { padding:18px 20px; vertical-align:top; background:none; border:0; border-bottom:1px solid #D2DCD3; overflow-wrap:anywhere; }
.page-product-hardware table.data th { background:#E9EFE7; border-top:1px solid #B9C6BD; text-align:left; }
.page-product-hardware table.data th:first-child,
.page-product-hardware table.data td:first-child { width:150px; white-space:nowrap; }
.page-product-hardware .panel.hud { margin-top:28px; padding:24px 0 0; background:none; border:0; border-top:1px solid #B9C6BD; border-radius:0; box-shadow:none; }
.page-product-hardware .panel .dot--grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 32px; }
@media(max-width:700px) {
  .page-product-hardware .mcards { grid-template-columns:minmax(0,1fr); gap:24px; }
  .page-product-hardware table.data th,
  .page-product-hardware table.data td { padding:14px 10px; }
  .page-product-hardware table.data th:first-child,
  .page-product-hardware table.data td:first-child { width:100px; }
  .page-product-hardware .panel .dot--grid { grid-template-columns:minmax(0,1fr); }
}

/* 网格：图标卡 / 图片卡 / 数字卡 / 卡片栅格统一为两列编辑式列表；
   有序步骤卡不覆盖列数，交给模板按张数均分（9 条 → 3 列 3 行）。 */
.detail-experiment .lst-cards:not(.lst-cards--num),
.detail-experiment .mcards,
.detail-experiment .num-cards,
.detail-experiment .cards,
.detail-experiment .bal-grid {
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 0 44px !important;
}
.detail-experiment .lst-cards > *,
.detail-experiment .mcards > *,
.detail-experiment .num-cards > *,
.detail-experiment .cards > *,
.detail-experiment .bal-grid > * {
  grid-column: auto !important;
}

/* 步骤卡：列数由模板决定，只收紧间距 */
.detail-experiment .lst-cards--num {
  gap: 0 24px !important;
}

/* 扁平化后不再需要卡片标题下的折角装饰 */
.detail-experiment .lst-card h4::after,
.detail-experiment .card h3::after { display: none; }

/* 卡片本体：去边框阴影，改为行式文字块 */
.detail-experiment .lst-card,
.detail-experiment .mcard,
.detail-experiment .num-card,
.detail-experiment .card,
.detail-experiment .dl-card {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 16px 0;
  margin: 0;
  background: none;
  border: 0;
  border-top: 1px solid #D2DCD3;
  border-radius: 0;
  box-shadow: none;
  text-align: left;
  align-items: stretch;
}
.detail-experiment .panel.hud {
  padding: 0;
  margin: 0;
  background: none;
  border: 0;
  box-shadow: none;
}
.detail-experiment .panel.hud > h3 { margin-bottom: 12px; }

/* 隐藏装饰图标底座与无关配图 */
.detail-experiment .lst-card .icon-badge,
.detail-experiment .num-card .icon-badge,
.detail-experiment .card .icon-badge { display: none; }
.detail-experiment .mcard .mcard-media,
.detail-experiment .card .card-bg { display: none; }
.detail-experiment .mcard .mcard-body { padding: 0; }

/* 文字层级 */
.detail-experiment .lst-card h4,
.detail-experiment .mcard h3,
.detail-experiment .num-card h4,
.detail-experiment .card h3,
.detail-experiment .card h4 { font-size: 16px; line-height: 1.6; margin: 0 0 4px; color: #12241C; }
.detail-experiment .lst-card .card-sum,
.detail-experiment .mcard .mcard-lead,
.detail-experiment .num-card p,
.detail-experiment .card p { font-size: 14.5px; line-height: 1.8; margin: 0; color: #3A4F44; }

/* 列表里的子项（dot/tick/star）保持可读 */
.detail-experiment .lst-cards .dot,
.detail-experiment .panel .dot,
.detail-experiment .panel ul,
.detail-experiment .lst-card ul { font-size: 14.5px; line-height: 1.8; color: #3A4F44; }

/* 步骤流程标记：去掉图标，用文字序号 */
.detail-experiment .lst-cards--num .lst-card .icon-badge { display: none; }
.detail-experiment .lst-cards--num .lst-card { border-top: 2px solid #B9C6BD; position: relative; }
.detail-experiment .lst-cards--num .lst-card::before {
  content: "";
  position: absolute; top: -7px; left: 0; width: 12px; height: 12px; border-radius: 50%;
  background: #1E7A57;
}

@media (max-width: 900px) {
  /* 步骤卡不强行压成两列：9 条压两列会剩一条孤零零收尾，交给模板的列数更整齐 */
  .detail-experiment .lst-cards,
  .detail-experiment .mcards,
  .detail-experiment .num-cards,
  .detail-experiment .cards,
  .detail-experiment .bal-grid { gap: 0 32px !important; }
  .detail-experiment .lst-cards--num { gap: 0 20px !important; }
}
@media (max-width: 640px) {
  .detail-experiment .lst-cards,
  .detail-experiment .mcards,
  .detail-experiment .num-cards,
  .detail-experiment .cards,
  .detail-experiment .bal-grid,
  .detail-experiment .lst-cards--num { grid-template-columns: 1fr !important; gap: 0 !important; }
}

/* 星号要点：详情页统一两列，避免列数随条目多少变来变去 */
.detail-experiment .star-list--bal {
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 14px 44px;
}
@media (max-width: 640px) {
  .detail-experiment .star-list--bal { grid-template-columns: minmax(0,1fr) !important; gap: 12px; }
}

/* 点状/勾选清单：同样收成两列行式，与上面的图标卡列表共用分隔线和节奏 */
.detail-experiment .dot--grid,
.detail-experiment .fs-list--grid {
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 0 44px;
}
.detail-experiment .dot--grid li,
.detail-experiment .fs-list--grid li {
  margin: 0;
  padding: 12px 0 12px 20px;
  border-top: 1px solid #D2DCD3;
  font-size: 14.5px;
  line-height: 1.8;
  color: #3A4F44;
}
.detail-experiment .dot--grid li::before { top: 19px; }
.detail-experiment .fs-list--grid li .tick { margin-top: 2px; }

@media (max-width: 640px) {
  .detail-experiment .dot--grid,
  .detail-experiment .fs-list--grid { grid-template-columns: minmax(0,1fr) !important; }
}

/* 面板里的列表与标题之间留出与卡片列表一致的间距 */
.detail-experiment .panel.hud > .dot,
.detail-experiment .panel.hud > .fs-list,
.detail-experiment .panel.hud > ul { margin-top: 4px; }

/* ==========================================================================
   产品 / 解决方案详情页：统一的字号字重 + 去掉列表前的五角星
   --------------------------------------------------------------------------
   一级区块标题 32/700，条目标题 16/700，正文 14.5/400，行高 1.8。
   星号列表不再显示 ☆，只留文字。
   ========================================================================== */
body[class*="page-product-"] .star-list li::before,
body[class*="page-solution-"] .star-list li::before {
  content: none;
  display: none;
}
body[class*="page-product-"] .star-list--bal li,
body[class*="page-solution-"] .star-list--bal li {
  padding-left: 0;
}

/* 区块主标题统一 */
body[class*="page-product-"] .sec-head h2,
body[class*="page-solution-"] .sec-head h2 {
  font-size: clamp(28px, 3vw, 32px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: 0;
}

/* 条目标题统一 */
body[class*="page-product-"] .lst-card h4,
body[class*="page-product-"] .num-card h4,
body[class*="page-product-"] .card h3,
body[class*="page-product-"] .mcard h3,
body[class*="page-solution-"] .lst-card h4,
body[class*="page-solution-"] .num-card h4,
body[class*="page-solution-"] .card h3,
body[class*="page-solution-"] .mcard h3 {
  font-size: 16px;
  font-weight: 700;
  line-height: 1.6;
  margin: 0 0 5px;
  color: #12241C;
}

/* 正文统一 */
body[class*="page-product-"] .lst-card .card-sum,
body[class*="page-product-"] .lst-card .card-detail,
body[class*="page-product-"] .num-card p,
body[class*="page-product-"] .card p,
body[class*="page-product-"] .mcard .mcard-lead,
body[class*="page-solution-"] .lst-card .card-sum,
body[class*="page-solution-"] .lst-card .card-detail,
body[class*="page-solution-"] .num-card p,
body[class*="page-solution-"] .card p,
body[class*="page-solution-"] .mcard .mcard-lead {
  font-size: 14.5px;
  font-weight: 400;
  line-height: 1.8;
  color: #3A4F44;
}

/* ==========================================================================
   全站统一：列表去掉星号/圆点，文字居中与主标题对齐
   ========================================================================== */
.star-list li::before { content: none; display: none; }
.star-list--bal li {
  justify-content: center;
  text-align: center;
  padding-left: 0;
}

.dot--grid li::before { display: none; }
.dot--grid li {
  text-align: center;
  padding-left: 0;
}

/* 荣誉页：产品荣誉改成居中一段 */
.page-honors .grid.grid-3 > .card { text-align: center; }
.page-honors .grid.grid-3 > .card h3::after { display: none; }
.page-honors .grid.grid-3 > .card .card-copy { text-align: center; }

body[class*="page-product-"] .section--dark .num-card h4,
body[class*="page-product-"] .section--dark .lst-card h4,
body[class*="page-product-"] .section--card .num-card h4,
body[class*="page-product-"] .section--card .lst-card h4,
body[class*="page-solution-"] .section--dark .num-card h4,
body[class*="page-solution-"] .section--dark .lst-card h4,
body[class*="page-solution-"] .section--card .num-card h4,
body[class*="page-solution-"] .section--card .lst-card h4 { color: #FFFFFF; }

/* 深色区块里标题下的折角装饰容易糊，隐藏 */
body[class*="page-product-"] .section--dark .num-card h4::after,
body[class*="page-product-"] .section--card .num-card h4::after,
body[class*="page-solution-"] .section--dark .num-card h4::after,
body[class*="page-solution-"] .section--card .num-card h4::after { display: none; }

/* 主标题下的说明文字加粗，与产品目录其它页面一致 */
body[class*="page-product-"] .sec-head p,
body[class*="page-solution-"] .sec-head p {
  font-weight: 600;
  color: #3A4F44;
}

/* 点状清单同样居中、去掉前面的圆点（保持整列宽度，分隔线才拉齐） */
body[class*="page-product-"] .dot--grid,
body[class*="page-solution-"] .dot--grid { justify-items: stretch; }
body[class*="page-product-"] .dot--grid li,
body[class*="page-solution-"] .dot--grid li {
  text-align: center;
  padding-left: 0;
}
body[class*="page-product-"] .dot--grid li::before,
body[class*="page-solution-"] .dot--grid li::before { display: none; }

body[class*="page-product-"] .star-list li,
body[class*="page-solution-"] .star-list li {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.8;
  color: #2C4237;
}

body[class*="page-product-"] .star-list--bal li,
body[class*="page-solution-"] .star-list--bal li {
  justify-content: center;
  text-align: center;
}

body[class*="page-product-"] .kpi-row:has(> .kpi:only-child) > .kpi,
body[class*="page-solution-"] .kpi-row:has(> .kpi:only-child) > .kpi {
  justify-content: center;
  text-align: center;
  gap: 4px 14px;
}

body[class*="page-product-"] .lst-cards .lst-card,
body[class*="page-product-"] .num-cards .num-card,
body[class*="page-product-"] .cards .card,
body[class*="page-solution-"] .lst-cards .lst-card,
body[class*="page-solution-"] .num-cards .num-card,
body[class*="page-solution-"] .cards .card {
  text-align: center;
}

body[class*="page-product-"] .lst-cards .lst-card > *,
body[class*="page-product-"] .num-cards .num-card > *,
body[class*="page-product-"] .cards .card > *,
body[class*="page-solution-"] .lst-cards .lst-card > *,
body[class*="page-solution-"] .num-cards .num-card > *,
body[class*="page-solution-"] .cards .card > * {
  align-self: center;
}

body[class*="page-product-"] .lst-card .card-copy,
body[class*="page-product-"] .num-card .card-copy,
body[class*="page-solution-"] .lst-card .card-copy,
body[class*="page-solution-"] .num-card .card-copy { text-align: center; }

body[class*="page-product-"] .lst-card .card-sum,
body[class*="page-product-"] .lst-card .card-detail,
body[class*="page-solution-"] .lst-card .card-sum,
body[class*="page-solution-"] .lst-card .card-detail { text-align: center; }

body[class*="page-product-"] .lst-cards .card-sum,
body[class*="page-solution-"] .lst-cards .card-sum { margin-inline: auto; }

/* 行内各项顶部对齐，只做水平居中：有标题/没标题的两列也能对齐 */
body[class*="page-product-"] .lst-cards .lst-card,
body[class*="page-solution-"] .lst-cards .lst-card { justify-content: flex-start; }

   否则深绿字压在深绿底上完全看不见 */
.detail-experiment .section--dark .lst-card h4,
.detail-experiment .section--dark .num-card h4,
.detail-experiment .section--dark .card h3,
.detail-experiment .section--dark .mcard h3,
.detail-experiment .section--card .lst-card h4,
.detail-experiment .section--card .num-card h4,
.detail-experiment .section--card .card h3,
.detail-experiment .section--card .mcard h3 { color: #FFFFFF; }

.detail-experiment .section--dark .lst-card .card-sum,
.detail-experiment .section--dark .lst-card .card-detail,
.detail-experiment .section--dark .num-card p,
.detail-experiment .section--dark .card p,
.detail-experiment .section--dark .mcard .mcard-lead,
.detail-experiment .section--card .lst-card .card-sum,
.detail-experiment .section--card .lst-card .card-detail,
.detail-experiment .section--card .num-card p,
.detail-experiment .section--card .card p,
.detail-experiment .section--card .mcard .mcard-lead { color: rgba(255, 255, 255, .84); }

.detail-experiment .section--dark .lst-card,
.detail-experiment .section--dark .num-card,
.detail-experiment .section--card .lst-card,
.detail-experiment .section--card .num-card { border-top-color: rgba(255, 255, 255, .24); }
