PARIS -- Emmanuel Macron intended to start the new year on the offensive against the "yellow vest" protesters. Instead, the French president is reeling from more violent street demonstrations.
What began as a grassroot rebellion against diesel taxes and the high cost of living has morphed into something more perilous for Macron - an assault on his presidency and French institutions.
The anti-government protesters on Saturday used a forklift truck to force their way into a government ministry compound, torched cars near the Champs Elysees and in one violent skirmish on a bridge over the Seine punched and kicked riot police officers to the ground.
The French authorities' struggle to maintain order during the weekend protests raises questions not just over policing tactics but also over how Macron responds, as he prepares to bring in stricter rules for unemployment benefits and cut thousands of public sector jobs.
On Sunday evening, Macron wrote on Twitter: "Once again, the Republic was attacked with extreme violence - its guardians, its representatives, its symbols."
His administration had hardened its stance against the yellow vests after the protest movement appeared to have lost momentum over the Christmas holidays.
The government would not relent in its pursuit of reforms to reshape the economy, government spokesman Benjamin Griveaux said on Friday, branding the remaining protesters agitators seeking to overthrow the government.
Twenty-four hours later, he was fleeing his office out of a back door as protesters invaded the courtyard and smashed up several cars. "It wasn't me who was attacked," he later said. "It was the Republic."
Driving the unrest is anger, particularly among low-paid workers, over a squeeze on household incomes and a belief that Macron is indifferent to citizens' needs as he enacts reforms seen as pro-business and favoring the wealthy.
Macron's government has been shaken by the unrest, caught off-guard when in November the yellow vests began blocking roads, occupying highway tollbooths and staging violent invasions of Paris and other cities on weekends.
Two months on, it has not found a way to soothe the yellow vests' anger and meet their demands, which include a higher minimum wage, a more participative democracy and Macron's resignation.
With no clear leader, negotiating with the group is hard.
Macron sought to head off the rebellion in December with a promise of tax cuts for pensioners, wage hikes for the poorest workers and a reversal of planned fuel tax hikes, while pledging a national debate on key policy issues. He fell short.
The price tag for those concessions: 10 billion euros, enough to send French borrowing costs higher as investors fretted about debt levels and Macron's ability to reform the euro zone's second largest economy.
Laurent Berger, head of the reform-minded CFDT trade union, France's largest by members, on Sunday accused Macron's government of going it alone at a time it needed to reach out.
"We're at an impasse. We have on the one side a violent movement ... and on the other a government which thinks it can find the answers all on its own," Berger told France Inter.
Some 50,000 protesters marched through cities and towns across France, including Paris, Bordeaux, Toulouse, Rennes and Marseille.
In Paris, the street marches began peacefully but degenerated when some protesters threw punches at baton-wielding officers, torched electric scooters and garbage bins along the Left Bank's upscale Boulevard Saint Germain and set cars ablaze near the Champs Elysees. Clashes erupted in other cities too.
Both yellow vests and "casseurs", hooded youths from anti-capitalist or anarchist groups, appeared to be involved.
Labor Minister Muriel Penicaud said the prolonged unrest was hurting foreign investment.
Opposition lawmakers demanded the government put forward concrete proposals to address the yellow vests' demands, but government ministers dismissed caving in to a minority of troublemakers.
"We need to stop being a country that listens to those who cry the loudest," Education Minister Jean-Michel Blanquer told LCI news channel.