Вангую:
@media screen and (max-width: 480px)
.block-menu {
width: 100%;
right: 0;
top: -100%;
}
Из-за того, что на мобильных есть ещё дополнительные плашки, то когда они отображаются - Вы видите часть своего мобильного меню в виде полосы на весь "хедер". Когда эти мобильные браузерные плашки скрываются, то и меню скрывается.
Хотфикс на скорую руку - задать
top: calc(-100% - 100px);
100 пикселей - просто потому что. Можно сделать -200%. Главное перекрыть высоту мобильных плашек.