input:disabled + .size-label, input:disabled + .colour-label {
    opacity:0.25
}

label.size-label {
  height: 40px;
  width: 40px;
  text-align: center;
  border: #DEDEDE 1px solid;
  font-size: large;
  line-height: 40px;
  display: inline-block;
  -webkit-user-select: none;  
	-moz-user-select: none;    
	-ms-user-select: none;      
	user-select: none;
}

label.colour-label {
  height: 40px;
  min-width: 40px;
  border: #DEDEDE 1px solid;
  display: inline-block;
  line-height: 40px;
  text-align: center;
  padding: 0 7px;
}

label.colour-label span {
  background: inherit;
  color: transparent;
  -webkit-background-clip: text;
  background-clip: text;
  filter: invert(1) grayscale(1) contrast(9);
}

.size-input, .colour-input { display: none; }

.size-input[type="radio"]:checked+label{     
	font-weight: 500;
  background-color: #0f2b37;
  color: white;
}

.size-input[type="radio"][disabled]+label{     
	background-color: #CCCCCC;
  color: #FFFFFF;
}

.colour-input[type="radio"]:checked+label{     
  outline: #0f2b37 2px solid;
  border: #fff 1px solid;
}
