.star-rating {
    display: inline-flex;
    flex-direction: row-reverse;
    justify-content: flex-end;
    gap: 4px;
    margin: 4px 0 12px;
    padding: 0;
    border: 0;
}

.star-rating legend {
    width: 100%;
    margin-bottom: 4px;
    color: #3a2618;
    font-weight: 600;
}

.star-rating input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    pointer-events: none;
}

.star-rating label {
    color: #d8d0c5;
    font-size: 34px;
    line-height: 1;
    cursor: pointer;
    transition: color .15s ease, transform .15s ease;
}

.star-rating input:checked ~ label,
.star-rating label:hover,
.star-rating label:hover ~ label {
    color: #f6b900;
}

.star-rating label:hover {
    transform: scale(1.08);
}

.star-rating input:focus-visible + label {
    outline: 3px solid #81d4fa;
    outline-offset: 3px;
    border-radius: 4px;
}
