/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 10px;
}

::-webkit-scrollbar-track {
    background: #f1f1f1;
}

::-webkit-scrollbar-thumb {
    background: #009688;
    /* Larbi Teal */
    border-radius: 5px;
}

::-webkit-scrollbar-thumb:hover {
    background: #00796B;
}

/* Smooth Scroll Behavior is handled by Tailwind 'scroll-smooth' class on html */

/* Custom Animations */
@keyframes float {
    0% {
        transform: translateY(0px);
    }

    50% {
        transform: translateY(-10px);
    }

    100% {
        transform: translateY(0px);
    }
}

.animate-float {
    animation: float 3s ease-in-out infinite;
}

/* Menu Item Hover Effects */
.menu-item {
    transition: all 0.3s ease;
}

.menu-item:hover {
    transform: translateY(-5px);
}

/* Cart Animations */
@keyframes spark {
    0% {
        transform: scale(0);
        opacity: 1;
    }

    100% {
        transform: scale(1.5);
        opacity: 0;
    }
}

.spark-effect {
    position: absolute;
    pointer-events: none;
    animation: spark 0.5s ease-out forwards;
    z-index: 100;
}

.cart-bounce {
    animation: bounce-custom 0.5s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

@keyframes bounce-custom {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.2);
    }

    100% {
        transform: scale(1);
    }
}

/* Modal Animations */
@keyframes slide-up {
    0% {
        transform: translateY(100%);
    }

    100% {
        transform: translateY(0);
    }
}

.animate-slide-up {
    animation: slide-up 0.3s ease-out forwards;
}

@keyframes pop-in {
    0% {
        transform: translate(-50%, -50%) scale(0.9);
        opacity: 0;
    }

    100% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 1;
    }
}

.md\:animate-pop-in {
    animation: pop-in 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) forwards;
}

/* Utilities */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}