/**
 * Paul Wu–style city platform shell (visual parity target: paulwurealestate.ca).
 * Production uses TT4 + block palette (often .has-vivid-cyan-blue-background-color); Local TT4 stays stock white unless overridden — these rules paint the shell in-plugin.
 * Scoped: body.plf-site-role-city.plf-city-platform-surface
 */

@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:ital,wght@0,400;0,500;0,600;0,700;0,800;1,400&display=swap");

.plf-city-platform-surface.plf-site-role-city {
	--plf-pwu-blue-deep: #0a4f7c;
	--plf-pwu-blue: #0d6ebd;
	--plf-pwu-blue-light: #1e88e5;
	--plf-pwu-navy: #062843;
	--plf-pwu-hero-overlay-top: rgba(6, 40, 67, 0.72);
	--plf-pwu-hero-overlay-bottom: rgba(6, 24, 40, 0.88);
	--plf-pwu-text-on-blue: #f5fafc;
	--plf-pwu-font: "Plus Jakarta Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	font-family: var(--plf-pwu-font) !important;
}

.plf-city-platform-surface.plf-site-role-city .wp-site-blocks {
	font-family: var(--plf-pwu-font);
}

/* Beat TT4 / theme.json outer caps so header cluster uses viewport (not ~1200px centered shell). */
body.plf-city-platform-surface.plf-site-role-city .wp-site-blocks,
body.plf-city-platform-surface.plf-site-role-city header,
body.plf-city-platform-surface.plf-site-role-city header > .wp-block-group,
body.plf-city-platform-surface.plf-site-role-city header .alignwide,
body.plf-city-platform-surface.plf-site-role-city header .alignfull,
body.plf-city-platform-surface.plf-site-role-city header .is-layout-constrained {
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box;
}

body.plf-city-platform-surface.plf-site-role-city header .is-layout-constrained {
	--wp--style--global--content-size: 100%;
	--wp--style--global--wide-size: 100%;
}

/* ========== Row 1: phone / email | language / sign-in (production-like top strip) ========== */
.plf-city-shell__meta {
	position: relative;
	z-index: 99990;
	background: linear-gradient(180deg, #073554 0%, #0a4f7c 100%);
	color: var(--plf-pwu-text-on-blue);
	font-size: 13px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.12);
}

.plf-city-shell__meta-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1.25rem;
	flex-wrap: wrap;
	width: 100%;
	max-width: min(1600px, calc(100vw - 48px));
	margin: 0 auto;
	padding: 0.5rem clamp(1rem, 2.5vw, 1.75rem);
	box-sizing: border-box;
}

.plf-city-shell__contact-links {
	display: flex;
	align-items: center;
	gap: 1rem 1.75rem;
	flex-wrap: wrap;
}

