Tens of thousands of gay rights activists demanding rights for same-sex couples marched through the streets of Rome on Saturday in a gay pride parade.
Smaller marches wound through the capitals of heavily Catholic Poland and in Croatia, where counterdemonstrators shouted anti-gay and nationalist slogans.
In Rome, costumed demonstrators carrying rainbow flags and signs reading "freedom for all" attacked the conservative government of Premier Silvio Berlusconi.
They demanded rights for same-sex couples and the recognition of gay marriage.
Activists dressed as fake clergy with colorful hats and signs reading "No Vatican" protested what they say is the church's excessive influence on Italy's policies.
Organizers said Saturday was not a special day for gay pride but that most such parades are organized around June 28, marking the 1969 landmark Stonewall riots in New York, considered the birth of the gay rights movement.
In Warsaw, hundreds of gay and lesbian activists marched, also calling for legal unions between same-sex couples.
About 1,500 demonstrators marched along Warsaw's main Marszalkowska Street under escort, police said. Several dozen right-wing youths shouting anti-gay invective confronted the parade near the Parliament building, but there were no confrontations, police said.
Some previous gay demonstrations have been marked by violence.
Homosexuals were a taboo subject in Poland under communism. Since the 1990 democratic changes, gays have been campaigning for equal rights, but marriage in Poland is only legal between a man and a woman.
In Croatia, another mostly Roman Catholic country, about 500 gay activists marched through Zagreb.
No violence was reported, but about 50 people held a counterdemonstration and shouted anti-gay slogans. One was led away by police after trying to break through a cordon that authorities had created around the Gay Pride parade to protect it.