Это должно помочь
.catalog-dropdown:before {
content: '';
position: absolute;
bottom: 100%;
left: 0;
width: 100%;
height: 45px;
}
Это если catalog-dropdown открывается вниз.
Суть в том, что с помощью before (или after) надо просто закрыть дыру. А так как before, в данном случае, является частью catalog-dropdown, то ховер не исчезнет.