/* ---------- Generic image button ---------- */
.rxp-img-btn{background:none;border:0;padding:0;line-height:0;cursor:pointer}
.rxp-img-btn img{display:block}

/* ---------- Floating cart (FAB) ---------- */
.rxp-cart-fab-wrap{
  position:fixed; right:16px; top:0; height:100svh; z-index:1000;
  display:flex; align-items:center; pointer-events:none;
}
.rxp-cart-fab{
  position:static; display:inline-block; pointer-events:auto;
  z-index:9999;
}
.rxp-cart-fab img{ display:block; height:auto; }

/* Nudge left if another floating cart exists */
.rxp-cart-fab--shift{ right:68px; }

/* Mobile: dock to bottom-right */
@media (max-width:768px){
  .rxp-cart-fab-wrap{ top:auto; bottom:18px; height:auto; }
}

/* ---------- Count badge (uses your existing id) ---------- */
#rxp-cart-count{
  position:absolute; top:-8px; right:-8px;
  min-width:22px; height:22px; padding:0 6px; border-radius:999px;
  background:#e02424;  /* <- red, same as original */
  color:#fff; font:bold 13px/22px Arial, sans-serif;
  text-align:center; box-shadow:0 0 0 2px #fff; display:none;
}


/* ---------- Pulse on add ---------- */
.cart-pulse{ animation:cartPulse .5s ease-out; }
@keyframes cartPulse{
  0%{transform:scale(1)}50%{transform:scale(1.15)}100%{transform:scale(1)}
}

/* ---------- Flying token (whoosh) ---------- */
.flyer{
  position:fixed; z-index:99999; pointer-events:none;
  transition: transform 850ms cubic-bezier(.17,.67,.19,1.25), opacity 850ms ease-in-out;
  will-change: transform, opacity;
}
.flyer-token{
  background:#6fb4b2; color:#fff; border-radius:999px; padding:12px 16px;
  font:700 14px/1 Arial, sans-serif;
  box-shadow:0 10px 26px rgba(0,0,0,.22), 0 0 0 2px rgba(255,255,255,.6) inset;
}

/* ---------- Toast (non-blocking) ---------- */
#rxp-toast{
  position:fixed; left:50%; bottom:24px; transform:translateX(-50%);
  background:#1f2937; color:#fff; padding:10px 14px; border-radius:10px;
  font:14px/1.2 Arial, sans-serif; z-index:10000; box-shadow:0 6px 18px rgba(0,0,0,.2);
  opacity:0; transition:opacity .25s;
}
