/* Best Choice Realtors — single property listing layout
   Targets the markup produced by avada-child/easypropertylistings/content-listing-single.php
*/

/* Site-wide: Avada always reserves a slider bar in the header even when no
   slider is assigned, which shows as an empty strip with border lines.
   Hide it only while it's genuinely empty — if a real slider is ever added
   to a page, it inserts actual elements here and this rule stops applying. */
#sliders-container:not(:has(*)) {
	display: none;
}

/* Same idea: the previous/next post navigation bar on single posts/properties
   renders its top/bottom border lines even with no links inside (e.g. when
   there's only one property). Hide only when it has no actual links — once
   there are other properties to link between, this stops applying. */
.single-navigation:not(:has(a)) {
	display: none;
}

.bcr-property {
	max-width: 1140px;
	margin: 0 auto;
	padding: 30px 20px 60px;
}

/* ---------- Hero gallery: full-width slider ---------- */

.bcr-hero-gallery .epl-gallery,
.bcr-hero-gallery .epl-gallery-entry {
	margin: 0;
}

.bcr-hero-gallery .gallery {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
	margin: 0 0 32px !important;
	aspect-ratio: 16 / 9;
	background: #111;
}

.bcr-slider-track {
	display: flex;
	height: 100%;
	transition: transform 0.45s ease;
}

.bcr-hero-gallery .gallery-item {
	flex: 0 0 100%;
	max-width: 100%;
	height: 100%;
	margin: 0 !important;
}

.bcr-hero-gallery .gallery-icon,
.bcr-hero-gallery .gallery-icon a {
	display: block;
	height: 100%;
}

.bcr-hero-gallery .gallery-icon img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	border-radius: 0;
}

.bcr-hero-gallery .gallery-caption { display: none; }

.bcr-slider-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 42px;
	height: 42px;
	border-radius: 50%;
	border: none;
	background: rgba(0, 0, 0, 0.45);
	color: #fff;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
	transition: background 0.2s ease;
}
.bcr-slider-arrow:hover { background: rgba(0, 0, 0, 0.7); }
.bcr-slider-prev { left: 16px; }
.bcr-slider-next { right: 16px; }

.bcr-slider-dots {
	position: absolute;
	bottom: 14px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	gap: 8px;
	z-index: 2;
}
.bcr-slider-dot {
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.5);
	border: none;
	padding: 0;
	cursor: pointer;
}
.bcr-slider-dot.is-active { background: #fff; }

.bcr-slider-count {
	position: absolute;
	top: 14px;
	right: 16px;
	background: rgba(0, 0, 0, 0.45);
	color: #fff;
	font-size: 12px;
	padding: 4px 10px;
	border-radius: 20px;
	z-index: 2;
	font-variant-numeric: tabular-nums;
}

@media (max-width: 560px) {
	.bcr-hero-gallery .gallery { aspect-ratio: 4 / 3; }
	.bcr-slider-arrow { width: 34px; height: 34px; font-size: 15px; }
}

/* ---------- Header bar: title / address / price ---------- */

.bcr-header-bar {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 24px;
	flex-wrap: wrap;
	padding-bottom: 20px;
	border-bottom: 1px solid rgba(0,0,0,0.08);
	margin-bottom: 20px;
}

.bcr-header-main { flex: 1 1 320px; }

.bcr-title {
	font-size: 30px;
	line-height: 1.2;
	margin: 0 0 8px;
}

.bcr-address { font-size: 15px; opacity: 0.75; }

.bcr-header-price {
	flex: 0 0 auto;
	text-align: right;
}

.bcr-price {
	font-size: 28px;
	font-weight: 700;
	white-space: nowrap;
}

@media (max-width: 560px) {
	.bcr-header-price { text-align: left; }
}

/* ---------- Quick facts row ---------- */

.bcr-quick-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 28px;
	padding: 16px 0;
	margin-bottom: 8px;
	font-size: 15px;
}

.bcr-quick-facts i {
	margin-right: 6px;
	opacity: 0.7;
}

.bcr-actions {
	margin: 18px 0 36px;
}

/* ---------- Content sections ---------- */

.bcr-sections {
	display: flex;
	flex-direction: column;
	gap: 44px;
}

.bcr-section-title {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	opacity: 0.6;
	margin: 0 0 16px;
}

.bcr-hidden-heading:empty { display: none; }

.bcr-section-description .bcr-section-body {
	font-size: 16px;
	line-height: 1.7;
}

/* Feature list -> icon grid */

.bcr-section-features ul {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.bcr-section-features li {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 12px 16px;
	background: rgba(0,0,0,0.035);
	border-radius: 8px;
	font-size: 14.5px;
}

.bcr-section-features li::before {
	content: "\2713";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 20px;
	border-radius: 50%;
	background: rgba(0,0,0,0.08);
	font-size: 11px;
	flex-shrink: 0;
}

/* Video */

.bcr-video-wrap iframe,
.bcr-video-wrap video {
	width: 100%;
	aspect-ratio: 16 / 9;
	height: auto;
	border-radius: 10px;
	display: block;
}

/* Map */

.bcr-section-map iframe,
.bcr-section-map .epl-map {
	width: 100%;
	border-radius: 10px;
	overflow: hidden;
}

/* Agent card */

.bcr-section-agent {
	padding: 24px;
	background: rgba(0,0,0,0.03);
	border-radius: 12px;
}

.bcr-section-agent img.avatar {
	border-radius: 50%;
}