.plf-city-shell__contact-links a {
	color: #fff !important;
	text-decoration: none;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.plf-city-shell__contact-links a:hover,
.plf-city-shell__contact-links a:focus {
	text-decoration: underline;
	color: #fde68a !important;
}

.plf-city-shell__contact-links .plf-city-shell__sep {
	opacity: 0.35;
	font-weight: 400;
}

.plf-city-shell__meta-muted {
	color: rgba(255, 255, 255, 0.55);
	font-size: 12px;
}

/* When meta strip is rendered inside the header template part, beat any theme width caps */
.plf-city-platform-surface.plf-site-role-city header.wp-block-template-part .plf-city-shell__meta-inner {
	width: 100% !important;
	max-width: min(1600px, calc(100vw - 48px)) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

.plf-city-shell__account {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.65rem 1rem;
	flex-wrap: wrap;
	position: relative;
	flex: 0 1 auto;
	min-width: 0;
	margin-left: auto;
}

/* Sign-in cluster + language links only — NOT dropdown menu (see .plf-city-shell__account-panel). */
.plf-city-shell__account-cluster a,
.plf-city-shell__lang-pill a {
	color: #fff !important;
	font-weight: 600;
	text-decoration: none;
}

.plf-city-shell__account-cluster a:hover,
.plf-city-shell__lang-pill a:hover {
	color: #fde68a !important;
	text-decoration: underline;
}

.plf-city-shell__account-cluster {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.25rem 0.45rem;
	max-width: 100%;
}

/* Logged-in account: compact trigger + dropdown (native <details>) */
.plf-city-shell__account-dropdown {
	position: relative;
	list-style: none;
	max-width: min(100%, 20rem);
	align-self: flex-start;
}

.plf-city-shell__account-dropdown[open] {
	z-index: 100010;
}

.plf-city-shell__account-dropdown > summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	border-radius: 8px;
	padding: 0.2rem 0.35rem 0.2rem 0.2rem;
	margin: 0;
	color: #fff;
	outline-offset: 3px;
}

.plf-city-shell__account-dropdown > summary::-webkit-details-marker {
	display: none;
}

.plf-city-shell__account-summary-inner {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	min-width: 0;
	max-width: 100%;
}

.plf-city-shell__account-summary-name {
	font-weight: 700;
	font-size: 12px;
	line-height: 1.2;
	max-width: 11rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

@media (max-width: 520px) {
	.plf-city-shell__account-summary-name {
		max-width: 6.5rem;
	}
}

.plf-city-shell__account-chevron {
	display: inline-flex;
	align-items: center;
	opacity: 0.85;
	transition: transform 0.15s ease;
	flex-shrink: 0;
}

.plf-city-shell__account-dropdown[open] .plf-city-shell__account-chevron {
	transform: rotate(180deg);
}

.plf-city-shell__account-dropdown > summary:hover,
.plf-city-shell__account-dropdown > summary:focus-visible {
	background: rgba(255, 255, 255, 0.1);
}

.plf-city-shell__account-panel {
	position: absolute;
	z-index: 100011;
	top: calc(100% + 0.35rem);
	right: 0;
	left: auto;
	width: max-content;
	min-width: 11.5rem;
	max-width: min(18rem, calc(100vw - 1.5rem));
	padding: 0.3rem 0;
	margin: 0;
	border-radius: 10px;
	background-color: #fff;
	background: #fff;
	color: #0f172a;
	box-shadow: 0 12px 36px rgba(6, 36, 64, 0.35);
	border: 1px solid rgba(6, 40, 67, 0.14);
	box-sizing: border-box;
	isolation: isolate;
}

/* Header tree sometimes forces light-on-dark inherit; lock panel chrome to dark text. */
.plf-city-platform-surface.plf-site-role-city header .plf-city-shell__account-panel {
	color: #0f172a !important;
}

.plf-city-shell__account-menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.plf-city-shell__account-menu li {
	margin: 0;
	padding: 0;
	list-style: none;
}

.plf-city-shell__account-menu li.plf-city-shell__account-menu-divider {
	display: block;
	height: 1px;
	margin: 0.2rem 0.5rem;
	padding: 0;
	background: rgba(6, 40, 67, 0.12);
	border: 0;
	min-height: 0;
}

/* Must beat .plf-city-shell__account-cluster a and any header inherit (a + two classes). */
.plf-city-shell__account-panel a.plf-city-shell__account-menu-link,
.plf-city-platform-surface.plf-site-role-city .plf-city-shell__account-panel a.plf-city-shell__account-menu-link {
	display: block;
	padding: 0.45rem 0.85rem;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.35;
	min-height: 0;
	color: #0f172a !important;
	text-decoration: none !important;
	white-space: nowrap;
}

.plf-city-shell__account-panel a.plf-city-shell__account-menu-link:hover,
.plf-city-shell__account-panel a.plf-city-shell__account-menu-link:focus-visible,
.plf-city-platform-surface.plf-site-role-city .plf-city-shell__account-panel a.plf-city-shell__account-menu-link:hover,
.plf-city-platform-surface.plf-site-role-city .plf-city-shell__account-panel a.plf-city-shell__account-menu-link:focus-visible {
	background: rgba(13, 110, 189, 0.1);
	color: #0369a1 !important;
	text-decoration: none !important;
}

.plf-city-shell__account-panel a.plf-city-shell__account-menu-link--logout,
.plf-city-platform-surface.plf-site-role-city .plf-city-shell__account-panel a.plf-city-shell__account-menu-link--logout {
	color: #991b1b !important;
}

.plf-city-shell__account-panel a.plf-city-shell__account-menu-link--logout:hover,
.plf-city-shell__account-panel a.plf-city-shell__account-menu-link--logout:focus-visible,
.plf-city-platform-surface.plf-site-role-city .plf-city-shell__account-panel a.plf-city-shell__account-menu-link--logout:hover,
.plf-city-platform-surface.plf-site-role-city .plf-city-shell__account-panel a.plf-city-shell__account-menu-link--logout:focus-visible {
	background: rgba(185, 28, 28, 0.08);
	color: #7f1d1d !important;
}

.plf-city-shell__avatar-img {
	border-radius: 999px;
	width: 28px !important;
	height: 28px !important;
	min-width: 28px;
	object-fit: cover;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.35);
}

@media (min-width: 480px) {
	.plf-city-shell__avatar-img {
		width: 32px !important;
		height: 32px !important;
		min-width: 32px;
	}
}

.plf-city-shell__lang-pill {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	flex-wrap: wrap;
	gap: 0.35rem;
	padding: 0.2rem 0.55rem;
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.12);
	border: 1px solid rgba(255, 255, 255, 0.22);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.plf-city-shell__lang-pill .plf-wpml-langs,
.plf-city-shell__lang-pill .plf-polylang-langs {
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.2rem 0.35rem;
}

.plf-city-shell__lang-pill .plf-wpml-langs a {
	padding: 2px 6px;
	border-radius: 4px;
}

.plf-city-shell__lang-pill .plf-wpml-langs a.is-active {
	background: rgba(255, 255, 255, 0.2);
}

/* ========== Row 2: force TT4 header / template part = blue nav band (logo + menu) ========== */
.plf-city-platform-surface.plf-site-role-city .wp-site-blocks > header,
.plf-city-platform-surface.plf-site-role-city header.wp-block-template-part {
	background: linear-gradient(90deg, var(--plf-pwu-blue-deep) 0%, var(--plf-pwu-blue) 48%, var(--plf-pwu-blue-light) 100%) !important;
	background-color: var(--plf-pwu-blue) !important;
	color: var(--plf-pwu-text-on-blue) !important;
	box-shadow: 0 8px 28px rgba(6, 36, 64, 0.35);
	border-bottom: none !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.plf-city-platform-surface.plf-site-role-city .wp-site-blocks > header *,
.plf-city-platform-surface.plf-site-role-city header.wp-block-template-part * {
	border-color: rgba(255, 255, 255, 0.15) !important;
}

/* Neutralize TT4 white inner header groups */
.plf-city-platform-surface.plf-site-role-city header .wp-block-group,
.plf-city-platform-surface.plf-site-role-city header .wp-block-columns,
.plf-city-platform-surface.plf-site-role-city header .wp-block-column {
	background: transparent !important;
	background-color: transparent !important;
	color: inherit !important;
}

.plf-city-platform-surface.plf-site-role-city header .wp-block-group.has-background,
.plf-city-platform-surface.plf-site-role-city header .has-background {
	background: transparent !important;
	background-color: transparent !important;
}

/* Match production “vivid cyan blue” band if theme already set that palette class */
.plf-city-platform-surface.plf-site-role-city header .has-vivid-cyan-blue-background-color {
	background: transparent !important;
}

.plf-city-platform-surface.plf-site-role-city header .wp-block-site-title a,
.plf-city-platform-surface.plf-site-role-city header .wp-block-site-title a:link {
	color: #fff !important;
	font-weight: 800 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	font-size: clamp(0.95rem, 1.6vw, 1.15rem) !important;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.plf-city-platform-surface.plf-site-role-city header .wp-block-site-title a:hover {
	color: #fde68a !important;
}

/* Avoid duplicated branding when the injected lockup already carries wordmark + tagline. */
.plf-city-platform-surface.plf-site-role-city header:has(.plf-city-platform-brand-lockup) .wp-block-site-title {
	display: none !important;
}

.plf-city-platform-brand-lockup .plf-city-platform-text-lockup {
	font-family: inherit;
}

.plf-city-platform-surface.plf-site-role-city header .wp-block-site-logo,
.plf-city-platform-surface.plf-site-role-city header .plf-city-platform-fallback-logo,
.plf-city-platform-surface.plf-site-role-city header .plf-city-platform-brand-lockup__logo-link {
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

/* Header brand images: fixed visual height band, preserve aspect (PNG + SVG). */
.plf-city-platform-surface.plf-site-role-city header .wp-block-site-logo img,
.plf-city-platform-surface.plf-site-role-city header .plf-city-platform-fallback-logo img,
.plf-city-platform-surface.plf-site-role-city header .plf-city-platform-logo-img,
.plf-city-platform-surface.plf-site-role-city header .plf-city-platform-brand-lockup img {
	max-height: 52px !important;
	width: auto !important;
	height: auto !important;
	max-width: min(280px, 70vw) !important;
	min-width: 0 !important;
	min-height: 0 !important;
	object-fit: contain !important;
	object-position: left center;
	vertical-align: middle;
	filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.25));
}

.plf-city-platform-surface.plf-site-role-city header .wp-block-site-logo .custom-logo-link,
.plf-city-platform-surface.plf-site-role-city header .wp-block-site-logo.is-default-size .custom-logo-link {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
}

.plf-city-platform-surface.plf-site-role-city header .wp-block-site-logo.is-default-size img {
	height: auto !important;
}

@media (max-width: 768px) {
	.plf-city-platform-surface.plf-site-role-city header .wp-block-site-logo img,
	.plf-city-platform-surface.plf-site-role-city header .plf-city-platform-fallback-logo img,
	.plf-city-platform-surface.plf-site-role-city header .plf-city-platform-logo-img,
	.plf-city-platform-surface.plf-site-role-city header .plf-city-platform-brand-lockup img {
		max-height: 40px !important;
		max-width: min(260px, 82vw) !important;
	}
}

@media (max-width: 480px) {
	.plf-city-platform-surface.plf-site-role-city header .wp-block-site-logo img,
	.plf-city-platform-surface.plf-site-role-city header .plf-city-platform-fallback-logo img,
	.plf-city-platform-surface.plf-site-role-city header .plf-city-platform-logo-img,
	.plf-city-platform-surface.plf-site-role-city header .plf-city-platform-brand-lockup img {
		max-height: 40px !important;
		max-width: min(240px, 88vw) !important;
	}
}

/* Brand lockup: wordmark + contextual tagline (city sites). */
.plf-city-platform-brand-lockup {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 0.85rem 1.1rem;
	flex-wrap: wrap;
	min-height: 48px;
}

.plf-city-platform-brand-lockup__logo-link {
	display: flex;
	align-items: center;
	line-height: 0;
}

.plf-city-platform-brand-lockup__text {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	min-width: min(240px, 44vw);
}

.plf-city-platform-brand-lockup__tag {
	font-size: clamp(0.78rem, 1.55vw, 0.9rem);
	font-weight: 600;
	line-height: 1.35;
	color: rgba(255, 255, 255, 0.92) !important;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
	letter-spacing: 0.02em;
}

@media (max-width: 768px) {
	.plf-city-platform-brand-lockup {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.35rem;
	}

	.plf-city-platform-brand-lockup__text {
		min-width: 0;
	}
}

.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation,
.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation-item__content,
.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation-link__label {
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: 0.03em !important;
}

.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation .wp-block-navigation-item__content:hover,
.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation .wp-block-navigation-link__label:hover {
	color: #fde68a !important;
}

.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation__responsive-container-open svg,
.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation__responsive-container-close svg {
	filter: brightness(0) invert(1);
}

/* TT4 / alternate headers: columns span full width; nav column grows and aligns end */
.plf-city-platform-surface.plf-site-role-city header .wp-block-columns {
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0.65rem clamp(0.75rem, 2vw, 1.25rem) !important;
	align-items: center !important;
}

.plf-city-platform-surface.plf-site-role-city header .plf-city-header-injected-logo {
	display: flex;
	align-items: center;
}

/* ---------- City header bar: full-width cluster (beats TT4 / theme.json / prior max-width caps) ---------- */
.plf-city-platform-surface.plf-site-role-city header.wp-block-template-part .plf-city-factory-brand-row,
.plf-city-platform-surface.plf-site-role-city .wp-site-blocks > header .plf-city-factory-brand-row,
.plf-city-platform-surface.plf-site-role-city header .plf-city-factory-brand-row {
	--wp--style--global--content-size: 100%;
	max-width: none !important;
	width: 100% !important;
	box-sizing: border-box;
	padding-left: clamp(1rem, 2.5vw, 2rem) !important;
	padding-right: clamp(1rem, 2.5vw, 2rem) !important;
}

.plf-city-platform-surface.plf-site-role-city header.wp-block-template-part .plf-city-factory-brand-row.is-layout-constrained,
.plf-city-platform-surface.plf-site-role-city header .plf-city-factory-brand-row.is-layout-constrained {
	max-width: none !important;
	width: 100% !important;
}

.plf-city-platform-surface.plf-site-role-city header .plf-city-factory-branded-header,
.plf-city-platform-surface.plf-site-role-city header .plf-city-factory-branded-header.wp-block-group {
	max-width: none !important;
	width: 100% !important;
	box-sizing: border-box;
}

/* Match requested strength: strip theme max-width from row + nav chain */
.plf-city-platform-surface.plf-site-role-city header .plf-city-factory-brand-row,
.plf-city-platform-surface.plf-site-role-city header .plf-city-factory-brand-row > .wp-block-group,
.plf-city-platform-surface.plf-site-role-city header .plf-city-factory-primary-nav,
.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation,
.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation__container {
	width: 100% !important;
	max-width: none !important;
	box-sizing: border-box;
}

.plf-city-platform-surface.plf-site-role-city header.wp-block-template-part .plf-city-factory-brand-row > .wp-block-group,
.plf-city-platform-surface.plf-site-role-city header.wp-block-template-part .plf-city-factory-brand-row > .wp-block-group.is-layout-constrained,
.plf-city-platform-surface.plf-site-role-city header .plf-city-factory-brand-row > .wp-block-group,
.plf-city-platform-surface.plf-site-role-city header .plf-city-factory-brand-row > .wp-block-group.is-layout-constrained {
	margin-left: auto !important;
	margin-right: auto !important;
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: clamp(0.75rem, 2vw, 1.75rem) !important;
}

.plf-city-platform-surface.plf-site-role-city header.wp-block-template-part .plf-city-factory-branded-header > .wp-block-group.alignwide,
.plf-city-platform-surface.plf-site-role-city header .plf-city-factory-branded-header > .wp-block-group.alignwide {
	max-width: none !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

.plf-city-platform-surface.plf-site-role-city header .plf-city-factory-brand-id {
	flex: 0 1 auto;
	min-width: 0;
}

.plf-city-platform-surface.plf-site-role-city header .plf-city-factory-primary-nav {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	display: flex !important;
	justify-content: flex-end !important;
}

.plf-city-platform-surface.plf-site-role-city header .plf-city-factory-primary-nav .wp-block-navigation__container {
	display: flex !important;
	justify-content: flex-end !important;
	width: 100% !important;
	max-width: none !important;
	gap: clamp(16px, 2vw, 32px) !important;
	flex-wrap: nowrap !important;
}

@media (min-width: 901px) {
	.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation.plf-city-factory-primary-nav,
	.plf-city-platform-surface.plf-site-role-city header nav.plf-city-factory-primary-nav {
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
		flex: 1 1 auto !important;
		display: flex !important;
		justify-content: flex-end !important;
	}

	.plf-city-platform-surface.plf-site-role-city header nav.plf-city-factory-primary-nav .wp-block-navigation__responsive-container {
		width: 100% !important;
		max-width: none !important;
		min-width: 0 !important;
	}

	.plf-city-platform-surface.plf-site-role-city header nav.plf-city-factory-primary-nav .wp-block-navigation__responsive-container-content {
		width: 100% !important;
		max-width: none !important;
		display: flex !important;
		justify-content: flex-end !important;
		flex-wrap: nowrap !important;
		gap: clamp(16px, 2vw, 32px) !important;
	}

	.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation.items-justified-center,
	.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation.is-content-justification-center,
	.plf-city-platform-surface.plf-site-role-city header .plf-city-factory-primary-nav.items-justified-center {
		justify-content: flex-end !important;
	}
}

@media (max-width: 900px) {
	.plf-city-platform-surface.plf-site-role-city header .plf-city-factory-brand-row > .wp-block-group {
		flex-wrap: wrap !important;
	}

	.plf-city-platform-surface.plf-site-role-city header .plf-city-factory-primary-nav {
		flex: 1 1 100% !important;
		justify-content: flex-start !important;
	}

	.plf-city-platform-surface.plf-site-role-city header .plf-city-factory-primary-nav .wp-block-navigation__container {
		flex-wrap: wrap !important;
		justify-content: flex-start !important;
		gap: clamp(0.45rem, 1.1vw, 1.25rem) !important;
	}
}

/* TT4 / alternate headers: columns span full width; nav column grows and aligns end (padding merged above) */
.plf-city-platform-surface.plf-site-role-city header .wp-block-columns .wp-block-column:first-child {
	flex: 0 1 auto;
	min-width: 0;
}

.plf-city-platform-surface.plf-site-role-city header .wp-block-columns .wp-block-column:has(.wp-block-navigation) {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	justify-content: flex-end;
}

/* Managed city static front page: hide default page title block above hero (not global). */
body.plf-city-platform-surface.plf-front-platform-home main .wp-block-post-title:first-of-type,
body.plf-city-platform-surface.plf-front-platform-home .wp-block-query main .wp-block-post-title:first-of-type {
	display: none !important;
}

/* ========== Row 1b: utility strip anchored inside header template part ========== */
.plf-city-platform-surface.plf-site-role-city header .plf-city-header-utility-anchor {
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	display: block;
}

/* Legacy factory header: static utility bar duplicated phone/lang/login before platform strip existed. */
.plf-city-platform-surface.plf-site-role-city header:has(.plf-city-shell__meta) .plf-city-factory-utility-bar {
	display: none !important;
}

/* Logged-in WP admin bar: keep account/lang cluster off the viewport edge (admin bar is full-width above). */
body.admin-bar.plf-city-platform-surface.plf-site-role-city .plf-city-shell__meta-inner {
	padding-right: clamp(1.25rem, 3vw, 2.25rem);
}

@media screen and (max-width: 782px) {
	body.admin-bar.plf-city-platform-surface.plf-site-role-city .plf-city-shell__meta-inner {
		padding-right: clamp(1rem, 2.5vw, 1.75rem);
	}
}

body.admin-bar.plf-city-platform-surface.plf-site-role-city {
	scroll-padding-top: calc(32px + 1rem);
}

@media screen and (max-width: 782px) {
	body.admin-bar.plf-city-platform-surface.plf-site-role-city {
		scroll-padding-top: calc(46px + 1rem);
	}
}

/* ========== Front hero: large photo + overlay (any nesting depth under main — FSE wraps groups) ========== */
.plf-front-platform-home main .plf-city-hero-panel {
	position: relative;
	overflow: hidden;
	min-height: min(68vh, 560px) !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: center !important;
	padding-top: clamp(3rem, 8vw, 4.5rem) !important;
	padding-bottom: clamp(3rem, 8vw, 4.5rem) !important;
}

/* Premium hero: full-bleed, left-weighted on wide screens (paulwurealestate.ca rhythm). */
.plf-front-platform-home main .plf-city-hero-panel--premium {
	min-height: clamp(380px, 48vh, 540px) !important;
	box-sizing: border-box;
	background-color: var(--plf-pwu-navy) !important;
	background-image: linear-gradient(
			180deg,
			var(--plf-pwu-hero-overlay-top) 0%,
			var(--plf-pwu-hero-overlay-bottom) 100%
		),
		var(--plf-city-hero-photo, var(--plf-city-hero-texture)) !important;
	background-size: cover !important;
	background-position: center 35% !important;
}

.plf-front-platform-home main .plf-city-hero-panel--premium .plf-city-hero-panel__inner {
	width: 100%;
	max-width: min(1120px, calc(100vw - 2.5rem));
	margin-left: auto;
	margin-right: auto;
	padding: clamp(2.5rem, 6vw, 4rem) clamp(1.25rem, 4vw, 2rem);
}

@media (min-width: 900px) {
	.plf-front-platform-home main .plf-city-hero-panel--premium .plf-city-hero-panel__inner {
		text-align: left;
	}

	.plf-front-platform-home main .plf-city-hero-panel--premium .plf-city-hero-panel__headline,
	.plf-front-platform-home main .plf-city-hero-panel--premium .plf-city-hero-panel__subhead {
		text-align: left !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.plf-front-platform-home main .plf-city-hero-panel--premium .plf-city-hero-chips {
		justify-content: flex-start;
	}

	.plf-front-platform-home main .plf-city-hero-panel--premium .plf-city-hero-panel__ctas {
		justify-content: flex-start !important;
	}
}

.plf-city-hero-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.65rem;
	justify-content: center;
	list-style: none;
	margin: 1.1rem 0 0;
	padding: 0;
	max-width: 100%;
}

.plf-city-hero-chip {
	display: inline-flex;
	align-items: center;
	padding: 0.4rem 0.85rem;
	border-radius: 999px;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.02em;
	color: #f8fafc !important;
	text-decoration: none !important;
	background: rgba(255, 255, 255, 0.14);
	border: 1px solid rgba(255, 255, 255, 0.28);
	backdrop-filter: blur(6px);
	transition: background 0.18s ease, border-color 0.18s ease, transform 0.18s ease;
}

.plf-city-hero-chip:hover,
.plf-city-hero-chip:focus-visible {
	background: rgba(255, 255, 255, 0.22);
	border-color: rgba(253, 230, 138, 0.65);
	color: #fde68a !important;
	transform: translateY(-1px);
}

.plf-front-platform-home main .plf-city-hero-panel--premium .plf-city-hero-panel__headline {
	font-size: clamp(2.15rem, 5.2vw, 3.45rem) !important;
	max-width: 18ch;
}

.plf-front-platform-home main .plf-city-hero-panel--premium .plf-city-hero-panel__subhead {
	font-size: clamp(1.05rem, 1.45vw, 1.2rem) !important;
	max-width: 52ch;
	color: #e2e8f0 !important;
}

/* Suppress legacy identity band when premium hero is present. */
.plf-front-platform-home:has(.plf-city-hero-panel--premium) .plf-city-identity {
	display: none !important;
}

.plf-city-home-featured-band {
	background: linear-gradient(180deg, #f8fafc 0%, #ffffff 42%);
	border-top: 1px solid rgba(15, 23, 42, 0.06);
	padding-top: clamp(1.5rem, 4vw, 2.5rem) !important;
	padding-bottom: clamp(0.5rem, 2vw, 1rem) !important;
}

.plf-city-home-featured-band .plf-city-featured-section-title {
	font-size: clamp(1.55rem, 2.8vw, 2rem) !important;
	margin: 0 0 0.35rem !important;
	letter-spacing: -0.02em;
}

.plf-city-home-featured-band .plf-home-featured__intro--template {
	font-size: 1.02rem;
	color: #475569;
	max-width: 46rem;
	margin-bottom: 1.25rem;
}

/* Premium city home: flush main stack, light featured band (all city sites with new template). */
body.plf-front-platform-home.plf-city-platform-surface main.plf-city-factory-page-main,
body.plf-front-platform-home.plf-city-platform-surface main.plf-city-factory-page-main.is-layout-constrained {
	max-width: none !important;
	width: 100% !important;
	padding-top: 0 !important;
	margin-top: 0 !important;
	/* Do not use 100% — TT4 constrained children inherit it and collapse to ~620px. */
	--wp--style--global--content-size: min(1240px, calc(100vw - 2rem));
	--wp--style--global--wide-size: min(1320px, calc(100vw - 2rem));
}

body.plf-front-platform-home.plf-city-platform-surface main.plf-city-factory-page-main .wp-block-post-content,
body.plf-front-platform-home.plf-city-platform-surface main.plf-city-factory-page-main .entry-content {
	padding-top: 0 !important;
	margin-top: 0 !important;
	--wp--style--block-gap: 0 !important;
}

body.plf-front-platform-home.plf-city-platform-surface main.plf-city-factory-page-main .wp-block-post-content > *:first-child,
body.plf-front-platform-home.plf-city-platform-surface .wp-site-blocks > main > .wp-block-post-content > *:first-child {
	margin-top: 0 !important;
}

body.plf-front-platform-home.plf-city-platform-surface .wp-site-blocks > header + main {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.plf-front-platform-home main .plf-city-hero-panel--premium + .plf-city-home-featured-band {
	margin-top: 0 !important;
}

.plf-front-platform-home .plf-city-home-featured-band .plf-city-home-featured-shell {
	position: relative;
	z-index: 1;
}

.plf-front-platform-home .plf-city-home-featured-band .plf-city-featured-section-title,
.plf-front-platform-home .plf-city-home-featured-band .plf-home-featured__intro--template {
	color: #0f172a !important;
	text-shadow: none !important;
}

/* Spotlight in featured band: card only — not a second full-bleed photo hero. */
.plf-front-platform-home .plf-city-home-featured-band .plf-feature-placement.plf-feature-placement--homepage-hero.plf-feature-placement--layout-hero.plf-city-home-placement-slot {
	min-height: 0 !important;
	padding: 0 0 clamp(1.25rem, 3vw, 1.75rem) !important;
	margin: 0 auto !important;
	width: 100% !important;
	max-width: min(1320px, 100%) !important;
	background: transparent !important;
	background-image: none !important;
	color: #0f172a !important;
}

.plf-front-platform-home .plf-city-home-featured-band .plf-feature-placement.plf-feature-placement--homepage-hero.plf-city-home-placement-slot::before {
	display: none !important;
}

.plf-front-platform-home .plf-city-home-featured-band .plf-feature-placement--homepage-hero .plf-feature-placement__title {
	color: #334155 !important;
	text-shadow: none !important;
	font-size: 0.95rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin: 0 0 0.75rem !important;
}

.plf-front-platform-home .plf-city-home-featured-band .plf-feature-placement--homepage-hero .plf-feature-placement__inner {
	grid-template-columns: minmax(0, 1fr) !important;
	max-width: 100% !important;
	width: 100% !important;
	margin-left: auto;
	margin-right: auto;
}

.plf-front-platform-home .plf-city-home-featured-band .plf-feature-placement--homepage-hero .plf-feature-card--hero {
	max-width: 100%;
	box-shadow: 0 12px 36px rgba(15, 23, 42, 0.12);
}

.plf-front-platform-home .plf-city-home-featured-band .plf-feature-placement--homepage-hero .plf-feature-card__media {
	aspect-ratio: 16 / 9;
	max-height: min(420px, 52vw);
}

.plf-front-platform-home .plf-city-home-featured-band .plf-feature-placement--layout-grid.plf-city-home-placement-slot {
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
}

/*
 * City homepage width: full-bleed bands + ~1240px inner shell.
 * Root cause: width:100% on .plf-city-hero-panel--premium fought TT4 alignfull (stayed ~620px);
 * property-listing.css also zeroes alignfull margins under 992px — excluded below.
 */
body.plf-front-platform-home.plf-city-platform-surface {
	--plf-city-home-hero-max: min(1080px, calc(100vw - 2.5rem));
	--plf-city-home-shell-max: min(1240px, calc(100vw - 2.5rem));
	--plf-city-home-band-max: min(1320px, calc(100vw - 2rem));
	--wp--style--global--content-size: var(--plf-city-home-shell-max) !important;
	--wp--style--global--wide-size: var(--plf-city-home-band-max) !important;
}

/* Beat :root .is-layout-constrained > * { max-width: 620px } on post content wrapper. */
body.plf-front-platform-home.plf-city-platform-surface main.plf-city-factory-page-main.is-layout-constrained > .entry-content.wp-block-post-content,
body.plf-front-platform-home.plf-city-platform-surface main.plf-city-factory-page-main.is-layout-constrained > .wp-block-post-content {
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Homepage bands: full row width without 100vw (avoids horizontal scroll). */
body.plf-front-platform-home.plf-city-platform-surface main .wp-block-post-content > .plf-city-hero-panel--premium,
body.plf-front-platform-home.plf-city-platform-surface main .wp-block-post-content > .plf-city-home-featured-band {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box;
}

.plf-front-platform-home main .plf-city-hero-panel--premium .plf-city-hero-panel__inner {
	max-width: var(--plf-city-home-hero-max) !important;
	width: min(100%, var(--plf-city-home-hero-max)) !important;
	--wp--style--global--content-size: var(--plf-city-home-hero-max);
	--wp--style--global--wide-size: var(--plf-city-home-band-max);
}

.plf-front-platform-home main .plf-city-hero-panel--premium .plf-city-hero-panel__inner.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: 100% !important;
}

.plf-front-platform-home .plf-city-home-featured-band .plf-city-home-main-stack {
	--wp--style--global--content-size: var(--plf-city-home-band-max) !important;
	--wp--style--global--wide-size: var(--plf-city-home-band-max) !important;
	max-width: var(--plf-city-home-band-max) !important;
	width: min(100%, var(--plf-city-home-band-max)) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: clamp(1rem, 2.5vw, 1.5rem);
	padding-right: clamp(1rem, 2.5vw, 1.5rem);
	box-sizing: border-box;
}

.plf-front-platform-home .plf-city-home-featured-band .plf-city-home-featured-shell {
	--wp--style--global--content-size: var(--plf-city-home-shell-max) !important;
	--wp--style--global--wide-size: var(--plf-city-home-band-max) !important;
	max-width: var(--plf-city-home-shell-max) !important;
	width: min(100%, var(--plf-city-home-shell-max)) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: clamp(1rem, 2.5vw, 1.5rem);
	padding-right: clamp(1rem, 2.5vw, 1.5rem);
	box-sizing: border-box;
}

.plf-front-platform-home .plf-city-home-featured-band .plf-city-home-main-stack.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
.plf-front-platform-home .plf-city-home-featured-band .plf-city-home-featured-shell.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: 100% !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.plf-front-platform-home .plf-city-home-featured-band .plf-feature-placement--homepage-hero .plf-feature-placement__inner {
	max-width: 100% !important;
	width: 100% !important;
}

@media (min-width: 900px) {
	.plf-front-platform-home main .plf-city-hero-panel--premium .plf-city-hero-panel__headline {
		max-width: 28ch;
	}

	.plf-front-platform-home main .plf-city-hero-panel--premium .plf-city-hero-panel__subhead {
		max-width: 60ch;
	}
}

@media (min-width: 768px) {
	.plf-front-platform-home .plf-city-home-featured-band .plf-feature-placement--layout-grid.plf-city-home-placement-slot .plf-feature-placement__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(1rem, 2vw, 1.35rem);
	}
}

@media (min-width: 900px) {
	.plf-front-platform-home .plf-city-home-featured-band .plf-feature-placement--layout-grid.plf-city-home-placement-slot .plf-feature-placement__inner {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1280px) {
	.plf-front-platform-home .plf-city-home-featured-band .plf-feature-placement--homepage-featured.plf-feature-placement--layout-grid .plf-feature-placement__inner {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.plf-front-platform-home .plf-city-home-featured-band .plf-feature-placement--homepage-secondary.plf-feature-placement--layout-grid .plf-feature-placement__inner {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Tablet/mobile: keep bands full width of main (no 100vw). */
@media (max-width: 992px) {
	body.plf-front-platform-home.plf-city-platform-surface main .wp-block-post-content > .plf-city-hero-panel--premium,
	body.plf-front-platform-home.plf-city-platform-surface main .wp-block-post-content > .plf-city-home-featured-band {
		width: 100% !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

.plf-city-positioning-band {
	border-radius: 16px;
	border: 1px solid rgba(13, 110, 189, 0.12) !important;
	box-shadow: 0 8px 28px rgba(15, 23, 42, 0.06);
}

/* Property search lead: intentional in-content H1, not theme chrome. */
.plf-city-platform-surface.plf-site-role-city .plf-city-page-lead-title {
	font-size: clamp(1.65rem, 3vw, 2.1rem) !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em;
	margin-bottom: 0.5rem !important;
}

.plf-city-platform-surface.plf-site-role-city .plf-city-page-lead {
	max-width: 46rem;
	color: #334155;
	line-height: 1.6;
}

/* City property-search: unified intro from shortcode (replaces template H1 + debug entry panel). */
.plf-city-platform-surface.plf-site-role-city .plf-city-property-search-intro {
	margin: 0 0 1rem;
	max-width: 46rem;
}

.plf-city-platform-surface.plf-site-role-city .plf-city-property-search-intro__title {
	font-size: clamp(1.65rem, 3vw, 2.1rem) !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em;
	margin: 0 0 0.5rem !important;
	line-height: 1.2;
	color: #0f172a;
}

.plf-city-platform-surface.plf-site-role-city .plf-city-property-search-intro__lead {
	margin: 0 0 0.75rem;
	color: #334155;
	line-height: 1.6;
	font-size: 1rem;
	max-width: 42rem;
}

.plf-city-platform-surface.plf-site-role-city .plf-city-property-search-intro__pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
}

.plf-city-platform-surface.plf-site-role-city .plf-city-property-search-intro__pill {
	display: inline-block;
	padding: 0.25rem 0.65rem;
	border-radius: 999px;
	background: #f0f6fc;
	border: 1px solid #c6d9ef;
	color: #1d2327;
	font-size: 0.75rem;
	font-weight: 600;
	line-height: 1.35;
}

/* Header: more breathing room (factory + runtime strip). */
.plf-city-platform-surface.plf-site-role-city .plf-city-factory-branded-header .plf-city-factory-brand-row {
	padding-top: 1.25rem !important;
	padding-bottom: 1.25rem !important;
}

.plf-city-shell__meta-inner {
	padding-top: 0.6rem !important;
	padding-bottom: 0.6rem !important;
}

.plf-front-platform-home main .plf-city-hero-panel:not(.plf-city-hero-panel--premium) {
	background-color: var(--plf-pwu-navy) !important;
	background-image: linear-gradient(
			180deg,
			var(--plf-pwu-hero-overlay-top) 0%,
			var(--plf-pwu-hero-overlay-bottom) 100%
		),
		var(--plf-city-hero-photo, var(--plf-city-hero-texture)) !important;
	background-size: cover !important;
	background-position: center center !important;
}

.plf-front-platform-home main .plf-city-hero-panel::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: radial-gradient(ellipse 90% 70% at 50% 20%, rgba(255, 255, 255, 0.09), transparent 55%);
	pointer-events: none;
}

.plf-front-platform-home main .plf-city-hero-panel > .plf-city-hero-panel__inner {
	position: relative;
	z-index: 1;
	max-width: min(1120px, 100%);
	margin-left: auto !important;
	margin-right: auto !important;
	width: 100%;
	box-sizing: border-box;
}

.plf-front-platform-home main .plf-city-hero-panel .plf-city-hero-panel__inner > * {
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45);
}

.plf-front-platform-home main .plf-city-hero-panel h1,
.plf-front-platform-home main .plf-city-hero-panel .wp-block-heading {
	font-size: clamp(2rem, 5vw, 3.15rem) !important;
	line-height: 1.12 !important;
	font-weight: 800 !important;
	letter-spacing: -0.02em !important;
}

.plf-front-platform-home main .plf-city-hero-panel .wp-block-buttons {
	justify-content: center;
	gap: 0.65rem 1rem !important;
	flex-wrap: wrap !important;
	margin-top: 0.35rem !important;
}

.plf-front-platform-home main .plf-city-hero-panel .wp-block-button__link {
	border-radius: 999px !important;
	padding: 0.65rem 1.35rem !important;
	font-weight: 700 !important;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.28);
}

.plf-front-platform-home main .plf-city-hero-panel .wp-block-button.is-style-outline .wp-block-button__link {
	box-shadow: none;
	border-width: 2px !important;
}

/* Shortcode-only hero: full-bleed photo band when NOT embedded in city home featured shell */
.plf-front-platform-home main .plf-feature-placement.plf-feature-placement--homepage-hero.plf-feature-placement--layout-hero:not(.plf-city-home-placement-slot) {
	position: relative;
	overflow: hidden;
	min-height: min(68vh, 560px) !important;
	padding: clamp(3rem, 8vw, 4.5rem) 1.25rem !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	width: 100vw !important;
	max-width: 100vw !important;
	box-sizing: border-box;
	background-color: var(--plf-pwu-navy) !important;
	background-image: linear-gradient(
			180deg,
			var(--plf-pwu-hero-overlay-top) 0%,
			var(--plf-pwu-hero-overlay-bottom) 100%
		),
		var(--plf-city-hero-photo, var(--plf-city-hero-texture)) !important;
	background-size: cover !important;
	background-position: center center !important;
	color: #f8fafc !important;
}

.plf-front-platform-home main .plf-feature-placement.plf-feature-placement--homepage-hero.plf-feature-placement--layout-hero:not(.plf-city-home-placement-slot)::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	background: radial-gradient(ellipse 90% 70% at 50% 20%, rgba(255, 255, 255, 0.09), transparent 55%);
	pointer-events: none;
}

.plf-front-platform-home main .plf-feature-placement.plf-feature-placement--homepage-hero.plf-feature-placement--layout-hero:not(.plf-city-home-placement-slot) > * {
	position: relative;
	z-index: 1;
}

.plf-front-platform-home main .plf-feature-placement.plf-feature-placement--homepage-hero.plf-feature-placement--layout-hero:not(.plf-city-home-placement-slot) .plf-feature-placement__title {
	color: #f8fafc !important;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.45);
}

.plf-front-platform-home main .plf-feature-placement.plf-feature-placement--homepage-hero.plf-feature-placement--layout-hero:not(.plf-city-home-placement-slot) .plf-feature-card--hero {
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
	border-radius: 14px;
}

.plf-front-platform-home .plf-city-home-main-stack {
	display: flex;
	flex-direction: column;
	gap: clamp(1.25rem, 3vw, 2rem);
	margin-top: 0;
}

/* Legacy home template without plf-city-hero-panel class */
.plf-front-platform-home main .wp-block-post-content > .wp-block-group.alignfull.has-background:first-of-type:not(.plf-city-hero-panel),
.plf-front-platform-home main .entry-content > .wp-block-group.alignfull.has-background:first-of-type:not(.plf-city-hero-panel) {
	min-height: min(70vh, 600px) !important;
	background-image: linear-gradient(
			180deg,
			var(--plf-pwu-hero-overlay-top) 0%,
			var(--plf-pwu-hero-overlay-bottom) 100%
		),
		var(--plf-city-hero-photo, var(--plf-city-hero-texture)) !important;
	background-size: cover !important;
	background-position: center !important;
}

/* City identity band under hero spacing */
.plf-city-platform-surface .plf-city-identity {
	max-width: min(920px, 92vw) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	border-color: rgba(13, 110, 189, 0.35) !important;
	background: linear-gradient(135deg, rgba(240, 249, 255, 0.95) 0%, #fff 65%) !important;
}

/* ========== Inner pages: wider readable column ========== */
.plf-city-platform-surface.plf-site-role-city .wp-block-post-content,
.plf-city-platform-surface.plf-site-role-city .entry-content {
	font-size: 1.0625rem;
	line-height: 1.7;
	color: #1e293b;
}

.plf-city-platform-surface.plf-site-role-city .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: min(94vw, 1120px) !important;
}

/* ========== Footer: brokerage slab ========== */
.plf-city-platform-surface.plf-site-role-city .wp-site-blocks > footer,
.plf-city-platform-surface.plf-site-role-city footer.wp-block-template-part {
	margin-top: 3rem !important;
	background: linear-gradient(180deg, #0c4a6e 0%, #082f4a 100%) !important;
	color: #e2e8f0 !important;
	border-top: 3px solid rgba(253, 230, 138, 0.35) !important;
}

.plf-city-platform-surface.plf-site-role-city footer .wp-block-group {
	padding-top: 2.5rem !important;
	padding-bottom: 2.5rem !important;
}

.plf-city-platform-surface.plf-site-role-city footer a {
	color: #fff !important;
	font-weight: 600;
}

.plf-city-platform-surface.plf-site-role-city footer a:hover {
	color: #fde68a !important;
}

.plf-city-platform-surface.plf-site-role-city footer .wp-block-site-title a {
	color: #fff !important;
}

/* Footer / template-part branding images: never wider than column; compact on small screens. */
.plf-city-platform-surface.plf-site-role-city footer.plf-city-footer,
.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer {
	overflow-x: hidden;
	padding-top: 1.5rem !important;
	padding-bottom: 1.15rem !important;
	padding-left: clamp(1rem, 2.5vw, 1.25rem) !important;
	padding-right: clamp(1rem, 2.5vw, 1.25rem) !important;
}

.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-columns {
	gap: 1rem 1.25rem !important;
}

.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-column > * {
	margin-top: 0 !important;
	margin-bottom: 0.45rem !important;
}

.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-column > *:last-child {
	margin-bottom: 0 !important;
}

.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-heading {
	margin-bottom: 0.35rem !important;
}

.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .plf-city-factory-footer-separator {
	margin-top: 0.85rem !important;
	margin-bottom: 0.65rem !important;
}

.plf-city-platform-surface.plf-site-role-city footer.plf-city-footer .wp-block-columns,
.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-columns {
	min-width: 0;
}

.plf-city-platform-surface.plf-site-role-city footer.plf-city-footer .wp-block-site-logo,
.plf-city-platform-surface.plf-site-role-city footer.plf-city-footer .wp-block-image,
.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-site-logo,
.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-image {
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.plf-city-platform-surface.plf-site-role-city footer.plf-city-footer .wp-block-site-logo .custom-logo-link,
.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-site-logo .custom-logo-link {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	max-width: 100%;
}

.plf-city-platform-surface.plf-site-role-city footer.plf-city-footer .wp-block-site-logo img,
.plf-city-platform-surface.plf-site-role-city footer.plf-city-footer .wp-block-image img,
.plf-city-platform-surface.plf-site-role-city footer.plf-city-footer figure.wp-block-image img,
.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-site-logo img,
.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-image img,
.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer figure.wp-block-image img,
.plf-city-platform-surface.plf-site-role-city footer.wp-block-template-part img,
.plf-city-platform-surface.plf-site-role-city footer .custom-logo,
.plf-city-platform-surface.plf-site-role-city footer .custom-logo-link img,
.plf-city-platform-surface.plf-site-role-city footer .plf-city-platform-logo-img,
.plf-city-platform-surface.plf-site-role-city .plf-city-footer-brokerage {
	margin-top: 0.65rem;
	padding-top: 0.5rem;
	border-top: 1px solid #1f2937;
}

.plf-city-platform-surface.plf-site-role-city .plf-city-footer-brokerage-logo-card {
	display: inline-block;
	max-width: 100%;
	margin: 0 0 0.45rem;
	padding: 0.45rem 0.65rem;
	background: #fff;
	border-radius: 6px;
	box-sizing: border-box;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12);
}

/* Footer brokerage logo: match Contact card (same asset; readable on dark footer). */
.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .plf-city-footer-brokerage .plf-city-footer-brokerage-logo-card .plf-city-contact-brokerage-logo,
.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .plf-city-footer-brokerage .plf-city-footer-brokerage-logo-card .plf-city-brokerage-logo {
	max-width: 220px;
	width: auto;
	margin: 0;
	text-align: left;
	box-sizing: border-box;
}

.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .plf-city-footer-brokerage .plf-city-footer-brokerage-logo-card .plf-city-contact-brokerage-logo img,
.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .plf-city-footer-brokerage .plf-city-footer-brokerage-logo-card .plf-city-brokerage-logo img,
.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .plf-city-footer-brokerage .plf-city-footer-brokerage-logo-card .plf-city-identity-img {
	max-width: 220px !important;
	width: auto !important;
	max-height: none !important;
	height: auto !important;
	filter: none !important;
	opacity: 1 !important;
	object-fit: contain;
	display: block !important;
	vertical-align: middle;
}

.plf-city-platform-surface.plf-site-role-city .plf-city-footer-brokerage__name,
.plf-city-platform-surface.plf-site-role-city .plf-city-footer-brokerage__address {
	margin: 0 0 0.2rem;
	font-size: 0.8rem;
	line-height: 1.4;
	color: #9ca3af;
}

.plf-city-platform-surface.plf-site-role-city .plf-city-footer-brokerage__name {
	color: #d1d5db;
	margin-bottom: 0.15rem;
}

.plf-city-platform-surface.plf-site-role-city .plf-city-factory-branded-footer img,
.plf-city-platform-surface.plf-site-role-city .plf-city-footer img {
	max-width: 110px !important;
	width: auto !important;
	height: auto !important;
	max-height: 56px !important;
	object-fit: contain !important;
	object-position: left center;
	display: block;
	margin-left: 0;
	margin-right: auto;
}

@media (max-width: 768px) {
	.plf-city-platform-surface.plf-site-role-city footer.plf-city-footer .wp-block-site-logo img,
	.plf-city-platform-surface.plf-site-role-city footer.plf-city-footer .wp-block-image img,
	.plf-city-platform-surface.plf-site-role-city footer.plf-city-footer figure.wp-block-image img,
	.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-site-logo img,
	.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-image img,
	.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer figure.wp-block-image img,
	.plf-city-platform-surface.plf-site-role-city footer.wp-block-template-part img,
	.plf-city-platform-surface.plf-site-role-city footer .custom-logo-link img,
	.plf-city-platform-surface.plf-site-role-city .plf-city-factory-branded-footer img:not(.plf-city-footer-brokerage-logo-card img),
	.plf-city-platform-surface.plf-site-role-city .plf-city-footer img:not(.plf-city-footer-brokerage-logo-card img) {
		max-height: 46px !important;
		max-width: 90px !important;
	}

	.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .plf-city-footer-brokerage-logo-card .plf-city-identity-img {
		max-width: min(220px, 88vw) !important;
		max-height: none !important;
	}

	.plf-city-platform-surface.plf-site-role-city footer.plf-city-footer .wp-block-site-logo .custom-logo-link,
	.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-site-logo .custom-logo-link {
		justify-content: center;
	}
}

@media (max-width: 480px) {
	.plf-city-platform-surface.plf-site-role-city footer.plf-city-footer .wp-block-site-logo img,
	.plf-city-platform-surface.plf-site-role-city footer.plf-city-footer .wp-block-image img,
	.plf-city-platform-surface.plf-site-role-city footer.plf-city-footer figure.wp-block-image img,
	.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-site-logo img,
	.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-image img,
	.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer figure.wp-block-image img,
	.plf-city-platform-surface.plf-site-role-city footer.wp-block-template-part img,
	.plf-city-platform-surface.plf-site-role-city .plf-city-factory-branded-footer img,
	.plf-city-platform-surface.plf-site-role-city .plf-city-footer img {
		max-height: 42px !important;
		max-width: 84px !important;
	}
}

@media (max-width: 782px) {
	.plf-city-shell__meta-inner {
		flex-direction: column;
		align-items: stretch;
		gap: 0.65rem 1rem;
	}

	.plf-city-shell__contact-links {
		width: 100%;
	}

	.plf-city-shell__account {
		width: 100%;
		margin-left: 0;
		justify-content: flex-start;
		flex-wrap: wrap;
	}
}

/* --- Homepage stack: featured shell + formal brokerage disclosure --- */
.plf-front-platform-home .plf-city-home-main-stack .plf-city-home-featured-shell .plf-home-featured:not(.plf-home-featured--empty) {
	padding-top: clamp(1.75rem, 4vw, 2.5rem);
}

.plf-city-home-compliance .plf-brokerage-disclosure.plf-brokerage-disclosure--site {
	max-width: min(920px, 94vw);
	margin-left: auto;
	margin-right: auto;
	padding: 1rem 1.15rem;
	border-radius: 10px;
	border: 1px solid rgba(13, 110, 189, 0.22);
	background: rgba(240, 249, 255, 0.65);
	font-size: 0.92rem;
	line-height: 1.55;
	color: #1e293b;
}

.plf-city-home-compliance .plf-brokerage-disclosure__label {
	font-weight: 800;
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #0369a1;
	margin-bottom: 0.35rem;
}

.plf-city-home-compliance .plf-brokerage-disclosure__name {
	font-weight: 700;
}

.plf-city-home-compliance .plf-brokerage-disclosure__address {
	color: #334155;
	font-size: 0.9rem;
}

/* Disclosure shortcode without .plf-city-home-compliance wrapper (stale/minimal home templates) */
.plf-front-platform-home main .plf-brokerage-disclosure.plf-brokerage-disclosure--site {
	max-width: min(920px, 94vw);
	margin-left: auto;
	margin-right: auto;
	margin-top: clamp(1.25rem, 3vw, 2rem);
	padding: 1rem 1.15rem;
	border-radius: 10px;
	border: 1px solid rgba(13, 110, 189, 0.22);
	background: rgba(240, 249, 255, 0.65);
	font-size: 0.92rem;
	line-height: 1.55;
	color: #1e293b;
}

/* Featured grid rhythm when shell block markup is absent (shortcode-only home) */
.plf-front-platform-home main .plf-city-home-placement-slot.plf-feature-placement--layout-grid {
	margin-top: clamp(1rem, 2.5vw, 1.85rem);
}

.plf-front-platform-home main .plf-feature-placement--homepage-secondary.plf-feature-placement--layout-grid {
	margin-top: clamp(0.5rem, 2vw, 1.35rem);
}

/* ========== Phase 2C: TT4 / theme.json leakage + nav polish (city surface only) ========== */
.plf-city-platform-surface.plf-site-role-city .wp-site-blocks {
	gap: 0 !important;
	row-gap: 0 !important;
}

.plf-city-platform-surface.plf-site-role-city main .wp-block-post-content,
.plf-city-platform-surface.plf-site-role-city main .entry-content {
	--wp--style--block-gap: clamp(1rem, 2.4vw, 1.65rem);
}

.plf-city-platform-surface.plf-site-role-city main .wp-block-post-content > .wp-block-group.alignfull:first-child {
	margin-top: 0 !important;
}

.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation.items-justified-right,
.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation.items-justified-left,
.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation.items-justified-space-between {
	gap: clamp(0.25rem, 1.2vw, 0.65rem) !important;
}

.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation__responsive-container-content {
	padding-top: 0.25rem !important;
	padding-bottom: 0.25rem !important;
}

.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation__responsive-container.is-menu-open {
	background: linear-gradient(180deg, rgba(6, 40, 67, 0.97) 0%, rgba(10, 79, 124, 0.98) 100%) !important;
	color: #f8fafc !important;
	padding: 0.75rem 1rem 1.25rem !important;
	border-radius: 0 0 12px 12px !important;
	box-shadow: 0 18px 40px rgba(6, 36, 64, 0.45) !important;
}

.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-link__label {
	color: #f8fafc !important;
	font-size: 16px !important;
}

/* Mobile nav drawer: keep any mirrored logo from blowing up the overlay. */
.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation__responsive-container .wp-block-site-logo img,
.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation__responsive-container .plf-city-platform-logo-img {
	max-height: 40px !important;
	width: auto !important;
	height: auto !important;
	max-width: min(260px, 88vw) !important;
	object-fit: contain !important;
}

.plf-city-platform-surface.plf-site-role-city header .wp-block-group:has(.wp-block-site-logo),
.plf-city-platform-surface.plf-site-role-city header .wp-block-group:has(.plf-city-platform-brand-lockup) {
	min-width: 0;
	flex-shrink: 1;
}

.plf-city-platform-surface.plf-site-role-city header .wp-block-site-logo .custom-logo-link,
.plf-city-platform-surface.plf-site-role-city header .plf-city-platform-brand-lockup__logo-link {
	display: inline-flex;
	align-items: center;
	max-width: 100%;
}

/* Buttons in block markup only — avoids styling native <button> that reused wp-block-button__link. */
.plf-city-platform-surface.plf-site-role-city main .wp-block-button .wp-block-button__link {
	border-radius: 10px !important;
}

/*
 * Buying / Selling CTAs — light page sections (beat TT4 vivid-cyan / black button fills).
 * Scoped via funnel slug (TT4 may omit page-{slug} body class).
 * Primary: light sky fill + deep navy label (not dark blue-on-blue).
 */
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="buying-a-home"]) .wp-block-button:not(.is-style-outline) .wp-block-button__link,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="buying-a-home"]) .wp-block-button:not(.is-style-outline) .wp-element-button,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="selling-a-home"]) .wp-block-button:not(.is-style-outline) .wp-block-button__link,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="selling-a-home"]) .wp-block-button:not(.is-style-outline) .wp-element-button {
	background-color: #e0f2fe !important;
	background: #e0f2fe !important;
	border: 2px solid #0284c7 !important;
	color: #0c4a6e !important;
	-webkit-text-fill-color: #0c4a6e !important;
	font-weight: 700 !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="buying-a-home"]) .wp-block-button.is-style-outline .wp-block-button__link,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="buying-a-home"]) .wp-block-button.is-style-outline .wp-element-button,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="selling-a-home"]) .wp-block-button.is-style-outline .wp-block-button__link,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="selling-a-home"]) .wp-block-button.is-style-outline .wp-element-button {
	background: #fff !important;
	color: #0f172a !important;
	-webkit-text-fill-color: #0f172a !important;
	border: 2px solid #64748b !important;
	font-weight: 600 !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="buying-a-home"]) .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="buying-a-home"]) .wp-block-button:not(.is-style-outline) .wp-element-button:hover,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="selling-a-home"]) .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="selling-a-home"]) .wp-block-button:not(.is-style-outline) .wp-element-button:hover {
	background: #bae6fd !important;
	color: #082f49 !important;
	-webkit-text-fill-color: #082f49 !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="buying-a-home"]) .wp-block-button.is-style-outline .wp-block-button__link:hover,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="buying-a-home"]) .wp-block-button.is-style-outline .wp-element-button:hover,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="selling-a-home"]) .wp-block-button.is-style-outline .wp-block-button__link:hover,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="selling-a-home"]) .wp-block-button.is-style-outline .wp-element-button:hover {
	background: #f8fafc !important;
	color: #0f172a !important;
	-webkit-text-fill-color: #0f172a !important;
	border-color: #0f172a !important;
}

