/* Toura Passport STAGING 016W1 — Explorer interaction ownership + Worlds geometry.
   The tray has three structural zones: fixed heading, independently scrolling
   World list, and a fixed subcategory dock. Google/Leaflet providers do not own this. */
.world-tray{
  overflow:hidden!important;
  display:flex;
  flex-direction:column;
  max-height:min(680px,calc(100dvh - 92px))!important;
}
.world-tray[hidden]{display:none!important}
.world-tray>.tray-title,.world-tray>.tray-subtitle{flex:0 0 auto}
.world-list{
  display:flex!important;
  flex-direction:column;
  flex:1 1 auto;
  min-height:0;
  max-height:none!important;
  overflow:hidden!important;
  gap:0!important;
}
.world-primary-scroll{
  flex:1 1 auto;
  min-height:92px;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  touch-action:pan-y;
  -webkit-overflow-scrolling:touch;
  padding-right:2px;
}
.world-primary-list{display:grid;gap:6px}
.world-subcategory-panel{
  position:relative!important;
  inset:auto!important;
  flex:0 0 auto;
  margin:10px 0 0!important;
  padding:12px 0 4px!important;
  border-top:1px solid rgba(58,88,103,.14)!important;
  background:rgba(255,255,255,.985)!important;
  box-shadow:0 -9px 20px rgba(29,58,75,.07)!important;
}
.world-subcategory-panel .world-subcategory-content{
  max-height:min(300px,38dvh);
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
}
.world-subcategory-toggle-inline{
  left:50%!important;
  top:-10px!important;
  transform:translateX(-50%)!important;
  width:40px!important;
  height:21px!important;
  z-index:6!important;
}
.world-subcategory-panel.is-collapsed{
  position:relative!important;
  bottom:auto!important;
  min-height:22px!important;
  margin-top:10px!important;
  padding:0!important;
  background:rgba(255,255,255,.985)!important;
  box-shadow:none!important;
}
.world-subcategory-panel.is-collapsed .world-subcategory-content{display:none!important}

/* One transient surface at a time. Hidden always wins even if older lane CSS
   attempted to restore a surface during Distribution or another mode. */
#worldTray[hidden],#explorerSearchbar[hidden],#explorerMenu[hidden],#countryMenu[hidden],
#distributionExplorerPanel[hidden],#detailCard[hidden]{display:none!important}

@media(max-width:760px){
  .world-tray{
    max-height:calc(100dvh - 112px)!important;
    overflow:hidden!important;
  }
  .world-primary-scroll{min-height:112px}
  .world-subcategory-panel{position:relative!important;bottom:auto!important}
  .world-subcategory-panel .world-subcategory-content{max-height:34dvh}
}
