/* ========================================================================
   ZAVRYNE 16.54 — FOOTER / PRODUCT FLOW ISOLATION
   Prevent recommendations, cards and legacy containment rules from visually
   overlapping the footer. Keep the footer in normal document flow.
   ======================================================================== */

/* The WooCommerce page itself must always own the height of its children. */
body.single-product main#primary.woocommerce-main,
body.single-product main#primary.woocommerce-main > .container,
body.single-product .zv28-product{
  display:flow-root!important;
  position:relative!important;
  float:none!important;
  clear:both!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  transform:none!important;
}

/* Explicit end-of-commerce sentinel. */
body.single-product .zv1654-commerce-flow-end{
  display:block!important;
  position:relative!important;
  float:none!important;
  clear:both!important;
  width:100%!important;
  height:1px!important;
  min-height:1px!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

/* Every late-PDP section must stay in normal flow. */
body.single-product .zv31-description,
body.single-product .zv40-story,
body.single-product .zv34-detail-video,
body.single-product .zv1634-amazon-panel,
body.single-product .zv1617-recommendations,
body.single-product .zv1627-recommendations,
body.single-product .zavryne-catalog-more,
body.single-product .related.products,
body.single-product .upsells.products,
body.single-product .cross-sells{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  float:none!important;
  clear:both!important;
  transform:none!important;
  translate:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:visible!important;
  z-index:auto!important;
}

body.single-product .zv1617-recommendations{
  display:flow-root!important;
  margin-bottom:0!important;
  padding-bottom:0!important;
}

body.single-product .zv1627-recommendations,
body.single-product .zavryne-catalog-more{
  display:flow-root!important;
  margin-bottom:56px!important;
}

/* Recommendation cards must contribute their full height to the grid. */
body.single-product .zv1627-reco-grid,
body.single-product .zavryne-catalog-grid{
  position:relative!important;
  height:auto!important;
  min-height:0!important;
  align-items:stretch!important;
}
body.single-product .zv1627-reco-card,
body.single-product .zavryne-catalog-card{
  position:relative!important;
  inset:auto!important;
  float:none!important;
  transform:none!important;
  height:auto!important;
  min-height:100%!important;
  max-height:none!important;
}

/* Do not virtualize the footer. It is small enough to layout normally and
   removing content-visibility also prevents late layout shifts/overpainting. */
.site-footer.site-footer--clean-1645{
  display:block!important;
  position:relative!important;
  inset:auto!important;
  float:none!important;
  clear:both!important;
  width:100%!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:64px 0 0!important;
  padding:0!important;
  overflow:visible!important;
  transform:none!important;
  translate:none!important;
  content-visibility:visible!important;
  contain:none!important;
  contain-intrinsic-size:auto!important;
  isolation:isolate!important;
  z-index:10!important;
  background:#fbf8f4!important;
}
.site-footer.site-footer--clean-1645::before{
  content:"";
  display:block!important;
  position:absolute!important;
  inset:0!important;
  z-index:-1!important;
  background:#fbf8f4!important;
  pointer-events:none!important;
}
.site-footer--clean-1645 .zv1645-footer-trust,
.site-footer--clean-1645 .zv1645-footer-trust__grid,
.site-footer--clean-1645 .zv1645-footer-trust__item,
.site-footer--clean-1645 .zv1645-footer-main,
.site-footer--clean-1645 .zv1645-footer-brand,
.site-footer--clean-1645 .zv1645-footer-col,
.site-footer--clean-1645 .zv1645-footer-bottom{
  position:relative!important;
  inset:auto!important;
  float:none!important;
  clear:none!important;
  transform:none!important;
  translate:none!important;
  height:auto!important;
  max-height:none!important;
}
.site-footer--clean-1645 .zv1645-footer-trust{
  width:100%!important;
  z-index:1!important;
  background:#fff!important;
}
.site-footer--clean-1645 .zv1645-footer-main,
.site-footer--clean-1645 .zv1645-footer-bottom{
  z-index:1!important;
}

/* No child from the page above may paint over the footer boundary. */
body.single-product main#primary.woocommerce-main{
  z-index:1!important;
}
body.single-product main#primary.woocommerce-main + .zv1654-after-main-clear{
  display:block!important;
  clear:both!important;
  width:100%!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
}

@media(max-width:1050px){
  body.single-product .zv1627-recommendations,
  body.single-product .zavryne-catalog-more{margin-bottom:42px!important}
  .site-footer.site-footer--clean-1645{margin-top:44px!important}
}

@media(max-width:800px){
  body.single-product .zv1627-recommendations,
  body.single-product .zavryne-catalog-more{margin-bottom:32px!important}
  .site-footer.site-footer--clean-1645{margin-top:34px!important}
}