/* Funnel hero/tools on buying & selling pages */
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-funnel[data-plf-funnel-slug="buying-a-home"] .plf-funnel-btn--primary,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-funnel[data-plf-funnel-slug="buying-a-home"] button.plf-funnel-btn--primary,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-funnel[data-plf-funnel-slug="selling-a-home"] .plf-funnel-btn--primary,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-funnel[data-plf-funnel-slug="selling-a-home"] button.plf-funnel-btn--primary {
	background: #e0f2fe !important;
	color: #0c4a6e !important;
	-webkit-text-fill-color: #0c4a6e !important;
	border: 2px solid #0284c7 !important;
	font-weight: 700 !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-funnel[data-plf-funnel-slug="buying-a-home"] .plf-funnel-btn--secondary,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-funnel[data-plf-funnel-slug="buying-a-home"] button.plf-funnel-btn--secondary,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-funnel[data-plf-funnel-slug="selling-a-home"] .plf-funnel-btn--secondary,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-funnel[data-plf-funnel-slug="selling-a-home"] button.plf-funnel-btn--secondary {
	background: #fff !important;
	color: #0f172a !important;
	-webkit-text-fill-color: #0f172a !important;
	border: 2px solid #64748b !important;
	font-weight: 600 !important;
}

/* Dark band heroes (if present on buy/sell pages) */
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="buying-a-home"]) > .wp-block-group.alignfull.has-background[style*="#0f172a"] .wp-block-button:not(.is-style-outline) .wp-block-button__link,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="buying-a-home"]) > .wp-block-group.alignfull.has-background[style*="#0f172a"] .wp-block-button:not(.is-style-outline) .wp-element-button,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="selling-a-home"]) > .wp-block-group.alignfull.has-background[style*="#0f172a"] .wp-block-button:not(.is-style-outline) .wp-block-button__link,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="selling-a-home"]) > .wp-block-group.alignfull.has-background[style*="#0f172a"] .wp-block-button:not(.is-style-outline) .wp-element-button {
	background: #fff !important;
	color: #0f172a !important;
	-webkit-text-fill-color: #0f172a !important;
	border: 0 !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="buying-a-home"]) > .wp-block-group.alignfull.has-background[style*="#0f172a"] .wp-block-button.is-style-outline .wp-block-button__link,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="buying-a-home"]) > .wp-block-group.alignfull.has-background[style*="#0f172a"] .wp-block-button.is-style-outline .wp-element-button,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="selling-a-home"]) > .wp-block-group.alignfull.has-background[style*="#0f172a"] .wp-block-button.is-style-outline .wp-block-button__link,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has([data-plf-funnel-slug="selling-a-home"]) > .wp-block-group.alignfull.has-background[style*="#0f172a"] .wp-block-button.is-style-outline .wp-element-button {
	background: transparent !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	border: 2px solid rgba(255, 255, 255, 0.92) !important;
}


