.store-rating { border: 0; padding: 0; margin: 0; min-inline-size: 0; }
.store-rating legend { padding: 0; margin-block-end: .375rem; font-size: .9rem; font-weight: 600; }
.store-rating__choices { display: inline-flex; gap: .125rem; }
.store-rating__choice { position: relative; display: grid; place-items: center; inline-size: 2.75rem; block-size: 2.75rem; cursor: pointer; border-radius: var(--store-radius-sm); }
.store-rating__choice input { position: absolute; opacity: 0; inline-size: 100%; block-size: 100%; margin: 0; cursor: pointer; }
.store-rating__choice span { color: var(--store-muted); font-size: 2rem; line-height: 1; pointer-events: none; }
.store-rating__choices:has(input:checked) .store-rating__choice span { color: #a86a00; }
.store-rating__choice:has(input:checked) ~ .store-rating__choice span { color: var(--store-muted); }
.store-rating__choices:has(.store-rating__choice:hover) .store-rating__choice span { color: #a86a00; }
.store-rating__choices .store-rating__choice:hover ~ .store-rating__choice span { color: var(--store-muted); }
.store-rating__choice:has(input:focus-visible) { outline: var(--store-focus-width) solid var(--store-focus-color); outline-offset: 2px; }
.store-rating__choice:has(input:disabled) { opacity: .55; cursor: not-allowed; }
