/* Native radios remain visible, keyboard-operable and named by their labels. */
.rating-fieldset { border: 0; padding: 0; margin: 1.5rem 0; min-width: 0; }
.rating-fieldset legend { font-size: .9rem; font-weight: 650; margin-bottom: .75rem; }
.rating-options { display: flex; flex-wrap: wrap; gap: .5rem; }
.rating-option { display: flex; align-items: center; gap: .4rem; min-height: 44px; padding: .65rem .75rem; border: 1px solid var(--border); border-radius: var(--radius-small); cursor: pointer; background: var(--white); font-size: .85rem; }
.rating-option input { accent-color: var(--primary); width: 17px; height: 17px; margin: 0; }
.rating-option:has(input:checked) { border-color: var(--primary); background: var(--primary-light); color: var(--primary-dark); }
.rating-option:focus-within { outline: 3px solid var(--focus); outline-offset: 3px; }
