/* Program mobile navigation: modal chrome only, independent of page layout. */
.ombox-mobile-surface-menu-overlay { position: fixed; inset: 0; z-index: var(--z-overlay, 1040); background: rgba(15, 23, 42, .38); }
.ombox-mobile-surface-menu-drawer { position: fixed; inset: 0 auto 0 0; z-index: var(--z-sidebar, 1050); width: min(84vw, 340px); overflow-y: auto; overscroll-behavior: contain; background: var(--ombox-mobile-surface, #fff); color: var(--ombox-mobile-text, #23334b); }
.ombox-mobile-surface-menu-overlay[hidden], .ombox-mobile-surface-menu-drawer[hidden] { display: none; }
.ombox-mobile-surface-menu-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: calc(8px + env(safe-area-inset-top)) 16px 8px; border-bottom: 1px solid var(--ombox-mobile-border, #dce3ec); }
.ombox-mobile-surface-menu-head button { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border: 0; background: transparent; color: inherit; }
.ombox-mobile-surface-menu-content { padding: 12px 16px calc(20px + env(safe-area-inset-bottom)); }
.ombox-mobile-surface-menu-content :is(.menu-link, .submenu-link) { display: flex; align-items: center; min-height: 44px; gap: 8px; }
.ombox-mobile-surface-menu-content .submenu:not(.show) { display: none; }
.ombox-mobile-surface-menu-content .submenu.show { display: block; }
.ombox-mobile-surface-shell.is-menu-open > .ombox-mobile-surface-content { overflow: hidden; }
