.gpk-map-wrap {
  width: 100%;
  margin: 0;
}
.gpk-map {
  width: 100%;
  min-height: 240px;
  background: #ececec;
}
.gpk-map .leaflet-tile-pane {
  filter: grayscale(1) contrast(.9) brightness(1.08);
}
.gpk-map .leaflet-control-zoom a,
.gpk-map .gpk-show-all-button {
  color: #555;
}
.gpk-map .leaflet-popup-content-wrapper {
  border-radius: 2px;
  padding: 0;
  box-shadow: 0 3px 14px rgba(0,0,0,.22);
}
.gpk-map .leaflet-popup-content {
  margin: 0;
  width: 220px !important;
}
.gpk-popup-link {
  display: block;
  color: #383838 !important;
  text-decoration: none !important;
}
.gpk-popup-link:hover,
.gpk-popup-link:focus {
  color: #383838 !important;
}
.gpk-popup-thumb {
  display: block;
  width: 100%;
  height: 135px;
  object-fit: cover;
  margin: 0;
}
.gpk-popup-title {
  display: block;
  padding: 11px 12px 2px;
  color: #383838;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.3;
}
.gpk-popup-location {
  display: block;
  padding: 2px 12px 11px;
  color: #686868;
  font-size: 12px;
}

/* Donkerrode pin in plaats van de standaard blauwe Leaflet-marker. */
.gpk-marker-icon-wrap {
  background: transparent;
  border: 0;
}
.gpk-marker-pin {
  position: absolute;
  left: 3px;
  top: 1px;
  width: 22px;
  height: 22px;
  border-radius: 50% 50% 50% 0;
  background: #b51f1f;
  transform: rotate(-45deg);
  box-shadow: 0 1px 4px rgba(0,0,0,.35);
}
.gpk-marker-pin > span {
  position: absolute;
  left: 7px;
  top: 7px;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #fff;
}

.gpk-cluster-icon {
  background: transparent;
  border: 0;
}
.gpk-cluster-bubble {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  border-radius: 50%;
  background: rgba(181,31,31,.92);
  border: 4px solid rgba(255,255,255,.78);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  box-shadow: 0 1px 5px rgba(0,0,0,.24);
}

/* Toon-alles knop rechtsboven. */
.gpk-map .gpk-show-all-control {
  margin-top: 10px;
  margin-right: 10px;
}
.gpk-map .gpk-show-all-button {
  width: 30px;
  height: 30px;
  line-height: 30px;
  font-size: 19px;
  font-weight: 400;
  text-align: center;
  text-decoration: none;
  background: #fff;
}
.gpk-map .gpk-show-all-button:hover,
.gpk-map .gpk-show-all-button:focus {
  color: #333;
  background: #f4f4f4;
}

/* OSM-bronvermelding moet zichtbaar blijven, maar hoeft niet te schreeuwen. */
.gpk-map .leaflet-control-attribution {
  background: rgba(255,255,255,.72);
  color: #aaa;
  font-size: 9px;
  line-height: 1.25;
  padding: 1px 4px;
}
.gpk-map .leaflet-control-attribution a {
  color: #999;
  text-decoration: none;
}

@media (max-width: 767px) {
  .gpk-map { min-height: 360px; }
  .gpk-map .leaflet-popup-content { width: 190px !important; }
  .gpk-popup-thumb { height: 115px; }
}

/* In de overzichtsstand blijft de kaart bewust rustig; de pagina zelf blijft scrollbaar. */
.gpk-map.gpk-overview-locked {
  cursor: default;
}
.gpk-map.gpk-overview-locked .leaflet-marker-icon,
.gpk-map.gpk-overview-locked .gpk-cluster-icon {
  cursor: pointer;
}
