/* ===== MAP STYLING ===== */

/* Custom markers */
.custom-marker-dot {
  background: transparent !important;
  border: none !important;
}

.marker-dot {
  display: block;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  border: 2px solid white;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.35);
  cursor: pointer;
  transition: transform 0.15s ease;
}

.marker-dot-green {
  background-color: var(--marker-green);
}

.marker-dot-red {
  background-color: var(--marker-red);
}

.marker-dot:hover {
  transform: scale(1.2);
}

/* Map container */
#map {
  height: 70vh;
  min-height: 600px;
}

#map-single-apartment {
  max-height: 70vh;
  min-height: 300px;
}

/* Sticky map column in the apartment loop */
#apartments-map-col {
  position: sticky;
  top: 80px;
  align-self: flex-start;
}

/* Brand-consistent tile style */
#map .leaflet-tile-pane,
#map-single-apartment .leaflet-tile-pane {
  filter: saturate(0.7) brightness(1.02) contrast(0.95);
}

/* Popup */
.leaflet-popup-content-wrapper {
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-md) !important;
  font-family: "Plus Jakarta Sans", sans-serif !important;
  padding: 0 !important;
}

.leaflet-popup-content {
  margin: 0.75rem 1rem !important;
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
}

.leaflet-popup-content a {
  color: var(--primary-color) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.leaflet-popup-content a:hover {
  color: var(--accent-color) !important;
  text-decoration: underline !important;
}

.leaflet-popup-tip {
  box-shadow: var(--shadow-sm) !important;
}

.leaflet-control-attribution {
  font-size: 0.625rem !important;
  opacity: 0.6;
}

.leaflet-control-zoom a {
  color: var(--primary-color) !important;
  border-color: var(--gray-light) !important;
}

.leaflet-control-zoom a:hover {
  background-color: var(--primary-color) !important;
  color: var(--white-color) !important;
}
