/* Barra de camadas ativas: largura total da área do mapa */
.pm-map-layout {
  position: relative !important;
}

.pm-map-area {
  position: relative !important;
}

.pm-map-corner-bottom {
  left: 16px !important;
  right: 16px !important;
  width: auto !important;
  max-width: none !important;
  align-items: stretch !important;
}

.pm-map-corner-bottom .pm-active-bar {
  flex: 1 1 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.pm-map-bottom-hud.pm-map-corner-bottom .pm-active-bar {
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 520px !important;
  min-width: 0 !important;
}

.pm-map-layout .pm-map-corner-bottom {
  left: 16px !important;
  right: 16px !important;
  width: auto !important;
}

.pm-map-layout .pm-map-corner-bottom .pm-active-bar {
  flex: 1 1 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.pm-map-layout .pm-map-bottom-hud.pm-map-corner-bottom .pm-active-bar {
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 520px !important;
  min-width: 0 !important;
}

/* Coluna de ferramentas: ancora acima do card lat/lon (canto inferior direito). */
.pm-map-layout .pm-map-corner-right {
  top: auto !important;
  bottom: 96px !important;
  right: 16px !important;
}

/* Tela cheia no layout do mapa (mapa + painel lateral + toggle). */
.pm-map-layout:fullscreen,
.pm-map-layout:-webkit-full-screen {
  display: flex !important;
  flex-direction: row !important;
  width: 100vw !important;
  height: 100vh !important;
  max-width: 100vw !important;
  max-height: 100vh !important;
  background: #f3f6fb;
  overflow: hidden !important;
}

.pm-map-layout:fullscreen .pm-map-area,
.pm-map-layout:-webkit-full-screen .pm-map-area {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 0 !important;
  height: 100% !important;
}

.pm-map-layout:fullscreen .pm-map-sidebar,
.pm-map-layout:-webkit-full-screen .pm-map-sidebar {
  flex-shrink: 0 !important;
  height: 100% !important;
}

.pm-map-layout:fullscreen .pm-map-sidebar-edge-toggle,
.pm-map-layout:-webkit-full-screen .pm-map-sidebar-edge-toggle {
  z-index: 45 !important;
  pointer-events: auto !important;
}

.pm-map-layout:fullscreen .pm-map-corner-right,
.pm-map-layout:-webkit-full-screen .pm-map-corner-right {
  bottom: 96px !important;
  z-index: 44 !important;
}

html[data-theme="dark"] .pm-map-layout:fullscreen,
html[data-theme="dark"] .pm-map-layout:-webkit-full-screen {
  background: #0f1419;
}

/* Street View — Pegman (frames 1–17, física preview.html) */
.pm-pegman-trigger {
  touch-action: none;
  cursor: grab;
}

.pm-pegman-trigger:active {
  cursor: grabbing;
}

/* Círculo + contorno azul idêntico ao botão de mapa */
.pm-map-area .pm-maptop-right #pmStreetViewTrigger,
.pm-map-area #pmStreetViewTrigger,
.pm-streetview-trigger.pm-pegman-trigger,
#pmStreetViewTrigger.pm-pegman-trigger,
#pmStreetViewTrigger,
html[data-theme='dark'] .pm-map-area #pmStreetViewTrigger {
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 46px !important;
  width: 46px !important;
  max-width: 46px !important;
  height: 46px !important;
  min-height: 46px !important;
  max-height: 46px !important;
  padding: 0 !important;
  border: 1px solid #1253a8 !important;
  border-top-color: #1253a8 !important;
  border-right-color: #1253a8 !important;
  border-bottom-color: #1253a8 !important;
  border-left-color: #1253a8 !important;
  border-radius: 999px !important;
  background: #ffffff !important;
  background-image: none !important;
  box-shadow: 0 8px 22px rgba(18, 83, 168, 0.09) !important;
  color: #1253a8 !important;
}

.pm-map-area #pmStreetViewTrigger:hover,
#pmStreetViewTrigger:hover,
html[data-theme='dark'] .pm-map-area #pmStreetViewTrigger:hover {
  border: 1px solid #1253a8 !important;
  border-top-color: #1253a8 !important;
  border-right-color: #1253a8 !important;
  border-bottom-color: #1253a8 !important;
  border-left-color: #1253a8 !important;
  background: #ffffff !important;
  background-image: none !important;
  box-shadow: 0 10px 26px rgba(18, 83, 168, 0.14) !important;
}

.pm-pegman-btn-figure,
.pm-map-area #pmStreetViewTrigger .pm-pegman-btn-figure,
#pmStreetViewTrigger .pm-pegman-btn-figure {
  display: block !important;
  width: 32px !important;
  height: 32px !important;
  margin: 0 auto;
  flex: 0 0 auto;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}

/* Captura pointer sobre o iframe no modo clique (sem arrastar) */
.pm-pegman-place-capture {
  position: absolute;
  inset: 0;
  z-index: 27;
  display: none;
  background: transparent;
  pointer-events: auto;
  touch-action: none;
  cursor: grab;
}

.pm-pegman-place-capture.is-active {
  display: block;
}

