/**
 * Voting System Styles
 * Styles for vote buttons and voting components
 */

/* Vote Button Styles */
.vote-button {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.5rem 1rem;
    background: var(--dgw-panel, #f8f9fa);
    border: 1px solid var(--dgw-border, #dee2e6);
    border-radius: var(--dgw-radius, 0.375rem);
    color: var(--dgw-text-dim, #6c757d);
    font-size: 0.9375rem;
    cursor: pointer;
    transition: all 0.2s ease;
}

.vote-button:hover:not(:disabled) {
    background: var(--dgw-panel-2, #e9ecef);
    border-color: var(--dgw-accent, #007bff);
    color: var(--dgw-accent, #007bff);
    transform: translateY(-1px);
}

.vote-button:active:not(:disabled) {
    transform: translateY(0);
}

.vote-button.voted,
.vote-button:disabled {
    background: color-mix(in srgb, var(--dgw-accent, #007bff) 15%, var(--dgw-panel, #f8f9fa));
    border-color: var(--dgw-accent, #007bff);
    color: var(--dgw-accent, #007bff);
    cursor: not-allowed;
}

.vote-button i {
    font-size: 1rem;
}

.vote-count {
    font-weight: 600;
    min-width: 1.5rem;
    text-align: center;
}

/* Voting Section - for vote buttons with email */
.voting-section {
    width: 100%;
}

/* Animation for success message */
@keyframes fadeInSlide {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.voting-section .alert {
    animation: fadeInSlide 0.3s ease-out;
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .voting-section .d-flex {
        flex-direction: column;
        align-items: stretch !important;
    }
    
    .voting-section .flex-grow-1 {
        max-width: 100% !important;
    }
}

