Você precisa de um visto Schengen.
Você deve solicitar à embaixada / consulado do país Schegen que é o destino principal de sua viagem; note que isto não é necessariamente o mesmo que o país para o qual você irá primeiro! O que conta é o seu propósito para ir a cada país; se o objetivo for o mesmo para todos os três (digamos, turismo geral), então aquele que você estará na maior parte do tempo será o seu principal destino. E mesmo que isso não indique um destino principal, então (e só então!) Você volta a olhar para o primeiro país Schengen.
Uma vez que você tenha um visto Schengen, assumindo que ele é válido durante toda a sua viagem, ele também permitirá que você entre na Bulgária. A Bulgária não é, ela própria, um membro de Schengen, mas permite unilateralmente que os titulares de vistos Schengen válidos entrem para visitas curtas, sem necessidade de visto separado para a Bulgária.
Se a sua estada na Bulgária se estender além do período de validade do seu visto Schengen, você também precisará solicitar um visto búlgaro separado.