I bet there are already plenty of tips on this topic, but I find it so important that I have decided to start my Sofia page from it.
In Bulgaria, like in Macedonia and Albania (I have read this), the head gestures to say "yes" and "no" are inverted in comparison with the rest of European countries.
When Bulgarians shake their heads, they mean "yes", and after spending three weeks here, I still haven't got used to it. When I ask for something and I see people shaking their heads, I still connect it to "no".
You'd better avoid answering to yes/no questions with your head only, since the other person may understand the contrary of what you wanted to say. Just answer verbally with "da" ("yes") or "ne" ("no").
Bulgarians seem to take some local pleasure in confusing non-Bulgarians with their take on the head-nod. Nodding from side to side, where in many places signifies "no" or something in the negative, means "yes" to Bulgarians. So, when the server at the restaurant asks you if you want more coffee at the breakfast table, a side to side will get you more. The up and down nod will signify no.
Unlike most countries, in Bulgaria, when you want to answer with a 'yes', shake your head back and forth. To answer with a 'no', nod your head up and down. This will spare you a lot of confusion and embarrassing misunderstandings.
We have smth called 'double positive negation' and 'double negative affirmation': "da, da!" (yes, yes) means actually "no", "I don't believe you" or "that would never happen".
This is usually followed w/ "Ne, ne" (no, no) which means in this context "yes", "this is true!", or "yes, it will happen"
Don't ask why. I have no idea.The trick is in the intonation and facial expression. Ask your host for visual help. ;-)
We move heads sideways (ear to shoulder) to indicate 'yes' and nod to say 'no' . Our nod, however, is more like raising the chin up instead of lowering it down.
To avoid confusion you may just want to say YES and NO ... and try not to move your head too much! ;-)
I almost died of laughter when I read somewhere of a cultural tip that said not to put your bag on the floor, because people will stare at you and because it's considered bad luck! People in Bulgaria have a highly developed sense of maintaining good personal hygiene and the only reason you may get a bad look for putting your bag on the floor is because common sense says that it's dirty! Most people are probably aware of the 'yes', 'no' nodding routine, but I will just put it in anyway. Bulgaria is probably the only country in the world (can't say for sure, though), where people shake their head sideways when they mean 'yes' and shake it up and down when they mean 'no'. That doesn't seem too hard to learn, but what adds confusion is all the Bulgarians who try to be nice and shake their head the 'Western' way and unless you're local, it becomes hard to communicate this way, so better learn that 'da' in Bulgarian means 'yes' and 'ne' means 'no'.
There are no serious cultural taboos that will get a westerner in trouble. Quite the reverse, you might be offended at the brusqeness and lack of respect for personal space that are the legacies of dehumanizing collectivist communism. It's getting better, though.
Be aware that Bulgarians nod for no and shake their heads for yes. This can lead to all sorts of misunderstandings on both sides. Always try to say 'da' for yes and 'ne' for no. Gestures will just confuse everything, especially when beggars ask you for money and you shake your head.