/* OrbitOrchard Priority 2: display, interaction and responsiveness foundation. */
:where(.prog-priority-2-ui,.prog-priority-2-ready) *,
:where(.prog-priority-2-ui,.prog-priority-2-ready) *::before,
:where(.prog-priority-2-ui,.prog-priority-2-ready) *::after{box-sizing:border-box}
:where(.prog-priority-2-ui,.prog-priority-2-ready) img,
:where(.prog-priority-2-ui,.prog-priority-2-ready) video,
:where(.prog-priority-2-ui,.prog-priority-2-ready) canvas{max-width:100%;height:auto}
:where(.prog-priority-2-ui,.prog-priority-2-ready) .prog-table-scroll{max-width:100%;overflow:auto;overscroll-behavior-inline:contain;-webkit-overflow-scrolling:touch}
:where(.prog-priority-2-ui,.prog-priority-2-ready) .prog-grid,
:where(.prog-priority-2-ui,.prog-priority-2-ready) .prog-panel,
:where(.prog-priority-2-ui,.prog-priority-2-ready) .prog-card{min-width:0}
:where(.prog-priority-2-ui,.prog-priority-2-ready) :focus-visible{outline:3px solid currentColor;outline-offset:3px}
@media (pointer:coarse){
  :where(.prog-priority-2-ui,.prog-priority-2-ready) button,
  :where(.prog-priority-2-ui,.prog-priority-2-ready) input[type=button],
  :where(.prog-priority-2-ui,.prog-priority-2-ready) input[type=submit],
  :where(.prog-priority-2-ui,.prog-priority-2-ready) .button{min-height:44px}
}
@media (prefers-reduced-motion:reduce){
  :where(.prog-priority-2-ui,.prog-priority-2-ready) *,
  :where(.prog-priority-2-ui,.prog-priority-2-ready) *::before,
  :where(.prog-priority-2-ui,.prog-priority-2-ready) *::after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
}

/* v0.9.9.192 desktop foundation — Game Settings wraps without horizontal scroll.
 * v0.9.9.193 overrides this only on tablet/mobile with the floating touch dock. */
