/* ============================================================
 * Property Map TH — BKK Finder style frontend (v5)
 * Google Maps JS API build. Scope: .pmap-app / .pmap- with
 * !important to avoid theme conflicts.
 * ============================================================ */
.pmap-app{
	--pmap-bg:#f3f4f6;
	--pmap-panel:#ffffff;
	--pmap-text:#0f172a;
	--pmap-muted:#64748b;
	--pmap-line:#e5e7eb;
	--pmap-primary:#111827;
	--pmap-primary-2:#0f172a;
	--pmap-chip:#f5f6f8;
	--pmap-shadow:0 12px 36px rgba(15,23,42,.13);
	font-family:"Prompt","Kanit","IBM Plex Sans Thai","Sarabun","Noto Sans KR","Malgun Gothic","Apple SD Gothic Neo",Arial,sans-serif !important;
	max-width:100% !important;
	width:100% !important;
	background:var(--pmap-bg) !important;
	color:var(--pmap-text) !important;
	box-sizing:border-box !important;
	position:relative !important;
}
.pmap-app *{box-sizing:border-box !important}
.pmap-app button,.pmap-app input,.pmap-app select,.pmap-app textarea{font-family:inherit !important}

/* ---------- top bar ---------- */
.pmap-topbar{
	height:56px !important;
	background:#f8fafc !important;
	border-bottom:1px solid var(--pmap-line) !important;
	display:grid !important;
	grid-template-columns:300px minmax(320px,640px) 300px !important;
	align-items:center !important;
	gap:16px !important;
	padding:7px 16px !important;
	position:relative !important;
	z-index:30 !important;
}
.pmap-brand{
	display:flex !important;
	align-items:center !important;
	gap:4px !important;
	font-weight:700 !important;
	font-size:19px !important;
	letter-spacing:-.02em !important;
	white-space:nowrap !important;
}
.pmap-brand-badge{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	background:#1e293b !important;
	color:#fff !important;
	font-size:14px !important;
	font-weight:800 !important;
	padding:2px 5px !important;
	line-height:1 !important;
	border-radius:1px !important;
}
.pmap-brand-text{font-weight:500 !important;color:#0f172a !important}
.pmap-search-wrap{
	position:relative !important;
	width:100% !important;
	justify-self:center !important;
}
.pmap-search-icon{
	position:absolute !important;
	left:18px !important;
	top:50% !important;
	transform:translateY(-50%) !important;
	font-size:17px !important;
	color:#6b7280 !important;
	pointer-events:none !important;
}
.pmap-search-input{
	width:100% !important;
	height:42px !important;
	border:1px solid #cbd5e1 !important;
	background:#fff !important;
	border-radius:999px !important;
	padding:0 18px 0 46px !important;
	font-size:15px !important;
	font-weight:400 !important;
	color:#0f172a !important;
	outline:none !important;
	box-shadow:0 1px 5px rgba(15,23,42,.06) !important;
}
.pmap-search-input:focus{
	border-color:#94a3b8 !important;
	box-shadow:0 0 0 4px rgba(15,23,42,.08) !important;
}
.pmap-top-actions{
	display:flex !important;
	justify-content:flex-end !important;
	align-items:center !important;
	gap:8px !important;
}
.pmap-signup-btn{
	background:#0f172a !important;
	color:#fff !important;
	border:0 !important;
	border-radius:7px !important;
	font-size:14px !important;
	font-weight:700 !important;
	padding:8px 14px !important;
	line-height:1.1 !important;
	cursor:pointer !important;
}

/* ---------- shell layout ---------- */
.pmap-shell{
	display:grid !important;
	grid-template-columns:360px minmax(360px,1fr) 420px !important;
	width:100% !important;
	min-height:520px !important;
	position:relative !important;
	overflow:hidden !important;
	background:var(--pmap-bg) !important;
}
.pmap-sidebar{
	background:#fff !important;
	border-right:1px solid var(--pmap-line) !important;
	height:100% !important;
	overflow-y:auto !important;
	padding:16px 14px 18px !important;
	position:relative !important;
	z-index:20 !important;
	transition:margin-left .22s ease, transform .22s ease !important;
}
.pmap-map-stage{
	position:relative !important;
	height:100% !important;
	min-height:520px !important;
	overflow:hidden !important;
	background:#dbe3ea !important;
}
.pmap-map{
	width:100% !important;
	height:100% !important;
	min-height:520px !important;
	z-index:1 !important;
	background:#dbe3ea !important;
}
.pmap-detail-panel{
	background:#fff !important;
	border-left:1px solid var(--pmap-line) !important;
	height:100% !important;
	overflow-y:auto !important;
	position:relative !important;
	z-index:22 !important;
	box-shadow:-10px 0 26px rgba(15,23,42,.08) !important;
}

/* ---------- sidebar ---------- */
.pmap-sidebar-top{
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	gap:10px !important;
	padding:0 0 14px !important;
	border-bottom:1px solid var(--pmap-line) !important;
}
.pmap-results-top{
	font-size:15px !important;
	font-weight:700 !important;
	color:#1e293b !important;
	white-space:nowrap !important;
}
.pmap-reset-btn{
	border:1px solid #0f172a !important;
	background:#fff !important;
	color:#0f172a !important;
	border-radius:999px !important;
	padding:7px 13px !important;
	font-size:13px !important;
	font-weight:800 !important;
	line-height:1 !important;
	cursor:pointer !important;
	white-space:nowrap !important;
}
.pmap-reset-btn:hover{background:#f8fafc !important}
.pmap-filter-section{
	padding:18px 0 !important;
	border-bottom:1px solid #edf0f3 !important;
}
.pmap-section-title{
	font-size:13px !important;
	font-weight:800 !important;
	letter-spacing:.04em !important;
	color:#8a94a6 !important;
	text-transform:uppercase !important;
	margin:0 0 12px !important;
}
.pmap-chip-group{
	display:flex !important;
	flex-wrap:wrap !important;
	gap:8px !important;
}
.pmap-type-chip,.pmap-deal-btn,.pmap-mode-chip,.pmap-tag-filter-chip{
	border:1px solid transparent !important;
	background:var(--pmap-chip) !important;
	color:#475569 !important;
	border-radius:999px !important;
	padding:8px 15px !important;
	font-size:14px !important;
	font-weight:700 !important;
	line-height:1 !important;
	cursor:pointer !important;
	transition:background .15s ease,color .15s ease,transform .15s ease !important;
}
.pmap-type-chip:hover,.pmap-deal-btn:hover,.pmap-mode-chip:hover,.pmap-tag-filter-chip:hover{transform:translateY(-1px) !important}
.pmap-type-chip.pmap-active,.pmap-deal-btn.pmap-active,.pmap-mode-chip.pmap-active,.pmap-tag-filter-chip.pmap-active{
	background:#111827 !important;
	color:#fff !important;
	border-color:#111827 !important;
}
.pmap-tag-filter-chip{
	font-size:12px !important;
	padding:7px 11px !important;
	font-weight:700 !important;
}
.pmap-budget-head{
	display:flex !important;
	justify-content:space-between !important;
	align-items:center !important;
	gap:8px !important;
	margin-bottom:8px !important;
}
.pmap-budget-value{
	font-size:13px !important;
	font-weight:800 !important;
	color:#0f172a !important;
}
.pmap-budget-slider{
	width:100% !important;
	accent-color:#111827 !important;
	cursor:pointer !important;
	height:6px !important;
	margin:4px 0 5px !important;
}
.pmap-range-labels{
	display:flex !important;
	justify-content:space-between !important;
	font-size:12px !important;
	font-weight:600 !important;
	color:#94a3b8 !important;
}
.pmap-muted{color:#94a3b8 !important;font-size:13px !important}
.pmap-sidebar-foot{
	padding:18px 0 4px !important;
	font-size:12px !important;
	color:#94a3b8 !important;
	text-align:center !important;
}

/* ---------- floating map controls ---------- */
.pmap-map-toolbar{
	position:absolute !important;
	left:12px !important;
	top:14px !important;
	z-index:15 !important;
	display:flex !important;
	flex-direction:column !important;
	gap:9px !important;
}
.pmap-map-toolbar .pmap-tool-btn{
	width:40px !important;
	height:40px !important;
	border-radius:999px !important;
	border:1px solid rgba(203,213,225,.95) !important;
	background:#fff !important;
	color:#0f172a !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	font-size:16px !important;
	font-weight:900 !important;
	line-height:1 !important;
	cursor:pointer !important;
	box-shadow:0 7px 18px rgba(15,23,42,.14) !important;
}
.pmap-map-toolbar .pmap-tool-btn:hover{background:#f8fafc !important}
.pmap-map-toolbar .pmap-tool-stack{
	display:flex !important;
	flex-direction:column !important;
	gap:7px !important;
	padding:0 !important;
}
.pmap-tool-btn.pmap-active{background:#0f172a !important;color:#fff !important}

.pmap-lang-control{
	position:relative !important;
	width:40px !important;
	height:40px !important;
}
.pmap-lang-menu{
	position:absolute !important;
	left:50px !important;
	top:-7px !important;
	width:176px !important;
	background:#fff !important;
	border:1px solid #e5e7eb !important;
	border-radius:14px !important;
	box-shadow:0 18px 42px rgba(15,23,42,.18) !important;
	padding:9px !important;
	display:none !important;
	z-index:60 !important;
}
.pmap-lang-control.pmap-open .pmap-lang-menu{display:block !important}
.pmap-lang-item{
	width:100% !important;
	border:0 !important;
	background:transparent !important;
	color:#334155 !important;
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	gap:14px !important;
	padding:10px 12px !important;
	border-radius:10px !important;
	font-size:14px !important;
	font-weight:700 !important;
	line-height:1.15 !important;
	cursor:pointer !important;
	box-shadow:none !important;
}
.pmap-lang-item:hover,.pmap-lang-item.pmap-active{background:#f1f5f9 !important;color:#0f172a !important}
.pmap-lang-item small{font-size:11px !important;color:#94a3b8 !important;font-weight:800 !important}
.pmap-lang-item.pmap-active small{color:#0f172a !important}
.pmap-dark-map .pmap-lang-menu{background:#111827 !important;border-color:#334155 !important}
.pmap-dark-map .pmap-lang-item{color:#e5e7eb !important}
.pmap-dark-map .pmap-lang-item:hover,.pmap-dark-map .pmap-lang-item.pmap-active{background:#1f2937 !important;color:#fff !important}
.pmap-tool-count{
	font-size:10px !important;
	font-weight:800 !important;
	line-height:1 !important;
	position:absolute !important;
	bottom:6px !important;
}
.pmap-filter-toggle{
	position:relative !important;
	height:56px !important;
	border-radius:18px !important;
	background:#111827 !important;
	color:#fff !important;
	flex-direction:column !important;
	font-size:17px !important;
}
.pmap-filter-toggle .pmap-tool-count{color:#fff !important}
.pmap-legend{
	position:absolute !important;
	right:18px !important;
	top:18px !important;
	z-index:15 !important;
	width:178px !important;
	background:#fff !important;
	border:1px solid #e2e8f0 !important;
	box-shadow:0 10px 26px rgba(15,23,42,.10) !important;
	border-radius:12px !important;
	padding:9px 11px !important;
}
.pmap-legend-top{
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	gap:8px !important;
	font-size:13px !important;
	font-weight:800 !important;
	color:#1e293b !important;
	margin-bottom:6px !important;
}
.pmap-legend-bar{
	height:7px !important;
	border-radius:999px !important;
	background:linear-gradient(90deg,#2ea8ff 0%,#18e0a5 23%,#8cf531 42%,#fff738 59%,#ffaf1a 74%,#ff2e24 88%,#7a1f68 100%) !important;
	margin-bottom:4px !important;
}
.pmap-legend-scale{
	display:flex !important;
	justify-content:space-between !important;
	font-size:11px !important;
	font-weight:700 !important;
	color:#94a3b8 !important;
}
.pmap-route-info{
	position:absolute !important;
	left:50% !important;
	bottom:18px !important;
	transform:translateX(-50%) !important;
	z-index:16 !important;
	background:#0f172a !important;
	color:#fff !important;
	border-radius:999px !important;
	padding:10px 14px !important;
	box-shadow:0 14px 34px rgba(15,23,42,.25) !important;
	align-items:center !important;
	gap:8px !important;
	font-size:13px !important;
	font-weight:700 !important;
	max-width:90% !important;
	white-space:nowrap !important;
	overflow:hidden !important;
	text-overflow:ellipsis !important;
}
.pmap-route-info b{color:#fde68a !important}
.pmap-route-clear{
	border:0 !important;
	background:rgba(255,255,255,.15) !important;
	color:#fff !important;
	width:24px !important;
	height:24px !important;
	border-radius:999px !important;
	cursor:pointer !important;
	font-size:18px !important;
	line-height:1 !important;
}

/* ---------- pins ---------- */
.pmap-pin{
	width:34px !important;
	height:34px !important;
	border-radius:999px !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	font-size:11px !important;
	font-weight:900 !important;
	color:#111827 !important;
	border:2px solid rgba(255,255,255,.95) !important;
	box-shadow:0 3px 9px rgba(15,23,42,.32) !important;
	transition:transform .12s ease,box-shadow .12s ease !important;
	position:relative !important;
}
.pmap-pin:hover,.pmap-pin.pmap-selected{
	transform:scale(1.18) !important;
	box-shadow:0 7px 18px rgba(15,23,42,.45) !important;
	z-index:99 !important;
}
.pmap-pin.pmap-selected{outline:3px solid rgba(17,24,39,.25) !important}
.pmap-pin.pmap-liked:after{
	content:"♥" !important;
	position:absolute !important;
	right:-5px !important;
	top:-6px !important;
	font-size:11px !important;
	color:#ef4444 !important;
	text-shadow:0 1px 2px #fff !important;
}
.pmap-pin-b{background:#2ea8ff !important;color:#082f49 !important}
.pmap-pin-g{background:#1fe2a1 !important;color:#064e3b !important}
.pmap-pin-y{background:#f4f83a !important;color:#3f3f05 !important}
.pmap-pin-o{background:#fb923c !important;color:#431407 !important}
.pmap-pin-r{background:#ef4444 !important;color:#fff !important}
.pmap-pin-type{color:#fff !important;text-shadow:0 1px 2px rgba(0,0,0,.5) !important}
.pmap-html-marker{isolation:isolate !important}
.pmap-html-marker:hover{
	z-index:2147483000 !important;
}
.pmap-marker-wrap{position:relative !important}
.pmap-marker-tooltip{
	position:absolute !important;
	left:50% !important;
	bottom:46px !important;
	z-index:2147483001 !important;
	width:max-content !important;
	min-width:220px !important;
	max-width:300px !important;
	padding:12px 14px !important;
	border:1px solid #c7cdd6 !important;
	border-radius:10px !important;
	background:rgba(255,255,255,.98) !important;
	color:#1f2937 !important;
	box-shadow:0 14px 34px rgba(15,23,42,.26),0 2px 7px rgba(15,23,42,.12) !important;
	font-family:"Prompt","Kanit",sans-serif !important;
	font-size:13px !important;
	font-weight:500 !important;
	line-height:1.25 !important;
	text-align:left !important;
	white-space:normal !important;
	opacity:0 !important;
	pointer-events:none !important;
	transform:translateX(-50%) translateY(8px) !important;
	transition:opacity .12s ease,transform .12s ease !important;
}
.pmap-marker-tooltip b,
.pmap-marker-tooltip span{
	display:block !important;
	color:#1f2937 !important;
	text-shadow:none !important;
}
.pmap-marker-tooltip b{margin-bottom:8px !important;font-size:15px !important;font-weight:900 !important}
.pmap-marker-tooltip em{
	font-style:normal !important;
	font-weight:900 !important;
	color:#3b82f6 !important;
	text-shadow:none !important;
}
.pmap-marker-tooltip em.pmap-marker-feature-green{color:#10b981 !important}
.pmap-marker-tooltip em.pmap-marker-feature-red{color:#ef4444 !important}
.pmap-marker-tooltip em.pmap-marker-feature-blue{color:#3b82f6 !important}
.pmap-marker-wrap:hover .pmap-marker-tooltip,
.pmap-html-marker:hover .pmap-marker-tooltip{
	opacity:1 !important;
	transform:translateX(-50%) translateY(0) !important;
}
.pmap-legacy-tooltip{
	font-family:"Prompt","Kanit",sans-serif !important;
	font-size:12px !important;
	font-weight:700 !important;
	border:0 !important;
	border-radius:7px !important;
	box-shadow:0 6px 18px rgba(15,23,42,.16) !important;
}

/* ---------- detail panel ---------- */
.pmap-detail-close{
	position:absolute !important;
	right:14px !important;
	top:14px !important;
	z-index:5 !important;
	width:36px !important;
	height:36px !important;
	border:0 !important;
	border-radius:999px !important;
	background:#fff !important;
	color:#64748b !important;
	box-shadow:0 8px 18px rgba(15,23,42,.12) !important;
	font-size:24px !important;
	line-height:1 !important;
	cursor:pointer !important;
}
.pmap-detail-image{
	width:100% !important;
	height:210px !important;
	background:#f1f5f9 !important;
	overflow:hidden !important;
}
.pmap-detail-image img{
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
	display:block !important;
}

.pmap-slider{position:relative !important}
.pmap-slide{
	position:absolute !important;
	inset:0 !important;
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
	display:block !important;
	opacity:0 !important;
	transition:opacity .18s ease !important;
}
.pmap-slide.pmap-active{opacity:1 !important}
.pmap-slide-btn{
	position:absolute !important;
	top:50% !important;
	transform:translateY(-50%) !important;
	z-index:3 !important;
	width:34px !important;
	height:34px !important;
	border:0 !important;
	border-radius:999px !important;
	background:rgba(255,255,255,.92) !important;
	color:#0f172a !important;
	box-shadow:0 8px 18px rgba(15,23,42,.16) !important;
	font-size:28px !important;
	line-height:1 !important;
	cursor:pointer !important;
}
.pmap-slide-prev{left:12px !important}
.pmap-slide-next{right:12px !important}
.pmap-slide-count{
	position:absolute !important;
	left:50% !important;
	bottom:12px !important;
	transform:translateX(-50%) !important;
	z-index:3 !important;
	background:rgba(15,23,42,.72) !important;
	color:#fff !important;
	border-radius:999px !important;
	padding:4px 9px !important;
	font-size:12px !important;
	font-weight:800 !important;
}

.pmap-no-image{
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	font-weight:800 !important;
	color:#94a3b8 !important;
}
.pmap-detail-body{padding:24px 24px 26px !important;position:relative !important}
.pmap-detail-kicker{
	font-size:12px !important;
	font-weight:800 !important;
	letter-spacing:.11em !important;
	text-transform:uppercase !important;
	color:#94a3b8 !important;
	margin-bottom:8px !important;
}
.pmap-detail-title{
	font-size:23px !important;
	line-height:1.25 !important;
	font-weight:900 !important;
	letter-spacing:-.025em !important;
	color:#0f172a !important;
	margin:0 46px 6px 0 !important;
}
.pmap-detail-address{
	font-size:14px !important;
	line-height:1.55 !important;
	color:#64748b !important;
	margin:0 0 18px !important;
}
.pmap-detail-price{
	display:flex !important;
	flex-direction:column !important;
	align-items:flex-start !important;
	gap:4px !important;
	font-size:34px !important;
	line-height:1.05 !important;
	font-weight:900 !important;
	letter-spacing:-.04em !important;
	color:#0f172a !important;
	margin:0 0 12px !important;
}
.pmap-detail-price span + span{
	font-size:18px !important;
	letter-spacing:-.02em !important;
	color:#334155 !important;
}
.pmap-detail-actions{
	position:absolute !important;
	right:22px !important;
	top:82px !important;
	display:flex !important;
	gap:10px !important;
}
.pmap-circle-btn{
	width:38px !important;
	height:38px !important;
	border:0 !important;
	border-radius:999px !important;
	background:#fff !important;
	color:#0f172a !important;
	box-shadow:0 8px 20px rgba(15,23,42,.13) !important;
	font-size:20px !important;
	font-weight:900 !important;
	line-height:1 !important;
	cursor:pointer !important;
}
.pmap-circle-btn.pmap-active,.pmap-detail-fav.pmap-active{color:#ef4444 !important;background:#fff7f7 !important}
.pmap-detail-grid{
	display:grid !important;
	grid-template-columns:1fr 1fr !important;
	border:1px solid var(--pmap-line) !important;
	border-radius:15px !important;
	overflow:hidden !important;
	margin:18px 0 !important;
}
.pmap-info-box{
	min-height:70px !important;
	padding:14px 16px !important;
	border-right:1px solid var(--pmap-line) !important;
	border-bottom:1px solid var(--pmap-line) !important;
}
.pmap-info-box:nth-child(2n){border-right:0 !important}
.pmap-info-box:nth-last-child(-n+2){border-bottom:0 !important}
.pmap-info-box span{
	display:block !important;
	font-size:11px !important;
	font-weight:800 !important;
	letter-spacing:.15em !important;
	text-transform:uppercase !important;
	color:#94a3b8 !important;
	margin-bottom:7px !important;
}
.pmap-info-box b{
	display:block !important;
	font-size:19px !important;
	font-weight:900 !important;
	color:#0f172a !important;
}
.pmap-detail-line{
	display:flex !important;
	justify-content:space-between !important;
	gap:12px !important;
	padding:10px 0 !important;
	border-bottom:1px solid #f1f5f9 !important;
	font-size:14px !important;
}
.pmap-detail-line b{color:#334155 !important}
.pmap-detail-line span{color:#64748b !important;text-align:right !important}
.pmap-detail-desc{
	font-size:14px !important;
	line-height:1.7 !important;
	color:#475569 !important;
	background:#f8fafc !important;
	border:1px solid #eef2f7 !important;
	border-radius:13px !important;
	padding:12px 14px !important;
	margin:14px 0 !important;
}
.pmap-detail-section-title{
	font-size:12px !important;
	font-weight:900 !important;
	letter-spacing:.12em !important;
	color:#94a3b8 !important;
	text-transform:uppercase !important;
	margin:16px 0 10px !important;
}
.pmap-detail-pills{
	display:flex !important;
	flex-wrap:wrap !important;
	gap:8px !important;
	margin-bottom:18px !important;
}
.pmap-pill{
	background:#f4f1ed !important;
	color:#5b5147 !important;
	border-radius:999px !important;
	padding:8px 12px !important;
	font-size:12px !important;
	font-weight:800 !important;
}
.pmap-primary-btn,.pmap-secondary-btn{
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:100% !important;
	min-height:48px !important;
	border-radius:10px !important;
	font-size:15px !important;
	font-weight:900 !important;
	text-decoration:none !important;
	margin-top:10px !important;
	cursor:pointer !important;
}
.pmap-primary-btn{
	background:#0f172a !important;
	color:#fff !important;
	border:1px solid #0f172a !important;
}
.pmap-secondary-btn{
	background:#fff !important;
	color:#475569 !important;
	border:1px solid #e2e8f0 !important;
}
.pmap-secondary-btn:hover{background:#f8fafc !important;color:#0f172a !important}
.pmap-empty-card{
	height:100% !important;
	min-height:420px !important;
	display:flex !important;
	flex-direction:column !important;
	align-items:center !important;
	justify-content:center !important;
	text-align:center !important;
	padding:32px !important;
}
.pmap-empty-icon{
	width:64px !important;
	height:64px !important;
	border-radius:999px !important;
	background:#f1f5f9 !important;
	color:#94a3b8 !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	font-size:30px !important;
	margin-bottom:14px !important;
}
.pmap-empty-card h3{
	font-size:20px !important;
	font-weight:900 !important;
	margin:0 0 6px !important;
	color:#0f172a !important;
}
.pmap-empty-card p{
	font-size:14px !important;
	color:#64748b !important;
	line-height:1.6 !important;
	margin:0 !important;
}

/* ---------- states ---------- */

.pmap-detail-hidden .pmap-detail-panel{display:none !important}
.pmap-detail-hidden .pmap-shell{grid-template-columns:360px minmax(360px,1fr) !important}
.pmap-detail-hidden.pmap-sidebar-collapsed .pmap-shell{grid-template-columns:0 minmax(360px,1fr) !important}
.pmap-sidebar-collapsed .pmap-sidebar{
	margin-left:-360px !important;
}
.pmap-sidebar-collapsed .pmap-shell{
	grid-template-columns:0 minmax(360px,1fr) 420px !important;
}
.pmap-detail-hidden.pmap-sidebar-collapsed .pmap-shell{grid-template-columns:0 minmax(360px,1fr) !important}
.pmap-dark-map .pmap-legend,.pmap-dark-map .pmap-map-toolbar .pmap-tool-btn{background:#111827 !important;color:#fff !important;border-color:#334155 !important}
.pmap-dark-map .pmap-legend-top{color:#fff !important}
.pmap-toast{
	position:absolute !important;
	left:50% !important;
	top:70px !important;
	transform:translateX(-50%) translateY(-12px) !important;
	z-index:80 !important;
	background:#0f172a !important;
	color:#fff !important;
	padding:10px 14px !important;
	border-radius:999px !important;
	font-size:13px !important;
	font-weight:800 !important;
	opacity:0 !important;
	transition:all .2s ease !important;
	box-shadow:0 12px 26px rgba(15,23,42,.25) !important;
}
.pmap-toast.pmap-show{opacity:1 !important;transform:translateX(-50%) translateY(0) !important}

/* ---------- responsive ---------- */
@media (max-width:1280px){
	.pmap-detail-hidden .pmap-shell{grid-template-columns:320px minmax(360px,1fr) !important}
	.pmap-shell{grid-template-columns:320px minmax(360px,1fr) 380px !important}
	.pmap-sidebar-collapsed .pmap-sidebar{margin-left:-320px !important}
	.pmap-sidebar-collapsed .pmap-shell{grid-template-columns:0 minmax(360px,1fr) 380px !important}
	.pmap-detail-hidden.pmap-sidebar-collapsed .pmap-shell{grid-template-columns:0 minmax(360px,1fr) !important}
	.pmap-detail-title{font-size:21px !important}
	.pmap-detail-price{font-size:30px !important}
}
@media (max-width:1024px){
	.pmap-detail-hidden .pmap-shell{grid-template-columns:300px minmax(320px,1fr) !important}
	.pmap-topbar{grid-template-columns:150px 1fr auto !important;padding:7px 10px !important}
	.pmap-shell{grid-template-columns:300px minmax(320px,1fr) !important}
	.pmap-detail-panel{
		position:absolute !important;
		right:12px !important;
		top:12px !important;
		bottom:12px !important;
		width:360px !important;
		height:auto !important;
		border-radius:18px !important;
		box-shadow:var(--pmap-shadow) !important;
		border:1px solid #e2e8f0 !important;
	}
	.pmap-sidebar-collapsed .pmap-shell{grid-template-columns:0 minmax(320px,1fr) !important}
	.pmap-detail-hidden.pmap-sidebar-collapsed .pmap-shell{grid-template-columns:0 minmax(320px,1fr) !important}
	.pmap-legend{right:12px !important;top:12px !important}
}
@media (max-width:760px){
	.pmap-topbar{
		height:auto !important;
		grid-template-columns:1fr auto !important;
		grid-template-areas:"brand action" "search search" !important;
		gap:9px !important;
	}
	.pmap-brand{grid-area:brand !important}
	.pmap-search-wrap{grid-area:search !important}
	.pmap-top-actions{grid-area:action !important}
	.pmap-shell{display:block !important;height:calc(100vh - 104px) !important;min-height:560px !important}
	.pmap-map-stage{height:100% !important;min-height:560px !important}
	.pmap-map{height:100% !important;min-height:560px !important}
	.pmap-sidebar{
		position:absolute !important;
		left:0 !important;
		top:0 !important;
		bottom:0 !important;
		width:86% !important;
		max-width:340px !important;
		transform:translateX(0) !important;
		box-shadow:16px 0 32px rgba(15,23,42,.2) !important;
	}
	.pmap-sidebar-collapsed .pmap-sidebar{margin-left:0 !important;transform:translateX(-105%) !important}
	.pmap-detail-panel{
		left:10px !important;
		right:10px !important;
		top:auto !important;
		bottom:10px !important;
		width:auto !important;
		max-height:70% !important;
	}
	.pmap-detail-image{height:150px !important}
	.pmap-detail-body{padding:18px !important}
	.pmap-detail-title{font-size:19px !important}
	.pmap-detail-price{font-size:27px !important}
	.pmap-detail-actions{right:18px !important;top:68px !important}
	.pmap-legend{display:none !important}
	.pmap-map-toolbar{left:10px !important;top:10px !important}
	.pmap-route-info{bottom:12px !important;max-width:calc(100% - 24px) !important;font-size:12px !important}
}
@media (max-width:460px){
	.pmap-brand{font-size:17px !important}
	.pmap-signup-btn{font-size:12px !important;padding:7px 10px !important}
	.pmap-search-input{height:39px !important;font-size:13px !important}
	.pmap-shell{height:calc(100vh - 96px) !important}
	.pmap-sidebar{width:90% !important}
	.pmap-detail-grid{grid-template-columns:1fr 1fr !important}
	.pmap-info-box{padding:12px !important;min-height:62px !important}
	.pmap-info-box b{font-size:17px !important}
}


/* ============================================================
 * MyHome theme full-screen fixes
 * Loaded only on pages that render [property_map]
 * ============================================================ */
body .pmap-app.pmap-bkk-ui{
	width:100vw !important;
	max-width:100vw !important;
	margin-left:calc(50% - 50vw) !important;
	margin-right:calc(50% - 50vw) !important;
}
body .pmap-app .pmap-signup-btn,
body .pmap-app .pmap-top-actions{
	display:none !important;
}
body .pmap-app .pmap-brand-cloud .pmap-brand-text{
	font-weight:800 !important;
	font-size:18px !important;
	letter-spacing:-.03em !important;
	color:#0f172a !important;
}
body .pmap-app .pmap-topbar{
	grid-template-columns:300px minmax(320px,640px) 300px !important;
}
body .pmap-app .pmap-shell,
body .pmap-app .pmap-map-stage,
body .pmap-app .pmap-map{
	height:calc(100vh - 56px) !important;
	min-height:calc(100vh - 56px) !important;
}

/* Expand common MyHome/WPBakery page wrappers on the map page */
body .mh-layout,
body .mh-layout__content,
body .mh-page,
body .mh-page__content,
body .mh-content,
body .mh-container,
body .mh-site-main,
body .mh-wrapper,
body .mh-wrapper__content,
body .entry-content,
body .site-content,
body .content-area,
body .container,
body .vc_row,
body .wpb_row,
body .vc_column_container,
body .wpb_column,
body .vc_column-inner,
body .wpb_wrapper{
	max-width:100% !important;
	width:100% !important;
}
body .mh-layout,
body .mh-layout__content,
body .mh-page,
body .mh-page__content,
body .mh-content,
body .mh-container,
body .mh-site-main,
body .mh-wrapper,
body .mh-wrapper__content,
body .entry-content,
body .site-content,
body .content-area,
body .container,
body .vc_row,
body .wpb_row,
body .vc_column_container,
body .wpb_column,
body .vc_column-inner,
body .wpb_wrapper{
	padding-left:0 !important;
	padding-right:0 !important;
	margin-left:0 !important;
	margin-right:0 !important;
}
body .wpb_content_element{
	margin-bottom:0 !important;
}

/* Hide MyHome/page title above the map */
body .mh-page-title,
body .mh-page-title__heading,
body .mh-top-title,
body .mh-title,
body .entry-title,
body .page-title,
body h1.entry-title{
	display:none !important;
}

@media (max-width: 900px){
	body .pmap-app .pmap-topbar{
		grid-template-columns:1fr !important;
		height:auto !important;
		padding:8px 10px !important;
	}
	body .pmap-app .pmap-brand{
		justify-content:center !important;
	}
}

/* ============================================================
 * v3.4 — BKK Finder style advanced filters
 * ============================================================ */
.pmap-advanced-head{
	width:100% !important;
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	border:0 !important;
	background:transparent !important;
	padding:0 !important;
	margin:0 0 14px !important;
	font-size:13px !important;
	font-weight:800 !important;
	letter-spacing:.04em !important;
	color:#8a94a6 !important;
	text-transform:uppercase !important;
	cursor:pointer !important;
}
.pmap-adv-caret{font-size:16px !important;color:#64748b !important;line-height:1 !important}
.pmap-advanced-collapsed .pmap-advanced-body{display:none !important}
.pmap-advanced-collapsed .pmap-adv-caret{transform:rotate(180deg) !important}
.pmap-adv-control{padding:0 0 16px !important;margin:0 0 16px !important;border-bottom:1px solid #edf0f3 !important}
.pmap-adv-control:last-child{border-bottom:0 !important;margin-bottom:0 !important;padding-bottom:0 !important}
.pmap-adv-label{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:10px !important;margin-bottom:8px !important;color:#8a94a6 !important;font-size:13px !important;font-weight:700 !important;letter-spacing:.02em !important;text-transform:uppercase !important}
.pmap-adv-label b{color:#0f172a !important;font-size:13px !important;font-weight:800 !important;text-transform:none !important;letter-spacing:0 !important;white-space:nowrap !important}
.pmap-adv-range{width:100% !important;accent-color:#111827 !important;height:5px !important;cursor:pointer !important;margin:0 0 8px !important}
.pmap-toggle-list{display:flex !important;flex-direction:column !important;gap:9px !important}
.pmap-toggle-filter{display:flex !important;align-items:center !important;gap:10px !important;width:100% !important;border:0 !important;background:transparent !important;padding:0 !important;margin:0 !important;color:#334155 !important;font-size:14px !important;font-weight:600 !important;line-height:1.25 !important;text-align:left !important;cursor:pointer !important}
.pmap-toggle-filter i{position:relative !important;width:31px !important;height:18px !important;flex:0 0 31px !important;border-radius:999px !important;background:#cbd5e1 !important;transition:background .16s ease !important}
.pmap-toggle-filter i:after{content:"" !important;position:absolute !important;left:2px !important;top:2px !important;width:14px !important;height:14px !important;border-radius:50% !important;background:#fff !important;box-shadow:0 1px 2px rgba(15,23,42,.20) !important;transition:transform .16s ease !important}
.pmap-toggle-filter.pmap-active i{background:#111827 !important}
.pmap-toggle-filter.pmap-active i:after{transform:translateX(13px) !important}
.pmap-sub-toggle{padding-left:24px !important;color:#64748b !important;font-size:13px !important}
.pmap-small-toggle{margin-top:4px !important;color:#64748b !important;font-size:13px !important}
.pmap-location-filter{display:flex !important;flex-direction:column !important;gap:8px !important}
.pmap-location-select{width:100% !important;height:38px !important;border:1px solid #e2e8f0 !important;background:#fff !important;border-radius:10px !important;padding:0 12px !important;color:#334155 !important;font-size:13px !important;font-weight:600 !important;outline:none !important}
.pmap-location-select:focus{border-color:#94a3b8 !important;box-shadow:0 0 0 3px rgba(15,23,42,.07) !important}
.pmap-dev-head{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:10px !important;margin-bottom:10px !important}
.pmap-dev-head .pmap-section-title{margin:0 !important}
.pmap-dev-count{font-size:12px !important;color:#64748b !important;font-weight:600 !important;white-space:nowrap !important}
.pmap-dev-search-wrap{position:relative !important;margin-bottom:10px !important}
.pmap-dev-search-wrap span{position:absolute !important;left:12px !important;top:50% !important;transform:translateY(-50%) !important;color:#94a3b8 !important;font-size:14px !important;pointer-events:none !important}
.pmap-dev-search{width:100% !important;height:38px !important;border:1px solid #e2e8f0 !important;border-radius:10px !important;padding:0 12px 0 34px !important;font-size:13px !important;font-weight:600 !important;color:#334155 !important;outline:none !important;background:#fff !important}
.pmap-dev-chip-wrap{display:flex !important;flex-wrap:wrap !important;gap:7px !important;margin:8px 0 10px !important}
.pmap-dev-chip{border:1px solid transparent !important;background:#f5f6f8 !important;color:#475569 !important;border-radius:999px !important;padding:8px 12px !important;font-size:13px !important;font-weight:800 !important;line-height:1 !important;cursor:pointer !important}
.pmap-dev-chip.pmap-active{background:#111827 !important;color:#fff !important;border-color:#111827 !important}
.pmap-dev-more{display:inline-flex !important;align-items:center !important;background:#f5f6f8 !important;color:#64748b !important;border-radius:999px !important;padding:8px 12px !important;font-size:12px !important;font-weight:800 !important;line-height:1 !important}
.pmap-dev-actions{display:flex !important;align-items:center !important;gap:14px !important;margin-top:8px !important}
.pmap-dev-actions button{border:0 !important;background:transparent !important;padding:0 !important;font-size:13px !important;font-weight:800 !important;color:#64748b !important;cursor:pointer !important}
.pmap-dev-actions button:hover{color:#0f172a !important;text-decoration:underline !important}
.pmap-nearby-section .pmap-tag-filter-chip.pmap-active{background:#111827 !important;color:#fff !important}

/* ---------- v3.7: color-only type pins ---------- */
.pmap-pin-dot{
	font-size:0 !important;
	color:transparent !important;
	text-shadow:none !important;
}
.pmap-pin-dot:before{
	content:"" !important;
	width:8px !important;
	height:8px !important;
	border-radius:999px !important;
	background:rgba(255,255,255,.55) !important;
	display:block !important;
}

/* ---------- v3.7: cookie/privacy modal ---------- */
.pmap-cookie-overlay{
	position:absolute !important;
	inset:0 !important;
	z-index:2000 !important;
	background:rgba(15,23,42,.42) !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	padding:24px !important;
}
.pmap-cookie-modal{
	width:min(520px, calc(100vw - 36px)) !important;
	background:#fff !important;
	border-radius:16px !important;
	box-shadow:0 28px 70px rgba(15,23,42,.32) !important;
	padding:22px !important;
	position:relative !important;
	color:#0f172a !important;
	font-family:inherit !important;
}
.pmap-cookie-close{
	position:absolute !important;
	right:16px !important;
	top:14px !important;
	width:28px !important;
	height:28px !important;
	border:0 !important;
	background:transparent !important;
	font-size:24px !important;
	line-height:1 !important;
	color:#94a3b8 !important;
	cursor:pointer !important;
}
.pmap-cookie-lang{
	display:inline-flex !important;
	align-items:center !important;
	gap:8px !important;
	border:1px solid #dbe3ea !important;
	border-radius:10px !important;
	padding:8px 12px !important;
	font-size:13px !important;
	color:#475569 !important;
	margin-bottom:12px !important;
}
.pmap-cookie-lang b{font-weight:700 !important;color:#0f172a !important}
.pmap-cookie-modal h3{
	font-size:18px !important;
	font-weight:900 !important;
	line-height:1.35 !important;
	margin:0 0 8px !important;
	color:#0f172a !important;
}
.pmap-cookie-modal p{
	font-size:13px !important;
	line-height:1.65 !important;
	margin:0 0 12px !important;
	color:#64748b !important;
}
.pmap-cookie-row{
	display:flex !important;
	align-items:flex-start !important;
	gap:12px !important;
	border:1px solid #e5e7eb !important;
	border-radius:10px !important;
	padding:13px !important;
	margin:10px 0 !important;
	background:#fff !important;
	cursor:pointer !important;
}
.pmap-cookie-row.pmap-cookie-disabled{
	background:#f8fafc !important;
	cursor:not-allowed !important;
}
.pmap-cookie-row input{
	width:18px !important;
	height:18px !important;
	margin:2px 0 0 !important;
	accent-color:#0f172a !important;
}
.pmap-cookie-row span{display:flex !important;flex-direction:column !important;gap:3px !important}
.pmap-cookie-row b{font-size:14px !important;font-weight:900 !important;color:#0f172a !important}
.pmap-cookie-row small{font-size:12px !important;line-height:1.45 !important;color:#64748b !important}
.pmap-cookie-actions{
	display:flex !important;
	justify-content:flex-end !important;
	gap:8px !important;
	margin-top:14px !important;
	flex-wrap:wrap !important;
}
.pmap-cookie-btn{
	border:1px solid #cbd5e1 !important;
	background:#fff !important;
	color:#334155 !important;
	border-radius:8px !important;
	padding:9px 13px !important;
	font-size:13px !important;
	font-weight:800 !important;
	cursor:pointer !important;
}
.pmap-cookie-save,
.pmap-cookie-accept{
	background:#0f172a !important;
	border-color:#0f172a !important;
	color:#fff !important;
}
.pmap-cookie-main{font-size:15px !important;}


/* ---------- Project name labels on map ---------- */
.pmap-app .pmap-tool-btn.pmap-project-name-toggle.pmap-active{
	background:#0f172a !important;
	color:#fff !important;
	box-shadow:0 10px 22px rgba(15,23,42,.22) !important;
}
/* ---------- v3.9: member system / login required favorites ---------- */
body .pmap-app .pmap-top-actions{
	display:flex !important;
	justify-content:flex-end !important;
	align-items:center !important;
}
body .pmap-app .pmap-signup-btn{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	background:#0f172a !important;
	color:#fff !important;
	border:0 !important;
	border-radius:7px !important;
	font-size:14px !important;
	font-weight:800 !important;
	padding:8px 14px !important;
	line-height:1.1 !important;
	cursor:pointer !important;
	white-space:nowrap !important;
}
.pmap-member-overlay{
	position:absolute !important;
	inset:0 !important;
	z-index:9999 !important;
	background:rgba(15,23,42,.48) !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	padding:24px !important;
}
.pmap-member-modal{
	width:min(430px, calc(100vw - 32px)) !important;
	background:#fff !important;
	border-radius:22px !important;
	box-shadow:0 28px 80px rgba(15,23,42,.34) !important;
	padding:30px 32px 26px !important;
	position:relative !important;
	color:#0f172a !important;
}
.pmap-member-close{
	position:absolute !important;
	right:24px !important;
	top:22px !important;
	width:34px !important;
	height:34px !important;
	border:0 !important;
	background:transparent !important;
	font-size:30px !important;
	line-height:1 !important;
	color:#94a3b8 !important;
	cursor:pointer !important;
}
.pmap-member-modal h3{
	margin:0 0 22px !important;
	font-size:23px !important;
	font-weight:900 !important;
	letter-spacing:-.03em !important;
	color:#0f172a !important;
}
.pmap-member-tabs{
	display:grid !important;
	grid-template-columns:1fr 1fr !important;
	gap:0 !important;
	background:#eef0f4 !important;
	border-radius:12px !important;
	padding:4px !important;
	margin-bottom:24px !important;
}
.pmap-member-tab{
	height:43px !important;
	border:0 !important;
	background:transparent !important;
	border-radius:10px !important;
	font-size:14px !important;
	font-weight:800 !important;
	color:#111827 !important;
	cursor:pointer !important;
}
.pmap-member-tab.pmap-active{
	background:#fff !important;
	box-shadow:0 2px 8px rgba(15,23,42,.12) !important;
}
.pmap-member-form{
	display:flex !important;
	flex-direction:column !important;
	gap:14px !important;
}
.pmap-member-input{
	width:100% !important;
	height:52px !important;
	border:0 !important;
	border-radius:12px !important;
	background:#f2f4f8 !important;
	padding:0 16px !important;
	font-size:15px !important;
	font-weight:700 !important;
	color:#0f172a !important;
	outline:none !important;
}
.pmap-member-input::placeholder{color:#9ca3af !important}
.pmap-member-input:focus{box-shadow:0 0 0 3px rgba(15,23,42,.10) !important;background:#fff !important}
.pmap-member-terms{
	display:flex !important;
	align-items:flex-start !important;
	gap:9px !important;
	font-size:13px !important;
	line-height:1.45 !important;
	font-weight:700 !important;
	color:#334155 !important;
}
.pmap-member-terms input{
	width:18px !important;
	height:18px !important;
	margin-top:1px !important;
	accent-color:#0f172a !important;
}
.pmap-member-links{
	display:flex !important;
	justify-content:flex-end !important;
	gap:18px !important;
	font-size:13px !important;
}
.pmap-member-links button{
	border:0 !important;
	background:transparent !important;
	color:#111827 !important;
	font-weight:800 !important;
	padding:0 !important;
	cursor:pointer !important;
}
.pmap-member-cf{
	height:64px !important;
	background:#2f2f2f !important;
	color:#fff !important;
	display:flex !important;
	align-items:center !important;
	gap:10px !important;
	padding:0 12px !important;
	margin-top:4px !important;
}
.pmap-member-check{
	width:30px !important;
	height:30px !important;
	border-radius:50% !important;
	background:#22c55e !important;
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	font-weight:900 !important;
	font-size:19px !important;
	flex:0 0 auto !important;
}
.pmap-member-cf b{font-size:14px !important;font-weight:900 !important;margin-right:auto !important}
.pmap-member-cf-brand{font-size:10px !important;font-weight:900 !important;letter-spacing:.09em !important;color:#fff !important}
.pmap-member-error{
	min-height:18px !important;
	font-size:13px !important;
	font-weight:800 !important;
	color:#dc2626 !important;
}
.pmap-member-submit{
	height:54px !important;
	border:0 !important;
	border-radius:12px !important;
	background:#111827 !important;
	color:#fff !important;
	font-size:15px !important;
	font-weight:900 !important;
	box-shadow:0 10px 20px rgba(15,23,42,.22) !important;
	cursor:pointer !important;
}
.pmap-member-submit:disabled{opacity:.65 !important;cursor:wait !important}
.pmap-member-protected{
	text-align:center !important;
	font-size:13px !important;
	font-weight:700 !important;
	color:#9ca3af !important;
	margin-top:18px !important;
}
.pmap-member-account-head{
	display:flex !important;
	align-items:center !important;
	gap:13px !important;
	padding:4px 0 18px !important;
}
.pmap-member-account-head strong{display:block !important;font-size:17px !important;color:#0f172a !important}
.pmap-member-account-head span{display:block !important;margin-top:3px !important;font-size:13px !important;color:#64748b !important}
.pmap-member-avatar{
	width:48px !important;height:48px !important;border-radius:50% !important;background:#0f172a !important;color:#fff !important;
	display:flex !important;align-items:center !important;justify-content:center !important;font-size:20px !important;font-weight:900 !important;flex:0 0 auto !important;
}
.pmap-member-level-card{
	background:linear-gradient(135deg,#0f172a,#263550) !important;color:#fff !important;border-radius:14px !important;padding:17px 18px !important;
	display:flex !important;align-items:center !important;justify-content:space-between !important;gap:15px !important;
}
.pmap-member-level-card span{font-size:13px !important;font-weight:700 !important;color:#cbd5e1 !important}
.pmap-member-level-card b{font-size:16px !important;font-weight:900 !important;color:#fff !important}
.pmap-member-access-note{margin:14px 0 !important;text-align:center !important;color:#64748b !important;font-size:13px !important;font-weight:700 !important}
.pmap-member-logout{
	width:100% !important;height:50px !important;border:1px solid #fecaca !important;border-radius:12px !important;background:#fff1f2 !important;color:#be123c !important;
	font-size:14px !important;font-weight:900 !important;cursor:pointer !important;
}
.pmap-member-logout:disabled{opacity:.65 !important;cursor:wait !important}
@media (max-width:640px){
	.pmap-member-overlay{align-items:flex-start !important;padding-top:82px !important}
	.pmap-member-modal{padding:26px 22px 22px !important;border-radius:18px !important}
}

/* ---------- v4.0 additions: map Like button, share modal, LINE CTA ---------- */
.pmap-map-toolbar .pmap-tool-btn.pmap-fav-main{
	font-size:22px !important;
	line-height:1 !important;
}
.pmap-map-toolbar .pmap-tool-btn.pmap-fav-main.pmap-active{
	background:#fff7f7 !important;
	color:#ef4444 !important;
	border-color:#fecaca !important;
}
.pmap-line-btn{
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:100% !important;
	min-height:48px !important;
	border-radius:12px !important;
	background:#06c755 !important;
	color:#fff !important;
	text-decoration:none !important;
	font-size:14px !important;
	font-weight:900 !important;
	letter-spacing:.01em !important;
	box-shadow:0 10px 22px rgba(6,199,85,.22) !important;
	margin:10px 0 !important;
}
.pmap-line-btn:hover{filter:brightness(.96) !important;color:#fff !important;text-decoration:none !important}
.pmap-share-overlay{
	position:absolute !important;
	inset:0 !important;
	z-index:9998 !important;
	background:rgba(15,23,42,.45) !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	padding:20px !important;
}
.pmap-share-modal{
	width:min(360px, calc(100vw - 40px)) !important;
	background:#fff !important;
	border-radius:18px !important;
	box-shadow:0 26px 80px rgba(15,23,42,.28) !important;
	padding:24px !important;
	position:relative !important;
	display:grid !important;
	gap:10px !important;
}
.pmap-share-close{
	position:absolute !important;
	right:14px !important;
	top:12px !important;
	width:34px !important;
	height:34px !important;
	border:0 !important;
	background:#fff !important;
	color:#94a3b8 !important;
	font-size:26px !important;
	line-height:1 !important;
	cursor:pointer !important;
}
.pmap-share-modal h3{
	margin:0 36px 4px 0 !important;
	font-size:20px !important;
	font-weight:900 !important;
	color:#0f172a !important;
}
.pmap-share-modal p{
	margin:0 0 8px !important;
	font-size:13px !important;
	line-height:1.5 !important;
	color:#64748b !important;
}
.pmap-share-modal a,
.pmap-share-modal button.pmap-share-copy{
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	min-height:44px !important;
	border:1px solid #e5e7eb !important;
	border-radius:12px !important;
	background:#f8fafc !important;
	color:#0f172a !important;
	text-decoration:none !important;
	font-size:14px !important;
	font-weight:800 !important;
	cursor:pointer !important;
}
.pmap-share-modal a:hover,
.pmap-share-modal button.pmap-share-copy:hover{
	background:#0f172a !important;
	border-color:#0f172a !important;
	color:#fff !important;
	text-decoration:none !important;
}

/* ---------- v4.1: saved favorites modal ---------- */
.pmap-map-toolbar .pmap-tool-btn.pmap-fav-main{
	position:relative !important;
}
.pmap-map-toolbar .pmap-tool-btn .pmap-fav-count{
	position:absolute !important;
	top:-5px !important;
	right:-4px !important;
	min-width:18px !important;
	height:18px !important;
	padding:0 5px !important;
	border-radius:999px !important;
	background:#0f172a !important;
	color:#fff !important;
	font-size:11px !important;
	font-weight:900 !important;
	line-height:18px !important;
	align-items:center !important;
	justify-content:center !important;
	box-shadow:0 2px 6px rgba(15,23,42,.2) !important;
	display:none !important;
}
.pmap-saved-overlay{
	position:absolute !important;
	inset:0 !important;
	z-index:9999 !important;
	background:rgba(15,23,42,.48) !important;
	display:flex !important;
	align-items:flex-start !important;
	justify-content:center !important;
	padding:86px 20px 20px !important;
}
.pmap-saved-modal{
	width:min(520px, calc(100vw - 36px)) !important;
	background:#fff !important;
	border-radius:18px !important;
	box-shadow:0 28px 80px rgba(15,23,42,.30) !important;
	padding:22px 24px 18px !important;
	position:relative !important;
	color:#0f172a !important;
}
.pmap-saved-close{
	position:absolute !important;
	right:20px !important;
	top:18px !important;
	width:32px !important;
	height:32px !important;
	border:0 !important;
	background:transparent !important;
	font-size:26px !important;
	line-height:1 !important;
	color:#94a3b8 !important;
	cursor:pointer !important;
}
.pmap-saved-modal h3{
	margin:0 0 14px !important;
	font-size:21px !important;
	font-weight:900 !important;
	letter-spacing:-.03em !important;
}
.pmap-saved-tabs{
	display:flex !important;
	gap:24px !important;
	border-bottom:1px solid #e5e7eb !important;
	margin:0 0 0 !important;
}
.pmap-saved-tab{
	border:0 !important;
	background:transparent !important;
	padding:0 0 12px !important;
	font-size:14px !important;
	font-weight:800 !important;
	color:#64748b !important;
	cursor:pointer !important;
	position:relative !important;
}
.pmap-saved-tab.pmap-active{
	color:#0f172a !important;
}
.pmap-saved-tab.pmap-active:after{
	content:"" !important;
	position:absolute !important;
	left:0 !important;
	right:0 !important;
	bottom:-1px !important;
	height:2px !important;
	background:#0f172a !important;
}
.pmap-saved-only{
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	gap:12px !important;
	min-height:48px !important;
	font-size:14px !important;
	font-weight:700 !important;
	color:#334155 !important;
	border-bottom:1px solid #edf0f3 !important;
	cursor:pointer !important;
}
.pmap-saved-only input{display:none !important}
.pmap-saved-only i{
	width:40px !important;
	height:24px !important;
	border-radius:999px !important;
	background:#cbd5e1 !important;
	position:relative !important;
	flex:0 0 auto !important;
}
.pmap-saved-only i:before{
	content:"" !important;
	position:absolute !important;
	width:18px !important;
	height:18px !important;
	left:3px !important;
	top:3px !important;
	border-radius:50% !important;
	background:#fff !important;
	box-shadow:0 1px 3px rgba(15,23,42,.25) !important;
	transition:transform .16s ease !important;
}
.pmap-saved-only input:checked + i{background:#0f172a !important}
.pmap-saved-only input:checked + i:before{transform:translateX(16px) !important}
.pmap-saved-list{
	max-height:340px !important;
	overflow:auto !important;
}
.pmap-saved-row{
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	gap:12px !important;
	padding:14px 0 !important;
	border-bottom:1px solid #edf0f3 !important;
}
.pmap-saved-name{
	border:0 !important;
	background:transparent !important;
	padding:0 !important;
	font-size:14px !important;
	font-weight:900 !important;
	color:#0f172a !important;
	text-align:left !important;
	cursor:pointer !important;
}
.pmap-saved-name:hover{text-decoration:underline !important}
.pmap-saved-remove{
	border:0 !important;
	background:transparent !important;
	color:#94a3b8 !important;
	font-size:18px !important;
	cursor:pointer !important;
	width:34px !important;
	height:34px !important;
	border-radius:50% !important;
}
.pmap-saved-remove:hover{background:#f1f5f9 !important;color:#ef4444 !important}
.pmap-saved-empty{
	padding:22px 0 !important;
	font-size:14px !important;
	font-weight:800 !important;
	color:#94a3b8 !important;
	text-align:center !important;
}
@media (max-width:640px){
	.pmap-saved-overlay{padding-top:72px !important;align-items:flex-start !important}
	.pmap-saved-modal{padding:20px 18px 16px !important;border-radius:16px !important}
}

/* ============================================================
 * v4.2 UI polish — cleaner BKK Finder style typography/filters
 * ============================================================ */
body .pmap-app{
	--pmap-bg:#f8fafc !important;
	--pmap-panel:#ffffff !important;
	--pmap-text:#0f172a !important;
	--pmap-muted:#8a94a6 !important;
	--pmap-line:#edf0f3 !important;
	--pmap-chip:#f5f6f8 !important;
	font-family:"Inter","Noto Sans Thai","IBM Plex Sans Thai",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
	font-size:14px !important;
	line-height:1.45 !important;
	letter-spacing:-.01em !important;
	-webkit-font-smoothing:antialiased !important;
	-moz-osx-font-smoothing:grayscale !important;
}
body .pmap-app *,
body .pmap-app button,
body .pmap-app input,
body .pmap-app select,
body .pmap-app textarea{
	font-family:"Inter","Noto Sans Thai","IBM Plex Sans Thai",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
}
body .pmap-app .pmap-sidebar{
	padding:14px 14px 18px !important;
	background:#fff !important;
	box-shadow:none !important;
}
body .pmap-app .pmap-sidebar-top{
	padding:0 0 13px !important;
	border-bottom:1px solid #edf0f3 !important;
}
body .pmap-app .pmap-results-top{
	font-size:15px !important;
	font-weight:600 !important;
	letter-spacing:-.01em !important;
	color:#0f172a !important;
}
body .pmap-app .pmap-reset-btn{
	height:30px !important;
	padding:0 13px !important;
	border:1px solid #0f172a !important;
	border-radius:999px !important;
	background:#fff !important;
	color:#0f172a !important;
	font-size:13px !important;
	font-weight:600 !important;
	letter-spacing:-.01em !important;
	box-shadow:none !important;
}
body .pmap-app .pmap-filter-section{
	padding:16px 0 !important;
	border-bottom:1px solid #edf0f3 !important;
}
body .pmap-app .pmap-section-title,
body .pmap-app .pmap-advanced-head,
body .pmap-app .pmap-adv-label{
	font-size:12px !important;
	font-weight:700 !important;
	letter-spacing:.025em !important;
	line-height:1.25 !important;
	color:#8a94a6 !important;
	text-transform:uppercase !important;
}
body .pmap-app .pmap-section-title{
	margin:0 0 12px !important;
}
body .pmap-app .pmap-chip-group{
	gap:8px !important;
}
body .pmap-app .pmap-type-chip,
body .pmap-app .pmap-deal-btn,
body .pmap-app .pmap-mode-chip,
body .pmap-app .pmap-tag-filter-chip,
body .pmap-app .pmap-dev-chip,
body .pmap-app .pmap-dev-more{
	min-height:32px !important;
	padding:8px 14px !important;
	border:0 !important;
	border-radius:999px !important;
	background:#f5f6f8 !important;
	color:#475569 !important;
	font-size:14px !important;
	font-weight:500 !important;
	line-height:1.1 !important;
	letter-spacing:-.01em !important;
	box-shadow:none !important;
	transform:none !important;
}
body .pmap-app .pmap-type-chip:hover,
body .pmap-app .pmap-deal-btn:hover,
body .pmap-app .pmap-mode-chip:hover,
body .pmap-app .pmap-tag-filter-chip:hover,
body .pmap-app .pmap-dev-chip:hover{
	background:#eef2f7 !important;
	transform:none !important;
}
body .pmap-app .pmap-type-chip.pmap-active,
body .pmap-app .pmap-deal-btn.pmap-active,
body .pmap-app .pmap-mode-chip.pmap-active,
body .pmap-app .pmap-tag-filter-chip.pmap-active,
body .pmap-app .pmap-dev-chip.pmap-active{
	background:#0f172a !important;
	color:#fff !important;
	font-weight:700 !important;
}
body .pmap-app .pmap-budget-head{
	margin:0 0 7px !important;
}
body .pmap-app .pmap-budget-value{
	font-size:13px !important;
	font-weight:600 !important;
	letter-spacing:-.01em !important;
	color:#0f172a !important;
}
body .pmap-app .pmap-range-labels{
	margin-top:4px !important;
	font-size:11px !important;
	font-weight:500 !important;
	letter-spacing:0 !important;
	color:#9aa4b2 !important;
}
body .pmap-app .pmap-budget-slider,
body .pmap-app .pmap-adv-range{
	-webkit-appearance:none !important;
	appearance:none !important;
	width:100% !important;
	height:4px !important;
	border-radius:999px !important;
	outline:none !important;
	background:linear-gradient(to right,#111827 0%,#111827 var(--pmap-range-pct,100%),#e5e7eb var(--pmap-range-pct,100%),#e5e7eb 100%) !important;
	accent-color:initial !important;
	cursor:pointer !important;
	margin:7px 0 7px !important;
}
body .pmap-app .pmap-budget-slider::-webkit-slider-runnable-track,
body .pmap-app .pmap-adv-range::-webkit-slider-runnable-track{
	-webkit-appearance:none !important;
	height:4px !important;
	border-radius:999px !important;
	background:transparent !important;
	border:0 !important;
}
body .pmap-app .pmap-budget-slider::-moz-range-track,
body .pmap-app .pmap-adv-range::-moz-range-track{
	height:4px !important;
	border-radius:999px !important;
	background:transparent !important;
	border:0 !important;
}
body .pmap-app .pmap-budget-slider::-webkit-slider-thumb,
body .pmap-app .pmap-adv-range::-webkit-slider-thumb{
	-webkit-appearance:none !important;
	appearance:none !important;
	width:18px !important;
	height:18px !important;
	margin-top:-7px !important;
	border-radius:50% !important;
	border:3px solid #111827 !important;
	background:#fff !important;
	box-shadow:0 1px 2px rgba(15,23,42,.15) !important;
}
body .pmap-app .pmap-budget-slider::-moz-range-thumb,
body .pmap-app .pmap-adv-range::-moz-range-thumb{
	width:14px !important;
	height:14px !important;
	border-radius:50% !important;
	border:3px solid #111827 !important;
	background:#fff !important;
	box-shadow:0 1px 2px rgba(15,23,42,.15) !important;
}
body .pmap-app .pmap-advanced-section{
	padding-top:15px !important;
}
body .pmap-app .pmap-advanced-head{
	padding:0 !important;
	margin:0 0 16px !important;
}
body .pmap-app .pmap-adv-control{
	padding:0 0 15px !important;
	margin:0 0 16px !important;
	border-bottom:1px solid #edf0f3 !important;
}
body .pmap-app .pmap-adv-label{
	margin:0 0 8px !important;
	align-items:flex-start !important;
}
body .pmap-app .pmap-adv-label b{
	font-size:13px !important;
	font-weight:500 !important;
	color:#64748b !important;
	line-height:1.25 !important;
	letter-spacing:0 !important;
	white-space:nowrap !important;
	text-transform:none !important;
}
body .pmap-app .pmap-toggle-list{
	gap:8px !important;
}
body .pmap-app .pmap-toggle-filter{
	min-height:24px !important;
	gap:9px !important;
	font-size:14px !important;
	font-weight:500 !important;
	letter-spacing:-.01em !important;
	color:#475569 !important;
	line-height:1.25 !important;
}
body .pmap-app .pmap-toggle-filter i{
	width:32px !important;
	height:18px !important;
	flex-basis:32px !important;
	background:#cbd5e1 !important;
	box-shadow:inset 0 0 0 1px rgba(15,23,42,.04) !important;
}
body .pmap-app .pmap-toggle-filter i:after{
	left:2px !important;
	top:2px !important;
	width:14px !important;
	height:14px !important;
	background:#fff !important;
	box-shadow:0 1px 2px rgba(15,23,42,.18) !important;
}
body .pmap-app .pmap-toggle-filter.pmap-active i{
	background:#111827 !important;
}
body .pmap-app .pmap-toggle-filter.pmap-active i:after{
	transform:translateX(14px) !important;
}
body .pmap-app .pmap-sub-toggle{
	padding-left:22px !important;
	font-size:13px !important;
	font-weight:500 !important;
	color:#64748b !important;
}
body .pmap-app .pmap-dev-search,
body .pmap-app .pmap-location-select{
	height:38px !important;
	border:1px solid #e2e8f0 !important;
	border-radius:10px !important;
	font-size:13px !important;
	font-weight:500 !important;
	color:#334155 !important;
	box-shadow:none !important;
}
body .pmap-app .pmap-dev-count,
body .pmap-app .pmap-dev-actions button,
body .pmap-app .pmap-sidebar-foot{
	font-weight:500 !important;
	color:#94a3b8 !important;
}
body .pmap-app .pmap-detail-title,
body .pmap-app .pmap-detail-price,
body .pmap-app .pmap-info-box b{
	font-family:"Inter","Noto Sans Thai","IBM Plex Sans Thai",-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif !important;
	letter-spacing:-.03em !important;
}

/* ============================================================
 * v5 — Google Maps migration + UI polish
 * ============================================================ */

/* ---------- Google Maps HTML markers ---------- */
/* OverlayView วางกล่องนี้โดยยึดพิกัดที่ (left,top) เราจึงเลื่อนขึ้นครึ่งหนึ่งเพื่อให้จุดกึ่งกลางตรงพิกัด */
.pmap-html-marker{transform:translate(-50%,-50%) !important;cursor:pointer !important}
.pmap-html-marker .pmap-marker-wrap{position:relative !important;display:flex !important;flex-direction:column !important;align-items:center !important}

/* ป้ายชื่อโครงการใต้หมุด: โชว์ตอน hover เสมอ / โชว์ถาวรเมื่อเปิดโหมดชื่อโครงการ */
.pmap-marker-label{
	margin-top:5px !important;
	max-width:150px !important;
	padding:2px 8px !important;
	background:rgba(255,255,255,.96) !important;
	color:#0f172a !important;
	font-size:11px !important;
	font-weight:700 !important;
	line-height:1.25 !important;
	border-radius:7px !important;
	box-shadow:0 5px 15px rgba(15,23,42,.16) !important;
	white-space:nowrap !important;
	overflow:hidden !important;
	text-overflow:ellipsis !important;
	opacity:0 !important;
	pointer-events:none !important;
	transition:opacity .12s ease !important;
}
.pmap-html-marker:hover .pmap-marker-label{opacity:1 !important;z-index:60 !important}
.pmap-labels-on .pmap-marker-label{opacity:1 !important}
.pmap-dark-map .pmap-marker-label{background:rgba(17,24,39,.95) !important;color:#e5e7eb !important}

/* จุดตำแหน่งผู้ใช้ (แทน L.circleMarker) */
.pmap-user-dot{
	width:18px !important;height:18px !important;border-radius:999px !important;
	background:#10b981 !important;border:3px solid #0f172a !important;
	box-shadow:0 0 0 6px rgba(16,185,129,.22) !important;
}

/* หมุดจุดกลับรถ U-Turn */
.pmap-uturn-pin{
	width:26px !important;height:26px !important;border-radius:999px !important;
	background:#f97316 !important;color:#fff !important;
	display:flex !important;align-items:center !important;justify-content:center !important;
	font-weight:900 !important;font-size:13px !important;
	border:2px solid #fff !important;
	box-shadow:0 4px 12px rgba(249,115,22,.5) !important;
}

/* ---------- dual price slider (min–max) ---------- */
.pmap-dual-range{position:relative !important;height:26px !important;margin:6px 0 4px !important}
.pmap-dual-track{
	position:absolute !important;left:0 !important;right:0 !important;top:50% !important;
	transform:translateY(-50%) !important;height:5px !important;border-radius:999px !important;
	background:#e2e8f0 !important;
}
.pmap-dual-fill{
	position:absolute !important;top:0 !important;height:100% !important;
	background:#0f172a !important;border-radius:999px !important;left:0 !important;width:100% !important;
}
.pmap-dual-range input[type="range"]{
	position:absolute !important;left:0 !important;right:0 !important;top:0 !important;
	width:100% !important;height:26px !important;margin:0 !important;
	background:transparent !important;-webkit-appearance:none !important;appearance:none !important;
	pointer-events:none !important;
}
.pmap-dual-range input[type="range"]::-webkit-slider-thumb{
	-webkit-appearance:none !important;appearance:none !important;pointer-events:auto !important;
	width:18px !important;height:18px !important;border-radius:999px !important;
	background:#fff !important;border:3px solid #0f172a !important;cursor:pointer !important;
	box-shadow:0 2px 6px rgba(15,23,42,.3) !important;
}
.pmap-dual-range input[type="range"]::-moz-range-thumb{
	pointer-events:auto !important;
	width:18px !important;height:18px !important;border-radius:999px !important;
	background:#fff !important;border:3px solid #0f172a !important;cursor:pointer !important;
	box-shadow:0 2px 6px rgba(15,23,42,.3) !important;
}
.pmap-dual-range input[type="range"]::-moz-range-track{background:transparent !important}
.pmap-budget-slider-max{z-index:3 !important}
.pmap-budget-slider-min{z-index:4 !important}

/* ---------- route info bar tweaks + steps panel ---------- */
.pmap-route-info{flex-wrap:wrap !important;white-space:normal !important;max-width:calc(100% - 40px) !important}
.pmap-traffic-note{color:#fbbf24 !important;font-weight:600 !important;font-size:11px !important}
.pmap-route-steps-btn{
	border:0 !important;background:rgba(255,255,255,.16) !important;color:#fff !important;
	border-radius:999px !important;padding:4px 12px !important;cursor:pointer !important;
	font-size:12px !important;font-weight:700 !important;
}
.pmap-route-steps-btn:hover{background:rgba(255,255,255,.28) !important}

.pmap-route-steps{
	position:absolute !important;right:16px !important;bottom:78px !important;z-index:17 !important;
	width:320px !important;max-width:calc(100% - 32px) !important;max-height:52% !important;
	overflow-y:auto !important;background:#fff !important;color:#0f172a !important;
	border-radius:16px !important;box-shadow:0 20px 50px rgba(15,23,42,.28) !important;
	font-size:13px !important;
}
.pmap-route-steps-head{
	position:sticky !important;top:0 !important;background:#0f172a !important;color:#fff !important;
	padding:12px 16px !important;font-weight:800 !important;font-size:13px !important;
	display:flex !important;align-items:center !important;justify-content:space-between !important;
	border-radius:16px 16px 0 0 !important;
}
.pmap-route-steps-close{
	border:0 !important;background:rgba(255,255,255,.15) !important;color:#fff !important;
	width:24px !important;height:24px !important;border-radius:999px !important;cursor:pointer !important;
	font-size:17px !important;line-height:1 !important;
}
.pmap-route-steps-list{list-style:none !important;margin:0 !important;padding:6px 0 !important}
.pmap-route-steps-list li{
	padding:10px 16px !important;border-bottom:1px solid #f1f5f9 !important;line-height:1.45 !important;
	display:flex !important;flex-direction:column !important;gap:4px !important;
}
.pmap-route-steps-list li.pmap-step-is-uturn{background:#fff7ed !important}
.pmap-route-steps-list li small{color:#94a3b8 !important;font-weight:600 !important}
.pmap-step-text b{font-weight:700 !important}
.pmap-step-badge{
	align-self:flex-start !important;font-size:11px !important;font-weight:800 !important;
	padding:1px 8px !important;border-radius:999px !important;background:#e2e8f0 !important;color:#334155 !important;
}
.pmap-step-uturn{background:#ffedd5 !important;color:#c2410c !important}
.pmap-uturn-note{display:inline-flex !important;align-items:center !important;gap:4px !important;background:#ffedd5 !important;color:#c2410c !important;border-radius:999px !important;padding:3px 10px !important;font-size:11px !important;font-weight:800 !important}
.pmap-dark-map .pmap-route-steps{background:#111827 !important;color:#e5e7eb !important}
.pmap-dark-map .pmap-route-steps-list li{border-color:#1f2937 !important}
.pmap-dark-map .pmap-route-steps-list li.pmap-step-is-uturn{background:#27211a !important}

/* ---------- Google Maps native control polish ---------- */
.pmap-map .gm-style .gm-control-active,
.pmap-map .gmnoprint button{border-radius:10px !important}
.pmap-app .gm-style-cc{display:none !important}   /* ซ่อนแถบเครดิตล่างให้ดูสะอาด (ยังคง © Google บนแผนที่ตามข้อกำหนด) */


/* ============================================================
 * v5.1 — Toolbar icon refresh + mobile bottom-sheet filters
 * ============================================================ */
.pmap-filter-backdrop,
.pmap-mobile-sheet-head{
	display:none !important;
}

body .pmap-app .pmap-map-toolbar{
	left:14px !important;
	top:14px !important;
	gap:8px !important;
	align-items:center !important;
}
body .pmap-app .pmap-map-toolbar .pmap-tool-btn{
	position:relative !important;
	width:44px !important;
	height:44px !important;
	min-width:44px !important;
	min-height:44px !important;
	padding:0 !important;
	border:1px solid #dce3ea !important;
	border-radius:999px !important;
	background:rgba(255,255,255,.97) !important;
	color:#536273 !important;
	box-shadow:0 7px 18px rgba(15,23,42,.14) !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	font-size:0 !important;
	line-height:1 !important;
	transition:transform .16s ease,background .16s ease,color .16s ease,border-color .16s ease !important;
}
body .pmap-app .pmap-map-toolbar .pmap-tool-btn:hover{
	background:#fff !important;
	color:#0f172a !important;
	border-color:#cbd5e1 !important;
	transform:translateY(-1px) !important;
}
body .pmap-app .pmap-map-toolbar .pmap-tool-btn.pmap-active{
	background:#111827 !important;
	color:#fff !important;
	border-color:#111827 !important;
}
body .pmap-app .pmap-map-toolbar .pmap-icon-svg{
	width:22px !important;
	height:22px !important;
	display:block !important;
	fill:none !important;
	stroke:currentColor !important;
	stroke-width:1.9 !important;
	stroke-linecap:round !important;
	stroke-linejoin:round !important;
	pointer-events:none !important;
}
body .pmap-app .pmap-map-toolbar .pmap-icon-svg .pmap-icon-fill,
body .pmap-app .pmap-map-toolbar .pmap-icon-fill{
	fill:currentColor !important;
	stroke:none !important;
}
body .pmap-app .pmap-map-toolbar .pmap-filter-toggle{
	width:48px !important;
	height:64px !important;
	min-width:48px !important;
	min-height:64px !important;
	border-radius:17px !important;
	background:#111827 !important;
	border-color:#111827 !important;
	color:#fff !important;
	flex-direction:column !important;
	gap:4px !important;
}
body .pmap-app .pmap-map-toolbar .pmap-filter-toggle:hover{
	background:#1f2937 !important;
	color:#fff !important;
	border-color:#1f2937 !important;
}
body .pmap-app .pmap-map-toolbar .pmap-filter-toggle .pmap-icon-svg{
	width:21px !important;
	height:21px !important;
}
body .pmap-app .pmap-map-toolbar .pmap-filter-toggle .pmap-tool-count{
	position:static !important;
	display:block !important;
	font-size:10px !important;
	font-weight:800 !important;
	line-height:1 !important;
	letter-spacing:-.02em !important;
	color:#fff !important;
	max-width:42px !important;
	overflow:hidden !important;
	text-overflow:ellipsis !important;
}
body .pmap-app .pmap-lang-control{
	width:44px !important;
	height:44px !important;
}
body .pmap-app .pmap-map-toolbar .pmap-lang-toggle{
	font-size:15px !important;
	font-weight:800 !important;
	letter-spacing:-.07em !important;
	font-family:"Inter","Noto Sans Thai","IBM Plex Sans Thai","Segoe UI",Arial,sans-serif !important;
}
body .pmap-app .pmap-lang-glyph{
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:100% !important;
	height:100% !important;
	transform:translateX(-1px) !important;
	white-space:nowrap !important;
}
body .pmap-app .pmap-map-toolbar .pmap-tool-btn.pmap-fav-main{
	font-size:0 !important;
}
body .pmap-app .pmap-map-toolbar .pmap-tool-btn.pmap-fav-main.pmap-active{
	background:#fff5f5 !important;
	color:#ef4444 !important;
	border-color:#fecaca !important;
}
body .pmap-app .pmap-map-toolbar .pmap-tool-btn .pmap-fav-count{
	top:-4px !important;
	right:-5px !important;
	background:#ef4444 !important;
	border:2px solid #fff !important;
	line-height:14px !important;
	height:18px !important;
	min-width:18px !important;
}
body .pmap-app.pmap-dark-map .pmap-map-toolbar .pmap-tool-btn{
	background:rgba(17,24,39,.96) !important;
	color:#e5e7eb !important;
	border-color:#334155 !important;
}
body .pmap-app.pmap-dark-map .pmap-map-toolbar .pmap-filter-toggle,
body .pmap-app.pmap-dark-map .pmap-map-toolbar .pmap-tool-btn.pmap-active{
	background:#f8fafc !important;
	color:#0f172a !important;
	border-color:#f8fafc !important;
}

@media (max-width:760px){
	body .pmap-app .pmap-map-toolbar{
		left:12px !important;
		top:12px !important;
		z-index:32 !important;
		gap:7px !important;
	}
	body .pmap-app .pmap-map-toolbar .pmap-tool-btn,
	body .pmap-app .pmap-lang-control{
		width:42px !important;
		height:42px !important;
		min-width:42px !important;
		min-height:42px !important;
	}
	body .pmap-app .pmap-map-toolbar .pmap-filter-toggle{
		width:46px !important;
		height:60px !important;
		min-width:46px !important;
		min-height:60px !important;
	}
	body .pmap-app .pmap-map-toolbar .pmap-icon-svg{
		width:21px !important;
		height:21px !important;
	}

	body .pmap-app .pmap-filter-backdrop{
		display:block !important;
		position:absolute !important;
		inset:0 !important;
		z-index:44 !important;
		margin:0 !important;
		padding:0 !important;
		border:0 !important;
		border-radius:0 !important;
		background:rgba(15,23,42,.34) !important;
		backdrop-filter:blur(1px) !important;
		-webkit-backdrop-filter:blur(1px) !important;
		opacity:1 !important;
		visibility:visible !important;
		pointer-events:auto !important;
		transition:opacity .24s ease,visibility .24s ease !important;
	}
	body .pmap-app.pmap-sidebar-collapsed .pmap-filter-backdrop{
		opacity:0 !important;
		visibility:hidden !important;
		pointer-events:none !important;
	}

	body .pmap-app .pmap-sidebar{
		position:absolute !important;
		left:8px !important;
		right:8px !important;
		top:auto !important;
		bottom:0 !important;
		width:auto !important;
		max-width:none !important;
		height:auto !important;
		max-height:min(79%, 720px) !important;
		margin:0 !important;
		padding:0 16px 20px !important;
		border:1px solid rgba(226,232,240,.95) !important;
		border-bottom:0 !important;
		border-radius:22px 22px 0 0 !important;
		background:#fff !important;
		box-shadow:0 -20px 60px rgba(15,23,42,.24) !important;
		z-index:50 !important;
		overflow-x:hidden !important;
		overflow-y:auto !important;
		overscroll-behavior:contain !important;
		-webkit-overflow-scrolling:touch !important;
		transform:translate3d(0,0,0) !important;
		transition:transform .30s cubic-bezier(.22,.75,.2,1) !important;
		will-change:transform !important;
	}
	body .pmap-app.pmap-sidebar-collapsed .pmap-sidebar{
		margin:0 !important;
		transform:translate3d(0,calc(100% + 28px),0) !important;
		pointer-events:none !important;
	}

	body .pmap-app:not(.pmap-filter-open) .pmap-sidebar{
		transform:translate3d(0,calc(100% + 28px),0) !important;
		pointer-events:none !important;
	}
	body .pmap-app:not(.pmap-filter-open) .pmap-filter-backdrop{
		opacity:0 !important;
		visibility:hidden !important;
		pointer-events:none !important;
	}
	body .pmap-app .pmap-mobile-sheet-head{
		display:flex !important;
		align-items:center !important;
		justify-content:center !important;
		position:sticky !important;
		top:0 !important;
		z-index:6 !important;
		height:46px !important;
		margin:0 -16px !important;
		background:rgba(255,255,255,.98) !important;
		border-radius:22px 22px 0 0 !important;
		box-shadow:0 1px 0 rgba(226,232,240,.8) !important;
	}
	body .pmap-app .pmap-sheet-handle{
		display:block !important;
		width:46px !important;
		height:5px !important;
		border-radius:999px !important;
		background:#cbd5e1 !important;
	}
	body .pmap-app .pmap-filter-close{
		position:absolute !important;
		right:12px !important;
		top:8px !important;
		width:30px !important;
		height:30px !important;
		padding:0 !important;
		border:1px solid #e2e8f0 !important;
		border-radius:999px !important;
		background:#f8fafc !important;
		color:#64748b !important;
		font-size:20px !important;
		font-weight:500 !important;
		line-height:27px !important;
		text-align:center !important;
		cursor:pointer !important;
	}
	body .pmap-app .pmap-sidebar-top{
		padding:13px 0 14px !important;
	}
	body .pmap-app .pmap-filter-section{
		padding:15px 0 !important;
	}
	body .pmap-app .pmap-sidebar-foot{
		padding-bottom:10px !important;
	}
	body .pmap-app .pmap-lang-menu{
		left:50px !important;
		top:-5px !important;
	}
}

@media (max-width:460px){
	body .pmap-app .pmap-sidebar{
		left:5px !important;
		right:5px !important;
		width:auto !important;
		max-height:82% !important;
		padding-left:14px !important;
		padding-right:14px !important;
	}
	body .pmap-app .pmap-mobile-sheet-head{
		margin-left:-14px !important;
		margin-right:-14px !important;
	}
}

@media (max-width:760px) and (max-height:700px){
	body .pmap-app .pmap-map-toolbar{
		gap:5px !important;
	}
	body .pmap-app .pmap-map-toolbar .pmap-tool-btn,
	body .pmap-app .pmap-lang-control{
		width:38px !important;
		height:38px !important;
		min-width:38px !important;
		min-height:38px !important;
	}
	body .pmap-app .pmap-map-toolbar .pmap-filter-toggle{
		width:42px !important;
		height:54px !important;
		min-width:42px !important;
		min-height:54px !important;
	}
	body .pmap-app .pmap-map-toolbar .pmap-icon-svg{
		width:19px !important;
		height:19px !important;
	}
	body .pmap-app .pmap-map-toolbar .pmap-lang-toggle{
		font-size:13px !important;
	}
}


/* ============================================================
 * v5.1.1 — Exact filter sliders icon + balanced A/ก glyph
 * This block intentionally comes last to override older rules.
 * ============================================================ */
body .pmap-app .pmap-map-toolbar .pmap-filter-toggle{
	--pmap-filter-btn-bg:#111827;
	width:50px !important;
	height:72px !important;
	min-width:50px !important;
	min-height:72px !important;
	padding:9px 0 8px !important;
	border-radius:19px !important;
	background:var(--pmap-filter-btn-bg) !important;
	border-color:var(--pmap-filter-btn-bg) !important;
	color:#fff !important;
	gap:7px !important;
}
body .pmap-app .pmap-map-toolbar .pmap-filter-toggle .pmap-filter-icon{
	width:25px !important;
	height:25px !important;
	stroke-width:2.35 !important;
	overflow:visible !important;
}
body .pmap-app .pmap-map-toolbar .pmap-filter-toggle .pmap-slider-knob{
	fill:var(--pmap-filter-btn-bg) !important;
	stroke:currentColor !important;
	stroke-width:2.45 !important;
	vector-effect:non-scaling-stroke !important;
}
body .pmap-app .pmap-map-toolbar .pmap-filter-toggle .pmap-tool-count{
	font-family:"Inter","Segoe UI",Arial,sans-serif !important;
	font-size:11px !important;
	font-weight:800 !important;
	line-height:1 !important;
	letter-spacing:-.025em !important;
	max-width:46px !important;
}
body .pmap-app .pmap-map-toolbar .pmap-lang-toggle{
	font-size:0 !important;
	letter-spacing:0 !important;
	font-family:inherit !important;
}
body .pmap-app .pmap-lang-glyph{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:auto !important;
	height:auto !important;
	gap:0 !important;
	white-space:nowrap !important;
	transform:none !important;
	color:currentColor !important;
	line-height:1 !important;
}
body .pmap-app .pmap-lang-glyph > span{
	display:block !important;
	line-height:1 !important;
	font-style:normal !important;
	font-weight:750 !important;
}
body .pmap-app .pmap-lang-a{
	font-family:"Inter","Segoe UI",Arial,sans-serif !important;
	font-size:13px !important;
	letter-spacing:-.04em !important;
}
body .pmap-app .pmap-lang-slash{
	font-family:"Inter","Segoe UI",Arial,sans-serif !important;
	font-size:12px !important;
	font-weight:650 !important;
	margin:0 1px 0 0 !important;
	transform:translateY(-.2px) !important;
}
body .pmap-app .pmap-lang-th{
	font-family:Tahoma,"Noto Sans Thai","Leelawadee UI",sans-serif !important;
	font-size:12px !important;
	font-weight:700 !important;
	transform:translateY(.7px) !important;
}
body .pmap-app.pmap-dark-map .pmap-map-toolbar .pmap-filter-toggle{
	--pmap-filter-btn-bg:#f8fafc;
	background:var(--pmap-filter-btn-bg) !important;
	border-color:var(--pmap-filter-btn-bg) !important;
	color:#0f172a !important;
}
@media (max-width:760px){
	body .pmap-app .pmap-map-toolbar .pmap-filter-toggle{
		width:48px !important;
		height:68px !important;
		min-width:48px !important;
		min-height:68px !important;
		padding:8px 0 7px !important;
		border-radius:18px !important;
		gap:6px !important;
	}
	body .pmap-app .pmap-map-toolbar .pmap-filter-toggle .pmap-filter-icon{
		width:24px !important;
		height:24px !important;
	}
	body .pmap-app .pmap-map-toolbar .pmap-filter-toggle .pmap-tool-count{
		font-size:10.5px !important;
	}
}


/* v5.1.2 - mobile reorder + vertical property type list */
body .pmap-app .pmap-type-chip .pmap-type-swatch{display:none !important}
body .pmap-app .pmap-type-chip .pmap-chip-label{display:inline !important}

@media (max-width: 980px){
	body .pmap-app .pmap-filter-section-deal{order:1 !important}
	body .pmap-app .pmap-filter-section-type{order:2 !important}
	body .pmap-app .pmap-sidebar{display:flex !important;flex-direction:column !important}
	body .pmap-app .pmap-type-group.pmap-type-list{
		display:flex !important;
		flex-direction:column !important;
		gap:10px !important;
	}
	body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip{
		display:flex !important;
		align-items:center !important;
		justify-content:flex-start !important;
		gap:10px !important;
		width:100% !important;
		min-height:46px !important;
		padding:11px 14px !important;
		border:1px solid #e5e7eb !important;
		border-left:6px solid var(--type-color, #0f172a) !important;
		border-radius:14px !important;
		background:#ffffff !important;
		color:#334155 !important;
		font-size:15px !important;
		font-weight:600 !important;
		line-height:1.3 !important;
		text-align:left !important;
		white-space:normal !important;
		box-shadow:none !important;
	}
	body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip .pmap-type-swatch{
		display:inline-block !important;
		width:10px !important;
		height:10px !important;
		min-width:10px !important;
		border-radius:999px !important;
		background:var(--type-color, #0f172a) !important;
		box-shadow:0 0 0 3px rgba(15,23,42,.06) !important;
	}
	body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip .pmap-chip-label{
		display:block !important;
		flex:1 1 auto !important;
		white-space:normal !important;
		word-break:break-word !important;
	}
	body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip.pmap-active{
		background:var(--type-color, #0f172a) !important;
		border-color:var(--type-color, #0f172a) !important;
		color:#ffffff !important;
		font-weight:700 !important;
	}
	body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip.pmap-active .pmap-type-swatch{
		background:#ffffff !important;
		box-shadow:0 0 0 3px rgba(255,255,255,.18) !important;
	}
	body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip.pmap-chip-all{
		border-left-color:#0f172a !important;
	}
}


/* ============================================================
 * v5.1.3 — Right property detail panel refinement
 * ============================================================ */
body .pmap-app .pmap-detail-body{
	padding:22px 22px 28px !important;
}
body .pmap-app .pmap-detail-heading{
	display:flex !important;
	align-items:flex-start !important;
	justify-content:space-between !important;
	gap:14px !important;
}
body .pmap-app .pmap-detail-heading-copy{
	min-width:0 !important;
	flex:1 1 auto !important;
}
body .pmap-app .pmap-detail-title{
	margin:0 0 6px !important;
	padding:0 !important;
	font-size:22px !important;
	line-height:1.28 !important;
}
body .pmap-app .pmap-detail-address{
	margin:0 !important;
}
body .pmap-app .pmap-detail-actions{
	position:static !important;
	display:flex !important;
	align-items:center !important;
	justify-content:flex-end !important;
	gap:10px !important;
	flex:0 0 auto !important;
	padding:2px 2px 0 0 !important;
}
body .pmap-app .pmap-circle-btn{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:42px !important;
	height:42px !important;
	min-width:42px !important;
	border:1px solid #e6ebf1 !important;
	background:#fff !important;
	color:#0f172a !important;
	box-shadow:0 8px 22px rgba(15,23,42,.12) !important;
	padding:0 !important;
}
body .pmap-app .pmap-action-svg{
	width:23px !important;
	height:23px !important;
	fill:none !important;
	stroke:currentColor !important;
	stroke-width:1.9 !important;
	stroke-linecap:round !important;
	stroke-linejoin:round !important;
}
body .pmap-app .pmap-detail-fav.pmap-active{
	color:#ef4444 !important;
	background:#fff5f5 !important;
	border-color:#fecaca !important;
}
body .pmap-app .pmap-detail-fav.pmap-active .pmap-heart-svg{
	fill:#ef4444 !important;
	stroke:#ef4444 !important;
}
body .pmap-app .pmap-detail-price-wrap{
	margin:18px 0 0 !important;
	padding-top:15px !important;
	border-top:1px solid #edf0f3 !important;
}
body .pmap-app .pmap-detail-price-label{
	margin:0 0 7px !important;
	font-size:11px !important;
	font-weight:800 !important;
	letter-spacing:.08em !important;
	line-height:1.3 !important;
	color:#64748b !important;
	text-transform:uppercase !important;
}
body .pmap-app .pmap-detail-price{
	margin:0 !important;
	font-size:31px !important;
	line-height:1.08 !important;
}
body .pmap-app .pmap-detail-grid-compact{
	grid-template-columns:1fr 1fr !important;
	margin:18px 0 !important;
}
body .pmap-app .pmap-detail-grid-compact .pmap-info-box{
	min-height:86px !important;
}
body .pmap-app .pmap-detail-grid-compact .pmap-info-box:nth-child(3){
	grid-column:1 / -1 !important;
	border-right:0 !important;
	border-bottom:0 !important;
}
body .pmap-app .pmap-detail-grid-compact .pmap-info-box:nth-child(1),
body .pmap-app .pmap-detail-grid-compact .pmap-info-box:nth-child(2){
	border-bottom:1px solid var(--pmap-line) !important;
}
body .pmap-app .pmap-detail-grid-compact .pmap-info-box b{
	font-size:18px !important;
	line-height:1.35 !important;
	word-break:break-word !important;
}
body .pmap-app .pmap-route-btn{
	background:#0f172a !important;
	border-color:#0f172a !important;
	color:#fff !important;
	box-shadow:none !important;
}
body .pmap-app .pmap-route-btn:hover{
	background:#1e293b !important;
	color:#fff !important;
}
body .pmap-app .pmap-share-overlay{
	position:absolute !important;
	left:0 !important;
	right:0 !important;
	z-index:9998 !important;
	background:rgba(15,23,42,.42) !important;
	backdrop-filter:blur(2px) !important;
	-webkit-backdrop-filter:blur(2px) !important;
	padding:28px 22px !important;
}
body .pmap-app .pmap-share-modal{
	width:min(360px, calc(100% - 8px)) !important;
	border-radius:22px !important;
	padding:26px 26px 28px !important;
	gap:12px !important;
	box-shadow:0 28px 70px rgba(15,23,42,.34) !important;
}
body .pmap-app .pmap-share-modal h3{
	font-size:22px !important;
	line-height:1.25 !important;
	margin-bottom:2px !important;
}
body .pmap-app .pmap-share-modal p{
	font-size:13px !important;
	line-height:1.55 !important;
	margin-bottom:8px !important;
}
body .pmap-app .pmap-share-modal a,
body .pmap-app .pmap-share-modal button.pmap-share-copy{
	min-height:50px !important;
	border-radius:13px !important;
	background:#f8fafc !important;
	font-size:14px !important;
	font-weight:800 !important;
	gap:4px !important;
}
body .pmap-app .pmap-share-close{
	right:18px !important;
	top:15px !important;
	background:transparent !important;
}
@media (max-width:760px){
	body .pmap-app .pmap-detail-heading{gap:10px !important}
	body .pmap-app .pmap-detail-actions{gap:7px !important}
	body .pmap-app .pmap-circle-btn{
		width:38px !important;
		height:38px !important;
		min-width:38px !important;
	}
	body .pmap-app .pmap-action-svg{width:21px !important;height:21px !important}
	body .pmap-app .pmap-detail-title{font-size:19px !important}
	body .pmap-app .pmap-detail-price{font-size:27px !important}
	body .pmap-app .pmap-share-overlay{padding:18px 12px !important}
}


/* v5.1.4 - detail footer: LINE admin CTA + property details */
body .pmap-app .pmap-admin-line-btn{
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	gap:10px !important;
	width:100% !important;
	min-height:54px !important;
	margin:10px 0 0 !important;
	padding:10px 16px !important;
	border:1px solid #06c755 !important;
	border-radius:12px !important;
	background:#06c755 !important;
	color:#ffffff !important;
	font-size:15px !important;
	font-weight:900 !important;
	line-height:1.25 !important;
	text-align:center !important;
	text-decoration:none !important;
	box-shadow:0 10px 22px rgba(6,199,85,.20) !important;
}
body .pmap-app .pmap-admin-line-btn:hover{
	background:#05b84e !important;
	border-color:#05b84e !important;
	color:#ffffff !important;
	text-decoration:none !important;
	transform:translateY(-1px) !important;
}
body .pmap-app .pmap-line-icon{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	min-width:46px !important;
	height:26px !important;
	padding:0 7px !important;
	border-radius:8px !important;
	background:#ffffff !important;
	color:#06c755 !important;
	font-size:11px !important;
	font-weight:1000 !important;
	letter-spacing:-.02em !important;
	line-height:1 !important;
}
body .pmap-app .pmap-property-detail-link{
	min-height:54px !important;
	margin-top:12px !important;
	border-radius:12px !important;
	font-size:15px !important;
	font-weight:800 !important;
}
body .pmap-app .pmap-detail-body > .pmap-route-btn{
	display:none !important;
}


/* v5.2.0 - sidebar reorder, grouped property types, location search, size filter */
body .pmap-app .pmap-type-buckets{display:flex !important;flex-direction:column !important;gap:16px !important}
body .pmap-app .pmap-type-bucket-title{font-size:13px !important;font-weight:800 !important;color:#0f172a !important;margin:0 0 10px !important;text-transform:none !important}
body .pmap-app .pmap-type-all-row{margin-bottom:12px !important}
body .pmap-app .pmap-type-group.pmap-type-list{display:flex !important;flex-direction:column !important;gap:10px !important}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip{display:flex !important;align-items:center !important;justify-content:flex-start !important;gap:10px !important;width:100% !important;min-height:44px !important;padding:11px 14px !important;border:1px solid #e5e7eb !important;border-left:6px solid var(--type-color,#0f172a) !important;border-radius:14px !important;background:#fff !important;color:#334155 !important;font-size:14px !important;font-weight:600 !important;line-height:1.3 !important;text-align:left !important;white-space:normal !important;box-shadow:none !important}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip .pmap-type-swatch{display:inline-block !important;width:10px !important;height:10px !important;min-width:10px !important;border-radius:999px !important;background:var(--type-color,#0f172a) !important;box-shadow:0 0 0 3px rgba(15,23,42,.06) !important}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip .pmap-chip-label{display:block !important;flex:1 1 auto !important;white-space:normal !important;word-break:break-word !important}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip.pmap-active{background:var(--type-color,#0f172a) !important;border-color:var(--type-color,#0f172a) !important;color:#fff !important;font-weight:700 !important}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip.pmap-active .pmap-type-swatch{background:#fff !important;box-shadow:0 0 0 3px rgba(255,255,255,.18) !important}
body .pmap-app .pmap-location-search-wrap{display:flex !important;align-items:center !important;gap:8px !important;height:42px !important;padding:0 12px !important;border:1px solid #dbe2ea !important;border-radius:12px !important;background:#fff !important;margin:0 0 10px !important;color:#94a3b8 !important}
body .pmap-app .pmap-location-search-wrap input{border:0 !important;outline:none !important;background:transparent !important;flex:1 1 auto !important;font-size:14px !important;color:#334155 !important;padding:0 !important;min-width:0 !important}
body .pmap-app .pmap-location-section .pmap-location-select{margin-bottom:10px !important}
body .pmap-app .pmap-space-section .pmap-adv-label span{font-size:12px !important;font-weight:700 !important;letter-spacing:.025em !important;color:#8a94a6 !important}
body .pmap-app .pmap-space-section .pmap-adv-label b{color:#0f172a !important}
body .pmap-app .pmap-space-section .pmap-range-labels{margin-top:8px !important}
body .pmap-app .pmap-tags-row .pmap-tags-filter-wrap{display:flex !important;flex-wrap:wrap !important;gap:8px !important}
@media (max-width: 760px){
  body .pmap-app .pmap-sidebar{padding-bottom:26px !important}
  body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip{min-height:42px !important;padding:10px 12px !important;font-size:13px !important}
  body .pmap-app .pmap-location-search-wrap{height:40px !important}
  body .pmap-app .pmap-deal-group{gap:6px !important}
}


/* v5.2.1 runtime/language stability */
body .pmap-app .pmap-sidebar button,
body .pmap-app .pmap-sidebar input,
body .pmap-app .pmap-sidebar select{pointer-events:auto !important}
body .pmap-app .pmap-sidebar button:active{transform:scale(.98) !important}
body .pmap-app .pmap-type-bucket-title{text-transform:none !important}


/* v5.3.0 - property detail popup + admin gallery frontend */
body.pmap-property-modal-open{overflow:hidden !important}
body .pmap-app .pmap-property-detail-link{
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:100% !important;
	cursor:pointer !important;
}
body .pmap-app .pmap-property-modal{
	position:fixed !important;
	inset:0 !important;
	z-index:100000 !important;
	display:none !important;
	align-items:center !important;
	justify-content:center !important;
	padding:24px !important;
}
body .pmap-app .pmap-property-modal.pmap-open{display:flex !important}
body .pmap-app .pmap-property-modal-backdrop{
	position:absolute !important;
	inset:0 !important;
	width:100% !important;
	height:100% !important;
	border:0 !important;
	background:rgba(15,23,42,.72) !important;
	backdrop-filter:blur(5px) !important;
	cursor:pointer !important;
}
body .pmap-app .pmap-property-modal-dialog{
	position:relative !important;
	z-index:2 !important;
	width:min(1080px,96vw) !important;
	max-height:92vh !important;
	border-radius:24px !important;
	background:#fff !important;
	box-shadow:0 35px 90px rgba(15,23,42,.35) !important;
	overflow:hidden !important;
}
body .pmap-app .pmap-property-modal-content{position:relative !important;max-height:92vh !important;overflow:auto !important}
body .pmap-app .pmap-property-modal-close{
	position:absolute !important;
	right:16px !important;
	top:16px !important;
	z-index:12 !important;
	width:42px !important;
	height:42px !important;
	border:0 !important;
	border-radius:999px !important;
	background:rgba(255,255,255,.96) !important;
	color:#0f172a !important;
	box-shadow:0 8px 24px rgba(15,23,42,.2) !important;
	font-size:28px !important;
	line-height:1 !important;
	cursor:pointer !important;
}
body .pmap-app .pmap-property-modal-layout{display:grid !important;grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr) !important;min-height:620px !important}
body .pmap-app .pmap-property-modal-gallery{min-width:0 !important;background:#e2e8f0 !important}
body .pmap-app .pmap-property-modal-gallery .pmap-detail-image{height:100% !important;min-height:620px !important;border-radius:0 !important}
body .pmap-app .pmap-property-modal-gallery .pmap-slide-btn{width:44px !important;height:44px !important;font-size:32px !important}
body .pmap-app .pmap-property-modal-gallery .pmap-slide-count{bottom:18px !important;font-size:13px !important;padding:6px 12px !important}
body .pmap-app .pmap-property-modal-body{padding:42px 36px 34px !important;overflow:auto !important}
body .pmap-app .pmap-property-modal-title{margin:0 48px 8px 0 !important;color:#0f172a !important;font-size:30px !important;font-weight:900 !important;line-height:1.2 !important;letter-spacing:-.025em !important}
body .pmap-app .pmap-property-modal-address{margin:0 0 20px !important;color:#64748b !important;font-size:14px !important;line-height:1.65 !important}
body .pmap-app .pmap-property-modal-price{margin-bottom:20px !important}
body .pmap-app .pmap-property-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;margin-bottom:20px !important}
body .pmap-app .pmap-property-modal-desc{margin:0 0 22px !important;padding:16px 18px !important;border-radius:14px !important;background:#f8fafc !important;color:#334155 !important;font-size:14px !important;line-height:1.75 !important;white-space:pre-line !important}
body .pmap-app .pmap-modal-line-btn{margin-top:22px !important}
@media (max-width:900px){
	body .pmap-app .pmap-property-modal{padding:14px !important}
	body .pmap-app .pmap-property-modal-dialog{width:min(720px,96vw) !important;max-height:94vh !important;border-radius:20px !important}
	body .pmap-app .pmap-property-modal-content{max-height:94vh !important}
	body .pmap-app .pmap-property-modal-layout{grid-template-columns:1fr !important;min-height:0 !important}
	body .pmap-app .pmap-property-modal-gallery .pmap-detail-image{height:340px !important;min-height:340px !important}
	body .pmap-app .pmap-property-modal-body{padding:28px 22px 26px !important}
	body .pmap-app .pmap-property-modal-title{font-size:24px !important}
}
@media (max-width:520px){
	body .pmap-app .pmap-property-modal{padding:0 !important;align-items:flex-end !important}
	body .pmap-app .pmap-property-modal-dialog{width:100% !important;max-height:96vh !important;border-radius:22px 22px 0 0 !important}
	body .pmap-app .pmap-property-modal-content{max-height:96vh !important}
	body .pmap-app .pmap-property-modal-gallery .pmap-detail-image{height:250px !important;min-height:250px !important}
	body .pmap-app .pmap-property-modal-body{padding:24px 16px 24px !important}
	body .pmap-app .pmap-property-modal-title{font-size:21px !important;margin-right:42px !important}
	body .pmap-app .pmap-property-modal-grid{grid-template-columns:1fr 1fr !important}
	body .pmap-app .pmap-property-modal-close{right:12px !important;top:12px !important;width:38px !important;height:38px !important}
}


/* v5.3.1 property type master toggle */
.pmap-sr-only{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0,0,0,0) !important;white-space:nowrap !important;border:0 !important}
body .pmap-app .pmap-toggle-head{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:12px !important;margin:0 0 12px !important}
body .pmap-app .pmap-toggle-head .pmap-section-title{margin:0 !important}
body .pmap-app .pmap-type-master-toggle{width:auto !important;min-width:auto !important;justify-content:flex-end !important;padding:0 !important;flex:0 0 auto !important}
body .pmap-app .pmap-type-master-toggle span{display:none !important}
body .pmap-app .pmap-type-master-toggle i{margin:0 !important}
body .pmap-app .pmap-filter-section-type.pmap-type-collapsed .pmap-type-wrap{display:none !important}
body .pmap-app .pmap-filter-section-type.pmap-type-collapsed{padding-bottom:12px !important}


/* v5.3.2 reliable property type switch */
body .pmap-app .pmap-type-master-toggle{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:34px !important;
  height:20px !important;
  min-width:34px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:#cbd5e1 !important;
  cursor:pointer !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  pointer-events:auto !important;
  z-index:5 !important;
}
body .pmap-app .pmap-type-master-toggle i{
  position:absolute !important;
  left:2px !important;
  top:2px !important;
  width:16px !important;
  height:16px !important;
  border-radius:50% !important;
  background:#fff !important;
  box-shadow:0 1px 3px rgba(15,23,42,.25) !important;
  transition:transform .18s ease !important;
  pointer-events:none !important;
}
body .pmap-app .pmap-type-master-toggle.pmap-active{background:#111827 !important}
body .pmap-app .pmap-type-master-toggle.pmap-active i{transform:translateX(14px) !important}
body .pmap-app .pmap-type-master-toggle:focus-visible{outline:3px solid rgba(37,99,235,.25) !important;outline-offset:2px !important}


/* v5.3.4 facilities/features master toggle */
body .pmap-app .pmap-features-master-toggle{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  width:34px !important;
  height:20px !important;
  min-width:34px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:999px !important;
  background:#cbd5e1 !important;
  cursor:pointer !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  pointer-events:auto !important;
  z-index:5 !important;
}
body .pmap-app .pmap-features-master-toggle i{
  position:absolute !important;
  left:2px !important;
  top:2px !important;
  width:16px !important;
  height:16px !important;
  border-radius:50% !important;
  background:#fff !important;
  box-shadow:0 1px 3px rgba(15,23,42,.25) !important;
  transition:transform .18s ease !important;
  pointer-events:none !important;
}
body .pmap-app .pmap-features-master-toggle.pmap-active{background:#111827 !important}
body .pmap-app .pmap-features-master-toggle.pmap-active i{transform:translateX(14px) !important}
body .pmap-app .pmap-features-master-toggle:focus-visible{outline:3px solid rgba(37,99,235,.25) !important;outline-offset:2px !important}
body .pmap-app .pmap-tags-row.pmap-features-collapsed .pmap-features-wrap{display:none !important}
body .pmap-app .pmap-tags-row.pmap-features-collapsed{padding-bottom:12px !important}


/* v5.3.5 logo, sidebar close, and heart-controlled detail panel */
body .pmap-app .pmap-brand{
	justify-content:flex-start !important;
	min-width:0 !important;
}
body .pmap-app .pmap-brand-logo-link{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:238px !important;
	min-width:238px !important;
	height:50px !important;
	max-width:100% !important;
	padding:5px 14px !important;
	border-radius:12px !important;
	background:#073848 !important;
	box-shadow:0 6px 18px rgba(15,23,42,.16) !important;
	overflow:visible !important;
}
body .pmap-app .pmap-brand-logo{
	display:block !important;
	width:198px !important;
	height:auto !important;
	max-width:100% !important;
	max-height:40px !important;
	object-fit:contain !important;
	object-position:center !important;
	flex:0 0 auto !important;
}
body .pmap-app .pmap-sidebar-actions{
	display:flex !important;
	align-items:center !important;
	justify-content:flex-end !important;
	gap:8px !important;
}
body .pmap-app .pmap-sidebar-close{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:32px !important;
	height:32px !important;
	min-width:32px !important;
	padding:0 !important;
	border:1px solid #dbe2ea !important;
	border-radius:999px !important;
	background:#fff !important;
	color:#64748b !important;
	font-size:21px !important;
	font-weight:500 !important;
	line-height:1 !important;
	cursor:pointer !important;
	box-shadow:0 2px 8px rgba(15,23,42,.08) !important;
}
body .pmap-app .pmap-sidebar-close:hover{
	background:#f8fafc !important;
	color:#0f172a !important;
}
body .pmap-app .pmap-map-toolbar .pmap-fav-main.pmap-active{
	background:#fff1f2 !important;
	border-color:#fecdd3 !important;
	color:#ef4444 !important;
}
@media (max-width:900px){
	body .pmap-app .pmap-brand{justify-content:flex-start !important}
	body .pmap-app .pmap-brand-logo-link{width:210px !important;min-width:210px !important;height:46px !important;padding:5px 12px !important}
	body .pmap-app .pmap-brand-logo{width:176px !important;height:auto !important;max-height:36px !important}
}
@media (max-width:480px){
	body .pmap-app .pmap-brand-logo-link{width:184px !important;min-width:184px !important;height:44px !important;padding:5px 10px !important}
	body .pmap-app .pmap-brand-logo{width:154px !important;height:auto !important;max-height:34px !important}
}
@media (max-width:760px){
	body .pmap-app .pmap-sidebar-close{display:none !important}
	body .pmap-app .pmap-mobile-sheet-head{display:flex !important}
	body .pmap-app .pmap-sheet-handle{display:block !important}
}


/* v5.3.7 — typography + mobile share + selected-panel behaviour */
body .pmap-app,
body .pmap-app *{
	font-family:"Noto Sans Thai","Inter","Segoe UI",Tahoma,Arial,sans-serif !important;
	font-style:normal !important;
}
body .pmap-app input,
body .pmap-app select,
body .pmap-app textarea,
body .pmap-app button,
body .pmap-app input::placeholder,
body .pmap-app textarea::placeholder{
	font-family:"Noto Sans Thai","Inter","Segoe UI",Tahoma,Arial,sans-serif !important;
	font-style:normal !important;
}

/* Do not show the selected-property panel on initial load. The heart button is the only toolbar toggle. */
body .pmap-app.pmap-detail-hidden > .pmap-shell > .pmap-detail-panel{
	display:none !important;
	visibility:hidden !important;
	pointer-events:none !important;
}
body .pmap-app:not(.pmap-detail-hidden) > .pmap-shell > .pmap-detail-panel{
	visibility:visible !important;
	pointer-events:auto !important;
}

/* Global share dialog: works even while the right detail panel is hidden. */
body.pmap-share-open{overflow:hidden !important}
body .pmap-share-overlay.pmap-share-global{
	position:fixed !important;
	inset:0 !important;
	width:100vw !important;
	height:100vh !important;
	z-index:2147483000 !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	padding:24px !important;
	background:rgba(15,23,42,.55) !important;
	backdrop-filter:blur(3px) !important;
	-webkit-backdrop-filter:blur(3px) !important;
	pointer-events:auto !important;
}
body .pmap-share-global .pmap-share-modal{
	width:min(380px,calc(100vw - 28px)) !important;
	max-height:calc(100vh - 28px) !important;
	overflow:auto !important;
	border-radius:22px !important;
	padding:26px !important;
	background:#fff !important;
	box-shadow:0 28px 80px rgba(15,23,42,.36) !important;
}
body .pmap-share-global .pmap-share-modal h3,
body .pmap-share-global .pmap-share-modal p,
body .pmap-share-global .pmap-share-modal a,
body .pmap-share-global .pmap-share-modal button{
	font-style:normal !important;
}
@media (max-width:760px){
	body .pmap-share-overlay.pmap-share-global{
		align-items:flex-end !important;
		padding:0 !important;
	}
	body .pmap-share-global .pmap-share-modal{
		width:100% !important;
		max-height:88vh !important;
		border-radius:24px 24px 0 0 !important;
		padding:28px 18px calc(24px + env(safe-area-inset-bottom)) !important;
	}
	body .pmap-app:not(.pmap-detail-hidden) > .pmap-shell > .pmap-detail-panel{
		display:block !important;
	}
}


/* v5.3.8 — mobile filter order + second close button */
@media (max-width:760px){
	/* Show an additional X beside Reset filters */
	body .pmap-app .pmap-sidebar-close{
		display:inline-flex !important;
		width:32px !important;
		height:32px !important;
		min-width:32px !important;
		font-size:21px !important;
		line-height:1 !important;
	}
	body .pmap-app .pmap-sidebar-actions{
		display:flex !important;
		align-items:center !important;
		justify-content:flex-end !important;
		gap:8px !important;
	}

	/* Mobile order from the approved brief */
	body .pmap-app .pmap-mobile-sheet-head{order:0 !important}
	body .pmap-app .pmap-sidebar-top{order:1 !important}
	body .pmap-app .pmap-filter-section-deal{order:2 !important}
	body .pmap-app .pmap-filter-section-type{order:3 !important}
	body .pmap-app .pmap-budget-section{order:4 !important}
	body .pmap-app .pmap-space-section{order:5 !important;display:block !important}
	body .pmap-app .pmap-location-section{order:6 !important}
	body .pmap-app .pmap-tags-row{order:7 !important}
	body .pmap-app .pmap-transport-section{order:8 !important}
	body .pmap-app .pmap-nearby-section{order:9 !important}
	body .pmap-app .pmap-mode-section{order:10 !important}
	body .pmap-app .pmap-sidebar-foot{order:11 !important}
}


/* v5.3.9: keep Using Space directly below Price on mobile */
@media (max-width:760px){
  body .pmap-app .pmap-space-section{
    display:block !important;
    visibility:visible !important;
    opacity:1 !important;
    order:5 !important;
    padding:15px 0 !important;
  }
  body .pmap-app .pmap-space-section .pmap-adv-label,
  body .pmap-app .pmap-space-section .pmap-adv-range,
  body .pmap-app .pmap-space-section .pmap-range-labels{
    display:flex !important;
    visibility:visible !important;
  }
  body .pmap-app .pmap-space-section .pmap-adv-range{display:block !important}
  body .pmap-app .pmap-location-section{order:6 !important}
}


/* v5.4.0 — richer property facts, native app sharing, LINE OA chat */
body .pmap-app .pmap-detail-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
body .pmap-app .pmap-detail-grid-compact .pmap-info-box{min-height:92px !important}
body .pmap-app .pmap-admin-line-btn{
	border:2px solid #06c755 !important;
	background:#ffffff !important;
	color:#06c755 !important;
	box-shadow:none !important;
}
body .pmap-app .pmap-admin-line-btn:hover{
	background:#effdf4 !important;
	border-color:#06c755 !important;
	color:#05a946 !important;
}
body .pmap-app .pmap-line-app-icon{
	position:relative !important;
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:42px !important;
	height:32px !important;
	flex:0 0 42px !important;
	border-radius:10px !important;
	background:#06c755 !important;
	color:#fff !important;
	font-size:10px !important;
	font-weight:900 !important;
	letter-spacing:-.04em !important;
	line-height:1 !important;
}
body .pmap-app .pmap-line-app-icon:after{
	content:"" !important;
	position:absolute !important;
	left:7px !important;
	bottom:-5px !important;
	width:0 !important;
	height:0 !important;
	border-top:7px solid #06c755 !important;
	border-right:7px solid transparent !important;
}
body .pmap-app .pmap-line-app-icon span{position:relative !important;z-index:1 !important}
@media (max-width:760px){
	body .pmap-app .pmap-detail-grid-compact{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
	body .pmap-app .pmap-detail-grid-compact .pmap-info-box{min-height:84px !important;padding:13px 12px !important}
}

body .pmap-app .pmap-transport-section.pmap-transport-collapsed .pmap-transport-wrap{display:none !important}
body .pmap-app .pmap-transport-section.pmap-transport-collapsed{padding-bottom:12px !important}


/* v5.4.5 property type list -> toggle style, no type colors */
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all){
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  width:100% !important;
  min-height:44px !important;
  padding:11px 14px !important;
  border:1px solid #e5e7eb !important;
  border-left:1px solid #e5e7eb !important;
  border-radius:14px !important;
  background:#fff !important;
  color:#334155 !important;
  font-size:14px !important;
  font-weight:600 !important;
  line-height:1.3 !important;
  text-align:left !important;
  box-shadow:none !important;
}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all):hover{
  transform:none !important;
  border-color:#d7dde5 !important;
}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all) .pmap-type-swatch{
  display:inline-block !important;
  position:relative !important;
  width:31px !important;
  height:18px !important;
  min-width:31px !important;
  border-radius:999px !important;
  background:#cbd5e1 !important;
  box-shadow:none !important;
  flex:0 0 31px !important;
}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all) .pmap-type-swatch:after{
  content:"" !important;
  position:absolute !important;
  left:2px !important;
  top:2px !important;
  width:14px !important;
  height:14px !important;
  border-radius:50% !important;
  background:#fff !important;
  box-shadow:0 1px 2px rgba(15,23,42,.20) !important;
  transition:transform .16s ease !important;
}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all) .pmap-chip-label{
  display:block !important;
  flex:1 1 auto !important;
  white-space:normal !important;
  word-break:break-word !important;
}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip.pmap-active:not(.pmap-chip-all){
  background:#fff !important;
  border-color:#e5e7eb !important;
  color:#0f172a !important;
  font-weight:700 !important;
}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip.pmap-active:not(.pmap-chip-all) .pmap-type-swatch{
  background:#111827 !important;
}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip.pmap-active:not(.pmap-chip-all) .pmap-type-swatch:after{
  transform:translateX(13px) !important;
}
@media (max-width: 760px){
  body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all){
    min-height:42px !important;
    padding:10px 12px !important;
    font-size:13px !important;
  }
}


/* v5.4.6 property type: color block + toggle switch + label */
body .pmap-app .pmap-type-buckets{display:flex !important;flex-direction:column !important;gap:18px !important}
body .pmap-app .pmap-type-bucket-title{font-size:15px !important;font-weight:800 !important;color:#0f172a !important;margin:0 0 10px !important;text-transform:none !important;letter-spacing:0 !important}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all){
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  width:100% !important;
  min-height:42px !important;
  padding:8px 10px !important;
  border:0 !important;
  border-left:0 !important;
  border-radius:10px !important;
  background:transparent !important;
  color:#0f172a !important;
  font-size:15px !important;
  font-weight:600 !important;
  line-height:1.25 !important;
  text-align:left !important;
  box-shadow:none !important;
}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all):hover{background:#f8fafc !important;transform:none !important}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all) .pmap-type-swatch{
  display:inline-block !important;
  width:34px !important;
  height:18px !important;
  min-width:34px !important;
  border-radius:0 !important;
  background:var(--type-color,#cbd5e1) !important;
  box-shadow:none !important;
  flex:0 0 34px !important;
}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip .pmap-type-toggle{
  display:inline-block !important;
  position:relative !important;
  width:31px !important;
  height:18px !important;
  min-width:31px !important;
  border-radius:999px !important;
  background:#cbd5e1 !important;
  flex:0 0 31px !important;
  transition:background .16s ease !important;
}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip .pmap-type-toggle i{
  position:absolute !important;
  left:2px !important;
  top:2px !important;
  width:14px !important;
  height:14px !important;
  border-radius:50% !important;
  background:#fff !important;
  box-shadow:0 1px 2px rgba(15,23,42,.20) !important;
  transition:transform .16s ease !important;
}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all) .pmap-chip-label{
  display:block !important;
  flex:1 1 auto !important;
  white-space:normal !important;
  word-break:break-word !important;
}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip.pmap-active:not(.pmap-chip-all){
  background:transparent !important;
  color:#0f172a !important;
  font-weight:700 !important;
}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip.pmap-active:not(.pmap-chip-all) .pmap-type-toggle{background:#111827 !important}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip.pmap-active:not(.pmap-chip-all) .pmap-type-toggle i{transform:translateX(13px) !important}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip.pmap-active:not(.pmap-chip-all) .pmap-type-swatch{background:var(--type-color,#cbd5e1) !important;box-shadow:none !important}
body .pmap-app .pmap-type-all-row .pmap-chip-all{width:100% !important;justify-content:flex-start !important;padding:12px 18px !important;border-radius:14px !important;background:#0f172a !important;color:#fff !important}
@media (max-width:760px){
  body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all){font-size:14px !important;gap:10px !important;padding:8px 8px !important}
  body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all) .pmap-type-swatch{width:30px !important;min-width:30px !important;height:16px !important;flex-basis:30px !important}
}


/* v5.4.7: keep property colors on map markers, not on filter buttons */
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip .pmap-type-swatch{
  display:none !important;
}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all){
  gap:10px !important;
  padding-left:12px !important;
}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all) .pmap-type-toggle{
  margin-right:2px !important;
}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip.pmap-active:not(.pmap-chip-all){
  background:#fff !important;
  color:#0f172a !important;
}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip.pmap-active:not(.pmap-chip-all) .pmap-chip-label{
  color:#0f172a !important;
}


/* v5.4.8 - VIP-only property type buttons */
body .pmap-app .pmap-vip-badge{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	margin-left:8px !important;
	padding:2px 7px !important;
	border-radius:999px !important;
	background:#111827 !important;
	color:#fff !important;
	font-size:10px !important;
	font-weight:900 !important;
	letter-spacing:.04em !important;
	line-height:1 !important;
	vertical-align:middle !important;
}
body .pmap-app .pmap-type-vip-locked{
	cursor:not-allowed !important;
	opacity:.72 !important;
}
body .pmap-app .pmap-type-access-locked{position:relative !important}
body .pmap-app .pmap-type-access-locked::after{
	content:'🔒' !important;margin-left:5px !important;font-size:11px !important;line-height:1 !important;filter:grayscale(1) !important;
}
body .pmap-app .pmap-type-vip-locked .pmap-type-toggle{
	background:#e2e8f0 !important;
}
body .pmap-app .pmap-type-vip-locked .pmap-chip-label{
	color:#64748b !important;
}
body .pmap-app .pmap-type-vip-locked .pmap-vip-badge{
	background:#f59e0b !important;
	color:#111827 !important;
}
@keyframes pmapVipShake{
	0%,100%{transform:translateX(0)}
	20%{transform:translateX(-3px)}
	40%{transform:translateX(3px)}
	60%{transform:translateX(-2px)}
	80%{transform:translateX(2px)}
}
body .pmap-app .pmap-vip-shake{
	animation:pmapVipShake .38s ease !important;
}


/* v5.4.9 - remove color blocks from Property Type filter only */
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip .pmap-type-swatch,
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip.pmap-active .pmap-type-swatch,
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all) .pmap-type-swatch,
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip.pmap-active:not(.pmap-chip-all) .pmap-type-swatch{
	display:none !important;
	visibility:hidden !important;
	opacity:0 !important;
	width:0 !important;
	min-width:0 !important;
	height:0 !important;
	flex:0 0 0 !important;
	flex-basis:0 !important;
	margin:0 !important;
	padding:0 !important;
	border:0 !important;
	background:transparent !important;
	box-shadow:none !important;
}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all){
	gap:10px !important;
	padding-left:12px !important;
}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip .pmap-type-toggle{
	margin-left:0 !important;
}


/* v5.5.1 - contextual feature chips by selected property type */
body .pmap-app .pmap-tags-row .pmap-tags-filter-wrap{
	display:flex !important;
	flex-wrap:wrap !important;
	gap:8px !important;
}
body .pmap-app .pmap-tags-row .pmap-muted{
	display:block !important;
	color:#94a3b8 !important;
	font-size:13px !important;
	font-weight:600 !important;
	padding:4px 0 !important;
}
body .pmap-app .pmap-tags-row .pmap-tag-filter-chip{
	white-space:normal !important;
	line-height:1.25 !important;
}


/* v5.5.2 - mobile filter header close button no overlap */
@media (max-width: 760px){
	body .pmap-app .pmap-sidebar .pmap-filter-top,
	body .pmap-app .pmap-sidebar .pmap-results-top{
		position:relative !important;
		display:flex !important;
		align-items:center !important;
		gap:8px !important;
		padding-right:54px !important;
	}
	body .pmap-app .pmap-sidebar .pmap-filter-top .pmap-reset-btn,
	body .pmap-app .pmap-sidebar .pmap-results-top .pmap-reset-btn{
		margin-left:auto !important;
		margin-right:0 !important;
		max-width:142px !important;
		white-space:nowrap !important;
	}
	body .pmap-app .pmap-filter-close,
	body .pmap-app .pmap-mobile-filter-close,
	body .pmap-app .pmap-sidebar-close{
		position:absolute !important;
		top:50% !important;
		right:10px !important;
		transform:translateY(-50%) !important;
		z-index:30 !important;
		width:34px !important;
		height:34px !important;
		min-width:34px !important;
		border-radius:999px !important;
		margin:0 !important;
		flex:0 0 34px !important;
	}
	body .pmap-app .pmap-sidebar .pmap-drawer-handle + .pmap-filter-top,
	body .pmap-app .pmap-sidebar .pmap-drawer-handle + .pmap-results-top{
		margin-top:8px !important;
	}
}


/* v5.5.4 - location dropdown helper */
body .pmap-app .pmap-location-select option:disabled{
	color:#94a3b8 !important;
}


/* v5.5.5 - dynamic right-panel detail fields */
body .pmap-app .pmap-detail-grid.pmap-detail-grid-compact{
	grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
body .pmap-app .pmap-detail-grid .pmap-info-box span{
	word-break:break-word !important;
}
@media(max-width:760px){
	body .pmap-app .pmap-detail-grid.pmap-detail-grid-compact{
		grid-template-columns:repeat(2,minmax(0,1fr)) !important;
	}
}


/* v5.6.0 - Parent Location + Child Units UI */
body .pmap-app .pmap-pin-parent{
	width:34px !important;
	height:34px !important;
	border-radius:999px !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	color:#fff !important;
	border:3px solid #fff !important;
	box-shadow:0 12px 28px rgba(15,23,42,.26) !important;
}
body .pmap-app .pmap-pin-parent span{
	font-size:13px !important;
	font-weight:900 !important;
	line-height:1 !important;
}
body .pmap-app .pmap-child-section{
	margin:16px 0 !important;
	padding:14px !important;
	border:1px solid #e2e8f0 !important;
	border-radius:18px !important;
	background:#f8fafc !important;
}
body .pmap-app .pmap-child-section-head{
	display:flex !important;
	align-items:flex-start !important;
	justify-content:space-between !important;
	gap:12px !important;
	margin-bottom:12px !important;
}
body .pmap-app .pmap-child-section-head .pmap-detail-section-title{
	margin:0 !important;
	color:#0f172a !important;
	font-size:15px !important;
	font-weight:900 !important;
	letter-spacing:0 !important;
	text-transform:none !important;
}
body .pmap-app .pmap-child-section-head p{
	margin:4px 0 0 !important;
	color:#64748b !important;
	font-size:12px !important;
	font-weight:700 !important;
	line-height:1.5 !important;
}
body .pmap-app .pmap-child-count{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	flex:0 0 auto !important;
	min-height:28px !important;
	padding:5px 10px !important;
	border-radius:999px !important;
	background:#0f172a !important;
	color:#fff !important;
	font-size:11px !important;
	font-weight:900 !important;
	white-space:nowrap !important;
}
body .pmap-app .pmap-unit-list{
	display:flex !important;
	flex-direction:column !important;
	gap:8px !important;
}
body .pmap-app .pmap-unit-card{
	width:100% !important;
	border:1px solid #e2e8f0 !important;
	background:#fff !important;
	border-radius:16px !important;
	padding:10px !important;
	display:grid !important;
	grid-template-columns:68px minmax(0,1fr) auto !important;
	gap:10px !important;
	text-align:left !important;
	align-items:center !important;
	cursor:pointer !important;
	box-shadow:0 8px 18px rgba(15,23,42,.06) !important;
}
body .pmap-app .pmap-unit-card:hover{
	border-color:#cbd5e1 !important;
	transform:translateY(-1px) !important;
}
body .pmap-app .pmap-unit-card:focus-visible{
	outline:3px solid rgba(37,99,235,.28) !important;
	outline-offset:2px !important;
	border-color:#2563eb !important;
}
body .pmap-app .pmap-unit-thumb{
	width:68px !important;
	height:54px !important;
	border-radius:12px !important;
	overflow:hidden !important;
	background:#e2e8f0 !important;
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	color:#64748b !important;
	font-size:11px !important;
	font-weight:900 !important;
}
body .pmap-app .pmap-unit-thumb img{
	width:100% !important;
	height:100% !important;
	object-fit:cover !important;
	display:block !important;
}
body .pmap-app .pmap-unit-card-body{
	display:flex !important;
	flex-direction:column !important;
	gap:3px !important;
	min-width:0 !important;
}
body .pmap-app .pmap-unit-title{
	color:#0f172a !important;
	font-size:14px !important;
	font-weight:900 !important;
	white-space:nowrap !important;
	overflow:hidden !important;
	text-overflow:ellipsis !important;
}
body .pmap-app .pmap-unit-meta{
	color:#64748b !important;
	font-size:12px !important;
	font-weight:700 !important;
	white-space:nowrap !important;
	overflow:hidden !important;
	text-overflow:ellipsis !important;
}
body .pmap-app .pmap-unit-price{
	color:#0f172a !important;
	font-size:13px !important;
	font-weight:900 !important;
}
body .pmap-app .pmap-unit-badges{
	display:flex !important;
	flex-direction:column !important;
	align-items:flex-end !important;
	gap:5px !important;
}
body .pmap-app .pmap-unit-vip,
body .pmap-app .pmap-unit-status{
	display:inline-flex !important;
	align-items:center !important;
	border-radius:999px !important;
	padding:4px 7px !important;
	font-size:10px !important;
	font-weight:900 !important;
	line-height:1 !important;
	white-space:nowrap !important;
}
body .pmap-app .pmap-unit-vip{background:#f59e0b !important;color:#111827 !important}
body .pmap-app .pmap-unit-status{background:#e0f2fe !important;color:#075985 !important}
body .pmap-app .pmap-child-vip-note{
	margin:10px 2px 0 !important;
	color:#64748b !important;
	font-size:11px !important;
	font-weight:700 !important;
	line-height:1.5 !important;
}
body .pmap-app .pmap-unit-locked{
	opacity:.82 !important;
}
body .pmap-app .pmap-unit-locked .pmap-unit-thumb{
	background:#111827 !important;
	color:#fff !important;
}
body .pmap-app .pmap-unit-back{
	border:0 !important;
	background:#eef2f7 !important;
	color:#0f172a !important;
	border-radius:999px !important;
	padding:9px 13px !important;
	font-weight:900 !important;
	margin:0 0 12px !important;
	cursor:pointer !important;
}
@media(max-width:760px){
	body .pmap-app .pmap-child-section{
		margin:14px 0 !important;
		padding:12px !important;
	}
	body .pmap-app .pmap-unit-card{
		grid-template-columns:58px minmax(0,1fr) auto !important;
		border-radius:15px !important;
	}
	body .pmap-app .pmap-unit-thumb{
		width:58px !important;
		height:48px !important;
	}
	body .pmap-app .pmap-detail-panel.pmap-unit-detail-open{
		box-shadow:-22px 0 40px rgba(15,23,42,.24) !important;
	}
}


/* v5.6.1 - white menu bar + new Cloud Rental logo */
body .pmap-app .pmap-topbar{
	background:#ffffff !important;
	border-bottom:1px solid #e5e7eb !important;
	box-shadow:0 6px 20px rgba(15,23,42,.06) !important;
	grid-template-columns:320px minmax(320px,640px) 260px !important;
	padding:8px 18px !important;
}
body .pmap-app .pmap-brand,
body .pmap-app .pmap-brand.pmap-brand-cloud{
	justify-content:flex-start !important;
	align-items:center !important;
	min-width:0 !important;
}
body .pmap-app .pmap-brand-logo-link{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:flex-start !important;
	width:260px !important;
	min-width:260px !important;
	height:48px !important;
	max-width:100% !important;
	padding:0 !important;
	border-radius:0 !important;
	background:#ffffff !important;
	box-shadow:none !important;
	overflow:visible !important;
}
body .pmap-app .pmap-brand-logo{
	display:block !important;
	width:235px !important;
	height:auto !important;
	max-width:100% !important;
	max-height:44px !important;
	object-fit:contain !important;
	object-position:left center !important;
	flex:0 0 auto !important;
}
body .pmap-app .pmap-search-input{
	background:#ffffff !important;
}
@media (max-width: 1024px){
	body .pmap-app .pmap-topbar{
		grid-template-columns:260px 1fr auto !important;
		padding:8px 12px !important;
	}
	body .pmap-app .pmap-brand-logo-link{
		width:230px !important;
		min-width:230px !important;
		height:46px !important;
	}
	body .pmap-app .pmap-brand-logo{
		width:210px !important;
		max-height:42px !important;
	}
}
@media (max-width: 760px){
	body .pmap-app .pmap-topbar{
		background:#ffffff !important;
		grid-template-columns:1fr auto !important;
		grid-template-areas:"brand action" "search search" !important;
		gap:10px !important;
		padding:10px 14px !important;
	}
	body .pmap-app .pmap-brand{
		grid-area:brand !important;
		justify-content:flex-start !important;
	}
	body .pmap-app .pmap-brand-logo-link{
		width:210px !important;
		min-width:210px !important;
		height:44px !important;
		padding:0 !important;
		background:#ffffff !important;
		border-radius:0 !important;
		box-shadow:none !important;
	}
	body .pmap-app .pmap-brand-logo{
		width:190px !important;
		max-height:40px !important;
		object-position:left center !important;
	}
	body .pmap-app .pmap-search-wrap{
		grid-area:search !important;
	}
	body .pmap-app .pmap-top-actions{
		grid-area:action !important;
	}
}
@media (max-width: 480px){
	body .pmap-app .pmap-brand-logo-link{
		width:190px !important;
		min-width:190px !important;
		height:42px !important;
	}
	body .pmap-app .pmap-brand-logo{
		width:172px !important;
		max-height:38px !important;
	}
}


/* v5.6.2 - force logo visible on white header */
body .pmap-app .pmap-topbar{
	background:#ffffff !important;
	border-bottom:1px solid #e5e7eb !important;
	box-shadow:0 8px 22px rgba(15,23,42,.07) !important;
	grid-template-columns:320px minmax(320px,640px) 260px !important;
	padding:8px 18px !important;
}
body .pmap-app .pmap-brand,
body .pmap-app .pmap-brand.pmap-brand-cloud{
	display:flex !important;
	visibility:visible !important;
	opacity:1 !important;
	justify-content:flex-start !important;
	align-items:center !important;
	min-width:0 !important;
	width:auto !important;
	height:auto !important;
}
body .pmap-app .pmap-brand-logo-link{
	display:inline-flex !important;
	visibility:visible !important;
	opacity:1 !important;
	align-items:center !important;
	justify-content:flex-start !important;
	width:280px !important;
	min-width:280px !important;
	height:54px !important;
	max-width:100% !important;
	padding:0 !important;
	border-radius:0 !important;
	background:#ffffff !important;
	box-shadow:none !important;
	overflow:visible !important;
	text-decoration:none !important;
}
body .pmap-app .pmap-brand-logo{
	display:block !important;
	visibility:visible !important;
	opacity:1 !important;
	width:260px !important;
	height:auto !important;
	max-width:260px !important;
	max-height:52px !important;
	object-fit:contain !important;
	object-position:left center !important;
	filter:none !important;
	mix-blend-mode:normal !important;
	flex:0 0 auto !important;
}
@media (max-width: 1024px){
	body .pmap-app .pmap-topbar{
		grid-template-columns:260px 1fr auto !important;
		padding:8px 12px !important;
	}
	body .pmap-app .pmap-brand-logo-link{
		width:235px !important;
		min-width:235px !important;
		height:50px !important;
	}
	body .pmap-app .pmap-brand-logo{
		width:220px !important;
		max-width:220px !important;
		max-height:48px !important;
	}
}
@media (max-width: 760px){
	body .pmap-app .pmap-topbar{
		background:#ffffff !important;
		grid-template-columns:1fr auto !important;
		grid-template-areas:"brand action" "search search" !important;
		gap:10px !important;
		padding:10px 14px !important;
	}
	body .pmap-app .pmap-brand{grid-area:brand !important;justify-content:flex-start !important}
	body .pmap-app .pmap-brand-logo-link{
		width:225px !important;
		min-width:225px !important;
		height:48px !important;
	}
	body .pmap-app .pmap-brand-logo{
		width:210px !important;
		max-width:210px !important;
		max-height:46px !important;
		object-position:left center !important;
	}
	body .pmap-app .pmap-search-wrap{grid-area:search !important}
	body .pmap-app .pmap-top-actions{grid-area:action !important}
}
@media (max-width: 480px){
	body .pmap-app .pmap-brand-logo-link{
		width:200px !important;
		min-width:200px !important;
		height:44px !important;
	}
	body .pmap-app .pmap-brand-logo{
		width:185px !important;
		max-width:185px !important;
		max-height:42px !important;
	}
}


/* v5.6.3 - preserve backend textarea formatting on frontend */
body .pmap-app .pmap-detail-desc,
body .pmap-app .pmap-property-modal-desc{
	white-space:pre-wrap !important;
	overflow-wrap:anywhere !important;
	word-break:normal !important;
	line-height:1.78 !important;
}
body .pmap-app .pmap-detail-desc{
	max-height:360px !important;
	overflow:auto !important;
}
body .pmap-app .pmap-unit-detail-open .pmap-detail-desc{
	max-height:300px !important;
}
body .pmap-app .pmap-property-modal-desc{
	max-height:420px !important;
	overflow:auto !important;
}
@media(max-width:760px){
	body .pmap-app .pmap-detail-desc{
		max-height:300px !important;
	}
	body .pmap-app .pmap-property-modal-desc{
		max-height:360px !important;
	}
}


/* v5.6.4 - right panel typography matches left filter panel */
body .pmap-app .pmap-detail-panel,
body .pmap-app .pmap-detail-panel *{
	font-family:"Noto Sans Thai","Inter","Segoe UI",Tahoma,Arial,sans-serif !important;
	font-style:normal !important;
	letter-spacing:0 !important;
}

body .pmap-app .pmap-detail-title{
	font-size:20px !important;
	line-height:1.42 !important;
	font-weight:700 !important;
	letter-spacing:0 !important;
	color:#111827 !important;
}

body .pmap-app .pmap-detail-address{
	font-size:13px !important;
	line-height:1.6 !important;
	font-weight:400 !important;
	color:#64748b !important;
}

body .pmap-app .pmap-detail-price-label,
body .pmap-app .pmap-detail-kicker,
body .pmap-app .pmap-detail-section-title{
	font-size:11px !important;
	line-height:1.45 !important;
	font-weight:600 !important;
	letter-spacing:.04em !important;
	color:#8a94a6 !important;
}

body .pmap-app .pmap-detail-price{
	font-size:27px !important;
	line-height:1.2 !important;
	font-weight:700 !important;
	letter-spacing:0 !important;
}
body .pmap-app .pmap-currency-switch{
	display:inline-flex !important;
	align-items:center !important;
	gap:2px !important;
	margin:4px 0 8px !important;
	padding:2px !important;
	border:1px solid #e2e8f0 !important;
	border-radius:999px !important;
	background:#f8fafc !important;
}
body .pmap-app .pmap-currency-switch button{
	border:0 !important;
	border-radius:999px !important;
	background:transparent !important;
	color:#64748b !important;
	padding:4px 9px !important;
	font-size:11px !important;
	font-weight:800 !important;
	line-height:1 !important;
	cursor:pointer !important;
}
body .pmap-app .pmap-currency-switch button.pmap-active{
	background:#111827 !important;
	color:#fff !important;
}

body .pmap-app .pmap-detail-price span + span{
	font-size:16px !important;
	font-weight:600 !important;
	letter-spacing:0 !important;
}

body .pmap-app .pmap-info-box{
	padding:14px 15px !important;
}

body .pmap-app .pmap-info-box span{
	font-size:11px !important;
	line-height:1.45 !important;
	font-weight:600 !important;
	letter-spacing:.04em !important;
	text-transform:uppercase !important;
	color:#8a94a6 !important;
	margin-bottom:7px !important;
}

body .pmap-app .pmap-info-box b{
	font-family:"Noto Sans Thai","Inter","Segoe UI",Tahoma,Arial,sans-serif !important;
	font-size:13px !important;
	line-height:1.45 !important;
	font-weight:700 !important;
	letter-spacing:0 !important;
	color:#111827 !important;
	overflow-wrap:break-word !important;
	word-break:normal !important;
}
body .pmap-app .pmap-detail-grid .pmap-info-box-feature{
	grid-column:1/-1 !important;
	min-height:54px !important;
}
body .pmap-app .pmap-detail-grid .pmap-info-box-condition{
	grid-column:1/-1 !important;
	min-height:54px !important;
}
body .pmap-app .pmap-detail-grid .pmap-info-box-retail-wide{
	grid-column:1/-1 !important;
	border-right:0 !important;
	min-height:54px !important;
}
body .pmap-app .pmap-detail-grid .pmap-info-box-feature b{
	white-space:normal !important;
	font-size:13px !important;
	line-height:1.55 !important;
	font-weight:700 !important;
}
body .pmap-app .pmap-detail-grid .pmap-info-box-condition b{
	display:block !important;
	max-width:100% !important;
	font-size:13px !important;
	line-height:1.55 !important;
	font-weight:700 !important;
	white-space:nowrap !important;
	overflow:hidden !important;
	text-overflow:ellipsis !important;
}

body .pmap-app .pmap-detail-desc{
	font-size:13px !important;
	line-height:1.75 !important;
	font-weight:400 !important;
	letter-spacing:0 !important;
	color:#475569 !important;
}

body .pmap-app .pmap-pill{
	font-size:12px !important;
	line-height:1.35 !important;
	font-weight:600 !important;
	letter-spacing:0 !important;
}
body .pmap-app .pmap-pill.pmap-feature-red{
	background:#fee2e2 !important;
	color:#b91c1c !important;
}
body .pmap-app .pmap-pill.pmap-feature-green{
	background:#dcfce7 !important;
	color:#15803d !important;
}
body .pmap-app .pmap-pill.pmap-feature-blue{
	background:#dbeafe !important;
	color:#2563eb !important;
}

body .pmap-app .pmap-line-btn,
body .pmap-app .pmap-primary-btn,
body .pmap-app .pmap-secondary-btn{
	font-size:14px !important;
	font-weight:700 !important;
	letter-spacing:0 !important;
}

body .pmap-app .pmap-unit-card,
body .pmap-app .pmap-unit-card *{
	font-family:"Noto Sans Thai","Inter","Segoe UI",Tahoma,Arial,sans-serif !important;
	letter-spacing:0 !important;
}

@media(max-width:760px){
	body .pmap-app .pmap-detail-title{
		font-size:19px !important;
		line-height:1.42 !important;
	}
	body .pmap-app .pmap-info-box b{
		font-size:13px !important;
		line-height:1.45 !important;
	}
	body .pmap-app .pmap-detail-desc{
		font-size:13px !important;
		line-height:1.72 !important;
	}
	body .pmap-app .pmap-detail-grid .pmap-info-box-condition b{
		font-size:12px !important;
		line-height:1.55 !important;
	}
}


/* v5.6.5 - Facility uses the full card width to reduce line wrapping */
body .pmap-app .pmap-detail-grid .pmap-info-box-facility{
	grid-column:1 / -1 !important;
	border-right:0 !important;
	min-height:auto !important;
	padding:14px 16px 16px !important;
}
body .pmap-app .pmap-detail-grid .pmap-info-box-facility b{
	font-size:13px !important;
	line-height:1.62 !important;
	font-weight:600 !important;
	letter-spacing:0 !important;
	white-space:normal !important;
	word-break:normal !important;
	overflow-wrap:anywhere !important;
}
@media(max-width:760px){
	body .pmap-app .pmap-detail-grid .pmap-info-box-facility{
		grid-column:1 / -1 !important;
		padding:12px 14px 14px !important;
	}
	body .pmap-app .pmap-detail-grid .pmap-info-box-facility b{
		font-size:12px !important;
		line-height:1.58 !important;
	}
}


/* v5.6.6 - fix duplicated mobile close buttons */
@media (max-width:760px){
	body .pmap-app .pmap-sidebar-close,
	body .pmap-app button.pmap-sidebar-close{
		display:none !important;
		visibility:hidden !important;
		opacity:0 !important;
		pointer-events:none !important;
		position:static !important;
		width:0 !important;
		height:0 !important;
		min-width:0 !important;
		margin:0 !important;
		padding:0 !important;
		border:0 !important;
	}

	body .pmap-app .pmap-mobile-sheet-head{
		display:flex !important;
		position:relative !important;
		align-items:center !important;
		justify-content:center !important;
		height:38px !important;
		min-height:38px !important;
		padding:0 48px 0 14px !important;
		margin:0 !important;
		overflow:visible !important;
	}

	body .pmap-app .pmap-mobile-sheet-head .pmap-sheet-handle{
		display:block !important;
		position:static !important;
		width:46px !important;
		height:5px !important;
		margin:0 auto !important;
		border-radius:999px !important;
	}

	body .pmap-app .pmap-mobile-sheet-head .pmap-filter-close{
		display:inline-flex !important;
		align-items:center !important;
		justify-content:center !important;
		position:absolute !important;
		top:4px !important;
		right:8px !important;
		transform:none !important;
		z-index:50 !important;
		width:32px !important;
		height:32px !important;
		min-width:32px !important;
		margin:0 !important;
		padding:0 !important;
		border:1px solid #dbe2ea !important;
		border-radius:999px !important;
		background:#fff !important;
		color:#64748b !important;
		font-size:20px !important;
		line-height:1 !important;
		box-shadow:0 4px 12px rgba(15,23,42,.10) !important;
	}

	body .pmap-app .pmap-sidebar-top{
		position:relative !important;
		padding:12px 0 14px !important;
		margin:0 !important;
	}

	body .pmap-app .pmap-sidebar-actions{
		position:static !important;
		display:flex !important;
		align-items:center !important;
		justify-content:flex-end !important;
		gap:8px !important;
	}

	body .pmap-app .pmap-sidebar-actions .pmap-reset-btn{
		position:static !important;
		margin:0 !important;
		transform:none !important;
		max-width:none !important;
	}
}


/* v5.6.7 - favorite history and post-registration favorite fix */
body .pmap-app .pmap-map-toolbar .pmap-tool-btn .pmap-fav-count{
	display:none;
}
body .pmap-app .pmap-map-toolbar .pmap-tool-btn.pmap-fav-main.pmap-active{
	background:#fff1f2 !important;
	color:#ef4444 !important;
	border-color:#fecdd3 !important;
}
body .pmap-app .pmap-saved-modal{
	max-height:min(640px,calc(100vh - 40px)) !important;
	overflow:auto !important;
}
body .pmap-app .pmap-saved-row{
	gap:10px !important;
}
@media(max-width:760px){
	body .pmap-app .pmap-saved-overlay{
		align-items:flex-end !important;
		padding:0 !important;
	}
	body .pmap-app .pmap-saved-modal{
		width:100% !important;
		max-width:none !important;
		max-height:78vh !important;
		border-radius:22px 22px 0 0 !important;
		margin:0 !important;
	}
}


/* v5.6.8 - mobile property gallery uses 4:3 (800x600) without cropping */
@media (max-width:760px){
	body .pmap-app .pmap-detail-panel .pmap-detail-image,
	body .pmap-app .pmap-property-modal .pmap-detail-image,
	body .pmap-app .pmap-unit-detail .pmap-detail-image{
		width:100% !important;
		height:auto !important;
		min-height:0 !important;
		aspect-ratio:4 / 3 !important;
		background:#ffffff !important;
		overflow:hidden !important;
	}

	body .pmap-app .pmap-detail-panel .pmap-detail-image img,
	body .pmap-app .pmap-detail-panel .pmap-slide,
	body .pmap-app .pmap-property-modal .pmap-detail-image img,
	body .pmap-app .pmap-property-modal .pmap-slide,
	body .pmap-app .pmap-unit-detail .pmap-detail-image img,
	body .pmap-app .pmap-unit-detail .pmap-slide{
		width:100% !important;
		height:100% !important;
		object-fit:contain !important;
		object-position:center center !important;
		background:#ffffff !important;
	}

	body .pmap-app .pmap-detail-panel .pmap-slider,
	body .pmap-app .pmap-property-modal .pmap-slider,
	body .pmap-app .pmap-unit-detail .pmap-slider{
		aspect-ratio:4 / 3 !important;
		height:auto !important;
	}
}


/* ===== Route UI redesign v5.7.3 ===== */
body .pmap-app .pmap-route-info{
	left:auto !important;
	right:16px !important;
	bottom:16px !important;
	transform:none !important;
	z-index:19 !important;
	background:#ffffff !important;
	color:#0f172a !important;
	border:1px solid rgba(148,163,184,.28) !important;
	border-radius:18px !important;
	padding:0 !important;
	min-width:260px !important;
	max-width:min(360px, calc(100% - 28px)) !important;
	white-space:normal !important;
	overflow:visible !important;
	box-shadow:0 14px 34px rgba(15,23,42,.18) !important;
}

/* v5.7.7 - mobile search returns to the map and the filter close button stays visible */
@media (max-width:760px){
	body .pmap-app .pmap-mobile-sheet-head{
		position:sticky !important;
		top:0 !important;
		z-index:100 !important;
		flex:0 0 46px !important;
		width:auto !important;
		min-height:46px !important;
		height:46px !important;
		margin:0 -16px !important;
		padding:0 48px 0 16px !important;
		background:#ffffff !important;
		border-radius:22px 22px 0 0 !important;
		box-shadow:0 1px 0 #e2e8f0,0 6px 14px rgba(15,23,42,.06) !important;
	}
	body .pmap-app .pmap-mobile-sheet-head .pmap-filter-close{
		display:inline-flex !important;
		visibility:visible !important;
		opacity:1 !important;
		pointer-events:auto !important;
		position:absolute !important;
		top:7px !important;
		right:10px !important;
		transform:none !important;
		z-index:102 !important;
		width:34px !important;
		height:34px !important;
		min-width:34px !important;
		align-items:center !important;
		justify-content:center !important;
		margin:0 !important;
		padding:0 !important;
		border:1px solid #cbd5e1 !important;
		border-radius:999px !important;
		background:#ffffff !important;
		color:#334155 !important;
		font-size:22px !important;
		line-height:1 !important;
		box-shadow:0 3px 10px rgba(15,23,42,.12) !important;
	}
}
@media (max-width:460px){
	body .pmap-app .pmap-mobile-sheet-head{
		margin-left:-14px !important;
		margin-right:-14px !important;
	}
}
body .pmap-app .pmap-route-card{
	display:flex !important;
	align-items:center !important;
	justify-content:space-between !important;
	gap:12px !important;
	padding:12px 14px !important;
}
body .pmap-app .pmap-route-summary{
	min-width:0 !important;
	flex:1 1 auto !important;
	display:flex !important;
	flex-direction:column !important;
	gap:4px !important;
}
body .pmap-app .pmap-route-destination{
	font-size:12px !important;
	font-weight:700 !important;
	line-height:1.35 !important;
	color:#475569 !important;
	display:-webkit-box !important;
	-webkit-line-clamp:2 !important;
	-webkit-box-orient:vertical !important;
	overflow:hidden !important;
}
body .pmap-app .pmap-route-metrics{
	display:flex !important;
	align-items:center !important;
	flex-wrap:wrap !important;
	gap:6px !important;
	font-size:18px !important;
	font-weight:800 !important;
	line-height:1.2 !important;
	color:#0f172a !important;
}
body .pmap-app .pmap-route-metrics b{color:#0f172a !important}
body .pmap-app .pmap-route-dot{color:#94a3b8 !important;font-size:12px !important;line-height:1 !important}
body .pmap-app .pmap-route-subline{
	font-size:11px !important;
	font-weight:700 !important;
	color:#0b7a3e !important;
	line-height:1.35 !important;
}
body .pmap-app .pmap-route-actions{
	display:flex !important;
	align-items:center !important;
	gap:8px !important;
	flex:0 0 auto !important;
}
body .pmap-app .pmap-route-steps-btn{
	background:#0f172a !important;
	color:#fff !important;
	border-radius:999px !important;
	padding:8px 12px !important;
	font-size:12px !important;
	font-weight:800 !important;
	box-shadow:none !important;
}
body .pmap-app .pmap-route-steps-btn:hover{background:#1e293b !important}
body .pmap-app .pmap-route-clear{
	width:32px !important;
	height:32px !important;
	background:#f1f5f9 !important;
	color:#334155 !important;
	font-size:20px !important;
	font-weight:700 !important;
	line-height:1 !important;
}
body .pmap-app .pmap-route-steps{
	left:auto !important;
	right:16px !important;
	bottom:88px !important;
	width:360px !important;
	max-width:calc(100% - 28px) !important;
	max-height:min(58vh, 560px) !important;
	border-radius:18px !important;
	box-shadow:0 24px 60px rgba(15,23,42,.24) !important;
	border:1px solid rgba(148,163,184,.22) !important;
}
body .pmap-app .pmap-route-steps-head{
	background:#0f172a !important;
	padding:13px 16px !important;
	font-size:13px !important;
	letter-spacing:.01em !important;
}
body .pmap-app .pmap-route-steps-list{padding:4px 0 8px !important}
body .pmap-app .pmap-route-steps-list li{
	padding:12px 16px !important;
	gap:6px !important;
	font-size:13px !important;
	line-height:1.5 !important;
}
body .pmap-app .pmap-route-steps-list li small{font-size:11px !important}
body .pmap-app .pmap-route-steps-close{
	width:28px !important;
	height:28px !important;
	background:rgba(255,255,255,.14) !important;
}
@media (max-width: 767px){
	body .pmap-app .pmap-route-info{
		left:12px !important;
		right:12px !important;
		bottom:12px !important;
		max-width:none !important;
		min-width:0 !important;
	}
	body .pmap-app .pmap-route-card{
		padding:11px 12px !important;
		gap:10px !important;
		align-items:flex-start !important;
	}
	body .pmap-app .pmap-route-metrics{font-size:17px !important}
	body .pmap-app .pmap-route-destination{font-size:11px !important}
	body .pmap-app .pmap-route-actions{
		flex-direction:column !important;
		align-items:stretch !important;
		gap:6px !important;
	}
	body .pmap-app .pmap-route-steps-btn{padding:8px 10px !important;font-size:11px !important}
	body .pmap-app .pmap-route-clear{width:30px !important;height:30px !important;align-self:flex-end !important}
	body .pmap-app .pmap-route-steps{
		left:12px !important;
		right:12px !important;
		bottom:82px !important;
		width:auto !important;
		max-width:none !important;
		max-height:48vh !important;
		border-radius:18px !important;
	}
}


/* ===== Mobile compact rectangular route bar v5.7.4 ===== */
body .pmap-app .pmap-route-info.pmap-route-info-compact{
	position:absolute !important;
	left:16px !important;
	right:16px !important;
	bottom:14px !important;
	width:auto !important;
	min-width:0 !important;
	max-width:none !important;
	height:auto !important;
	transform:none !important;
	z-index:25 !important;
	display:flex !important;
	align-items:stretch !important;
	background:rgba(238,241,244,.94) !important;
	color:#374151 !important;
	border:1px solid rgba(100,116,139,.18) !important;
	border-radius:12px !important;
	padding:0 !important;
	box-shadow:0 6px 18px rgba(15,23,42,.14) !important;
	overflow:hidden !important;
	white-space:normal !important;
	backdrop-filter:blur(8px) !important;
	-webkit-backdrop-filter:blur(8px) !important;
}
body .pmap-app .pmap-route-info.pmap-route-info-compact .pmap-route-card{
	width:100% !important;
	display:grid !important;
	grid-template-columns:minmax(0,1fr) auto !important;
	align-items:center !important;
	gap:10px !important;
	padding:10px 10px 10px 13px !important;
	background:transparent !important;
}
body .pmap-app .pmap-route-info.pmap-route-info-compact .pmap-route-summary{
	min-width:0 !important;
	display:flex !important;
	flex-direction:column !important;
	gap:2px !important;
}
body .pmap-app .pmap-route-info.pmap-route-info-compact .pmap-route-destination{
	font-size:11px !important;
	line-height:1.3 !important;
	font-weight:600 !important;
	color:#6b7280 !important;
	white-space:nowrap !important;
	overflow:hidden !important;
	text-overflow:ellipsis !important;
	display:block !important;
}
body .pmap-app .pmap-route-info.pmap-route-info-compact .pmap-route-metrics{
	display:flex !important;
	align-items:center !important;
	gap:6px !important;
	font-size:16px !important;
	line-height:1.15 !important;
	font-weight:800 !important;
	color:#374151 !important;
}
body .pmap-app .pmap-route-info.pmap-route-info-compact .pmap-route-metrics b{
	color:#374151 !important;
	font-size:16px !important;
}
body .pmap-app .pmap-route-info.pmap-route-info-compact .pmap-route-dot{color:#9ca3af !important}
body .pmap-app .pmap-route-info.pmap-route-info-compact .pmap-route-subline{
	font-size:10px !important;
	line-height:1.25 !important;
	font-weight:600 !important;
	color:#6b7280 !important;
}
body .pmap-app .pmap-route-info.pmap-route-info-compact .pmap-route-actions{
	display:flex !important;
	flex-direction:row !important;
	align-items:center !important;
	gap:6px !important;
}
body .pmap-app .pmap-route-info.pmap-route-info-compact .pmap-route-steps-btn{
	border:1px solid rgba(100,116,139,.22) !important;
	background:rgba(255,255,255,.72) !important;
	color:#4b5563 !important;
	border-radius:8px !important;
	padding:7px 9px !important;
	font-size:10px !important;
	font-weight:700 !important;
	line-height:1.1 !important;
	white-space:nowrap !important;
}
body .pmap-app .pmap-route-info.pmap-route-info-compact .pmap-route-clear{
	width:28px !important;
	height:28px !important;
	min-width:28px !important;
	border:0 !important;
	background:rgba(255,255,255,.74) !important;
	color:#6b7280 !important;
	border-radius:8px !important;
	font-size:18px !important;
	line-height:1 !important;
}
body .pmap-app .pmap-route-steps{
	left:16px !important;
	right:16px !important;
	bottom:84px !important;
	width:auto !important;
	max-width:none !important;
	max-height:42vh !important;
	border-radius:12px !important;
	box-shadow:0 10px 28px rgba(15,23,42,.18) !important;
}
@media (min-width:768px){
	body .pmap-app .pmap-route-info.pmap-route-info-compact{
		left:auto !important;
		right:18px !important;
		width:360px !important;
	}
}


/* v5.7.5 - force compact route summary visible */
body .pmap-app .pmap-map-stage > .pmap-route-info.pmap-route-info-compact{
	display:block !important;
	visibility:visible !important;
	opacity:1 !important;
	pointer-events:auto !important;
	position:absolute !important;
	top:14px !important;
	bottom:auto !important;
	left:92px !important;
	right:12px !important;
	width:auto !important;
	min-width:0 !important;
	max-width:none !important;
	z-index:999 !important;
	background:rgba(229,231,235,.92) !important;
	color:#374151 !important;
	border:1px solid rgba(107,114,128,.24) !important;
	border-radius:10px !important;
	box-shadow:0 4px 14px rgba(15,23,42,.14) !important;
	overflow:hidden !important;
	backdrop-filter:blur(7px) !important;
	-webkit-backdrop-filter:blur(7px) !important;
}
body .pmap-app .pmap-map-stage > .pmap-route-info.pmap-route-info-compact .pmap-route-card{
	display:grid !important;
	grid-template-columns:minmax(0,1fr) auto !important;
	align-items:center !important;
	gap:8px !important;
	width:100% !important;
	padding:8px 8px 8px 11px !important;
}
body .pmap-app .pmap-map-stage > .pmap-route-info.pmap-route-info-compact .pmap-route-summary{
	display:flex !important;
	flex-direction:column !important;
	gap:1px !important;
	min-width:0 !important;
}
body .pmap-app .pmap-map-stage > .pmap-route-info.pmap-route-info-compact .pmap-route-destination{
	display:block !important;
	font-size:10px !important;
	line-height:1.25 !important;
	font-weight:600 !important;
	color:#6b7280 !important;
	white-space:nowrap !important;
	overflow:hidden !important;
	text-overflow:ellipsis !important;
}
body .pmap-app .pmap-map-stage > .pmap-route-info.pmap-route-info-compact .pmap-route-metrics{
	display:flex !important;
	align-items:center !important;
	gap:5px !important;
	font-size:15px !important;
	line-height:1.15 !important;
	font-weight:800 !important;
	color:#374151 !important;
}
body .pmap-app .pmap-map-stage > .pmap-route-info.pmap-route-info-compact .pmap-route-metrics b{
	font-size:15px !important;
	color:#374151 !important;
}
body .pmap-app .pmap-map-stage > .pmap-route-info.pmap-route-info-compact .pmap-route-subline{
	font-size:9px !important;
	line-height:1.2 !important;
	font-weight:600 !important;
	color:#6b7280 !important;
}
body .pmap-app .pmap-map-stage > .pmap-route-info.pmap-route-info-compact .pmap-route-actions{
	display:flex !important;
	flex-direction:row !important;
	align-items:center !important;
	gap:5px !important;
}
body .pmap-app .pmap-map-stage > .pmap-route-info.pmap-route-info-compact .pmap-route-steps-btn{
	padding:6px 8px !important;
	border-radius:7px !important;
	border:1px solid rgba(107,114,128,.24) !important;
	background:rgba(255,255,255,.74) !important;
	color:#4b5563 !important;
	font-size:9px !important;
	font-weight:700 !important;
	white-space:nowrap !important;
}
body .pmap-app .pmap-map-stage > .pmap-route-info.pmap-route-info-compact .pmap-route-clear{
	width:25px !important;
	height:25px !important;
	min-width:25px !important;
	border-radius:7px !important;
	background:rgba(255,255,255,.76) !important;
	color:#6b7280 !important;
	font-size:17px !important;
}
body .pmap-app .pmap-route-steps{
	top:70px !important;
	bottom:auto !important;
	left:92px !important;
	right:12px !important;
	width:auto !important;
	max-width:none !important;
	max-height:45vh !important;
	z-index:1000 !important;
}
@media (min-width:768px){
	body .pmap-app .pmap-map-stage > .pmap-route-info.pmap-route-info-compact{
		top:auto !important;
		bottom:16px !important;
		left:auto !important;
		right:18px !important;
		width:360px !important;
	}
	body .pmap-app .pmap-route-steps{
		top:auto !important;
		bottom:82px !important;
		left:auto !important;
		right:18px !important;
		width:360px !important;
	}
}


/* v5.7.8 - mobile child-property name deck + slide-up detail */
@keyframes pmapUnitDetailSlideUp{
	from{
		opacity:.35;
		transform:translate3d(0,calc(100% + 18px),0);
	}
	to{
		opacity:1;
		transform:translate3d(0,0,0);
	}
}

@media (max-width:760px){
	/* A parent with child units opens as a compact chooser, not a long property card. */
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units{
		max-height:min(62%,520px) !important;
		overflow-y:auto !important;
		overscroll-behavior:contain !important;
		border-radius:22px !important;
	}
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units > .pmap-detail-image{
		display:none !important;
	}
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units .pmap-detail-body{
		padding:18px 14px calc(16px + env(safe-area-inset-bottom)) !important;
	}
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units .pmap-detail-heading{
		padding-right:34px !important;
		margin-bottom:10px !important;
	}
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units .pmap-detail-title{
		margin-right:0 !important;
		margin-bottom:2px !important;
		font-size:17px !important;
		line-height:1.35 !important;
	}
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units .pmap-detail-address,
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units .pmap-detail-actions,
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units .pmap-parent-only{
		display:none !important;
	}

	/* The child names overlap like a small card deck and stay easy to tap. */
	body .pmap-app .pmap-parent-has-units .pmap-child-section{
		margin:8px 0 0 !important;
		padding:12px !important;
		border:1px solid #dbe4ee !important;
		border-radius:18px !important;
		background:linear-gradient(180deg,#f8fafc 0%,#eef3f8 100%) !important;
		overflow:hidden !important;
	}
	body .pmap-app .pmap-parent-has-units .pmap-child-section-head{
		align-items:center !important;
		margin-bottom:10px !important;
	}
	body .pmap-app .pmap-parent-has-units .pmap-child-section-head p{
		font-size:11px !important;
		line-height:1.35 !important;
	}
	body .pmap-app .pmap-parent-has-units .pmap-unit-list{
		display:flex !important;
		flex-direction:column !important;
		gap:0 !important;
		max-height:224px !important;
		overflow-x:hidden !important;
		overflow-y:auto !important;
		padding:2px 5px 13px !important;
		scrollbar-width:thin !important;
		overscroll-behavior:contain !important;
		-webkit-overflow-scrolling:touch !important;
	}
	body .pmap-app .pmap-parent-has-units .pmap-unit-card{
		position:relative !important;
		z-index:calc(100 + var(--pmap-unit-i)) !important;
		display:flex !important;
		align-items:center !important;
		width:100% !important;
		min-height:52px !important;
		margin:0 !important;
		padding:10px 42px 10px 14px !important;
		border:1px solid #d8e1eb !important;
		border-left:5px solid #0f172a !important;
		border-radius:13px !important;
		background:#ffffff !important;
		box-shadow:0 8px 18px rgba(15,23,42,.13) !important;
		transform:translateX(0) !important;
		transition:transform .18s ease,background .18s ease,border-color .18s ease !important;
	}
	body .pmap-app .pmap-parent-has-units .pmap-unit-card + .pmap-unit-card{
		margin-top:-10px !important;
	}
	body .pmap-app .pmap-parent-has-units .pmap-unit-card:nth-child(3n+2){
		border-left-color:#2563eb !important;
	}
	body .pmap-app .pmap-parent-has-units .pmap-unit-card:nth-child(3n){
		border-left-color:#0f766e !important;
	}
	body .pmap-app .pmap-parent-has-units .pmap-unit-card::after{
		content:"›" !important;
		position:absolute !important;
		right:14px !important;
		top:50% !important;
		transform:translateY(-50%) !important;
		color:#64748b !important;
		font-size:28px !important;
		font-weight:500 !important;
		line-height:1 !important;
	}
	body .pmap-app .pmap-parent-has-units .pmap-unit-card:active,
	body .pmap-app .pmap-parent-has-units .pmap-unit-card:focus-visible{
		z-index:300 !important;
		transform:translateX(8px) !important;
		background:#f8fbff !important;
		border-color:#94a3b8 !important;
	}
	body .pmap-app .pmap-parent-has-units .pmap-unit-thumb,
	body .pmap-app .pmap-parent-has-units .pmap-unit-meta,
	body .pmap-app .pmap-parent-has-units .pmap-unit-price,
	body .pmap-app .pmap-parent-has-units .pmap-unit-badges{
		display:none !important;
	}
	body .pmap-app .pmap-parent-has-units .pmap-unit-card-body{
		display:block !important;
		width:100% !important;
		min-width:0 !important;
	}
	body .pmap-app .pmap-parent-has-units .pmap-unit-title{
		display:block !important;
		color:#0f172a !important;
		font-size:14px !important;
		font-weight:800 !important;
		line-height:1.4 !important;
		white-space:nowrap !important;
		overflow:hidden !important;
		text-overflow:ellipsis !important;
	}

	/* Selecting a name replaces the chooser with its full detail as a bottom sheet. */
	body .pmap-app .pmap-detail-panel.pmap-unit-detail-open{
		max-height:78% !important;
		animation:pmapUnitDetailSlideUp .30s cubic-bezier(.22,.78,.22,1) both !important;
	}
	body .pmap-app .pmap-detail-panel.pmap-unit-detail-open .pmap-unit-back{
		position:sticky !important;
		top:0 !important;
		z-index:8 !important;
		box-shadow:0 5px 14px rgba(15,23,42,.08) !important;
	}
}

@media (prefers-reduced-motion:reduce){
	body .pmap-app .pmap-detail-panel.pmap-unit-detail-open{
		animation:none !important;
	}
}


/* v5.7.9 - reliable mobile close controls + fully visible child-property sheet */
@media (max-width:760px){
	/* Keep the filter header above every scrollable filter control. */
	body .pmap-app .pmap-sidebar{
		isolation:isolate !important;
	}
	body .pmap-app .pmap-mobile-sheet-head{
		z-index:1000 !important;
		pointer-events:auto !important;
		touch-action:pan-y !important;
	}
	body .pmap-app .pmap-mobile-sheet-head .pmap-sheet-handle{
		pointer-events:none !important;
	}
	body .pmap-app .pmap-mobile-sheet-head .pmap-filter-close{
		z-index:1002 !important;
		pointer-events:auto !important;
		touch-action:manipulation !important;
		-webkit-tap-highlight-color:transparent !important;
	}

	/* Give the chooser a real height. Previously its auto height could collapse
	   to the heading in Android in-app browsers, leaving the unit names below
	   the visible viewport. */
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units{
		left:8px !important;
		right:8px !important;
		bottom:max(8px,env(safe-area-inset-bottom)) !important;
		width:auto !important;
		height:min(56dvh,500px) !important;
		min-height:min(360px,56dvh) !important;
		max-height:min(70dvh,560px) !important;
		overflow:hidden !important;
		z-index:60 !important;
		isolation:isolate !important;
		pointer-events:auto !important;
	}
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units .pmap-detail-body{
		display:flex !important;
		flex-direction:column !important;
		height:100% !important;
		min-height:0 !important;
		overflow:hidden !important;
	}
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units .pmap-detail-heading{
		flex:0 0 auto !important;
	}
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units .pmap-child-section{
		display:flex !important;
		flex:1 1 auto !important;
		flex-direction:column !important;
		min-height:0 !important;
		overflow:hidden !important;
	}
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units .pmap-unit-list{
		flex:1 1 auto !important;
		min-height:126px !important;
		max-height:none !important;
		overflow-y:auto !important;
		pointer-events:auto !important;
		touch-action:pan-y !important;
	}
	body .pmap-app .pmap-detail-panel .pmap-detail-close{
		z-index:1002 !important;
		width:42px !important;
		height:42px !important;
		min-width:42px !important;
		pointer-events:auto !important;
		touch-action:manipulation !important;
		-webkit-tap-highlight-color:transparent !important;
	}
	body .pmap-app .pmap-parent-has-units .pmap-unit-card{
		pointer-events:auto !important;
		touch-action:pan-y !important;
		-webkit-tap-highlight-color:rgba(15,23,42,.08) !important;
	}

	/* The selected unit becomes a large, independently scrollable sheet. */
	body .pmap-app .pmap-detail-panel.pmap-unit-detail-open{
		left:8px !important;
		right:8px !important;
		bottom:max(8px,env(safe-area-inset-bottom)) !important;
		width:auto !important;
		height:82dvh !important;
		max-height:82dvh !important;
		overflow-x:hidden !important;
		overflow-y:auto !important;
		overscroll-behavior:contain !important;
		-webkit-overflow-scrolling:touch !important;
		z-index:61 !important;
		pointer-events:auto !important;
	}
	body .pmap-app .pmap-detail-panel.pmap-unit-detail-open .pmap-detail-body{
		height:auto !important;
		overflow:visible !important;
	}
	body .pmap-app .pmap-detail-panel.pmap-unit-detail-open .pmap-unit-back,
	body .pmap-app .pmap-detail-panel.pmap-unit-detail-open .pmap-unit-detail-modal{
		pointer-events:auto !important;
		touch-action:manipulation !important;
	}
}

/* Fallback for older mobile engines without dynamic viewport units. */
@supports not (height:1dvh){
	@media (max-width:760px){
		body .pmap-app .pmap-detail-panel.pmap-parent-has-units{
			height:min(56vh,500px) !important;
			min-height:min(360px,56vh) !important;
			max-height:min(70vh,560px) !important;
		}
		body .pmap-app .pmap-detail-panel.pmap-unit-detail-open{
			height:82vh !important;
			max-height:82vh !important;
		}
	}
}

/* v5.8.1 - roomier mobile child-property cards */
@media (max-width:760px){
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units .pmap-child-section{
		padding:14px !important;
	}
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units .pmap-child-section-head{
		margin-bottom:14px !important;
	}
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units .pmap-unit-list{
		gap:10px !important;
		padding:3px 4px 16px !important;
	}
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units .pmap-unit-card,
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units .pmap-unit-card + .pmap-unit-card{
		min-height:54px !important;
		margin-top:0 !important;
		border-color:#d8e1eb !important;
		border-radius:14px !important;
		box-shadow:0 6px 15px rgba(15,23,42,.09) !important;
	}
}
/* v5.8.0 - multiple property types */
body .pmap-app .pmap-type-multi-hint{
	margin:0 0 8px !important;
	color:#64748b !important;
	font-size:11px !important;
	font-weight:600 !important;
	line-height:1.45 !important;
}

/* ============================================================
 * v5.9.0 - property tiers + deal-pattern map pins
 * Reference: sale=dots, sale/rent=diagonal, rent=solid.
 * ============================================================ */
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all){
	gap:8px !important;
	min-height:38px !important;
	padding:6px 8px !important;
}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all) .pmap-chip-label{
	flex:1 1 auto !important;
	min-width:88px !important;
	font-size:13px !important;
	font-weight:700 !important;
}
body .pmap-app .pmap-type-tier-label{
	flex:0 1 auto !important;
	max-width:132px !important;
	color:#5f6671 !important;
	font-size:10px !important;
	font-weight:600 !important;
	line-height:1.25 !important;
	text-align:right !important;
}
body .pmap-app .pmap-type-tier-icon{
	display:inline-flex !important;
	align-items:center !important;
	justify-content:center !important;
	width:26px !important;
	height:26px !important;
	min-width:26px !important;
	margin-left:2px !important;
	color:var(--tier-color,#94a3b8) !important;
}
body .pmap-app .pmap-type-tier-icon svg{
	display:block !important;
	width:25px !important;
	height:25px !important;
	fill:currentColor !important;
}
body .pmap-app .pmap-type-tier-icon .pmap-tier-check{
	fill:#fff !important;
}
body .pmap-app .pmap-type-chip > .pmap-vip-badge{
	flex:0 0 auto !important;
	margin-left:0 !important;
	padding:2px 5px !important;
	font-size:8px !important;
}

/* The pin's base colour still comes from its property type, price or rating. */
body .pmap-app .pmap-pin.pmap-deal-sale{
	background-image:radial-gradient(circle,rgba(255,255,255,.98) 0 1.25px,transparent 1.45px) !important;
	background-size:6px 6px !important;
	background-position:0 0 !important;
}
body .pmap-app .pmap-pin.pmap-deal-sale-rent{
	background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.96) 0 3px,transparent 3px 7px) !important;
}
body .pmap-app .pmap-pin.pmap-deal-rent{
	background-image:none !important;
}

/* Small pattern samples on the existing deal filters. */
body .pmap-app .pmap-deal-btn[data-deal]::before{
	content:"" !important;
	display:inline-block !important;
	width:14px !important;
	height:14px !important;
	margin-right:6px !important;
	border:1px solid rgba(255,255,255,.58) !important;
	border-radius:999px !important;
	background-color:#6174f6 !important;
	vertical-align:-2px !important;
}
body .pmap-app .pmap-deal-btn[data-deal=""]::before{display:none !important}
body .pmap-app .pmap-deal-btn[data-deal="sale"]::before{
	background-image:radial-gradient(circle,#fff 0 1px,transparent 1.15px) !important;
	background-size:4px 4px !important;
}
body .pmap-app .pmap-deal-btn[data-deal="sale_rent"]::before{
	background-image:repeating-linear-gradient(135deg,#fff 0 2px,transparent 2px 4px) !important;
}
body .pmap-app .pmap-deal-btn[data-deal="rent"]::before{background-image:none !important}

body .pmap-app .pmap-property-tier{
	display:inline-flex !important;
	align-items:center !important;
	gap:4px !important;
	margin-left:8px !important;
	padding:3px 7px !important;
	border:1px solid #d9dee7 !important;
	border-color:color-mix(in srgb,var(--tier-color,#94a3b8) 45%,#fff) !important;
	border-radius:999px !important;
	background:#fff !important;
	color:#4b5563 !important;
	font-size:9px !important;
	font-weight:800 !important;
	letter-spacing:0 !important;
	text-transform:none !important;
	vertical-align:middle !important;
}
body .pmap-app .pmap-property-tier svg{
	width:14px !important;
	height:14px !important;
	fill:var(--tier-color,#94a3b8) !important;
}
body .pmap-app .pmap-property-tier svg .pmap-tier-check{fill:#fff !important}
body .pmap-app .pmap-property-tier b{
	padding:1px 4px !important;
	border-radius:999px !important;
	background:#111827 !important;
	color:#fff !important;
	font-size:7px !important;
}

@media (max-width:760px){
	body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all){gap:6px !important;padding:6px 4px !important}
	body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all) .pmap-chip-label{min-width:74px !important;font-size:12px !important}
	body .pmap-app .pmap-type-tier-label{max-width:110px !important;font-size:9px !important}
	body .pmap-app .pmap-type-tier-icon{width:24px !important;height:24px !important;min-width:24px !important}
}

/* v5.9.1 - visible colour bar before every property-type switch */
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip .pmap-type-swatch,
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip.pmap-active .pmap-type-swatch,
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all) .pmap-type-swatch,
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip.pmap-active:not(.pmap-chip-all) .pmap-type-swatch{
	display:inline-block !important;
	visibility:visible !important;
	opacity:1 !important;
	width:30px !important;
	min-width:30px !important;
	height:16px !important;
	flex:0 0 30px !important;
	margin:0 2px 0 0 !important;
	padding:0 !important;
	border:1px solid rgba(15,23,42,.08) !important;
	border-radius:2px !important;
	background:var(--type-color,#cbd5e1) !important;
	box-shadow:0 1px 2px rgba(15,23,42,.08) !important;
}
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip .pmap-type-swatch::after,
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all) .pmap-type-swatch::after{
	content:none !important;
	display:none !important;
}
@media (max-width:760px){
	body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip .pmap-type-swatch,
	body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all) .pmap-type-swatch{
		width:26px !important;
		min-width:26px !important;
		height:14px !important;
		flex-basis:26px !important;
	}
}

/* v5.9.2 - compact, unobscured mobile property title after search */
@media (max-width:760px){
	body .pmap-app .pmap-detail-panel:not(.pmap-parent-has-units) .pmap-detail-title,
	body .pmap-app .pmap-detail-panel.pmap-unit-detail-open .pmap-detail-title{
		font-size:16px !important;
		line-height:1.42 !important;
		font-weight:700 !important;
		margin:0 0 5px !important;
		overflow-wrap:anywhere !important;
	}

	/* The toolbar previously had z-index 32 while the detail sheet had 22,
	   so its left buttons physically covered the first words of the title. */
	body .pmap-app:not(.pmap-detail-hidden) .pmap-map-toolbar{
		z-index:21 !important;
	}
	body .pmap-app:not(.pmap-detail-hidden) .pmap-detail-panel{
		z-index:22 !important;
	}
	body .pmap-app:not(.pmap-detail-hidden) .pmap-detail-panel.pmap-parent-has-units{
		z-index:60 !important;
	}
	body .pmap-app:not(.pmap-detail-hidden) .pmap-detail-panel.pmap-unit-detail-open{
		z-index:61 !important;
	}
}

/* ============================================================
 * v5.9.6 - keep the parent property gallery visible on mobile.
 * Older compact-child chooser CSS intentionally hid this image.
 * ============================================================ */
@media (max-width:760px){
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units{
		display:flex !important;
		flex-direction:column !important;
		height:min(82dvh,720px) !important;
		min-height:min(520px,82dvh) !important;
		max-height:min(82dvh,720px) !important;
		overflow:hidden !important;
	}
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units > .pmap-detail-image{
		display:block !important;
		visibility:visible !important;
		flex:0 0 clamp(140px,22dvh,190px) !important;
		width:100% !important;
		height:clamp(140px,22dvh,190px) !important;
		min-height:140px !important;
		max-height:190px !important;
		opacity:1 !important;
	}
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units > .pmap-detail-image img,
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units > .pmap-detail-image .pmap-slide{
		display:block !important;
		width:100% !important;
		height:100% !important;
		object-fit:cover !important;
	}
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units .pmap-detail-body{
		flex:1 1 auto !important;
		height:auto !important;
		min-height:0 !important;
		overflow:hidden !important;
		padding-top:14px !important;
	}
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units .pmap-child-section{
		flex:1 1 auto !important;
		min-height:0 !important;
	}
	body .pmap-app .pmap-detail-panel.pmap-parent-has-units .pmap-unit-list{
		min-height:120px !important;
		overflow-y:auto !important;
	}
}

@supports not (height:1dvh){
	@media (max-width:760px){
		body .pmap-app .pmap-detail-panel.pmap-parent-has-units{
			height:min(82vh,720px) !important;
			min-height:min(520px,82vh) !important;
			max-height:min(82vh,720px) !important;
		}
		body .pmap-app .pmap-detail-panel.pmap-parent-has-units > .pmap-detail-image{
			flex-basis:clamp(140px,22vh,190px) !important;
			height:clamp(140px,22vh,190px) !important;
		}
	}
}

/* ============================================================
 * v5.9.7 - compact 1:1 property colour swatches and no VIP chip.
 * Kept last so older colour-bar rules cannot override the 1:1 size.
 * ============================================================ */
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip .pmap-type-swatch,
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip.pmap-active .pmap-type-swatch,
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all) .pmap-type-swatch,
body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip.pmap-active:not(.pmap-chip-all) .pmap-type-swatch{
	display:inline-block !important;
	width:18px !important;
	min-width:18px !important;
	height:18px !important;
	min-height:18px !important;
	flex:0 0 18px !important;
	margin:0 4px 0 0 !important;
	border:1px solid rgba(15,23,42,.10) !important;
	border-radius:3px !important;
	background:var(--type-color,#cbd5e1) !important;
	box-shadow:0 1px 3px rgba(15,23,42,.10) !important;
}
body .pmap-app .pmap-type-chip .pmap-vip-badge,
body .pmap-app .pmap-type-chip > .pmap-vip-badge{
	display:none !important;
}

@media (max-width:760px){
	body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip .pmap-type-swatch,
	body .pmap-app .pmap-type-group.pmap-type-list .pmap-type-chip:not(.pmap-chip-all) .pmap-type-swatch{
		width:16px !important;
		min-width:16px !important;
		height:16px !important;
		min-height:16px !important;
		flex-basis:16px !important;
	}
}
