/* Café MiClub Menu - Public Styles */

/* Animations */
@keyframes cmm-pulse {
    0%, 100% { box-shadow: 0 4px 20px rgba(0,0,0,0.4), 0 0 0 0 rgba(201,168,76,0.4); }
    50% { box-shadow: 0 4px 20px rgba(0,0,0,0.4), 0 0 0 10px rgba(201,168,76,0); }
}

@keyframes cmm-bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-8px); }
}

@keyframes cmm-shake {
    0%, 100% { transform: translateX(0); }
    20%, 60% { transform: translateX(-4px); }
    40%, 80% { transform: translateX(4px); }
}

@keyframes cmm-slide-in {
    from { transform: translateX(120%); opacity: 0; }
    to   { transform: translateX(0); opacity: 1; }
}

.cmm-anim-pulse {
    animation: cmm-pulse 2s infinite;
}

.cmm-anim-bounce {
    animation: cmm-bounce 1.5s infinite;
}

.cmm-anim-shake {
    animation: cmm-shake 0.8s infinite;
}

/* Floating buttons */
.cmm-floating-btn-wrap,
.cmm-floating-promo-wrap {
    animation: cmm-slide-in 0.5s ease forwards;
}

.cmm-floating-btn:hover {
    transform: scale(1.05);
    transition: transform 0.2s;
}

/* Action buttons */
.cmm-action-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(0,0,0,0.3) !important;
    transition: all .3s;
}

/* Menu wrap general */
.cmm-menu-wrap {
    max-width: 100%;
    overflow: hidden;
}

.cmm-menu-wrap img {
    max-width: 100%;
}

/* Responsive floating button */
@media (max-width: 480px) {
    .cmm-floating-promo-wrap {
        max-width: calc(100vw - 40px) !important;
        bottom: 10px !important;
    }
    .cmm-floating-promo-wrap .cmm-floating-btn {
        padding: 8px 12px !important;
        font-size: 12px !important;
    }
}
