/**
 * PrimeView Properties marketplace — desktop only.
 */

@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');

body.primeview-properties-page {
	--pv-pr-green: #22c55e;
	--pv-pr-green-press: #16a34a;
	--pv-pr-ink: #0f172a;
	--pv-pr-muted: #64748b;
	--pv-pr-line: #e8edf2;
	--pv-pr-soft: #f4f7f9;
	--pv-pr-radius: 22px;
	--pv-pr-shadow: 0 10px 30px rgba(15, 23, 42, 0.07);
	--pv-pr-shadow-hover: 0 16px 36px rgba(15, 23, 42, 0.12);
	--pv-pr-font: 'Plus Jakarta Sans', 'Segoe UI', sans-serif;
	background: #f7f9fb;
	color: var(--pv-pr-ink);
	font-family: var(--pv-pr-font);
}

body.primeview-properties-page .main-wrap,
body.primeview-properties-page #main-wrap,
body.primeview-properties-page .page-wrap,
body.primeview-properties-page #section-body {
	background: #f7f9fb !important;
	padding: 0 !important;
}

/* Desktop-only: compact header (no CSS zoom — breaks layout math / a11y) */
@media (min-width: 992px) {
	body.primeview-properties-page {
		--primeview-header-height: 68px;
	}

	body.primeview-properties-page .primeview-header__desktop,
	body.primeview-properties-page .primeview-header__desktop .primeview-header__bar {
		height: var(--primeview-header-height);
	}

	body.primeview-properties-page .primeview-header__desktop .primeview-header__logo-image,
	body.primeview-properties-page .primeview-header__desktop .logo img {
		height: 32px !important;
		max-height: 32px !important;
		max-width: 124px !important;
	}

	body.primeview-properties-page .primeview-header__menu > li > a {
		font-size: 13px;
		padding-top: 0;
		padding-bottom: 0;
	}

	body.primeview-properties-page .primeview-header__cta,
	body.primeview-properties-page .primeview-header__right .btn {
		padding: 8px 14px;
		font-size: 12px;
	}
}

.pv-pr {
	-webkit-font-smoothing: antialiased;
}

.pv-pr__desktop {
	display: none;
}

/* Mobile chrome is shown only via properties-mobile.css */
.pv-pr__mobile-only,
.pv-pr-sheet,
.pv-pr-m-map {
	display: none !important;
}

