/* 담당 D 보정: 지도(section.map) · 머무를 곳(section.stay) */

/* 지도 패널이 .map_box 안의 닫기 버튼·핀을 덮지 않도록 지도 캔버스를 별도 스태킹 컨텍스트로 */
.map .map_canvas { position: relative; z-index: 0; }
.map .map_canvas { background: #e9eef2; }
.map .map_close { z-index: 500; }

/* 실데이터 상품명은 길어서 라벨 폭 제한 */
.map .pin span { max-width: 260px; overflow: hidden; text-overflow: ellipsis; }

/* 피그마 핀 색상: 투어 = 그린, 숙소 = 오렌지 (퍼블은 블루/그린) */
.map .pin_tour .pin_dot { background: var(--green, #1d783b); }
.map .pin_stay .pin_dot { background: #ff7904; }

/* 오른쪽 끝 핀은 라벨을 왼쪽으로 */
.map .pin.is_flip button { flex-direction: row-reverse; }

/* 상세 패널: 실가격(7자리)이 들어가도 버튼·가격이 줄바꿈되지 않게 — 라벨은 가격 위 한 줄 */
.map .map_panel_body .map-popup-footer { gap: 8px; }
.map .map_panel_p { white-space: nowrap; line-height: 1.25; }
.map .map_panel_p span { display: block; margin: 0 0 2px; }
.map .map_panel_body .map-popup-footer .map_panel_link { flex: none; white-space: nowrap; }
.map .map_panel_desc { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.map .map_panel_desc:empty { display: none; }

/* 지역별 대표 숙소는 항상 5슬롯 — 퍼블의 ≤1340px 4열은 4+1로 한 장이 남으므로 1181~1340px 은 5열 유지 */
@media (min-width: 1181px) and (max-width: 1340px) {
  .stay .scards { grid-template-columns: repeat(5, 1fr); gap: 20px; }
}
