#stickyBuyBtn {
    position: fixed;
    bottom: 1rem;
    left: 50%;
    background: linear-gradient(90deg, #ff9900 0, #ffd500 100%);
    color: #244859;
    font-size: 1rem;
    font-weight: bold;
    padding: 0.5rem 1rem;
    border-radius: 10px;
    border: 2px solid #244859;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1),
    0 10px 10px -5px rgba(0, 0, 0, 0.04);
    z-index: 50;
    cursor: pointer;
    user-select: none;
    width: max-content;
    opacity: 0;
    transform: translateX(-50%) translateY(150%);
    transition: opacity 0.6s ease-out,
    transform 0.7s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

#stickyBuyBtn.visible {
    opacity: 1;
    transform: translate(-50%, 0) scale(1);
    animation: pulsing 1.8s ease-in-out infinite;
}

#stickyBuyBtn:hover,
#stickyBuyBtn:focus,
#stickyBuyBtn:active {
    filter: brightness(0.86);
}

@media screen and (min-width: 768px) {
    #stickyBuyBtn {
        bottom: 1.5rem;
        font-size: 1.5rem;
        padding: 0.75rem 1.5rem;
    }
}

@keyframes pulsing {
    0%, 100% {
        transform: translate(-50%, 0) scale(1);
        box-shadow: 0 0 0 0 rgba(255, 213, 0, 0.7);
    }
    50% {
        transform: translate(-50%, 0) scale(1.05);
        box-shadow: 0 0 0 10px rgba(255, 213, 0, 0);
    }
}