/* Product columns stay in normal document flow until the section reaches
 * the real header. These rules also override the legacy summary-only sticky. */
body.single-product #main .product-entry-wrapper.is-width-constrained>
:is(.woocommerce-product-gallery,.summary.entry-summary) {
 position:relative!important;
 top:auto!important;
 bottom:auto!important;
 inset-block-start:auto!important;
 inset-block-end:auto!important;
 align-self:start!important;
 height:max-content!important;
 min-height:0!important;
}

@media(min-width:768px) {
 body.single-product #main,
 body.single-product #main>.ct-container,
 body.single-product #main>.ct-container-full,
 body.single-product #main article,
 body.single-product #main div.product,
 body.single-product #main .product-entry-wrapper.is-width-constrained {
  overflow-x:clip!important;
  overflow-y:visible!important;
 }
 body.single-product #main .product-entry-wrapper.is-width-constrained {
  position:relative!important;
  contain:none!important;
  align-items:start!important;
 }
 html.plsn-product-sticky-controller-ready body.single-product #main
 .product-entry-wrapper.is-width-constrained.plsn-header-collision[data-plsn-sticky-column="gallery"]>
 .woocommerce-product-gallery,
 html.plsn-product-sticky-controller-ready body.single-product #main
 .product-entry-wrapper.is-width-constrained.plsn-header-collision[data-plsn-sticky-column="summary"]>
 .summary.entry-summary {
  position:sticky!important;
  top:var(--plsn-product-sticky-top,var(--plsn-content-sticky-top,64px))!important;
  inset-block-start:var(--plsn-product-sticky-top,var(--plsn-content-sticky-top,64px))!important;
 }
}

body.single-product :is(#tab-description,#tab-reviews,.woocommerce-tabs,.product-entry-wrapper) {
 scroll-margin-top:var(--plsn-content-sticky-top,64px)!important;
}
