French "yellow vest" demonstrators clashed with riot police in Paris on Saturday in the latest round of protests against President Emmanuel Macron, but the city appeared to be escaping the large-scale destruction of a week earlier due to heavy security.
Armoured vehicles rolled through central Paris as protesters, clad in their emblematic luminous safety jackets, threw rocks at police and set fire to barricades.
Shouts of "Macron, resign" mingled with tear gas on the famous Champs-Elysees avenue, and thick plumes of black smoke from fires rose high into the sky. Several cars were set alight.
But the pockets of violence were a far cry from the destruction and looting of a week earlier, when some 200 cars were torched in the worst rioting in Paris in decades.
The government had vowed "zero tolerance" for anarchist, far-right or other trouble-makers seeking to wreak further havoc at protests that have sparked the deepest crisis of Macron's presidency.
Police reinforcements were boosted to 8,000 across the city, with armoured vehicles deployed in Paris for the first time ever.
Mr Macron praised the professionalism of the police.
More than 700 protesters were detained in the capital, many of them stopped as they arrived at train stations or meeting points carrying hammers, petanque balls and other potential missiles.
Police also confiscated surgical masks and goggles used to protect against the effects of tear gas.
Shops along the Champs-Elysees and department stores around the city stayed shut with their windows boarded up to avoid looting.
The Eiffel Tower, major museums and many metro stations were also closed as parts of central Paris went on effective lockdown.
Yet government calls for people to stay away fell on deaf ears as the protests against Mr Macron's pro-business policies and top-down governing style show little sign of dying down.
Officials estimated that 8,000 protesters had made their way to Paris from across France, among 31,000 turning out nationwide -- numbers similar to a week ago.
Denis, a 30-year-old forklift driver, travelled to Paris for the first time Saturday to make his voice heard after three weeks at the barricades in the Normandy port of Caen.
"I'm here for my 15-month-old son. I can't let him live in a country where the poor are exploited," he told AFP.
Saturday's protests attracted the attention of US President Donald Trump, who said they were evidence of a lack of public support for pro-environment policies like the Paris climate agreement.
"The Paris Agreement isn't working out so well for Paris. Protests and riots all over France," Mr Trump tweeted.
"People do not want to pay large sums of money, much to third world countries (that are questionably run), in order to maybe protect the environment."
The demonstrations are not linked to the climate agreement.
People began blockading roads on November 17 over rising fuel prices -- partly due to taxes aimed at helping France to transition to a greener economy.
But the demonstrations has since swollen into a broad movement against Mr Macron, whom the protesters accuse of favouring the rich.
Nationwide, 89,000 police officers were out in force in towns, cities and on numerous motorways which caused havoc on France's road network.
Police also clashed with protesters in the southwestern cities of Bordeaux and Toulouse, though elsewhere, such as Marseille, the demonstrations were peaceful.
More than 950 people were detained across France, according to a police source.
The US embassy had issued a warning to Americans to "keep a low profile and avoid crowds" in Paris, while Belgium, Portugal and the Czech Republic advised citizens to postpone any planned visits.
Mr Macron this week gave in to some of the protesters' demands for measures to help the poor and struggling middle classes, including scrapping a planned increase in fuel taxes and freezing electricity and gas prices in 2019.
The climbdown marked a major departure for a president who had vowed, unlike predecessors, not to be swayed by mass protests.
But the "yellow vests", some of whom who have become increasingly radicalised, are holding out for more.
Many want him to reverse his decision to slash taxes on France's wealthiest in a bid to boost investment and create jobs -- something he has so far ruled out.
The policy, along with hikes on pensioners' taxes, cuts in housing allowances and a string of comments deemed insensitive to ordinary workers, has led critics to label Macron a "president of the rich".
Protests at dozens of schools over university reforms, and a call by farmers for demonstrations next week, have added to a sense of general revolt in France.
Prime Minister Edouard Philippe on Friday met a delegation of self-described "moderate" yellow vests, and a spokesman from the movement, Christophe Chalencon, said the premier had "listened to us and promised to take our demands to the president".
"Now we await Mr Macron. I hope he will speak to the people of France as a father, with love and respect and that he will take strong decisions," Mr Chalencon said.