/* FXCHS V3.12 – the original photo remains visible: playback lives on a separate satellite. */
body.fxv2 .fxv2-world .fxv2-pano-hotspots .fxv2-video-cluster>.fxv2-video-orb-play{
  position:absolute!important;
  z-index:7!important;
  left:auto!important;right:-18px!important;
  top:26%!important;bottom:auto!important;
  transform:translateY(-50%)!important;
  display:grid!important;place-items:center!important;
  box-sizing:border-box!important;
  width:clamp(35px,3.6vw,44px)!important;height:clamp(35px,3.6vw,44px)!important;
  min-width:35px!important;min-height:35px!important;
  padding:0!important;margin:0!important;
  color:#fff!important;background:#10352edf!important;
  border:2px solid #d8eddb!important;border-radius:12px!important;
  box-shadow:0 2px 12px #0009!important;
  cursor:pointer!important;
  animation:none!important;
}
body.fxv2 .fxv2-world .fxv2-pano-hotspots .fxv2-video-cluster>.fxv2-video-orb-play::after{
  content:'';display:block;width:0;height:0;
  border-left:9px solid #fff;border-top:6px solid transparent;border-bottom:6px solid transparent;
  transform:translateX(1px);
}
body.fxv2 .fxv2-world .fxv2-pano-hotspots .fxv2-video-cluster>.fxv2-video-orb-play:hover,
body.fxv2 .fxv2-world .fxv2-pano-hotspots .fxv2-video-cluster>.fxv2-video-orb-play:focus-visible{
  background:#246a54!important;border-color:#fff!important;
  box-shadow:0 0 0 3px #91c9a966,0 3px 18px #0009!important;
}
body.fxv2 .fxv2-world .fxv2-pano-hotspots .fxv2-video-cluster>.fxv2-video-orb-play:focus-visible{
  outline:2px solid #fff!important;outline-offset:3px!important;
}
body.fxv2 .fxv2-world .fxv2-pano-hotspots .fxv2-video-cluster>.fxv2-video-orbit{
  top:76%!important;transform:translateY(-50%)!important;
  animation:none!important;
}
body.fxv2 .fxv2-world .fxv2-pano-hotspots .fxv2-video-cluster>.fxv2-video-orb-play[hidden]{display:none!important}
/* The narrow vertical Reel uses compact controls on its right, never on its cover. */
body.fxv2 .fxv2-world .fxv2-pano-hotspots>.fxv2-reel-cluster{overflow:visible!important}
body.fxv2 .fxv2-world .fxv2-pano-hotspots>.fxv2-reel-cluster>.fxv2-video-orb-play,
body.fxv2 .fxv2-world .fxv2-pano-hotspots>.fxv2-reel-cluster>.fxv2-video-orbit{
  right:-22px!important;
  width:34px!important;height:34px!important;min-width:34px!important;min-height:34px!important;
}
@media(max-width:650px){
  body.fxv2 .fxv2-world .fxv2-pano-hotspots>.fxv2-reel-cluster>.fxv2-video-orb-play,
  body.fxv2 .fxv2-world .fxv2-pano-hotspots>.fxv2-reel-cluster>.fxv2-video-orbit{
    right:-18px!important;width:30px!important;height:30px!important;min-width:30px!important;min-height:30px!important;
  }
}

