It could be done using `input:checked + sibling` selector e.g. like this: https://jsfiddle.net/6bgemn0s/
For something fancier it would be possible to style a label with appropriate for="" attribute and hide the checkbox completely, then even apply some transitions: https://jsfiddle.net/6bgemn0s/1/