@media (max-width: 781px) {
	.plf-city-platform-surface.plf-site-role-city header .wp-block-columns {
		padding-top: 0.45rem !important;
		padding-bottom: 0.45rem !important;
	}

	.plf-front-platform-home main .plf-feature-placement.plf-feature-placement--homepage-hero.plf-feature-placement--layout-hero:not(.plf-city-home-placement-slot) {
		min-height: min(62vh, 480px) !important;
		padding-top: clamp(2.25rem, 7vw, 3.25rem) !important;
		padding-bottom: clamp(2.25rem, 7vw, 3.25rem) !important;
	}
}

/* ========== Phase 2D: production polish — touch targets, motion, tablet, focus ========== */
.plf-city-platform-surface.plf-site-role-city {
	--plf-shell-ease: cubic-bezier(0.4, 0, 0.2, 1);
	--plf-shell-duration: 0.18s;
}

@media (prefers-reduced-motion: reduce) {
	.plf-city-platform-surface.plf-site-role-city header,
	.plf-city-platform-surface.plf-site-role-city .plf-city-shell__meta,
	.plf-front-platform-home main .plf-city-hero-panel .wp-block-button__link,
	.plf-front-platform-home main .plf-feature-placement.plf-feature-placement--homepage-hero.plf-feature-placement--layout-hero .wp-block-button__link {
		transition: none !important;
	}
}