/* V3.12: restore real scroll inside rounded content windows. V3.10 set overflow:hidden. */
html.fxv2-js body.fxv2 .fxv2-hybrid-panel,
html.fxv2-js body.fxv2 .fxv2-detail-panel{
  overflow-x:hidden!important;overflow-y:auto!important;
  overscroll-behavior-y:contain!important;
  -webkit-overflow-scrolling:touch!important;
  scrollbar-gutter:stable;
  touch-action:pan-y!important;
}
html.fxv2-js body.fxv2 .fxv2-hybrid-panel main,
html.fxv2-js body.fxv2 .fxv2-detail-panel [data-v2-detail-content]{
  height:auto!important;min-height:0!important;max-height:none!important;
  overflow:visible!important;
}
/* H1 adopts the non-rounded heavy sans of the FXCHS header wordmark. */
body.fxv2 h1,
body.fxv2 .fxv2-world .fxv2-world-copy h1,
body.fxv2.fxclient-shell .fxclient-page-heading h1{
  font-family:Inter,'Helvetica Neue',Helvetica,Arial,sans-serif!important;
  font-weight:900!important;font-variation-settings:normal!important;
  font-synthesis:none!important;letter-spacing:-.072em!important;
  line-height:1.035!important;
}
/* Rounded rectangles only, no second X inside content / menu. */
body.fxv2 :is(.fxv2-hybrid-panel,.fxv2-detail-panel,.fxv2-menu-shell,
 .fxv2-video-dialog,.fxv304-form-dialog,.fxv306-photo-card,
 .fxv2-card-link,.fxv2-video-orb,.fxv2-reel-orb,
 .fxv257-room-teaser,.fxv2-world-copy){border-radius:clamp(16px,2vw,30px)!important}
body.fxv2 .fxv2-menu-exit,
body.fxv2 .fxv2-sheet-dismiss,
body.fxv2 .fxv2-detail-bar button[data-v2-detail-close],
body.fxv2 .fxv304-form-close,
body.fxv2 .fxv2-video-dialog [data-v2-video-close],
body.fxv2 .fxv296-media-viewer [data-fxv296-close]{display:none!important}
/* Header action remains usable while a photo, video or form overlay is open. */
body.fxv2 .fxv2-header{z-index:5100!important}
body.fxv2.fxv312-video-open::before,
body.fxv2.fxv312-form-open::before{
  content:'';position:fixed;z-index:175;inset:var(--v2-header-height,70px) 0 var(--v2-footer-height,43px);
  background:#000d;backdrop-filter:blur(4px);pointer-events:auto;
}
body.fxv2 .fxv2-video-dialog[open],
body.fxv2 .fxv304-form-dialog[open]{
  position:fixed!important;z-index:185!important;
  left:50%!important;top:50%!important;right:auto!important;bottom:auto!important;
  margin:0!important;transform:translate(-50%,-50%)!important;
  max-height:calc(100dvh - var(--v2-header-height,65px) - var(--v2-footer-height,50px) - 18px)!important;
  overflow-y:auto!important;overflow-x:hidden!important;
  border-radius:24px!important;
}
body.fxv2 .fxv304-form-dialog[open] {max-width:calc(100vw - 22px)!important}
body.fxv2 .fxv2-video-dialog[open] {max-width:calc(100vw - 22px)!important}
body.fxv2 .fxv296-media-viewer{z-index:4000!important}
body.fxv2 .fxv296-media-viewer-toolbar{justify-content:center!important}
/* Keep independent controls small, never paint a play glyph over a teaser image. */
body.fxv2 .fxv2-video-orb-play{border-radius:12px!important}
body.fxv2 .fxv2-video-orb:not(.is-playing) .fxv2-video-orb-stage{pointer-events:none}
/* The archival text-only note has no false thumbnail and no meaningless 'Text' caption. */
body.fxv2 .fxv257-room-teaser .fxv312-relative{display:block;margin-top:4px;font-size:11px;opacity:.87;font-weight:650}
body.fxv2 .fxv2-video-orb-caption .fxv312-relative{display:block;font-size:10px;font-weight:500;margin:2px 0 0}
/* Map: same header/footer and elevated rounded-rectangle window treatment. */
body.fxv2.fxclient-map .fxv2-header{position:relative!important;flex:none!important}
body.fxv2.fxclient-map .fxv2-footer{flex:none!important;position:relative!important}
body.fxv2.fxclient-map .fxclient-main{flex:1 1 auto!important;min-height:0!important}
body.fxv2.fxclient-map .fx-places-banner,
body.fxv2.fxclient-map .fx-places-links > div,
body.fxv2.fxclient-map .leaflet-popup-content-wrapper{
  border-radius:24px!important;border:1px solid #a9c7b3!important;
  box-shadow:0 16px 50px #0008!important;
}
body.fxv2.fxclient-map .fx-places-links > div {max-height:30dvh;overflow:auto;overscroll-behavior:contain}
body.fxv2.fxclient-map .leaflet-popup-close-button{display:none!important}
body.fxv2.fxclient-map .fxv2-portal-menu{z-index:5200!important}
body.fxv2.fxclient-map .fxv2-header{z-index:5300!important}
/* Map panes do not swallow the global header menu click. */
body.fxv2.fxclient-map #fx-places-map{z-index:1!important}
@media(max-width:660px){
 html.fxv2-js body.fxv2 :is(.fxv2-hybrid-panel,.fxv2-detail-panel){scrollbar-gutter:auto}
 body.fxv2.fxclient-map .fx-places-banner{max-height:min(37dvh,240px);overflow:auto!important}
 body.fxv2.fxclient-map .fx-places-links{max-height:24dvh;overflow:auto}
 body.fxv2.fxclient-map .fx-places-links > div{max-width:min(75vw,270px)}
}

