/* ==================================================
   Floating Cart Widget — Global Styles
   ================================================== */

/* Floating button */
#floatingCart {
    box-shadow: 0 4px 15px rgba(255, 93, 0, 0.4);
    transition: all 0.3s ease;
}
#floatingCart:hover {
    transform: scale(1.1);
    box-shadow: 0 6px 25px rgba(255, 93, 0, 0.5);
}

/* Cart dropdown items */
.fc-cart-dropdown-item {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 12px 0;
    border-bottom: 1px solid #f0f0f0;
}
.fc-cart-dropdown-item:last-child {
    border-bottom: none;
}

/* Empty state */
.fc-empty-cart-msg {
    text-align: center;
    padding: 30px;
    color: #6c757d;
}

/* Flying item animation */
.fc-flying-item {
    position: fixed;
    z-index: 9999;
    pointer-events: none;
    transition: all 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    opacity: 1;
}
.fc-flying-item.fly {
    opacity: 0;
    transform: scale(0.2);
}

/* Cart bounce animation */
@keyframes fcCartBounce {
    0%, 100% { transform: scale(1); }
    25% { transform: scale(1.2); }
    50% { transform: scale(0.95); }
    75% { transform: scale(1.1); }
}
@keyframes fcCartShake {
    0%, 100% { transform: rotate(0deg); }
    25% { transform: rotate(-10deg); }
    75% { transform: rotate(10deg); }
}
#floatingCart.fc-animate {
    animation: fcCartBounce 0.6s ease, fcCartShake 0.6s ease;
}

/* Badge pop */
@keyframes fcCountPop {
    0% { transform: scale(1); }
    50% { transform: scale(1.5); }
    100% { transform: scale(1); }
}
#cartCount.fc-pop {
    animation: fcCountPop 0.4s ease;
}

/* Mobile — use left+100vw instead of right to avoid page-overflow pushing cart off-screen */
@media (max-width: 768px) {
    #floatingCart { top: 140px !important; right: auto !important; left: calc(100vw - 62px) !important; width: 50px !important; height: 50px !important; }
    #floatingCart i { font-size: 20px !important; }
    #cartDropdown {
        top: 195px !important;
        right: auto !important;
        left: calc(100vw - 310px) !important;
        max-width: 300px !important;
        max-height: calc(100vh - 80px) !important;
    }
    #cartDropdown .card-footer {
        max-height: calc(100vh - 280px) !important;
    }
}
