/**
 * Vote Field Styles.
 *
 * @since 1.0.0
 */

.voxel-vote-field {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 20px 0;
}

.voxel-vote-button {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 16px;
    border: 1px solid #ddd;
    background: #fff;
    color: #333;
    text-decoration: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.2s ease;
    font-size: 14px;
    line-height: 1.5;
}

.voxel-vote-button:hover {
    background: #f5f5f5;
    border-color: #bbb;
}

.voxel-vote-button.active {
    background: #0073aa;
    color: #fff;
    border-color: #0073aa;
}

.voxel-vote-button.active:hover {
    background: #005a87;
    border-color: #005a87;
}

.voxel-vote-button.loading {
    opacity: 0.6;
    cursor: not-allowed;
}

.voxel-vote-button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.voxel-vote-button .voxel-vote-icon {
    width: 16px;
    height: 16px;
    display: inline-block;
}

.voxel-vote-button[data-vote-type="upvote"] .voxel-vote-icon::before {
    content: '▲';
    display: block;
}

.voxel-vote-button[data-vote-type="downvote"] .voxel-vote-icon::before {
    content: '▼';
    display: block;
}

.voxel-vote-count {
    font-weight: 600;
    min-width: 20px;
    text-align: center;
}

.voxel-vote-count-upvote {
    color: #46b450;
}

.voxel-vote-count-downvote {
    color: #dc3232;
}

.voxel-vote-button.active .voxel-vote-count {
    color: #fff;
}

.voxel-voters-list {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid #eee;
}

.voxel-voters-list-title {
    font-size: 12px;
    font-weight: 600;
    text-transform: uppercase;
    color: #666;
    margin-bottom: 8px;
}

.voxel-voters-list-items {
    list-style: none;
    margin: 0;
    padding: 0;
}

.voxel-voters-list-item {
    padding: 4px 0;
    font-size: 13px;
    color: #666;
}

.voxel-voters-list-item a {
    color: #0073aa;
    text-decoration: none;
}

.voxel-voters-list-item a:hover {
    text-decoration: underline;
}
