Cet accord n’est pas simple. Voici la règle.
L’accord de l’adjectif placé après l’expression avoir l’air s’accordera différemment selon le sens qu’elle véhicule.
1. Si avoir l’air signifie « sembler », l’accord se fait avec le sujet.
Exemple : Ils ont l’air contents de cette nouvelle.
2. Si avoir l’air signifie « avoir l’allure », l’accord se fait avec le mot air.
Exemple : Jeanne a eu l’air fou quand elle a posé la même question 3 fois.
3. Si l’adjectif est plutôt un complément du mot air, il s’accorde nécessairement avec ce nom.
Exemple : Sa robe a l’air élégant des grandes marques.
Source : Banque de dépannage linguistique de l’OQLF