.star-rating-input {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.star-rating-input input[type="radio"] {
    display: none;
}

.stars-display {
    display: flex;
    gap: 0.25rem;
    margin-bottom: 0.5rem;
}

.rating-description {
    text-align: center;
    min-height: 1.5rem;
}

.star-icon {
    cursor: pointer;
    color: #ddd;
    font-size: 2rem;
    user-select: none;
}

.star-icon.selected {
    color: #ff9800;
}

.star-rating-input.disabled .star-icon {
    cursor: not-allowed;
    opacity: 0.5;
}

.star-rating-container.is-invalid {
    border: 2px solid #dc3545;
    border-radius: 8px;
    padding: 0.5rem;
    background-color: rgba(220, 53, 69, 0.05);
}

.form-control.is-invalid,
.form-select.is-invalid,
textarea.is-invalid {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}
