/* JPR — site-wide Leaflet accidental scroll/zoom guard */
.leaflet-container.jpr-map-guarded {
  position: relative;
  overscroll-behavior: contain;
  touch-action: pan-y;
}

.leaflet-container.jpr-map-guarded:not(.jpr-map-active) {
  cursor: default;
}

.leaflet-container.jpr-map-guarded.jpr-map-active {
  touch-action: none;
}

.jpr-map-guard-button {
  position: absolute;
  z-index: 900;
  left: 50%;
  bottom: 16px;
  transform: translateX(-50%);
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 999px;
  background: rgba(12,12,14,.88);
  color: #fff;
  box-shadow: 0 16px 40px rgba(0,0,0,.25);
  padding: 10px 16px;
  font: 700 13px/1.1 system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  letter-spacing: .01em;
  cursor: pointer;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.jpr-map-guard-button:hover,
.jpr-map-guard-button:focus {
  background: #b40019;
  outline: 3px solid rgba(180,0,25,.22);
}

.leaflet-container.jpr-map-active .jpr-map-guard-button {
  background: #b40019;
}

@media (max-width: 760px) {
  .jpr-map-guard-button {
    bottom: 12px;
    width: calc(100% - 32px);
    max-width: 360px;
    padding: 13px 16px;
    font-size: 14px;
  }
}
