.suikerhof-map-card{
  --sh-blue:#91d6e3;
  --sh-green:#17381d;
  --sh-text:#203421;
  --sh-yellow:#f1c847;
  --sh-red:#E63328;
  background:var(--sh-blue);
  border-radius:42px;
  overflow:hidden;
  width:100%;
  box-sizing:border-box;
}
.suikerhof-map{
  height:var(--sh-map-height,390px);
  min-height:260px;
  width:100%;
  overflow:hidden;
  border-radius:42px 42px 30px 30px;
  background:#f5f5f0;
}
.suikerhof-map .leaflet-container,
.suikerhof-map.leaflet-container{font-family:inherit;}
.suikerhof-map .leaflet-control-zoom a{
  color:var(--sh-text);
  border:0!important;
  box-shadow:0 3px 12px rgba(0,0,0,.12);
}
.suikerhof-leaflet-icon{background:transparent;border:0;}
.suikerhof-pin{
  position:absolute;
  left:5px;
  top:2px;
  width:24px;
  height:24px;
  display:block;
  background:var(--sh-yellow);
  border:3px solid #fff;
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  box-shadow:0 7px 16px rgba(20,40,20,.24);
}
.suikerhof-leaflet-icon.is-suikerhof .suikerhof-pin,
.suikerhof-google-icon.is-suikerhof .suikerhof-pin{
  background:var(--sh-red);
}
.suikerhof-pin span{
  position:absolute;
  left:50%;
  top:50%;
  width:7px;
  height:7px;
  transform:translate(-50%,-50%);
  border-radius:999px;
  background:var(--sh-green);
}
.suikerhof-leaflet-icon.is-active .suikerhof-pin,
.suikerhof-google-icon.is-active .suikerhof-pin{
  transform:rotate(-45deg) scale(1.12);
  box-shadow:0 9px 20px rgba(20,40,20,.32);
}
.suikerhof-map .leaflet-popup-content-wrapper{
  border-radius:14px;
  box-shadow:0 7px 25px rgba(0,0,0,.15);
}
.suikerhof-map .leaflet-popup-content{
  margin:13px 18px;
  color:var(--sh-text);
  font-size:16px;
}
.suikerhof-map-panel{
  padding:42px 56px 50px;
}
.suikerhof-map-heading{
  margin:0 0 20px;
  color:#fff;
  font-size:24px;
  line-height:1.2;
  letter-spacing:.04em;
  text-transform:uppercase;
  font-weight:400;
}
.suikerhof-map-labels{
  display:flex;
  flex-wrap:wrap;
  gap:10px 12px;
}
.suikerhof-map-label{
  appearance:none;
  border:0;
  border-radius:999px;
  background:#fff;
  color:var(--sh-text);
  font:inherit;
  font-size:16px;
  line-height:1.1;
  padding:10px 15px 11px;
  cursor:pointer;
  box-shadow:none;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.suikerhof-map-label.is-suikerhof{
  background:var(--sh-red);
  color:#fff;
}
.suikerhof-map-label.is-suikerhof:hover,
.suikerhof-map-label.is-suikerhof:focus,
.suikerhof-map-label.is-suikerhof.active{
  background:var(--sh-red);
  color:#fff;
}
.suikerhof-map-label:hover,
.suikerhof-map-label:focus,
.suikerhof-map-label.active{
  outline:0;
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(23,56,29,.16);
  background:#fffced;
}
.suikerhof-map-empty{
  padding:24px;
  border:1px dashed currentColor;
}
.editor-styles-wrapper .suikerhof-map-card{margin:0;}
.editor-styles-wrapper .suikerhof-map-label{pointer-events:none;}
@media(max-width:800px){
  .suikerhof-map-card{border-radius:22px;}
  .suikerhof-map{
    height:230px !important;
    min-height:0;
    border-radius:22px 22px 16px 16px;
  }
  .suikerhof-map-panel{padding:14px 14px 16px !important;}
  .suikerhof-map-heading{
    font-size:14px !important;
    margin:0 0 8px !important;
    letter-spacing:.03em;
  }
  .suikerhof-map-labels{gap:6px;}
  .suikerhof-map-label{
    font-size:12px;
    line-height:1.15;
    padding:5px 9px 6px;
  }
}

/* Google Maps custom marker wrapper. The pin itself reuses .suikerhof-pin. */
.suikerhof-google-icon{
  position:relative;
  width:34px;
  height:42px;
}
.suikerhof-map[data-provider-active="google"] .gm-style-iw-c{
  border-radius:14px;
  color:var(--sh-text);
}

.suikerhof-map-error{
  min-height:260px;
  height:100%;
  padding:32px;
  box-sizing:border-box;
  display:flex;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:8px;
  text-align:center;
  background:#f5f6f4;
  color:var(--sh-text);
  font-size:15px;
  line-height:1.45;
}
.suikerhof-map-error strong{font-size:18px;}
.suikerhof-map .leaflet-control-attribution{
  font-size:9px;
  background:rgba(255,255,255,.82);
}
