/* Phase 5A Step 5: preference match hints (labels only; no ranking). */

.plf-match-signals {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.5rem;
	align-items: center;
	margin: 0.35rem 0 0.5rem;
}

.plf-match-signals__badge {
	display: inline-block;
	font-size: 0.75rem;
	line-height: 1.3;
	padding: 0.2rem 0.5rem;
	border-radius: 999px;
	background: #f0f6fc;
	border: 1px solid #c3d9ed;
	color: #1d2327;
	max-width: 100%;
}

/* Phase 5B.1: numeric preference match score (cards / detail; hidden when score is 0 on frontend). */
.plf-match-score {
	display: inline-block;
	font-size: 0.75rem;
	line-height: 1.3;
	padding: 0.15rem 0.45rem;
	margin: 0.35rem 0.35rem 0.35rem 0;
	border-radius: 4px;
	background: #f7f4ed;
	border: 1px solid #c9b87a;
	color: #4a3f20;
}

/* Map overlay: match hint when listing has PLF signals (no text; zoom >= 15 with price + visible pin). */
.plf-map-marker-match-hint {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 12px;
	height: 12px;
	min-width: 12px;
	min-height: 12px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid #b8860b;
	box-shadow:
		0 1px 3px rgba(0, 0, 0, 0.35),
		0 0 0 1px rgba(255, 255, 255, 0.95) inset;
	pointer-events: none;
	z-index: 4;
	line-height: 0;
}

.plf-map-marker-match-hint__star {
	display: block;
	font-size: 8px;
	line-height: 1;
	color: #9a6b00;
	text-shadow: 0 1px 0 rgba(255, 255, 255, 0.9);
	filter: drop-shadow(0 0 1px rgba(0, 0, 0, 0.25));
}
