/* Nestermind property detail — layout + gallery.
   Intentionally scoped under #nm-property and reuses onOffice oo-* hooks so the site's
   existing custom SCSS (rounded corners, table styling) continues to apply. */

#nm-property {
	max-width: 1200px;
	margin: 0 auto;
	padding: 1.5rem 1rem 3rem;
	font-family: inherit;
}

/* Gallery */
#nm-property .nm-gallery {
	position: relative;
	border-radius: 15px;
	overflow: hidden;
	background: #0d0d0d;
	margin-bottom: 2rem;
}
#nm-property .nm-gallery-main {
	position: relative;
}
/* Robust: the active slide is a normal in-flow block image. No absolute positioning
   and no aspect-ratio, so the container can never collapse to zero height. */
#nm-property .nm-slide {
	display: none;
	margin: 0;
}
#nm-property .nm-slide.is-active {
	display: block;
}
#nm-property .nm-slide img {
	width: 100%;
	height: auto;
	max-height: 72vh;
	object-fit: cover;
	display: block;
	background: #0d0d0d;
}
#nm-property .nm-gallery-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 46px;
	height: 46px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .9);
	color: #333;
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
	z-index: 2;
}
#nm-property .nm-prev { left: 14px; }
#nm-property .nm-next { right: 14px; }
#nm-property .nm-gallery-nav:hover { background: #fff; }
#nm-property .nm-gallery-count {
	position: absolute;
	bottom: 14px;
	right: 16px;
	padding: 3px 10px;
	border-radius: 20px;
	background: rgba(0, 0, 0, .6);
	color: #fff;
	font-size: 13px;
	z-index: 2;
}

/* Layout */
#nm-property .nm-layout {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(260px, 1fr);
	gap: 2.5rem;
	align-items: start;
}
@media (max-width: 860px) {
	#nm-property .nm-layout { grid-template-columns: 1fr; }
}

#nm-property .nm-price {
	font-size: 1.8rem;
	font-weight: 700;
	color: #6D7A5F;
	margin: .5rem 0 0;
}
#nm-property .nm-price .nm-interval { font-size: 1rem; font-weight: 400; color: #666; }
#nm-property .nm-location { color: #555; margin: .25rem 0; }

#nm-property .nm-facts { background: #f9fafa; margin: 2rem 0; padding: 1.5rem 2rem; border-radius: 15px; }
#nm-property .nm-facts table { width: 100%; border-collapse: collapse; }
#nm-property .nm-facts td { padding: .55rem 0; border-bottom: 1px solid #ececec; }
#nm-property .nm-fact-label { color: #777; }
#nm-property .nm-fact-value { text-align: right; font-weight: 600; }

#nm-property .nm-description { line-height: 1.7; margin: 2rem 0; }
#nm-property .nm-features-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: .4rem .8rem;
}
#nm-property .nm-features-list li { color: #444; }

#nm-property .nm-sidebar { position: sticky; top: 90px; }
#nm-property .nm-agent-card {
	background: #f9fafa;
	border-radius: 15px;
	padding: 1.5rem;
}
#nm-property .nm-cta {
	display: inline-block;
	margin-top: 1rem;
	padding: .7rem 1.4rem;
	border-radius: 8px;
	background: #6D7A5F;
	color: #fff;
	text-decoration: none;
	font-weight: 600;
}
#nm-property .nm-cta:hover { background: #54595f; }
#nm-property h2 { font-size: 1.25rem; margin: 2rem 0 .8rem; }
#nm-property .nm-agent-card h2 { margin-top: 0; }

/* Status badges (Verkauft / Reserviert) */
#nm-property .nm-gallery { position: relative; }
#nm-property .nm-status-badge {
	position: absolute;
	top: 18px;
	left: 18px;
	z-index: 3;
	padding: .5rem 1.1rem;
	border-radius: 8px;
	font-weight: 700;
	font-size: 1rem;
	letter-spacing: .06em;
	color: #fff;
	box-shadow: 0 2px 8px rgba(0,0,0,.25);
}
#nm-property .nm-badge-sold { background: #c0392b; }
#nm-property .nm-badge-reserved { background: #d98a00; }
#nm-property .nm-gallery.is-sold .nm-slide img { filter: saturate(.85); }
#nm-property .nm-price-sold { color: #c0392b; }
#nm-property .nm-inline-badge {
	display: inline-block;
	margin-left: .6rem;
	padding: .15rem .6rem;
	border-radius: 6px;
	background: #d98a00;
	color: #fff;
	font-size: .9rem;
	font-weight: 600;
	vertical-align: middle;
}
#nm-property .nm-sold-note { color: #c0392b; font-weight: 600; margin: .5rem 0; }
