Как закрывать блок при клике за его пределами?
Скрыть элемент при клике за его пределами
Используй :focus-within, если элемент все фокуса, то список скрывается.

Разметка +-
<div class="menu-item" tabindex="-1">
  <div class="menu-item-toggle">Menu item</div>
  <div class="menu-item-list">
    <div class="menu-item">sub item</div>
    <div class="menu-item">sub item</div>
    <div class="menu-item">sub item</div>
    <div class="menu-item">sub item</div>
  </div>
</div>

.menu-item:not(:focus-within) .menu-item-list {
  display: none;
}