body.pm-pegman-placing {
  touch-action: none;
  user-select: none;
  cursor: grab !important;
}

body.pm-pegman-placing * {
  cursor: grab !important;
}

.pm-pegman-trigger:hover .pm-pegman-btn-figure,
.pm-pegman-trigger:focus-visible .pm-pegman-btn-figure {
  background-image: var(--pegman-hover-url) !important;
}

.pm-pegman-trigger.pm-pegman-source-empty .pm-pegman-btn-figure {
  opacity: 0.25;
}

.pm-pegman-trigger.active:not(.pm-map-tools-tool--pegman) {
  background: #fffdf2 !important;
  border-color: rgba(228, 184, 0, 0.55) !important;
  box-shadow: 0 12px 26px rgba(228, 184, 0, 0.22) !important;
}

.pm-map-tools-popover .pm-pegman-trigger.active,
.pm-map-tools-popover .pm-pegman-trigger.pm-sv-coverage-on {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

body.pm-pegman-ui-frozen .pm-map-tools-popover,
body.pm-pegman-dragging .pm-map-tools-popover,
body.pm-pegman-placing .pm-map-tools-popover {
  pointer-events: none !important;
}

body.pm-pegman-dragging .pm-map-tools-popover #pmStreetViewTrigger,
body.pm-pegman-placing .pm-map-tools-popover #pmStreetViewTrigger {
  pointer-events: none !important;
}

body.pm-pegman-ui-frozen .pm-map-sidebar,
body.pm-pegman-ui-frozen .pm-sb-tabs {
  pointer-events: none !important;
}

body.pm-pegman-ui-frozen .pm-map-corner-right,
body.pm-pegman-dragging .pm-map-corner-right,
body.pm-pegman-placing .pm-map-corner-right {
  pointer-events: none !important;
}

body.pm-pegman-ui-frozen .pm-map-corner-right #pmMapZoomIn,
body.pm-pegman-ui-frozen .pm-map-corner-right #pmMapZoomOut,
body.pm-pegman-ui-frozen .pm-map-corner-right .pm-map-zoom-btn,
body.pm-pegman-dragging .pm-map-corner-right #pmMapZoomIn,
body.pm-pegman-dragging .pm-map-corner-right #pmMapZoomOut,
body.pm-pegman-dragging .pm-map-corner-right .pm-map-zoom-btn,
body.pm-pegman-placing .pm-map-corner-right #pmMapZoomIn,
body.pm-pegman-placing .pm-map-corner-right #pmMapZoomOut,
body.pm-pegman-placing .pm-map-corner-right .pm-map-zoom-btn {
  pointer-events: auto !important;
}

/* Durante arraste/clique do Pegman, o iframe não pode capturar o ponteiro */
body.pm-pegman-dragging .pm-map-area,
body.pm-pegman-placing .pm-map-area {
  pointer-events: auto !important;
}

body.pm-pegman-dragging #mapFrame,
body.pm-pegman-dragging .pm-map-area iframe,
body.pm-pegman-placing #mapFrame,
body.pm-pegman-placing .pm-map-area iframe {
  pointer-events: none !important;
}

body.pm-pegman-dragging .pm-pegman-place-capture,
body.pm-pegman-placing .pm-pegman-place-capture {
  pointer-events: auto !important;
  z-index: 80 !important;
}

body.pm-pegman-dragging {
  touch-action: none;
  user-select: none;
  cursor: grabbing !important;
}

body.pm-pegman-dragging * {
  cursor: grabbing !important;
}

.pm-pegman-drag {
  position: fixed;
  inset: 0;
  z-index: 100000;
  margin: 0;
  padding: 0;
  pointer-events: none;
  overflow: visible;
}

.pm-pegman-drop-ring {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 1;
  width: 32px;
  height: 32px;
  border: 2px dashed rgba(25, 25, 25, 0.88);
  border-radius: 50%;
  background: radial-gradient(circle at 50% 50%, rgba(130, 230, 150, 0.62) 0%, rgba(130, 230, 150, 0.28) 68%);
  box-shadow: inset 0 0 0 5px rgba(130, 230, 150, 0.24);
  transform: translate3d(var(--ring-x, -9999px), var(--ring-y, -9999px), 0) translate(-50%, -50%);
  opacity: 0;
  transition: opacity 0.1s ease, background 0.12s ease, border-color 0.12s ease, box-shadow 0.12s ease;
  will-change: transform;
}

.pm-pegman-drag.is-ring-visible .pm-pegman-drop-ring {
  opacity: 1;
}

.pm-pegman-drag.is-over-street .pm-pegman-drop-ring {
  background: radial-gradient(circle at 50% 50%, rgba(95, 220, 125, 0.78) 0%, rgba(95, 220, 125, 0.38) 70%);
  border-color: rgba(18, 82, 38, 0.95);
  box-shadow:
    inset 0 0 0 6px rgba(95, 220, 125, 0.3),
    0 0 16px rgba(95, 220, 125, 0.5);
}

.pm-pegman-hand-anchor {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 3;
  transform: translate3d(var(--peg-x, -9999px), var(--peg-y, -9999px), 0) translate(-50%, -50%);
  will-change: transform;
}

