Fortunately, the radio buttons are actually there, they’re simply hidden by CSS. This code isn’t perfect, but should get you a long way closer to what you want:
.bc-product-form__control--pick-list input.bc-product-variant__radio--hidden:checked + .bc-product-variant__label .bc-product-variant__label--pick-list {
border: 0px solid #168fc0;
}
input[type="radio"] ~ input[type="radio"] {
margin-top: 12px;
}
.bc-product-form__control--pick-list .u-bc-visual-hide {
border: 0;
clip: rect(0 0 0 0);
height: auto;
margin: 12px;
overflow: hidden;
padding: 0;
position: relative;
width: auto;
float: left;
}
.bc-product-form__control--pick-list .u-bc-visual-hide:hover {
cursor: pointer !important;
}
.bc-product-variant__label--pick-list {
border: 0px solid #e0e3e9;
cursor: pointer !important;
}