.star-rating {
    --star-size: 48px;
    display: flex;

    & input {
        position: absolute;
        left: -100vw;
    }

    & label {
        width: var(--star-size);
        height: var(--star-size);
        overflow: hidden;
        padding: var(--star-size) 0 0;
        background: url('stars.svg') no-repeat top left;
        background-position: 0px 0;
    }

    & input:checked+label {
        background-position: calc(-1 * var(--star-size)) 0;
    }
}

.review header {
    display: flex;
    flex-direction: column-reverse;
    align-items: center;
    justify-content: space-between;
    gap: 40px;

    & h2 {
        margin: 0;
        padding: 0;
    }
}
@media (min-width: 1000px) {
    .review header {
        flex-direction: row;
    }
}
@media (max-width: 400px) {
    .star-rating {
        --star-size: 24px;

        & label {
            background: url('stars-small.svg') no-repeat top left;
        }
    };
}