/**
 * Premium-city production visual skin — paulwurealestate.ca reference.
 * Bands, photo hero, warm featured field, card elevation. No width / max-width rules.
 */

.plf-city-home-page--premium-city.plf-city-home-page--production-skin {
	--plf-city-home-gutter: clamp(0.5rem, 1.35vw, 0.85rem);
	--plf-pwu-hero-overlay: linear-gradient(
		100deg,
		rgba(15, 23, 42, 0.9) 0%,
		rgba(15, 23, 42, 0.55) 34%,
		rgba(15, 23, 42, 0.18) 56%,
		rgba(15, 23, 42, 0.04) 72%,
		transparent 85%
	);
	--plf-pwu-featured-bg: linear-gradient(180deg, #e4eaf2 0%, #f3efe8 36%, #faf9f7 68%, #ffffff 100%);
	--plf-pwu-card-shadow: 0 2px 4px rgba(15, 23, 42, 0.06), 0 16px 40px rgba(15, 23, 42, 0.11);
	--plf-pwu-card-shadow-hover: 0 12px 26px rgba(15, 23, 42, 0.13), 0 28px 56px rgba(15, 23, 42, 0.12);
}

/* —— 1. Cinematic full-bleed photo hero (pwu-style) —— */
body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-hero-panel--premium,
body.plf-city-home-renderer.plf-front-platform-home .plf-city-home-page--production-skin .plf-city-hero-panel--premium {
	min-height: clamp(280px, 38vh, 420px) !important;
	padding: clamp(0.65rem, 1.75vw, 1.15rem) 0 clamp(0.55rem, 1.35vw, 0.95rem) !important;
	background-color: #0f172a !important;
	background-image: var(--plf-pwu-hero-overlay), var(--plf-city-hero-photo, var(--plf-city-hero-texture, none)) !important;
	background-size: cover !important;
	background-position: center 30% !important;
	background-repeat: no-repeat !important;
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-inner--hero,
body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-hero-panel__inner {
	text-align: left;
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-hero-panel__headline,
body.plf-city-home-renderer.plf-front-platform-home .plf-city-home-page--production-skin .plf-city-hero-panel--premium .plf-city-hero-panel__headline {
	font-size: clamp(2.35rem, 5.2vw, 3.55rem) !important;
	max-width: none !important;
	text-wrap: balance;
	text-shadow: 0 2px 32px rgba(0, 0, 0, 0.5);
}

@media (min-width: 768px) {
	body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-hero-panel__headline,
	body.plf-city-home-renderer.plf-front-platform-home .plf-city-home-page--production-skin .plf-city-hero-panel--premium .plf-city-hero-panel__headline {
		white-space: nowrap;
		text-wrap: unset;
	}
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-hero-panel__subhead,
body.plf-city-home-renderer.plf-front-platform-home .plf-city-home-page--production-skin .plf-city-hero-panel--premium .plf-city-hero-panel__subhead {
	font-size: clamp(1.12rem, 1.65vw, 1.32rem) !important;
	max-width: 56ch !important;
	color: #f1f5f9 !important;
	text-shadow: 0 1px 18px rgba(0, 0, 0, 0.4);
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-hero-chips {
	justify-content: flex-start;
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-hero-panel__ctas {
	justify-content: flex-start;
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-hero-cta-primary {
	background: linear-gradient(135deg, #fde68a 0%, #fbbf24 92%);
	color: #0f172a;
	border: 1px solid rgba(255, 255, 255, 0.35);
	box-shadow: 0 10px 28px rgba(251, 191, 36, 0.38);
	font-size: 1.02rem;
	padding: 0.8rem 1.6rem;
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-hero-cta-secondary {
	border-color: rgba(248, 250, 252, 0.75);
	background: rgba(15, 23, 42, 0.38);
	backdrop-filter: blur(8px);
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-hero-chip {
	background: rgba(15, 23, 42, 0.45);
	border-color: rgba(255, 255, 255, 0.38);
	font-size: 0.9rem;
}

@media (max-width: 767px) {
	body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-hero-panel__inner {
		text-align: center;
	}

	body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-hero-panel__headline,
	body.plf-city-home-renderer.plf-front-platform-home .plf-city-home-page--production-skin .plf-city-hero-panel--premium .plf-city-hero-panel__headline {
		white-space: normal;
		text-wrap: balance;
	}

	body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-hero-chips,
	body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-hero-panel__ctas {
		justify-content: center;
	}
}

/* —— 2. Full-viewport warm featured field (not a white document strip) —— */
body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-home-featured-band,
body.plf-city-home-renderer.plf-front-platform-home .plf-city-home-page--production-skin .plf-city-home-featured-band {
	position: relative;
	isolation: isolate;
	background: transparent !important;
	border-top: none;
	padding: clamp(1.35rem, 3vw, 2rem) 0 clamp(1.5rem, 3.5vw, 2.25rem) !important;
	margin-top: 0;
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-home-featured-band::before {
	content: "";
	position: absolute;
	z-index: -1;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	top: 0;
	bottom: 0;
	background: var(--plf-pwu-featured-bg);
	border-top: 3px solid rgba(253, 230, 138, 0.55);
	box-shadow:
		0 -16px 40px rgba(15, 23, 42, 0.1),
		inset 0 1px 0 rgba(255, 255, 255, 0.65);
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-hero-panel--premium + .plf-city-home-featured-band {
	margin-top: 0;
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-home-main-stack {
	padding-top: 0;
	padding-left: 0 !important;
	padding-right: 0 !important;
	background: transparent;
	width: 100% !important;
	max-width: none !important;
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-home-featured-shell,
body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-home-featured-band .plf-city-inner {
	background: transparent;
	width: min(100%, var(--plf-city-home-inner-max)) !important;
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-feature-placement--homepage-hero {
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-featured-section-title,
body.plf-city-home-renderer.plf-front-platform-home .plf-city-home-page--production-skin .plf-city-featured-section-title {
	font-size: clamp(1.85rem, 3.4vw, 2.25rem) !important;
	letter-spacing: -0.03em;
	color: #0c1222;
	margin-bottom: 0.7rem;
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-home-featured__intro--template,
body.plf-city-home-renderer.plf-front-platform-home .plf-city-home-page--production-skin .plf-home-featured__intro--template {
	font-size: 1.1rem !important;
	line-height: 1.58 !important;
	color: #334155 !important;
	max-width: 52rem;
	margin-bottom: 1.35rem;
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-feature-placement__title {
	font-size: clamp(1.45rem, 2.5vw, 1.85rem);
	color: #1e293b;
}

/* Cards on warm field — 3-column grid unchanged in layout CSS */
body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-feature-card {
	box-shadow: var(--plf-pwu-card-shadow);
	border: 1px solid rgba(15, 23, 42, 0.09);
	background: #fff;
	transition: box-shadow 0.22s ease, transform 0.22s ease, border-color 0.22s ease;
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-feature-card:hover {
	box-shadow: var(--plf-pwu-card-shadow-hover);
	transform: translateY(-3px);
	border-color: rgba(15, 23, 42, 0.14);
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-feature-placement--homepage-hero .plf-feature-card--hero {
	box-shadow: 0 22px 60px rgba(15, 23, 42, 0.2);
	border: 1px solid rgba(15, 23, 42, 0.1);
	border-radius: 14px;
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-feature-placement--homepage-hero .plf-feature-card--hero .plf-feature-card__media {
	aspect-ratio: 2.15 / 1;
	min-height: clamp(300px, 38vw, 440px);
}

/* —— 3. Lower sections (compact) —— */
body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-positioning-band {
	background: linear-gradient(180deg, #ffffff 0%, #eff6ff 100%);
	border: 1px solid rgba(15, 23, 42, 0.08);
	box-shadow: 0 8px 28px rgba(15, 23, 42, 0.05);
	margin-bottom: clamp(1rem, 2.5vw, 1.5rem) !important;
	padding-top: clamp(1.25rem, 2.5vw, 1.65rem) !important;
	padding-bottom: clamp(1.25rem, 2.5vw, 1.65rem) !important;
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-home-help-grid {
	margin-top: 0.25rem;
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-home-columns {
	margin-bottom: clamp(1rem, 2.5vw, 1.5rem) !important;
	gap: 1.15rem !important;
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-home-column {
	box-shadow: 0 10px 28px rgba(15, 23, 42, 0.07);
	padding: 1.05rem 1rem 0.95rem !important;
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-home-community {
	margin-bottom: 0.85rem !important;
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-home-cta-band {
	background: linear-gradient(135deg, #eff6ff 0%, #f8fafc 55%, #fff 100%);
	border: 1px solid rgba(14, 116, 144, 0.14);
	margin-bottom: 0.5rem !important;
	padding-top: 1.35rem !important;
	padding-bottom: 1.35rem !important;
}

body.plf-city-home-renderer.plf-front-platform-home main.plf-city-factory-page-main {
	padding-bottom: 1.25rem !important;
}

body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-home-compliance {
	display: none !important;
}

/* Neutralize layout.css plain-white featured band when skin is active */
body.plf-city-home-renderer .plf-city-home-page--production-skin .plf-city-home-featured-band {
	background-color: transparent !important;
}
