Как стилизовать input type=file?
Никак.
Сделай его прозрачным, и под ним напиши что угодно. Можно даже котика нарисовать.
Здесь применяют технику создания и показа фейк-объекта, а реальный объект существует в DOM'е, но скрыт. 
Вот понятный пример, правда статья из 2015-го года.
https://tympanus.net/codrops/2015/09/15/styling-cu...