.property-hero {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: 90vh;
	background: var(--wp--preset--color--base);
	overflow: hidden;
}

/* Правая половина — фото-карусель (bleed до правого края). */
.property-hero__media {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 50%;
	overflow: hidden;
}
.property-hero__carousel {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.property-hero__track {
	display: flex;
	height: 100%;
	transition: transform var(--wp--custom--transition--base);
}
.property-hero__carousel.is-dragging .property-hero__track { transition: none; }
.property-hero__slide {
	flex: 0 0 100%;
	height: 100%;
}
.property-hero__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	-webkit-user-drag: none;
	user-select: none;
}

.property-hero__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
	border: 1px solid var(--wp--preset--color--on-dark);
	background: rgba(255, 255, 255, 0.2);
	backdrop-filter: blur(20.9px);
	-webkit-backdrop-filter: blur(20.9px);
	cursor: pointer;
	display: grid;
	place-items: center;
	transition: background var(--wp--custom--transition--fast);
}
.property-hero__nav::before {
	content: "";
	width: 10px;
	height: 10px;
	border-top: 2px solid var(--wp--preset--color--on-dark);
	border-right: 2px solid var(--wp--preset--color--on-dark);
}
.property-hero__nav--prev { left: 16px; }
.property-hero__nav--prev::before { transform: rotate(-135deg); margin-left: 4px; }
.property-hero__nav--next { right: 16px; }
.property-hero__nav--next::before { transform: rotate(45deg); margin-right: 4px; }
.property-hero__nav:hover { background: rgba(255, 255, 255, 0.35); }

.property-hero__dots {
	position: absolute;
	left: 64px;
	bottom: 48px;
	display: flex;
	gap: 8px;
	align-items: center;
}
.property-hero__dots button {
	width: 24px;
	height: 8px;
	padding: 0;
	border: none;
	border-radius: var(--wp--custom--radius--pill);
	background: rgba(255, 255, 255, 0.6);
	cursor: pointer;
	transition: background var(--wp--custom--transition--fast), width var(--wp--custom--transition--fast);
}
.property-hero__dots button[aria-current="true"] {
	width: 35px;
	background: var(--wp--preset--color--base);
}

/* Левая колонка — контент в центрированном контейнере 1344. */
.property-hero__content {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1344px;
	margin: 0 auto;
	padding-inline: var(--wp--custom--layout--gutter);
	box-sizing: border-box;
	pointer-events: none;
}
.property-hero__col {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--r-64);
	max-width: 616px;
	/* Контент прижат к низу медиа (Figma 2009:11174: низ CTA ~y800 из 900, зазор снизу ~100px). */
	padding-block: var(--wp--preset--spacing--r-64) clamp(4rem, 7vw, 6.25rem);
	pointer-events: auto;
}

.property-hero__head {
	display: flex;
	flex-direction: column;
	gap: var(--wp--preset--spacing--r-24);
}
.property-hero__title {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--r-56);
	line-height: 1.2;
	letter-spacing: -0.03em;
	color: var(--wp--preset--color--contrast);
}
.property-hero__location {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-family: var(--wp--preset--font-family--body);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--r-18);
	color: var(--wp--preset--color--contrast);
}
.property-hero__pin { flex: 0 0 24px; }

.property-hero__badges { display: flex; flex-wrap: wrap; gap: 8px; }
.property-hero__badge {
	display: inline-flex;
	align-items: center;
	height: 32px;
	padding-inline: 12px;
	border: 1px solid;
	border-radius: var(--wp--custom--radius--pill);
	font-family: var(--wp--preset--font-family--body);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--r-14);
	white-space: nowrap;
}
.property-hero__badge--available {
	color: var(--wp--preset--color--success);
	border-color: var(--wp--preset--color--success);
}
.property-hero__badge--muted {
	color: var(--wp--preset--color--muted);
	border-color: var(--wp--preset--color--subtle);
}

.property-hero__price-row {
	display: flex;
	align-items: center;
	gap: clamp(2rem, 5vw, 6.4rem);
}
.property-hero__price { display: flex; flex-direction: column; gap: 8px; }
.property-hero__price-label {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 700;
	font-size: var(--wp--preset--font-size--r-16);
	letter-spacing: -0.03em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}
.property-hero__price-value {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--r-48);
	line-height: 1.5;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--contrast);
	white-space: nowrap;
}
.property-hero__price-sub {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 600;
	font-size: var(--wp--preset--font-size--r-12);
	letter-spacing: -0.03em;
	color: var(--wp--preset--color--muted);
}
.property-hero__cta {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 250px;
	height: 56px;
	padding-inline: 24px;
	border-radius: var(--wp--custom--radius--pill);
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--on-dark);
	font-family: var(--wp--preset--font-family--body);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--r-18);
	text-decoration: none;
	transition: opacity var(--wp--custom--transition--fast);
}
.property-hero__cta:hover { opacity: 0.88; }

