Brazil police and protesters clash at Spain-Italy match
Police in Brazil have clashed with demonstrators ahead of a football match between Spain and Italy in the north-eastern city of Fortaleza.
Some 5,000 people marched towards the Castelao stadium a few hours before the Confederations Cup match.
Police responded with tear gas to attacks from a small group of young men who seemed determined to cause trouble, reports the BBC's Sarah Rainsford.
This is the latest in a series of protests against corruption.
Nearly 90 people were arrested for rioting outside the stadium in Fortaleza. Several demonstrators and police officers were injured.
The wave of protests began nearly a month ago in the city Sao Paulo after bus fares were increased by 10%.
The rises in Sao Paulo and many other Brazilian cities were revoked after two weeks of protests.
By then, the demonstrations had turned into a nationwide movement for better education, healthcare and transport.
"We did lots of good things in the past few years for the education system, but people want more," said Rio de Janeiro mayor Eduardo Paes.
"Brazil has lost a great opportunity with the World Cup. Fifa asked for stadiums and Brazil has only delivered stadiums."
"We should have used the opportunity to deliver good services too," Mr Paes told the BBC's Tim Whewell in Rio.
He said the protests are not about the economy, which has slowed down in the last two years: "We have almost no unemployment. The protests are much more connected to the quality of services in Brazil."
The Brazilian authorities have to find a way of connecting to the people, Mr Paes said.
"Brazil is a democracy which needs to get more mature, to improve. I think there is a problem with democracy and representation all over the world," he said.
"People want more transparency, they want more openness and that is what we are going to do."
Demonstrators are angry at the high cost of preparations for next year's football World Cup and the 2016 Rio de Janeiro Olympics.
The Confederations Cup is part of the preparations.
It is organised by the world's football body, Fifa, one year ahead of the World Cup, gathering the champions of each continent, the hosts and the world champions.
Spain won the match on penalties (7-6) after a 0-0 draw following extra time. It will play Brazil in the final on Sunday in Rio de Janeiro.
The Brazilian team beat Uruguay 2-1 in the first semi-final on Wednesday in Belo Horizonte.
There was a big demonstration ahead of the match, with some 50,000 people marching towards the Mineirao stadium.
A small group of activists attacked police, vandalised shops and set fire to a Kia dealership near the stadium.
One demonstrator died after falling from a flyover and more than 20 people were arrested in Belo Horizonte.
"I think the protests are going to keep going. The 2014 World Cup is coming and are things really going to change by then? Only time will tell," said Leda Batista in Belo Horizonte.
Other protests went ahead in Rio de Janeiro, Porto Alegre and other cities on Thursday.
But the largest demonstration is expected to ahead on Sunday in Rio. Protestors are planning to march towards the Maracana stadium before the Confederations Cup final.
Fifa says the World Cup will go ahead in Brazil as planned.
"The first game will happen in Sao Paulo, the final will be in Rio. There is no plan B," said Fifa general-secretary Jeremy Valcke.