.plf-city-shell__contact-links a,
.plf-city-shell__account-cluster a,
.plf-city-shell__lang-pill a {
	border-radius: 4px;
	transition: color var(--plf-shell-duration) var(--plf-shell-ease), background var(--plf-shell-duration) var(--plf-shell-ease);
}

@media (max-width: 782px) {
	.plf-city-shell__contact-links a,
	.plf-city-shell__account-cluster a,
	.plf-city-shell__lang-pill a {
		min-height: 44px;
		padding: 0.35rem 0.45rem;
		display: inline-flex;
		align-items: center;
	}
}

.plf-city-shell__contact-links a:focus-visible,
.plf-city-shell__account-cluster a:focus-visible,
.plf-city-shell__lang-pill a:focus-visible,
.plf-city-shell__account-panel a.plf-city-shell__account-menu-link:focus-visible {
	outline: 2px solid #fde68a;
	outline-offset: 2px;
}

.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation-item .wp-block-navigation-item__content,
.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation-link .wp-block-navigation-link__label {
	padding: 0.45rem 0.6rem !important;
	border-radius: 6px;
	transition: color var(--plf-shell-duration) var(--plf-shell-ease), background var(--plf-shell-duration) var(--plf-shell-ease);
}

.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation-item .wp-block-navigation-item__content:hover,
.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation-link .wp-block-navigation-link__label:hover {
	background: rgba(255, 255, 255, 0.1);
}

