Хехе, буквально тем же сейчас занимаюсь. Хочу провернуть трюк с type file, но пока не получается.
Грубо говоря сделать обычный div, (например) круг. по клику на который открывается datepicker.
с файлом я делал абсолютное позиционирование и убирал его на -10000px. и стилизовал уже label. По клику на который и открывался выбор файла. с датой пока не получается
.parent{position: relative;z-index:1;opacity:0;} // это прозрачный input
.parent:after{position:absolute;z-index:0;height:100%;width:100%;content: "по желанию"; + можно иллюстрацию через bkg} // это то, что буде показано на месте input