Só um detalhe, no segundo if
não precisa testar idade >= 18
.
Se idade
for menor que 18, entra no primeiro if
e retorna.
Se não entrou no primeiro if
é porque com certeza não é menor que 18 (ou seja, no segundo if
eu já sei que naquele ponto só pode ser maior ou igual a 18), então só precisa testar se é menor que 21.