.pm-pegman-sprite-slot {
  position: relative;
  width: 70px;
  height: 70px;
  margin: 0 auto;
  overflow: visible;
  transform-origin: 50% 50%;
  will-change: transform;
}

.pm-pegman-drag-sprite {
  display: block;
  width: 70px;
  height: 70px;
  margin: 0;
  object-fit: contain;
  object-position: center top;
  pointer-events: none;
  user-select: none;
}

/* Desativa cards detalhados do raio (USFs/Escolas/Votação). */
#pmRadiusUsfCross,
#pmRadiusSchoolsCross,
#pmRadiusVotingCross {
  display: none !important;
}

/* Street View — painel, fechar e carregamento */
.pm-streetview-panel.open {
  z-index: 45 !important;
  background: #ffffff !important;
}

.pm-streetview-panel.open .pm-streetview-empty {
  z-index: 50 !important;
}

.pm-streetview-head {
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  height: auto !important;
  min-height: 56px !important;
  padding: 0 !important;
  z-index: 60 !important;
  pointer-events: none !important;
}

.pm-streetview-viewer,
.pm-streetview-embed {
  z-index: 1 !important;
}

.pm-streetview-close {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  z-index: 61 !important;
  width: 44px !important;
  height: 44px !important;
  margin: 0 !important;
  border-radius: 14px !important;
  border: 1px solid rgba(36, 78, 156, 0.14) !important;
  background: rgba(255, 255, 255, 0.96) !important;
  color: #244e9c !important;
  box-shadow: 0 10px 28px rgba(36, 78, 156, 0.14) !important;
  pointer-events: auto !important;
}

.pm-streetview-close:hover {
  background: #ffffff !important;
  transform: translateY(-1px);
}

/* Com Street View aberto: botões do topo deslocam para a esquerda */
.pm-map-area:has(.pm-streetview-panel.open) .pm-map-corner-top-right {
  top: 14px !important;
  right: 68px !important;
  left: auto !important;
  max-width: calc(100% - 88px) !important;
}

.pm-map-area:has(.pm-streetview-panel.open) .pm-map-corner-right {
  top: 72px !important;
  bottom: 96px !important;
}

.pm-streetview-empty {
  z-index: 50 !important;
  background: #ffffff !important;
  color: #1e3a5f !important;
}

.pm-streetview-panel.open:has(.pm-streetview-empty[data-mode='loading']) {
  background: #ffffff !important;
}

.pm-streetview-empty[data-mode='loading'] {
  padding: 0 !important;
  overflow: hidden !important;
  z-index: 50 !important;
  background: #ffffff !important;
  color: #1e3a5f !important;
}

.pm-streetview-loading {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 100%;
  overflow: hidden;
}

.pm-streetview-loading-bg {
  position: absolute;
  inset: 0;
  background: #ffffff !important;
}

.pm-streetview-loading-bg::before {
  content: '';
  position: absolute;
  inset: 0;
  opacity: 0.45;
  background-image:
    linear-gradient(rgba(36, 78, 156, 0.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(36, 78, 156, 0.06) 1px, transparent 1px);
  background-size: 28px 28px;
  mask-image: radial-gradient(circle at 50% 45%, #000 22%, transparent 72%);
}

.pm-streetview-loading-bg::after {
  content: '';
  position: absolute;
  width: 420px;
  height: 420px;
  right: -120px;
  top: -140px;
  border-radius: 50%;
  border: 1px solid rgba(36, 78, 156, 0.08);
  background: radial-gradient(circle, rgba(36, 78, 156, 0.04) 0%, transparent 68%);
}

.pm-streetview-loading-core {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  padding: 24px;
}

.pm-streetview-loading-orbit {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  border: 2px solid rgba(36, 78, 156, 0.12);
  display: grid;
  place-items: center;
}

.pm-streetview-loading-orbit span {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 3px solid rgba(36, 78, 156, 0.14);
  border-top-color: #244e9c;
  animation: pm-sv-spin 0.85s linear infinite;
}

.pm-streetview-loading-text {
  margin: 0;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #1e3a5f !important;
  text-align: center;
}

@keyframes pm-sv-spin {
  to {
    transform: rotate(360deg);
  }
}

html[data-theme='dark'] .pm-streetview-close {
  background: rgba(24, 30, 40, 0.94) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  color: #e8eef8 !important;
}

html[data-theme='dark'] .pm-streetview-panel.open,
html[data-theme='dark'] .pm-streetview-panel.open:has(.pm-streetview-empty[data-mode='loading']) {
  background: #ffffff !important;
}

html[data-theme='dark'] .pm-streetview-empty,
html[data-theme='dark'] .pm-streetview-empty[data-mode='loading'] {
  background: #ffffff !important;
  color: #1e3a5f !important;
}

html[data-theme='dark'] .pm-streetview-empty[data-mode='loading'] .pm-streetview-loading-bg {
  background: #ffffff !important;
}

html[data-theme='dark'] .pm-streetview-loading-text {
  color: #1e3a5f !important;
}
