.vote-wrapper-a403c85c {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 10px;
}

.vote-btn-a403c85c {
    border: none;
    padding: 10px 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden;
}

.vote-btn-a403c85c:disabled {
    cursor: default;
}

.vote-state-before,
.vote-state-after {
    display: flex;
    align-items: center;
    gap: 8px;
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.vote-state-after {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) scale(0.9);
    opacity: 0;
    pointer-events: none;
    width: max-content;
}

.vote-btn-a403c85c.voted .vote-state-before {
    opacity: 0;
    transform: scale(0.9);
}

.vote-btn-a403c85c.voted .vote-state-after {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1);
}

.vote-btn-a403c85c.loading {
    opacity: 0.7;
    pointer-events: none;
}

.vote-count-a403c85c {
    font-size: 0.9em;
}

.vote-btn-a403c85c .vote-count-a403c85c {
    margin-left: 8px;
    display: inline-block;
}