/* Names and native radios remain visible; colour is not the only cue. */
.finish-choice label:has(input[name="finish"])::before,
.finish-choice label:has(input[name="grille_finish"])::before {
  content: ""; display: inline-block; width: 17px; height: 17px;
  flex: 0 0 17px; border-radius: 50%; border: 1px solid #918b80;
  box-shadow: inset 0 0 0 1px #ffffff40; background: #353638;
}
.finish-choice label:has(input[value="chrome"])::before { background: linear-gradient(135deg,#777f86,#fafafa 40%,#aeb4bb 65%,#e5e8eb); }
.finish-choice label:has(input[value="champagne"])::before { background: linear-gradient(135deg,#b9a37a,#97835c); }
.finish-choice label:has(input[value="gris"])::before { background: linear-gradient(135deg,#46484a,#232426); }
.finish-choice label:has(input[name="finish"]),.finish-choice label:has(input[name="grille_finish"]) { flex-wrap: wrap; }
#address-results { display: grid; gap: 6px; }
#address-results button { text-align: left; padding: 12px; border: 1px solid #918b80; background: #f5f2eb; color: #222; cursor: pointer; font: inherit; }
#address-results button:focus-visible { outline: 3px solid #a38a5c; outline-offset: 2px; }
#billing-fields[hidden] { display: none; }
.billing-toggle { display: flex; align-items: center; gap: 10px; }
.billing-toggle input { width: auto; }
