.review-form fieldset { display: flex; flex-wrap: wrap; gap: 2px; align-items: center; }
.review-form fieldset legend { width: 100%; }
.review-form fieldset label { display: inline-flex; width: 34px; height: 34px; align-items: center; justify-content: center; margin: 0; color: #cbd5e1; font-size: 0; cursor: pointer; }
.review-form fieldset label input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.review-form fieldset label::before { color: inherit; content: '☆'; font-size: 1.8rem; line-height: 1; transition: color .18s ease, transform .18s ease; }
.review-form fieldset label > span, .review-form fieldset label > b { display: none; }
.review-form fieldset label:hover::before, .review-form fieldset label:focus-within::before { color: #f59e0b; transform: scale(1.08); }
.review-form fieldset label:has(input:checked)::before { color: #f59e0b; }
.review-form fieldset:has(input[value="1"]:checked) label:nth-of-type(-n+1)::before,
.review-form fieldset:has(input[value="2"]:checked) label:nth-of-type(-n+2)::before,
.review-form fieldset:has(input[value="3"]:checked) label:nth-of-type(-n+3)::before,
.review-form fieldset:has(input[value="4"]:checked) label:nth-of-type(-n+4)::before,
.review-form fieldset:has(input[value="5"]:checked) label:nth-of-type(-n+5)::before { color: #f59e0b; }
.review-form fieldset label:focus-within { outline: 2px solid currentColor; outline-offset: 2px; }
@media (max-width: 600px) { .review-form fieldset label { width: 40px; height: 40px; } }
