/* Phase 4 product sections use the approved foundation and shell tokens. */
.lp-product-system { display: block; }
.lp-product-section { padding-block: var(--lp-space-2xl); border-block-end: 1px solid var(--lp-color-border); }
.lp-product-section p { max-inline-size: 52rem; margin-block: 0 var(--lp-space-md); }
.lp-product-section h2 { font-size: var(--wp--preset--font-size--lp-h-2); margin-block-end: var(--lp-space-lg); }
.lp-product-section h3 { font-size: var(--wp--preset--font-size--lp-h-4); margin-block-end: var(--lp-space-sm); }
.lp-product-detail .lp-product-hero { background: var(--lp-color-primary-dark); }
.lp-product-detail .lp-product-hero :where(h1, p) { color: var(--lp-color-white); }
.lp-product-detail .lp-product-hero h1 { max-inline-size: 20ch; font-size: var(--wp--preset--font-size--lp-h-1); }
.lp-product-detail .lp-product-hero p:not(.lp-eyebrow) { max-inline-size: 52rem; font-size: var(--wp--preset--font-size--lp-body-large); }
.lp-product-detail .lp-product-section[id] { scroll-margin-block-start: calc(var(--lp-sticky-header-height, 0px) + var(--lp-space-md)); }
.lp-product-detail .lp-product-section :where(ul, ol) { max-inline-size: 52rem; }
.lp-product-detail .lp-product-section h3:not(:first-child) { margin-block-start: var(--lp-space-xl); }
.lp-content-note { max-inline-size: 60rem; padding: var(--lp-space-md); border-inline-start: 3px solid var(--lp-color-accent); background: var(--lp-color-bg-alt); }
.lp-product-section .lp-eyebrow { margin-block-end: var(--lp-space-md); }
.lp-product-media:not(:has(img[src])) { display: none; }
.lp-product-media img { display: block; inline-size: 100%; block-size: auto; max-block-size: 36rem; object-fit: contain; }
.lp-product-image { display: grid; place-content: center; aspect-ratio: 8 / 5; min-inline-size: 0; background: var(--lp-color-bg-alt); border: 1px solid var(--lp-color-border); color: var(--lp-color-text); }
.lp-product-image p { margin: 0; padding: var(--lp-space-md); text-align: center; }
.lp-product-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--lp-space-xl); }
.lp-product-card { min-inline-size: 0; border-block-start: 2px solid var(--lp-color-primary); padding-block-start: var(--lp-space-md); }
.lp-product-card .lp-product-image { margin-block-end: var(--lp-space-lg); }
.lp-product-card a, .lp-product-related-item a { display: inline-flex; align-items: center; min-block-size: 44px; font-weight: 600; }
.lp-product-hero-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: var(--lp-space-2xl); }
.lp-product-hero .lp-product-image { aspect-ratio: 4 / 3; }
.lp-product-hero-copy > p:not(.lp-eyebrow) { max-inline-size: 38rem; }
.lp-product-hero-copy .lp-actions { margin-block-start: var(--lp-space-xl); }
.lp-product-detail .lp-table-scroll { max-inline-size: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.lp-product-detail table { min-inline-size: 35rem; }
.lp-product-detail caption { text-align: start; }
.lp-product-detail caption.screen-reader-text {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}
.lp-product-related-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--lp-space-xl); }
.lp-product-related-item { border-block-start: 2px solid var(--lp-color-primary); padding-block-start: var(--lp-space-lg); }
.lp-product-rfq { background: var(--lp-color-primary); }
.lp-product-rfq-inner { display: flex; align-items: center; justify-content: space-between; gap: var(--lp-space-xl); }
.lp-product-rfq-copy p:last-child { margin-block-end: 0; }
.lp-product-rfq .lp-actions { flex-shrink: 0; }
.lp-product-final-cta { background: var(--lp-color-primary); }
.lp-product-final-cta :where(h2, p) { color: var(--lp-color-white); }
.lp-product-final-cta .lp-actions { display: flex; flex-wrap: wrap; gap: var(--lp-space-md); margin-block-start: var(--lp-space-xl); }
.lp-product-final-cta .lp-cta--secondary .wp-block-button__link { color: var(--lp-color-white); border-color: var(--lp-color-white); background: transparent; }
@media (max-width: 767px) {
  .lp-product-grid, .lp-product-hero-grid, .lp-product-related-grid { grid-template-columns: 1fr; gap: var(--lp-space-xl); }
  .lp-product-card .lp-product-image { aspect-ratio: 2 / 1; }
  .lp-product-rfq-inner { align-items: start; flex-direction: column; }
}
@media (max-width: 479px) {
  .lp-product-section .lp-actions, .lp-product-section .lp-cta, .lp-product-section .lp-cta a { inline-size: 100%; }
  .lp-product-detail table { min-inline-size: 42rem; }
}
