@charset "UTF-8";
/*
	jibun-map-panel.css — 관련지번 지적편집도 패널([큰지도보기] 팝업) 공용 스타일.

	마크업은 fragments/popup/jibun_map_panel.html, 동작은 common/js/jibun-map-panel.js 에 있다.
	쓰는 팝업이 셋이라(.grpJibunPop = 매물상세 관련지번 지도보기, .modal42 = 계약서 관련지번 등록,
	.modal6 = 매물등록/수정 관련지번 등록) 패널 안쪽은 모두 클래스로만 잡고,
	팝업 바깥 틀(높이 계산)만 팝업별로 따로 둔다.

	※ 이 파일을 읽는 화면은 style.css 뒤에 링크해야 한다 (전체화면 팝업 높이 규칙을 덮어쓴다).
*/

/* ───────── 지도 ───────── */

/* 높이는 팝업 규칙(.kakaoMap > div)이 잡아 주므로 그 안을 그대로 채운다 */
.jibunMapBox { position: relative; }
.jibunOlMap { position: absolute; left: 0; top: 0; right: 0; bottom: 0; background: #f2f2f2; }

/* 지도 로고가 없는 화면이라 출처를 남긴다 */
.jibunOlMap .landOlCredit {
	position: absolute; left: 8px; bottom: 6px; z-index: 1;
	padding: 1px 5px; border-radius: 3px;
	background: rgba(255, 255, 255, .75);
	font-size: 11px; color: #555; pointer-events: none;
}

/*
	지도 위 필지 오버레이(순번 + 면적) — 초기화면 [토지 정보] 와 같은 모양
	(land-select.css 의 .landSelectOverlay 규칙을 옮겨 왔다. 그 파일 전체를 들이면
	 body.landSelectMode 등 초기화면 전용 레이아웃 규칙까지 딸려 온다).
	transform 으로 좌표 위 중앙에 놓는다 — OpenLayers 는 요소의 좌상단을 좌표에 맞추기 때문.
*/
.jibunOlMap .landSelectOverlay {
	display: inline-flex; align-items: center; gap: 4px;
	padding: 2px 6px;
	background: rgba(255, 255, 255, .9);
	border: 1px solid #070EBB; border-radius: 10px;
	font-size: 11px; color: #222; white-space: nowrap;
	transform: translate(-50%, -50%);
}
.jibunOlMap .landSelectOverlay .lsoNum {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 15px; height: 15px; padding: 0 3px;
	background: #070EBB; color: #fff; border-radius: 8px; font-size: 10px;
}

/* ───────── 지도 위 버튼 ───────── */

/*
	지도타입 버튼 줄 (지도 / 스카이뷰 / 지적편집도).
	카카오 지도의 지도타입 컨트롤이 있던 자리대로 지도 좌측 상단에 띄운다.
*/
.jibunMapBox .jibunMapTypeBtn {
	position: absolute; left: 10px; top: 10px; z-index: 100;
	display: flex; gap: 4px;
}
/*
	표시 옵션 버튼 줄 (지적구분 / 면적 / 번호 / 용도지역 / 범례).
	지도 박스 안에 두고 그 바닥 기준으로 가운데 정렬한다 — 초기화면 .landHideBtn 과 같은 방식.
*/
.jibunMapBox .jibunHideBtn {
	position: absolute; left: 50%; bottom: 20px; transform: translateX(-50%); z-index: 100;
	display: flex; flex-wrap: wrap; justify-content: center; gap: 6px; max-width: 94%;
}
/*
	버튼 모양·크기를 초기화면 .lhBtn 과 똑같이 맞춘다.
	공용 .btn 은 height:40px / font-size:14px / padding:0 20px / margin:0 3px 이라
	다섯 개를 더하면 좁은 화면에서 두 줄로 접힌다. line-height 도 같이 줄여야 글자가 가운데 온다.
*/
.jibunMapBox .jibunMapTypeBtn > button.btn,
.jibunMapBox .jibunTopBtn > button.btn,
.jibunMapBox .jibunHideBtn > button.btn {
	min-width: 0; margin: 0;
	height: 30px; line-height: 28px; padding: 0 12px;
	background: #fff; border: 1px solid #919191; border-radius: 5px;
	font-size: 12px; color: #333;
	box-shadow: 0 1px 3px rgba(0, 0, 0, .15);
	white-space: nowrap;
}
.jibunMapBox .jibunMapTypeBtn > button.btn:hover,
.jibunMapBox .jibunTopBtn > button.btn:hover,
.jibunMapBox .jibunHideBtn > button.btn:hover { background: #f5f5f5; }
/* 고른 지도타입 / 숨김 적용 중 — 초기화면 .lhBtn.off 와 같은 색 */
.jibunMapBox .jibunMapTypeBtn > button.btn.on,
.jibunMapBox .jibunHideBtn > button.btn.off { background: #425470; border-color: #425470; color: #fff; }

/*
	지도 우상단 컨트롤 ([지역 검색] · [영역 선택]) — 초기화면 .land_topcontrol 과 같은 자리.
	버튼 모양은 위 지도타입 줄과 같은 규칙을 따르고(아래 선택자에 함께 묶었다), 아이콘만 앞에 붙인다.
*/
.jibunMapBox .jibunTopBtn {
	position: absolute; right: 10px; top: 10px; z-index: 100;
	display: flex; gap: 6px;
}
.jibunMapBox .jibunTopBtn > button.btn { display: inline-flex; align-items: center; gap: 3px; }
.jibunMapBox .jibunTopBtn .jbtIcon { font-size: 16px; line-height: 1; }
/* 그리는 중 — 지도타입의 고른 버튼(.on)과 같은 색으로 "지금 이 모드" 임을 알린다 */
.jibunMapBox .jibunTopBtn > button.btn.on { background: #425470; border-color: #425470; color: #fff; }
.jibunMapBox .jibunTopBtn > button.btn.on:hover { background: #4d5f7d; }

/* 영역을 그리는 중임을 알리는 안내 — 지도타입 줄 바로 아래, 가운데 */
.jibunMapBox .jibunDrawGuide {
	display: none; position: absolute; left: 50%; top: 50px; transform: translateX(-50%); z-index: 100;
	max-width: 90%; padding: 6px 12px; border-radius: 4px;
	background: rgba(66, 84, 112, .92); color: #fff; font-size: 12px; white-space: nowrap;
}
.jibunMapBox .jibunDrawGuide.on { display: block; }

/*
	지역 검색 판 ([지역 검색] 버튼 바로 아래).
	팝업 안이라 전체화면 덮개를 쓰지 않고 범례(.jibunLegendPop)와 같은 모양의 작은 판으로 띄운다.
*/
.jibunMapBox .jibunAreaPop {
	display: none; position: absolute; right: 10px; top: 46px; z-index: 102;
	width: 260px; max-width: 92%;
	background: #fff; border: 1px solid #919191; border-radius: 5px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .2);
}
.jibunMapBox .jibunAreaPop.on { display: block; }
.jibunMapBox .jibunAreaPop .jaHead {
	position: relative; padding: 8px 30px 8px 12px;
	border-bottom: 1px solid #e0e0e0; background: #f7f7f7;
	font-size: 12px; font-weight: 600; color: #333;
}
.jibunMapBox .jibunAreaPop .jaHead .jaClose {
	position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
	width: 22px; height: 22px; padding: 0;
	background: none; border: 0; font-size: 12px; color: #666; cursor: pointer;
}
.jibunMapBox .jibunAreaPop .jaBody { padding: 10px 12px; }
.jibunMapBox .jibunAreaPop .jaRow { display: flex; align-items: center; margin-bottom: 6px; }
.jibunMapBox .jibunAreaPop .jaRow > span { flex: none; width: 58px; font-size: 12px; color: #555; }
/* 공용 select/input 규칙(height 40px)이 판을 세로로 늘리므로 여기서 다시 잡는다 */
.jibunMapBox .jibunAreaPop .jaRow > select,
.jibunMapBox .jibunAreaPop .jaRow > input {
	flex: 1; min-width: 0; width: auto; height: 30px; margin: 0; padding: 0 6px;
	border: 1px solid #ccc; border-radius: 3px; font-size: 12px; color: #333; background-color: #fff;
}
.jibunMapBox .jibunAreaPop .jaGuide { margin: 8px 0 0; font-size: 11px; color: #888; line-height: 1.5; word-break: keep-all; }
.jibunMapBox .jibunAreaPop .jaFoot {
	display: flex; gap: 6px; justify-content: flex-end;
	padding: 0 12px 10px;
}
.jibunMapBox .jibunAreaPop .jaFoot > button.btn {
	min-width: 0; margin: 0; height: 30px; line-height: 28px; padding: 0 14px; font-size: 12px;
}

/*
	용도지역 범례. 지도 우하단에 띄우고, 세로가 길어(도시지역만 700px) 안에서 스크롤한다.
	높이를 지도 박스 기준으로 잡는다 — vh 로 잡으면 팝업이 짧을 때 위로 삐져나온다.
*/
.jibunMapBox .jibunLegendPop {
	display: none; position: absolute; right: 12px; bottom: 70px; z-index: 101;
	width: 190px; max-height: calc(100% - 140px);
	background: #fff; border: 1px solid #919191; border-radius: 5px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .2);
	flex-direction: column; overflow: hidden;
}
.jibunMapBox .jibunLegendPop.on { display: flex; }
.jibunMapBox .jibunLegendPop .jlHead {
	flex: none; position: relative; padding: 8px 30px 8px 12px;
	border-bottom: 1px solid #e0e0e0; background: #f7f7f7;
	font-size: 12px; font-weight: 600; color: #333;
}
.jibunMapBox .jibunLegendPop .jlClose {
	position: absolute; right: 6px; top: 50%; transform: translateY(-50%);
	width: 22px; height: 22px; padding: 0;
	background: none; border: 0; font-size: 12px; color: #666; cursor: pointer;
}
.jibunMapBox .jibunLegendPop .jlBody { flex: 1; overflow-y: auto; padding: 8px 10px 12px; }
.jibunMapBox .jibunLegendPop .jlGroup + .jlGroup { margin-top: 10px; border-top: 1px solid #eee; padding-top: 10px; }
.jibunMapBox .jibunLegendPop .jlName { margin-bottom: 4px; font-size: 12px; font-weight: 600; color: #425470; }
.jibunMapBox .jibunLegendPop .jlBody img { display: block; max-width: 100%; }

/* ───────── 목록 ───────── */

/*
	목록 머리 둘째 줄 [지목 해제] [복사] [다운로드].
	[해제] 는 해당 지목이 섞였을 때만 나오므로 오른쪽 정렬을 기본으로 두고,
	그 버튼이 나올 때는 남는 폭을 그쪽이 가져가며 자연히 양끝으로 갈린다.
*/
.jibun_pop .jibunIn_list_hd .jmpListBtnRow {
	display: flex; align-items: center; justify-content: flex-end; gap: 3px;
	margin: 2px 0 4px;
}
.jibun_pop .jibunIn_list_hd .jmpExportBtn {
	flex: 0 0 auto; min-width: 0; margin: 0; height: 26px; padding: 0 6px;
	display: inline-flex; align-items: center; gap: 2px;
	font-size: 11px; line-height: 24px;
}
.jibun_pop .jibunIn_list_hd .jmpExportBtn .material-symbols-outlined { font-size: 15px; line-height: 1; }
.jibun_pop .jibunIn_list_hd .jmpExportBtn:disabled { opacity: .4; cursor: default; }

/* [도로·구거·하천·제방 해제] — 섞여 있을 때만 나온다 (초기화면 .lspExcludeBtn 과 같은 모양) */
.jibun_pop .jibunIn_list_hd .jmpExcludeBtn { display: none; }
.jibun_pop .jibunIn_list_hd .jmpExcludeBtn.on {
	display: block; flex: 1 1 auto; min-width: 0;
	height: 26px; padding: 0 6px;
	background: #fff; border: 1px solid #c0392b; border-radius: 4px;
	font-size: 11px; color: #c0392b; cursor: pointer;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.jibun_pop .jibunIn_list_hd .jmpExcludeBtn.on:hover { background: #fdf2f0; }

/* 면적이 없는 목록(주소만)에서는 합계와 면적 단위 전환을 감춘다 */
.jibun_pop .jibunIn_list_hd .jibunIn_list_hdIn.noShow,
.jibun_pop .jibunIn_list_hd .unitChange.noShow { display: none; }

/* 주소만 받은 필지가 합계에서 빠졌다는 안내 (해당될 때만 .on) */
.jibun_pop .jibunIn_list_hd .jmpNote { display: none; margin: 6px 0 0; font-size: 11px; color: #c0392b; line-height: 1.3; }
.jibun_pop .jibunIn_list_hd .jmpNote.on { display: block; }

/* 줄 오른쪽 위에 [선택 해제] X / [대표] 꼬리표가 겹치므로 그 자리를 비워 둔다 */
.jibunMapPop .jibun_list_box .jblb_divIn1,
.jibunMapPop .jibun_list_box .jblb_divIn2 { padding-right: 26px; }
.jibunMapPop .jibun_list_box .jblb_divIn2 { word-break: keep-all; }
.jibunMapPop .jibun_list_box .landSelectEmpty { padding: 30px 20px; color: #999; text-align: center; line-height: 1.5; }

/* 뺄 수 없는 지번(대표지번) — X 대신 꼬리표를 달고 줄 색을 살짝 구분한다 */
.jibunMapPop .jibun_list_box .jblb_div.jblbLocked { background: #f5f8ff; }
.jibunMapPop .jibun_list_box .lsiLock {
	position: absolute; right: 6px; top: 6px;
	padding: 0 5px; height: 17px; line-height: 17px;
	background: #425470; border-radius: 9px;
	font-size: 10px; color: #fff;
}

/* ───────── 좌측 목록 접기 손잡이 (PC) ───────── */

/* 모바일에는 [목록보기/지도보기] 버튼이 따로 있으므로 손잡이는 데스크탑에서만 보인다 */
.jibunMapPop .jbFold { display: none; }

@media all and (min-width: 1001px) {
	/*
		목록 칸 — 머리(필지수·합계)는 그대로 두고 목록 상자가 남는 높이를 채운다.
		폭은 초기화면 [토지 정보] 패널과 같은 300px 고정 (land-select.css 의 .landSelectSide).
		목록에는 읍·면·동 이하 주소만 나오므로 이 폭이면 충분하고, 남는 자리는 지도가 쓴다.
		(flex:1 = 1 1 0% 로는 폭 변화를 전이할 수 없어 basis 를 접어 슬라이드한다)
	*/
	.jibunMapPop .jibunIn_list {
		display: flex; flex-direction: column;
		position: relative;
		flex: 0 0 300px;
		box-sizing: border-box;	/* 좌우 padding 을 300px 안에 넣는다 */
		transition: flex-basis .25s ease, padding .25s ease;
	}
	.jibunMapPop .jibunIn_list > .jibun_list_box { flex: 1 1 auto; height: auto; min-height: 0; padding-bottom: 0; overflow-y: auto; }

	/* 지도 칸 — 지도가 칸 전체를 채운다 (높이를 %로 물려받는 대신 flex 로 늘린다) */
	.jibunMapPop .jibunIn_map { display: flex; flex-direction: column; }
	.jibunMapPop .jibunIn_map .kakaoMap { display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0; }
	.jibunMapPop .jibunIn_map .kakaoMap > .jibunMapBox { flex: 1 1 auto; height: auto; min-height: 0; }

	.jibunMapPop .jbFold {
		display: flex;
		position: absolute; right: -11px; top: 50%; transform: translateY(-50%);
		width: 20px; padding: 12px 0;
		flex-direction: column; align-items: center; gap: 3px;
		background: #fff;
		border: 1px solid #dcdcdc; border-left: 0; border-radius: 0 6px 6px 0;
		box-shadow: 2px 0 4px rgba(0, 0, 0, .08);
		color: #555; cursor: pointer; z-index: 3;
		-webkit-user-select: none; -moz-user-select: none; user-select: none;	/* 연타해도 글자가 선택되지 않게 */
	}
	.jibunMapPop .jbFold:hover { background: #f5f5f5; color: #222; }
	.jibunMapPop .jbFoldIcon { font-size: 16px; line-height: 1; }
	.jibunMapPop .jbFoldTxt { writing-mode: vertical-rl; font-size: 11px; letter-spacing: 1px; }

	/* 접힌 상태 — 목록은 경계선만 남기고 지도가 그 자리까지 넓어진다 (손잡이는 남겨야 다시 펼친다) */
	.jibunMapPop.jbFoldMode .jibunIn_list { flex-basis: 0; padding: 0; }
	.jibunMapPop.jbFoldMode .jibunIn_list > *:not(.jbFold) { display: none; }
}

/* ───────── 팝업별 틀 ───────── */

/*
	[관련지번 지도보기] 팝업 (매물상세) — 제목줄 아래를 목록·지도가 나눠 쓴다.
	목록 80vh · 지도 86vh 로 따로 잡으면 아래끝이 어긋나 빈 자리가 크게 남는다.
	※ 아래 여백은 .tab_contents 의 padding 이 인라인 style 로 박혀 있어 덮을 수 없으므로
	  .jibun_pop 높이에서 덜어 낸다.
*/
@media all and (min-width: 1001px) {
	.grpJibunPop .layerPopup.view_map .tab_contents { box-sizing: border-box; height: calc(100% - 54px); }
	.grpJibunPop .jibun_pop { height: calc(100% - 12px); align-items: stretch; }
}

/*
	[관련지번 등록] 팝업 (계약서 modal42 · 매물등록/수정 modal6) — 큰지도보기와 같은 전체화면.
	제목줄 / 탭메뉴 / 하단 버튼줄을 뺀 나머지를 탭 내용이 채우고, [지도입력] 탭은 그 안을 지도가 채운다.
*/
.modal42 .layerPopup.view_map,
.modal6 .layerPopup.view_map { display: flex; flex-direction: column; }
.modal42 .layerPopup.view_map > .layerPopup_h,
.modal42 .layerPopup.view_map > .layerPopup_b,
.modal6 .layerPopup.view_map > .layerPopup_h,
.modal6 .layerPopup.view_map > .layerPopup_b { flex: 0 0 auto; }
.modal42 .layerPopup.view_map > .layerPopup_c,
.modal6 .layerPopup.view_map > .layerPopup_c { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.modal42 .layerPopup.view_map .tab_sec01,
.modal6 .layerPopup.view_map .tab_sec01 { flex: 1 1 auto; min-height: 0; display: flex; flex-direction: column; }
.modal42 .layerPopup.view_map .tab_sec01 > .tabmenu_wrap,
.modal6 .layerPopup.view_map .tab_sec01 > .tabmenu_wrap { flex: 0 0 auto; }
/* 직접입력 탭 — 표가 길어 탭 안에서 스크롤한다 */
.modal42 .layerPopup.view_map .tab_sec01[data-tab="relevance_tab01"] .tab_contents[data-tab="relevance_tab01"],
.modal6 .layerPopup.view_map .tab_sec01[data-tab="relevance_tab01"] .tab_contents[data-tab="relevance_tab01"] {
	flex: 1 1 auto; min-height: 0; overflow-y: auto;
}
/* 지도입력 탭 — 남는 자리를 패널이 채운다 */
.modal42 .layerPopup.view_map .tab_sec01[data-tab="relevance_tab02"] .tab_contents[data-tab="relevance_tab02"],
.modal6 .layerPopup.view_map .tab_sec01[data-tab="relevance_tab02"] .tab_contents[data-tab="relevance_tab02"] {
	display: flex; flex-direction: column; flex: 1 1 auto; min-height: 0;
}
.modal42 .layerPopup.view_map .jibun_pop,
.modal6 .layerPopup.view_map .jibun_pop { flex: 1 1 auto; min-height: 0; align-items: stretch; }

/* ───────── 모바일 ───────── */

@media all and (max-width: 1000px) {
	.jibunMapBox .jibunHideBtn { bottom: 14px; }
	.jibunMapBox .jibunHideBtn > button.btn { height: 28px; line-height: 26px; padding: 0 6px; font-size: 11px; }
	.jibunMapBox .jibunMapTypeBtn { left: 8px; top: 8px; }
	.jibunMapBox .jibunMapTypeBtn > button.btn { height: 28px; line-height: 26px; padding: 0 6px; font-size: 11px; }
	.jibunMapBox .jibunLegendPop { right: 8px; bottom: 52px; width: 170px; max-height: calc(100% - 95px); }
	/* 우상단 [지역 검색]·[영역 선택] 도 지도타입 줄과 같은 크기로 줄인다 (둘이 한 줄에 들어와야 한다) */
	.jibunMapBox .jibunTopBtn { right: 8px; top: 8px; gap: 4px; }
	.jibunMapBox .jibunTopBtn > button.btn { height: 28px; line-height: 26px; padding: 0 6px; font-size: 11px; }
	/* 아주 좁은 화면(320px 등)에서는 아이콘을 빼야 지도타입 줄과 한 줄에 나란히 들어간다 */
	@media all and (max-width: 400px) {
		.jibunMapBox .jibunTopBtn .jbtIcon { display: none; }
	}
	.jibunMapBox .jibunDrawGuide { top: 44px; font-size: 11px; padding: 5px 10px; white-space: normal; }
	.jibunAreaPop { top: 42px; right: 8px; width: 240px; }

	.modal42 .layerPopup.view_map,
	.modal6 .layerPopup.view_map {
		height: 97dvh; max-height: 97dvh; width: 96%; max-width: 96%; border-radius: 10px; overflow: hidden;
	}

	/*
		지도 높이는 "팝업에서 고정 요소를 뺀 나머지" 다.

		50dvh 처럼 화면 비율로만 잡으면 위아래 고정 요소(제목줄·탭·주소검색·목록머리·[목록보기]·
		[관련지번 등록])는 화면이 짧아져도 그대로라, 세로가 좁은 기기에서 아래 두 버튼이 겹친다
		(실측: 704px 높이에서 [목록보기] 645~679 · [관련지번 등록] 639~673).
		그래서 그 고정 몫(아래 상수)을 먼저 떼어 두고 남는 자리를 지도가 쓴다.
		 · 상수는 실측값이다. 요소를 더하거나 빼면 이 값도 함께 손봐야 한다.
		 · 화면이 아주 짧아 min-height 로도 모자라면 .layerPopup_c 가 스크롤한다(아래 규칙).
		 · 세로가 넉넉해도 지도가 화면을 다 먹지 않게 상한(50dvh)을 남긴다.
	*/
	.layerPopup_wrap.modal42 .view_map .kakaoMap > div,
	.layerPopup_wrap.modal6 .view_map .kakaoMap > div {
		height: calc(97dvh - 368px);	/* 368 = 제목 60 + 탭 45 + 주소검색 45 + 목록머리 115 + 버튼 두 줄 95 + 여유 8 */
		min-height: 150px; max-height: 50dvh;
	}
	/* 큰지도보기(그룹매물)는 주소검색 상자도 [관련지번 등록] 버튼도 없어 고정 몫이 그만큼 적다 */
	.layerPopup_wrap.grpJibunPop .view_map .kakaoMap > div {
		height: calc(92dvh - 248px);	/* 248 = 제목 60 + 목록머리 115 + [목록보기] 줄 65 + 여유 8 */
		min-height: 150px; max-height: 62dvh;	/* 상한을 낮게 잡으면 세로가 긴 기기에서 아래가 허전하다 */
	}

	/* 그래도 모자라면 팝업 본문이 스크롤한다 — 버튼이 서로 겹치거나 화면 밖으로 나가는 것보다 낫다 */
	.jibunMapPop .layerPopup.view_map > .layerPopup_c { min-height: 0; overflow-y: auto; }
	/* 좁은 화면에서 여백이 자리를 크게 먹는다 (기본 20px 상하) */
	.jibunMapPop .layerPopup.view_map > .layerPopup_b { margin: 10px 0; }

	/*
		지도 위 · 목록 아래 · 전환 버튼 맨 아래의 단순 세로배치.

		sub_responsive.css 의 .mo_modal6 규칙은 프래그먼트 이전 마크업(목록을 화면 밖에 두고
		bottom 오프셋으로 끌어올리던 구조)에 맞춘 것이라, 전체화면(.view_map)을 쓰는 지금 팝업에서는
		  · style.css 의 `.view_map .jibun_list_box{height:80vh}` 가 목록 접기(`height:0dvh`)를
		    특이도로 이겨 목록이 늘 펼쳐진 채 z-index:200 으로 지도를 통째로 덮고
		    (지도·[지역 검색]·[영역 선택]·지도타입 버튼이 모두 가려진다),
		  · [목록보기/지도보기] 버튼이 bottom:-130px 자리에서 화면 밖으로 밀려 되돌아갈 길이 없어진다.
		그래서 이 패널을 쓰는 팝업(.jibunMapPop = modal6 · modal41 · modal42)은 여기서 다시 잡는다.
		그룹매물 팝업(.grpJibunPop)에만 넣어 두었던 수정을 네 팝업 모두로 넓힌 것이다.

		접고 펴기는 팝업 래퍼의 .list-mode 로 한다 (jibun-map-panel.js setListMode).
		높이에 !important 를 쓰지 않으려고 선택자를 한 단계 깊게 잡았다 (.jibunIn_list > .jibun_list_box).
	*/
	.jibunMapPop .jibun_pop { display: flex; flex-direction: column; }

	/* 지도 — 목록모드에서는 감춘다 (좁은 화면에 둘을 같이 두면 어느 쪽도 쓸 수 없다) */
	.jibunMapPop .jibunIn_map { order: 1; width: 100%; position: relative; padding: 0; }
	.jibunMapPop.list-mode .jibunIn_map { display: none; }

	/* 목록 — 지도 아래 제자리로 되돌린다 (절대배치 오버레이 해제) */
	.jibunMapPop .jibunIn_list {
		order: 2; width: 100%;
		position: static; left: auto; bottom: auto; z-index: auto;
	}
	.jibunMapPop .jibunIn_list > .jibun_list_box { height: 0; padding-bottom: 0; overflow: hidden; transition: none; }
	/*
		목록모드에서 목록이 쓸 높이도 지도와 같은 방식으로 잡는다 (위 지도 높이 주석 참고).
		50dvh 처럼 화면 비율로만 잡으면 세로가 짧은 기기에서 목록이 아래 버튼 위로 넘쳐
		[지도보기] 와 [관련지번 등록] 이 겹친다 (실측: 640px 높이에서 29px 초과).
		팝업에서 고정 몫(제목·탭·목록머리·[지도보기]·[관련지번 등록])을 떼고 남는 자리를 목록이 쓴다.
		목록모드에서는 지도가 숨겨져 주소검색 상자도 함께 사라지므로 지도모드보다 고정 몫이 작다.
	*/
	.jibunMapPop.list-mode .jibunIn_list > .jibun_list_box {
		height: auto; overflow-y: auto;
		max-height: calc(97dvh - 339px);	/* 339 = 제목 48 + 탭 45 + 목록머리 115 + [지도보기] 줄 42 + 등록 줄 54 + 여유 35 */
		min-height: 100px;
	}
	/* 큰지도보기(그룹매물)는 탭도 [관련지번 등록] 버튼도 없어 고정 몫이 그만큼 적다 */
	.grpJibunPop.list-mode .jibunIn_list > .jibun_list_box { max-height: calc(92dvh - 232px); }

	/* [목록보기 / 지도보기] — 화면 밖으로 밀어내지 말고 목록 아래 흐름에 둔다 */
	.jibunMapPop .jblist_btn_div {
		order: 3; position: static; transform: none; left: auto; bottom: auto;
		width: 100%; text-align: center; margin: 6px 0 2px;
	}
}