/* ═══ Модификатор --object: 2-кол БЕЛЫЙ hero объекта (Figma 176:489) ═══ */
.property-hero--object {
	align-items: center;
	min-height: clamp(600px, 66vh, 712px);
	background: var(--wp--preset--color--base);
}
/* Фото — правая половина, скруглённая карточка (все углы, инсет справа). */
.property-hero--object .property-hero__media {
	top: var(--wp--preset--spacing--r-40);
	right: var(--wp--preset--spacing--r-40);
	bottom: var(--wp--preset--spacing--r-40);
	left: 50%;
	border-radius: var(--wp--custom--radius--lg, 24px);
	overflow: hidden;
}
.property-hero--object .property-hero__carousel { border-radius: inherit; }
.property-hero--object .property-hero__photo { width: 100%; height: 100%; object-fit: cover; display: block; }
.property-hero--object .property-hero__col {
	max-width: 608px;
	gap: var(--wp--preset--spacing--r-40);
	padding-block: var(--wp--preset--spacing--r-64);
}

/* Метки: сердце-избранное + флаг страны (сверху). */
.property-hero--object .property-hero__marks { display: flex; gap: 12px; margin-bottom: var(--wp--preset--spacing--r-24); }
.property-hero--object .property-hero__fav { position: static; }
.property-hero--object .property-hero__flag {
	width: 40px;
	height: 40px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--wp--preset--color--base);
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.15);
}
.property-hero--object .property-hero__flag img { width: 24px; height: auto; border-radius: 3px; display: block; }

/* Eyebrow — зелёный, uppercase. */
.property-hero--object .property-hero__eyebrow {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--r-14);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary);
}
/* H1 — 40/500 чёрный (Figma). */
.property-hero--object .property-hero__title {
	font-weight: 500;
	font-size: var(--wp--preset--font-size--r-40);
	line-height: 1.2;
	color: var(--wp--preset--color--contrast);
}

/* Сетка 2×2 label/value. */
.property-hero--object .property-hero__facts {
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--wp--preset--spacing--r-24) var(--wp--preset--spacing--r-48);
}
.property-hero--object .property-hero__fact { display: flex; flex-direction: column; gap: 6px; }
.property-hero--object .property-hero__fact-label {
	font-family: var(--wp--preset--font-family--body);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--r-14);
	line-height: 1.2;
	color: var(--wp--preset--color--muted);
}
.property-hero--object .property-hero__fact-value {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--r-18);
	line-height: 1.2;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--contrast);
}
.property-hero--object .property-hero__fact-value--price {
	font-weight: 600;
	color: var(--wp--preset--color--primary);
}

/* Кнопки: 1 зелёная сплошная + аутлайн «herunterladen». */
.property-hero--object .property-hero__actions { display: flex; flex-wrap: wrap; gap: 12px; }
.property-hero--object .property-hero__cta {
	min-width: 0;
	height: 56px;
	font-weight: 500;
	font-size: var(--wp--preset--font-size--r-14);
}
.property-hero--object .property-hero__cta--solid {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--on-dark);
}
.property-hero--object .property-hero__cta--ghost {
	background: transparent;
	color: var(--wp--preset--color--primary);
	border: 1px solid var(--wp--preset--color--primary);
}
.property-hero--object .property-hero__cta--ghost:hover {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--on-dark);
	opacity: 1;
}
.property-hero--object .property-hero__cta--dl::before {
	content: "";
	width: 16px;
	height: 16px;
	margin-right: 8px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M12 3v12m0 0l-4-4m4 4l4-4M4 17v2a2 2 0 002 2h12a2 2 0 002-2v-2'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M12 3v12m0 0l-4-4m4 4l4-4M4 17v2a2 2 0 002 2h12a2 2 0 002-2v-2'/%3E%3C/svg%3E") center / contain no-repeat;
}

@media (max-width: 781px) {
	/* --object на мобиле: контент сверху, фото под ним (bleed по бокам, инсет). */
	.property-hero--object { min-height: 0; align-items: stretch; }
	.property-hero--object .property-hero__media {
		inset: auto;
		margin: 0 16px 16px;
		aspect-ratio: 343 / 300;
		border-radius: var(--wp--custom--radius--lg, 24px);
	}
	.property-hero--object .property-hero__col { max-width: none; gap: var(--wp--preset--spacing--r-32); padding-block: 0 var(--wp--preset--spacing--r-32); }
	.property-hero--object .property-hero__actions { width: 100%; }
	.property-hero--object .property-hero__cta { flex: 1; }
}
@media (max-width: 781px) {
	.property-hero {
		flex-direction: column;
		align-items: stretch;
		min-height: 0;
	}
	/* Мобайл (по макету): сначала контент, ПОТОМ фото. Верх = только дизайн-зазор r-40 —
	   фикс-шапка резервирует своё место сама (спейсер в header.js), «84px» под шапку убран. */
	/* Поля 16px по макету 375 (gutter clamp min = 20px). */
	.property-hero__content { order: 1; padding-inline: 16px; padding-top: var(--wp--preset--spacing--r-40); }
	.property-hero__media {
		position: relative;
		top: auto;
		right: auto;
		bottom: auto;
		left: auto;
		width: 100%;
		aspect-ratio: 375 / 456;
		order: 2;
	}
	.property-hero__col {
		max-width: none;
		gap: var(--wp--preset--spacing--r-32);
		padding-block: 0 var(--wp--preset--spacing--r-32);
	}
	.property-hero__title { font-size: var(--wp--preset--font-size--r-32); }
	.property-hero__price-row { flex-direction: column; align-items: flex-start; gap: var(--wp--preset--spacing--r-24); }
	.property-hero__cta { width: 100%; }
}
