/* Navbar cart icon + quantity badge, fly-to-cart dot, per-item qty badge.
   Loaded globally on the frontend (the navbar exists on every page). */
.msf-nav-cart-icon { position: relative; display: inline-flex; align-items: center; font-size: 19px; line-height: 1; padding: 4px 6px; }
.msf-nav-cart-icon .fa-cart-shopping { color: inherit; }
.msf-nav-cart-count { position: absolute; top: -6px; right: -8px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 999px; background: #0757EE; color: #fff; font-size: 11px; font-weight: 700; line-height: 19px; text-align: center; }
.msf-nav-cart-count[hidden] { display: none; }
.msf-nav-cart-count.msf-pop { animation: msf-pop .35s ease; }
@keyframes msf-pop { 0% { transform: scale(.4); } 60% { transform: scale(1.25); } 100% { transform: scale(1); } }

/* Flying dot: item button -> navbar cart icon */
.msf-fly-dot { position: fixed; z-index: 10000; width: 14px; height: 14px; margin: -7px 0 0 -7px; border-radius: 50%; background: #0757EE; pointer-events: none; transition: transform .6s cubic-bezier(.3,.7,.4,1), opacity .6s; }

/* Per-item quantity on the grid add-to-cart button */
.msf-add-to-cart-btn { position: relative; }
.msf-cart-qty { position: absolute; top: -7px; right: -7px; min-width: 19px; height: 19px; padding: 0 5px; border-radius: 999px; background: #0757EE; color: #fff; font-size: 11px; font-weight: 700; line-height: 19px; text-align: center; }
.msf-cart-qty[hidden] { display: none; }