body.prog-priority-2-ui .prog-wrap .prog-game-settings-tabs,
body.prog-school-theme-active .prog-wrap .prog-game-settings-tabs {
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:stretch;
  gap:6px;
  width:100%;
  max-width:100%;
  margin:0 0 18px;
  padding:9px 10px 0;
  overflow:visible !important;
  overflow-x:visible !important;
  overflow-y:visible !important;
  white-space:normal !important;
  overscroll-behavior:auto;
  scrollbar-width:none;
  border:1px solid var(--prog-border,#d7e0e5);
  border-bottom:0;
  border-radius:12px 12px 0 0;
  background:#edf3f2;
}
body.prog-school-theme-active .prog-wrap .prog-game-settings-tabs {
  border-color:var(--prog-theme-border,var(--prog-border,#d7e0e5));
  background:linear-gradient(180deg,var(--prog-theme-soft-strong,#edf3f2),var(--prog-theme-soft,#f5f8f7));
}
body.prog-priority-2-ui .prog-wrap .prog-game-settings-tabs .nav-tab,
body.prog-school-theme-active .prog-wrap .prog-game-settings-tabs .nav-tab {
  float:none;
  display:flex;
  flex:1 1 190px !important;
  align-items:center;
  justify-content:center;
  min-width:0;
  max-width:280px;
  min-height:44px;
  margin:0;
  padding:9px 12px;
  white-space:normal;
  overflow-wrap:anywhere;
  text-align:center;
  line-height:1.25;
  border-radius:10px 10px 0 0;
}
body.prog-priority-2-ui .prog-wrap .prog-game-settings-hub .prog-panel,
body.prog-school-theme-active .prog-wrap .prog-game-settings-hub .prog-panel {max-width:none;}
body.prog-priority-2-ui .prog-wrap .prog-game-settings-tab-panel>details,
body.prog-priority-2-ui .prog-wrap .prog-game-settings-tab-panel>.prog-panel,
body.prog-school-theme-active .prog-wrap .prog-game-settings-tab-panel>details,
body.prog-school-theme-active .prog-wrap .prog-game-settings-tab-panel>.prog-panel {margin-top:16px;}
body.prog-priority-2-ui .prog-wrap .prog-driving-settings-subtabs,
body.prog-school-theme-active .prog-wrap .prog-driving-settings-subtabs {display:flex;flex-wrap:wrap;gap:6px;margin:14px 0 18px;}
body.prog-priority-2-ui .prog-wrap .prog-driving-settings-subtabs .button.is-active,
body.prog-school-theme-active .prog-wrap .prog-driving-settings-subtabs .button.is-active {background:#2271b1;border-color:#2271b1;color:#fff;}


/* v0.9.9.193 — Priority 2 mobile/tablet navigation dock.
 * Desktop keeps normal wrapped navigation. Tablet/mobile gets one primary
 * horizontal navigation dock per OrbitOrchard admin view: touch-scrollable,
 * scrollbar hidden, floating above the bottom edge. JS restores the previous
 * scroll position and keeps the active destination visible after page loads. */
@media (max-width:1180px){
  body.prog-priority-2-ui{--prog-p2-nav-safe-bottom:max(8px,env(safe-area-inset-bottom,0px));--prog-p2-nav-dock-left:8px;--prog-p2-nav-dock-height:72px}
  body.prog-priority-2-ui.prog-p2-has-mobile-nav-dock{padding-bottom:calc(var(--prog-p2-nav-dock-height) + var(--prog-p2-nav-safe-bottom) + 12px)}
  body.prog-priority-2-ui .prog-p2-mobile-nav-dock{
    position:fixed !important;
    z-index:100050 !important;
    right:8px !important;
    bottom:var(--prog-p2-nav-safe-bottom) !important;
    left:var(--prog-p2-nav-dock-left) !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    align-items:stretch !important;
    gap:6px !important;
    width:auto !important;
    max-width:none !important;
    min-height:54px;
    margin:0 !important;
    padding:7px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    white-space:nowrap !important;
    overscroll-behavior-inline:contain;
    scroll-behavior:smooth;
    scroll-snap-type:x proximity;
    scrollbar-width:none !important;
    -ms-overflow-style:none;
    border:1px solid rgba(120,140,150,.28) !important;
    border-radius:16px !important;
    background:rgba(248,251,250,.96) !important;
    box-shadow:0 10px 34px rgba(20,42,50,.22) !important;
    backdrop-filter:blur(14px);
    -webkit-overflow-scrolling:touch;
  }
  body.prog-priority-2-ui .prog-p2-mobile-nav-dock::-webkit-scrollbar{display:none !important;width:0 !important;height:0 !important}
  body.prog-priority-2-ui .prog-p2-mobile-nav-dock>*{flex:0 0 auto !important;max-width:none !important;scroll-snap-align:center}
  body.prog-priority-2-ui .prog-p2-mobile-nav-dock :where(.nav-tab,.button,a){min-height:44px;white-space:nowrap !important}
  body.prog-priority-2-ui .prog-p2-mobile-nav-dock.prog-game-settings-tabs .nav-tab{flex:0 0 auto !important;max-width:none !important;min-width:max-content !important;padding-inline:14px;overflow-wrap:normal}
  body.prog-priority-2-ui .prog-p2-mobile-nav-secondary{
    max-width:100%;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    flex-wrap:nowrap !important;
    white-space:nowrap !important;
    scrollbar-width:none !important;
    -ms-overflow-style:none;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
  }
  body.prog-priority-2-ui .prog-p2-mobile-nav-secondary::-webkit-scrollbar{display:none !important;width:0 !important;height:0 !important}
  body.prog-priority-2-ui .prog-p2-mobile-nav-secondary>*{flex:0 0 auto !important}
}

/* v0.9.9.194 — optional left-menu accordion for inside tabs on phones/tablets.
 * Super Admin controls Mobile and Tablet independently under Site > Mobile & Tablet Menu.
 * When enabled for the current viewport, this replaces the floating bottom tab dock. */
.prog-wrap .prog-site-menu-display-switches{display:grid;gap:12px;margin:18px 0}
.prog-wrap .prog-site-menu-display-choice{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:16px 18px;border:1px solid var(--prog-border,#d7e0e5);border-radius:12px;background:#fff}
.prog-wrap .prog-site-menu-display-choice>div{min-width:0}
.prog-wrap .prog-site-menu-display-choice strong{display:block;margin-bottom:4px;color:var(--prog-ink,#163247);font-size:15px}
.prog-wrap .prog-site-menu-display-choice p{margin:0;color:#5d6f78}

@media (max-width:1180px){
  body.prog-priority-2-ui.prog-p2-left-menu-dropdown-mode #adminmenu li.prog-p2-left-tabs-ready>.wp-submenu{display:none!important}
  body.prog-priority-2-ui.prog-p2-left-menu-dropdown-mode #adminmenu li.prog-p2-left-tabs-ready{height:auto!important;overflow:visible!important}
  body.prog-priority-2-ui.prog-p2-left-menu-dropdown-mode #adminmenu li.prog-p2-left-tabs-ready>a.menu-top{position:relative}
  body.prog-priority-2-ui.prog-p2-left-menu-dropdown-mode #adminmenu li.prog-p2-left-tabs-ready>a.menu-top::after{content:"▾";position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:12px;line-height:1;opacity:.72;transition:transform 140ms ease}
  body.prog-priority-2-ui.prog-p2-left-menu-dropdown-mode #adminmenu li.prog-p2-left-tabs-open>a.menu-top::after{transform:translateY(-50%) rotate(180deg)}
  body.prog-priority-2-ui.prog-p2-left-menu-dropdown-mode #adminmenu .prog-p2-left-menu-tabs{position:relative!important;display:grid!important;gap:2px!important;clear:both!important;width:100%!important;min-width:0!important;height:auto!important;margin:0!important;padding:5px 6px 8px 36px!important;overflow:visible!important;list-style:none!important;background:#1d2327!important;border:0!important;box-shadow:none!important}
  body.prog-priority-2-ui.prog-p2-left-menu-dropdown-mode #adminmenu .prog-p2-left-menu-tabs[hidden]{display:none!important}
  body.prog-priority-2-ui.prog-p2-left-menu-dropdown-mode #adminmenu .prog-p2-left-menu-tabs li{display:block!important;width:100%!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important}
  body.prog-priority-2-ui.prog-p2-left-menu-dropdown-mode #adminmenu .prog-p2-left-menu-tabs a{display:block!important;width:100%!important;min-height:36px!important;margin:0!important;padding:8px 10px!important;border-radius:6px!important;color:#dcdcde!important;text-decoration:none!important;white-space:normal!important;line-height:1.25!important;box-shadow:none!important}
  body.prog-priority-2-ui.prog-p2-left-menu-dropdown-mode #adminmenu .prog-p2-left-menu-tabs a:hover,
  body.prog-priority-2-ui.prog-p2-left-menu-dropdown-mode #adminmenu .prog-p2-left-menu-tabs a:focus-visible{background:#2c3338!important;color:#fff!important}
  body.prog-priority-2-ui.prog-p2-left-menu-dropdown-mode #adminmenu .prog-p2-left-menu-tabs a.is-active,
  body.prog-priority-2-ui.prog-p2-left-menu-dropdown-mode #adminmenu .prog-p2-left-menu-tabs a[aria-current="page"]{background:#2271b1!important;color:#fff!important;font-weight:700!important}
}
@media (max-width:782px){
  .prog-wrap .prog-site-menu-display-choice{align-items:flex-start}
  body.prog-priority-2-ui.prog-p2-left-menu-dropdown-mode #adminmenu .prog-p2-left-menu-tabs{padding-left:18px!important}
}
@media (min-width:783px) and (max-width:1180px){
  body.folded.prog-priority-2-ui.prog-p2-left-menu-dropdown-mode #adminmenu li.prog-p2-left-tabs-ready{position:relative!important}
  body.folded.prog-priority-2-ui.prog-p2-left-menu-dropdown-mode #adminmenu .prog-p2-left-menu-tabs{
    position:absolute!important;
    z-index:100060!important;
    top:0!important;
    left:36px!important;
    width:min(300px,calc(100vw - 60px))!important;
    max-height:calc(100vh - 56px)!important;
    padding:8px!important;
    overflow-y:auto!important;
    scrollbar-width:none!important;
    border:1px solid rgba(255,255,255,.12)!important;
    border-radius:0 10px 10px 0!important;
    box-shadow:0 12px 30px rgba(0,0,0,.28)!important;
  }
  body.folded.prog-priority-2-ui.prog-p2-left-menu-dropdown-mode #adminmenu .prog-p2-left-menu-tabs::-webkit-scrollbar{display:none!important;width:0!important;height:0!important}
}
