/* PupVibes 8.9.46 — recap positioning + reliable checkout advance */

/* Recap should sit lower than the contact card, like the Figma/cart composition. */
@media (min-width:992px){
  body#checkout .checkout-grid__aside,
  body#checkout .pv-checkout-aside{
    margin-top:64px!important;
  }
}

/* Disable sticky behavior: otherwise the mascot climbs back toward the viewport top. */
body#checkout .pv-checkout-summary-card{
  position:relative!important;
  top:auto!important;
  overflow:visible!important;
}
body#checkout .pv-co-summary{
  position:relative!important;
  overflow:visible!important;
}
body#checkout .pv-co-summary__shell{
  overflow:visible!important;
  padding-top:28px!important;
}

/* Same anchoring principle as the cart page:
   the bottom rail/hands overlap the card top by ~14 px. */
body#checkout .pv-co-summary__mascot{
  position:absolute!important;
  z-index:20!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:calc(100% - 14px)!important;
  width:176px!important;
  height:150px!important;
  margin:0!important;
  padding:0!important;
  transform:translateX(-50%)!important;
  pointer-events:none!important;
}
body#checkout .pv-co-summary__mascot img{
  position:absolute!important;
  left:50%!important;
  bottom:0!important;
  display:block!important;
  width:176px!important;
  max-width:none!important;
  height:auto!important;
  margin:0!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translateX(-50%)!important;
}

/* Visible error message used if a native PrestaShop validation blocks progression. */
body#checkout .pv-checkout-inline-error{
  display:none;
  margin:0 0 12px!important;
  padding:10px 12px!important;
  border:1px solid #e6b6aa!important;
  border-radius:7px!important;
  background:#fff4f1!important;
  color:#9a2d18!important;
  font:400 12px/1.35 'DM Sans',sans-serif!important;
}
body#checkout .pv-checkout-inline-error.is-visible{display:block!important;}

@media(max-width:991.98px){
  body#checkout .checkout-grid__aside,
  body#checkout .pv-checkout-aside{margin-top:52px!important;}
  body#checkout .pv-co-summary__mascot{
    bottom:calc(100% - 12px)!important;
    width:162px!important;
    height:138px!important;
  }
  body#checkout .pv-co-summary__mascot img{width:162px!important;}
}
@media(max-width:640px){
  body#checkout .checkout-grid__aside,
  body#checkout .pv-checkout-aside{margin-top:0!important;}
  body#checkout .pv-co-summary__mascot{display:none!important;}
}