.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation-item .wp-block-navigation-item__content:focus-visible,
.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation-link .wp-block-navigation-link__label:focus-visible {
	outline: 2px solid #fde68a;
	outline-offset: 2px;
}

.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation__responsive-container-open,
.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation__responsive-container-close {
	min-width: 44px !important;
	min-height: 44px !important;
	padding: 0.35rem !important;
	border-radius: 10px !important;
	transition: background var(--plf-shell-duration) var(--plf-shell-ease);
}

.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation__responsive-container-open:hover,
.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation__responsive-container-close:hover {
	background: rgba(255, 255, 255, 0.12) !important;
}

.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation__responsive-container.is-menu-open {
	transition: box-shadow var(--plf-shell-duration) var(--plf-shell-ease), background var(--plf-shell-duration) var(--plf-shell-ease);
}

.plf-front-platform-home main .plf-city-hero-panel .wp-block-button__link,
.plf-front-platform-home main .plf-feature-placement.plf-feature-placement--homepage-hero.plf-feature-placement--layout-hero .wp-block-button__link {
	transition: transform var(--plf-shell-duration) var(--plf-shell-ease), box-shadow var(--plf-shell-duration) var(--plf-shell-ease), background var(--plf-shell-duration) var(--plf-shell-ease), color var(--plf-shell-duration) var(--plf-shell-ease);
}

.plf-front-platform-home main .plf-city-hero-panel .wp-block-button__link:hover,
.plf-front-platform-home main .plf-feature-placement.plf-feature-placement--homepage-hero.plf-feature-placement--layout-hero .wp-block-button__link:hover {
	transform: translateY(-1px);
	box-shadow: 0 14px 34px rgba(0, 0, 0, 0.32) !important;
}

