Sometimes, this is caused by a faulty fuel pump.
the one thing we can be sure of is that the fuel pump needs to work and that it needs to be driving enough gasoline under high pressure into the engine for it to start up.
if you test your fuel pressure with a gauge and it reads something lower than what is considered normal, then you may have an issue with your pump itself. this could also account for any problem as well as why the engine struggles as soon as it's cold outside or if there's been an extended period without starting up the car (even overnight). turning on all four headlights for 10-15 minutes before trying to start the car should heat up both lines coming out of your gas