Ciao No_Stress,
credo il problema stia nell'aggiungere **a
**In teoria tu vuoi che lo sfondo cambi colore, quindi solo l'elemento **li
**
Se stai usando un tema wordpress è possibile che tu abbia delle classi più specifiche per l'elemento li, come ad esempio: menu-item menu-item-type-custom menu-item-object-custom menu-item-has-children
Quindi potresti provare così:
.main-nav ul.sub-menu > li.customclass:hover { background-color: #ccc}
se il tema è tuo aggiungi una classe specifica per questi li
Comunque utilizzando gli strumenti di ispezione per web master non dovrebbe essere troppo complesso trovare la classe interessata