/* ===== 数据解决方案页 · 页面专属样式（作用域 .page-products） ===== */

.page-products {
  --pdp-rule: 1px solid var(--tick);
  --pdp-pad: clamp(40px, 6vw, 76px);
  display: block;
  color: var(--paper);
  font-family: var(--font-sans);
  font-size: var(--fs-body);
  line-height: 1.9;
}

.page-products p {
  margin: 0 0 .9em;
}

.page-products p:last-child {
  margin-bottom: 0;
}

.page-products .pdp-wrap {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--wrap);
  margin-inline: auto;
  padding-inline: var(--gutter);
}

/* ---------- 首屏：主题声明 + 数据条 ---------- */

.page-products .pdp-intro {
  padding-block: clamp(24px, 4vw, 56px) clamp(20px, 3vw, 32px);
}

.page-products .pdp-intro h1 {
  margin: var(--sp-3) 0 0;
  max-width: 22ch;
  font-size: clamp(26px, 5vw, 44px);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .045em;
  color: var(--paper);
}

.page-products .pdp-intro .section-lede {
  margin: var(--sp-5) 0 0;
  max-width: 64ch;
  font-size: var(--fs-body);
  line-height: 1.9;
  color: var(--mist);
}

.page-products .pdp-strip {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-5) var(--sp-4);
  margin: var(--sp-6) 0 0;
  padding: var(--sp-5) 0 0;
  border-top: var(--pdp-rule);
}

