.store-flying-piece {
  position: fixed;
  z-index: 60;
  pointer-events: none;
  object-fit: contain;
  border: 1px solid #d7c5a9;
  border-radius: 10px;
  background: #faf7f1;
  box-shadow: 0 12px 30px rgba(36, 33, 30, .16);
  transition: left .54s cubic-bezier(.4,0,.2,1), top .54s cubic-bezier(.4,0,.2,1),
    width .54s cubic-bezier(.4,0,.2,1), height .54s cubic-bezier(.4,0,.2,1),
    opacity .18s ease .36s, transform .54s ease;
}

.store-body .store-bag-art { display: block; width: 2.375rem; height: 2.375rem; flex: none; pointer-events: none; overflow: visible; filter: drop-shadow(0 .1rem .12rem rgba(0,0,0,.18)); }
.store-body .store-bag-handle-rear,
.store-body .store-bag-handle-front,
.store-body .store-bag-mouth { transform-box: view-box; }
.store-body .store-bag-handle-rear { transform-origin: 86px 69px; }
.store-body .store-bag-handle-front { transform-origin: 86px 75px; }
.store-body .store-bag-mouth { transform-origin: 86px 74px; }
.store-body .store-bag-handles-open .store-bag-handle-rear { animation: storeBagRearHandleOpen .42s ease-in-out; }
.store-body .store-bag-handles-open .store-bag-handle-front { animation: storeBagFrontHandleOpen .42s ease-in-out; }
.store-body .store-bag-mouth-open .store-bag-mouth { animation: storeBagMouthOpen .42s ease-in-out; }
.store-body .store-bag-receiving { animation: storeBagReceive .36s cubic-bezier(.2,.8,.2,1); }
.store-body .store-bag-count-bump { animation: storeBagCountBump .36s ease; }
.store-body .store-bag-gold-count #storeCartCount { background: #b89355; color: #24211e; border: 1px solid #876b42; }
.store-body .store-cart-toast:not(.is-error) {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  white-space: nowrap;
  border: 0;
  clip-path: inset(50%);
}

@keyframes storeBagRearHandleOpen {
  0%, 100% { transform: scaleY(1); }
  42% { transform: scaleY(1.14); }
  72% { transform: scaleY(1.05); }
}

@keyframes storeBagFrontHandleOpen {
  0%, 100% { transform: scaleY(1); }
  42% { transform: scaleY(.76); }
  72% { transform: scaleY(.92); }
}

@keyframes storeBagMouthOpen {
  0%, 100% { transform: scale(1); }
  42% { transform: scale(1.1, 1.28); }
  72% { transform: scale(1.04, 1.1); }
}

@keyframes storeBagReceive {
  0%, 100% { transform: scale(1); }
  35% { transform: scale(.97) translateY(1px); }
  68% { transform: scale(1.04) translateY(-1px); }
}

@keyframes storeBagCountBump {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.25); }
}

@media (prefers-reduced-motion: reduce) {
  .store-flying-piece { display: none; transition: none; }
  .store-body .store-bag-receiving,
  .store-body .store-bag-handles-open .store-bag-handle-rear,
  .store-body .store-bag-handles-open .store-bag-handle-front,
  .store-body .store-bag-mouth-open .store-bag-mouth,
  .store-body .store-bag-count-bump { animation: none; }
}
