/* Premium, compositor-driven catalogue/cart motion. No geometry/layout animation. */
.gtp-cart-fly-particle.gtp-cart-fly-orb{
 width:30px!important;height:30px!important;border-radius:50%!important;
 background:radial-gradient(circle at 32% 25%,#fff9ec 0%,#ffdcd6 15%,#ff8172 34%,#ec2828 66%,#aa0713 100%)!important;
 border:2px solid #ffefeb!important;
 box-shadow:0 0 0 4px #ff625633,0 0 27px 7px #ff38289a,0 6px 14px #031c4252!important;
 filter:saturate(1.13);z-index:180!important;pointer-events:none!important;
 will-change:transform,opacity;
}
.gtp-cart-fly-orb:before{
 content:"";position:absolute;inset:-6px;border:1.5px solid #fff9;border-radius:50%;
 box-shadow:0 0 16px #ff514e82,0 0 28px #ff3d384f;
}
.gtp-cart-fly-orb:after{
 content:"";position:absolute;width:9px;height:9px;left:6px;top:4px;
 background:#fff8;border-radius:50%;filter:blur(1px);
}
/* Disable legacy drawer entrance while the FLIP transition is running or settled.
   Restored on close, so programmatic reopening keeps its usual fallback. */
#catalogDrawer.gtp-motion-managed,
#productDrawer.gtp-motion-managed,
#cartDrawer.gtp-motion-managed{
 animation:none!important;
 transform-origin:top left!important;
 will-change:transform,opacity;
}
#quoteModal.gtp-motion-managed{animation:none!important;will-change:transform,opacity}
.gtp-motion-category-ghost{
 position:fixed!important;z-index:145!important;pointer-events:none!important;
 display:block!important;max-width:none!important;max-height:none!important;
 box-sizing:border-box!important;margin:0!important;
 transform-origin:top left!important;
 backface-visibility:hidden;
 box-shadow:0 20px 60px #041b4880,0 0 0 1px #c3e9ff66 inset!important;
 will-change:transform,opacity,filter;
 overflow:hidden!important;
}
/* Subtle shimmer following the card while it expands. */
.gtp-motion-category-ghost:after{
 content:""!important;position:absolute!important;inset:0!important;z-index:5!important;
 background:linear-gradient(112deg,transparent 22%,#b0e6ff1f 42%,#fff9 50%,#b0e6ff12 60%,transparent 82%)!important;
 background-size:230% 100%!important;
 animation:gtp-motion-shimmer .8s ease-out both!important;
}
@keyframes gtp-motion-shimmer{0%{background-position:130% 0}100%{background-position:-90% 0}}
@media(prefers-reduced-motion:reduce){
 .gtp-cart-fly-particle.gtp-cart-fly-orb,.gtp-motion-category-ghost{display:none!important;animation:none!important}
}
