.property-gallery {
	background: var(--wp--preset--color--surface);
	padding-block: var(--wp--custom--layout--section-space);
	overflow: hidden;
}
.property-gallery__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
}
.property-gallery__heading {
	margin: 0 0 var(--wp--preset--spacing--r-48);
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 500;
	font-size: var(--wp--preset--font-size--r-48);
	line-height: 1.2;
	letter-spacing: -0.03em;
	color: var(--wp--preset--color--contrast);
	text-align: center;
}

/* Coverflow */
.property-gallery__carousel { width: 100%; position: relative; }
.property-gallery__viewport { width: 100%; overflow: hidden; }

/* Навигация — стрелки-круги (зелёный аутлайн) + точки В РЯД по центру (Figma 188:971). */
.property-gallery__controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--wp--preset--spacing--r-24);
	margin-top: var(--wp--preset--spacing--r-40);
}
.property-gallery__nav {
	flex: 0 0 auto;
	width: 48px;
	height: 48px;
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
	display: grid;
	place-items: center;
	transition: background var(--wp--custom--transition--fast);
}
.property-gallery__nav::before {
	content: "";
	width: 10px;
	height: 10px;
	border-top: 2px solid var(--wp--preset--color--primary);
	border-right: 2px solid var(--wp--preset--color--primary);
	transition: border-color var(--wp--custom--transition--fast);
}
.property-gallery__nav--prev::before { transform: rotate(-135deg); margin-left: 4px; }
.property-gallery__nav--next::before { transform: rotate(45deg); margin-right: 4px; }
.property-gallery__nav:hover { background: var(--wp--preset--color--primary); }
.property-gallery__nav:hover::before { border-color: var(--wp--preset--color--on-dark); }
.property-gallery__track {
	display: flex;
	gap: 30px;
	align-items: center;
	transition: transform var(--wp--custom--transition--base);
	will-change: transform;
	cursor: grab;
}
.property-gallery__carousel.is-dragging .property-gallery__track {
	transition: none;
	cursor: grabbing;
}
.property-gallery__slide {
	flex: 0 0 min(796px, 84vw);
	margin: 0;
	aspect-ratio: 796 / 528;
	opacity: 0.5;
	transform: scale(0.886);
	transition: opacity var(--wp--custom--transition--base), transform var(--wp--custom--transition--base);
	background: var(--wp--preset--color--placeholder);
	border-radius: var(--wp--custom--radius--lg, 24px);
	overflow: hidden;
}
.property-gallery__slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	/* Защита от клика/сохранения изображения; drag карусели (на треке) работает. */
	pointer-events: none;
	user-select: none;
	-webkit-user-drag: none;
}
.property-gallery__slide.is-active { opacity: 1; transform: scale(1); }

/* Единственное изображение объекта: карусели нет (RbCarousel требует ≥2 слайда),
 * поэтому центрируем слайд и показываем его как активный — без приглушения и масштаба. */
.property-gallery__track:has(.property-gallery__slide:only-child) { justify-content: center; }
.property-gallery__slide:only-child { opacity: 1; transform: scale(1); }

.property-gallery__dots {
	display: flex;
	gap: 12px;
	align-items: center;
	justify-content: center;
}
.property-gallery__dots button {
	width: 8px;
	height: 8px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: var(--wp--preset--color--placeholder);
	cursor: pointer;
	transition: background var(--wp--custom--transition--fast);
}
.property-gallery__dots button[aria-current="true"] {
	background: var(--wp--preset--color--primary);
}

@media (max-width: 600px) {
	.property-gallery__heading { font-size: var(--wp--preset--font-size--r-40); }
	.property-gallery__slide { flex-basis: 88vw; transform: scale(1); opacity: 1; }
}
