/* 말풍선 컨테이너 */
.nm-popup {
  position: relative;
  transform: translate(-50%, -74px); /* 마커 머리 위로 살짝 띄우기 */
  background: #fff;
  border-radius: 10px;
  box-shadow: 0 6px 18px rgba(0,0,0,.18);
  min-width: 160px;
  max-width: 160px;
  padding: 12px 14px 10px;
  font-size: 13px;
  text-align:center;
  color: #222;
  z-index:10000;
}

/* 아래 삼각형 꼬리 */
.nm-popup::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -8px;
  transform: translateX(-50%);
  border-width: 8px 8px 0 8px;
  border-style: solid;
  border-color: #fff transparent transparent transparent;
  filter: drop-shadow(0 -1px 1px rgba(0,0,0,.08));
  z-index:10000;
}

/* 제목/부제/닫기버튼 */
.nm-popup__title { font-weight: 700; font-size: 14px; margin-bottom: 6px; }
.nm-popup__meta  { color:#666; line-height:1.4; }
.nm-popup__close {
  position:absolute; top:6px; right:6px;
  width:24px; height:24px; border-radius:12px;
  display:flex; align-items:center; justify-content:center;
  background:transparent; border:0; cursor:pointer;
}
.nm-popup__close:hover { background:#f2f3f5; }


/* 라벨 스타일 */
.nm-pin-wrap{ position:relative; transform: translate(-12px, -32px); }
.nm-pin-label{
  position:absolute; bottom:28px; left:50%; transform:translateX(-50%);
  padding:2px 6px; border-radius:4px; font-size:12px; white-space:nowrap;
  background:rgba(0,0,0,.75); color:#fff; pointer-events:none;
}
/* (선택) 점 표시용 도트 */
.nm-pin-dot{
  width:10px; height:10px; border-radius:5px;
  background:#2f77ff; border:2px solid #fff; box-shadow:0 0 0 1px rgba(0,0,0,.2);
}

.cluster-badge{
  min-width: 36px; height: 36px; border-radius: 18px;
  display:flex; align-items:center; justify-content:center;
  background:#2f77ff; color:#fff; font-weight:700;
  box-shadow:0 2px 6px rgba(0,0,0,.25);
}
.nm-label{
  position: relative;
  transform: translate(-50%, -36px); /* 마커 머리 위로 */
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 12px; white-space: nowrap;
  background: rgba(0,0,0,.75); color: #fff;
  pointer-events: none;
}

.placeItem { position: relative; } 
.placeItem .modalOpen {
  position: absolute; top: 8px; right: 8px;
  z-index: 2;
}
.btn.place { position: relative; z-index: 1; }