/* 파일창 지도 공통 레이아웃과 provider 전환 버튼, 지도 타입 컨트롤의 기준 스타일입니다. */
html, body {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	font-family: "Malgun Gothic", "Apple SD Gothic Neo", sans-serif;
	background: #f5f7fb;
}

a,
a:hover,
a:focus,
a:active,
a:visited {
	text-decoration: none !important;
}

.wrap {
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
}

.head {
	padding: 10px 12px;
	border-bottom: 1px solid #e1e5ed;
	background: #fff;
	font-size: 13px;
	line-height: 1.5;
}

.head strong {
	font-size: 14px;
}

.head .meta {
	color: #4e5968;
	margin-top: 2px;
}

.head .err {
	margin-top: 6px;
	color: #c92a2a;
	font-weight: 700;
}

.map-area {
	flex: 1;
	min-height: 0;
	position: relative;
	display: flex;
	flex-direction: row;
}

/* 가로형: 좌 거리뷰 60% / 우 맵 40% */
.map-area.with-pano {
	flex-direction: row;
}
.map-area.with-pano #pano {
	display: flex;
	flex: none;
	width: 60%;
	height: 100%;
}
.map-area.with-pano #map {
	flex: 1;
	width: auto;
	height: 100%;
}

/* 리사이즈 핸들 */
.pano-resize-handle {
	display: none;
	position: relative;
	z-index: 50;
	flex-shrink: 0;
	background: transparent;
}
.map-area.with-pano .pano-resize-handle {
	display: block;
}

/* 가로형 핸들 (세로 바) */
.pano-resize-handle {
	width: 6px;
	cursor: col-resize;
}
.pano-resize-handle::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border-radius: 3px;
	background: rgba(100, 116, 139, 0.45);
	transition: background 0.15s;
}
.pano-resize-handle:hover::after,
.pano-resize-handle.dragging::after {
	background: rgba(59, 130, 246, 0.8);
}
/* 가로형 핸들 모양 */
.pano-resize-handle::after {
	width: 4px;
	height: 40px;
}

/* 세로형: 위 거리뷰 60% / 아래 맵 40% */
@media (max-aspect-ratio: 1/1) {
	.map-area.with-pano {
		flex-direction: column;
	}
	.map-area.with-pano #pano {
		flex: none;
		width: 100%;
		height: 60%;
	}
	.map-area.with-pano #map {
		flex: 1;
		width: 100%;
		height: auto;
	}
	/* 세로형 핸들 (가로 바) */
	.pano-resize-handle {
		width: 100%;
		height: 6px;
		cursor: row-resize;
	}
	.pano-resize-handle::after {
		width: 40px;
		height: 4px;
	}

	/* 세로형 + 파노라마 시 경매/공매/예정 버튼 숨김 */
	.map-area.with-pano #btnAuction,
	.map-area.with-pano #btnPublic,
	.map-area.with-pano #btnSchedule {
		display: none;
	}
}

.map-area.with-pano .map-provider-switch {
	display: none !important;
}

/* 리사이즈 드래그 중 선택 방지 */
.map-area.pano-resizing {
	user-select: none;
	-webkit-user-select: none;
}
.map-area.pano-resizing #pano,
.map-area.pano-resizing #map {
	pointer-events: none;
}

#map {
	width: 100%;
	height: 100%;
	flex: 1;
	min-width: 0;
	min-height: 0;
	position: relative;
}

#pano {
	display: none;
	position: relative;
	background: #0b1220;
	min-width: 0;
	min-height: 0;
}

#panoCanvas {
	width: 100% !important;
	height: 100% !important;
	overflow: hidden;
}

/* 파노라마 줌 컨트롤 숨김 */
#pano .builtin-controls,
#pano .rv_zc {
	display: none !important;
}

/* 파노라마 항공뷰 버튼 좌측상단으로 이동 */
#pano .rv_around,
#pano .rv_flightspot {
	right: auto !important;
	left: 10px !important;
}

.pano-close-btn {
	display: none;
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 10;
	width: 32px;
	height: 32px;
	border: none;
	border-radius: 4px;
	background: rgba(0,0,0,0.55);
	color: #fff;
	font-size: 18px;
	line-height: 32px;
	text-align: center;
	cursor: pointer;
	box-shadow: 0 2px 6px rgba(0,0,0,0.3);
}
.pano-close-btn:hover { background: rgba(0,0,0,0.8); }
.map-area.with-pano .pano-close-btn { display: block; }

