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.

Boaa, excelente!!