.form-control,
.form-select {
    border-top: 1px #d9d9d9 solid;
    border-right: 1px #d9d9d9 solid;
}
.section-title {
    background-color: #f8f9fa;
    padding: 10px 15px;
    margin: 20px 0 15px;
    border-left: 4px solid #0d6efd;
    font-weight: bold;
}
.star-rating {
    display: flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    margin: 10px 0;
}
.star-rating input {
    display: none;
}
.star-rating label {
    font-size: 24px;
    color: #ddd;
    cursor: pointer;
    margin-right: 5px;
    transition: color 0.2s;
}
.star-rating input:checked ~ label,
.star-rating label:hover,
.star-rating label:hover ~ label {
    color: #ffc107;
}
.required-field::after {
    content: " *";
    color: #dc3545;
}
.form-text {
    font-size: 0.875em;
    color: #6c757d;
}