/* 파노라마 뷰 상세팁 오버레이 (wrapper) */
.pano-detail-tip {
	position: absolute;
	z-index: 20;
	width: 340px;
	font-size: 12px;
	word-break: break-all;
	pointer-events: auto;
	transform: translate(-50%, -100%);
	margin-top: -16px;
	transition: left 0.15s ease-out, top 0.15s ease-out, opacity 0.15s ease-out;
}
/* 거리 배지 - 팁 카드 바깥 상부 */
.pano-detail-tip .pano-dt-distance {
	text-align: center;
	margin-bottom: 6px;
	pointer-events: none;
}
.pano-detail-tip .pano-dt-distance > span,
.pano-detail-tip .pano-dt-distance > svg {
	pointer-events: auto;
}
.pano-detail-tip .pano-dt-distance span.pano-dist-badge {
	display: inline-block;
	padding: 4px 12px;
	background: #1d4ed8;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	border-radius: 20px;
	letter-spacing: 0.3px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.25);
	line-height: 1.4;
}
.pano-detail-tip .pano-dt-distance .dist-icon {
	display: inline-block;
	width: 13px;
	height: 13px;
	vertical-align: -2px;
	margin-right: 3px;
	fill: #fff;
}
/* 팁 카드 본체 */
.pano-detail-tip .pano-dt-card {
	position: relative;
	background: #ffffff;
	border-radius: 12px;
	box-shadow: 0 8px 28px rgba(0,0,0,0.35);
	display: flex;
	flex-direction: column;
}
/* maps-detail-tip-single 카드가 삽입될 때 pano-dt-card 시각 리셋 */
.pano-detail-tip .pano-dt-card.pano-dt-has-single {
	background: transparent;
	box-shadow: none;
	border-radius: 0;
	overflow: visible;
}
/* 헤더 (고정) */
.pano-detail-tip .pano-dt-header {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 9px 36px 9px 14px;
	font-size: 13px;
	font-weight: 800;
	color: #fff;
	letter-spacing: 0.5px;
	background: linear-gradient(135deg, #1e3a8a 0%, #1d4ed8 60%, #3b82f6 100%);
	border-bottom: 2px solid rgba(255,255,255,0.15);
	text-shadow: 0 1px 2px rgba(0,0,0,0.2);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	border-radius: 12px 12px 0 0;
}
.pano-detail-tip .pano-dt-header:empty { display: none; }
.pano-detail-tip .pano-dt-header.nb-auction { background: linear-gradient(135deg, #1e3a8a 0%, #1d4ed8 60%, #3b82f6 100%); }
.pano-detail-tip .pano-dt-header.nb-public { background: linear-gradient(135deg, #065f46 0%, #059669 60%, #10b981 100%); }
.pano-detail-tip .pano-dt-header.nb-schedule { background: linear-gradient(135deg, #b91c1c 0%, #dc2626 60%, #ef4444 100%); }
.pano-dt-header-text { margin-right: 4px; }
.pano-dt-header-dist { opacity: 0.85; font-weight: 600; font-size: 12px; display: inline-flex; align-items: center; gap: 2px; margin-right: 10px; }
.pano-dt-walker-icon { width: 14px; height: 14px; fill: #fff; vertical-align: middle; }
.pano-detail-tip .pano-dt-header.nb-pg-land { background: linear-gradient(135deg, #991b1b 0%, #dc2626 60%, #ef4444 100%); }
.pano-detail-tip .pano-dt-header.nb-pg-bldg { background: linear-gradient(135deg, #1e3a8a 0%, #2563eb 60%, #3b82f6 100%); }
/* 역삼각 돼지꼬리 (꼬리표) */
.pano-detail-tip .pano-dt-card::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -8px;
	width: 0;
	height: 0;
	border-left: 9px solid transparent;
	border-right: 9px solid transparent;
	border-top: 9px solid rgba(255,255,255,0.96);
	transform: translateX(-50%);
	filter: drop-shadow(0 2px 3px rgba(0,0,0,0.12));
}
.pano-detail-tip .pano-dt-card.pano-dt-has-single::after {
	bottom: -10px;
	border-top-color: var(--maps-tip-accent, #1E90FF);
}
.pano-detail-tip .pano-dt-close {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 24px;
	height: 24px;
	border: none;
	border-radius: 50%;
	background: #1f2937;
	color: #fff;
	font-size: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	cursor: pointer;
	z-index: 2;
}
.pano-detail-tip .pano-dt-close:hover { background: #111827; }
/* pano-dt-has-single: 닫기 버튼을 헤더 위에 맞춤 */
.pano-dt-card.pano-dt-has-single .pano-dt-close {
	top: 4px;
	right: 5px;
	width: 22px;
	height: 22px;
	font-size: 13px;
	border: 1.5px solid #ffffff;
	background: #ffffff;
	color: #1e293b;
	backdrop-filter: none;
	box-shadow: 0 2px 8px rgba(0,0,0,0.18);
	transition: transform 0.18s ease, background 0.18s ease;
}
.pano-dt-card.pano-dt-has-single .pano-dt-close:hover {
	transform: scale(1.12) rotate(90deg);
	background: #f8fafc;
}
.pano-detail-tip .pano-dt-body {
	flex: 1 1 auto;
	padding: 4px 14px 14px;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}
.pano-detail-tip .maps-single-tip-toolbar { display: none; }

/* ─── 파노라마 상세팁 – maps-detail-tip-single 카드 (pinDetailTipRender 동일) ─── */
.pano-detail-tip .maps-tip-type-1 { --maps-tip-accent: #1E90FF; --maps-tip-accent-soft: #bfdbfe; }
.pano-detail-tip .maps-tip-type-2 { --maps-tip-accent: #3CB371; --maps-tip-accent-soft: #bbf7d0; }
.pano-detail-tip .maps-tip-type-3 { --maps-tip-accent: #FA8072; --maps-tip-accent-soft: #fecdd3; }

.pano-detail-tip .maps-detail-tip-single {
	width: 100%;
	box-sizing: border-box;
	background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
	border: 2px solid var(--maps-tip-accent, #1E90FF);
	border-radius: 12px;
	box-shadow: 0 8px 28px rgba(0,0,0,0.35);
	overflow: hidden;
	font-size: 12px;
	word-break: break-all;
}

.pano-detail-tip .maps-detail-tip-header {
	position: relative;
	padding: 5px 32px 5px 8px;
	color: #ffffff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.2px;
	background: linear-gradient(135deg, var(--maps-tip-accent, #1E90FF) 0%, var(--maps-tip-accent-soft, #93c5fd) 125%);
	text-shadow: 0 1px 1px rgba(15, 23, 42, 0.28);
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.pano-detail-tip .maps-detail-tip-header .pano-dist-badge {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	padding: 2px 8px;
	border-radius: 999px;
	background: #ffffff;
	color: var(--maps-tip-accent, #1E90FF);
	font-size: 11px;
	font-weight: 700;
	white-space: nowrap;
	flex-shrink: 0;
}
.pano-detail-tip .maps-detail-tip-header .pano-dist-badge .pano-dt-walker-icon {
	width: 13px;
	height: 13px;
	fill: #fff;
}

.pano-detail-tip .maps-single-tip-headline {
	display: flex;
	align-items: center;
	gap: 3px;
	padding-right: 20px;
	min-height: 20px;
}
.pano-detail-tip .maps-single-tip-kind {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border: 1px solid #ffffff;
	border-radius: 999px;
	background: #ffffff;
	color: var(--maps-tip-accent, #1E90FF);
	font-size: 11px;
	font-weight: 800;
	box-shadow: 0 1px 3px rgba(15,23,42,0.2), inset 0 0 0 1px rgba(15,23,42,0.06);
}
.pano-detail-tip .maps-single-tip-case {
	color: #ffffff;
	font-size: 13px;
	font-weight: 800;
	white-space: nowrap;
	letter-spacing: -0.15px;
}
.pano-detail-tip .maps-single-tip-state {
	display: inline-flex;
	align-items: center;
	color: #ffffff;
	font-size: 12.5px;
	font-weight: 700;
	flex: 1;
	min-width: 0;
	min-height: 22px;
	white-space: normal;
	line-height: 1.28;
	letter-spacing: 0.1px;
	text-shadow: 0 1px 3px rgba(0,0,0,0.75), 0 0 6px rgba(0,0,0,0.45);
}

.pano-detail-tip .maps-detail-tip-content {
	padding: 5px 7px 6px;
	font-size: 13px;
	color: #334155;
	line-height: 1.38;
	letter-spacing: -0.15px;
}

/* 카드 헤드라인 */
.pano-detail-tip .maps-clu-card { margin: 0; }
.pano-detail-tip .maps-clu-card-head { display: flex; align-items: center; gap: 4px; }
.pano-detail-tip .maps-clu-card-headline {
	width: 100%;
	box-sizing: border-box;
	padding: 3px 5px;
	border: none;
	border-radius: 0;
	background: none;
	box-shadow: none;
	margin-bottom: 1px;
	overflow: hidden;
}
.pano-detail-tip .maps-clu-card-addr {
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 12px;
	font-weight: 600;
	color: #1e293b;
	line-height: 1.5;
}
.pano-detail-tip .maps-clu-card-serial-strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 22px;
	padding: 0 7px;
	border-radius: 6px;
	border: none;
	background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.2px;
	box-shadow: 0 2px 6px rgba(29,78,216,0.35), inset 0 1px 0 rgba(255,255,255,0.2);
	flex: 0 0 auto;
	text-shadow: 0 1px 1px rgba(0,0,0,0.15);
}
.pano-detail-tip .maps-tip-type-2 .maps-clu-card-serial-strong {
	background: linear-gradient(135deg, #34d399 0%, #16a34a 100%);
	box-shadow: 0 2px 6px rgba(22,163,74,0.35), inset 0 1px 0 rgba(255,255,255,0.2);
}
.pano-detail-tip .maps-tip-type-3 .maps-clu-card-serial-strong {
	background: linear-gradient(135deg, #fb923c 0%, #ea580c 100%);
	box-shadow: 0 2px 6px rgba(234,88,12,0.35), inset 0 1px 0 rgba(255,255,255,0.2);
}
.pano-detail-tip .maps-clu-card-no {
	font-size: 13px;
	font-weight: 700;
	color: #1e293b;
	letter-spacing: -0.2px;
}
.pano-detail-tip .maps-clu-card-state {
	font-size: 12px;
	font-weight: 700;
}

/* 카드 바디: 사진 + 메타 */
.pano-detail-tip .maps-clu-card-body {
	display: flex;
	align-items: stretch;
	gap: 7px;
	min-width: 0;
}
.pano-detail-tip .maps-single-tip-thumb-wrap {
	width: 120px;
	min-width: 120px;
	height: 110px;
	border-radius: 8px;
	border: 1px solid #c8d8ec;
	overflow: hidden;
	background: #f0f4fa;
	box-shadow: 0 2px 6px rgba(15,23,42,0.1), inset 0 0 0 1px rgba(255,255,255,0.5);
}
.pano-detail-tip .maps-single-tip-thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.pano-detail-tip .maps-clu-card-content { flex: 1; min-width: 0; }

/* ─── 파노라마 상세팁 – 메타 정보 테이블 ─── */
.pano-detail-tip .maps-single-tip-list {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 3px;
	padding: 2px 0;
}
.pano-detail-tip .maps-clu-meta-item {
	display: flex;
	align-items: center;
	gap: 3px;
	width: 100%;
	min-width: 0;
}
.pano-detail-tip .maps-clu-meta-k {
	color: #64748b;
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: -0.2px;
	min-width: 28px;
}
.pano-detail-tip .maps-clu-meta-v {
	color: #0f172a;
	font-size: 12.5px;
	font-weight: 400;
	letter-spacing: -0.15px;
	word-break: keep-all;
	overflow-wrap: anywhere;
}

/* 카드 special (특수조건) */
.pano-detail-tip .maps-clu-card-special,
.nb-detail-wrap .maps-clu-card-special {
	width: 100%;
	margin-top: 4px;
	padding: 4px 0;
	border-top: 1px solid #fecaca;
	background: none;
	border-radius: 0;
	color: #dc2626;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.3;
	white-space: normal;
	overflow: visible;
	text-overflow: clip;
	word-break: keep-all;
	overflow-wrap: anywhere;
}

/* 기존 파노라마 팁 레거시 스타일 */
.pano-detail-tip .pano-dt-body .nb-dt-body {
	max-height: none;
	overflow-y: visible;
}
.pano-detail-tip .pano-dt-body .pg-tbl_cell {
	width: 100%;
	border-spacing: 0;
	border-collapse: separate;
	border-spacing: 0 1px;
}
.pano-detail-tip .pano-dt-body .pg-tbl_cell th,
.pano-detail-tip .pano-dt-body .pg-tbl_cell td {
	padding: 4px 8px;
	font-size: 11.5px;
	line-height: 1.3;
	vertical-align: top;
	border: none;
}
.pano-detail-tip .pano-dt-body .pg-tbl_cell th {
	width: 62px;
	background: #f1f5f9;
	color: #475569;
	font-weight: 700;
	text-align: center;
	border-radius: 6px 0 0 6px;
	white-space: nowrap;
	letter-spacing: -0.2px;
}
.pano-detail-tip .pano-dt-body .pg-tbl_cell td {
	background: #f8fafc;
	color: #1e293b;
	font-weight: 400;
	border-radius: 0 6px 6px 0;
}
.pano-detail-tip .pano-dt-body .nb-price {
	color: #dc2626;
	font-weight: 800;
	letter-spacing: 0.2px;
}
.pano-detail-tip .pano-dt-body .nb-dt-photo-wrap {
	margin: 2px 0 8px;
	border-radius: 8px;
	overflow: hidden;
	background: #f3f4f6;
	border: 1px solid #e5e7eb;
}
.pano-detail-tip .pano-dt-body .nb-dt-photo {
	display: block;
	width: 100%;
	height: 120px;
	object-fit: cover;
	background: #e5e7eb;
}
/* 본물건 상세팁이 파노라마 body에 삽입될 때 맵용 스타일 초기화 */
.pano-detail-tip .pano-dt-body .pg-dt-content {
	position: static;
	width: auto;
	padding: 0;
	border: none !important;
	background: transparent;
	top: auto;
	word-break: break-all;
}
.pano-detail-tip .pano-dt-body .pg-dt-content.land,
.pano-detail-tip .pano-dt-body .pg-dt-content.bldg {
	top: auto;
	border: none !important;
}

/* 거리뷰 가이드 인포윈도우 */
.stv-guide-iw {
	position: relative;
	z-index: 2147483647;
	padding: 8px 10px;
	border-radius: 8px;
	background: rgba(15, 23, 42, 0.88);
	color: #f8fafc;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.35;
	white-space: nowrap;
	box-shadow: 0 6px 14px rgba(2, 12, 27, 0.22);
}
.stv-guide-iw::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 100%;
	transform: translateX(-50%);
	border-left: 7px solid transparent;
	border-right: 7px solid transparent;
	border-top: 8px solid rgba(15, 23, 42, 0.88);
}

/* 동동이 */
.MapWalker {
	position: absolute;
	margin: -38px 0 0 -51px;
	z-index: 900010;
	pointer-events: none;
}
.MapWalker .figure {
	position: absolute;
	width: 32px;
	left: 35px;
	top: -2px;
	height: 46px;
	background: url(../sprite/rv_ddi.png) -298px -114px no-repeat;
	z-index: 3;
}
.MapWalker .angleBack {
	position: relative;
	width: 102px;
	height: 52px;
	background: url(../sprite/rv_ddi.png) -834px -2px no-repeat;
	z-index: 2;
}
.MapWalker.m0  { --wa: 0deg; }
.MapWalker.m1  { --wa: 22.5deg; }
.MapWalker.m2  { --wa: 45deg; }
.MapWalker.m3  { --wa: 67.5deg; }
.MapWalker.m4  { --wa: 90deg; }
.MapWalker.m5  { --wa: 112.5deg; }
.MapWalker.m6  { --wa: 135deg; }
.MapWalker.m7  { --wa: 157.5deg; }
.MapWalker.m8  { --wa: 180deg; }
.MapWalker.m9  { --wa: 202.5deg; }
.MapWalker.m10 { --wa: 225deg; }
.MapWalker.m11 { --wa: 247.5deg; }
.MapWalker.m12 { --wa: 270deg; }
.MapWalker.m13 { --wa: 292.5deg; }
.MapWalker.m14 { --wa: 315deg; }
.MapWalker.m15 { --wa: 337.5deg; }
.MapWalker .angleBack::before {
	content: '';
	position: absolute;
	left: 50%; top: 50%;
	width: 210px; height: 140px;
	transform: translate(-50%, -100%) rotate(var(--wa, 0deg));
	transform-origin: 50% 100%;
	clip-path: polygon(50% 100%, 18% 18%, 82% 18%);
	background: linear-gradient(to top, rgba(61,156,255,0.02) 0%, rgba(61,156,255,0.20) 42%, rgba(61,156,255,0.00) 100%);
	filter: blur(1.4px);
	opacity: 0.9;
	z-index: -1;
}
.MapWalker.m0  .figure { background-position: -298px -114px; }
.MapWalker.m1  .figure { background-position: -335px -114px; }
.MapWalker.m2  .figure { background-position: -372px -114px; }
.MapWalker.m3  .figure { background-position: -409px -114px; }
.MapWalker.m4  .figure { background-position: -446px -114px; }
.MapWalker.m5  .figure { background-position: -483px -114px; }
.MapWalker.m6  .figure { background-position: -520px -114px; }
.MapWalker.m7  .figure { background-position: -557px -114px; }
.MapWalker.m8  .figure { background-position: -2px -114px; }
.MapWalker.m9  .figure { background-position: -39px -114px; }
.MapWalker.m10 .figure { background-position: -76px -114px; }
.MapWalker.m11 .figure { background-position: -113px -114px; }
.MapWalker.m12 .figure { background-position: -150px -114px; }
.MapWalker.m13 .figure { background-position: -187px -114px; }
.MapWalker.m14 .figure { background-position: -224px -114px; }
.MapWalker.m15 .figure { background-position: -261px -114px; }
.MapWalker.m0  .angleBack { background-position: -834px -2px; }
.MapWalker.m1  .angleBack { background-position: -938px -2px; }
.MapWalker.m2  .angleBack { background-position: -1042px -2px; }
.MapWalker.m3  .angleBack { background-position: -1146px -2px; }
.MapWalker.m4  .angleBack { background-position: -1250px -2px; }
.MapWalker.m5  .angleBack { background-position: -1354px -2px; }
.MapWalker.m6  .angleBack { background-position: -1458px -2px; }
.MapWalker.m7  .angleBack { background-position: -1562px -2px; }
.MapWalker.m8  .angleBack { background-position: -2px -2px; }
.MapWalker.m9  .angleBack { background-position: -106px -2px; }
.MapWalker.m10 .angleBack { background-position: -210px -2px; }
.MapWalker.m11 .angleBack { background-position: -314px -2px; }
.MapWalker.m12 .angleBack { background-position: -418px -2px; }
.MapWalker.m13 .angleBack { background-position: -522px -2px; }
.MapWalker.m14 .angleBack { background-position: -626px -2px; }
.MapWalker.m15 .angleBack { background-position: -730px -2px; }

/* 네이버맵: st_ddi.png 사용 */
.naver-map .MapWalker .figure {
	width: 25px;
	left: 38px;
	height: 39px;
	background-image: url(../sprite/st_ddi.png);
}
.naver-map .MapWalker .angleBack {
	background-image: url(../sprite/st_ddi.png);
}

.map-ctrl-wrap {
	position: absolute;
	top: 10px;
	right: 10px;
	z-index: 900005;
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* ── MAP PROVIDER SLIDE SWITCH ──────────────────────────────────
   좌상단 pill형 슬라이드 스위치. thumb이 CSS body-class만으로 슬라이딩.
   body.naver-map → thumb 좌측 / body.kakao-map → thumb 우측
───────────────────────────────────────────────────────────────── */
.map-provider-switch {
	position: absolute;
	top: 10px;
	left: 10px;
	z-index: 900005;
}

.mps-track {
	position: relative;
	display: flex;
	align-items: center;
	width: 74px;
	height: 34px;
	padding: 4px;
	background: rgba(255, 255, 255, 0.95);
	border: 1px solid rgba(17, 24, 39, 0.18);
	border-radius: 999px;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.18), 0 1px 3px rgba(0, 0, 0, 0.08);
	overflow: visible;
}

/* 슬라이딩 thumb — active provider 뒤로 이동 */
.mps-thumb {
	position: absolute;
	top: 4px;
	bottom: 4px;
	left: 4px;
	width: calc(50% - 4px);
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.76);
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.14);
	transition: left 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	pointer-events: none;
	z-index: 0;
}

body.kakao-map .mps-thumb {
	left: calc(50% - 1px);
}

/* provider 버튼 공통 */
.mps-btn {
	position: relative;
	z-index: 1;
	flex: 1;
	height: 100%;
	border: none;
	background: transparent;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	padding: 0;
	-webkit-tap-highlight-color: transparent;
}

.mps-btn .mps-logo {
	width: 26px;
	height: 26px;
	display: block;
	transition: transform 0.2s ease, opacity 0.2s ease;
	opacity: 0.45;
	filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.16));
}

.mps-btn.provider-kakao .mps-logo text,
.mps-btn.provider-naver .mps-logo text {
	font-family: Arial, Helvetica, sans-serif;
	font-size: 11px;
	font-weight: 900;
	dominant-baseline: central;
	text-anchor: middle;
}

.mps-btn.is-active {
	cursor: default;
	pointer-events: none;
}

.mps-btn.is-active .mps-logo {
	opacity: 1;
	transform: scale(1.08);
}

.mps-btn:not(.is-active):hover .mps-logo {
	opacity: 0.75;
	transform: scale(1.12);
}

.map-ctrl-btn {
	width: 42px;
	height: 42px;
	border: 1px solid rgba(17, 24, 39, 0.22);
	border-radius: 0;
	background: rgba(255, 255, 255, 0.96);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.16);
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	padding: 2px 1px;
	font-size: 11px;
	line-height: 1.05;
	font-weight: 700;
	color: #1f2937;
	cursor: pointer;
	user-select: none;
}

.map-ctrl-btn.no-top-border {
	border-top: 0;
}

.map-ctrl-btn svg {
	width: 18px;
	height: 18px;
	stroke: currentColor;
	fill: none;
	stroke-width: 1.9;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.map-ctrl-btn .lb {
	display: inline-block;
	max-width: 40px;
	text-align: center;
	white-space: nowrap;
	letter-spacing: -0.1px;
	font-size: inherit;
	font-weight: inherit;
	transform-origin: center top;
}

#btnCadastral .lb {
	letter-spacing: -1.2px;
}

.map-ctrl-btn.is-active {
	background: #111827;
	color: #fff;
	border-color: #111827;
}

.map-ctrl-gap-10 {
	margin-top: 10px;
}

.map-ctrl-gap-25 {
	margin-top: 25px;
}

.pd-tip-wrap {
	position: absolute;
	left: 0;
	top: 0;
	transform: translate(-50%, -100%);
	z-index: 3;
	pointer-events: auto;
	cursor: pointer;
}

/* 줌/이동 시 팁 오버레이를 부드럽게 이동 */
.pd-tip-wrap,
.nb-detail-wrap,
.tip_frm,
.pg-tip-label {
	transition: left 0.24s cubic-bezier(0.22, 0.61, 0.36, 1), top 0.24s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.12s ease;
	will-change: left, top;
}

#mapArea.is-zooming-tips .pd-tip-wrap,
#mapArea.is-zooming-tips .nb-detail-wrap,
#mapArea.is-zooming-tips .tip_frm,
#mapArea.is-zooming-tips .pg-tip-label {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

#mapArea.is-dragging-tips .pd-tip-wrap,
#mapArea.is-dragging-tips .nb-detail-wrap,
#mapArea.is-dragging-tips .tip_frm,
#mapArea.is-dragging-tips .pg-tip-label {
	transition: none !important;
}

@media (prefers-reduced-motion: reduce) {
	.pd-tip-wrap,
	.nb-detail-wrap,
	.tip_frm,
	.pg-tip-label {
		transition: none;
	}
}

.pd-tip {
	display: inline-block;
	width: max-content;
	max-width: 90vw;
	min-width: 0;
	position: relative;
	background: #ffffff;
	border: 1px solid #1f2937;
	border-radius: 10px;
	box-shadow: 0 8px 20px rgba(0, 0, 0, 0.18);
	padding: 10px 12px 11px;
	font-size: 12px;
	line-height: 1.45;
	white-space: nowrap;
	opacity: 0.7;
	transition: opacity 0.15s;
}
.pd-tip:hover {
	opacity: 1;
}

.pd-tip .close-btn {
	position: absolute;
	right: -8px;
	top: -8px;
	width: 22px;
	height: 22px;
	line-height: 20px;
	text-align: center;
	border: 1px solid rgba(255, 255, 255, 0.82);
	border-radius: 50%;
	background: linear-gradient(135deg, #ffffff 0%, #f3f6fb 100%);
	color: #111827;
	font-size: 0;
	font-weight: 800;
	cursor: pointer;
	padding: 0;
	outline: none;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.28);
	backdrop-filter: blur(1px);
	transition: background-color 0.15s ease, transform 0.15s ease, box-shadow 0.15s ease;
}

.pd-tip .close-btn::before,
.pd-tip .close-btn::after {
	content: '';
	position: absolute;
	left: 50%;
	top: 50%;
	width: 10px;
	height: 2px;
	background: #111827;
	border-radius: 2px;
	transform-origin: center;
}

.pd-tip .close-btn::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.pd-tip .close-btn::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

.pd-tip .close-btn:hover {
	background: linear-gradient(135deg, #ffffff 0%, #ffffff 100%);
	transform: translateY(-1px);
	box-shadow: 0 6px 14px rgba(0, 0, 0, 0.3);
}

.pd-tip .close-btn:active {
	transform: translateY(0);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.24);
}

.pd-tip:after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -8px;
	width: 12px;
	height: 12px;
	background: #fff;
	border-right: 1px solid #1f2937;
	border-bottom: 1px solid #1f2937;
	transform: translateX(-50%) rotate(45deg);
}

.pd-tip .tt {
	font-size: 13px;
	font-weight: 700;
	color: #111827;
	margin-bottom: 6px;
}

.pd-tip .cat {
	display: block;
	background: linear-gradient(135deg, #0b1220 0%, #111827 60%, #1f2937 100%);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	text-align: center;
	padding: 6px 12px;
	margin: -10px -12px 8px -12px;
	border-radius: 10px 10px 0 0;
	letter-spacing: 0.4px;
	text-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);
	box-shadow: inset 0 -1px 0 rgba(255, 255, 255, 0.08);
	border-bottom: 1px solid rgba(255, 255, 255, 0.18);
}

.pd-tip .row {
	color: #374151;
	margin-top: 2px;
}

.pd-tip .row.status,
.pd-tip .row.price {
	font-weight: 700;
	color: #111827;
}

.pd-tip .lb {
	display: inline-block;
	width: 88px;
	color: #6b7280;
}

/* nearby 물건 팁 - 구분별 색상 변형 */
.pd-tip-wrap.nb-auction .pd-tip { border-color: #1d4ed8; }
.pd-tip-wrap.nb-auction .pd-tip:after { border-right-color: #1d4ed8; border-bottom-color: #1d4ed8; }
.pd-tip-wrap.nb-auction .pd-tip .cat { background: linear-gradient(135deg, #1e3a8a 0%, #1d4ed8 60%, #3b82f6 100%); }

.pd-tip-wrap.nb-public .pd-tip { border-color: #059669; }
.pd-tip-wrap.nb-public .pd-tip:after { border-right-color: #059669; border-bottom-color: #059669; }
.pd-tip-wrap.nb-public .pd-tip .cat { background: linear-gradient(135deg, #065f46 0%, #059669 60%, #10b981 100%); }

.pd-tip-wrap.nb-schedule .pd-tip { border-color: indianred; }
.pd-tip-wrap.nb-schedule .pd-tip:after { border-right-color: indianred; border-bottom-color: indianred; }
.pd-tip-wrap.nb-schedule .pd-tip .cat { background: linear-gradient(135deg, #b91c1c 0%, #dc2626 60%, #ef4444 100%); }

.pd-tip.has-interest {
	opacity: 1;
	box-shadow: 0 10px 24px rgba(249, 115, 22, 0.26), 0 4px 12px rgba(15, 23, 42, 0.18);
}

.pd-tip-interest-badge {
	position: absolute;
	top: -10px;
	right: -10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 20px;
	min-width: 34px;
	padding: 0 8px;
	border: 1px solid rgba(255, 255, 255, 0.95);
	border-radius: 999px;
	background: linear-gradient(180deg, #fb923c 0%, #ea580c 100%);
	color: #ffffff;
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0;
	text-shadow: 0 1px 1px rgba(124, 45, 18, 0.7);
	box-shadow: 0 4px 10px rgba(124, 45, 18, 0.28), inset 0 1px 0 rgba(255, 255, 255, 0.36);
	pointer-events: none;
}

.nb-detail-wrap .maps-single-tip-kind.maps-single-tip-kind-interest {
	box-shadow: 0 0 0 2px rgba(249, 115, 22, 0.22), 0 1px 3px rgba(15, 23, 42, 0.2);
}

.nb-detail-wrap .maps-clu-card.is-interest-item {
	border-color: rgba(249, 115, 22, 0.78);
	box-shadow: inset 0 0 0 1px rgba(249, 115, 22, 0.16);
}

.nb-detail-wrap .maps-clu-interest-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 20px;
	padding: 0 8px;
	border: 1px solid rgba(255, 255, 255, 0.95);
	border-radius: 999px;
	background: linear-gradient(180deg, #fb923c 0%, #ea580c 100%);
	color: #ffffff;
	font-size: 11px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0;
	text-shadow: 0 1px 1px rgba(124, 45, 18, 0.72);
	box-shadow: 0 2px 8px rgba(124, 45, 18, 0.25), inset 0 1px 0 rgba(255, 255, 255, 0.35);
}
/* nearby 상세팁 (maps-detail-tip-single 스타일) */
.nb-detail-wrap {
	position: absolute;
	left: 0;
	top: 0;
	transform: translate(-50%, -100%);
	z-index: 900002;
	pointer-events: auto;
	display: none;
	margin-top: -5px;
}

/* ── CSS 변수: 타입별 accent 색상 ── */
.nb-detail-wrap .maps-tip-type-1 { --maps-tip-accent: #1E90FF; --maps-tip-accent-soft: #bfdbfe; }
.nb-detail-wrap .maps-tip-type-2 { --maps-tip-accent: #3CB371; --maps-tip-accent-soft: #bbf7d0; }
.nb-detail-wrap .maps-tip-type-3 { --maps-tip-accent: #FA8072; --maps-tip-accent-soft: #fecdd3; }

/* ── 본체 ── */
.nb-detail-wrap .maps-detail-tip-single {
	width: 360px;
	box-sizing: border-box;
	background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
	border: 2px solid var(--maps-tip-accent, #1E90FF);
	border-radius: 12px;
	box-shadow: 0 14px 28px rgba(15, 23, 42, 0.24);
	overflow: hidden;
	font-size: 12px;
	word-break: break-all;
}

/* ── 꼬리 삼각형 ── */
.nb-detail-wrap .maps-detail-tip-single::after {
	content: '';
	position: absolute;
	left: 50%;
	bottom: -8px;
	width: 0; height: 0;
	border-left: 9px solid transparent;
	border-right: 9px solid transparent;
	border-top: 9px solid var(--maps-tip-accent, #1E90FF);
	transform: translateX(-50%);
}

/* ── 헤더 ── */
.nb-detail-wrap .maps-detail-tip-header {
	position: relative;
	padding: 5px 32px 5px 8px;
	color: #ffffff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.2px;
	background: linear-gradient(135deg, var(--maps-tip-accent, #1E90FF) 0%, var(--maps-tip-accent-soft, #93c5fd) 125%);
	text-shadow: 0 1px 1px rgba(15, 23, 42, 0.28);
}

/* ── 닫기 버튼 ── */
.nb-detail-wrap .maps-tip-close-btn {
	position: absolute;
	top: 3px;
	right: 4px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border: 1.5px solid #ffffff;
	border-radius: 50%;
	background: #ffffff;
	backdrop-filter: none;
	color: #1e293b;
	line-height: 1;
	cursor: pointer;
	box-shadow: 0 1px 5px rgba(15,23,42,0.28), inset 0 0 0 1px rgba(15,23,42,0.08);
	transition: transform 0.18s ease, background 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}
.nb-detail-wrap .maps-tip-close-btn:hover {
	transform: scale(1.12) rotate(90deg);
	border-color: #ffffff;
	background: #f8fafc;
	box-shadow: 0 2px 8px rgba(15,23,42,0.32), inset 0 0 0 1px rgba(15,23,42,0.1);
}
.nb-detail-wrap .maps-tip-close-btn:active {
	transform: scale(0.95) rotate(90deg);
}
.nb-detail-wrap .maps-tip-close-icon { display: block; width: 13px; height: 13px; stroke-width: 3; }

/* ── 헤더 뱃지/사번/상태 ── */
.nb-detail-wrap .maps-single-tip-headline {
	display: flex;
	align-items: center;
	gap: 3px;
	padding-right: 20px;
	min-height: 20px;
}
.nb-detail-wrap .maps-single-tip-kind {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	height: 22px;
	padding: 0 6px;
	border: 1px solid #ffffff;
	border-radius: 999px;
	background: #ffffff;
	color: var(--maps-tip-accent, #1E90FF);
	font-size: 11px;
	font-weight: 800;
	box-shadow: 0 1px 3px rgba(15,23,42,0.2), inset 0 0 0 1px rgba(15,23,42,0.06);
}
.nb-detail-wrap .maps-single-tip-case {
	color: #ffffff;
	font-size: 13px;
	font-weight: 800;
	white-space: nowrap;
	letter-spacing: -0.15px;
}
.nb-detail-wrap .maps-single-tip-state {
	display: inline-flex;
	align-items: center;
	color: #ffffff;
	font-size: 12.5px;
	font-weight: 700;
	flex: 1;
	min-width: 0;
	min-height: 22px;
	white-space: normal;
	line-height: 1.28;
	letter-spacing: 0.1px;
	text-shadow: 0 1px 3px rgba(0,0,0,0.75), 0 0 6px rgba(0,0,0,0.45);
}

/* ── 컨텐츠 영역 ── */
.nb-detail-wrap .maps-detail-tip-content {
	padding: 5px 7px 6px;
	font-size: 13px;
	color: #334155;
	line-height: 1.38;
	letter-spacing: -0.15px;
}

/* ── 카드 헤드라인 ── */
.nb-detail-wrap .maps-clu-card { margin: 0; }
.nb-detail-wrap .maps-clu-card-head { display: flex; align-items: center; gap: 4px; }
.nb-detail-wrap .maps-clu-card-headline {
	width: 100%;
	box-sizing: border-box;
	padding: 3px 5px;
	border: none;
	border-radius: 0;
	background: none;
	box-shadow: none;
	margin-bottom: 1px;
	overflow: hidden;
}
.nb-detail-wrap .maps-clu-card-addr {
	display: block;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 12px;
	font-weight: 600;
	color: #1e293b;
	line-height: 1.5;
}
.nb-detail-wrap .maps-clu-card-serial-strong {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 38px;
	height: 22px;
	padding: 0 7px;
	border-radius: 6px;
	border: none;
	background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);
	color: #ffffff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.2px;
	box-shadow: 0 2px 6px rgba(29,78,216,0.35), inset 0 1px 0 rgba(255,255,255,0.2);
	flex: 0 0 auto;
	text-shadow: 0 1px 1px rgba(0,0,0,0.15);
}
.nb-detail-wrap .maps-tip-type-2 .maps-clu-card-serial-strong {
	background: linear-gradient(135deg, #34d399 0%, #16a34a 100%);
	box-shadow: 0 2px 6px rgba(22,163,74,0.35), inset 0 1px 0 rgba(255,255,255,0.2);
}
.nb-detail-wrap .maps-tip-type-3 .maps-clu-card-serial-strong {
	background: linear-gradient(135deg, #fb923c 0%, #ea580c 100%);
	box-shadow: 0 2px 6px rgba(234,88,12,0.35), inset 0 1px 0 rgba(255,255,255,0.2);
}
.nb-detail-wrap .maps-clu-card-no {
	font-size: 13px;
	font-weight: 700;
	color: #1e293b;
	letter-spacing: -0.2px;
}
.nb-detail-wrap .maps-clu-card-state {
	font-size: 12px;
	font-weight: 700;
}

/* ── 카드 바디: 사진 + 메타 ── */
.nb-detail-wrap .maps-clu-card-body {
	display: flex;
	align-items: stretch;
	gap: 7px;
	min-width: 0;
}
.nb-detail-wrap .maps-single-tip-thumb-wrap {
	width: 140px;
	min-width: 140px;
	height: 130px;
	border-radius: 8px;
	border: 1px solid #c8d8ec;
	overflow: hidden;
	background: #f0f4fa;
	box-shadow: 0 2px 6px rgba(15,23,42,0.1), inset 0 0 0 1px rgba(255,255,255,0.5);
}
.nb-detail-wrap .maps-single-tip-thumb {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.nb-detail-wrap .maps-clu-card-content { flex: 1; min-width: 0; }

/* ── 메타 항목 ── */
.nb-detail-wrap .maps-clu-card-meta {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 3px;
	padding: 2px 0;
}
.nb-detail-wrap .maps-clu-meta-item {
	display: flex;
	align-items: center;
	gap: 3px;
	width: 100%;
	min-width: 0;
}
.nb-detail-wrap .maps-clu-meta-k {
	color: #64748b;
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: -0.2px;
	min-width: 28px;
}
.nb-detail-wrap .maps-clu-meta-v {
	color: #0f172a;
	font-size: 12.5px;
	font-weight: 400;
	letter-spacing: -0.15px;
	word-break: keep-all;
	overflow-wrap: anywhere;
}

/* ── 툴바 (outlinks) ── */
.nb-detail-wrap .maps-single-tip-toolbar {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-top: 4px;
	padding: 4px 3px 2px;
	border-top: 1px solid #e2e8f0;
}
.nb-detail-wrap .maps-single-tip-toolbar-links {
	display: flex;
	align-items: center;
	gap: 0;
	flex: 1;
	min-width: 0;
	flex-wrap: nowrap;
}
.nb-detail-wrap .maps-single-tip-outlink {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 2px;
	flex: 1;
	min-width: 0;
	padding: 4px 2px;
	border: 1px solid #e2e8f0;
	border-radius: 0;
	margin-left: -1px;
	background: #f8fafc;
	color: #475569;
	font-size: 10px;
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
	transition: background .15s, border-color .15s, color .15s;
}
.nb-detail-wrap .maps-single-tip-outlink:first-child { margin-left: 0; border-radius: 5px 0 0 5px; }
.nb-detail-wrap .maps-single-tip-outlink:last-child { border-radius: 0 5px 5px 0; }
.nb-detail-wrap .maps-single-tip-outlink svg { width: 14px; height: 14px; fill: currentColor; flex-shrink: 0; }
.nb-detail-wrap .maps-single-tip-outlink span { overflow: hidden; text-overflow: ellipsis; }
.nb-detail-wrap .maps-single-tip-outlink:hover { background: #e0e7ff; border-color: #a5b4fc; color: #1e40af; text-decoration: none; z-index: 1; }

/* ── maps-detail-quick-btn, maps-streetview-quick-btn 숨김 ── */
.nb-detail-wrap .maps-detail-quick-btn,
.nb-detail-wrap .maps-streetview-quick-btn { display: none; }

.pd-range-label-wrap {
	position: absolute;
	left: 0;
	top: 0;
	transform: translate(-50%, -50%);
	z-index: 2;
	pointer-events: none;
}

.pd-range-label {
	display: inline-block;
	padding: 2px 6px;
	border-radius: 999px;
	background: transparent;
	border: 1px solid rgba(17, 24, 39, 0.24);
	color: rgba(17, 24, 39, 0.62);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;
}

/* 폴리곤 팁 - wMap_fd.js 스타일 */
.tip_frm {
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	cursor: pointer;
	pointer-events: auto;
	z-index: 100;
}

.tip_frmtri {
	width: 0;
	height: 0;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid indianred;
}

.tip_frmtri_ {
	width: 0;
	height: 0;
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-bottom: 6px solid #2A62D0;
}

.pg-tbl_cell {
	width: 100%;
	border-top: 1px solid #f8f8f8;
	border-left: 1px solid #f8f8f8;
	padding: 0;
	border-spacing: 0;
	border-collapse: collapse;
}

.pg-tbl_cell th,
.pg-tbl_cell td {
	border-bottom: 1px solid #f8f8f8;
	border-right: 1px solid #f8f8f8;
	padding: 5px 5px 0 5px;
	font-weight: normal;
	text-align: left;
	height: 15px;
	font-size: 11px;
}

.pg-tbl_cell th {
	background-color: #f9f9f9;
	text-align: center;
	width: 70px;
}

/* 복수 상세팁 팝업 (화면 중앙) */
.pg-pop-dim {
	display: none;
	position: fixed;
	top: 0; left: 0; right: 0; bottom: 0;
	background: rgba(0,0,0,0.4);
	z-index: 99999;
	align-items: center;
	justify-content: center;
}
.pg-pop-dim.active {
	display: flex;
}
.pg-pop-wrap {
	background: #fff;
	border-radius: 15px;
	width: 550px;
	max-width: 95vw;
	max-height: 80vh;
	display: flex;
	flex-direction: column;
	box-shadow: 0 8px 30px rgba(0,0,0,0.25);
	overflow: hidden;
}
.pg-pop-head {
	padding: 0;
	border-bottom: 1px solid #ddd;
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
}
.pg-pop-head .pg-pop-title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 15px;
	font-size: 15px;
	font-weight: bold;
	color: #fff;
	border-radius: 15px 15px 0 0;
}
.pg-pop-head .pg-pop-title.land-title {
	background: linear-gradient(135deg, #b91c1c 0%, #dc2626 100%);
}
.pg-pop-head .pg-pop-title.bldg-title {
	background: linear-gradient(135deg, #1d4ed8 0%, #2563eb 100%);
}
.pg-pop-head .pg-pop-area-summary {
	padding: 6px 15px;
	font-size: 11px;
	color: #555;
	background: #f8f8f8;
	display: flex;
	align-items: center;
	gap: 4px;
	flex-wrap: wrap;
}
.pg-pop-head .pg-pop-close {
	font-size: 22px;
	cursor: pointer;
	color: rgba(255,255,255,0.8);
	line-height: 1;
}
.pg-pop-body {
	overflow-y: auto;
	overflow-x: hidden;
	padding: 5px 10px;
	flex: 1;
}
.pg-pop-body .pg-tbl_cell {
	width: 100%;
	table-layout: fixed;
	word-break: break-all;
}
.pg-pop-foot {
	padding: 10px;
	text-align: center;
	border-top: 1px solid #ddd;
	flex-shrink: 0;
}
.pg-pop-foot span {
	padding: 5px 20px;
	background: indianred;
	color: #fff;
	border-radius: 15px;
	cursor: pointer;
	font-size: 14px;
}

/* ============================================================
 * PdPolygon 팁 – 인라인 스타일 → CSS 클래스
 * ============================================================ */

/* 기본 팁 label wrapper */
.pg-tip-label {
	position: absolute;
	top: 0;
	left: 0;
	width: auto;
	height: 0;
	cursor: pointer;
	pointer-events: auto;
	z-index: 1;
}

/* 기본 팁 내부 content (공통) */
.pg-tip-inner {
	position: relative;
	background: #fff;
	padding: 0 3px;
	font-size: 10px;
	height: 17px;
	line-height: 17px;
	vertical-align: middle;
	white-space: nowrap;
	cursor: pointer;
	opacity: 0.7;
	transition: opacity 0.15s;
}
.pg-tip-inner:hover {
	opacity: 1;
}
.pg-tip-inner.land { top: -28px; border: 1px solid indianred; }
.pg-tip-inner.bldg { top: 9px;   border: 1px solid #2A62D0; }

/* 뱃지 공통 */
.pg-badge       { color: #fff; padding: 0 3px; border-radius: 3px; }
.pg-badge.land  { background: indianred; }
.pg-badge.bldg  { background: #2A62D0; }

/* fallback 종별 팁: 심플하고 가독성 높은 스타일 */
.pg-tip-inner.land.catnm-only {
	top: -34px;
	background: #1688ff;
	border: 1px solid #0f78e7;
	border-radius: 4px 4px 2px 0;
	padding: 5px 11px 6px;
	height: auto;
	min-height: 18px;
	line-height: 1;
	opacity: 1;
	box-shadow: 0 2px 6px rgba(15, 23, 42, 0.22);
}
.pg-tip-inner.land.catnm-only:hover {
	opacity: 1;
}
.pg-tip-inner.land.catnm-only .pg-badge.land {
	background: transparent;
	border-radius: 0;
	padding: 0;
	font-weight: 800;
	font-size: 12px;
	letter-spacing: 0;
	color: #fff;
	text-shadow: none;
}

.pg-tip-inner.land.catnm-only::after {
	content: "";
	position: absolute;
	left: -1px;
	bottom: -8px;
	width: 0;
	height: 0;
	border-top: 8px solid #1688ff;
	border-right: 8px solid transparent;
}

.pg-tip-inner.land.catnm-only + .pg-tri-wrap,
.tip_frm:has(.pg-tip-inner.land.catnm-only) .pg-tri-wrap {
	display: none;
}

/* 복수 팁 뱃지 (border 포함) */
.pg-badge-indexed       { color: #fff; padding: 0 3px; border-radius: 3px; border: 1px solid #666; }
.pg-badge-indexed.land  { background: indianred; }
.pg-badge-indexed.bldg  { background: #2A62D0; }

/* 건물 복수 뱃지 */
.pg-bldg-multi-badge {
	background: #2A62D0;
	color: #fff;
	padding: 0 3px;
	border-radius: 3px;
	border: 1px solid #666;
	margin-right: 1px;
}

/* 지분 뱃지 (단일) */
.pg-badge-share {
	background: indianred;
	color: #fff;
	padding: 0 2px;
	border: 1px solid #ddd;
	border-radius: 3px;
}

/* 지분 뱃지 (복수 – 노란색) */
.pg-badge-share-multi {
	background: #dd9933;
	color: #fff;
	padding: 0 2px;
	border: 1px solid #ddd;
	border-radius: 3px;
}

/* 대지권 뱃지 */
.pg-badge-dj {
	background: #888;
	color: #fff;
	padding: 0 2px;
	border: 1px solid #ddd;
	border-radius: 3px;
}

/* 미포함 뱃지 */
.pg-badge-exclude {
	background: green;
	color: #fff;
	padding: 0 2px;
	border: 1px solid #ddd;
	border-radius: 3px;
}

/* 건수 뱃지 (복수 팁) */
.pg-badge-cnt {
	background: green;
	color: #fff;
	padding: 0 3px;
	border-radius: 10px;
	margin-left: 3px;
}

/* 복수 팁 구분명 */
.pg-multi-dvsn-label { margin: 0 3px; }

/* ▼ 삼각형 wrapper / offset */
.pg-tri-wrap { position: absolute; z-index: 1; }
.tip_frmtri, .tip_frmtri_ { position: relative; }
.pg-tri-off-land     { top: -10px; }
.pg-tri-off-bldg     { top: 3px; }
.pg-tri-off-land-m   { top: -9px; }
.pg-tri-off-bldg-m   { top: 3px; }

/* ============================================================
 * 상세 팁 (인라인 테이블 팝업)
 * ============================================================ */
.pg-dt-wrap {
	position: absolute;
	z-index: 10001;
	width: 0;
	height: 0;
	display: none;
}

.pg-dt-content {
	position: relative;
	background: #fff;
	padding: 5px;
	width: 290px;
	height: auto;
	word-break: break-all;
	max-height: min(70vh, 520px);
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	--pg-dt-shift-x: 0px;
	--pg-dt-shift-y: 0px;
	transform: translate(var(--pg-dt-shift-x), var(--pg-dt-shift-y));
}
.pg-dt-content.land { top: -10px; border: 1px solid indianred; }
.pg-dt-content.bldg { top: 27px;  border: 1px solid #2A62D0; }

@media (max-width: 480px) {
	.pg-dt-content {
		width: min(290px, calc(100vw - 20px));
		max-height: min(62vh, calc(100vh - 24px));
	}
}

.pg-dt-header-row { width: 100%; height: 25px; }
.pg-dt-label      { float: left; font-weight: bold; }
.pg-dt-close-icon { position: absolute; top: -7px; left: 90%; font-size: 34px; cursor: pointer; }
.pg-dt-divider    { width: 100%; height: 1px; background: #ddd; }

/* 셀 값 색상 */
.pg-val-red            { color: red; }
.pg-val-share          { color: #dd9933; font-weight: bold; }
.pg-val-indianred      { color: indianred; }
.pg-val-indianred-bold { color: indianred; font-weight: bold; }
.pg-val-green          { color: green; font-weight: bold; }

/* ============================================================
 * 복수 상세 팝업 – area summary 뱃지
 * ============================================================ */
.pg-area-share-badge {
	background: #dd9933;
	color: #fff;
	padding: 1px 4px;
	border-radius: 3px;
	font-size: 10px;
}
.pg-area-val-auction { color: #1E90FF; font-weight: bold; }
.pg-area-val-total   { color: indianred; font-weight: bold; }
.pg-area-separator   { margin-left: 8px; }
.pg-area-cnt-badge {
	margin-left: 6px;
	background: green;
	color: #fff;
	padding: 1px 6px;
	border-radius: 10px;
	font-size: 10px;
}

/* 복수 상세 row table 여백 */
.pg-tbl-margin { margin: 5px; }

/* th/td 폭 유틸 */
.pg-th-80  { width: 80px; }
.pg-th-70  { width: 70px; }
.pg-th-40  { width: 40px; }
.pg-td-180 { width: 180px; }

/* ============================================================
 * 마커 / 본물건 팁 wrap
 * ============================================================ */
.pd-marker-wrap {
	margin-left: -12px;
	margin-top: -30px;
	z-index: 900000;
	cursor: pointer;
	pointer-events: auto;
}

.pd-marker-wrap img {
	display: block;
}

.pd-tip-wrap.main-item {
	margin-top: -36px;
	z-index: 900001;
	pointer-events: auto;
	cursor: pointer;
}

/* nearby 팁 z-index 초기값 */
.pd-tip-wrap.nb-auction,
.pd-tip-wrap.nb-public,
.pd-tip-wrap.nb-schedule {
	z-index: 100;
	pointer-events: auto;
	cursor: pointer;
}

#mapArea.streetview-pick-active .pd-tip-wrap,
#mapArea.streetview-pick-active .pd-tip-wrap.main-item,
#mapArea.streetview-pick-active .pd-tip-wrap.nb-auction,
#mapArea.streetview-pick-active .pd-tip-wrap.nb-public,
#mapArea.streetview-pick-active .pd-tip-wrap.nb-schedule {
	z-index: 100 !important;
}

/* ============================================================
 * 모바일: nb-detail-wrap 컴팩트 리사이징
 * ============================================================ */
@media (max-width: 480px) {
	.nb-detail-wrap .maps-detail-tip-single {
		width: calc(100vw - 24px);
		max-width: 360px;
		min-width: 0;
	}

	/* 헤더 */
	.nb-detail-wrap .maps-detail-tip-header {
		padding: 4px 28px 4px 6px;
		font-size: 12px;
	}
	.nb-detail-wrap .maps-single-tip-kind {
		height: 18px;
		min-width: 18px;
		padding: 0 5px;
		font-size: 10px;
	}
	.nb-detail-wrap .maps-single-tip-case {
		font-size: 12px;
	}
	.nb-detail-wrap .maps-single-tip-state {
		font-size: 11px;
	}

	/* 컨텐츠 */
	.nb-detail-wrap .maps-detail-tip-content {
		padding: 4px 5px 5px;
		font-size: 12px;
	}

	/* 사진 */
	.nb-detail-wrap .maps-single-tip-thumb-wrap {
		width: 90px;
		min-width: 90px;
		height: 90px;
	}

	/* 카드 바디 */
	.nb-detail-wrap .maps-clu-card-body {
		gap: 5px;
	}

	/* 주소 */
	.nb-detail-wrap .maps-clu-card-addr {
		font-size: 11px;
	}

	/* 메타 */
	.nb-detail-wrap .maps-clu-meta-k {
		font-size: 10.5px;
		min-width: 24px;
	}
	.nb-detail-wrap .maps-clu-meta-v {
		font-size: 11.5px;
	}

	/* 사번 뱃지 */
	.nb-detail-wrap .maps-clu-card-serial-strong {
		height: 18px;
		min-width: 32px;
		padding: 0 5px;
		font-size: 10px;
	}
	.nb-detail-wrap .maps-clu-card-no {
		font-size: 12px;
	}

	/* 닫기 버튼 */
	.nb-detail-wrap .maps-tip-close-btn {
		width: 22px;
		height: 22px;
		top: 2px;
		right: 3px;
	}
	.nb-detail-wrap .maps-tip-close-icon {
		width: 11px;
		height: 11px;
	}

	/* 툴바 */
	.nb-detail-wrap .maps-single-tip-toolbar {
		padding: 3px 2px 2px;
		gap: 2px;
	}
	.nb-detail-wrap .maps-single-tip-outlink {
		padding: 3px 1px;
		font-size: 9px;
	}
	.nb-detail-wrap .maps-single-tip-outlink svg {
		width: 12px;
		height: 12px;
	}

	/* 특수조건 */
	.nb-detail-wrap .maps-clu-card-special {
		font-size: 10px;
	}
}
