US President Donald Trump has raised the tariff on Canada to 35%, escalating a trade war with one of Washington's key economic partners.

The decision, contained in an executive order, increases the rate from 25% and will come into effect at 00:01 US East Coast time (05:01 BST) on 1 August.

Trump said Canada had "failed to cooperate" in curbing the flow of fentanyl and other drugs across the US border, something Prime Minister Mark Carney insisted earlier this month his country was making "vital progress" towards.

The president also announced sweeping tariffs on dozens of countries on Thursday, as he continued his drive to remake how global trade operates.

As the clock ticked towards Trump's deadline to strike trade deals, he announced goods from Mexico would be charged at current rates for another 90 days, avoiding a threatened increase to 35%.