/* Product detail pages only. Imported specifications keep their original content. */
.product-detail { padding: 0 0 72px; background: #f5f8fb; font-size: 16px; line-height: 1.8; }
.product-detail .container,
.product-detail .product-detail-top > *,
.product-detail .product-detail-summary,
.product-detail .product-detail-body,
.product-detail .product-detail-content { min-width: 0; }

.product-detail .product-breadcrumb { padding: 23px 0; color: #687c8d; font-size: 13px; line-height: 1.7; }
.product-detail .product-breadcrumb ol { display: flex; flex-wrap: wrap; gap: 5px 0; margin: 0; padding: 0; list-style: none; }
.product-detail .product-breadcrumb li { min-width: 0; overflow-wrap: anywhere; }
.product-detail .product-breadcrumb li + li::before { content: "/"; margin: 0 12px; color: #adbbc6; }
.product-detail .product-breadcrumb a:hover { color: var(--blue); text-decoration: underline; }

.product-detail .product-detail-top {
  display: grid;
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
  align-items: center;
  gap: 44px;
  padding: 32px;
  border: 1px solid #e1e9ef;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 8px 28px rgba(9, 43, 76, .035);
}
.product-detail .product-detail-image {
  display: grid;
  aspect-ratio: 1.12;
  align-items: center;
  margin: 0;
  padding: 25px;
  border: 1px solid #edf1f5;
  border-radius: 8px;
  background: #fff;
}
.product-detail .product-detail-image img { width: 100%; height: 100%; min-height: 0; max-height: 420px; object-fit: contain; }
.product-detail .product-taxonomy { display: flex; flex-wrap: wrap; gap: 8px; color: #08728c; font-size: 13px; font-weight: 600; }
.product-detail .product-taxonomy > * { padding: 4px 11px; border-radius: 4px; background: #edf8fa; overflow-wrap: anywhere; }
.product-detail .product-taxonomy a:hover { background: #dff2f6; text-decoration: underline; }
.product-detail .product-detail-summary h1 { margin: 16px 0 20px; color: var(--navy); font-size: clamp(27px, 2.8vw, 36px); font-weight: 700; line-height: 1.4; letter-spacing: -.025em; overflow-wrap: anywhere; }
.product-detail .product-summary-copy { margin: 0 0 26px; color: #526779; font-size: 16px; line-height: 1.9; overflow-wrap: anywhere; }
.product-detail .product-detail-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 24px; }
.product-detail .button { min-height: 48px; padding: 12px 23px; border-radius: 5px; font-size: 15px; line-height: 1.5; gap: 16px; }
.product-detail .button.primary { background: #07768e; }
.product-detail .button.primary:hover { background: #065d73; }
.product-detail a:focus-visible,
.product-detail button:focus-visible,
.product-detail .product-spec-table-wrap:focus-visible { outline: 3px solid var(--cyan); outline-offset: 4px; }
.product-detail .product-service-note { margin-top: 28px; padding-top: 20px; border-top: 1px solid #e6edf2; color: #344e64; font-size: 14px; }
.product-detail .product-service-note strong { color: var(--navy); font-weight: 600; }
.product-detail .product-service-note p { margin: 3px 0 0; color: #6b7f90; }

.product-detail .product-detail-nav { display: flex; gap: 32px; margin: 29px 0 23px; border-bottom: 1px solid #dce5ec; }
.product-detail .product-detail-nav a { padding: 12px 2px; color: #536b7f; font-size: 15px; font-weight: 600; }
.product-detail .product-detail-nav a:first-child { border-bottom: 3px solid var(--cyan); color: var(--navy); }
.product-detail .product-detail-nav a:hover { color: var(--blue); }
.product-detail #product-information,
.product-detail #product-consultation,
.product-detail .product-detail-content :is(h2, h3, h4, h5, h6) { scroll-margin-top: 24px; }
.product-detail .product-detail-body { margin-top: 0; padding: 38px 44px 44px; border: 1px solid #e1e9ef; border-radius: 10px; background: #fff; }
.product-detail .product-detail-section-heading { margin-bottom: 30px; padding-bottom: 24px; border-bottom: 1px solid #e3ebf1; }
.product-detail .product-detail-section-heading > span { color: #08728c; font-size: 11px; font-weight: 700; letter-spacing: .16em; }
.product-detail .product-detail-section-heading h2 { margin: 3px 0 0; color: var(--navy); font-size: 26px; line-height: 1.4; }

.product-detail .product-detail-content { padding: 0; color: #344a5d; font-size: 16px; line-height: 1.8; overflow-wrap: anywhere; word-break: normal; }
.product-detail .product-detail-content::after { display: table; clear: both; content: ""; }
.product-detail .product-detail-content :is(p, li, td, th, div, span, font) { font-family: inherit !important; font-size: inherit !important; line-height: inherit !important; }
.product-detail .product-detail-content p { margin: 0 0 18px; }
.product-detail .product-detail-content :is(h2, h3, h4, h5, h6) { clear: both; color: var(--navy); font-weight: 700; line-height: 1.5; text-align: left; }
.product-detail .product-detail-content h2 { position: relative; margin: 42px 0 20px; padding: 0 0 0 15px; border: 0; border-left: 3px solid var(--cyan); font-size: 24px !important; }
.product-detail .product-detail-content h3 { margin: 30px 0 14px; padding: 0; font-size: 19px !important; }
.product-detail .product-detail-content :is(h4, h5, h6) { margin: 24px 0 12px; font-size: 17px !important; }
.product-detail .product-detail-content .product-content-empty-heading { display: none; }
.product-detail .product-detail-content > :first-child { margin-top: 0; }
.product-detail .product-detail-content > :last-child { margin-bottom: 0; }
.product-detail .product-detail-content :is(ul, ol) { margin: 16px 0 24px; padding-left: 1.6em; }
.product-detail .product-detail-content li { margin: 8px 0; padding-left: .25em; }
.product-detail .product-detail-content li::marker { color: #07768e; font-weight: 600; }
.product-detail .product-detail-content li > :is(ul, ol) { margin-block: 8px; }
.product-detail .product-detail-content ol.product-content-list { padding-left: 0; list-style: none; }
.product-detail .product-detail-content ol.product-content-list > li { padding-left: 0; }
.product-detail .product-detail-content :is(img, video, iframe, svg, canvas) { max-width: 100% !important; }
.product-detail .product-detail-content img { height: auto !important; object-fit: contain; }
.product-detail .product-detail-content > :is(img, figure),
.product-detail .product-detail-content > p > img:only-child { margin: 24px auto; }
.product-detail .product-detail-content figure,
.product-detail .product-detail-content .wp-caption { max-width: 100%; margin: 24px 0; }
.product-detail .product-detail-content figcaption,
.product-detail .product-detail-content .wp-caption-text { margin-top: 10px; color: #728395; font-size: 14px; text-align: center; }

.product-detail .product-detail-content .product-spec-table-wrap,
.product-detail .product-detail-content .wp-block-table {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  margin: 22px 0 30px;
  border: 1px solid #dce5ec;
  border-radius: 6px;
  scrollbar-width: thin;
  scrollbar-color: #a7bacb #f2f6f9;
}
.product-detail .product-detail-content .wp-block-table .product-spec-table-wrap { margin: 0; border: 0; }
.product-detail .product-detail-content table { width: 100% !important; min-width: 520px; max-width: none; margin: 0; border: 0; border-spacing: 0; border-collapse: collapse; color: #344a5d; font-size: 16px; line-height: 1.8; table-layout: auto; }
.product-detail .product-detail-content :is(th, td) { min-width: 100px; padding: 13px 18px; border: 1px solid #dce5ec; vertical-align: top; text-align: left; white-space: normal !important; overflow-wrap: anywhere; word-break: normal; }
.product-detail .product-detail-content .product-spec-table:not(:has(tr > :nth-child(3))) { min-width: 0; table-layout: fixed; }
.product-detail .product-detail-content .product-spec-table:not(:has(tr > :nth-child(3))) :is(th, td) { min-width: 0; }
.product-detail .product-detail-content .product-spec-table:not(:has(tr > :nth-child(3))) tr > :first-child { width: 32%; }
.product-detail .product-detail-content .product-spec-table:has(tr > :nth-child(3)) { min-width: 640px; }
.product-detail .product-detail-content .wp-block-table table:not(:has(tr > :nth-child(3))) { min-width: 0; table-layout: fixed; }
.product-detail .product-detail-content .wp-block-table table:not(:has(tr > :nth-child(3))) :is(th, td) { min-width: 0; }
.product-detail .product-detail-content .wp-block-table table:not(:has(tr > :nth-child(3))) tr > :first-child:not([colspan]) { width: 32%; }
.product-detail .product-detail-content :is(th, td) p { text-align: inherit !important; }
.product-detail .product-detail-content tr > :first-child { border-left: 0; }
.product-detail .product-detail-content tr > :last-child { border-right: 0; }
.product-detail .product-detail-content table > :first-child > tr:first-child > * { border-top: 0; }
.product-detail .product-detail-content table > :last-child > tr:last-child > * { border-bottom: 0; }
.product-detail .product-detail-content th { background: #eaf2f7; color: var(--navy); font-weight: 600; }
.product-detail .product-detail-content tbody tr:nth-child(even) td { background: #f7fafc; }
.product-detail .product-detail-content :is(th, td) > :last-child { margin-bottom: 0; }
.product-detail .product-detail-content .product-spec-value-line + .product-spec-value-line { margin-top: 5px; }
.product-detail .product-detail-content caption { padding: 12px 18px; color: var(--navy); font-weight: 600; text-align: left; }
.product-detail .product-detail-content blockquote { margin: 24px 0; padding: 18px 22px; border-left: 3px solid var(--cyan); background: #f3f8fb; }
.product-detail .product-detail-content pre { max-width: 100%; overflow-x: auto; padding: 18px; background: #f3f7fa; font-size: 14px; }
.product-detail .product-content-pages { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 28px; }

.product-detail .product-consultation { display: flex; align-items: center; justify-content: space-between; gap: 28px; margin-top: 28px; padding: 30px 38px; border: 1px solid #d8e7ef; border-radius: 10px; background: #eaf3f8; }
.product-detail .product-consultation > div { min-width: 0; }
.product-detail .product-consultation h2 { margin: 0 0 6px; color: var(--navy); font-size: 23px; line-height: 1.5; }
.product-detail .product-consultation p { margin: 0; color: #526b80; font-size: 15px; }
.product-detail .product-consultation-phone { display: inline-block; margin-top: 8px; color: var(--navy); font-size: 19px; font-weight: 700; }
.product-detail .product-consultation .button { flex-shrink: 0; }

@media (max-width: 960px) {
  .product-detail .product-detail-top { gap: 28px; padding: 26px; }
  .product-detail .product-detail-image { padding: 18px; }
  .product-detail .product-detail-body { padding: 32px; }
}

@media (max-width: 760px) {
  .product-detail { padding-bottom: 44px; }
  .product-detail .product-detail-top { grid-template-columns: minmax(0, 1fr); gap: 26px; padding: 24px; }
  .product-detail .product-detail-image { width: 100%; max-width: 440px; justify-self: center; aspect-ratio: 1.2; }
  .product-detail .product-detail-summary h1 { font-size: 28px; }
  .product-detail .product-consultation { align-items: flex-start; flex-direction: column; gap: 20px; padding: 26px; }
  .product-detail .product-spec-table-wrap:has(tr > :nth-child(3))::before { position: sticky; left: 0; display: block; width: 100%; padding: 8px 12px; border-bottom: 1px solid #dce5ec; background: #f3f8fb; color: #607a8e; content: "左右滑动查看完整参数"; font-size: 12px; }
}

@media (max-width: 480px) {
  .product-detail .product-breadcrumb { padding-block: 16px; font-size: 12px; }
  .product-detail .product-breadcrumb li + li::before { margin-inline: 8px; }
  .product-detail .product-detail-top { gap: 22px; padding: 18px; border-radius: 8px; }
  .product-detail .product-detail-image { padding: 15px; }
  .product-detail .product-detail-summary h1 { margin-block: 14px 16px; font-size: 25px; }
  .product-detail .product-detail-actions { display: grid; grid-template-columns: minmax(0, 1fr); gap: 10px; }
  .product-detail .product-service-note { margin-top: 22px; padding-top: 17px; }
  .product-detail .product-detail-nav { gap: 26px; margin-top: 18px; margin-bottom: 18px; }
  .product-detail .product-detail-body { padding: 24px 18px; border-radius: 8px; }
  .product-detail .product-detail-section-heading { margin-bottom: 24px; padding-bottom: 18px; }
  .product-detail .product-detail-section-heading h2 { font-size: 23px; }
  .product-detail .product-detail-content h2 { margin-top: 34px; font-size: 21px !important; }
  .product-detail .product-detail-content h3 { font-size: 18px !important; }
  .product-detail .product-detail-content :is(th, td) { padding: 11px 14px; }
  .product-detail .product-consultation { margin-top: 20px; padding: 24px 20px; border-radius: 8px; }
  .product-detail .product-consultation h2 { font-size: 21px; }
  .product-detail .product-consultation .button { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .product-detail .button { transition: none; }
}
