/* Mobile menu scrollable + progressive disclosure (always available; hamburger visibility is controlled elsewhere) */
.mobile-menu {
  display: none;
  position: fixed;
  top: 0; /* JS will set the correct offset under the header */
  left: 0; right: 0; bottom: 0;
  background: var(--panel);
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  z-index: 100000; /* ensure above any header stacking context */
}
.mobile-menu.is-open { display: block !important; }

/* Menu list */
.mobile-menu .menu {
  list-style: none;
  margin: 0; padding: 10px 14px 40px;
}
.mobile-menu .menu li { border-bottom: 1px solid var(--border); }
.mobile-menu .menu li a { display:block; padding:12px 8px; text-decoration:none; color:var(--text); }
.mobile-menu .menu li.menu-item-has-children > a { padding-right: 0; }
/* Row wrapper to align caret with parent label */
.mobile-menu .menu .menu-row { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:0 8px; }
.mobile-menu .menu .menu-row > a { flex:1 1 auto; padding:12px 0; }

/* Toggle button next to parent items */
.submenu-toggle { background: transparent; border: 0; cursor: pointer; color: inherit; width: 32px; height: 32px; border-radius: 4px; display:flex; align-items:center; justify-content:center; flex:0 0 auto; }
.submenu-toggle:focus { outline: 2px solid #2563eb; outline-offset: 2px; }
.submenu-caret { display:inline-block; width:0; height:0; border-top:6px solid currentColor; border-left:5px solid transparent; border-right:5px solid transparent; transition: transform .2s ease; }
li.submenu-open > .submenu-toggle .submenu-caret { transform: rotate(180deg); }

/* Submenus */
.mobile-menu .menu ul.sub-menu { display: none; margin: 0 0 8px 12px; border-left:2px solid var(--border); }
.mobile-menu .menu li.submenu-open > ul.sub-menu { display: block; }
.mobile-menu .menu ul.sub-menu a { padding-left: 12px; }
