.video-map-viewer[hidden], .video-map-viewer-host[hidden] { display: none !important; }
.video-map-viewer { width: 100%; max-width: 100%; min-width: 0; margin: 0; color: #302a2e; overflow: hidden; }
.video-map-viewer-host[data-viewer-mode="home"] { scroll-margin-top: 88px; }
.video-map-viewer-sheet { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; border: 1px solid #ead5df; border-radius: 18px; background: #fff; box-shadow: 0 8px 28px rgba(69, 20, 42, .12); }
.video-map-viewer-topline { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 48px; padding: 8px 14px; border-radius: 18px 18px 0 0; background: #fff8fa; }
.video-map-viewer-kicker { color: #9d174d; font-size: .72rem; font-weight: 900; }
.video-map-viewer-sheet-actions { display: flex; gap: 6px; }
.video-map-viewer-minimize, .video-map-viewer-close { display: inline-flex; align-items: center; gap: 5px; min-height: 34px; padding: 6px 10px; border: 1px solid #ead5df; border-radius: 999px; color: #9d174d; background: #fff; font-size: .72rem; font-weight: 900; cursor: pointer; }
.video-map-viewer-close { color: #64748b; }
.video-map-viewer-minimize i { transition: transform .2s ease; }
.video-map-viewer.is-minimized .video-map-viewer-minimize i { transform: rotate(180deg); }
.video-map-viewer-content { min-width: 0; max-width: 100%; box-sizing: border-box; padding: 16px; }
.video-map-viewer.is-minimized .video-map-viewer-content { display: none; }
.video-map-viewer-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.video-map-viewer-head strong { display: block; font-size: 1rem; }
.video-map-viewer-head small { display: block; margin-top: 2px; color: #64748b; font-size: .7rem; }
.video-map-viewer h3 { margin: 10px 0 5px; font-size: 1.08rem; line-height: 1.35; }
.video-map-viewer-place, .video-map-viewer-description { color: #64748b; font-size: .78rem; line-height: 1.5; }
.video-map-viewer-place { margin: 0 0 5px; color: #302a2e; }
.video-map-viewer-address, .video-map-viewer-start { display: block; margin-top: 3px; color: #64748b; font-size: .7rem; font-weight: 650; }
.video-map-viewer-start { color: #5b21b6; }
.video-map-viewer-description { margin: 0 0 12px; }
.video-map-viewer-player { width: 100%; max-width: 100%; min-width: 0; overflow: hidden; border-radius: 12px; background: #160d11; }
.video-map-viewer-play { display: block; width: 100%; min-height: 56px; border: 0; color: #fff; background: #9d174d; font-weight: 900; cursor: pointer; }
.video-map-viewer-embed-wrap { position: relative; width: 100%; max-width: 100%; min-width: 0; aspect-ratio: 16 / 9; }
.video-map-viewer-embed { display: block; width: 100%; height: 100%; border: 0; }
.video-map-viewer-empty { margin: 0; padding: 18px; color: #fff; font-size: .8rem; text-align: center; }
.video-map-viewer-stops { display: grid; width: 100%; max-width: 100%; min-width: 0; gap: 6px; margin-top: 10px; }
.video-map-viewer-stops button { display: flex; align-items: center; gap: 8px; width: 100%; min-height: 46px; padding: 7px 10px; border: 1px solid #ead5df; border-radius: 12px; color: #5f555b; background: #fff; text-align: left; cursor: pointer; }
.video-map-viewer-stop-number { display: grid; place-items: center; width: 22px; height: 22px; flex: 0 0 22px; border-radius: 50%; color: #fff; background: #9d174d; font-size: .64rem; font-weight: 900; }
.video-map-viewer-stop-copy { display: grid; min-width: 0; gap: 2px; }
.video-map-viewer-stop-copy strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .74rem; }
.video-map-viewer-stop-copy small { overflow: hidden; color: #64748b; text-overflow: ellipsis; white-space: nowrap; font-size: .64rem; font-weight: 600; }
.video-map-viewer-stops button.is-selected { border-color: #9d174d; background: #fff1f5; }
.video-map-viewer-host[data-viewer-mode="map"]:not([hidden]) { position: static; z-index: auto; width: 100%; pointer-events: auto; }
.video-map-viewer--map .video-map-viewer-sheet { width: 100%; max-width: none; border-width: 1px 0; border-radius: 0; box-shadow: none; pointer-events: auto; }
.video-map-viewer--map .video-map-viewer-content { max-height: none; overflow: visible; }
@media (max-width: 767px) {
  .video-map-viewer-host[data-viewer-mode="home"] { scroll-margin-top: 76px; padding-right: 10px; padding-left: 10px; }
  .video-map-viewer-content { padding: 14px; }
  .video-map-viewer--map .video-map-viewer-content { max-height: 68dvh; }
  .video-map-viewer-topline { min-height: 52px; }
  .video-map-viewer-minimize span, .video-map-viewer-close span { display: none; }
}
