/*
 * Sooramelk single property experience — v2.2.0
 * Mobile-first density, clear information hierarchy and accessible actions.
 * This file is loaded only on the `properties` singular view.
 */

body.sm-single-property-live{
	--sm-property-ink:#173d35;
	--sm-property-muted:#71817c;
	--sm-property-line:#dce9e5;
	--sm-property-soft:#f1faf7;
	--sm-property-primary:#079b7d;
	--sm-property-primary-dark:#066b5a;
	--sm-property-glass:rgba(255,255,255,.9);
}

body.sm-single-property-live .ppc-ui-single-layout main,
body.sm-single-property-live .ppc-ui-single-layout .ppc-ui-contact-card{
	min-width:0;
}

body.sm-single-property-live.sm-property-lightbox-open{
	overflow:hidden!important;
}

body.sm-single-property-live .ppc-ui-gallery__main{
	position:relative;
	cursor:zoom-in;
}

body.sm-single-property-live .ppc-ui-gallery__main:focus-visible,
body.sm-single-property-live .sm-property-section-toggle:focus-visible,
body.sm-single-property-live .sm-property-description-toggle:focus-visible,
body.sm-single-property-live .sm-property-lightbox button:focus-visible{
	outline:3px solid rgba(7,155,125,.38)!important;
	outline-offset:3px!important;
}

.sm-property-gallery-count{
	position:absolute;
	right:10px;
	bottom:10px;
	z-index:2;
	display:inline-flex;
	min-height:32px;
	align-items:center;
	justify-content:center;
	padding:5px 10px;
	border:1px solid rgba(255,255,255,.45);
	border-radius:999px;
	background:rgba(15,43,37,.78);
	color:#fff;
	font-size:12px;
	font-weight:850;
	line-height:1;
	-webkit-backdrop-filter:blur(10px);
	backdrop-filter:blur(10px);
}

.sm-property-mobile-price,
.sm-property-dock,
.sm-property-section-toggle,
.sm-property-description-toggle{
	display:none;
}

.sm-property-lightbox{
	position:fixed;
	inset:0;
	z-index:1000000;
	width:100%;
	max-width:none;
	height:100%;
	max-height:none;
	margin:0;
	padding:0;
	border:0;
	background:#071511;
	color:#fff;
}

.sm-property-lightbox:not([open]){display:none}
.sm-property-lightbox::backdrop{background:rgba(2,16,13,.96)}
.sm-property-lightbox__stage{
	position:relative;
	display:grid;
	width:100%;
	height:100%;
	place-items:center;
	padding:64px 18px 88px;
}
.sm-property-lightbox__image{
	display:block;
	max-width:100%;
	max-height:100%;
	object-fit:contain;
	border-radius:10px;
}
.sm-property-lightbox__close,
.sm-property-lightbox__prev,
.sm-property-lightbox__next{
	position:absolute;
	z-index:2;
	display:grid;
	width:48px;
	height:48px;
	min-width:48px;
	min-height:48px;
	place-items:center;
	padding:0;
	border:1px solid rgba(255,255,255,.24);
	border-radius:14px;
	background:rgba(255,255,255,.13);
	color:#fff;
	font:inherit;
	font-size:26px;
	line-height:1;
	cursor:pointer;
	-webkit-backdrop-filter:blur(12px);
	backdrop-filter:blur(12px);
}
.sm-property-lightbox__close{top:max(12px,env(safe-area-inset-top));left:14px}
.sm-property-lightbox__prev{top:50%;right:12px;margin-top:-24px}
.sm-property-lightbox__next{top:50%;left:12px;margin-top:-24px}
.sm-property-lightbox__counter{
	position:absolute;
	bottom:max(24px,env(safe-area-inset-bottom));
	left:50%;
	min-width:72px;
	padding:8px 14px;
	border-radius:999px;
	background:rgba(255,255,255,.13);
	font-size:13px;
	font-weight:800;
	text-align:center;
	translate:-50% 0;
	-webkit-backdrop-filter:blur(12px);
	backdrop-filter:blur(12px);
}

