/* Genesis — estilos do mapa interativo (Tour).
   Arquivo separado: não altera o styles.css. */

.map-canvas.map-live {
  position: relative;
  height: clamp(340px, 56vh, 560px);
  min-height: 0;
  aspect-ratio: auto;
  padding: 0;
  overflow: hidden;
}

.map-live [hidden] { display: none !important; }

.map-live .live-map {
  position: absolute;
  inset: 0;
  z-index: 0;
  isolation: isolate;
  background: #050806;
  font-family: inherit;
}

.map-live .leaflet-container { background: #050806; font-family: inherit; }
.map-live .leaflet-control-zoom {
  border: 1px solid rgba(151, 220, 120, .35);
  border-radius: 2px;
  box-shadow: none;
}
.map-live .leaflet-control-zoom a {
  background: rgba(5, 8, 6, .85);
  color: #97dc78;
  border-bottom: 1px solid rgba(151, 220, 120, .25);
}
.map-live .leaflet-control-zoom a:hover { background: rgba(151, 220, 120, .15); }

/* Filtros (canto superior esquerdo) */
.map-live .map-filters {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 600;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  max-width: calc(100% - 70px);
}
.gm-chip {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 9px;
  font: inherit;
  font-size: 11px;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: #cfe8d5;
  background: rgba(5, 8, 6, .85);
  border: 1px solid rgba(151, 220, 120, .3);
  border-radius: 2px;
  cursor: pointer;
}
.gm-chip i { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }
.gm-chip b { color: #6f8f78; font-weight: 400; }
.gm-chip:not(.is-on) { opacity: .45; }
.gm-chip:hover { border-color: rgba(151, 220, 120, .7); }
.gm-chip:focus-visible { outline: 2px solid #97dc78; outline-offset: 2px; }
.gm-mode {
  align-self: center;
  padding: 5px 8px;
  font-size: 10px;
  letter-spacing: .12em;
  color: #e8b04a;
  background: rgba(5, 8, 6, .85);
  border: 1px solid rgba(232, 176, 74, .35);
  border-radius: 2px;
}

/* Coordenadas do cursor */
.map-live .map-coords {
  position: absolute;
  right: 10px;
  bottom: 10px;
  z-index: 600;
  padding: 4px 8px;
  font-size: 10px;
  letter-spacing: .1em;
  color: #6f8f78;
  background: rgba(5, 8, 6, .85);
  border: 1px solid rgba(151, 220, 120, .2);
  border-radius: 2px;
  pointer-events: none;
}

/* Legenda original, reposicionada sobre o mapa */
.map-live .map-legend {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 600;
  pointer-events: none;
}

/* Alfinetes */
.gm-pin-wrap { background: none; border: 0; }
.gm-pin {
  display: block;
  width: 12px; height: 12px;
  margin: 2px;
  border-radius: 50%;
  background: var(--c, #97dc78);
  border: 2px solid #050806;
  box-shadow: 0 0 10px var(--c, #97dc78);
}
.gm-player {
  display: block;
  width: 12px; height: 12px;
  margin: 1px;
  border-radius: 50%;
  background: #e8b04a;
  border: 2px solid #050806;
  animation: gm-pulse 1.8s infinite;
}
@keyframes gm-pulse {
  0%   { box-shadow: 0 0 0 0 rgba(232, 176, 74, .7); }
  70%  { box-shadow: 0 0 0 10px rgba(232, 176, 74, 0); }
  100% { box-shadow: 0 0 0 0 rgba(232, 176, 74, 0); }
}
@media (prefers-reduced-motion: reduce) { .gm-player { animation: none; } }

/* Rótulos e popups */
.leaflet-tooltip.gm-label {
  background: transparent;
  border: 0;
  box-shadow: none;
  color: #cfe8d5;
  font-size: 11px;
  letter-spacing: .12em;
  text-shadow: 0 0 4px #050806, 0 0 4px #050806;
}
.leaflet-tooltip.gm-label::before { display: none; }
.map-live .leaflet-popup-content-wrapper,
.map-live .leaflet-popup-tip {
  background: #0b120d;
  color: #cfe8d5;
  border: 1px solid rgba(151, 220, 120, .35);
  border-radius: 2px;
}
.map-live .leaflet-popup-content { margin: 10px 12px; font-size: 12px; line-height: 1.5; }

@media (max-width: 640px) {
  .map-canvas.map-live { height: clamp(300px, 60vh, 460px); }
  .map-live .map-coords { display: none; }
}