/* ============================================================
 * Property Map TH — Frontend styles
 * ทุก rule scope ด้วย .pmap- และ !important เพื่อกันชนธีม My Home/Elementor
 * ============================================================ */

.pmap-app{
	font-family:"Prompt","IBM Plex Sans Thai","Sarabun",sans-serif !important;
	max-width:100% !important;
	box-sizing:border-box !important;
}
.pmap-app *{box-sizing:border-box !important}

.pmap-controls{
	background:#ffffff !important;
	border:1px solid #e6e6e6 !important;
	border-radius:14px 14px 0 0 !important;
	padding:14px 16px !important;
	box-shadow:0 2px 10px rgba(0,0,0,.05) !important;
}
.pmap-control-row{
	display:flex !important;
	align-items:center !important;
	gap:12px !important;
	flex-wrap:wrap !important;
}
.pmap-control-row + .pmap-control-row{margin-top:12px !important}

.pmap-budget-label{
	font-size:14px !important;
	font-weight:600 !important;
	color:#2b2b2b !important;
	white-space:nowrap !important;
	margin:0 !important;
}
.pmap-budget-value{color:#d4302a !important;font-weight:700 !important}

.pmap-budget-slider{
	flex:1 1 200px !important;
	min-width:160px !important;
	accent-color:#d4302a !important;
	height:6px !important;
	cursor:pointer !important;
}

.pmap-control-actions{justify-content:flex-start !important}

.pmap-toggle{
	display:inline-flex !important;
	border:1px solid #ddd !important;
	border-radius:999px !important;
	overflow:hidden !important;
}
.pmap-toggle-btn{
	border:0 !important;
	background:#fff !important;
	color:#555 !important;
	padding:6px 16px !important;
	font-size:13px !important;
	cursor:pointer !important;
	font-family:inherit !important;
	line-height:1.4 !important;
}
.pmap-toggle-btn.pmap-active{
	background:#1f2a44 !important;
	color:#fff !important;
}

.pmap-btn{
	border:1px solid #ddd !important;
	background:#fff !important;
	color:#333 !important;
	padding:7px 14px !important;
	border-radius:999px !important;
	font-size:13px !important;
	cursor:pointer !important;
	font-family:inherit !important;
	line-height:1.4 !important;
	transition:background .15s ease !important;
}
.pmap-btn:hover{background:#f4f4f4 !important}

.pmap-results-count{
	margin-left:auto !important;
	font-size:13px !important;
	color:#777 !important;
}

.pmap-map{
	width:100% !important;
	border:1px solid #e6e6e6 !important;
	border-top:0 !important;
	border-radius:0 0 14px 14px !important;
	overflow:hidden !important;
	z-index:1 !important;
}

/* หมุดราคา/คะแนน */
.pmap-pin{
	display:flex !important;
	align-items:center !important;
	justify-content:center !important;
	font-weight:700 !important;
	font-size:12px !important;
	color:#1a1a1a !important;
	border-radius:50% !important;
	border:2px solid #fff !important;
	box-shadow:0 2px 5px rgba(0,0,0,.3) !important;
	font-family:"Prompt","IBM Plex Sans Thai",sans-serif !important;
	width:36px !important;
	height:36px !important;
}
.pmap-pin-g{background:#7ed957 !important}   /* ถูก / คะแนนสูง */
.pmap-pin-y{background:#ffe14d !important}
.pmap-pin-o{background:#ff9f43 !important}
.pmap-pin-r{background:#ff5a4d !important;color:#fff !important} /* แพง / คะแนนต่ำ */

/* popup */
.pmap-popup{font-family:"Prompt","IBM Plex Sans Thai",sans-serif !important;width:230px !important}
.pmap-popup-img{
	width:100% !important;height:130px !important;object-fit:cover !important;
	border-radius:8px !important;margin-bottom:8px !important;display:block !important;
}
.pmap-popup-title{font-size:15px !important;font-weight:700 !important;margin:0 0 4px !important;color:#1a1a1a !important}
.pmap-popup-price{font-size:16px !important;font-weight:700 !important;color:#d4302a !important;margin:0 0 6px !important}
.pmap-popup-meta{font-size:12px !important;color:#555 !important;line-height:1.6 !important;margin:0 0 6px !important}
.pmap-popup-meta span{display:inline-block !important;margin-right:10px !important}
.pmap-popup-rating{
	display:inline-block !important;background:#1f2a44 !important;color:#fff !important;
	font-size:12px !important;font-weight:600 !important;padding:2px 8px !important;border-radius:6px !important;
}
.pmap-popup-route{
	display:block !important;width:100% !important;margin-top:8px !important;text-align:center !important;
	background:#d4302a !important;color:#fff !important;border:0 !important;padding:8px !important;
	border-radius:8px !important;font-size:13px !important;cursor:pointer !important;font-family:inherit !important;
}
.pmap-popup-link{
	display:block !important;text-align:center !important;margin-top:6px !important;
	font-size:12px !important;color:#1f2a44 !important;text-decoration:underline !important;
}

/* route info bar */
.pmap-route-info{
	margin-top:10px !important;background:#1f2a44 !important;color:#fff !important;
	padding:10px 16px !important;border-radius:10px !important;font-size:14px !important;
	display:flex !important;align-items:center !important;gap:18px !important;flex-wrap:wrap !important;
}
.pmap-route-info b{color:#ffe14d !important}
.pmap-route-clear{
	margin-left:auto !important;background:rgba(255,255,255,.15) !important;border:0 !important;
	color:#fff !important;padding:4px 12px !important;border-radius:6px !important;cursor:pointer !important;
	font-family:inherit !important;font-size:13px !important;
}

/* mobile */
@media (max-width:600px){
	.pmap-control-actions{gap:8px !important}
	.pmap-btn,.pmap-toggle-btn{padding:6px 10px !important;font-size:12px !important}
	.pmap-results-count{width:100% !important;margin-left:0 !important}
}