@media (min-width: 782px) and (max-width: 1024px) {
	.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation,
	.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation-item__content,
	.plf-city-platform-surface.plf-site-role-city header .wp-block-navigation-link__label {
		font-size: 14px !important;
	}

	.plf-city-shell__meta-inner {
		padding: 0.45rem 1rem;
	}

	.plf-front-platform-home main .plf-city-hero-panel--premium {
		min-height: clamp(340px, 44vh, 480px) !important;
	}

	.plf-front-platform-home main .plf-feature-placement.plf-feature-placement--homepage-hero.plf-feature-placement--layout-hero:not(.plf-city-home-placement-slot) {
		min-height: min(58vh, 520px) !important;
	}
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-fallback,
.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-fallback--production {
	margin-top: 1.75rem;
	margin-bottom: 1.75rem;
	padding: 1.25rem 1.15rem;
	border-radius: 12px;
	background: rgba(6, 40, 67, 0.04);
	border: 1px solid rgba(6, 40, 67, 0.1);
}

/* Legacy `.plf-city-map-section` in old post_content: do not render as a large grey panel (maps link lives in the identity card). */
.plf-city-platform-surface.plf-site-role-city main .plf-city-map-section {
	margin-top: 0.75rem;
	margin-bottom: 0;
	padding: 0;
	border-radius: 0;
	background: transparent;
	border: none;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-fallback--production {
	padding: 1.5rem 1.35rem;
	background: linear-gradient(180deg, #f8fbff 0%, #eef5fc 100%);
	border-color: rgba(13, 110, 189, 0.18);
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-faux-form {
	background: #fff;
	border-radius: 10px;
}

.plf-city-contact-callout,
.plf-city-about-callout,
.plf-city-legal-callout {
	background: linear-gradient(90deg, var(--plf-pwu-blue-deep) 0%, var(--plf-pwu-blue) 50%, var(--plf-pwu-blue-light) 100%);
	color: var(--plf-pwu-text-on-blue, #f5fafc);
	text-align: center;
	padding-top: clamp(0.85rem, 2.2vw, 1.35rem);
	padding-bottom: clamp(0.85rem, 2.2vw, 1.35rem);
	padding-left: clamp(1rem, 4vw, 2rem);
	padding-right: clamp(1rem, 4vw, 2rem);
	margin-bottom: 0 !important;
}

.plf-city-contact-callout a,
.plf-city-about-callout a,
.plf-city-legal-callout a {
	color: #fde68a !important;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-legal-shell {
	max-width: min(960px, 94vw) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: clamp(1.15rem, 2.5vw, 1.5rem) clamp(1rem, 3vw, 1.35rem) clamp(1.75rem, 3vw, 2.25rem) !important;
	box-sizing: border-box;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-legal-shell > .wp-block-heading:first-of-type {
	margin-top: 0.15rem !important;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-legal-shell h2 {
	margin-top: 1.45rem !important;
	margin-bottom: 0.45rem !important;
	font-size: clamp(1.15rem, 2vw, 1.35rem) !important;
	color: #0f172a;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-legal-shell p {
	margin-top: 0 !important;
	margin-bottom: 0.85rem !important;
	line-height: 1.65;
	color: #334155;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-legal-shell a {
	color: #0a4f7c;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main:has(.plf-city-legal-shell) {
	padding-top: 0 !important;
	min-height: 0 !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content:has(.plf-city-legal-shell),
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .wp-block-post-content:has(.plf-city-legal-shell) {
	padding-top: 0 !important;
	min-height: 0 !important;
}

.plf-city-page-pro {
	max-width: min(1180px, 94vw) !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Contact / About: tighter vertical rhythm + identity card polish */
.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-shell,
.plf-city-platform-surface.plf-site-role-city main .plf-city-about-shell {
	padding-top: 0.35rem;
	overflow-x: hidden;
	max-width: 100%;
	box-sizing: border-box;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-shell > .wp-block-paragraph:first-child,
.plf-city-platform-surface.plf-site-role-city main .plf-city-about-shell > .wp-block-paragraph:first-child {
	margin-top: 0.35rem !important;
	margin-bottom: 0.65rem !important;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-two-col {
	align-items: flex-start;
	min-width: 0;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-agent-card {
	border-color: rgba(13, 110, 189, 0.22) !important;
	background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-agent-card .plf-city-agent-headshot img {
	border-radius: 12px;
	box-shadow: 0 6px 22px rgba(6, 36, 64, 0.12);
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-about-hero {
	align-items: center;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-about-hero .plf-city-agent-headshot img {
	border-radius: 14px;
	box-shadow: 0 8px 28px rgba(6, 36, 64, 0.14);
}

@media (max-width: 781px) {
	.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-agent-card {
		margin-top: 0.5rem;
	}
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-agent-card {
	box-shadow: 0 10px 32px rgba(6, 36, 64, 0.08);
	background: #fff;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-agent-card .plf-city-office-address {
	margin-top: 0.35rem !important;
	margin-bottom: 0 !important;
	font-size: 0.92rem;
	line-height: 1.55;
	color: #334155;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-agent-card a.plf-city-office-maplink {
	display: inline-block;
	margin-top: 0.5rem;
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none !important;
	color: #0d6ebd !important;
	border-bottom: 1px solid rgba(13, 110, 189, 0.35);
	padding-bottom: 0.05rem;
	transition: color 0.15s ease, border-color 0.15s ease;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-agent-card a.plf-city-office-maplink:hover,
.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-agent-card a.plf-city-office-maplink:focus-visible {
	color: #0a4f7c !important;
	border-bottom-color: rgba(10, 79, 124, 0.55);
	outline: none;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-two-col > .wp-block-column {
	min-width: 0;
}

/* Identity raster/SVG: never escape parent box (URLs remain config-driven). */
.plf-city-platform-surface.plf-site-role-city .plf-city-identity-img {
	max-width: 100%;
	height: auto;
	object-fit: contain;
	vertical-align: middle;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-shell .plf-city-contact-brokerage-logo,
.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-agent-card .plf-city-brokerage-logo {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	box-sizing: border-box;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-shell .plf-city-contact-brokerage-logo img,
.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-agent-card .plf-city-brokerage-logo img {
	max-width: 220px !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain;
	display: inline-block;
	vertical-align: middle;
}

@media (max-width: 480px) {
	.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-shell .plf-city-contact-brokerage-logo img,
	.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-agent-card .plf-city-brokerage-logo img {
		max-width: min(220px, 88vw) !important;
	}
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-map-section {
	text-align: left;
}

/* Map row: external link (URLs from config). Hide legacy embeds/iframes inside this section. */
.plf-city-platform-surface.plf-site-role-city main .plf-city-map-section iframe,
.plf-city-platform-surface.plf-site-role-city main .plf-city-map-section embed,
.plf-city-platform-surface.plf-site-role-city main .plf-city-map-section .wp-block-embed,
.plf-city-platform-surface.plf-site-role-city main .plf-city-map-section .wp-block-embed__wrapper {
	display: none !important;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-map-section .plf-city-map-section__cta-wrap {
	margin: 0.35rem 0 0;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-map-section a.plf-city-map-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	padding: 0.55rem 1.15rem;
	font-size: 0.95rem;
	font-weight: 700;
	line-height: 1.25;
	text-decoration: none !important;
	color: #fff !important;
	background: linear-gradient(180deg, #0d6ebd 0%, #0a4f7c 100%);
	border: 1px solid rgba(6, 40, 67, 0.2);
	border-radius: 10px;
	box-shadow: 0 4px 14px rgba(6, 36, 64, 0.12);
	transition: background 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-map-section a.plf-city-map-cta:hover,
.plf-city-platform-surface.plf-site-role-city main .plf-city-map-section a.plf-city-map-cta:focus-visible {
	color: #fff !important;
	background: linear-gradient(180deg, #1e88e5 0%, #0d6ebd 100%);
	box-shadow: 0 6px 18px rgba(6, 36, 64, 0.18);
	transform: translateY(-1px);
	outline: 2px solid #fde68a;
	outline-offset: 2px;
}

@media (max-width: 781px) {
	.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-two-col,
	.plf-city-platform-surface.plf-site-role-city main .plf-city-about-hero {
		flex-direction: column !important;
	}

	.plf-city-platform-surface.plf-site-role-city main .plf-city-contact-two-col > .wp-block-column,
	.plf-city-platform-surface.plf-site-role-city main .plf-city-about-hero > .wp-block-column {
		flex-basis: 100% !important;
	}
}

@media (max-width: 782px) {
	.plf-city-shell__account-dropdown > summary {
		min-height: 44px;
		padding: 0.35rem 0.45rem 0.35rem 0.35rem;
	}

	.plf-city-shell__account-panel a.plf-city-shell__account-menu-link,
	.plf-city-platform-surface.plf-site-role-city .plf-city-shell__account-panel a.plf-city-shell__account-menu-link {
		min-height: 44px;
		display: flex;
		align-items: center;
		box-sizing: border-box;
	}
}

/* City native CRM lead form (Contact page) */
.plf-city-platform-surface.plf-site-role-city main .plf-city-lead-form {
	margin-top: 0.5rem;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-lead-form__inner {
	max-width: 100%;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-lead-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem 1.25rem;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-lead-form__field--full {
	grid-column: 1 / -1;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-lead-form label {
	display: block;
	font-weight: 700;
	font-size: 0.85rem;
	margin-bottom: 0.35rem;
	color: #0a2540;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-lead-form .plf-req {
	color: #b91c1c;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-lead-form input,
.plf-city-platform-surface.plf-site-role-city main .plf-city-lead-form select,
.plf-city-platform-surface.plf-site-role-city main .plf-city-lead-form textarea {
	width: 100%;
	border: 1px solid rgba(6, 40, 67, 0.2);
	border-radius: 8px;
	padding: 0.55rem 0.65rem;
	font-size: 0.95rem;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-lead-form__actions {
	margin-top: 1rem;
}

/* Dedicated PLF submit control (do not use wp-block-button__link on <button>). */
.plf-city-platform-surface.plf-site-role-city main .plf-city-lead-form .plf-city-btn.plf-city-btn--primary,
.plf-city-platform-surface.plf-site-role-city main .plf-city-lead-form button.plf-city-lead-form__submit.plf-city-btn--primary {
	appearance: none;
	-webkit-appearance: none;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	width: auto;
	max-width: 100%;
	margin: 0;
	padding: 0.62rem 1.35rem;
	font-family: inherit;
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1.25;
	text-align: center;
	text-decoration: none !important;
	letter-spacing: 0.01em;
	color: #0f172a !important;
	background: linear-gradient(180deg, #fde68a 0%, #fbbf24 100%);
	border: 1px solid rgba(15, 23, 42, 0.14);
	border-radius: 10px;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
	cursor: pointer;
	transition: background 0.18s ease, color 0.18s ease, box-shadow 0.18s ease, transform 0.18s ease;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-lead-form .plf-city-btn.plf-city-btn--primary:hover,
.plf-city-platform-surface.plf-site-role-city main .plf-city-lead-form button.plf-city-lead-form__submit.plf-city-btn--primary:hover {
	color: #0f172a !important;
	background: linear-gradient(180deg, #fef3c7 0%, #f59e0b 100%);
	box-shadow: 0 6px 18px rgba(15, 23, 42, 0.16);
	transform: translateY(-1px);
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-lead-form .plf-city-btn.plf-city-btn--primary:focus-visible,
.plf-city-platform-surface.plf-site-role-city main .plf-city-lead-form button.plf-city-lead-form__submit.plf-city-btn--primary:focus-visible {
	outline: 2px solid #0369a1;
	outline-offset: 2px;
}

/* Legacy embedded forms that still ship wp-block-button__link on <button>. */
.plf-city-platform-surface.plf-site-role-city main .plf-city-lead-form button.plf-city-lead-form__submit.wp-block-button__link {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	min-height: 0;
	padding: 0.62rem 1.35rem !important;
	font-size: 0.98rem !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	text-decoration: none !important;
	border-radius: 10px !important;
	color: #0f172a !important;
	background: linear-gradient(180deg, #fde68a 0%, #fbbf24 100%) !important;
	border: 1px solid rgba(15, 23, 42, 0.14) !important;
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.12);
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-lead-form__status {
	margin-top: 0.75rem;
	font-weight: 600;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-lead-form__status--error {
	color: #b91c1c;
}

.plf-city-platform-surface.plf-site-role-city main .plf-city-lead-form__fineprint {
	font-size: 0.82rem;
	color: rgba(6, 40, 67, 0.75);
	margin-top: 1rem;
	line-height: 1.45;
}

@media (max-width: 600px) {
	.plf-city-platform-surface.plf-site-role-city main .plf-city-lead-form__grid {
		grid-template-columns: 1fr;
	}
}

/* Hide theme default page title on PLF city shell pages (FSE wp-block-post-title + classic entry-title). */
.plf-city-platform-surface.plf-site-role-city.plf-city-hide-wp-post-title main .wp-block-post-title,
.plf-city-platform-surface.plf-site-role-city.plf-city-hide-wp-post-title main h1.entry-title,
.plf-city-platform-surface.plf-site-role-city.plf-city-hide-wp-post-title .wp-block-post-title {
	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;
}

/*
 * City homepage width — final override for TT4 .has-global-padding.is-layout-constrained chain.
 * Targets main → entry-content → bands → main-stack → featured-shell → placements.
 */
body.plf-front-platform-home.plf-city-platform-surface {
	--plf-city-home-gutter: 24px;
	--plf-city-home-inner-max: min(1440px, calc(100vw - 96px));
	--plf-city-home-hero-inner-max: min(1440px, calc(100vw - 96px));
	--plf-city-home-stack-max: min(1440px, calc(100vw - 96px));
	--plf-city-home-shell-max: min(1440px, calc(100vw - 96px));
	--plf-city-home-spotlight-max: min(1440px, calc(100vw - 96px));
}

body.plf-front-platform-home.plf-city-platform-surface main.plf-city-factory-page-main,
body.plf-front-platform-home.plf-city-platform-surface main.plf-city-factory-page-main.is-layout-constrained.has-global-padding {
	--wp--style--global--content-size: var(--plf-city-home-stack-max) !important;
	--wp--style--global--wide-size: min(1320px, calc(100vw - var(--plf-city-home-gutter))) !important;
	max-width: none !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

body.plf-front-platform-home.plf-city-platform-surface main.plf-city-factory-page-main > .entry-content,
body.plf-front-platform-home.plf-city-platform-surface main.plf-city-factory-page-main > .wp-block-post-content,
body.plf-front-platform-home.plf-city-platform-surface .entry-content.wp-block-post-content {
	--wp--style--global--content-size: var(--plf-city-home-stack-max) !important;
	--wp--style--global--wide-size: min(1320px, calc(100vw - var(--plf-city-home-gutter))) !important;
	max-width: none !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	box-sizing: border-box;
}

body.plf-front-platform-home.plf-city-platform-surface main .wp-block-post-content > .plf-city-hero-panel--premium,
body.plf-front-platform-home.plf-city-platform-surface main .wp-block-post-content > .plf-city-home-featured-band,
body.plf-front-platform-home.plf-city-platform-surface .plf-city-hero-panel--premium,
body.plf-front-platform-home.plf-city-platform-surface .plf-city-home-featured-band {
	width: 100% !important;
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box;
}

body.plf-front-platform-home.plf-city-platform-surface .plf-city-hero-panel__inner,
body.plf-front-platform-home.plf-city-platform-surface .plf-city-hero-panel__inner.is-layout-constrained.has-global-padding,
body.plf-front-platform-home.plf-city-platform-surface [class*="wp-container-core-group"].plf-city-hero-panel__inner {
	--wp--style--global--content-size: var(--plf-city-home-hero-inner-max) !important;
	--wp--style--global--wide-size: var(--plf-city-home-shell-max) !important;
	width: min(100%, var(--plf-city-home-hero-inner-max)) !important;
	max-width: var(--plf-city-home-hero-inner-max) !important;
	margin-left: max(24px, calc((100vw - var(--plf-city-home-hero-inner-max)) / 2)) !important;
	margin-right: auto !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
	box-sizing: border-box;
}

body.plf-front-platform-home.plf-city-platform-surface .plf-city-hero-panel__inner.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.plf-front-platform-home.plf-city-platform-surface [class*="wp-container-core-group"].plf-city-hero-panel__inner > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
	max-width: 100% !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

body.plf-front-platform-home.plf-city-platform-surface .plf-city-home-main-stack,
body.plf-front-platform-home.plf-city-platform-surface .plf-city-home-main-stack.is-layout-constrained.has-global-padding,
body.plf-front-platform-home.plf-city-platform-surface [class*="wp-container-core-group"].plf-city-home-main-stack {
	--wp--style--global--content-size: var(--plf-city-home-stack-max) !important;
	--wp--style--global--wide-size: min(1320px, calc(100vw - var(--plf-city-home-gutter))) !important;
	width: min(100%, var(--plf-city-home-stack-max)) !important;
	max-width: var(--plf-city-home-stack-max) !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

body.plf-front-platform-home.plf-city-platform-surface .plf-city-inner.plf-city-home-featured-shell,
body.plf-front-platform-home.plf-city-platform-surface .plf-city-home-featured-shell,
body.plf-front-platform-home.plf-city-platform-surface .plf-city-home-featured-shell.is-layout-constrained.has-global-padding,
body.plf-front-platform-home.plf-city-platform-surface [class*="wp-container-core-group"].plf-city-home-featured-shell {
	--wp--style--global--content-size: var(--plf-city-home-shell-max) !important;
	--wp--style--global--wide-size: var(--plf-city-home-shell-max) !important;
	width: min(100%, var(--plf-city-home-shell-max)) !important;
	max-width: var(--plf-city-home-shell-max) !important;
	margin-left: max(24px, calc((100vw - var(--plf-city-home-shell-max)) / 2)) !important;
	margin-right: auto !important;
	padding-left: 24px !important;
	padding-right: 24px !important;
	box-sizing: border-box;
}

body.plf-front-platform-home.plf-city-platform-surface .plf-city-home-main-stack.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.plf-front-platform-home.plf-city-platform-surface .plf-city-home-featured-shell.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.plf-front-platform-home.plf-city-platform-surface [class*="wp-container-core-group"].plf-city-home-main-stack > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.plf-front-platform-home.plf-city-platform-surface [class*="wp-container-core-group"].plf-city-home-featured-shell > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
body.plf-front-platform-home.plf-city-platform-surface .plf-city-home-featured-shell > * {
	max-width: 100% !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box;
}

body.plf-front-platform-home.plf-city-platform-surface .plf-city-home-placement-slot,
body.plf-front-platform-home.plf-city-platform-surface .plf-city-home-featured-band .plf-feature-placement,
body.plf-front-platform-home.plf-city-platform-surface .plf-city-home-featured-shell .plf-feature-placement {
	width: 100% !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	box-sizing: border-box;
}

body.plf-front-platform-home.plf-city-platform-surface .plf-feature-placement--homepage-hero .plf-feature-placement__inner,
body.plf-front-platform-home.plf-city-platform-surface .plf-city-home-featured-band .plf-feature-placement--homepage-hero .plf-feature-placement__inner {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	max-width: var(--plf-city-home-spotlight-max) !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

body.plf-front-platform-home.plf-city-platform-surface .plf-feature-placement--layout-grid .plf-feature-placement__inner,
body.plf-front-platform-home.plf-city-platform-surface .plf-city-home-featured-band .plf-feature-placement--layout-grid .plf-feature-placement__inner {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
	gap: 1.25rem !important;
	max-width: 100% !important;
	width: 100% !important;
	box-sizing: border-box;
}

@media (min-width: 768px) {
	body.plf-front-platform-home.plf-city-platform-surface .plf-city-home-featured-band .plf-feature-placement--homepage-featured.plf-feature-placement--layout-grid .plf-feature-placement__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	body.plf-front-platform-home.plf-city-platform-surface .plf-city-home-featured-band .plf-feature-placement--homepage-secondary.plf-feature-placement--layout-grid .plf-feature-placement__inner {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (min-width: 900px) {
	body.plf-front-platform-home.plf-city-platform-surface .plf-city-home-featured-band .plf-feature-placement--homepage-featured.plf-feature-placement--layout-grid .plf-feature-placement__inner {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (min-width: 1280px) {
	body.plf-front-platform-home.plf-city-platform-surface .plf-city-home-featured-band .plf-feature-placement--homepage-featured.plf-feature-placement--layout-grid .plf-feature-placement__inner {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}

	body.plf-front-platform-home.plf-city-platform-surface .plf-city-home-featured-band .plf-feature-placement--homepage-secondary.plf-feature-placement--layout-grid .plf-feature-placement__inner {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

/* ========== Production parity: footer 4-column desktop + readable main text ========== */
body.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer > .is-layout-constrained.has-global-padding {
	--wp--style--global--content-size: min(1240px, calc(100vw - 2.5rem));
	--wp--style--global--wide-size: min(1240px, calc(100vw - 2.5rem));
	max-width: min(1240px, calc(100vw - 2.5rem)) !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	box-sizing: border-box;
}

body.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-columns.is-layout-flex {
	max-width: min(1240px, calc(100vw - 2.5rem)) !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	gap: 2.25rem !important;
}

@media (min-width: 901px) {
	body.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-columns.is-layout-flex {
		display: grid !important;
		grid-template-columns: minmax(280px, 1.7fr) minmax(150px, 0.75fr) minmax(190px, 0.9fr) minmax(120px, 0.55fr);
		align-items: start !important;
		column-gap: 2.25rem !important;
	}

	body.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-columns.is-layout-flex > .wp-block-column {
		flex: unset !important;
		flex-basis: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		width: auto !important;
	}

	body.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-columns.is-layout-flex > .wp-block-column:nth-child(4) .wp-block-heading,
	body.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-columns.is-layout-flex > .wp-block-column:nth-child(4) a {
		white-space: nowrap;
	}
}

@media (max-width: 900px) {
	body.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-columns.is-layout-flex {
		flex-wrap: wrap !important;
		gap: 1.5rem !important;
	}

	body.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-columns.is-layout-flex > .wp-block-column {
		flex: 1 1 48% !important;
		flex-basis: 48% !important;
		max-width: 48% !important;
	}
}

@media (max-width: 600px) {
	body.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-columns.is-layout-flex > .wp-block-column {
		flex: 1 1 100% !important;
		flex-basis: 100% !important;
		max-width: 100% !important;
	}
}

/* Beat TT4 / host link-color inheritance on listings, legal, and inner pages (not dark heroes). */
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .wp-block-post-content,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content {
	color: #1e293b !important;
}

/* TT4 preset text colors on migrated pages (orange/cyan link palette regression). */
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .wp-block-post-content :is(
	.has-luminous-vivid-orange-color,
	.has-luminous-vivid-amber-color,
	.has-vivid-red-color,
	.has-pale-pink-color,
	.has-vivid-cyan-blue-color
),
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content :is(
	.has-luminous-vivid-orange-color,
	.has-luminous-vivid-amber-color,
	.has-vivid-red-color,
	.has-pale-pink-color,
	.has-vivid-cyan-blue-color
) {
	color: #334155 !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .wp-block-post-content :is(h1, h2, h3, h4, h5, h6).has-luminous-vivid-orange-color,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content :is(h1, h2, h3, h4, h5, h6).has-luminous-vivid-orange-color,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .wp-block-post-content :is(h1, h2, h3, h4, h5, h6).has-vivid-cyan-blue-color,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content :is(h1, h2, h3, h4, h5, h6).has-vivid-cyan-blue-color {
	color: #0f172a !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .wp-block-post-content > :not(.alignfull):not(.has-background) p,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .wp-block-post-content > :not(.alignfull):not(.has-background) li,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content > :not(.alignfull):not(.has-background) p,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content > :not(.alignfull):not(.has-background) li,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-city-page-pro p,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-city-legal-shell p {
	color: #334155 !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .wp-block-post-content > :not(.alignfull):not(.has-background) strong,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content > :not(.alignfull):not(.has-background) strong,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-city-page-pro strong,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-city-legal-shell strong {
	color: #1e293b !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .wp-block-post-content > :not(.alignfull):not(.has-background) :is(h1, h2, h3, h4, h5, h6),
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content > :not(.alignfull):not(.has-background) :is(h1, h2, h3, h4, h5, h6),
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-city-legal-shell :is(h1, h2, h3, h4, h5, h6) {
	color: #0f172a !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main #plf-featured-listings,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-feature-placement,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-feature-card {
	color: #334155 !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-feature-card__price,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-feature-card__title,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main h3.plf-feature-card__title {
	color: #0f172a !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-feature-card__loc,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-feature-card__mls,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-feature-card__meta-text,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-feature-full-page__meta-line {
	color: #475569 !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-feature-card__loc a:not(.wp-element-button),
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .wp-block-post-content a:where(:not(.wp-element-button)):not(.plf-feature-card__cta-btn):not(.plf-mode-tab):not(.page-button):not(.property-view-details-link):not(.plf-card-map-focus-link):not(.plf-cta-property-search),
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content a:where(:not(.wp-element-button)):not(.plf-feature-card__cta-btn):not(.plf-mode-tab):not(.page-button):not(.property-view-details-link):not(.plf-card-map-focus-link):not(.plf-cta-property-search),
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-city-legal-shell a:where(:not(.wp-element-button)) {
	color: #1d4ed8 !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-feature-card__loc a:not(.wp-element-button):hover,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .wp-block-post-content a:where(:not(.wp-element-button)):not(.plf-feature-card__cta-btn):not(.plf-mode-tab):not(.page-button):not(.property-view-details-link):not(.plf-card-map-focus-link):not(.plf-cta-property-search):hover,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content a:where(:not(.wp-element-button)):not(.plf-feature-card__cta-btn):not(.plf-mode-tab):not(.page-button):not(.property-view-details-link):not(.plf-card-map-focus-link):not(.plf-cta-property-search):hover,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-city-legal-shell a:where(:not(.wp-element-button)):hover {
	color: #1e3a8a !important;
}

/*
 * Property search UI: mode tabs, pagination, card CTAs (#plf-search-results — not #propertySearch on hub page).
 * Beat .entry-content a { color: #1d4ed8 } on controls that look like buttons.
 */
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content .plf-mode-segmented .menu-link.plf-mode-tab--primary.active,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-root ~ #plf-search-results .plf-mode-segmented .menu-link.plf-mode-tab--primary.active,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content #propertySearch .plf-mode-segmented .menu-link.plf-mode-tab--primary.active {
	background: #e0f2fe !important;
	color: #0c4a6e !important;
	-webkit-text-fill-color: #0c4a6e !important;
	border-color: #0284c7 !important;
	box-shadow: 0 1px 3px rgba(2, 132, 199, 0.22) !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content .plf-mode-segmented .menu-link.plf-mode-tab--primary:not(.active),
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content #plf-search-results .pagination .page-button,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content .plf-search-results .pagination .page-button,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content #propertySearch .pagination .page-button {
	background: #fff !important;
	color: #0c4a6e !important;
	-webkit-text-fill-color: #0c4a6e !important;
	border: 2px solid #94a3b8 !important;
	font-weight: 600 !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content #plf-search-results .pagination .page-button.active,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content .plf-search-results .pagination .page-button.active,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content #propertySearch .pagination .page-button.active,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content #plf-search-results .page-button.active {
	background: #0284c7 !important;
	background-color: #0284c7 !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	border-color: #0284c7 !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content #plf-search-results .property-view-details-link,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content .plf-search-results .property-view-details-link {
	background: #e0f2fe !important;
	color: #0c4a6e !important;
	-webkit-text-fill-color: #0c4a6e !important;
	border: 2px solid #0284c7 !important;
	font-weight: 700 !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content #plf-search-results .plf-card-map-focus-link,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content .plf-search-results .plf-card-map-focus-link {
	background: #f0fdfa !important;
	color: #0f766e !important;
	-webkit-text-fill-color: #0f766e !important;
	border: 2px solid #99f6e4 !important;
	font-weight: 600 !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .entry-content .plf-cta-property-search {
	background: #e0f2fe !important;
	color: #0c4a6e !important;
	-webkit-text-fill-color: #0c4a6e !important;
	border: 2px solid #0284c7 !important;
	font-weight: 700 !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-brokerage-disclosure,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-brokerage-disclosure p,
body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-brokerage-disclosure strong {
	color: #1e293b !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .plf-brokerage-disclosure__label {
	color: #0369a1 !important;
}

body.plf-city-platform-surface.plf-site-role-city main.plf-city-factory-page-main .has-link-color:not(.has-background):not([style*="#0f172a"]) {
	color: inherit !important;
}

/* ========== Listing detail: full-width shell (plf-property-detail-layout.css loads after) ========== */
@media (min-width: 992px) {
	body.plf-city-platform-surface.plf-site-role-city:has(.plf-property-detail-page) main.plf-city-factory-page-main,
	body.plf-city-platform-surface.plf-site-role-city:has(.plf-property-detail-page) main.plf-city-factory-page-main.is-layout-constrained,
	body.plf-city-platform-surface.plf-site-role-city:has(.plf-property-detail-page) main.plf-city-factory-page-main .wp-block-post-content,
	body.plf-city-platform-surface.plf-site-role-city:has(.plf-property-detail-page) main.plf-city-factory-page-main .entry-content {
		--wp--style--global--content-size: 100% !important;
		--wp--style--global--wide-size: 100% !important;
		max-width: none !important;
		width: 100% !important;
	}

	body.plf-city-platform-surface.plf-site-role-city:has(.plf-property-detail-page)
		.is-layout-constrained
		> :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
		max-width: none !important;
		width: 100% !important;
	}
}

/* ========== City search/listing layout stabilization (desktop only) ========== */
@media (min-width: 1024px) {
	/*
	 * Wide shell + left-weighted placement: keep 1880px dashboard width but reduce
	 * wasted left gutter (margin-right: auto absorbs the remainder).
	 */
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results),
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-featured-listings) {
		--plf-city-search-shell-width: min(1880px, calc(100vw - 16px));
		--plf-city-search-shell-inset-left: 44px;
		--plf-city-search-shell-inset-right: 34px;
	}

	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) {
		--plf-city-search-filter-inset-left: 52px;
	}

	/*
	 * Outer gutter reset: TT4 page.html + property-search.html stack adds
	 * .has-global-padding / .is-layout-constrained / .alignwide centering (~1120px)
	 * above #plf-search-results. Zero ancestor padding-left; shell inset on page group.
	 */
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) .wp-site-blocks,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) main,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) main.is-layout-constrained,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) main.has-global-padding,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) main.plf-city-factory-page-main,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) main .wp-block-post-content,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) main .entry-content,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) main .wp-block-post-content.has-global-padding,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) main.plf-city-factory-page-main > .wp-block-group:not(.alignfull),
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-featured-listings) .wp-site-blocks,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-featured-listings) main,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-featured-listings) main.is-layout-constrained,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-featured-listings) main.has-global-padding,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-featured-listings) main.plf-city-factory-page-main,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-featured-listings) main .wp-block-post-content,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-featured-listings) main .entry-content.has-global-padding,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) main .entry-content > .wp-block-group.alignwide,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-featured-listings) main .entry-content > .wp-block-group.alignwide,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) .entry-content > .wp-block-group.alignwide.has-global-padding,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-featured-listings) .entry-content > .wp-block-group.alignwide.has-global-padding,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-featured-listings) .entry-content > .wp-block-group.alignwide {
		--wp--style--global--content-size: var(--plf-city-search-shell-width, min(1880px, calc(100vw - 16px))) !important;
		--wp--style--global--wide-size: var(--plf-city-search-shell-width, min(1880px, calc(100vw - 16px))) !important;
		max-width: none !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		padding-inline-start: 0 !important;
		padding-inline-end: 0 !important;
		box-sizing: border-box;
	}

	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) main .entry-content > .wp-block-group.alignwide,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) main .wp-block-post-content > .wp-block-group.alignwide,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-featured-listings) main .entry-content > .wp-block-group.alignwide,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-featured-listings) main .wp-block-post-content > .wp-block-group.alignwide {
		max-width: var(--plf-city-search-shell-width, min(1880px, calc(100vw - 16px))) !important;
		width: var(--plf-city-search-shell-width, min(1880px, calc(100vw - 16px))) !important;
		margin-left: var(--plf-city-search-shell-inset-left, 44px) !important;
		margin-right: auto !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box;
	}

	/* TT4 global padding on alignwide page wrapper (property-search.html root group). */
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) .entry-content > .wp-block-group.alignwide.has-global-padding,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) .entry-content > .wp-block-group.alignwide.is-layout-constrained.has-global-padding,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-featured-listings) .entry-content > .wp-block-group.alignwide.has-global-padding,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-featured-listings) .entry-content > .wp-block-group.alignwide.is-layout-constrained.has-global-padding {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) main .entry-content .wp-block-group.alignwide.is-layout-constrained,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) main .wp-block-post-content .wp-block-group.alignwide.is-layout-constrained,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) main .entry-content [class*="wp-container-core-group"],
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) main .wp-block-post-content [class*="wp-container-core-group"],
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-featured-listings) main .entry-content .wp-block-group.alignwide.is-layout-constrained,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-featured-listings) main .wp-block-post-content .wp-block-group.alignwide.is-layout-constrained,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-featured-listings) main .entry-content [class*="wp-container-core-group"],
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-featured-listings) main .wp-block-post-content [class*="wp-container-core-group"] {
		padding-left: 0 !important;
		padding-right: 0 !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: none !important;
		width: 100% !important;
		box-sizing: border-box;
	}

	/* TT4 constrained children inside main: fill shell (inset is on .alignwide page group). */
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) main .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)),
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-featured-listings) main .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
		max-width: 100% !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) .plf-mobile-flow-shell--property,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) #plf-control-panel-property-area,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) #plf-search-results,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-featured-listings) #plf-featured-listings {
		max-width: 100% !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/*
	 * Filter/query controls only: modest extra left inset (toolbar, form, actions).
	 * Does not affect #plf-search-results (map, pagination, detail panel) or page shell.
	 */
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) .plf-city-property-search-intro,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) #plf-control-panel-property-area > .plf-filter-toolbar-row,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) #plf-control-panel-property-area > .plf-business-mode-toggle,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) #plf-control-panel-property-area > .plf-search-messages,
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) #plf-control-panel-property-area > .plf-control-panel__collapsible {
		padding-left: var(--plf-city-search-filter-inset-left, 52px) !important;
		box-sizing: border-box;
	}

	/* Legacy horizontal padding on intro/summary; filter inset is the single left edge. */
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) #plf-control-panel-property-area > .plf-search-messages {
		padding-right: 0 !important;
	}

	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) #plf-control-panel-property-area .plf-active-filters-summary {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* Map dashboard split: preserve readable detail panel while giving map more width. */
	body.plf-city-platform-surface.plf-site-role-city:has(#plf-search-results) .map-view-container.map-view.details-visible .map-property-details-container {
		width: clamp(400px, 35%, 700px) !important;
		min-width: 400px !important;
		max-width: 700px !important;
	}

	/*
	 * Footer content shell: match widened city search / featured listing width (not 1240px centered).
	 * Background stays full-width; inner columns use the same left-weighted shell as main content.
	 */
	body.plf-city-platform-surface.plf-site-role-city {
		--plf-city-shell-width: min(1880px, calc(100vw - 16px));
		--plf-city-shell-inset-left: 44px;
	}

	body.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	body.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer > .is-layout-constrained.has-global-padding,
	body.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer > .wp-block-group.is-layout-constrained.has-global-padding,
	body.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer [class*="wp-container-core-group"].is-layout-constrained {
		--wp--style--global--content-size: var(--plf-city-shell-width) !important;
		--wp--style--global--wide-size: var(--plf-city-shell-width) !important;
		max-width: var(--plf-city-shell-width) !important;
		width: var(--plf-city-shell-width) !important;
		margin-left: var(--plf-city-shell-inset-left) !important;
		margin-right: auto !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box;
	}

	body.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull)) {
		max-width: 100% !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	body.plf-city-platform-surface.plf-site-role-city footer.plf-city-factory-branded-footer .wp-block-columns.is-layout-flex {
		max-width: 100% !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}
