/* 카카오 지도 (docs/MAPS.md) — 지도가 있는 화면에서만 실린다.
   지도 칸은 화면 폭을 넘지 않는다(가로 스크롤 금지). 높이는 모바일 기준 45vh. */

.kmap { margin: var(--space-4) 0 var(--space-6); }
.kmap__canvas {
  width: 100%;
  max-width: 100%;
  height: 45vh;
  min-height: 260px;
  max-height: 520px;
  border: 1px solid var(--line);
  border-radius: var(--r-md, 12px);
  overflow: hidden;
  background: var(--bg-muted);
}
.kmap__hint { margin-top: var(--space-2); font-size: var(--fs-12); color: var(--text-muted); }

/* 마커 말풍선 — 단디몰 카드 모양. 지도 위에 뜨므로 그림자를 둔다. */
.kmap-card {
  position: relative;
  width: min(260px, 78vw);
  background: var(--bg-surface);
  border: 1px solid var(--line);
  border-radius: var(--r-md, 12px);
  box-shadow: var(--shadow-lg);
  overflow: hidden;
  font-size: var(--fs-14);
  color: var(--text-primary);
  white-space: normal;
}
.kmap-card::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -7px;
  width: 12px;
  height: 12px;
  margin-left: -6px;
  background: var(--bg-surface);
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  transform: rotate(45deg);
}
.kmap-card__img { display: block; width: 100%; height: 120px; object-fit: cover; background: var(--bg-muted); }
.kmap-card__body { display: grid; gap: var(--space-1); padding: var(--space-3); }
.kmap-card__name { font-size: var(--fs-15); }
.kmap-card__place { font-size: var(--fs-12); color: var(--text-secondary); }
.kmap-card__links { display: flex; gap: var(--space-2); margin-top: var(--space-2); flex-wrap: wrap; }
.kmap-card__close {
  position: absolute;
  top: 6px;
  right: 6px;
  z-index: 1;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .92);
  color: var(--text-primary);
  font-size: 20px;
  line-height: 1;
  cursor: pointer;
}
.kmap-card__close:focus-visible { outline: 2px solid var(--line-focus); outline-offset: 2px; }

/* 상점 홈 — 찾아오시는 길 */
.store-where__map {
  width: 100%;
  height: 200px;
  margin-bottom: var(--space-3);
  border: 1px solid var(--line);
  border-radius: var(--r-md, 12px);
  overflow: hidden;
  background: var(--bg-muted);
}
.store-where__text { color: var(--text-secondary); margin-bottom: var(--space-3); }

/* 핀 편집기 */
.geo-editor { display: grid; gap: var(--space-2); margin: var(--space-2) 0 var(--space-4); }
.geo-editor__actions { display: flex; gap: var(--space-2); flex-wrap: wrap; }
.geo-editor__status { min-height: 1.4em; font-size: var(--fs-13); color: var(--text-secondary); }
.geo-editor__status--warn { color: var(--status-warn); }
.geo-editor__map {
  width: 100%;
  height: 45vh;
  min-height: 240px;
  max-height: 420px;
  border: 1px solid var(--line);
  border-radius: var(--r-md, 12px);
  overflow: hidden;
  background: var(--bg-muted);
}
.geo-signboard { max-width: 280px; margin: 0 0 var(--space-3); }
.geo-signboard img { display: block; width: 100%; height: auto; border-radius: var(--r-sm, 8px); border: 1px solid var(--line); }

@media (min-width: 768px) {
  .kmap__canvas { height: 420px; }
}