@media(max-width:680px){
	body.sm-single-property-live{
		padding-bottom:0;
		background:linear-gradient(180deg,#edf9f6 0,#f8fbfa 760px,#fff 1450px);
	}

	body.sm-single-property-live.sm-property-has-dock{
		padding-bottom:calc(76px + env(safe-area-inset-bottom));
	}

	body.sm-single-property-live .ppc-ui.ppc-ui-single{
		width:100%;
		max-width:100%;
		padding:10px 10px 22px!important;
		overflow:clip;
	}

	/* Compact breadcrumb: the H1 already carries the complete property title. */
	body.sm-single-property-live .ppc-ui-single>.ppc-ui-breadcrumb{
		display:flex;
		min-height:44px;
		align-items:center;
		gap:7px;
		margin:0 0 10px;
		padding:8px 11px;
		overflow:hidden;
		border:1px solid rgba(205,225,219,.88);
		border-radius:13px;
		background:rgba(255,255,255,.82);
		box-shadow:0 10px 28px -24px rgba(17,73,61,.5);
		white-space:nowrap;
		-webkit-backdrop-filter:blur(12px);
		backdrop-filter:blur(12px);
	}
	body.sm-single-property-live .ppc-ui-single>.ppc-ui-breadcrumb b,
	body.sm-single-property-live .ppc-ui-single>.ppc-ui-breadcrumb span:last-of-type{display:none}
	body.sm-single-property-live .ppc-ui-single>.ppc-ui-breadcrumb a{
		overflow:hidden;
		font-size:12px;
		font-weight:800;
		text-overflow:ellipsis;
		white-space:nowrap;
	}
	body.sm-single-property-live .ppc-ui-single>.ppc-ui-breadcrumb .ppc-ui-icon{
		width:18px;
		height:18px;
		flex:0 0 18px;
	}

	body.sm-single-property-live .ppc-ui-single-layout{
		display:flex!important;
		align-items:stretch;
		flex-direction:column;
	}
	body.sm-single-property-live .ppc-ui-single-layout main{order:1;width:100%}
	body.sm-single-property-live .ppc-ui-single-layout>.ppc-ui-contact-card{order:2;width:100%}

	/* Property identity card. */
	body.sm-single-property-live .ppc-ui-single__head{
		display:grid!important;
		grid-template-columns:1fr!important;
		gap:11px!important;
		margin:0 0 10px!important;
		padding:14px!important;
		border:1px solid rgba(204,225,218,.92)!important;
		border-radius:17px!important;
		background:linear-gradient(145deg,rgba(255,255,255,.96),rgba(248,253,251,.88))!important;
		box-shadow:0 18px 40px -32px rgba(11,75,61,.55)!important;
	}
	body.sm-single-property-live .ppc-ui-single__head>div:first-child{
		display:grid;
		grid-template-areas:"deal location" "title title";
		grid-template-columns:auto minmax(0,1fr);
		align-items:center;
		gap:8px 10px;
		min-width:0;
	}
	body.sm-single-property-live .ppc-ui-single__head .ppc-ui-card__deal{
		grid-area:deal;
		justify-self:start;
		min-height:32px;
		align-items:center;
		padding:5px 10px;
		border-radius:10px;
		font-size:11px;
	}
	body.sm-single-property-live .ppc-ui-single__head h1{
		display:-webkit-box;
		grid-area:title;
		margin:0!important;
		overflow:hidden;
		color:var(--sm-property-ink);
		font-size:clamp(20px,6vw,24px)!important;
		font-weight:950;
		line-height:1.65!important;
		letter-spacing:-.25px;
		-webkit-box-orient:vertical;
		-webkit-line-clamp:2;
	}
	body.sm-single-property-live .ppc-ui-single__head .ppc-ui-card__location{
		grid-area:location;
		justify-self:end;
		min-width:0;
		overflow:hidden;
		color:var(--sm-property-muted);
		font-size:12px;
		font-weight:750;
		text-overflow:ellipsis;
		white-space:nowrap;
	}
	body.sm-single-property-live .ppc-ui-single__head .ppc-ui-card__location .ppc-ui-icon{
		width:18px;
		height:18px;
	}
	body.sm-single-property-live .ppc-ui-single__actions{
		display:grid!important;
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
		gap:8px!important;
		width:100%!important;
	}
	body.sm-single-property-live .ppc-ui-single__actions>*{min-width:0!important}
	body.sm-single-property-live .ppc-ui-single__actions .ppe-favorite-button button,
	body.sm-single-property-live .ppc-ui-single__actions .ppe-favorite-button.is-login,
	body.sm-single-property-live .ppc-ui-single__actions .ppc-ui-share{
		display:flex!important;
		width:100%!important;
		min-width:0!important;
		height:46px!important;
		min-height:46px!important;
		align-items:center!important;
		justify-content:center!important;
		gap:7px!important;
		padding:0 9px!important;
		border-radius:12px!important;
	}
	body.sm-single-property-live .ppc-ui-single__actions .ppe-favorite-button b,
	body.sm-single-property-live .ppc-ui-single__actions .ppc-ui-share__label{
		display:inline!important;
		font-size:12px!important;
		font-weight:850!important;
		white-space:nowrap;
	}
	body.sm-single-property-live .ppc-ui-single__actions .ppe-favorite-button button span{font-size:21px!important}

	/* Price remains visible near the top; the final CTA remains reachable. */
	.sm-property-mobile-price{
		display:grid;
		grid-template-columns:minmax(0,1fr) auto;
		align-items:center;
		gap:10px;
		margin:0 0 10px;
		padding:12px 14px;
		border:1px solid rgba(167,216,203,.9);
		border-radius:16px;
		background:linear-gradient(135deg,rgba(233,249,244,.95),rgba(255,255,255,.94));
		box-shadow:0 16px 34px -28px rgba(7,107,90,.65);
	}
	.sm-property-mobile-price small,
	.sm-property-mobile-price strong,
	.sm-property-mobile-price span{display:block}
	.sm-property-mobile-price small{color:var(--sm-property-muted);font-size:11px;font-weight:750}
	.sm-property-mobile-price strong{
		margin-top:2px;
		color:var(--sm-property-primary-dark);
		font-size:clamp(17px,5.1vw,21px);
		font-weight:950;
		line-height:1.5;
		font-variant-numeric:tabular-nums;
	}
	.sm-property-mobile-price span{
		grid-column:1/-1;
		padding-top:7px;
		border-top:1px dashed rgba(113,166,152,.42);
		color:#536b64;
		font-size:11px;
		font-weight:700;
	}

	/* Compact, touch-friendly gallery. */
	body.sm-single-property-live .ppc-ui-gallery{
		margin:0 0 10px;
		padding:8px!important;
		border-radius:17px!important;
		box-shadow:0 16px 38px -33px rgba(12,66,55,.5);
	}
	body.sm-single-property-live .ppc-ui-gallery__main{
		height:auto!important;
		aspect-ratio:4/3;
		border-radius:10px!important;
		background:#edf5f2;
	}
	body.sm-single-property-live .ppc-ui-gallery__main img{
		display:block!important;
		width:100%!important;
		height:100%!important;
		max-height:none!important;
		object-fit:cover!important;
		border-radius:10px!important;
	}
	body.sm-single-property-live .ppc-ui-gallery__thumbs{
		display:flex!important;
		grid-template-columns:none!important;
		gap:7px!important;
		margin-top:8px!important;
		padding:0 0 2px;
		overflow-x:auto;
		overflow-y:hidden;
		overscroll-behavior-inline:contain;
		scroll-snap-type:x proximity;
		scrollbar-width:none;
		-webkit-overflow-scrolling:touch;
	}
	body.sm-single-property-live .ppc-ui-gallery__thumbs::-webkit-scrollbar{display:none}
	body.sm-single-property-live .ppc-ui-gallery__thumbs button{
		width:66px!important;
		height:54px!important;
		min-width:66px!important;
		flex:0 0 66px;
		border-radius:9px!important;
		scroll-snap-align:start;
	}

	/* Five essential facts fit in two short rows even on a 320px viewport. */
	body.sm-single-property-live .ppc-ui-summary{
		display:grid!important;
		grid-template-columns:repeat(3,minmax(0,1fr))!important;
		gap:6px!important;
		margin:0 0 10px!important;
		padding:8px!important;
		border-radius:16px!important;
	}
	body.sm-single-property-live .ppc-ui-summary>div,
	body.sm-single-property-live .ppc-ui-summary__item{
		display:grid!important;
		grid-template-columns:18px minmax(0,1fr);
		min-height:70px!important;
		align-content:center;
		align-items:center;
		gap:5px!important;
		padding:7px!important;
		border:1px solid #e7f0ed!important;
		border-radius:11px!important;
		background:#fbfefd!important;
	}
	body.sm-single-property-live .ppc-ui-summary .ppc-ui-icon{width:18px!important;height:18px!important}
	body.sm-single-property-live .ppc-ui-summary span{gap:1px!important}
	body.sm-single-property-live .ppc-ui-summary small{font-size:10.5px!important;line-height:1.45!important}
	body.sm-single-property-live .ppc-ui-summary b{font-size:12.5px!important;line-height:1.5!important}

	/* Shared section density. */
	body.sm-single-property-live main>.ppc-ui-section{
		margin:0 0 10px!important;
		padding:13px!important;
		border-radius:16px!important;
		box-shadow:0 15px 34px -32px rgba(13,72,59,.38);
	}
	body.sm-single-property-live main>.ppc-ui-section h2{
		margin:0!important;
		color:var(--sm-property-ink);
		font-size:17px!important;
		font-weight:950;
		line-height:1.65;
	}

	.sm-property-section-toggle,
	.sm-property-description-toggle{
		display:flex;
		width:100%;
		min-height:44px;
		align-items:center;
		justify-content:space-between;
		gap:10px;
		margin:10px 0 0;
		padding:8px 11px;
		border:1px solid #d4e7e1;
		border-radius:11px;
		background:#f7fcfa;
		color:var(--sm-property-primary-dark);
		font:inherit;
		font-size:12px;
		font-weight:900;
		cursor:pointer;
	}
	.sm-property-section-toggle::after,
	.sm-property-description-toggle::after{
		content:"+";
		display:grid;
		width:24px;
		height:24px;
		place-items:center;
		border-radius:8px;
		background:#e5f5f0;
		font-size:18px;
		line-height:1;
	}
	.sm-property-collapsible.is-open .sm-property-section-toggle::after,
	.sm-property-description-section.is-open .sm-property-description-toggle::after{content:"−"}
	.sm-property-collapsible__content[hidden]{display:none!important}

	body.sm-single-property-live .ppc-ui-field-grid--single{
		grid-template-columns:repeat(2,minmax(0,1fr))!important;
		gap:7px!important;
		margin-top:10px;
	}
	body.sm-single-property-live .ppc-ui-field-grid--single .ppc-ui-field{
		min-height:76px!important;
		align-items:center!important;
		gap:7px!important;
		padding:8px!important;
	}
	body.sm-single-property-live .ppc-ui-field-grid--single .ppc-ui-field>.ppc-ui-icon{width:19px!important;height:19px!important}
	body.sm-single-property-live .ppc-ui-field-grid--single .ppc-ui-field small{font-size:11px!important;line-height:1.45!important}
	body.sm-single-property-live .ppc-ui-field-grid--single .ppc-ui-field b{font-size:13.5px!important;line-height:1.5!important}

	/* Feature chips stay on a single horizontal track. */
	body.sm-single-property-live .ppc-ui-section:has(.ppc-ui-features){padding-bottom:10px!important}
	body.sm-single-property-live .ppc-ui-features{
		display:flex!important;
		flex-wrap:nowrap!important;
		gap:7px!important;
		margin-top:10px;
		padding-bottom:2px;
		overflow-x:auto;
		overflow-y:hidden;
		scroll-snap-type:x proximity;
		scrollbar-width:none;
		-webkit-overflow-scrolling:touch;
	}
	body.sm-single-property-live .ppc-ui-features::-webkit-scrollbar{display:none}
	body.sm-single-property-live .ppc-ui-features span{
		min-height:40px;
		flex:0 0 auto;
		padding:7px 10px!important;
		font-size:12px!important;
		white-space:nowrap;
		scroll-snap-align:start;
	}

	body.sm-single-property-live .ppc-ui-description{
		margin-top:9px;
		color:#536963;
		font-size:13.5px!important;
		line-height:2!important;
	}
	body.sm-single-property-live .ppc-ui-description p:first-child{margin-top:0}
	body.sm-single-property-live .ppc-ui-description p:last-child{margin-bottom:0}
	.sm-property-description-section:not(.is-open) .ppc-ui-description.is-collapsible{
		display:-webkit-box;
		overflow:hidden;
		-webkit-box-orient:vertical;
		-webkit-line-clamp:4;
	}

	/* Useful preview without a 300–400px map block. */
	body.sm-single-property-live .ppc-ui-map-section__head{
		display:grid!important;
		grid-template-columns:minmax(0,1fr) auto;
		align-items:center!important;
		gap:9px!important;
		margin-bottom:10px!important;
	}
	body.sm-single-property-live .ppc-ui-map-section__head p{
		display:-webkit-box;
		margin:4px 0 0!important;
		overflow:hidden;
		font-size:11px!important;
		line-height:1.7!important;
		-webkit-box-orient:vertical;
		-webkit-line-clamp:1;
	}
	body.sm-single-property-live .ppc-ui-map-section__head a{
		min-height:44px!important;
		padding:7px 10px!important;
		font-size:11px!important;
	}
	body.sm-single-property-live .ppc-ui-map{
		height:190px!important;
		min-height:190px!important;
		border-radius:11px!important;
	}

	/* Comments are removed server-side; this is a cache-safe fallback. */
	body.sm-single-property-live .ppc-ui-comments{display:none!important}

	/* The desktop contact module becomes a compact trust card on mobile. */
	body.sm-single-property-live .ppc-ui-contact-card{
		display:grid!important;
		grid-template-columns:1fr!important;
		gap:0;
		margin:0!important;
		border-radius:16px!important;
		box-shadow:0 16px 36px -32px rgba(10,69,57,.45)!important;
	}
	body.sm-single-property-live .ppc-ui-contact-card>.ppc-ui-contact-card__price,
	body.sm-single-property-live .ppc-ui-contact-card>.ppc-ui-contact-card__actions{display:none!important}
	body.sm-single-property-live .ppc-ui-advertiser{
		padding:13px!important;
		border:0!important;
		border-bottom:1px solid #e7efec!important;
	}
	body.sm-single-property-live .ppc-ui-advertiser h3,
	body.sm-single-property-live .ppc-ui-safety h3{margin:0 0 8px!important;font-size:13px!important}
	body.sm-single-property-live .ppc-ui-advertiser>div{gap:8px!important}
	body.sm-single-property-live .ppc-ui-advertiser img{width:44px;height:44px}
	body.sm-single-property-live .ppc-ui-advertiser b{font-size:13px}
	body.sm-single-property-live .ppc-ui-advertiser small{font-size:10px}
	body.sm-single-property-live .ppc-ui-safety{
		margin:10px!important;
		padding:11px!important;
		border:1px solid #e2eeea;
		border-radius:11px!important;
	}
	body.sm-single-property-live .ppc-ui-safety p{font-size:11px!important;line-height:1.8!important}

	.sm-property-dock{
		position:fixed;
		right:10px;
		bottom:max(8px,env(safe-area-inset-bottom));
		left:10px;
		z-index:99970;
		display:grid;
		grid-template-columns:minmax(0,1fr);
		align-items:center;
		padding:7px;
		border:1px solid rgba(255,255,255,.72);
		border-radius:17px;
		background:rgba(248,253,251,.9);
		box-shadow:0 18px 46px rgba(6,49,41,.22);
		-webkit-backdrop-filter:blur(18px) saturate(145%);
		backdrop-filter:blur(18px) saturate(145%);
	}
	.sm-property-dock .ppc-ui-btn{
		width:100%;
		min-height:50px!important;
		border-radius:12px!important;
		font-size:13px!important;
	}
	body.sm-menu-open .sm-property-dock{opacity:0;pointer-events:none}
}

@media(max-width:359px){
	body.sm-single-property-live .ppc-ui-summary>div,
	body.sm-single-property-live .ppc-ui-summary__item{min-height:66px!important}
	body.sm-single-property-live .ppc-ui-single__head{padding:12px!important}
	body.sm-single-property-live .ppc-ui-single__actions .ppe-favorite-button b,
	body.sm-single-property-live .ppc-ui-single__actions .ppc-ui-share__label{font-size:11px!important}
}

@media(min-width:681px){
	.sm-property-lightbox__stage{padding:72px 80px}
}

@media(prefers-reduced-motion:reduce){
	body.sm-single-property-live *,
	body.sm-single-property-live *::before,
	body.sm-single-property-live *::after{
		scroll-behavior:auto!important;
		transition-duration:.01ms!important;
		animation-duration:.01ms!important;
		animation-iteration-count:1!important;
	}
}
