/* VTS 52.3.0 — visitor-first public presentation.
   Keep the panorama dominant, preserve advanced functions behind one compact menu,
   and avoid backdrop-filter on the WebGL composition path. */
body.v523-public-presentation{
  --v523-ui-bg:rgba(12,15,20,.90);
  --v523-ui-bg-strong:rgba(10,12,16,.97);
  --v523-ui-line:rgba(255,255,255,.14);
  --v523-ui-text:#fff;
  --v523-ui-muted:rgba(255,255,255,.66);
}
body.v523-public-presentation #informationHotspotsToggle,
body.v523-public-presentation .v16-public-dock,
body.v523-public-presentation #v12JourneyBar,
body.v523-public-presentation #v18ImmersiveBadge,
body.v523-public-presentation .v18-player-controls{
  display:none!important;
}
body.v523-public-presentation .tour-top{
  left:14px!important;right:14px!important;top:max(12px,env(safe-area-inset-top))!important;
  min-height:46px!important;padding:0!important;border:0!important;background:transparent!important;
  box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:12px!important;
  pointer-events:none!important;
}
body.v523-public-presentation .tour-brand{
  pointer-events:auto!important;min-height:44px!important;max-width:min(48vw,430px)!important;
  padding:6px 11px 6px 7px!important;border:1px solid var(--v523-ui-line)!important;border-radius:13px!important;
  background:var(--v523-ui-bg)!important;box-shadow:0 10px 32px rgba(0,0,0,.22)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body.v523-public-presentation .tour-logo{width:31px!important;height:31px!important;flex:0 0 31px!important}
body.v523-public-presentation .tour-brand b{font-size:11px!important;line-height:1.25!important;color:#fff!important}
body.v523-public-presentation .tour-brand span{font-size:9px!important;line-height:1.25!important;color:var(--v523-ui-muted)!important}
body.v523-public-presentation .tour-actions{
  pointer-events:auto!important;position:static!important;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;
  transform:none!important;display:flex!important;align-items:center!important;gap:6px!important;padding:5px!important;
  border:1px solid var(--v523-ui-line)!important;border-radius:13px!important;background:var(--v523-ui-bg)!important;
  box-shadow:0 10px 32px rgba(0,0,0,.22)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body.v523-public-presentation .tour-actions>button{
  display:grid!important;place-items:center!important;width:36px!important;min-width:36px!important;height:36px!important;padding:0!important;
  border:0!important;border-radius:9px!important;background:transparent!important;color:#fff!important;box-shadow:none!important;
  font:700 13px/1 system-ui,-apple-system,"Segoe UI",sans-serif!important;
}
body.v523-public-presentation .tour-actions>button:hover,
body.v523-public-presentation .tour-actions>button:focus-visible{background:rgba(255,255,255,.11)!important;outline:2px solid rgba(255,255,255,.28)!important;outline-offset:-2px!important}
body.v523-public-presentation .tour-actions>button::after{display:none!important;content:none!important}
body.v523-public-presentation .tour-actions>button em{display:none!important}
/* Secondary functions remain available from the compact More menu. */
body.v523-public-presentation :is(#reverseRouteButton,#guidedTourButton,#routeMapButton,#languageButton,#aiGuideButton,[data-reset],#v16TextTop){display:none!important}
body.v523-public-presentation #historyBackButton[hidden],
body.v523-public-presentation #backgroundMusicButton[hidden],
body.v523-public-presentation #accessibilityButton[hidden]{display:none!important}
body.v523-public-presentation #v523MoreButton{display:grid!important}
.v523-more-menu{
  position:fixed;z-index:220;right:14px;top:68px;width:min(280px,calc(100vw - 28px));padding:7px;
  border:1px solid var(--v523-ui-line);border-radius:14px;background:var(--v523-ui-bg-strong);color:#fff;
  box-shadow:0 20px 60px rgba(0,0,0,.38);backdrop-filter:none;-webkit-backdrop-filter:none;
}
.v523-more-menu[hidden]{display:none!important}
.v523-more-menu button{width:100%;min-height:42px;display:flex;align-items:center;gap:10px;padding:8px 10px;border:0;border-radius:9px;background:transparent;color:#fff;text-align:left;font:650 11px/1.3 system-ui,-apple-system,"Segoe UI",sans-serif;cursor:pointer}
.v523-more-menu button:hover,.v523-more-menu button:focus-visible{background:rgba(255,255,255,.10);outline:none}
.v523-more-menu button i{width:26px;height:26px;display:grid;place-items:center;border-radius:8px;background:rgba(255,255,255,.08);font-style:normal;font-size:12px}
.v523-more-menu .v523-more-empty{padding:10px;color:var(--v523-ui-muted);font-size:10px}
body.v523-public-presentation .route-hint{
  left:14px!important;right:auto!important;bottom:14px!important;max-width:min(360px,calc(100vw - 28px))!important;
  padding:8px 11px!important;border:1px solid var(--v523-ui-line)!important;border-radius:11px!important;background:var(--v523-ui-bg)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.18)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
body.v523-public-presentation .scene-toast{
  left:14px!important;right:auto!important;bottom:58px!important;max-width:min(360px,calc(100vw - 28px))!important;
  background:var(--v523-ui-bg)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
}
/* Empty hotspot labels must never leave a black hover rectangle. */
body.v523-public-presentation .marker.no-label .marker-label,
body.v523-public-presentation .marker .marker-label:empty,
body.v523-public-presentation .marker[data-v523-empty-label="true"] .marker-label{display:none!important;opacity:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
body.v523-public-presentation .marker.no-label .marker-main{background:transparent!important;border:0!important;box-shadow:none!important}
/* Downloadable materials are a first-class part of the exhibit card. */
body.v523-public-presentation .universal-exhibit-attachments{display:grid!important;gap:8px!important;margin:18px 0 2px!important}
body.v523-public-presentation .universal-exhibit-attachments::before{content:"Материалы";display:block;margin-bottom:1px;color:#737b89;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.1em}
body.v523-public-presentation .universal-exhibit-attachments a{min-height:50px!important;background:rgba(22,27,39,.045)!important;border:1px solid rgba(22,27,39,.12)!important;color:#1b1f28!important;box-shadow:none!important}
body.v523-public-presentation .universal-exhibit-attachments a:hover{background:rgba(22,27,39,.075)!important;border-color:rgba(79,73,216,.24)!important}
body.v523-public-presentation .universal-exhibit-attachments i{background:rgba(91,87,232,.10)!important;color:#4f49d8!important}
body.v523-public-presentation .universal-exhibit-attachments :is(span,b,strong,small){color:inherit!important}

@media(max-width:800px){
  body.v523-public-presentation .tour-top{left:8px!important;right:8px!important;top:max(8px,env(safe-area-inset-top))!important;gap:7px!important}
  body.v523-public-presentation .tour-brand{min-height:40px!important;max-width:calc(100vw - 178px)!important;padding:5px 8px 5px 5px!important;border-radius:11px!important}
  body.v523-public-presentation .tour-logo{width:29px!important;height:29px!important;flex-basis:29px!important}
  body.v523-public-presentation .tour-brand b{font-size:10px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
  body.v523-public-presentation .tour-brand span{display:none!important}
  body.v523-public-presentation .tour-actions{gap:2px!important;padding:3px!important;border-radius:11px!important}
  body.v523-public-presentation .tour-actions>button{width:34px!important;min-width:34px!important;height:34px!important;border-radius:8px!important;font-size:12px!important}
  body.v523-public-presentation #historyBackButton em{display:none!important}
  body.v523-public-presentation .route-hint,
  body.v523-public-presentation .scene-toast,
  body.v523-public-presentation .route-intelligence-status{display:none!important}
  .v523-more-menu{right:8px;top:58px;width:min(270px,calc(100vw - 16px))}
  body.v523-public-presentation .exhibit-modal{align-items:flex-end!important;padding:0!important}
  body.v523-public-presentation .exhibit-public-card{width:100%!important;max-width:none!important;max-height:90dvh!important;border-radius:18px 18px 0 0!important;border-left:0!important;border-right:0!important;border-bottom:0!important}
  body.v523-public-presentation .exhibit-public-visual{max-height:34dvh!important;min-height:180px!important}
  body.v523-public-presentation .exhibit-public-copy{padding:16px 16px calc(18px + env(safe-area-inset-bottom))!important}
  body.v523-public-presentation .universal-exhibit-attachments a{min-height:54px!important}
}
@media(max-width:430px){
  body.v523-public-presentation .tour-brand{max-width:calc(100vw - 154px)!important}
  body.v523-public-presentation #backgroundMusicButton{display:none!important}
}
@media(prefers-reduced-motion:reduce){.v523-more-menu button{transition:none!important}}
