/**
 * Featured Listings de la home: carrusel «pin» (el scroll vertical mueve las 6 fichas
 * en horizontal) + filtro rápido por zona.
 * Excepción aprobada por Sergio el 21/10/2026, mismo criterio que header-scroll:
 * Elementor no tiene control nativo para sticky CSS ni para scroll horizontal guiado,
 * y el HTML de las fichas lo genera Flexmls (no tiene controles de estilo en Elementor).
 *
 * Ganchos (Avanzado → Clases CSS en Elementor):
 *   .pm-listings-pin     sección (su alto lo fija el JS)
 *   .pm-listings-sticky  contenedor que se queda fijo mientras dura el recorrido
 *   .pm-listings-track   widget Photos de Flexmls (6×1)
 *   .pm-filter           botones All / La Ventana / El Sargento
 */

.pm-listings-pin {
	position: relative;
}

.pm-listings-sticky {
	position: sticky;
	top: 0;
	height: 100vh;
}

/* 6 fichas de 404px + 5 huecos de 24px, alineadas con el contenido de 1180px. */
.e-con > .pm-listings-track.elementor-element {
	width: calc(6 * 404px + 5 * 24px) !important;
	max-width: none !important;
	margin-left: max(0px, calc((100vw - 1180px) / 2 - 44px));
	will-change: transform;
}

/* La caja del plugin recorta lo que sobresale: aquí tiene que dejar ver toda la fila. */
.pm-listings-track .flexmls_connect__container,
.pm-listings-track .flexmls_connect__slides,
.pm-listings-track .flexmls_connect__slide_page {
	overflow: visible !important;
	width: auto !important;
	height: auto !important;
}

/* Chrome del plugin que sobra en el carrusel (contador y paginación propia). */
.pm-listings-track .flexmls_connect__count,
.pm-listings-track .flexmls_connect__carousel_nav {
	display: none;
}

.pm-listings-track .flexmls_connect__slide_row {
	display: flex;
	gap: 24px;
}
.pm-listings-track .flexmls_connect__slide_row::before,
.pm-listings-track .flexmls_connect__slide_row::after {
	display: none;
}

.pm-listings-track .flexmls_connect__listing {
	flex: 0 0 404px;
	width: 404px !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	text-align: left;
}

.pm-listings-track .flexmls_connect__slideshow_image {
	display: block;
	width: 100% !important;
	/* 511px como el boceto, pero que la ficha entera quepa en la pantalla fija
	   (cabecera de la sección + pie de la ficha ≈ 470px). */
	height: clamp(240px, calc(100vh - 520px), 511px) !important;
	max-width: none !important;
	object-fit: cover;
}

.pm-listings-track .flexmls_connect__listing .caption {
	margin-top: 16px;
	font-family: var(--e-global-typography-text-font-family, "Archivo"), sans-serif;
	font-size: 13px;
	line-height: 1.5;
	color: var(--e-global-color-primary, #16304A);
	text-align: left;
}

/* Precio (texto del enlace) y descripción (<small>) más grandes: petición de Sergio, 21/10/2026. */
.pm-listings-track .flexmls_connect__listing .caption a {
	font-size: 22px;
	font-weight: 600;
	line-height: 1.3;
	color: var(--e-global-color-primary, #16304A);
	text-decoration: none;
}

.pm-listings-track .flexmls_connect__listing .caption small {
	display: block;
	margin-top: 6px;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.45;
}

/* Filtro rápido */
.pm-listings-track .flexmls_connect__listing.pm-oculta {
	display: none !important;
}

.pm-filter.is-active .elementor-button {
	background-color: var(--e-global-color-primary, #16304A) !important;
	border-color: var(--e-global-color-primary, #16304A) !important;
	color: #fff !important;
}

/* Móvil: fichas al 78% del ancho (como el HTML). */
@media (max-width: 640px) {
	.e-con > .pm-listings-track.elementor-element {
		width: calc(6 * 78vw + 5 * 24px) !important;
		margin-left: 0;
	}
	.pm-listings-track .flexmls_connect__listing {
		flex-basis: 78vw;
		width: 78vw !important;
	}
	.pm-listings-track .flexmls_connect__slideshow_image {
		/* En móvil la cabecera ocupa más (título + filtros apilados). */
		height: clamp(200px, calc(100vh - 600px), 511px) !important;
	}
}

/* Sin animación: sin pin, scroll horizontal normal. */
@media (prefers-reduced-motion: reduce) {
	.pm-listings-pin {
		height: auto !important;
	}
	.pm-listings-sticky {
		position: static;
		height: auto;
		overflow-x: auto;
	}
	.pm-listings-track.elementor-element {
		transform: none !important;
	}
}