/* Unillustrated text entries are text cards, not fabricated image thumbnails. */
body.fxv2 .fxv312-no-media .fxv2-card-link{min-height:135px!important}
body.fxv2 .fxv312-no-media .fxv2-card-body{padding-top:clamp(16px,2.2vw,24px)!important}
body.fxv2 .fxv2-card-grid.is-v2-list .fxv312-no-media .fxv2-card-link,
body.fxv2 .fxv2-journal-grid.is-v2-list .fxv312-no-media .fxv2-card-link{
  display:grid!important;grid-template-columns:minmax(0,1fr)!important;min-height:0!important;
}
body.fxv2 .fxv2-card-grid.is-v2-list .fxv312-no-media .fxv2-card-body{padding:10px!important}
body.fxv2 .fxv257-room-teaser:not(:has(img)) .fxv290-room-video-gradient{display:none!important}

/* One animated cross at the exact location of the header menu button. */
body.fxv2.fxv312-overlay-open .fxv2-header-menu .fxv2-menu-trigger-bars i:nth-child(1){transform:translateY(10px) rotate(45deg)!important}
body.fxv2.fxv312-overlay-open .fxv2-header-menu .fxv2-menu-trigger-bars i:nth-child(2){opacity:0!important;transform:scaleX(.2)!important}
body.fxv2.fxv312-overlay-open .fxv2-header-menu .fxv2-menu-trigger-bars i:nth-child(3){transform:translateY(-10px) rotate(-45deg)!important}
/* Text-only notes do not suggest a fabricated image; real media receives no artificial play mark. */
body.fxv2 .fxv257-room-teaser.fxv312-text-only {background:#ecf3eb!important;border:1px solid #bed1c2!important;color:#173728!important}
body.fxv2 .fxv257-room-teaser.fxv312-text-only strong {color:#163525!important}
body.fxv2 .fxv257-room-teaser.fxv312-text-only em {color:#325a43!important}
body.fxv2 .fxv257-room-teaser.fxv312-text-only .fxv312-relative {color:#365b42!important}
body.fxv2 .fxv257-room-teaser .fxv312-relative{margin-top:6px!important;white-space:normal!important}
/* Leaflet navigation overlays keep the same single global close affordance. */
body.fxv2.fxclient-map .fx-places-shell .leaflet-popup-content-wrapper {border-radius:24px!important}
body.fxv2.fxclient-map .fx-places-shell .leaflet-popup-content {max-height:min(32dvh,245px);overflow-y:auto;overscroll-behavior:contain}
/* Photo popup remains below the global header control; only the header X closes it. */
body.fxv2.fxv306-photo-open .fxv2-header {z-index:6100!important}

/* The shared header morphs into its single X even for the photo/map overlay. */
body.fxv2.fxv312-overlay-open .fxv2-header-menu .fxv2-menu-trigger-bars i:nth-child(1){transform:translateY(10px) rotate(45deg)!important}
body.fxv2.fxv312-overlay-open .fxv2-header-menu .fxv2-menu-trigger-bars i:nth-child(2){opacity:0!important;transform:scaleX(.2)!important}
body.fxv2.fxv312-overlay-open .fxv2-header-menu .fxv2-menu-trigger-bars i:nth-child(3){transform:translateY(-10px) rotate(-45deg)!important}
