Euro hit by shock Macron call for snap election