The Adriatic nation, which is set to host the EU's rotating presidency in 2020, is a magnet for tourists but no paradise for locals, who are leaving in droves to escape a sluggish economy and widespread corruption.
A nationalist folk singer and a leftist former premier are challenging Croatia's conservative president in a close election race on Sunday that could loosen her camp's grip on power.
The Adriatic nation, which is set to host the European Union's rotating presidency in 2020, is a magnet for tourists but no paradise for locals, who are leaving in droves to escape a sluggish economy and widespread corruption.
While the presidency is a largely ceremonial post, incumbent Kolinda Grabar-Kitarovic is a symbol of the status quo.
In office since 2015, the 51-year-old is backed by the centre-right HDZ who have dominated politics almost continuously since Croatia's 1991 independence.
Now she is facing attacks from both sides in an election likely to be settled in a run-off on January 5.
By then, Croatia will be host to the EU presidency for a six-month term focused on the bloc's boundaries: while the UK prepares for Brexit, Western Balkan states are knocking at the door.
'Cakes in prison'
Grabar-Kitarovic, Croatia's first female president, began her campaign with a comfortable lead in the polls.
But she has lost ground after a series of gaffes.
Most notably, the president raised eyebrows in November after she sang at the birthday party of Zagreb's scandal-hit mayor Milan Bandic and said she would "bring (him) cakes... in prison" if he is convicted of a slew of corruption charges.
An apparent effort to win over the mayor's supporters, the comments did little to inspire voters fed up with endemic graft.
Rivals now trail behind her 27 percent mark within the statistical margin of error, according to a recent poll by Ipsos Puls agency.
If Grabar-Kitarovic loses, analysts say it could spell trouble for HDZ's moderate Prime Minister Andrej Plenkovic in next year's parliamentary poll.
The top rivals on Sunday's ballot are former Social Democrat prime minister Zoran Milanovic and right-wing singer and businessman Miroslav Skoro, who is running as an independent.
Skoro, whose patriotic folk tunes were a hit in the 90's, has been courting HDZ's nationalist wing in hopes of stealing votes from those who feel the party has become too moderate.
The 57-year-old has called for the military to be deployed to halt migrants at the border and promised to pardon a convicted war criminal.
He also wants to enlarge the powers of the president, who currently commands the armed forces and coordinates foreign policy with the government.
Grabar-Kitarovic has herself tried to placate nationalists in the past - including failing to clearly condemn growing nostalgia for Croatia's pro-Nazi WWII regime.
This year she announced her re-election bid in a far-right magazine.
"HDZ is split, it is clear that some of its voters will not support Grabar-Kitarovic," political analyst Tihomir Cipek told AFP.
Meanwhile, centre-left Milanovic is hoping to benefit from a divided right.
Considered driven by fans but arrogant by critics, the 53-year-old is already a familiar face after serving as prime minister from 2011 to 2016.
He promises to make Croatia a "normal country" that respects minorities and has an independent judiciary.
But enthusiasm for him dimmed after his government failed to halt the culture of patronage and boost the economy.
Croatia, which joined the EU in 2013 and is one of its poorest members, faces no shortage of pressing challenges.
Yet the presidential campaign has been decidedly backward-looking as rivals attack each other with war-era grievances.
Commenting on a debate this week, Education Minister Blazenka Divjak said the back-and-forth was a reminder of the "reasons why people are leaving".
Members of the public have also been unimpressed by the election build-up.
Mila, a retired teacher from the southern town of Imotski who declined to give her surname, lamented a campaign dominated by "gossip".
"Unfortunately, they all talk more about the other candidates than about themselves," the 71-year-old told AFP.
Some 3.8 million people will be eligible to vote from 0600GMT to 1800GMT.