.page-products .pdp-strip__cell {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.page-products .pdp-strip dt {
  order: 2;
  margin: 0;
  font-size: var(--fs-note);
  letter-spacing: .14em;
  color: var(--mist-dim);
}

.page-products .pdp-strip dd {
  order: 1;
  margin: 0;
  font-family: var(--font-num);
  font-size: clamp(24px, 3.6vw, 34px);
  line-height: 1.2;
  letter-spacing: .02em;
  color: var(--paper);
}

@media (min-width: 720px) {
  .page-products .pdp-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

/* ---------- 模块索引刻度条 ---------- */

.page-products .pdp-index {
  padding-block: var(--sp-7) var(--sp-6);
}

.page-products .pdp-index__label {
  margin: 0 0 var(--sp-4);
  font-size: var(--fs-note);
  letter-spacing: .16em;
  color: var(--mist-dim);
}

.page-products .pdp-index__rail {
  list-style: none;
  margin: 0;
  padding: var(--sp-5) 0 0;
  border-top: var(--pdp-rule);
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.page-products .pdp-index__cell {
  border-bottom: var(--pdp-rule);
}

.page-products .pdp-index__cell:last-child {
  border-bottom: 0;
}

.page-products .pdp-index__cell a {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas:
    "n t"
    "n d";
  gap: 2px var(--sp-4);
  padding: var(--sp-4) 0;
  color: inherit;
  text-decoration: none;
  transition: color var(--dur-fast) var(--ease);
}

.page-products .pdp-index__n {
  grid-area: n;
  padding-top: .35em;
  font-family: var(--font-num);
  font-size: var(--fs-note);
  color: var(--mist-dim);
  transition: color var(--dur-fast) var(--ease);
}

.page-products .pdp-index__t {
  grid-area: t;
  font-weight: 700;
  letter-spacing: .05em;
  color: var(--paper);
  transition: color var(--dur-fast) var(--ease);
}

.page-products .pdp-index__d {
  grid-area: d;
  font-size: var(--fs-note);
  color: var(--mist);
}

.page-products .pdp-index__cell a:hover .pdp-index__t,
.page-products .pdp-index__cell a:focus-visible .pdp-index__t {
  color: var(--cyan);
}

.page-products .pdp-index__cell a:hover .pdp-index__n,
.page-products .pdp-index__cell a:focus-visible .pdp-index__n {
  color: var(--amber);
}

@media (min-width: 900px) {
  .page-products .pdp-index__rail {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0 var(--sp-5);
  }

  .page-products .pdp-index__cell {
    position: relative;
    border-bottom: 0;
  }

  .page-products .pdp-index__cell::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 1px;
    background: var(--tick);
    transition: background-color var(--dur) var(--ease), width var(--dur) var(--ease);
  }

  .page-products .pdp-index__cell:hover::before,
  .page-products .pdp-index__cell:focus-within::before {
    width: 2px;
    background: var(--amber);
  }

  .page-products .pdp-index__cell a {
    padding: 0 0 0 var(--sp-4);
  }
}

/* ---------- 模块通用骨架 ---------- */

.page-products .pdp-module {
  padding-block: var(--pdp-pad);
  border-top: var(--pdp-rule);
  scroll-margin-top: 88px;
}

.page-products .pdp-module__head .section-title {
  margin: var(--sp-3) 0 0;
  max-width: 34ch;
  font-size: clamp(21px, 3.2vw, 30px);
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: .03em;
  color: var(--paper);
}

.page-products .pdp-lede {
  margin: var(--sp-4) 0 0;
  max-width: 68ch;
  font-size: var(--fs-body);
  line-height: 1.9;
  color: var(--mist);
}

.page-products .pdp-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: var(--sp-6);
  margin-top: var(--sp-6);
}

@media (min-width: 1024px) {
  .page-products .pdp-grid {
    grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
    gap: var(--sp-7);
    align-items: start;
  }
}

.page-products .pdp-grid__note {
  max-width: 62ch;
  font-size: var(--fs-body);
  line-height: 1.9;
  color: var(--paper);
}

.page-products .pdp-grid__note a {
  color: var(--cyan);
  text-decoration: none;
  border-bottom: 1px solid var(--cyan-a40);
}

.page-products .pdp-grid__note a:hover {
  border-bottom-color: var(--cyan);
}

/* ---------- 图片位 ---------- */

.page-products .pdp-figure {
  margin: 0;
  border: var(--pdp-rule);
  border-radius: var(--radius);
  background: var(--pod);
  box-shadow: var(--shadow-1);
  overflow: hidden;
}

.page-products .pdp-figure .figure__media {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  object-fit: cover;
  filter: grayscale(.85) contrast(1.06) brightness(.9);
}

.page-products .pdp-figure .figure__caption {
  padding: var(--sp-3) var(--sp-4);
  border-top: var(--pdp-rule);
  font-size: var(--fs-note);
  line-height: 1.7;
  color: var(--mist-dim);
}

.page-products .pdp-figure--band,
.page-products .pdp-figure--mid {
  margin-top: var(--sp-6);
}

/* ---------- 字段表 ---------- */

.page-products .pdp-tablecap {
  margin: var(--sp-7) 0 var(--sp-3);
  font-size: var(--fs-note);
  letter-spacing: .12em;
  color: var(--mist-dim);
}

.page-products .pdp-tablewrap {
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.page-products .datatable {
  width: 100%;
  min-width: 520px;
  border-collapse: collapse;
  font-size: var(--fs-meta);
  line-height: 1.7;
}

.page-products .datatable th,
.page-products .datatable td {
  padding: var(--sp-3) var(--sp-3) var(--sp-3) 0;
  text-align: left;
  vertical-align: top;
  border-bottom: var(--pdp-rule);
}

.page-products .datatable thead th {
  font-size: var(--fs-note);
  font-weight: 600;
  letter-spacing: .1em;
  white-space: nowrap;
  color: var(--mist-dim);
}

.page-products .datatable tbody th {
  font-weight: 700;
  white-space: nowrap;
  color: var(--paper);
}

.page-products .datatable tbody td {
  color: var(--mist);
}

.page-products .datatable tbody tr:hover {
  background: var(--lift);
}

.page-products .datatable .num {
  text-align: right;
  font-family: var(--font-num);
  letter-spacing: .02em;
}

/* ---------- 球员指标展开行 ---------- */

.page-products .pdp-fields {
  margin-top: var(--sp-6);
  border-top: var(--pdp-rule);
}

.page-products .pdp-fields__label {
  margin: 0;
  padding: var(--sp-3) 0;
  font-size: var(--fs-note);
  letter-spacing: .1em;
  color: var(--mist-dim);
}

.page-products .pdp-field {
  border-bottom: var(--pdp-rule);
}

.page-products .pdp-field__head {
  display: flex;
  align-items: center;
  gap: var(--sp-4);
  width: 100%;
  margin: 0;
  padding: var(--sp-4) 0;
  background: none;
  border: 0;
  border-radius: 0;
  font: inherit;
  text-align: left;
  color: var(--paper);
  cursor: pointer;
  transition: color var(--dur-fast) var(--ease);
}

.page-products .pdp-field__head:hover {
  color: var(--cyan);
}

.page-products .pdp-field__head:focus-visible {
  outline: 2px solid var(--amber);
  outline-offset: 3px;
}

.page-products .pdp-field__head[aria-expanded="true"] {
  color: var(--cyan);
}

.page-products .pdp-field__name {
  flex: 1 1 auto;
  font-weight: 700;
  letter-spacing: .05em;
}

.page-products .pdp-field__n {
  flex: 0 0 auto;
  font-family: var(--font-num);
  font-size: var(--fs-note);
  color: var(--mist-dim);
}

.page-products .pdp-field__cue {
  flex: 0 0 8px;
  width: 8px;
  height: 8px;
  border-right: 1px solid var(--mist);
  border-bottom: 1px solid var(--mist);
  transform: rotate(45deg);
  transition: transform var(--dur) var(--ease), border-color var(--dur) var(--ease);
}

.page-products .pdp-field__head[aria-expanded="true"] .pdp-field__cue {
  transform: rotate(-135deg);
  border-color: var(--cyan);
}

.page-products .pdp-field__body {
  padding: 0 0 var(--sp-5);
}

.page-products .pdp-chiplist {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--sp-2) var(--sp-4);
  margin: 0;
  padding: 0;
}

.page-products .pdp-chiplist li {
  position: relative;
  padding-left: var(--sp-4);
  font-size: var(--fs-meta);
  line-height: 1.7;
  color: var(--mist);
}

.page-products .pdp-chiplist li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .85em;
  width: 6px;
  height: 1px;
  background: var(--cyan);
}

