.rating {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
}

.rating-stars {
    display: flex;
    gap: 2px;
}

.rating-star {
    background: none;
    border: none;
    padding: 0;
    color: var(--gray-300);
    transition: color var(--transition-fast);
    display: flex;
    align-items: center;
    justify-content: center;
}

.rating-star:disabled {
    cursor: default;
}

.rating-star.filled {
    color: #fbbf24;
}

.rating-star.half {
    color: #fbbf24;
    opacity: 0.5;
}

.rating-star.interactive {
    cursor: pointer;
}

.rating-star.interactive:hover {
    color: #fbbf24;
    transform: scale(1.1);
}

.rating-value {
    font-size: var(--text-sm);
    font-weight: var(--font-medium);
    color: var(--text-primary);
}

/* Sizes */
.rating-small .rating-value {
    font-size: var(--text-xs);
}

.rating-large .rating-value {
    font-size: var(--text-base);
}