/* PupVibes 8.9.21 — mascot fully visible above the cart summary card.
   Structural fix: the mascot is now a sibling of the card, inside the stage.
   Nothing is positioned with a negative top outside the aside anymore, so no
   parent overflow can crop the head/body. The black rail held by the hands is
   aligned with the top edge of the white summary card. */

@media (min-width: 992px){
  body#cart .cart-grid__aside{
    margin-top:-207px!important;
  }
}

body#cart .pv-cart-summary-shell,
body#cart .pv-cart-summary-stage{
  position:relative!important;
  overflow:visible!important;
}

body#cart .pv-cart-summary-stage{
  display:block!important;
  width:357px!important;
  max-width:100%!important;
  padding-top:216px!important;
}

body#cart .pv-cart-summary-card{
  position:relative!important;
  z-index:2!important;
  overflow:visible!important;
}

body#cart .pv-cart-summary-visual{
  position:absolute!important;
  z-index:5!important;
  top:0!important;
  left:50%!important;
  right:auto!important;
  bottom:auto!important;
  width:302px!important;
  height:257px!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  pointer-events:none!important;
  transform:translateX(-50%)!important;
}

body#cart .pv-cart-mascot{
  position:absolute!important;
  left:50%!important;
  bottom:0!important;
  display:block!important;
  width:302px!important;
  max-width:none!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  transform:translateX(-50%)!important;
  animation:none!important;
  transition:opacity .12s ease!important;
}

body#cart .pv-cart-mascot--rest{
  opacity:1!important;
  visibility:visible!important;
}
body#cart .pv-cart-mascot--hover{
  opacity:0!important;
  visibility:hidden!important;
}

@media (hover:hover) and (pointer:fine){
  body#cart .pv-cart-summary-card:hover + .pv-cart-summary-visual .pv-cart-mascot--rest,
  body#cart .pv-cart-summary-card:focus-within + .pv-cart-summary-visual .pv-cart-mascot--rest{
    opacity:0!important;
    visibility:hidden!important;
  }
  body#cart .pv-cart-summary-card:hover + .pv-cart-summary-visual .pv-cart-mascot--hover,
  body#cart .pv-cart-summary-card:focus-within + .pv-cart-summary-visual .pv-cart-mascot--hover{
    opacity:1!important;
    visibility:visible!important;
  }
}

/* Old sprite implementation must never reappear. */
body#cart .pv-cart-mascot-sprite{display:none!important;}

@media (max-width:991.98px){
  body#cart .cart-grid__aside{margin-top:0!important;}
  body#cart .pv-cart-summary-stage{padding-top:216px!important;}
}

@media (max-width:640px){
  body#cart .pv-cart-summary-stage{padding-top:184px!important;}
  body#cart .pv-cart-summary-visual{
    width:256px!important;
    height:218px!important;
  }
  body#cart .pv-cart-mascot{width:256px!important;}
}
