/**
 * Single property page — functional styles only.
 * Visual design (colors, typography, layout, icon sizes) comes from
 * the approved Elementor markup/CSS on the property single template.
 */
.property-tabs .tab-content {
	display: none;
}

.property-tabs .tab-content.active {
	display: block;
}

/* Hero swiper — fill column height, cover + center crop, equal corner radius */
.upscale-property-single .shard-hero__right {
	position: relative;
	overflow: hidden;
	border-radius: var(--shard-hero-radius, 16px);
}

.upscale-property-single .shard-hero-swiper {
	overflow: hidden;
	border-radius: inherit;
}

.upscale-property-single .shard-hero-swiper .swiper-wrapper,
.upscale-property-single .shard-hero-swiper .swiper-slide {
	height: 100%;
	border-radius: inherit;
}

.upscale-property-single .shard-hero-swiper .swiper-slide {
	overflow: hidden;
	transform: translateZ(0);
}

.upscale-property-single .shard-hero__image {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	object-position: center center;
	border-radius: inherit;
}

/* Agent contact tab — details left, photo right */
.upscale-property-single .property-agents-list {
	display: grid;
	justify-items: center;
}

.upscale-property-single .property-agent-profile {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: space-between;
	gap: clamp(24px, 4vw, 48px);
	width: 100%;
	max-width: 50%;
	justify-self: center;
}

.upscale-property-single .property-agent-profile__content {
	flex: 1;
	min-width: 0;
}

.upscale-property-single .property-agent-profile__details {
	margin-top: 1rem;
}

.upscale-property-single .property-agent-profile__line {
	margin: 0 0 0.65em;
}

.upscale-property-single .property-agent-profile__line:last-child {
	margin-bottom: 0;
}

.upscale-property-single .property-agent-profile__cta {
	margin-top: 1.5rem;
}

.upscale-property-single .property-agent-profile__photo {
	flex: 0 0 auto;
	width: min(280px, 38%);
	max-width: 280px;
}

.upscale-property-single .property-agent-profile__photo img {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

.upscale-property-single .property-agents-list .property-agent-profile + .property-agent-profile {
	margin-top: 3rem;
	padding-top: 3rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

@media (max-width: 767px) {
	.upscale-property-single .property-agent-profile {
		flex-direction: column-reverse;
		align-items: center;
		max-width: none;
		justify-self: stretch;
	}

	.upscale-property-single .property-agent-profile__content {
		display: flex;
		flex-direction: column;
		align-items: center;
		text-align: center;
		width: 100%;
	}

	.upscale-property-single .property-agent-profile__photo {
		width: 100%;
		max-width: 220px;
		align-self: center;
	}
}
