.visual-options-container {
  display: flex;
  flex-wrap: wrap;
}

.visual-option-item {
  flex: 1 0 25%;
  padding: 3%;
}

.visual-option-item input[type="radio"] {
  display: none;
}

.visual-option-item input[type="radio"] + label {
  display: block;
  opacity: 0.4;
  transition: 300ms;
}

.visual-option-item input[type="radio"] + label:hover {
  opacity: 0.6;
}

.visual-option-item input[type="radio"]:checked + label {
  opacity: 1;
}