/* Floating button styles for voting page */
.floating-review-btn {
    position: fixed;
    left: 50%;
    transform: translateX(-50%) translateY(10px);
    bottom: 22px;
    z-index: 9999;
    padding: 14px 26px;
    font-size: 1.1rem;
    background: linear-gradient(180deg, var(--button-background, #007bff), #0052a3);
    color: #fff;
    border: none;
    border-radius: 999px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.45);
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    transition: opacity 220ms ease, transform 220ms cubic-bezier(.2,.9,.3,1);
}

.floating-review-btn.visible {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    pointer-events: auto;
}

.floating-review-btn:hover { opacity: 0.95; }

/* Mobile: make the floating button full-width with comfortable side padding */
@media (max-width: 600px) {
    .floating-review-btn {
        left: 50%;
        transform: translateX(-50%) translateY(10px);
        bottom: 18px;
        padding: 14px 20px;
        font-size: 1.05rem;
        width: calc(100% - 32px);
        max-width: none;
        border-radius: 12px;
    }

    .floating-review-btn.visible {
        transform: translateX(-50%) translateY(0);
    }
}