.page-pro .pro-center {
  position: relative;
  background-color: #0a234d;
  background-image: url("/static/images/product/circuit-bg.webp");
  background-size: cover;
  background-position: center;
  padding: 0.72rem 0 0.88rem;
  overflow: hidden;
}

.page-pro .pro-center::before {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(
      ellipse 80% 60% at 20% 30%,
      rgba(26, 107, 181, 0.18),
      transparent 60%
    ),
    radial-gradient(ellipse 70% 50% at 85% 70%, rgba(237, 144, 64, 0.08), transparent 55%);
  pointer-events: none;
}

.page-pro .pro-center .fluid-wrapper {
  position: relative;
  z-index: 1;
}

.pro-cate-main {
  background: #fff;
  border-radius: 0.16rem;
  padding: 0.36rem 0.4rem 0.4rem;
  min-height: 2.6rem;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0.08rem 0.28rem rgba(0, 0, 0, 0.12);
}

.pro-cate-main .pro-cate-title {
  font-size: var(--font32);
  font-weight: 700;
  color: var(--hudson-navy, #0d3066);
  margin: 0 0 0.28rem;
  position: relative;
  z-index: 1;
}
.pro-cate-main .pro-cate-title a{
  color: var(--hudson-navy, #0d3066);
}
.pro-cate-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.12rem 0.4rem;
  max-width: 8.2rem;
  position: relative;
  z-index: 1;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pro-cate-links li {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.08rem;
  line-height: 1.8;
  font-size: var(--font16);
}

.pro-cate-links li::before {
  content: "";
  flex: none;
  width: 0;
  height: 0;
  border-top: 0.35em solid transparent;
  border-bottom: 0.35em solid transparent;
  border-left: 0.45em solid rgba(255, 87, 34, 1);
}

.pro-cate-links a {
  color: #2a3441;
  font-size: var(--font16);
  transition: color 0.3s;
}

.pro-cate-links a:hover {
  color: var(--hudson-orange, #ed9040);
}

@media only screen and (min-width: 1920px) {
  .pro-cate-links {
    max-width: 12rem;
  }
}

@media only screen and (min-width: 2400px) {
  .pro-cate-links {
    max-width: 13.6rem;
  }
}

.pro-cate-main .pro-cate-mark {
  position: absolute;
  right: 0.4rem;
  top: 50%;
  bottom: auto;
  width: 2.4rem;
  height: auto;
  transform: translateY(-50%);
  opacity: 0.9;
  pointer-events: none;
  user-select: none;
}

.pro-cate-main .pro-cate-arrow {
  position: absolute;
  right: 0.1rem;
  bottom: 0.12rem;
  width: 0.54rem;
  height: auto;
  z-index: 1;
  pointer-events: none;
  user-select: none;
}

.pro-cate-row {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.24rem;
  margin-top: 0.24rem;
}

.pro-cate-card {
  background: #fff;
  border-radius: 0.16rem;
  min-height: 2.52rem;
  padding: 0.28rem 0.28rem 0.2rem;
  position: relative;
  overflow: hidden;
  display: block;
  box-shadow: 0 0.08rem 0.28rem rgba(0, 0, 0, 0.12);
  transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.pro-cate-card:hover {
  transform: translateY(-0.04rem);
  box-shadow: 0 0.12rem 0.32rem rgba(0, 0, 0, 0.16);
}

.pro-cate-card .pro-cate-title {
  font-size: var(--font26);
  font-weight: 700;
  color: var(--hudson-navy, #0d3066);
  margin: 0;
  position: relative;
  z-index: 1;
}

.pro-cate-card .pro-cate-mark {
  position: absolute;
  right: 0.24rem;
  top: 46%;
  bottom: auto;
  width: 1.6rem;
  height: auto;
  transform: translateY(-50%);
  opacity: 0.85;
  pointer-events: none;
  user-select: none;
}

.pro-cate-card .pro-cate-arrow {
  position: absolute;
  right: 0.12rem;
  bottom: 0.04rem;
  width: 0.54rem;
  height: auto;
  z-index: 1;
  pointer-events: none;
  user-select: none;
}

@media only screen and (max-width: 767px) {
  .page-pro .pro-center {
    padding: 28px 0 40px;
  }

  .pro-cate-main {
    padding: 20px 18px 24px;
    min-height: 0;
  }

  .pro-cate-main .pro-cate-title {
    font-size: var(--font22);
    margin-bottom: 16px;
  }

  .pro-cate-links {
    grid-template-columns: 1fr;
    gap: 4px;
    max-width: none;
  }

  .pro-cate-main .pro-cate-mark {
    width: 120px;
    opacity: 0.55;
  }

  .pro-cate-main .pro-cate-arrow {
    width: 28px;
    right: 10px;
    bottom: 12px;
  }

  .pro-cate-row {
    grid-template-columns: 1fr;
    gap: 12px;
    margin-top: 12px;
  }

  .pro-cate-card {
    min-height: 140px;
    padding: 18px;
  }

  .pro-cate-card .pro-cate-title {
    font-size: var(--font18);
  }

  .pro-cate-card .pro-cate-mark {
    width: 100px;
  }

  .pro-cate-card .pro-cate-arrow {
    width: 28px;
    right: 12px;
    bottom: 4px;
  }
}

.page-prolist {
  background: #fff;
}

.page-prolist .sub-banner {
  --sub-banner-height: 6rem;
  --sub-banner-title-font-size: var(--font48);
  background-position: center right;
  background-color: #e8f1fd;
}

.page-prolist .sub-banner .fluid-wrapper {
  justify-content: flex-start;
  padding-top: 1.6rem;
  padding-bottom: 0;
}

.page-prolist .sub-banner-title {
  color: rgba(50, 50, 50, 1);
  font-weight: bold;
  line-height: 1.5;
  letter-spacing: 0.03rem;
}

/* 只保留入场，结束后回到 1:1，避免持续缩放把背景图拉糊 */
.page-prolist .sub-banner-motion .sub-banner-media {
  inset: 0;
  transform: scale(1.08);
  will-change: auto;
  animation: proBannerFadeIn 1.35s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

@keyframes proBannerFadeIn {
  from {
    opacity: 0;
    transform: scale(1.08);
  }
  to {
    opacity: 1;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-prolist .sub-banner-motion .sub-banner-media {
    opacity: 1;
    transform: none;
    animation: none;
  }
}

.page-prolist .breadcrumb {
  background: #fff;
}

.page-prolist .inner-main {
  padding-top: 0.08rem;
  padding-bottom: 0.8rem;
  background: #fff;
}

@media only screen and (max-width: 1200px) and (min-width: 768px) {
  .page-prolist .pro-list > li,
  .page-prodetail .pd-related .pro-list > li {
    flex: 0 0 50%;
    max-width: 50%;
  }
}

@media only screen and (max-width: 767px) {
  .page-prolist .sub-banner {
    height: 200px;
  }

  .page-prolist .sub-banner-motion .sub-banner-media {
    inset: 0;
    background-position: 72% center;
    opacity: 1;
    transform: none;
    animation: none;
  }

  .page-prolist .sub-banner .fluid-wrapper {
    padding-top: 0;
    padding-left: 16px;
    padding-right: 16px;
    padding-bottom: 80px;
    justify-content: center;
  }

  .page-prolist .inner-main {
    padding: 8px 0 40px;
  }
}

.page-prodetail .pd-hero {
  position: relative;
  min-height: 7.8rem;
  padding: 0.8rem 0 0.64rem;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  background-color: #eef2f6;
  background-image: url("/static/images/product/bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  overflow: hidden;
}

.page-prodetail .pd-hero > .fluid-wrapper {
  width: 100%;
}

.pd-hero-inner {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 0.48rem;
  align-items: center;
}

.pd-gallery {
  position: relative;
  --swiper-pagination-bullet-horizontal-gap: 0.12rem;
}

.pd-gallery .swiper {
  max-width: 5.2rem;
  margin: 0 auto;
}

.pd-gallery .pic {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.6rem;
}

.pd-gallery .pic img {
  max-width: 100%;
  max-height: 3.6rem;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.pd-gallery .swiper-pagination {
  position: relative;
  margin-top: 0.4rem;
  bottom: auto !important;
}

.pd-gallery .swiper-pagination-bullet {
  width: 0.2rem;
  height: 0.2rem;
  background: rgba(194, 203, 215, 1);
  opacity: 1;
}

.pd-gallery .swiper-pagination-bullet-active {
  background: var(--hudson-navy, #0d3066);
}

.pd-info .cate {
  margin: 0 0 0.16rem;
  font-size: var(--font18);
  color: rgba(51, 51, 51, 1);
}

.pd-info .name {
  margin: 0 0 0.32rem;
  color: rgba(51, 51, 51, 1);
  font-size: var(--font28);
  font-weight: 700;
}

.pd-info .meta {
  list-style: none;
  margin: 0 0 0.28rem;
  padding: 0;
  color: rgba(51, 51, 51, 1);
  font-size: var(--font18);
  line-height: 1.5;
}

.pd-info .certs {
  display: flex;
  align-items: center;
  gap: 0.16rem;
  margin-bottom: 0.36rem;
}

.pd-info .certs img {
  width: auto;
  height: 0.42rem;
  object-fit: contain;
  display: block;
}

.pd-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.3rem;
}

.pd-actions .btn {
  --btn-shadow: none;
  min-width: 1.6rem;
  height: 0.46rem;
  box-shadow: none;
}

.pd-actions .btn.btn-variant-solid {
  --btn-shadow: none;
  box-shadow: none;
}

.pd-actions .btn.btn-variant-solid:not(:disabled):not(.btn-disabled):hover {
  --btn-shadow: none;
  box-shadow: none;
  transform: none;
}

.pd-actions .btn.btn-background-ghost {
  --btn-bg-color: transparent;
  --btn-bg-color-hover: transparent;
  --btn-bg-color-active: transparent;
  --btn-border-color: var(--color-orange-active, #ea6113);
  --btn-border-color-hover: var(--color-orange, #ff9600);
  --btn-border-color-active: var(--color-orange-active, #ea6113);
  --btn-text-color: var(--color-orange-active, #ea6113);
  --btn-text-color-hover: var(--color-orange, #ff9600);
  --btn-text-color-active: var(--color-orange-active, #ea6113);
  --btn-shadow: none;
  background: transparent;
  box-shadow: none;
}

.pd-actions .btn:not(:disabled):not(.btn-disabled):hover {
  box-shadow: none;
}

.pd-section {
  padding: 0.56rem 0 0.2rem;
}

.pd-section .sec-title {
  display: flex;
  align-items: center;
  gap: 0.2rem;
  margin: 0 0 0.32rem;
  color: #1a2332;
  font-size: var(--font28);
  font-weight: 700;
}

.pd-section .sec-title::after {
  content: "";
  flex: 1;
  height: 1px;
  background: #eceff3;
}

.pd-params {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.28rem 0.32rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pd-params li {
  padding-bottom: 0.16rem;
  border-bottom: 1px solid #eceff3;
}

.pd-params .label {
  display: block;
  margin-bottom: 0.1rem;
  color: #98a2b3;
  font-size: var(--font14);
}

.pd-params .value {
  display: block;
  color: #1a2332;
  font-size: var(--font20);
  font-weight: 700;
  line-height: 1.4;
}

.page-prodetail .pd-related {
  padding: 0.4rem 0 0.72rem;
}

.pd-cta {
  position: relative;
  min-height: 2.4rem;
  display: flex;
  align-items: center;
  overflow: hidden;
}

.pd-cta .cta-bg {
  position: absolute;
  inset: 0;
}

.pd-cta .cta-bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.pd-cta .cta-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(8, 36, 28, 0.55) 0%, rgba(8, 36, 28, 0.3) 100%);
}

.pd-cta .cta-inner {
  position: relative;
  z-index: 1;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.28rem;
  padding: 0.56rem 0;
  text-align: left;
}

.pd-cta .cta-text {
  min-width: 0;
  flex: 1;
  text-align: left;
}

.pd-cta .cta-text h3 {
  margin: 0 0 0.12rem;
  color: #fff;
  font-size: var(--font32);
  font-weight: 700;
  line-height: 1.35;
  text-align: left;
}

.pd-cta .cta-text p {
  margin: 0;
  color: rgba(255, 255, 255, 0.9);
  font-size: var(--font14);
  line-height: 1.7;
  max-width: 7.2rem;
  text-align: left;
}

.pd-cta .btn {
  flex-shrink: 0;
}

.pd-cta .btn:not(:disabled):not(.btn-disabled):hover {
  transform: translateY(-0.02rem);
}

@media only screen and (max-width: 920px) {
  .pd-hero-inner {
    display: block;
  }

  .pd-hero-inner .pd-gallery {
    margin-bottom: 28px;
  }

  .pd-params {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media only screen and (max-width: 767px) {
  .page-prodetail .pd-hero {
    min-height: 0;
    padding: 20px 0 28px;
  }

  .pd-hero-inner .pd-gallery {
    padding-top: 20px;
    padding-bottom: 20px;
    margin-bottom: 16px;
  }

  .pd-gallery .swiper,
  .pd-gallery .swiper-wrapper,
  .pd-gallery .swiper-slide {
    height: auto;
  }

  .pd-gallery .swiper {
    max-width: 100%;
  }

  .pd-gallery .pic {
    min-height: 200px;
  }

  .pd-gallery .pic img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 200px;
    object-fit: contain;
  }

  .pd-gallery .swiper-pagination {
    margin-top: 12px;
  }

  .pd-gallery .swiper-pagination-bullet {
    width: 8px;
    height: 8px;
  }

  .pd-info .cate {
    margin-bottom: 6px;
    font-size: 13px;
  }

  .pd-info .name {
    margin-bottom: 12px;
    font-size: 20px;
    line-height: 1.35;
  }

  .pd-info .meta {
    margin-bottom: 16px;
    font-size: 13px;
    line-height: 1.7;
  }

  .pd-info .certs {
    gap: 10px;
    margin-bottom: 20px;
  }

  .pd-info .certs img {
    width: auto;
    height: 36px;
    max-width: 140px;
  }

  .pd-actions {
    gap: 12px;
  }

  .pd-actions .btn {
    min-width: 0;
    height: 36px;
    padding-inline: 18px;
    font-size: 14px;
  }

  .pd-section {
    padding: 24px 0 8px;
  }

  .pd-params {
    grid-template-columns: 1fr;
    gap: 14px;
  }

  .pd-params .label {
    margin-bottom: 4px;
    font-size: 12px;
  }

  .pd-params .value {
    font-size: 15px;
  }

  .page-prodetail .pd-section .sec-title {
    gap: 12px;
    margin-bottom: 16px;
    padding-right: 48px;
    font-size: 16px;
  }

  .page-prodetail .pd-related {
    padding: 16px 0 28px;
  }

  .pd-cta .cta-inner {
    flex-direction: column;
    align-items: flex-start;
    padding: 28px 0;
  }

  .pd-cta .cta-text h3 {
    font-size: 16px;
  }

  .pd-cta .cta-text p {
    font-size: 13px;
  }
}
