/* Arty Bundles effects: brush cursor + paint trail, progress bar, reveal, paint burst. */
.fx-progress{position:fixed;left:0;top:0;height:5px;width:100%;transform-origin:0 50%;transform:scaleX(0);z-index:9998;pointer-events:none;
  background:linear-gradient(90deg,#FF7A3D,#FFC93C,#5CC9A7,#D6456B,#3B6FD4)}
.fx-trail{position:fixed;left:0;top:0;pointer-events:none;z-index:9997}
.fx-brush{position:fixed;left:0;top:0;width:70px;height:115px;margin:-114px 0 0 -4px;pointer-events:none;z-index:9999;transform-origin:4px 114px;
  background:url(img/brush.png) no-repeat 0 0/100% 100%;filter:drop-shadow(0 4px 5px rgba(31,42,68,.28));transition:opacity .15s,scale .15s}
.fx-brush.is-hide{opacity:0;scale:.6}
body.fx-cursor,body.fx-cursor *{cursor:none}
body.fx-cursor a,body.fx-cursor button,body.fx-cursor summary,body.fx-cursor label,body.fx-cursor select,body.fx-cursor [role=button]{cursor:pointer}
body.fx-cursor input,body.fx-cursor textarea{cursor:text}
body.fx-cursor input[type=checkbox],body.fx-cursor input[type=radio],body.fx-cursor input[type=submit]{cursor:pointer}

/* scroll reveal */
.fx-rv{opacity:0;transform:translateY(26px) scale(.985);transition:opacity .7s ease var(--fx-d,0ms),transform .7s cubic-bezier(.2,.8,.2,1) var(--fx-d,0ms)}
.fx-rv.fx-in{opacity:1;transform:none}

/* paint burst (add to cart) */
.fx-dot{position:fixed;width:12px;height:12px;border-radius:50%;pointer-events:none;z-index:9999;margin:-6px 0 0 -6px;
  animation:fx-pop .75s cubic-bezier(.15,.8,.3,1) forwards}
@keyframes fx-pop{0%{transform:translate(0,0) scale(.4);opacity:1}70%{opacity:1}100%{transform:translate(var(--dx),var(--dy)) scale(1.4);opacity:0}}

/* header cart */
.arty-cart b{transition:transform .2s}
.arty-cart b.is-pop{animation:fx-badge .7s ease}
@keyframes fx-badge{0%{transform:scale(1)}30%{transform:scale(1.9) rotate(-12deg)}60%{transform:scale(.9)}100%{transform:scale(1)}}
.arty-cart:hover{animation:fx-wig .5s}
@keyframes fx-wig{25%{transform:rotate(-5deg)}75%{transform:rotate(5deg)}}

@media (prefers-reduced-motion:reduce){
  .fx-rv{opacity:1;transform:none;transition:none}
  .arty-cart b.is-pop,.arty-cart:hover{animation:none}
}
