.guide-video-action .brand-icon.guide {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  flex: 0 0 28px;
  overflow: hidden;
  border-radius: 8px;
  background: #fff;
  border: 1px solid #d5dce7;
}
.guide-video-action .brand-icon.guide img { display: block; width: 26px; height: 26px; object-fit: contain; }
.place-actions > .guide-video-action, .leaflet-popup-content .guide-video-action { display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 4px 11px; border: 1px solid #d5dce7; border-radius: 12px; background: #fff; color: #062b5c; font: inherit; font-weight: 800; cursor: pointer; text-decoration: none; }
.place-actions > .guide-video-action:hover, .leaflet-popup-content .guide-video-action:hover { border-color: #2578bd; }
.guide-video-action:focus-visible { outline: 3px solid #d6a657; outline-offset: 2px; }
.guide-video-dialog { width: min(94vw, 760px); max-width: none; padding: 0; border: 0; border-radius: 16px; background: #fff; color: #062b5c; box-shadow: 0 18px 64px #001c3e66; }
.guide-video-dialog::backdrop { background: #00172fc9; }
.guide-video-panel { padding: 16px; }
.guide-video-panel h2 { margin: 0 0 12px; font-size: 1.15rem; }
.guide-video-panel video { display: block; width: 100%; max-height: 75vh; border-radius: 9px; background: #000; }
.guide-video-panel iframe { display: block; width: min(100%, 420px); height: min(75vh, 740px); aspect-ratio: 9 / 16; margin: auto; border: 0; border-radius: 9px; background: #000; }
.guide-video-panel [hidden] { display: none; }
.guide-video-youtube { display: flex; align-items: center; justify-content: center; gap: 7px; width: fit-content; margin: 12px auto 0; color: #062b5c; font-weight: 700; text-decoration: underline; }
.guide-video-close { float: inline-end; margin: 0 0 8px 8px; padding: 6px 12px; border: 1px solid #d5dce7; border-radius: 8px; background: #fff; color: inherit; font: inherit; cursor: pointer; }

/* The extra subtitle band stays visible together with the portrait clip. */
.guide-video-multilingual { max-height: 92dvh; }
.guide-video-multilingual video {
  width: auto;
  max-width: 100%;
  max-height: calc(92dvh - 110px);
  margin-inline: auto;
}

/* Live captions use available screen width instead of scaling baked-in text. */
.guide-video-responsive { width: fit-content; max-width: calc(100vw - 24px); max-height: 94dvh; overflow: auto; }
.guide-video-responsive .guide-video-panel { padding: 14px; }
.guide-video-responsive h2 { font-size: 1rem; margin-block-end: 14px; padding-inline-end: 85px; }
.guide-video-responsive .guide-video-stage { display: flex; align-items: center; gap: 20px; direction: ltr; }
.guide-video-responsive video { width: auto; height: min(72dvh, 720px); max-height: none; max-width: 45vw; margin: 0; object-fit: contain; background: #081d33; }
.guide-video-captions { width: clamp(280px, 30vw, 440px); box-sizing: border-box; color: #fff; background: #081d33; border-radius: 10px; padding: 4px 20px; direction: ltr; text-align: left; }
.guide-video-captions > div { padding: 14px 0; }
.guide-video-captions > div + div { border-top: 1px solid #30465c; }
.guide-video-captions h3 { font: 700 12px/1.3 Arial, sans-serif; color: #edc278; margin: 0 0 7px; }
.guide-video-captions p { font: 400 clamp(20px, 1.35vw, 24px)/1.4 Arial, sans-serif; margin: 0; min-height: 2.8em; overflow-wrap: break-word; }
.guide-video-fullscreen { display: block; margin: 12px auto 0; padding: 7px 14px; color: #062b5c; background: #fff; border: 1px solid #d5dce7; border-radius: 8px; font: inherit; cursor: pointer; }
.guide-video-responsive:fullscreen, .guide-video-responsive.guide-video-expanded { width: 100vw; max-width: none; height: 100dvh; max-height: none; border-radius: 0; display: grid; place-items: center; background: #fff; }
.guide-video-responsive:fullscreen video, .guide-video-responsive.guide-video-expanded video { height: 78dvh; }
@media (max-width: 640px) {
  .guide-video-responsive { width: calc(100vw - 20px); max-width: none; }
  .guide-video-responsive .guide-video-panel { padding: 10px; }
  .guide-video-responsive .guide-video-stage { flex-direction: column; gap: 10px; }
  .guide-video-responsive video { height: min(43dvh, 420px); max-width: 100%; }
  .guide-video-captions { width: 100%; padding: 0 14px; }
  .guide-video-captions > div { padding: 10px 0; }
  .guide-video-captions h3 { margin-bottom: 4px; }
  .guide-video-captions p { font-size: 18px; line-height: 1.35; min-height: 1.35em; }
  .guide-video-responsive:fullscreen, .guide-video-responsive.guide-video-expanded { display: block; overflow: auto; }
  .guide-video-responsive:fullscreen video, .guide-video-responsive.guide-video-expanded video { height: 43dvh; }
}
.guide-video-responsive .guide-video-panel { position: relative; }
.guide-video-responsive .guide-video-close { float: none; position: absolute; top: 14px; inset-inline-end: 14px; margin: 0; }
.youtube-media-frame { display: block; width: 100%; aspect-ratio: 16 / 9; min-height: 200px; border: 0; border-radius: 10px; background: #081d33; }
.youtube-video-pending { padding: 18px; color: #062b5c; background: #f4f1e9; border-radius: 10px; font: inherit; line-height: 1.5; }
.guide-video-frame-host { min-width: 0; }
.guide-video-responsive .guide-video-frame-host iframe { display: block; width: min(40.5dvh, 405px); height: min(72dvh, 720px); max-width: 45vw; margin: 0; }
.guide-video-responsive:fullscreen .guide-video-frame-host iframe, .guide-video-responsive.guide-video-expanded .guide-video-frame-host iframe { height: 74dvh; width: 41.625dvh; }
@media(max-width:640px) {
  .guide-video-responsive .guide-video-frame-host iframe, .guide-video-responsive:fullscreen .guide-video-frame-host iframe, .guide-video-responsive.guide-video-expanded .guide-video-frame-host iframe { height: min(38dvh,420px); width: max(200px,21.375dvh); max-width: 100%; }
}
.video-player[hidden] { display: none; }
.video-dialog iframe.video-player { width: 100%; height: auto; aspect-ratio: 16 / 9; min-height: 200px; border: 0; }
.guide-video-frame-host iframe { min-height: 200px; }

/* One branded action, with language information on its own line. */
.guide-video-action-copy { display:flex; flex-direction:column; align-items:flex-start; text-align:start; gap:3px; }
.guide-video-action-title { font-size:14px; line-height:1.3; }
.guide-video-action-language { font-size:11px; line-height:1.35; font-weight:500; color:#526477; }
.place-actions > .guide-video-action, .leaflet-popup-content .guide-video-action { border-color:#c99c50; background:#fffaf0; padding:8px 12px; }
.guide-marker-shell { position:relative; }
.guide-marker-shell::before { content:""; position:absolute; top:-3px; left:-3px; width:calc(100% + 6px); aspect-ratio:1; box-sizing:border-box; border:3px solid #d6a657; border-radius:50%; pointer-events:none; }
.guide-marker-badge { position:absolute; top:-8px; left:-9px; display:grid; place-items:center; width:20px; height:20px; box-sizing:border-box; border:2px solid #fff; border-radius:50%; background:#062b5c; color:#edc278; font:700 10px/1 Arial,sans-serif; box-shadow:0 1px 4px #001c3e55; pointer-events:none; }
.guide-map-legend { max-width:210px; padding:7px 10px; background:#fffef9; color:#062b5c; border:1px solid #d6a657; border-radius:8px; box-shadow:0 1px 5px #0002; font:600 12px/1.4 Arial,sans-serif; direction:inherit; }
.guide-map-legend > span { display:inline-grid; place-items:center; width:18px; height:18px; margin-inline-end:4px; background:#062b5c; color:#edc278; border:2px solid #d6a657; border-radius:50%; font-size:9px; }
@media(max-width:640px) { .guide-map-legend { max-width:160px; font-size:11px; padding:5px 7px; } }

.guide-video-youtube-icon { width: 22px; height: 17px; flex: 0 0 22px; }

/* Native YouTube captions follow the map language, including fullscreen. */
.guide-video-dialog { width: fit-content; max-width: calc(100vw - 20px); max-height: 94dvh; }
.guide-video-panel iframe { height: auto; width: min(40.5dvh, 416.25px, calc(100vw - 52px)); max-height: none; aspect-ratio: 9 / 16; }
.guide-video-panel h2 { max-width: 420px; font-size: 1rem; padding-inline-end: 80px; }
.guide-video-panel { position: relative; }
.guide-video-close { float: none; position: absolute; top: 16px; inset-inline-end: 16px; margin: 0; }

/* Close controls follow the interface reading direction. */
.guide-video-close,.guide-video-responsive .guide-video-close{left:auto;right:auto;inset-inline-end:14px;width:44px;height:44px;padding:0;font-size:28px}.guide-video-panel>h2{padding-inline-end:54px}

.wroc-typed-icon{position:relative}.wroc-type-badge{position:absolute;right:-9px;top:-8px;display:grid;place-items:center;width:23px;height:23px;border:2px solid white;border-radius:50%;color:white;box-shadow:0 2px 5px #082c5945;z-index:2}.wroc-type-badge svg{width:16px;height:16px}.wroc-type-0{background:#9a431f}.wroc-type-1{background:#73502f}.wroc-type-2{background:#674891}.wroc-type-3{background:#245d91}.wroc-type-4{background:#286650}.wroc-type-5{background:#873d67}.wroc-basic-pin{display:grid;place-items:center;width:34px;height:34px;border:2px solid white;border-radius:50%;background:#082c59;color:white;font-weight:bold;box-shadow:0 2px 6px #082c5945}

.wroc-type-main{display:grid;place-items:center;color:white}.wroc-type-main svg{width:22px;height:22px}

.nearby-pin:not(.selected){background:var(--wroc-type-color,#082c59)}
