/* 지도 공통 (메인·개인 지도·단골장부) */
.map-wrap { position: relative; margin: 0 -16px 1.5rem; }
.map-canvas { width: 100%; height: 62vh; min-height: 360px; background: #e9e6e1; }
.map-canvas.small { height: 42vh; min-height: 280px; }
.map-empty { display: flex; align-items: center; justify-content: center; text-align: center; color: var(--muted); padding: 1rem; }
.map-legend { position: absolute; top: 10px; left: 26px; z-index: 2; background: rgba(255,255,255,.92); border-radius: 8px;
              padding: .35rem .6rem; font-size: .78rem; display: flex; gap: .7rem; box-shadow: 0 1px 4px rgba(0,0,0,.12); }
.map-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 50%; margin-right: .25rem; vertical-align: -1px; }
.map-status { position: absolute; top: 10px; right: 26px; z-index: 2; background: rgba(255,255,255,.92); border-radius: 8px;
              padding: .35rem .6rem; font-size: .78rem; box-shadow: 0 1px 4px rgba(0,0,0,.12); }
.place-card { position: absolute; left: 26px; right: 26px; bottom: 16px; z-index: 3; display: flex; gap: .8rem; padding: .8rem;
              background: #fff; border-radius: 12px; box-shadow: 0 4px 16px rgba(0,0,0,.18); color: inherit; text-decoration: none; }
.place-card img { width: 76px; height: 76px; object-fit: cover; border-radius: 8px; flex: 0 0 auto; background: #eee; }
.place-card .nm { font-weight: 700; }
.place-card .close { position: absolute; top: 6px; right: 8px; border: 0; background: none; font-size: 1.2rem; color: #999; cursor: pointer; }

/* hidden 속성이 display:flex 에 덮이지 않게 */
.place-card[hidden], .map-status[hidden] { display: none; }
.map-legend, .map-status, .place-card { z-index: 1000; }

/* Leaflet 핀·클러스터 */
.jb-pin { display: flex; align-items: center; justify-content: center; border-radius: 50%;
          background: #d6d0c7; border: 2px solid #fff; box-shadow: 0 1px 3px rgba(0,0,0,.3); }
.jb-pin.dark { background: #222; color: #fff; font: 700 12px/1 -apple-system, BlinkMacSystemFont, "Apple SD Gothic Neo", sans-serif; }
.jb-cluster { display: flex; align-items: center; justify-content: center; border-radius: 50%;
              background: rgba(34,34,34,.85); color: #fff; font: 700 13px/1 -apple-system, BlinkMacSystemFont, sans-serif;
              border: 3px solid rgba(255,255,255,.7); }

/* 범례가 Leaflet 확대/축소 버튼(좌상단)을 가리지 않게 오른쪽으로 비킨다 */
.map-legend { left: 70px; }
