/* Mobile navigation replaces the captured theme's opacity/positioning effects. */
.mobile-menu-wrap[hidden],.mobile-menu-wrap .sub-menu[hidden]{display:none!important}
.mobile-menu-wrap[data-open=true]{display:flex!important;flex-direction:column;position:fixed!important;inset:0!important;margin:0!important;padding:0!important;width:100%!important;height:100vh!important;height:100dvh!important;max-width:none!important;box-sizing:border-box;border:0!important;max-height:none!important;overflow:hidden!important;visibility:visible!important;opacity:1!important;transform:none!important;transition:none!important;background:#123d76!important;color:#fff;z-index:2147483600}
.mobile-menu-wrap *{box-sizing:border-box}
.mobile-menu-wrap .mobile-menu-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));border-bottom:1px solid #ffffff40;font-size:22px;font-weight:700}
.mobile-menu-wrap .mobile-menu-toggle{display:flex!important;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;min-height:48px;padding:0!important;margin:0;border:1px solid #ffffff60;border-radius:4px;background:transparent;color:#fff;font-size:34px;line-height:1;cursor:pointer}
.mobile-menu-wrap .mobile-menu-content{display:block;flex:1 1 auto;min-height:0;width:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:16px;padding-right:max(16px,env(safe-area-inset-right));padding-bottom:max(24px,env(safe-area-inset-bottom));padding-left:max(16px,env(safe-area-inset-left))}
.mobile-menu-wrap .mobile-menu{display:block!important;position:static!important;inset:auto!important;visibility:visible!important;opacity:1!important;transform:none!important;transition:none!important;margin:0!important;padding:0;overflow:visible!important;list-style:none;text-transform:none}
.mobile-menu-wrap .mobile-menu>li{border-bottom:1px solid #ffffff30}
.mobile-menu-wrap .mobile-menu>li.menu-item-has-children{display:grid;grid-template-columns:minmax(0,1fr) 52px;align-items:start}
.mobile-menu-wrap .mobile-menu li a{display:block;min-width:0;min-height:48px;height:auto!important;padding:12px 14px!important;border:0;color:#fff!important;font-size:16px;line-height:1.5!important;white-space:normal;overflow-wrap:anywhere;text-decoration:none}
.mobile-menu-wrap .mobile-menu>li>a{font-weight:700}
.mobile-menu-wrap .mobile-menu li a:hover,.mobile-menu-wrap .mobile-menu li a:focus-visible,.mobile-menu-wrap button:hover{background:#ffffff18}
.mobile-menu-wrap .mobile-menu .sub-menu{grid-column:1 / -1;position:static!important;margin:0!important;padding:0 0 12px 12px;list-style:none;overflow:visible}
.mobile-menu-wrap .mobile-menu .sub-menu a{font-weight:400;border-left:2px solid #ffffff40}
.mobile-menu-wrap .mobile-submenu-toggle{display:flex!important;align-items:center;justify-content:center;gap:0;width:52px;min-width:52px;min-height:52px;padding:12px 14px;text-align:left;border:0;border-radius:0;background:transparent;color:#fff;font:inherit;font-size:16px;font-weight:700;line-height:1.5;cursor:pointer}
.mobile-menu-wrap .mobile-menu-search{display:flex;gap:8px;margin:0 0 18px}
.mobile-menu-wrap .mobile-menu-search input{flex:1 1 auto;min-width:0;width:100%;min-height:48px;padding:10px 12px;border:1px solid #ffffff80;border-radius:4px;background:#fff;color:#1c3049;font:inherit;font-size:16px}
.mobile-menu-wrap .mobile-menu-search button{flex:0 0 auto;min-height:48px;padding:10px 14px;border:1px solid #ffffff80;border-radius:4px;background:transparent;color:#fff;font:inherit;font-size:16px;font-weight:700;cursor:pointer}
.mobile-menu-wrap :focus-visible{outline:3px solid #ffd580;outline-offset:2px}
@media(max-width:767px){
  header .mobile-menu-toggle.visible-xs{min-width:48px;min-height:48px;padding:10px!important;margin:0;font-size:24px}
  header .search-toggle{min-width:48px;min-height:48px;text-align:center}
  .search-row{flex-wrap:wrap}
  .search-row input{flex-basis:180px}
  .version-page dl{grid-template-columns:1fr;gap:4px}
  .version-page dd{margin-bottom:16px}
}

.mobile-menu-wrap .mobile-submenu-toggle [data-submenu-icon]{font-size:26px;line-height:1}
.mobile-menu-wrap .mobile-menu .sub-menu:not([hidden]){display:block!important}

/* Keep every control in the modal’s own hit-testing layer. */
.mobile-menu-wrap::backdrop{background:#123d76}
.mobile-menu-wrap .mobile-menu-content{position:relative;z-index:1;pointer-events:auto;touch-action:pan-y}
.mobile-menu-wrap .mobile-menu-header{position:relative;z-index:2}
.mobile-menu-wrap .mobile-menu{z-index:auto!important}
.mobile-menu-wrap a,.mobile-menu-wrap button,.mobile-menu-wrap input{pointer-events:auto;touch-action:manipulation}

/* Header icon rhythm is shared by every page, independent of captured theme CSS. */
@media(max-width:767px){
  header #top-nav .top-menu{display:flex;align-items:center;min-height:52px;position:relative;gap:0}
  header #top-nav .mobile-menu-toggle.visible-xs{display:flex!important;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-width:44px;min-height:44px;margin:0;padding:0!important;font-size:22px!important;line-height:1!important}
  header #top-nav .topnav-sidebar{float:none!important;order:1;margin:0 0 0 auto;padding:0;line-height:1}
  header #top-nav .topnav-sidebar .widget_text{float:none;width:auto;margin:0;padding:0}
  header #top-nav .topnav-sidebar .textwidget{display:flex;align-items:center;gap:0}
  header #top-nav .topnav-sidebar a,header #top-nav .search-toggle{display:flex!important;align-items:center;justify-content:center;box-sizing:border-box;width:44px;height:44px;min-height:44px;margin:0;padding:0!important;line-height:1!important;font-size:22px!important}
  header #top-nav .search-toggle{float:none!important;order:2;flex:0 0 44px}
  header #top-nav .mobile-menu-toggle i,header #top-nav .topnav-sidebar i,header #top-nav .search-toggle i{display:block;width:1em;height:1em;font-size:22px!important;line-height:1!important;text-align:center}
}
.mobile-menu-wrap .mobile-menu-toggle span{font-family:Arial,sans-serif!important;font-size:32px;line-height:1}
