.anim-float {
    animation: float 6s ease-in-out infinite;
}

.anim-pulse-btn {
    animation: pulseShadow 2s ease-in-out infinite;
}

.anim-sheen {
    position: relative;
    overflow: hidden;
}

.anim-sheen::after {
    content: '';
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        90deg,
        transparent,
        rgba(255, 255, 255, 0.3),
        transparent
    );
    transition: left 0.6s ease;
}

.anim-sheen:hover::after {
    left: 100%;
}

@keyframes float {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-6px);
    }
}

@keyframes pulseShadow {
    0%, 100% {
        box-shadow: 0 4px 15px rgba(233, 69, 96, 0.3);
    }
    50% {
        box-shadow: 0 6px 25px rgba(233, 69, 96, 0.5);
    }
}

@media (prefers-reduced-motion: reduce) {
    .anim-float,
    .anim-pulse-btn {
        animation: none;
    }
    .anim-sheen::after {
        display: none;
    }
    .gift-icon {
        animation: none;
    }
}
