/* 产品页专用样式（产品中心 / 各产品线详情） */
/* 产品中心页头图片 */
.page-head--media { padding-bottom: 2rem; }
.page-head-banner { width: 100%; border: 1px solid var(--line); border-radius: var(--radius); }
.product-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 2.5rem; align-items: start; }
.product-intro { display: grid; grid-template-columns: minmax(0, 1.02fr) minmax(0, 1fr); gap: 2.25rem; align-items: start; }
.product-media { border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: #fff; }
.product-media img { width: 100%; }
.product-summary h1 { font-size: 1.75rem; }
.product-summary .lead { margin-bottom: 1.25rem; }
.product-block { scroll-margin-top: 1.5rem; }
.product-block + .product-block { margin-top: 3rem; }
.product-block h2 { padding-bottom: .6rem; border-bottom: 1px solid var(--line); }
.product-block > h3 { margin-top: 1.5rem; }
.product-block .product-media { max-width: 420px; margin: 1.25rem 0 0; }
.product-side { border: 1px solid var(--line); border-radius: var(--radius); background: #fff; padding: 1.25rem; }
.product-side h2 { font-size: 1rem; margin-bottom: .75rem; }
.product-side .side-nav { list-style: none; padding: 0; margin: 0 0 1.25rem; font-size: .9375rem; }
.product-side .side-nav li { margin: 0; border-bottom: 1px dashed var(--line); }
.product-side .side-nav li:last-child { border-bottom: 0; }
.product-side .side-nav a { display: block; padding: .55rem 0; color: var(--ink-2); }
.product-side .side-nav a:hover { color: var(--brand-dark); text-decoration: none; }
.product-side .side-contact { background: var(--bg-tint); border-radius: var(--radius); padding: 1rem; font-size: .875rem; color: var(--ink-2); }
.product-side .side-contact p { margin: 0 0 .5rem; }
.product-side .side-contact strong { color: var(--ink); }
.line-nav { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 2rem; padding: 0; list-style: none; }
.line-nav-item { position: relative; }
.line-nav-link { display: block; padding: .35rem .9rem; border: 1px solid var(--line); border-radius: 999px; font-size: .875rem; color: var(--ink-2); background: #fff; transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
.line-nav-link:hover, .line-nav-link:focus-visible, .line-nav-link[aria-current="page"], .line-nav-item:hover > .line-nav-link { border-color: var(--brand); background: var(--brand); color: #fff; text-decoration: none; }
.line-nav-link:active { border-color: var(--brand-dark); background: var(--brand-dark); color: #fff; }
.line-nav-link:focus-visible { outline: 2px solid var(--brand-dark); outline-offset: 2px; }
.line-nav-menu { position: absolute; left: 0; top: 100%; z-index: 20; display: none; min-width: 216px; max-width: calc(100vw - 48px); margin: .45rem 0 0; padding: .4rem; list-style: none; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); box-shadow: 0 12px 26px rgba(31, 39, 51, .14); }
.line-nav-item::after { content: ""; position: absolute; left: 0; right: 0; top: 100%; height: .95rem; }
.line-nav-menu li { margin: 0; }
.line-nav-menu a { display: block; padding: .45rem .7rem; border-radius: var(--radius); font-size: .875rem; color: var(--ink-2); transition: background-color .2s ease, color .2s ease; }
.line-nav-menu a:hover, .line-nav-menu a:focus-visible { background: var(--bg-tint); color: var(--brand-dark); text-decoration: none; }
.line-nav-item:hover .line-nav-menu,
.line-nav-item:focus-within .line-nav-menu,
.line-nav-item.is-open .line-nav-menu { display: block; }
.product-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.25rem; }
.product-gallery .figure figcaption { font-size: .8125rem; }

@media (max-width: 1024px) {
  .product-layout { grid-template-columns: minmax(0, 1fr); }
  .product-intro { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 720px) {
  .product-gallery { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- 产品中心：左侧分类栏 + 右侧产品网格 ---------- */
.prod-center { display: grid; grid-template-columns: 252px minmax(0, 1fr); gap: 2rem; align-items: start; }
.prod-side-title { margin: 0; padding: .85rem 1rem; font-size: 1.125rem; color: #fff; text-align: center; letter-spacing: .04em; background: var(--brand-deep); border-radius: var(--radius) var(--radius) 0 0; }
.prod-side-nav { list-style: none; margin: 0; padding: 0; background: #fff; border: 1px solid var(--line); border-top: 0; }
.prod-side-nav li + li { border-top: 1px solid var(--line); }
.prod-side-nav a { display: block; padding: .7rem 1.05rem; font-size: .9375rem; color: var(--ink-2); transition: background-color .2s ease, color .2s ease, padding-left .2s ease; }
.prod-side-nav a:hover { background: var(--bg-tint); color: var(--brand-dark); padding-left: 1.25rem; text-decoration: none; }
.prod-search { display: flex; align-items: center; margin-top: 1.25rem; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.prod-search input { flex: 1; min-width: 0; padding: .6rem .8rem; font-size: .9375rem; color: var(--ink); background: transparent; border: 0; }
.prod-search input:focus { outline: 2px solid rgba(43, 127, 255, .25); outline-offset: -2px; }
.prod-search button { display: flex; align-items: center; justify-content: center; padding: .6rem .8rem; color: var(--ink-3); background: transparent; border: 0; cursor: pointer; transition: color .2s ease; }
.prod-search button:hover { color: var(--brand); }
.prod-search svg { width: 18px; height: 18px; }
.prod-main-title { margin-bottom: 1.5rem; padding-bottom: .6rem; font-size: 1.125rem; border-bottom: 1px solid var(--line); }
.prod-catalog { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; list-style: none; margin: 0; padding: 0; }
.prod-catalog a { display: flex; flex-direction: column; height: 100%; background: #fff; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; transition: border-color .2s ease, box-shadow .2s ease; }
.prod-catalog a:hover { border-color: var(--brand); box-shadow: 0 10px 22px rgba(31, 39, 51, .08); text-decoration: none; }
.prod-catalog figure { display: flex; align-items: center; justify-content: center; margin: 0; aspect-ratio: 1 / 1; background: #fff; }
.prod-catalog img { width: 100%; height: 100%; object-fit: contain; }
.prod-catalog span { display: block; padding: .6rem .8rem; font-size: .9375rem; color: var(--ink-2); text-align: center; background: var(--bg-soft); border-top: 1px solid var(--line); transition: background-color .2s ease, color .2s ease; }
.prod-catalog a:hover span { background: var(--bg-tint); color: var(--brand-dark); }
.prod-empty { margin: 1.5rem 0 0; color: var(--ink-3); }
.prod-catalog li[hidden] { display: none; }

@media (max-width: 1024px) {
  .prod-center { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 720px) {
  .prod-catalog { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
  /* 手机端：产品中心导航栏移到产品列表下方 */
  .prod-main { order: 1; }
  .prod-side { order: 2; margin-top: 1.75rem; }
  .prod-search { margin-top: 1rem; }
}
