.floating-cart-button {
    align-items: center;
    background: linear-gradient(115deg, #172033 0%, #26324a 100%);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 15px;
    bottom: 82px;
    box-shadow: 0 12px 30px rgba(16,24,40,.28);
    color: #fff;
    display: flex;
    gap: 10px;
    min-height: 58px;
    opacity: 0;
    padding: 8px 10px 8px 9px;
    pointer-events: none;
    position: fixed;
    right: 18px;
    transform: translate3d(0,20px,0) scale(.94);
    transition: opacity .25s ease,transform .25s ease,box-shadow .2s ease;
    visibility: hidden;
    z-index: 1070;
}
.floating-cart-button.is-visible { opacity: 1; pointer-events: auto; transform: translate3d(0,0,0) scale(1); visibility: visible; }
.floating-cart-button:hover,.floating-cart-button:focus { background: linear-gradient(115deg,#101727 0%,#202b41 100%); box-shadow: 0 15px 34px rgba(16,24,40,.36); color: #fff; outline: 0; transform: translate3d(0,-2px,0) scale(1); }
.floating-cart-button:focus-visible { box-shadow: 0 0 0 4px rgba(225,29,46,.22),0 15px 34px rgba(16,24,40,.36); }
.floating-cart-icon { align-items: center; background: #e11d2e; border-radius: 11px; display: flex; flex: 0 0 40px; font-size: 17px; height: 40px; justify-content: center; }
.floating-cart-copy { display: flex; flex-direction: column; line-height: 1.2; white-space: nowrap; }
.floating-cart-copy strong { color: #fff; font-size: 12px; font-weight: 800; }
.floating-cart-copy small { color: #b9c1cf; font-size: 8px; margin-top: 3px; }
.floating-cart-count { align-items: center; background: #fff; border: 2px solid #e11d2e; border-radius: 50%; color: #e11d2e; display: flex; font-size: 10px; font-weight: 800; height: 25px; justify-content: center; line-height: 1; min-width: 25px; padding: 0 4px; }
.floating-cart-button.is-bumped { animation: floating-cart-bump .48s ease-out; }
.floating-cart-button.is-bumped .floating-cart-icon { animation: floating-cart-icon-pop .48s ease-out; }

@keyframes floating-cart-bump { 0% { transform: scale(1); } 45% { transform: scale(1.08); } 100% { transform: scale(1); } }
@keyframes floating-cart-icon-pop { 0%,100% { background: #e11d2e; } 45% { background: #ff4051; transform: rotate(-7deg); } }

@media (max-width: 767.98px) {
    .floating-cart-button { bottom: 16px; border-radius: 14px; left: 12px; min-height: 56px; right: 12px; }
    .floating-cart-button.is-product-page { bottom: calc(82px + env(safe-area-inset-bottom)); left: auto; min-height: 54px; right: 12px; }
    .floating-cart-button.is-product-page .floating-cart-copy { display: none; }
    .floating-cart-button.is-product-page .floating-cart-icon { flex-basis: 38px; height: 38px; }
    .floating-cart-button.is-product-page .floating-cart-count { position: absolute; right: -5px; top: -6px; }
}

@media (prefers-reduced-motion: reduce) {
    .floating-cart-button { transition: none; }
    .floating-cart-button.is-bumped,.floating-cart-button.is-bumped .floating-cart-icon { animation: none; }
}
