A 0 validation accuracy seems a bit weird, as I would at least assume your model should get the “random accuracy”. I.e. even if it’s overfitting to a specific class, it should still get some samples right, no?
Could you check the labels of your validation set and compare the model predictions to it?
Could these labels be somehow inverted?