Groups of defiant "yellow vest" demonstrators faced off with tens of thousands of police around France on Saturday, but the protest movement appeared to have lost momentum on a fifth and decisive weekend.
President Emmanuel Macron, facing the biggest crisis of his presidency, announced a series of concessions on Monday to defuse the explosive "yellow vest" crisis, which swelled up from rural and small-town France last month.
The package of tax and minimum wage measures for low-income workers, coupled with bitter winter weather this weekend, appeared to have helped bring calm to the country after more than a month of clashes and disruption.
France was also hit by a fresh deadly terror attack on Tuesday night when a gunman opened fire at a Christmas market in Strasbourg, leading the government to urge people to stay at home to spare the stretched security forces.
"It's a bit of a failure because the state is stopping us from being able to demonstrate properly," Marie, a 35-year-old domestic helper, told AFP in Paris after travelling her home around 50 kilometres south of the capital.
An estimated 66,000 people took to the streets across France, according to figures from the interior ministry at 6:00 pm, 1700 GMT, half the level of a week ago.
"It's a bit disappointing. We expected there to be more people, but the movement won't end," Francis Nicolas, a 49-year-old labourer, told AFP from a small crowd who gathered in the southeastern city of Lyon.
In Paris, the more than 8,000 police on duty easily outnumbered the 2,200 protesters who were counted on the streets of the capital by local authorities in the early afternoon.
There had been 168 arrests by 6:00 pm (1700 GMT), far down on the roughly 1,000 of last Saturday.
Tear gas was occasionally fired, but a fraction of the amount was used compared with the weekends of December 8 or December 1 when graffiti was daubed on the Arc de Triomphe in scenes that shocked France.
"The turnout was lower, which was necessary from my point of view," parliament speaker Richard Ferrand, a close ally of Macron, told the Cnews channel on Saturday evening. "It's not a time for combat, but debate," he added.
Minor clashes in the cities of Toulouse, Nantes and Bordeaux were reported, while protesters snarled traffic on motorways in the south of the country and on the A16 near the port of Calais in the north.
Until this week, a clear majority of French people had backed the protests, which sprung up initially over high taxes before snowballing into a wider opposition to Macron's pro-business agenda and style of governing.
But two polls published on Tuesday -- in the wake of Macron's concessions -- suggested the country was now broadly 50-50 on whether the protests should continue.
In a bid to end the standoff, a visibly contrite Macron announced a package of measures on Monday in a televised address, estimated by economists to cost up to 15 billion euros ($17 billion).
The 40-year-old former investment banker acknowledged widespread animosity towards him and came close to apologising for a series of verbal gaffes seen as dismissive of the poor or jobless.
He cancelled planned fuel tax hikes for 2019, offered a rise in the minimum wage of 100 euros a month next year, as well as tax relief for many pensioners and tax-free overtime.
Some senior figures in the "yellow vest" movement, which has no official leaders and dozens of separate demands, had urged protesters to continue to press home their advantage.
"It's really the time to keep going," one of them, Eric Drouet, said in a video posted on Facebook. "What Macron did on Monday, was a call to carry on because he has started to give ground, which is unusual for him."
Many protesters appeared to have switched their focus from the core issue of the protests so far -- taxes and spending power -- to other demands such as the greater use of referendums to decide government policy.
"Last time, we were here for taxes," a 28-year-old "yellow vest" called Jeremy told AFP as he arrived on the Champs-Elysees in the freezing cold on Saturday morning.
"This is for the institutions: we want more direct democracy," he said, adding that people needed to "shout to make themselves heard".
Authorities reported the seventh death linked to the demonstrations in a fatal road accident Friday evening near the France-Belgium border caused by a blockade.
More than 1,400 people have been injured since the protests began on November 17.
Around 69,000 security forces were mobilised across France, down from 89,000 last Saturday when 2,000 people were detained.
On Thursday, government spokesman Benjamin Griveaux had called on protesters to stay at home on what is normally a busy shopping weekend ahead of Christmas.
He was speaking in the wake of the attack on Tuesday in the eastern city of Strasbourg, which left four dead and 12 wounded.