Wenn ich recht entsinne mag der Safari es nicht, wenn das Input-Feld mit "display: none;" unsichtbar gestellt wird.
Habe gerade auch keinen Safari zum Testen griffbereit, aber versuch es mal so:
Code:
/*Hide checkbox*/
input[type=checkbox]{
/* display: none; */
position: absolute;
margin-left: -100vw;
-webkit-appearance: none;
}