@media (min-width: 992px) {
	.pv-pr__desktop {
		display: block;
		padding: 28px 0 72px;
	}

	.pv-pr__inner {
		max-width: 1360px;
		margin: 0 auto;
		padding: 0 clamp(24px, 2.4vw, 40px);
	}

	/* —— Search —— */
	.pv-pr__search-wrap {
		margin-bottom: 28px;
	}

	.pv-pr__search {
		display: grid;
		grid-template-columns: 1.3fr 1fr 0.9fr 1.1fr auto;
		gap: 0;
		align-items: stretch;
		background: #fff;
		border-radius: var(--pv-pr-radius);
		box-shadow: var(--pv-pr-shadow);
		border: 1px solid rgba(15, 23, 42, 0.04);
		overflow: hidden;
		min-height: 88px;
	}

	.pv-pr__search-field {
		display: flex;
		flex-direction: column;
		justify-content: center;
		gap: 6px;
		padding: 16px 20px;
		border-right: 1px solid var(--pv-pr-line);
		min-width: 0;
	}

	.pv-pr__search-label {
		font-size: 12px;
		font-weight: 700;
		letter-spacing: 0.02em;
		color: var(--pv-pr-muted);
		text-transform: uppercase;
	}

	.pv-pr__search-field select,
	.pv-pr__search-field input {
		width: 100%;
		border: 0;
		background: transparent;
		font: inherit;
		font-size: 15px;
		font-weight: 600;
		color: var(--pv-pr-ink);
		outline: none;
		padding: 0;
		appearance: none;
	}

	.pv-pr__price-inputs {
		display: flex;
		align-items: center;
		gap: 8px;
	}

	.pv-pr__price-inputs input {
		min-width: 0;
	}

	.pv-pr__search-submit {
		align-self: center;
		margin: 14px 16px 14px 12px;
		min-height: 52px;
		padding: 0 26px;
		border: 0;
		border-radius: 16px;
		background: var(--pv-pr-green);
		color: #fff;
		font: inherit;
		font-size: 15px;
		font-weight: 700;
		font-weight: 700;
		white-space: nowrap;
		cursor: pointer;
		box-shadow: 0 10px 24px rgba(34, 197, 94, 0.28);
		transition: background-color 160ms ease, transform 160ms ease;
	}

	.pv-pr__search-submit:hover {
		background: var(--pv-pr-green-press);
	}

	.pv-pr__search-submit:active {
		transform: scale(0.98);
	}

	/* —— Categories —— */
	.pv-pr__categories {
		margin-bottom: 32px;
	}

	.pv-pr__category-list {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(118px, 1fr));
		gap: 12px;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.pv-pr__category {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		min-height: 118px;
		padding: 18px 16px;
		border-radius: 20px;
		background: #fff;
		border: 1px solid var(--pv-pr-line);
		text-decoration: none;
		color: var(--pv-pr-ink);
		box-shadow: 0 4px 14px rgba(15, 23, 42, 0.03);
		transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
	}

	.pv-pr__category:hover {
		transform: translateY(-3px);
		box-shadow: var(--pv-pr-shadow);
		border-color: rgba(34, 197, 94, 0.35);
	}

	.pv-pr__category.is-active {
		border-color: var(--pv-pr-green);
		box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.25), var(--pv-pr-shadow);
	}

	.pv-pr__category-icon {
		width: 28px;
		height: 28px;
		background: var(--pv-pr-ink);
		opacity: 0.78;
		-webkit-mask: center / contain no-repeat;
		mask: center / contain no-repeat;
	}

	.pv-pr__category.is-active .pv-pr__category-icon {
		background: var(--pv-pr-green);
		opacity: 1;
	}

	/* Distinct fill icons (mask-friendly) */
	.pv-pr__category-icon--house {
		-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 3.2 3.5 10.2a1 1 0 0 0-.3.7V20a1 1 0 0 0 1 1h5.5v-6.2h5.6V21H20a1 1 0 0 0 1-1v-9.1a1 1 0 0 0-.3-.7L12 3.2z'/%3E%3C/svg%3E");
		mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 3.2 3.5 10.2a1 1 0 0 0-.3.7V20a1 1 0 0 0 1 1h5.5v-6.2h5.6V21H20a1 1 0 0 0 1-1v-9.1a1 1 0 0 0-.3-.7L12 3.2z'/%3E%3C/svg%3E");
	}

	.pv-pr__category-icon--duplex {
		-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M3 11.2 8 7v13H4.2A1.2 1.2 0 0 1 3 18.8V11.2zm6-.8 5.2-4.4v17.2H9V10.4zm6.8-1.2L21 12.1v6.7A1.2 1.2 0 0 1 19.8 20H16V9.2z'/%3E%3C/svg%3E");
		mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M3 11.2 8 7v13H4.2A1.2 1.2 0 0 1 3 18.8V11.2zm6-.8 5.2-4.4v17.2H9V10.4zm6.8-1.2L21 12.1v6.7A1.2 1.2 0 0 1 19.8 20H16V9.2z'/%3E%3C/svg%3E");
	}

	.pv-pr__category-icon--apartment {
		-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M5 21V4.8A1.8 1.8 0 0 1 6.8 3h6.4A1.8 1.8 0 0 1 15 4.8V9h2.2A1.8 1.8 0 0 1 19 10.8V21H5zm3-12h3V6H8v3zm0 4.5h3v-3H8v3zm0 4.5h3v-3H8v3zm7.5-4.5H18v-3h-2.5v3zm0 4.5H18v-3h-2.5v3z'/%3E%3C/svg%3E");
		mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M5 21V4.8A1.8 1.8 0 0 1 6.8 3h6.4A1.8 1.8 0 0 1 15 4.8V9h2.2A1.8 1.8 0 0 1 19 10.8V21H5zm3-12h3V6H8v3zm0 4.5h3v-3H8v3zm0 4.5h3v-3H8v3zm7.5-4.5H18v-3h-2.5v3zm0 4.5H18v-3h-2.5v3z'/%3E%3C/svg%3E");
	}

	.pv-pr__category-icon--shortlet {
		-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4 11.2 12 4.5l8 6.7V20h-5.4v-5.2H9.4V20H4v-8.8zm4.6 1.4h2.8v-2.6H8.6v2.6zm4 0h2.8v-2.6h-2.8v2.6z'/%3E%3C/svg%3E");
		mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4 11.2 12 4.5l8 6.7V20h-5.4v-5.2H9.4V20H4v-8.8zm4.6 1.4h2.8v-2.6H8.6v2.6zm4 0h2.8v-2.6h-2.8v2.6z'/%3E%3C/svg%3E");
	}

	.pv-pr__category-icon--land {
		-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M3.5 18.5 8 10l3.4 4.6L14.5 11l6 7.5H3.5zM4 7.2h4.2V5.5H4v1.7zm12.8 0H21V5.5h-4.2v1.7zM4 20h16v-1.5H4V20z'/%3E%3C/svg%3E");
		mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M3.5 18.5 8 10l3.4 4.6L14.5 11l6 7.5H3.5zM4 7.2h4.2V5.5H4v1.7zm12.8 0H21V5.5h-4.2v1.7zM4 20h16v-1.5H4V20z'/%3E%3C/svg%3E");
	}

	.pv-pr__category-icon--commercial {
		-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4 20V8.5L12 4l8 4.5V20h-5.2v-5.4H9.2V20H4zm4.2-8.2h2.4V9.4H8.2v2.4zm5.2 0h2.4V9.4h-2.4v2.4z'/%3E%3C/svg%3E");
		mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4 20V8.5L12 4l8 4.5V20h-5.2v-5.4H9.2V20H4zm4.2-8.2h2.4V9.4H8.2v2.4zm5.2 0h2.4V9.4h-2.4v2.4z'/%3E%3C/svg%3E");
	}

	.pv-pr__category-icon--luxury {
		-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 2.8 14.2 8l5.8.5-4.4 3.7 1.4 5.7L12 15.4 7 18l1.4-5.7L4 8.5 9.8 8 12 2.8z'/%3E%3C/svg%3E");
		mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 2.8 14.2 8l5.8.5-4.4 3.7 1.4 5.7L12 15.4 7 18l1.4-5.7L4 8.5 9.8 8 12 2.8z'/%3E%3C/svg%3E");
	}

	.pv-pr__category-icon--offplan {
		-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4 4h11l5 5v11a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1zm10.2 1.6V9H19l-4.8-3.4zM7 12.2h4.2V11H7v1.2zm0 3.2h10V14H7v1.4zm0 3.2h7.4V17.2H7v1.4z'/%3E%3C/svg%3E");
		mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4 4h11l5 5v11a1 1 0 0 1-1 1H4a1 1 0 0 1-1-1V5a1 1 0 0 1 1-1zm10.2 1.6V9H19l-4.8-3.4zM7 12.2h4.2V11H7v1.2zm0 3.2h10V14H7v1.4zm0 3.2h7.4V17.2H7v1.4z'/%3E%3C/svg%3E");
	}

	.pv-pr__category-icon--more {
		-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Ccircle cx='5.5' cy='12' r='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Ccircle cx='18.5' cy='12' r='2'/%3E%3C/svg%3E");
		mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Ccircle cx='5.5' cy='12' r='2'/%3E%3Ccircle cx='12' cy='12' r='2'/%3E%3Ccircle cx='18.5' cy='12' r='2'/%3E%3C/svg%3E");
	}

	.pv-pr__category-name {
		font-size: 14px;
		font-weight: 700;
		letter-spacing: -0.02em;
	}

	.pv-pr__category-count {
		font-size: 12px;
		font-weight: 600;
		color: var(--pv-pr-muted);
	}

	/* —— Layout —— */
	.pv-pr__layout {
		display: grid;
		grid-template-columns: minmax(260px, 280px) minmax(0, 1fr);
		gap: 28px;
		align-items: start;
	}

	.pv-pr__filters {
		position: sticky;
		top: 84px;
	}

	.pv-pr__filters-card {
		padding: 22px 20px 20px;
		border-radius: var(--pv-pr-radius);
		background: #fff;
		border: 1px solid rgba(15, 23, 42, 0.05);
		box-shadow: var(--pv-pr-shadow);
		display: flex;
		flex-direction: column;
		gap: 8px;
	}

	.pv-pr__filters-head {
		display: flex;
		align-items: center;
		justify-content: space-between;
		margin-bottom: 8px;
	}

	.pv-pr__filters-title {
		margin: 0;
		font-size: 1.05rem;
		font-weight: 800;
		letter-spacing: -0.02em;
	}

	.pv-pr__filters-clear {
		font-size: 13px;
		font-weight: 700;
		color: var(--pv-pr-green);
		text-decoration: none;
	}

	.pv-pr__filter-group {
		border-top: 1px solid var(--pv-pr-line);
		padding: 10px 0;
	}

	.pv-pr__filter-group summary {
		cursor: pointer;
		font-size: 14px;
		font-weight: 700;
		list-style: none;
		display: flex;
		align-items: center;
		justify-content: space-between;
	}

	.pv-pr__filter-group summary::-webkit-details-marker {
		display: none;
	}

	.pv-pr__filter-group summary::after {
		content: '';
		width: 8px;
		height: 8px;
		border-right: 2px solid #94a3b8;
		border-bottom: 2px solid #94a3b8;
		transform: rotate(45deg);
		transition: transform 160ms ease;
	}

	.pv-pr__filter-group[open] summary::after {
		transform: rotate(-135deg);
	}

	.pv-pr__filter-body {
		padding-top: 12px;
	}

	.pv-pr__filter-body select,
	.pv-pr__filter-body input[type='number'] {
		width: 100%;
		min-height: 42px;
		padding: 0 12px;
		border: 1px solid var(--pv-pr-line);
		border-radius: 12px;
		background: #fff;
		font: inherit;
		font-size: 14px;
		font-weight: 600;
		color: var(--pv-pr-ink);
	}

	.pv-pr__filter-body--row {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}

	.pv-pr__filter-checks {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}

	.pv-pr__filter-checks label {
		display: flex;
		align-items: center;
		gap: 10px;
		font-size: 13px;
		font-weight: 600;
		cursor: pointer;
	}

	.pv-pr__toggles {
		display: flex;
		flex-direction: column;
		gap: 12px;
		padding: 12px 0 4px;
		border-top: 1px solid var(--pv-pr-line);
	}

	.pv-pr__toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		font-size: 13px;
		font-weight: 700;
		cursor: pointer;
		position: relative;
	}

	.pv-pr__toggle input {
		position: absolute;
		opacity: 0;
		pointer-events: none;
	}

	.pv-pr__toggle-ui {
		width: 44px;
		height: 26px;
		border-radius: 999px;
		background: #dbe2ea;
		position: relative;
		flex: 0 0 auto;
		transition: background-color 160ms ease;
	}

	.pv-pr__toggle-ui::after {
		content: '';
		position: absolute;
		top: 3px;
		left: 3px;
		width: 20px;
		height: 20px;
		border-radius: 50%;
		background: #fff;
		box-shadow: 0 2px 6px rgba(15, 23, 42, 0.18);
		transition: transform 160ms ease;
	}

	.pv-pr__toggle input:checked + .pv-pr__toggle-ui {
		background: var(--pv-pr-green);
	}

	.pv-pr__toggle input:checked + .pv-pr__toggle-ui::after {
		transform: translateX(18px);
	}

	.pv-pr__apply {
		margin-top: 8px;
		min-height: 48px;
		border: 0;
		border-radius: 14px;
		background: var(--pv-pr-green);
		color: #fff;
		font: inherit;
		font-size: 15px;
		font-weight: 700;
		cursor: pointer;
		box-shadow: 0 10px 22px rgba(34, 197, 94, 0.28);
	}

	.pv-pr__save {
		min-height: 46px;
		border: 1px solid var(--pv-pr-line);
		border-radius: 14px;
		background: #fff;
		color: var(--pv-pr-ink);
		font: inherit;
		font-size: 14px;
		font-weight: 700;
		cursor: pointer;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		gap: 8px;
	}

	.pv-pr__save-icon {
		width: 14px;
		height: 14px;
		background: currentColor;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M7 4h10a1 1 0 011 1v16l-6-3.5L6 21V5a1 1 0 011-1z'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M7 4h10a1 1 0 011 1v16l-6-3.5L6 21V5a1 1 0 011-1z'/%3E%3C/svg%3E") center / contain no-repeat;
	}

	/* —— Results —— */
	.pv-pr__results-bar {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		margin-bottom: 20px;
	}

	.pv-pr__count {
		margin: 0;
		font-size: 1.05rem;
		font-weight: 800;
		letter-spacing: -0.02em;
	}

	.pv-pr__demo-tag {
		display: inline-block;
		margin-left: 8px;
		padding: 2px 8px;
		border-radius: 999px;
		background: var(--pv-pr-soft);
		color: var(--pv-pr-muted);
		font-size: 11px;
		font-weight: 700;
		vertical-align: middle;
	}

	.pv-pr__results-tools {
		display: flex;
		align-items: center;
		gap: 14px;
	}

	.pv-pr__sort label {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		font-size: 13px;
		font-weight: 600;
		color: var(--pv-pr-muted);
	}

	.pv-pr__sort select {
		min-height: 40px;
		padding: 0 12px;
		border: 1px solid var(--pv-pr-line);
		border-radius: 12px;
		background: #fff;
		font: inherit;
		font-size: 13px;
		font-weight: 700;
		color: var(--pv-pr-ink);
	}

	.pv-pr__view-toggles {
		display: inline-flex;
		padding: 4px;
		border-radius: 12px;
		background: #fff;
		border: 1px solid var(--pv-pr-line);
		gap: 2px;
	}

	.pv-pr__view-btn {
		min-height: 34px;
		padding: 0 12px;
		border: 0;
		border-radius: 10px;
		background: transparent;
		font: inherit;
		font-size: 13px;
		font-weight: 700;
		color: var(--pv-pr-muted);
		cursor: pointer;
	}

	.pv-pr__view-btn.is-active {
		background: var(--pv-pr-soft);
		color: var(--pv-pr-ink);
	}

	.pv-pr__grid {
		display: grid;
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 22px;
	}

	.pv-pr__grid.is-list {
		grid-template-columns: 1fr;
	}

	.pv-pr__grid.is-list .pv-pr__card {
		display: grid;
		grid-template-columns: 320px minmax(0, 1fr);
	}

	.pv-pr__grid.is-list .pv-pr__card-media {
		aspect-ratio: 4 / 3;
		min-height: 100%;
	}

	/* —— Cards —— */
	.pv-pr__card {
		display: flex;
		flex-direction: column;
		background: #fff;
		border-radius: var(--pv-pr-radius);
		border: 1px solid rgba(15, 23, 42, 0.04);
		box-shadow: var(--pv-pr-shadow);
		overflow: hidden;
		transition: transform 200ms ease, box-shadow 200ms ease;
	}

	.pv-pr__card:hover {
		transform: translateY(-4px);
		box-shadow: var(--pv-pr-shadow-hover);
	}

	.pv-pr__card-media {
		position: relative;
		aspect-ratio: 16 / 11;
		background: var(--pv-pr-soft);
		overflow: hidden;
	}

	.pv-pr__card-media-link,
	.pv-pr__card-image {
		display: block;
		width: 100%;
		height: 100%;
	}

	.pv-pr__card-image {
		object-fit: cover;
	}

	.pv-pr__card-image--empty {
		background: linear-gradient(135deg, #e2e8f0, #f8fafc);
	}

	.pv-pr__badges {
		position: absolute;
		top: 12px;
		left: 12px;
		z-index: 2;
		display: flex;
		flex-wrap: wrap;
		gap: 6px;
		max-width: calc(100% - 70px);
	}

	.pv-pr__badge {
		display: inline-flex;
		align-items: center;
		min-height: 26px;
		padding: 0 10px;
		border-radius: 999px;
		font-size: 11px;
		font-weight: 800;
		letter-spacing: 0.02em;
		background: rgba(15, 23, 42, 0.72);
		color: #fff;
		backdrop-filter: blur(6px);
	}

	.pv-pr__badge--360 {
		background: rgba(15, 23, 42, 0.82);
	}

	.pv-pr__badge--verified {
		background: var(--pv-pr-green);
	}

	.pv-pr__badge--featured,
	.pv-pr__badge--new {
		background: rgba(255, 255, 255, 0.94);
		color: var(--pv-pr-ink);
	}

	.pv-pr__fav {
		position: absolute;
		top: 12px;
		right: 12px;
		z-index: 2;
		width: 38px;
		height: 38px;
		border: 0;
		border-radius: 50%;
		background: rgba(255, 255, 255, 0.95);
		color: var(--pv-pr-ink);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
	}

	.pv-pr__fav[aria-pressed='true'] {
		color: #ef4444;
	}

	.pv-pr__fav[aria-pressed='true'] path {
		fill: currentColor;
	}

	.pv-pr__photo-count {
		position: absolute;
		right: 12px;
		bottom: 12px;
		z-index: 2;
		display: inline-flex;
		align-items: center;
		gap: 6px;
		min-height: 26px;
		padding: 0 10px;
		border-radius: 999px;
		background: rgba(15, 23, 42, 0.72);
		color: #fff;
		font-size: 12px;
		font-weight: 700;
	}

	.pv-pr__photo-count span {
		width: 12px;
		height: 12px;
		background: #fff;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4 7h3l2-2h6l2 2h3a2 2 0 012 2v9a2 2 0 01-2 2H4a2 2 0 01-2-2V9a2 2 0 012-2zm8 3a4 4 0 100 8 4 4 0 000-8z'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4 7h3l2-2h6l2 2h3a2 2 0 012 2v9a2 2 0 01-2 2H4a2 2 0 01-2-2V9a2 2 0 012-2zm8 3a4 4 0 100 8 4 4 0 000-8z'/%3E%3C/svg%3E") center / contain no-repeat;
	}

	.pv-pr__card-body {
		padding: 16px 16px 18px;
		display: flex;
		flex-direction: column;
		gap: 8px;
		flex: 1 1 auto;
	}

	.pv-pr__card-price {
		margin: 0;
		font-size: 1.2rem;
		font-weight: 800;
		letter-spacing: -0.03em;
		color: var(--pv-pr-green);
	}

	.pv-pr__card-title {
		margin: 0;
		font-size: 1rem;
		font-weight: 700;
		font-weight: 700;
		letter-spacing: -0.02em;
		line-height: 1.3;
	}

	.pv-pr__card-title a {
		color: inherit;
		text-decoration: none;
	}

	.pv-pr__card-title a:hover {
		color: var(--pv-pr-green);
	}

	.pv-pr__card-location {
		margin: 0;
		display: flex;
		align-items: flex-start;
		gap: 6px;
		font-size: 13px;
		font-weight: 500;
		color: var(--pv-pr-muted);
	}

	.pv-pr__pin {
		width: 12px;
		height: 12px;
		margin-top: 3px;
		flex: 0 0 auto;
		background: currentColor;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 2a7 7 0 00-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 00-7-7zm0 9.5A2.5 2.5 0 1112 6a2.5 2.5 0 010 5.5z'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M12 2a7 7 0 00-7 7c0 5.25 7 13 7 13s7-7.75 7-13a7 7 0 00-7-7zm0 9.5A2.5 2.5 0 1112 6a2.5 2.5 0 010 5.5z'/%3E%3C/svg%3E") center / contain no-repeat;
	}

	.pv-pr__card-specs {
		display: flex;
		flex-wrap: wrap;
		gap: 12px;
		margin: 4px 0 0;
		padding: 0;
		list-style: none;
	}

	.pv-pr__card-specs li {
		display: inline-flex;
		align-items: center;
		gap: 6px;
		font-size: 12px;
		font-weight: 700;
		color: var(--pv-pr-ink);
	}

	.pv-pr__spec-icon {
		width: 14px;
		height: 14px;
		background: var(--pv-pr-muted);
		-webkit-mask: center / contain no-repeat;
		mask: center / contain no-repeat;
	}

	.pv-pr__spec-icon--bed {
		-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4 11V8.2A2.2 2.2 0 0 1 6.2 6h6.6A2.2 2.2 0 0 1 15 8.2V11h4.2A1.8 1.8 0 0 1 21 12.8V18h-1.6v2H17v-2H7v2H5.2v-2H3.5v-5.2A1.8 1.8 0 0 1 5.3 11H4zm3.2-3.2v3.2h5.4V7.8H7.2z'/%3E%3C/svg%3E");
		mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M4 11V8.2A2.2 2.2 0 0 1 6.2 6h6.6A2.2 2.2 0 0 1 15 8.2V11h4.2A1.8 1.8 0 0 1 21 12.8V18h-1.6v2H17v-2H7v2H5.2v-2H3.5v-5.2A1.8 1.8 0 0 1 5.3 11H4zm3.2-3.2v3.2h5.4V7.8H7.2z'/%3E%3C/svg%3E");
	}

	.pv-pr__spec-icon--bath {
		-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M7.2 4.5A2.7 2.7 0 0 1 12.5 6v1.8H19V9.5H4.8V7.8H7.2V6c0-.8.6-1.5 1.4-1.5h.1c.3 0 .5.2.5.5v1.3h1.6V5A2.1 2.1 0 0 0 8.7 2.9h-.1A2.7 2.7 0 0 0 5.9 5.6v2.2h1.3V6c0-.8.4-1.5 1.3-1.5zm-3.4 7h16.4v3.2A3.8 3.8 0 0 1 16.4 18.5H7.6A3.8 3.8 0 0 1 3.8 14.7V11.5z'/%3E%3C/svg%3E");
		mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M7.2 4.5A2.7 2.7 0 0 1 12.5 6v1.8H19V9.5H4.8V7.8H7.2V6c0-.8.6-1.5 1.4-1.5h.1c.3 0 .5.2.5.5v1.3h1.6V5A2.1 2.1 0 0 0 8.7 2.9h-.1A2.7 2.7 0 0 0 5.9 5.6v2.2h1.3V6c0-.8.4-1.5 1.3-1.5zm-3.4 7h16.4v3.2A3.8 3.8 0 0 1 16.4 18.5H7.6A3.8 3.8 0 0 1 3.8 14.7V11.5z'/%3E%3C/svg%3E");
	}

	.pv-pr__spec-icon--size {
		-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M3.5 3.5h6.2v1.8H6.6l4.2 4.2-1.3 1.3-4.2-4.2v3.1H3.5V3.5zm10.8 0h6.2v6.2h-1.8V6.6l-4.2 4.2-1.3-1.3 4.2-4.2h-3.1V3.5zM9.5 14.2l1.3 1.3-4.2 4.2h3.1v1.8H3.5v-6.2h1.8v3.1l4.2-4.2zm5 0 4.2 4.2v-3.1h1.8v6.2h-6.2v-1.8h3.1l-4.2-4.2 1.3-1.3z'/%3E%3C/svg%3E");
		mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='black'%3E%3Cpath d='M3.5 3.5h6.2v1.8H6.6l4.2 4.2-1.3 1.3-4.2-4.2v3.1H3.5V3.5zm10.8 0h6.2v6.2h-1.8V6.6l-4.2 4.2-1.3-1.3 4.2-4.2h-3.1V3.5zM9.5 14.2l1.3 1.3-4.2 4.2h3.1v1.8H3.5v-6.2h1.8v3.1l4.2-4.2zm5 0 4.2 4.2v-3.1h1.8v6.2h-6.2v-1.8h3.1l-4.2-4.2 1.3-1.3z'/%3E%3C/svg%3E");
	}

	.pv-pr__card-footer {
		margin-top: auto;
		padding-top: 12px;
		border-top: 1px solid var(--pv-pr-line);
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
	}

	.pv-pr__agent {
		display: flex;
		align-items: center;
		gap: 10px;
		min-width: 0;
	}

	.pv-pr__agent-avatar {
		width: 36px;
		height: 36px;
		border-radius: 50%;
		object-fit: cover;
		flex: 0 0 auto;
		background: var(--pv-pr-soft);
	}

	.pv-pr__agent-avatar--empty {
		display: block;
		background: linear-gradient(135deg, #cbd5e1, #e2e8f0);
	}

	.pv-pr__agent-meta {
		display: flex;
		flex-direction: column;
		min-width: 0;
	}

	.pv-pr__agent-name {
		display: inline-flex;
		align-items: center;
		gap: 5px;
		font-size: 13px;
		font-weight: 700;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.pv-pr__agent-check {
		width: 14px;
		height: 14px;
		border-radius: 50%;
		background: var(--pv-pr-green);
		position: relative;
		flex: 0 0 auto;
	}

	.pv-pr__agent-check::after {
		content: '';
		position: absolute;
		left: 4px;
		top: 3px;
		width: 4px;
		height: 7px;
		border: solid #fff;
		border-width: 0 2px 2px 0;
		transform: rotate(45deg);
	}

	.pv-pr__agency {
		font-size: 11px;
		font-weight: 600;
		color: var(--pv-pr-muted);
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.pv-pr__view-cta {
		flex: 0 0 auto;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 34px;
		padding: 0 12px;
		border-radius: 10px;
		background: rgba(34, 197, 94, 0.12);
		color: #16a34a;
		font-size: 12px;
		font-weight: 800;
		text-decoration: none;
		white-space: nowrap;
	}

	.pv-pr__view-cta:hover {
		background: var(--pv-pr-green);
		color: #fff;
	}

	/* —— Map —— */
	.pv-pr__map {
		width: 100%;
		height: min(70vh, 640px);
		border-radius: var(--pv-pr-radius);
		overflow: hidden;
		background: var(--pv-pr-soft);
		box-shadow: var(--pv-pr-shadow);
	}

	.pv-pr__map .leaflet-control-attribution {
		display: none;
	}

	.pv-pr-map-marker {
		background: transparent !important;
		border: 0 !important;
	}

	.pv-pr-map-marker__btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 54px;
		height: 32px;
		padding: 0 10px;
		border: 0;
		border-radius: 10px;
		background: var(--pv-pr-green);
		color: #fff;
		font-size: 12px;
		font-weight: 800;
		box-shadow: 0 4px 14px rgba(34, 197, 94, 0.35);
		cursor: pointer;
	}

	.pv-pr-map-marker.is-active .pv-pr-map-marker__btn {
		background: var(--pv-pr-ink);
	}

	/* —— Empty / pagination —— */
	.pv-pr__empty {
		padding: 64px 24px;
		text-align: center;
		background: #fff;
		border-radius: var(--pv-pr-radius);
		box-shadow: var(--pv-pr-shadow);
	}

	.pv-pr__empty-title {
		margin: 0 0 8px;
		font-size: 1.25rem;
		font-weight: 800;
	}

	.pv-pr__empty-text {
		margin: 0 0 18px;
		color: var(--pv-pr-muted);
	}

	.pv-pr__empty-reset {
		display: inline-flex;
		min-height: 44px;
		padding: 0 18px;
		align-items: center;
		border-radius: 12px;
		background: var(--pv-pr-green);
		color: #fff;
		font-weight: 700;
		text-decoration: none;
	}

	.pv-pr__pagination {
		margin-top: 36px;
		display: flex;
		justify-content: center;
	}

	.pv-pr__pages {
		display: flex;
		gap: 8px;
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.pv-pr__page {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 42px;
		height: 42px;
		padding: 0 12px;
		border-radius: 12px;
		background: #fff;
		border: 1px solid var(--pv-pr-line);
		color: var(--pv-pr-ink);
		font-size: 14px;
		font-weight: 700;
		text-decoration: none;
	}

	.pv-pr__page.is-active {
		background: var(--pv-pr-green);
		border-color: var(--pv-pr-green);
		color: #fff;
	}
}

@media (min-width: 1200px) {
	.pv-pr__grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 992px) and (max-width: 1199.98px) {
	.pv-pr__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pv-pr__category-list {
		grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
	}

	.pv-pr__search {
		grid-template-columns: 1fr 1fr;
	}

	.pv-pr__search-submit {
		grid-column: 1 / -1;
		margin: 0 16px 16px;
	}
}