@media (min-width: 640px) {
  .page-products .pdp-chiplist {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ---------- 伤停状态清单 ---------- */

.page-products .pdp-status {
  list-style: none;
  margin: var(--sp-6) 0 0;
  padding: 0;
  border-top: var(--pdp-rule);
}

.page-products .pdp-status li {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--sp-2) var(--sp-3);
  padding: var(--sp-4) 0;
  border-bottom: var(--pdp-rule);
}

.page-products .pdp-status__desc {
  flex: 1 1 100%;
  font-size: var(--fs-meta);
  line-height: 1.8;
  color: var(--mist);
}

@media (min-width: 760px) {
  .page-products .pdp-status__desc {
    flex: 1 1 260px;
  }
}

/* ---------- 复盘出口列表 ---------- */

.page-products .pdp-outlet {
  margin: 0;
  border-top: var(--pdp-rule);
}

.page-products .pdp-outlet > div {
  padding: var(--sp-4) 0;
  border-bottom: var(--pdp-rule);
}

.page-products .pdp-outlet dt {
  font-size: var(--fs-body);
  font-weight: 700;
  letter-spacing: .04em;
  color: var(--paper);
}

.page-products .pdp-outlet dd {
  margin: var(--sp-1) 0 0;
  font-size: var(--fs-meta);
  line-height: 1.8;
  color: var(--mist);
}

/* ---------- 客户端能力清单 ---------- */

.page-products .pdp-cap {
  list-style: none;
  margin: var(--sp-6) 0 0;
  padding: 0;
  border-top: var(--pdp-rule);
}

.page-products .pdp-cap li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-areas:
    "n k"
    "n v";
  gap: var(--sp-1) var(--sp-4);
  padding: var(--sp-4) 0;
  border-bottom: var(--pdp-rule);
  transition: background-color var(--dur-fast) var(--ease);
}

.page-products .pdp-cap li:hover {
  background: var(--pod);
}

.page-products .pdp-cap__n {
  grid-area: n;
  padding-top: .4em;
  font-family: var(--font-num);
  font-size: var(--fs-note);
  color: var(--amber);
}

.page-products .pdp-cap__k {
  grid-area: k;
  font-weight: 700;
  letter-spacing: .05em;
  color: var(--paper);
}

.page-products .pdp-cap__v {
  grid-area: v;
  font-size: var(--fs-meta);
  line-height: 1.8;
  color: var(--mist);
}

/* ---------- 页尾索引 ---------- */

.page-products .pdp-next {
  padding-block: var(--pdp-pad);
  border-top: var(--pdp-rule);
}

.page-products .pdp-next__title {
  margin: 0 0 var(--sp-5);
  font-size: var(--fs-note);
  font-weight: 600;
  letter-spacing: .16em;
  color: var(--mist-dim);
}

.page-products .pdp-next__list {
  list-style: none;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin: 0;
  padding: 0;
}

.page-products .pdp-next__list li {
  border-bottom: var(--pdp-rule);
}

.page-products .pdp-next__list a {
  display: block;
  padding: var(--sp-4) 0;
  text-decoration: none;
  color: var(--paper);
  transition: color var(--dur-fast) var(--ease);
}

.page-products .pdp-next__list a:hover,
.page-products .pdp-next__list a:focus-visible {
  color: var(--cyan);
}

.page-products .pdp-next__k {
  display: block;
  font-weight: 700;
  letter-spacing: .05em;
}

.page-products .pdp-next__v {
  display: block;
  margin-top: var(--sp-1);
  font-size: var(--fs-note);
  line-height: 1.7;
  color: var(--mist-dim);
}

@media (min-width: 760px) {
  .page-products .pdp-next__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 var(--sp-6);
  }
}

/* ---------- 降级与无障碍 ---------- */

@media (prefers-reduced-motion: reduce) {
  .page-products *,
  .page-products *::before,
  .page-products *::after {
    transition-duration: 1ms !important;
    animation-duration: 1ms !important;
  }
}
