.dvh-hk-wrap{
  --dvh-hk-green: #33502D;
  --dvh-hk-green-soft: #4C7A34;
  --dvh-hk-gold: #C9973B;
  --dvh-hk-ink: #2B2B2B;
  --dvh-hk-ink-soft: #6B6B6B;
  --dvh-hk-line: #E2E2DD;

  font-family:'Open Sans', sans-serif;
  color:var(--dvh-hk-ink);
}
.dvh-hk-wrap *{box-sizing:border-box;}

.dvh-hk-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:12px;
}
.dvh-hk-locate-group{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.dvh-hk-locate{
  font-family:'Open Sans', sans-serif;
  font-size:13px;
  font-weight:600;
  letter-spacing:0.02em;
  background:var(--dvh-hk-green);
  color:#ffffff;
  border:none;
  padding:10px 16px;
  border-radius:8px;
  cursor:pointer;
  transition:background .15s ease, opacity .15s ease;
  align-self:flex-start;
}
.dvh-hk-locate:hover{background:var(--dvh-hk-green-soft);}
.dvh-hk-locate:disabled{opacity:0.6; cursor:default;}

.dvh-hk-locate-hint{
  font-size:11px;
  color:var(--dvh-hk-ink-soft);
  max-width:320px;
  line-height:1.4;
}

.dvh-hk-count{
  font-size:12.5px;
  color:var(--dvh-hk-ink-soft);
}

.dvh-hk-map{
  width:100%;
  border-radius:12px;
  border:1px solid var(--dvh-hk-line);
  overflow:hidden;
  z-index:0;
}

.dvh-hk-empty{
  margin-top:12px;
  font-size:13.5px;
  color:var(--dvh-hk-ink-soft);
}

/* ---------- Custom pin marker ---------- */
.dvh-hk-pin{
  position:relative;
}
.dvh-hk-pin span{
  position:absolute;
  top:0; left:0;
  width:24px;
  height:24px;
  background:var(--dvh-hk-green);
  border:2px solid #ffffff;
  border-radius:50% 50% 50% 0;
  transform:rotate(-45deg);
  box-shadow:0 2px 5px rgba(43,35,24,0.35);
}
.dvh-hk-pin span::after{
  content:"";
  position:absolute;
  top:50%; left:50%;
  width:8px; height:8px;
  background:var(--dvh-hk-gold);
  border-radius:50%;
  transform:translate(-50%,-50%) rotate(45deg);
}

/* ---------- Popup ---------- */
.leaflet-popup-content-wrapper{
  border-radius:10px;
  font-family:'Open Sans', sans-serif;
}
.dvh-hk-popup{
  min-width:160px;
}
.dvh-hk-popup strong{
  font-family:'Merriweather', serif;
  font-size:15px;
  color:var(--dvh-hk-ink);
  display:block;
  margin-bottom:4px;
}
.dvh-hk-popup p{
  margin:0 0 8px;
  font-size:13px;
  color:var(--dvh-hk-ink-soft);
  line-height:1.4;
}
.dvh-hk-link{
  font-size:12.5px;
  font-weight:600;
  color:var(--dvh-hk-green-soft);
  text-decoration:none;
}
.dvh-hk-link:hover{text-decoration:underline;}

@media(max-width:640px){
  .dvh-hk-toolbar{justify-content:flex-start;}
}
