/* Andrade Kestrel V10 | Versión actual: 0.9.37 */


/* ==================================================================
   AJUSTES GLOBALES DEL HEADER — EDITAR AQUÍ
   ==================================================================

   Distribución restaurada:
   - "Andrade Real Estate Team" alineado a la izquierda.
   - Teléfono .r_ alineado a la derecha.
   - Ambos ocupan la misma línea visual del header secundario.
*/
:root {
	--areg-header-logo-desktop-width: 240px;
	--areg-header-logo-mobile-width: 195px;
	--areg-header-logo-small-mobile-width: 175px;

	/*
	 * Ancho máximo del contenido principal de Avada.
	 * El render actual del sitio utiliza 1100px.
	 */
	--areg-header-content-max-width: 1100px;
}

/*
 * Los contenedores de Avada deben ocupar todo el ancho para que float:right
 * lleve el botón de teléfono hasta el extremo derecho.
 */
/*
 * La fila superior se centra y utiliza el mismo ancho máximo del contenido
 * principal. Así el texto coincide con el borde izquierdo del logotipo y
 * el teléfono coincide con el borde derecho del menú/header.
 */
.fusion-secondary-header > .fusion-row {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: var(--areg-header-content-max-width) !important;
	margin-right: auto !important;
	margin-left: auto !important;
}

/*
 * Los contenedores internos sí ocupan toda la fila centrada, no todo el
 * ancho físico de la pantalla.
 */
.fusion-secondary-header .fusion-alignleft,
.fusion-secondary-header .fusion-contact-info {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
}

.fusion-secondary-header .fusion-alignleft {
	float: none !important;
	display: block !important;
}

/*
 * Grid estable: texto a la izquierda y teléfono a la derecha.
 *
 * No requiere cambiar el HTML de Avada. Los dos hijos directos actuales
 * (#cont_ .t_ y #cont_ .r_) se convierten en las dos columnas.
 */
#cont_ {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto !important;
	align-items: center !important;
	column-gap: 12px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-height: 38px !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
	overflow: visible !important;
}

/* Texto izquierdo centrado verticalmente por el Grid. */
#cont_ .t_ {
	float: none !important;
	display: block !important;
	align-self: center !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	line-height: 1.25 !important;
	vertical-align: baseline !important;
	color: #333333 !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	text-align: left !important;
}

/* Botón derecho centrado verticalmente por el mismo Grid. */
#cont_ .r_ {
	float: none !important;
	display: inline-block !important;
	align-self: center !important;
	justify-self: end !important;
	box-sizing: border-box !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding-top: 3px !important;
	padding-right: 13px !important;
	padding-bottom: 3px !important;
	padding-left: 13px !important;
	border-radius: 3px !important;
	background: #9d072b !important;
	color: #ffffff !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 20px !important;
	text-align: center !important;
	vertical-align: baseline !important;
	white-space: nowrap !important;
}

/* Logo normal y logo móvil de Avada. */
.fusion-logo-link img,
.fusion-logo-link img.fusion-standard-logo,
.fusion-logo-link img.fusion-mobile-logo {
	box-sizing: border-box !important;
	width: auto !important;
	max-width: var(--areg-header-logo-desktop-width) !important;
	height: auto !important;
}

/*
 * Ocultar solamente el selector flotante de TranslatePress.
 * El sistema de traducciones permanece activo.
 */
#trp-floater-ls {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

@media (max-width: 460px) {
	.fusion-logo-link img,
	.fusion-logo-link img.fusion-standard-logo,
	.fusion-logo-link img.fusion-mobile-logo {
		width: auto !important;
		max-width: var(--areg-header-logo-mobile-width) !important;
		height: auto !important;
		max-height: none !important;
	}
}

@media (max-width: 396px) {
	#cont_ {
		column-gap: 8px !important;
	}

	/*
	 * En pantallas muy estrechas el texto puede usar dos líneas.
	 * El Grid mantiene ambos elementos centrados verticalmente.
	 */
	#cont_ .t_ {
		white-space: normal !important;
		overflow-wrap: anywhere !important;
	}

	#cont_ .r_ {
		padding-right: 10px !important;
		padding-left: 10px !important;
	}

	.fusion-logo-link img,
	.fusion-logo-link img.fusion-standard-logo,
	.fusion-logo-link img.fusion-mobile-logo {
		width: auto !important;
		max-width:
			var(--areg-header-logo-small-mobile-width) !important;
		height: auto !important;
		max-height: none !important;
	}
}


/* ==================================================================
   AJUSTES MANUALES DE ESPACIADO — EDITAR SOLO ESTE BLOQUE
   ==================================================================

   Cómo usarlo:
   - Reduce un valor para acercar dos secciones.
   - Aumenta un valor para separarlas.
   - Se pueden usar valores como 0px, 12px, 24px, 34px, 50px.
   - Para subir Mortgage Calculator, reduce:
       --areg-gap-after-similar
   - Para sacar más las flechas de Similar Listings, aumenta:
       --areg-similar-arrow-outset

   Estos valores están separados para que puedas ajustarlos uno por uno
   y después pasarme únicamente la lista final.
*/
.listing-section.areg-property-main {
	/* Espacio DESPUÉS de cada sección principal. */
	--areg-gap-after-gallery: 34px;
	--areg-gap-after-summary: 27px;
	--areg-gap-after-description: 14px;
	--areg-gap-after-open-house: 34px;
	--areg-gap-after-location: 36px;
	--areg-gap-after-satisfied: 34px;
	--areg-gap-after-features-summary: 36px;
	--areg-gap-after-property-details: 58px;

	/*
	 * Este valor controla el espacio entre Similar Listings
	 * y el título Mortgage Calculator. Se dejó más corto.
	 */
	--areg-gap-after-similar: 45px;

	--areg-gap-after-mortgage: 21px;
	--areg-gap-after-contact-agents: 4px;
	--areg-gap-after-footer: 0px;

	/*
	 * Ajuste vertical independiente. Acepta valores negativos.
	 * Para subir Mortgage Calculator, aumenta el valor negativo.
	 */
	--areg-top-adjust-description: 0px;
	--areg-top-adjust-location: 0px;
	--areg-top-adjust-satisfied: 0px;
	--areg-top-adjust-features-summary: 0px;
	--areg-top-adjust-property-details: 0px;
	--areg-top-adjust-similar: 0px;
	--areg-top-adjust-mortgage: -18px;
	--areg-top-adjust-contact-agents: 0px;
	--areg-top-adjust-footer: 0px;

	/*
	 * Espacio entre el precio principal y la línea de Beds / Baths / Sq Ft.
	 * Antes estaba fijo en 17px.
	 */
	--areg-summary-price-to-facts-gap: 10px;

	/* Texto del título de cada acordeón Property Details. */
	--areg-property-details-row-font-size: 18px;

	/* Texto interior de cada acordeón (.amweb). */
	--areg-property-details-content-font-size: 14px;

	/* Separación entre los dos agentes, ya sin línea divisoria. */
	--areg-contact-agent-gap: 28px;

	/*
	 * Barra lateral derecha en escritorio.
	 * parent-padding-top: padding del contenedor exterior.
	 * extra-top-adjust: corrección adicional respecto a la galería.
	 * sticky-top: distancia superior mientras está fija.
	 */
	--areg-sidebar-parent-padding-top: 0px;
	--areg-sidebar-extra-top-adjust: 0px;
	--areg-sidebar-sticky-top: 16px;

	/* Espacio entre cada TÍTULO y el contenido de su sección. */
	--areg-title-gap-description: -4px;
	--areg-title-gap-location: 20px;
	--areg-title-gap-satisfied: 16px;
	--areg-title-gap-features-summary: 18px;
	--areg-title-gap-property-details: 10px;
	--areg-title-gap-similar: -8px;
	--areg-title-gap-mortgage: -8px;
	--areg-title-gap-contact-agents: 16px;

	/* Espacio entre los cuatro botones Location y el panel activo. */
	--areg-gap-location-tabs-to-panel: 22px;

	/*
	 * Zoom-out inicial del mapa nativo.
	 * 0 = desactivado.
	 * 1 = más lejos.
	 * 1.5 = valor moderado predeterminado.
	 * 2 = todavía más amplio.
	 */
	--areg-native-map-zoom-out-levels: 3;

	/*
	 * Distancia horizontal de las flechas fuera del carrusel.
	 * 0px = sobre las tarjetas.
	 * 48px = prácticamente fuera de la alineación principal.
	 */
	--areg-similar-arrow-outset: 32px;

	/*
	 * Flechas de Similar Listings en celular.
	 * 21px es exactamente la mitad del botón móvil de 42px.
	 */
	--areg-similar-mobile-arrow-width: 42px;
	--areg-similar-mobile-arrow-height: 64px;
	--areg-similar-mobile-arrow-outset: 21px;
	--areg-similar-mobile-price-font-size: 18px;

	/*
	 * Contador de fotografías principal, por ejemplo 2/40.
	 * right y bottom controlan su posición sobre la imagen.
	 */
	--areg-gallery-counter-right: 20px;
	--areg-gallery-counter-bottom: 10px;
	--areg-gallery-counter-font-size: 14px;
}
/**
 * Andrade Kestrel V10 — Property Detail
 * Fase 2.0: resumen simple y Location con Google Maps.
 *
 * Alcance exclusivo:
 * .listing-section.areg-property-main
 *
 * No contiene reglas para .listing-sidebar.
 */

.listing-section.areg-property-main {
	--areg-color-primary: #9d072b;
	--areg-color-text: #111111;
	--areg-color-border: #ececec;

	display: flex !important;
	flex-direction: column !important;
	min-width: 0;
	width: 100%;
	color: var(--areg-color-text);
}

/* Orden visual sin mover los nodos nativos de React. */
.listing-section.areg-property-main > * {
	order: 100;
	min-width: 0;
}

.listing-section.areg-property-main > .areg-block--gallery {
	order: 10;
}

.listing-section.areg-property-main > .areg-property-summary {
	order: 20;
}

.listing-section.areg-property-main > .areg-block--header {
	order: 30;
}

.listing-section.areg-property-main > .areg-block--listing-number {
	order: 31;
}

.listing-section.areg-property-main > .areg-block--attributes {
	order: 32;
}

.listing-section.areg-property-main > .areg-block--description {
	order: 40;
}

.listing-section.areg-property-main > .areg-property-location {
	order: 50;
}

.listing-section.areg-property-main > .areg-block--schools {
	order: 51;
}

.listing-section.areg-property-main > .areg-block--walk-score {
	order: 52;
}

.listing-section.areg-property-main > .areg-block--open-house {
	order: 49;
}

.listing-section.areg-property-main > .areg-block--features {
	order: 70;
}

.listing-section.areg-property-main > .areg-block--map {
	order: 71;
}

.listing-section.areg-property-main > .areg-block--similar {
	order: 80;
}

.listing-section.areg-property-main > .areg-block--mortgage {
	order: 90;
}

.listing-section.areg-property-main > .areg-block--footer {
	order: 120;
}

/* Galería nativa intacta. */
.listing-section.areg-property-main .areg-block--gallery {
	margin: 0 0 28px !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	overflow: visible !important;
	box-shadow: none !important;
}

.listing-section.areg-property-main .listing-photo-carousel {
	overflow: hidden !important;
	border-radius: 4px !important;
	background: #f3f3f3;
}

.listing-section.areg-property-main .listing-photo-carousel img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}

/*
 * Se conservan los elementos nativos dentro del DOM para React,
 * pero se ocultan porque el resumen personalizado usa esos datos.
 */
.listing-section.areg-property-main > .areg-block--header,
.listing-section.areg-property-main > .areg-block--listing-number,
.listing-section.areg-property-main > .areg-block--attributes {
	display: none !important;
}

/* Resumen simple. */
.listing-section.areg-property-main .areg-property-summary {
	margin: 0 0 26px;
	padding: 0 0 30px;
	border-bottom: 1px solid var(--areg-color-border);
	font-size: 16px;
	line-height: 1.55;
}

.listing-section.areg-property-main .areg-summary__badge {
	display: inline-block;
	margin: 0 0 17px;
	padding: 5px 8px;
	border-radius: 3px;
	background: #087d2e;
	color: #ffffff;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.2;
}

.listing-section.areg-property-main .areg-summary__price {
	margin: 0 0 17px !important;
	color: var(--areg-color-text) !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
}

.listing-section.areg-property-main .areg-summary__line {
	margin: 0 0 3px !important;
	color: var(--areg-color-text) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
}

.listing-section.areg-property-main .areg-summary__separator {
	display: inline-block;
	margin: 0 8px;
	color: #777777;
	font-weight: 400;
}

/* About This Property. */
.listing-section.areg-property-main .areg-block--description {
	margin: 0 !important;
	padding: 0 !important;
}

.listing-section.areg-property-main .areg-block--description h2 {
	margin: 0 0 16px !important;
	color: var(--areg-color-text) !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.listing-section.areg-property-main .areg-block--description p {
	margin: 0 0 14px !important;
	color: var(--areg-color-text) !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
}

/* Teléfono. */
@media (max-width: 600px) {
	.listing-section.areg-property-main .areg-block--gallery {
		margin-bottom: 22px !important;
	}

	.listing-section.areg-property-main .areg-property-summary {
		margin-bottom: 22px;
		padding-bottom: 24px;
	}

	.listing-section.areg-property-main .areg-summary__separator {
		margin-right: 5px;
		margin-left: 5px;
	}
}


/* ================================================================
   LOCATION: Google Map / Street View / Virtual Tour / native panels
   ================================================================ */
.listing-section.areg-property-main > .areg-block--map {
	display: none !important;
}

.listing-section.areg-property-main > .areg-block--schools,
.listing-section.areg-property-main > .areg-block--walk-score {
	display: none !important;
	margin-top: 18px !important;
}

.listing-section.areg-property-main[data-areg-location-panel="schools"] > .areg-block--schools {
	display: block !important;
}

.listing-section.areg-property-main[data-areg-location-panel="walk-score"] > .areg-block--walk-score {
	display: block !important;
}

.listing-section.areg-property-main .areg-property-location {
	margin: 30px 0 34px;
	padding: 0;
}

.listing-section.areg-property-main .areg-location__title {
	margin: 0 0 16px !important;
	color: var(--areg-color-text) !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
}

.listing-section.areg-property-main .areg-location__tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 22px;
}

.listing-section.areg-property-main .areg-location__tab {
	min-height: 42px;
	padding: 9px 22px;
	border: 1px solid #c999a7;
	border-radius: 3px;
	background: #ffffff;
	color: var(--areg-color-primary);
	font-family: inherit;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.25;
	cursor: pointer;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}

.listing-section.areg-property-main .areg-location__tab:hover,
.listing-section.areg-property-main .areg-location__tab:focus-visible {
	border-color: var(--areg-color-primary);
	outline: none;
}

.listing-section.areg-property-main .areg-location__tab.is-active {
	border-color: var(--areg-color-primary);
	background: var(--areg-color-primary);
	color: #ffffff;
}

.listing-section.areg-property-main .areg-location__tab:disabled {
	opacity: .55;
	cursor: wait;
}

.listing-section.areg-property-main .areg-location__google-panel,
.listing-section.areg-property-main .areg-location__virtual-panel {
	position: relative;
	width: 100%;
}

.listing-section.areg-property-main .areg-location__map-canvas,
.listing-section.areg-property-main .areg-location__virtual-frame {
	display: block;
	width: 100%;
	height: 300px;
	border: 0;
	border-radius: 4px;
	background: #f3f3f3;
}

.listing-section.areg-property-main .areg-location__loading,
.listing-section.areg-property-main .areg-location__error {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
	background: #f5f5f5;
	color: #333333;
	font-size: 15px;
	text-align: center;
}

.listing-section.areg-property-main .areg-location__loading[hidden],
.listing-section.areg-property-main .areg-location__error[hidden],
.listing-section.areg-property-main .areg-location__google-panel[hidden],
.listing-section.areg-property-main .areg-location__virtual-panel[hidden] {
	display: none !important;
}

.listing-section.areg-property-main .areg-location__virtual-external {
	margin: 10px 0 0 !important;
	font-size: 14px !important;
	text-align: right;
}

.listing-section.areg-property-main .areg-location__virtual-external a {
	color: var(--areg-color-primary) !important;
	text-decoration: underline;
}

@media (max-width: 600px) {
	.listing-section.areg-property-main .areg-property-location {
		margin-top: 24px;
	}

	.listing-section.areg-property-main .areg-location__tabs {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
	}

	.listing-section.areg-property-main .areg-location__tab {
		width: 100%;
		padding-right: 10px;
		padding-left: 10px;
		font-size: 14px;
	}

	.listing-section.areg-property-main .areg-location__map-canvas,
	.listing-section.areg-property-main .areg-location__virtual-frame {
		height: 360px;
	}
}


/* Corrección 0.5.1: Google Maps directo, sin iframe srcdoc. */
.listing-section.areg-property-main .areg-location__map-canvas {
	position: relative;
	display: block;
	width: 100%;
	height: 300px;
	overflow: hidden;
	border-radius: 4px;
	background: #f3f3f3;
}


/* Corrección 0.5.2: asegurar que el overlay desaparezca al terminar. */
.listing-section.areg-property-main
.areg-property-location.is-map-ready
.areg-location__loading,
.listing-section.areg-property-main
.areg-property-location.is-map-ready
.areg-location__error {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

.listing-section.areg-property-main
.areg-property-location.is-map-ready
.areg-location__map-canvas {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	z-index: 1;
}

.listing-section.areg-property-main .areg-location__google-panel {
	min-height: 300px;
	overflow: hidden;
}


/* Ajuste 0.5.3: mapa más horizontal. */
.listing-section.areg-property-main .areg-location__google-panel,
.listing-section.areg-property-main .areg-location__map-canvas {
	height: 300px !important;
	min-height: 300px !important;
	max-height: 300px !important;
}

@media (max-width: 600px) {
	.listing-section.areg-property-main .areg-location__google-panel,
	.listing-section.areg-property-main .areg-location__map-canvas {
		height: 260px !important;
		min-height: 260px !important;
		max-height: 260px !important;
	}
}


/* Versión 0.5.7: conserva la barra Location interna que sí era visible. */
.listing-section.areg-property-main .areg-property-location
> .areg-location__title,
.listing-section.areg-property-main .areg-property-location
> .areg-location__tabs {
	display: flex;
	visibility: visible;
	opacity: 1;
}

.listing-section.areg-property-main .areg-property-location
> .areg-location__title {
	display: block;
}


/* Versión 0.6.0: controles propios que Kestrel no intercepta. */
.listing-section.areg-property-main
.areg-location__tabs
span.areg-location__tab {
	display: inline-flex !important;
	visibility: visible !important;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	user-select: none;
	-webkit-user-select: none;
}

.listing-section.areg-property-main
.areg-location__tabs
span.areg-location__tab.is-disabled,
.listing-section.areg-property-main
.areg-location__tabs
span.areg-location__tab[aria-disabled="true"] {
	opacity: .55;
	cursor: wait;
}

.listing-section.areg-property-main
.areg-location__tabs
span.areg-location__tab:focus-visible {
	border-color: var(--areg-color-primary) !important;
	outline: 2px solid rgba(157, 7, 43, .22) !important;
	outline-offset: 2px;
}


/* ================================================================
   Versión 0.6.3: un viewport estable, sin reconstruir Google Maps
   ================================================================ */

/* Fuentes nativas ocultas visualmente, pero siguen cargando sus iframes. */
.listing-section.areg-property-main
> .areg-native-source-captured {
	display: block !important;
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	min-height: 1px !important;
	max-height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip-path: inset(50%) !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.listing-section.areg-property-main
> .areg-native-source-captured h1,
.listing-section.areg-property-main
> .areg-native-source-captured h2 {
	display: none !important;
}

.listing-section.areg-property-main .areg-location__viewport {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	height: 300px;
	min-height: 0 !important;
	max-height: none !important;
	overflow: hidden !important;
	border-radius: 4px;
	background: #f3f3f3;
	transition:
		height .46s cubic-bezier(.22, .61, .36, 1);
	will-change: height;
}

.listing-section.areg-property-main .areg-location__panel {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	max-height: none !important;
	overflow: hidden !important;
	visibility: hidden !important;
	opacity: 0 !important;
	transform: translateY(8px);
	pointer-events: none !important;
	transition:
		opacity .24s ease,
		transform .36s cubic-bezier(.22, .61, .36, 1),
		visibility 0s linear .36s;
}

.listing-section.areg-property-main
.areg-location__panel.is-active {
	visibility: visible !important;
	opacity: 1 !important;
	transform: translateY(0);
	pointer-events: auto !important;
	transition:
		opacity .3s ease .07s,
		transform .42s cubic-bezier(.22, .61, .36, 1),
		visibility 0s;
}

.listing-section.areg-property-main .areg-location__map-canvas,
.listing-section.areg-property-main .areg-location__virtual-frame,
.listing-section.areg-property-main .areg-location__schools-frame,
.listing-section.areg-property-main .areg-location__walk-frame {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 0 !important;
	max-height: none !important;
	border: 0 !important;
	border-radius: 4px !important;
	background: #f3f3f3;
	visibility: visible !important;
}

.listing-section.areg-property-main .areg-location__virtual-external {
	position: absolute;
	right: 12px;
	bottom: 8px;
	z-index: 4;
	margin: 0 !important;
	padding: 5px 8px;
	border-radius: 3px;
	background: rgba(255, 255, 255, .92);
	font-size: 12px;
	line-height: 1.25;
}

.listing-section.areg-property-main .areg-location__virtual-external a {
	color: #9d072b !important;
	text-decoration: none !important;
}

/* Un solo botón activo. */
.listing-section.areg-property-main
.areg-location__tabs
span.areg-location__tab {
	border-color: #c999a7 !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	color: #9d072b !important;
	transition:
		background-color .22s ease,
		color .22s ease,
		border-color .22s ease,
		opacity .22s ease !important;
}

.listing-section.areg-property-main
.areg-location__tabs
span.areg-location__tab.is-active {
	border-color: #9d072b !important;
	background: #9d072b !important;
	background-color: #9d072b !important;
	color: #ffffff !important;
}

@media (max-width: 600px) {
	.listing-section.areg-property-main .areg-location__viewport {
		height: 260px;
	}
}


/* ================================================================
   Versión 0.6.4: lazy-load nativo y reproductor Virtual Tour
   ================================================================ */

/*
 * Desde que existe la sección nativa la dejamos en el flujo con 1px.
 * Eso permite que Kestrel cargue GreatSchools y Walk Score al llegar
 * a Location, sin mostrar sus títulos ni su contenido original.
 */
.listing-section.areg-property-main
> .areg-block--schools.areg-native-source,
.listing-section.areg-property-main
> .areg-block--walk-score.areg-native-source {
	display: block !important;
	position: relative !important;
	width: 100% !important;
	height: 1px !important;
	min-height: 1px !important;
	max-height: 1px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.listing-section.areg-property-main
> .areg-native-source h1,
.listing-section.areg-property-main
> .areg-native-source h2 {
	display: none !important;
}

/* Mensaje dentro del mismo viewport mientras Kestrel termina de cargar. */
.listing-section.areg-property-main
.areg-location__embedded-loading {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
	background: #f3f3f3;
	color: #333333;
	font-size: 15px;
	text-align: center;
}

.listing-section.areg-property-main
.areg-location__embedded-loading[hidden] {
	display: none !important;
}

/* Forzar el reproductor dentro del viewport. */
.listing-section.areg-property-main
.areg-location__virtual-panel.is-active,
.listing-section.areg-property-main
.areg-location__schools-panel.is-active,
.listing-section.areg-property-main
.areg-location__walk-panel.is-active {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	z-index: 3 !important;
}

.listing-section.areg-property-main
.areg-location__virtual-panel.is-active
.areg-location__virtual-frame {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 100% !important;
	height: 100% !important;
}


/* ================================================================
   Versión 0.6.5: fuentes directas para Schools y Walk Score
   ================================================================ */

/* Ya no dependemos del lazy-load de las secciones nativas. */
.listing-section.areg-property-main
> .areg-block--schools,
.listing-section.areg-property-main
> .areg-block--walk-score {
	display: none !important;
}

/* Solamente el panel seleccionado ocupa el viewport. */
.listing-section.areg-property-main
.areg-location__panel[hidden] {
	display: none !important;
}

.listing-section.areg-property-main
.areg-location__panel.is-active {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	z-index: 3 !important;
}

/* El reproductor y los widgets llenan por completo su panel. */
.listing-section.areg-property-main
.areg-location__virtual-frame,
.listing-section.areg-property-main
.areg-location__schools-frame,
.listing-section.areg-property-main
.areg-location__walk-frame {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	border: 0 !important;
	visibility: visible !important;
	opacity: 1 !important;
}


/* ================================================================
   Versión 0.6.6: estado único y eliminación definitiva de nativos
   ================================================================ */

/*
 * Sobrescribe las reglas antiguas que abrían Schools y Walk Score
 * debajo del mapa mediante data-areg-location-panel.
 */
.listing-section.areg-property-main[data-areg-location-panel]
> .areg-block--schools,
.listing-section.areg-property-main[data-areg-location-panel]
> .areg-block--walk-score,
.listing-section.areg-property-main
> .areg-block--schools,
.listing-section.areg-property-main
> .areg-block--walk-score,
.listing-section.areg-property-main
.schools:not(.areg-location__schools-panel),
.listing-section.areg-property-main
.walk-score:not(.areg-location__walk-panel) {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

.listing-section.areg-property-main
.schools:not(.areg-location__schools-panel) h1,
.listing-section.areg-property-main
.schools:not(.areg-location__schools-panel) h2,
.listing-section.areg-property-main
.walk-score:not(.areg-location__walk-panel) h1,
.listing-section.areg-property-main
.walk-score:not(.areg-location__walk-panel) h2 {
	display: none !important;
}

/* Todos los paneles propios quedan ocultos por defecto. */
.listing-section.areg-property-main
.areg-property-location
.areg-location__viewport
> .areg-location__panel {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
	z-index: 0 !important;
}

/* Solo el panel indicado por el atributo de Location se muestra. */
.listing-section.areg-property-main
.areg-property-location[data-areg-active-panel="map"]
.areg-location__google-panel,
.listing-section.areg-property-main
.areg-property-location[data-areg-active-panel="street-view"]
.areg-location__google-panel,
.listing-section.areg-property-main
.areg-property-location[data-areg-active-panel="virtual-tour"]
.areg-location__virtual-panel,
.listing-section.areg-property-main
.areg-property-location[data-areg-active-panel="schools"]
.areg-location__schools-panel,
.listing-section.areg-property-main
.areg-property-location[data-areg-active-panel="walk-score"]
.areg-location__walk-panel {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	z-index: 5 !important;
}

/* Todos los controles blancos por defecto, incluso Map. */
.listing-section.areg-property-main
.areg-property-location
.areg-location__tabs
.areg-location__tab[data-areg-panel] {
	border-color: #c999a7 !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	color: #9d072b !important;
}

/* Exactamente uno queda vino según el estado de Location. */
.listing-section.areg-property-main
.areg-property-location[data-areg-active-panel="map"]
.areg-location__tab[data-areg-panel="map"],
.listing-section.areg-property-main
.areg-property-location[data-areg-active-panel="street-view"]
.areg-location__tab[data-areg-panel="street-view"],
.listing-section.areg-property-main
.areg-property-location[data-areg-active-panel="virtual-tour"]
.areg-location__tab[data-areg-panel="virtual-tour"],
.listing-section.areg-property-main
.areg-property-location[data-areg-active-panel="schools"]
.areg-location__tab[data-areg-panel="schools"],
.listing-section.areg-property-main
.areg-property-location[data-areg-active-panel="walk-score"]
.areg-location__tab[data-areg-panel="walk-score"] {
	border-color: #9d072b !important;
	background: #9d072b !important;
	background-color: #9d072b !important;
	color: #ffffff !important;
}

/* El contenido embebido llena únicamente el viewport seleccionado. */
.listing-section.areg-property-main
.areg-location__virtual-panel
.areg-location__virtual-frame,
.listing-section.areg-property-main
.areg-location__schools-panel
.areg-location__schools-frame,
.listing-section.areg-property-main
.areg-location__walk-panel
.areg-location__walk-frame {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	border: 0 !important;
}


/* ================================================================
   Versión 0.6.7: selectores estables mediante data-areg-*
   Kestrel cambia los nombres de clase dentro del Shadow DOM.
   Estos atributos no cambian y controlan la interacción.
   ================================================================ */

.listing-section
[data-areg-native-section="schools"],
.listing-section
[data-areg-native-section="walk-score"] {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

[data-areg-location="true"]
[data-areg-location-viewport="true"] {
	position: relative !important;
	display: block !important;
	width: 100% !important;
	height: 300px;
	min-height: 0 !important;
	overflow: hidden !important;
	border-radius: 4px;
	background: #f3f3f3;
	transition:
		height .46s cubic-bezier(.22, .61, .36, 1);
	will-change: height;
}

[data-areg-location="true"]
[data-areg-location-viewport="true"]
> [data-areg-content-panel] {
	position: absolute !important;
	inset: 0 !important;
	display: none !important;
	width: 100% !important;
	height: 100% !important;
	visibility: hidden !important;
	opacity: 0 !important;
	overflow: hidden !important;
	pointer-events: none !important;
	z-index: 0 !important;
}

[data-areg-location="true"][data-areg-active-panel="map"]
[data-areg-content-panel="google"],
[data-areg-location="true"][data-areg-active-panel="street-view"]
[data-areg-content-panel="google"],
[data-areg-location="true"][data-areg-active-panel="virtual-tour"]
[data-areg-content-panel="virtual-tour"],
[data-areg-location="true"][data-areg-active-panel="schools"]
[data-areg-content-panel="schools"],
[data-areg-location="true"][data-areg-active-panel="walk-score"]
[data-areg-content-panel="walk-score"] {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	z-index: 5 !important;
}

[data-areg-location="true"]
[data-areg-panel] {
	border-color: #c999a7 !important;
	background: #ffffff !important;
	background-color: #ffffff !important;
	color: #9d072b !important;
	transition:
		background-color .22s ease,
		color .22s ease,
		border-color .22s ease,
		opacity .22s ease !important;
}

[data-areg-location="true"][data-areg-active-panel="map"]
[data-areg-panel="map"],
[data-areg-location="true"][data-areg-active-panel="street-view"]
[data-areg-panel="street-view"],
[data-areg-location="true"][data-areg-active-panel="virtual-tour"]
[data-areg-panel="virtual-tour"],
[data-areg-location="true"][data-areg-active-panel="schools"]
[data-areg-panel="schools"],
[data-areg-location="true"][data-areg-active-panel="walk-score"]
[data-areg-panel="walk-score"] {
	border-color: #9d072b !important;
	background: #9d072b !important;
	background-color: #9d072b !important;
	color: #ffffff !important;
}

[data-areg-location="true"]
[data-areg-frame],
[data-areg-location="true"]
[data-areg-map-canvas="true"] {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	border: 0 !important;
	visibility: visible !important;
	opacity: 1 !important;
}

[data-areg-location="true"]
[data-areg-embedded-loading] {
	position: absolute;
	inset: 0;
	z-index: 6;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
	background: #f3f3f3;
	color: #333333;
	font-size: 15px;
	text-align: center;
}

[data-areg-location="true"]
[data-areg-embedded-loading][hidden],
[data-areg-location="true"]
[data-areg-map-loading="true"][hidden],
[data-areg-location="true"]
[data-areg-map-error="true"][hidden] {
	display: none !important;
}

@media (max-width: 600px) {
	[data-areg-location="true"]
	[data-areg-location-viewport="true"] {
		height: 260px;
	}
}


/* ================================================================
   Versión 0.6.8: acabado visual de Schools, Walk Score y Street View
   ================================================================ */

/*
 * Los paneles permanecen montados aunque estén ocultos. De esta forma
 * los servicios externos conservan el ancho correcto y no se ve su
 * reacomodo inicial.
 */
[data-areg-location="true"]
[data-areg-location-viewport="true"]
> [data-areg-content-panel] {
	display: block !important;
	background: #f3f3f3 !important;
}

/* Velo breve durante el cambio de vista. */
[data-areg-location="true"]
[data-areg-transition-mask="true"] {
	position: absolute !important;
	inset: 0 !important;
	z-index: 20 !important;
	display: none;
	width: 100% !important;
	height: 100% !important;
	background: #f3f3f3 !important;
	opacity: 0;
	visibility: hidden;
	pointer-events: none !important;
}

/* Schools: fondo uniforme y recorte del borde azul interno del widget. */
[data-areg-location="true"]
[data-areg-content-panel="schools"] {
	background: #f3f3f3 !important;
	overflow: hidden !important;
}

[data-areg-location="true"]
[data-areg-frame="schools"] {
	top: -3px !important;
	left: -3px !important;
	right: auto !important;
	bottom: auto !important;
	width: calc(100% + 6px) !important;
	height: calc(100% + 6px) !important;
	max-width: none !important;
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	background: #f3f3f3 !important;
}

/*
 * Walk Score se precarga oculto. El iframe solo aparece cuando terminó
 * de cargar y tuvo tiempo de cambiar de horizontal a vertical.
 */
[data-areg-location="true"]
[data-areg-content-panel="walk-score"] {
	background: #f3f3f3 !important;
}

[data-areg-location="true"]
[data-areg-frame="walk-score"] {
	background: #f3f3f3 !important;
	opacity: 0 !important;
	transition: opacity .22s ease !important;
}

[data-areg-location="true"]
[data-areg-frame="walk-score"][data-areg-ready="true"] {
	opacity: 1 !important;
}

/* GreatSchools también entra suavemente después de calcular su ancho. */
[data-areg-location="true"]
[data-areg-frame="schools"] {
	opacity: 0 !important;
	transition: opacity .22s ease !important;
}

[data-areg-location="true"]
[data-areg-frame="schools"][data-areg-ready="true"] {
	opacity: 1 !important;
}

/*
 * Google Maps y Street View nunca se desmontan; el velo cubre los pocos
 * milisegundos que Google utiliza para pintar la panorámica.
 */
[data-areg-location="true"]
[data-areg-content-panel="google"] {
	background: #f3f3f3 !important;
	backface-visibility: hidden;
	transform: translateZ(0);
}

/* El viewport y los paneles ocupan siempre todo el ancho disponible. */
[data-areg-location="true"],
[data-areg-location="true"]
[data-areg-location-viewport="true"],
[data-areg-location="true"]
[data-areg-content-panel] {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
}

@media (max-width: 600px) {
	[data-areg-location="true"]
	[data-areg-content-panel="schools"],
	[data-areg-location="true"]
	[data-areg-content-panel="walk-score"] {
		border-radius: 3px !important;
	}

	[data-areg-location="true"]
	[data-areg-frame="schools"] {
		top: -2px !important;
		left: -2px !important;
		width: calc(100% + 4px) !important;
		height: calc(100% + 4px) !important;
	}
}


/* ================================================================
   Versión 0.6.9: borde completo y sin scroll horizontal en Schools
   ================================================================ */

/*
 * Se elimina el recorte lateral usado en 0.6.8. El iframe vuelve a
 * ocupar exactamente el 100% del viewport para que el borde derecho
 * del widget también sea visible.
 */
[data-areg-location="true"]
[data-areg-content-panel="schools"] {
	overflow: hidden !important;
	background: #f3f3f3 !important;
}

[data-areg-location="true"]
[data-areg-frame="schools"] {
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	border: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	background: #f3f3f3 !important;
}

/* Evita que el propio iframe agregue espacio lateral externo. */
[data-areg-location="true"]
[data-areg-frame="schools"],
[data-areg-location="true"]
[data-areg-content-panel="schools"] {
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 0 !important;
}


/* ================================================================
   Versión 0.7.0: Satisfied Buyers + Property Features
   ================================================================ */

/* Orden nuevo debajo de Location. */
.listing-section.areg-property-main
> [data-areg-satisfied-buyers="true"] {
	order: 60;
}

.listing-section.areg-property-main
> [data-areg-property-features="true"] {
	order: 65;
}

.listing-section.areg-property-main
> [data-areg-property-details="true"] {
	order: 70;
}

/* ---------------- Satisfied Buyers ---------------- */
[data-areg-satisfied-buyers="true"] {
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 0 34px !important;
	padding: 30px 0 34px !important;
	border-top: 1px solid var(--areg-color-border) !important;
	border-bottom: 1px solid var(--areg-color-border) !important;
	background: #ffffff !important;
}

[data-areg-satisfied-title="true"] {
	margin: 0 0 22px !important;
	color: var(--areg-color-text) !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

[data-areg-satisfied-grid="true"] {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	gap: 30px !important;
	align-items: center !important;
	width: 100% !important;
	min-width: 0 !important;
}

[data-areg-satisfied-copy="true"] {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	min-width: 0 !important;
}

[data-areg-satisfied-text="true"] {
	margin: 0 0 22px !important;
	color: #111111 !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
}

[data-areg-satisfied-cta="true"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 44px !important;
	padding: 10px 22px !important;
	border: 1px solid #9d072b !important;
	border-radius: 3px !important;
	background: #9d072b !important;
	color: #ffffff !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	text-align: center !important;
	text-decoration: none !important;
	transition: background-color .2s ease, color .2s ease !important;
}

[data-areg-satisfied-cta="true"]:hover,
[data-areg-satisfied-cta="true"]:focus-visible {
	background: #ffffff !important;
	color: #9d072b !important;
	text-decoration: none !important;
}

[data-areg-satisfied-media="true"] {
	position: relative !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 230px !important;
	overflow: hidden !important;
	border-radius: 4px !important;
	background: #f3f3f3 !important;
}

[data-areg-satisfied-image="true"] {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	max-height: 390px !important;
	object-fit: contain !important;
	background: #ffffff !important;
	opacity: 1;
	transition: opacity .28s ease !important;
}

/* ---------------- Property Features summary ---------------- */
[data-areg-property-features="true"] {
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 0 34px !important;
	padding: 0 0 34px !important;
	border-bottom: 1px solid var(--areg-color-border) !important;
	background: #ffffff !important;
}

[data-areg-property-features-title="true"] {
	margin: 0 0 18px !important;
	color: var(--areg-color-text) !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

[data-areg-property-features-table-wrap="true"] {
	width: 100% !important;
	overflow: hidden !important;
	border: 1px solid #e7e7e7 !important;
	border-radius: 3px !important;
}

[data-areg-property-features-table="true"] {
	width: 100% !important;
	margin: 0 !important;
	border: 0 !important;
	border-collapse: collapse !important;
	border-spacing: 0 !important;
	table-layout: fixed !important;
	background: #ffffff !important;
}

[data-areg-property-features-table="true"] tr:not(:last-child) {
	border-bottom: 1px solid #ececec !important;
}

[data-areg-property-features-table="true"] th,
[data-areg-property-features-table="true"] td {
	box-sizing: border-box !important;
	width: 50% !important;
	padding: 13px 16px !important;
	border: 0 !important;
	vertical-align: middle !important;
	font-size: 14px !important;
	line-height: 1.45 !important;
	text-align: left !important;
	white-space: normal !important;
	overflow-wrap: anywhere !important;
}

[data-areg-property-features-table="true"] th {
	background: #fafafa !important;
	color: #222222 !important;
	font-weight: 600 !important;
}

[data-areg-property-features-table="true"] td {
	background: #ffffff !important;
	color: #333333 !important;
	font-weight: 400 !important;
}

[data-areg-property-feature-label-wrap="true"] {
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	min-width: 0 !important;
}

[data-areg-property-feature-icon] {
	display: inline-flex !important;
	flex: 0 0 20px !important;
	align-items: center !important;
	justify-content: center !important;
	width: 20px !important;
	height: 20px !important;
	color: #9d072b !important;
}

[data-areg-property-feature-icon] svg {
	display: block !important;
	width: 20px !important;
	height: 20px !important;
}

/* Native feature groups now continue as Property Details. */
[data-areg-property-details="true"] > div > div:first-child h2,
[data-areg-property-details="true"] h2:first-of-type {
	margin: 0 0 20px !important;
	color: var(--areg-color-text) !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

@media (max-width: 700px) {
	[data-areg-satisfied-grid="true"] {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 24px !important;
	}

	[data-areg-satisfied-copy="true"] {
		align-items: stretch !important;
	}

	[data-areg-satisfied-cta="true"] {
		width: 100% !important;
		box-sizing: border-box !important;
	}

	[data-areg-satisfied-media="true"] {
		min-height: 190px !important;
	}
}

@media (max-width: 480px) {
	[data-areg-satisfied-buyers="true"] {
		padding-top: 26px !important;
		padding-bottom: 28px !important;
	}

	[data-areg-property-features-table="true"] th,
	[data-areg-property-features-table="true"] td {
		padding: 11px 10px !important;
		font-size: 13px !important;
	}

	[data-areg-property-feature-label-wrap="true"] {
		gap: 7px !important;
	}

	[data-areg-property-feature-icon] {
		flex-basis: 18px !important;
		width: 18px !important;
		height: 18px !important;
	}

	[data-areg-property-feature-icon] svg {
		width: 18px !important;
		height: 18px !important;
	}
}


/* ================================================================
   Versión 0.7.1: swipe en testimonios + ajuste de Property Features
   ================================================================ */

/* El carrusel acepta arrastre con mouse, dedo o stylus. */
[data-areg-satisfied-media="true"] {
	cursor: grab !important;
	touch-action: pan-y !important;
	overscroll-behavior-x: contain !important;
	user-select: none !important;
	-webkit-user-select: none !important;
}

[data-areg-satisfied-media="true"].is-dragging {
	cursor: grabbing !important;
}

[data-areg-satisfied-image="true"] {
	pointer-events: none !important;
	user-select: none !important;
	-webkit-user-drag: none !important;
	will-change: transform, opacity;
	transition:
		transform .24s ease,
		opacity .28s ease !important;
}

/*
 * La tabla solo conserva un borde exterior.
 * No hay divisiones horizontales entre filas.
 */
[data-areg-property-features-table-wrap="true"] {
	overflow: hidden !important;
	border: 0 !important;
	border-radius: 3px !important;
}

[data-areg-property-features-table="true"] {
	border: 1px solid #f1f1f1 !important;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border-radius: 3px !important;
	overflow: hidden !important;
}

[data-areg-property-features-table="true"] tr,
[data-areg-property-features-table="true"] tr:not(:last-child),
[data-areg-property-features-table="true"] th,
[data-areg-property-features-table="true"] td {
	border: 0 !important;
	border-top: 0 !important;
	border-right: 0 !important;
	border-bottom: 0 !important;
	border-left: 0 !important;
}

[data-areg-property-features-table="true"] th,
[data-areg-property-features-table="true"] td {
	padding: 10px 16px !important;
}

[data-areg-property-features-table="true"] th {
	background: #f3f3f3 !important;
}

[data-areg-property-features-table="true"] td {
	background: #ffffff !important;
}

[data-areg-property-feature-icon] {
	color: #747486 !important;
}

@media (max-width: 480px) {
	[data-areg-property-features-table="true"] th,
	[data-areg-property-features-table="true"] td {
		padding: 10px !important;
	}
}


/* ================================================================
   Versión 0.7.2: tipografía unificada + Property Details acordeón
   ================================================================ */

/*
 * Clase común de títulos principales.
 * En adelante se puede cambiar aquí el tamaño de todas las secciones:
 * About This Property, Location, Satisfied Buyers, Property Features,
 * Property Details, Similar Listings y Mortgage Calculator.
 */
.areg-section-title,
[data-areg-section-title="true"] {
	margin-top: 0 !important;
	color: #111111 !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 18px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

/* Las dos columnas de Property Features comparten la misma tipografía. */
[data-areg-property-features-table="true"] th,
[data-areg-property-features-table="true"] td {
	padding-top: 10px !important;
	padding-bottom: 10px !important;
	color: #747474 !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1.45 !important;
}

/* Mantener los iconos en el tono solicitado. */
[data-areg-property-feature-icon] {
	color: #747486 !important;
}

/* ---------------- Property Details acordeón ---------------- */
[data-areg-property-details="true"] {
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 0 34px !important;
	padding: 0 !important;
	background: #ffffff !important;
}

[data-areg-property-details="true"]
[data-areg-accordion-group="true"] {
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-bottom: 1px solid #747474 !important;
	background: #ffffff !important;
}

[data-areg-property-details="true"]
[data-areg-accordion-group="true"]
> div {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Encabezado clicable de cada acordeón. */
[data-areg-property-details="true"]
[data-areg-accordion-heading] {
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

[data-areg-property-details="true"]
[data-areg-accordion-trigger] {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 13px 4px 14px !important;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	color: #252525 !important;
	cursor: pointer !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 1.3rem !important;
	font-weight: 400 !important;
	line-height: 1.3 !important;
	text-align: left !important;
	text-transform: none !important;
	transition: color .2s ease !important;
}

[data-areg-property-details="true"]
[data-areg-accordion-trigger]:hover,
[data-areg-property-details="true"]
[data-areg-accordion-trigger]:focus-visible,
[data-areg-property-details="true"]
[data-areg-accordion-trigger][aria-expanded="true"] {
	color: #9d072b !important;
}

/* Panel: siempre montado para conservar su contenido, pero animado. */
[data-areg-property-details="true"]
[data-areg-accordion-panel] {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-height: 0;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition:
		max-height .34s cubic-bezier(.22, .61, .36, 1),
		opacity .22s ease,
		visibility 0s linear .34s !important;
}

[data-areg-property-details="true"]
[data-areg-accordion-group="true"]
[data-areg-accordion-open="true"]
[data-areg-accordion-panel] {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transition:
		max-height .38s cubic-bezier(.22, .61, .36, 1),
		opacity .25s ease .06s,
		visibility 0s !important;
}

/* Espacio interior del contenido abierto. */
[data-areg-property-details="true"]
[data-areg-accordion-panel]
.feature-body {
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 !important;
	padding-top: 8px !important;
	padding-bottom: 22px !important;
}

/* Evitar que las reglas móviles anteriores reduzcan la tabla a 13px. */
@media (max-width: 480px) {
	[data-areg-property-features-table="true"] th,
	[data-areg-property-features-table="true"] td {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
		font-size: 16px !important;
	}

	[data-areg-property-details="true"]
	[data-areg-accordion-trigger] {
		padding: 12px 2px 13px !important;
		font-size: 1.3rem !important;
	}
}


/* ================================================================
   Versión 0.7.3: alineación de acordeón + ancho de Similar Listings
   ================================================================ */

/*
 * Los Grid containers de Kestrel agregan márgenes negativos por sus
 * gutters. Se neutralizan únicamente en la estructura exterior de
 * Property Details, sin quitar el espaciado interno de sus datos.
 */
[data-areg-property-details="true"],
[data-areg-property-details-shell="true"],
[data-areg-property-details-title-item="true"],
[data-areg-property-details-content-item="true"],
[data-areg-accordion-list="true"] {
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

[data-areg-property-details-shell="true"] {
	display: flex !important;
	flex-direction: column !important;
}

[data-areg-property-details-title-item="true"],
[data-areg-property-details-content-item="true"] {
	flex-basis: auto !important;
}

[data-areg-accordion-list="true"] {
	display: flex !important;
	flex-direction: column !important;
	gap: 0 !important;
}

/*
 * Cada línea del acordeón empieza y termina exactamente donde empieza
 * el título Property Details.
 */
[data-areg-property-details="true"]
[data-areg-accordion-group="true"] {
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

[data-areg-property-details="true"]
[data-areg-accordion-trigger] {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* El contenido abierto tampoco puede rebasar el ancho de la columna. */
[data-areg-property-details="true"]
[data-areg-accordion-panel],
[data-areg-property-details="true"]
[data-areg-accordion-panel]
.feature-body {
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* ---------------- Similar Listings ---------------- */

/*
 * Antes de modificar la cantidad de tarjetas, se elimina el gutter
 * exterior de Kestrel para comprobar el ancho real disponible.
 */
[data-areg-similar-listings="true"],
[data-areg-similar-shell="true"],
[data-areg-similar-title-item="true"],
[data-areg-similar-content-item="true"],
[data-areg-similar-carousel-host="true"] {
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

[data-areg-similar-shell="true"] {
	display: flex !important;
	flex-direction: column !important;
}

[data-areg-similar-content-item="true"],
[data-areg-similar-carousel-host="true"] {
	overflow: visible !important;
}

/* Alinear el título Similar Listings con las secciones anteriores. */
[data-areg-similar-listings="true"]
.areg-section-title,
[data-areg-similar-listings="true"]
[data-areg-section-title="true"] {
	margin-left: 0 !important;
	margin-right: 0 !important;
}


/* ================================================================
   Versión 0.7.4: aprovechar todo el ancho de Similar Listings
   ================================================================ */

/*
 * El contenedor exterior ya ocupaba el 100%, pero las flechas nativas
 * reservaban dos columnas de aproximadamente 66px. Ahora permanecen
 * funcionales, pero se superponen en los extremos del carrusel.
 */
[data-areg-similar-slider-frame="true"] {
	position: relative !important;
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}

[data-areg-similar-viewport="true"] {
	display: block !important;
	box-sizing: border-box !important;
	flex: 1 1 100% !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

[data-areg-similar-track="true"] {
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/*
 * Las flechas terminan exactamente en los bordes izquierdo y derecho
 * de la columna principal, sin restar ancho a las tarjetas.
 */
[data-areg-similar-arrow] {
	position: absolute !important;
	top: 50% !important;
	bottom: auto !important;
	z-index: 20 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 48px !important;
	min-width: 48px !important;
	max-width: 48px !important;
	height: 72px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 4px !important;
	background: rgba(255, 255, 255, .9) !important;
	color: #747474 !important;
	box-shadow: 0 1px 5px rgba(0, 0, 0, .12) !important;
	transform: translateY(-50%) !important;
	transition:
		background-color .2s ease,
		color .2s ease,
		box-shadow .2s ease !important;
}

[data-areg-similar-arrow]:hover,
[data-areg-similar-arrow]:focus-visible {
	background: #ffffff !important;
	color: #333333 !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .18) !important;
}

[data-areg-similar-arrow="previous"] {
	left: 0 !important;
	right: auto !important;
}

[data-areg-similar-arrow="next"] {
	right: 0 !important;
	left: auto !important;
}

[data-areg-similar-arrow] svg {
	width: 34px !important;
	height: 34px !important;
}

/*
 * En escritorio cada página conserva tres propiedades, pero ahora las
 * tres utilizan todo el ancho que antes ocupaban también las flechas.
 */
@media (min-width: 768px) {
	[data-areg-similar-page-row="true"] {
		display: flex !important;
		flex-wrap: nowrap !important;
		justify-content: stretch !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 5px !important;
	}

	[data-areg-similar-cell="true"] {
		box-sizing: border-box !important;
		flex: 0 0 33.333333% !important;
		width: 33.333333% !important;
		min-width: 0 !important;
		max-width: 33.333333% !important;
		padding: 6px !important;
	}
}

/*
 * Ordenar los datos como en la referencia: Beds y Baths en la primera
 * línea; SqFt. ocupa la línea siguiente.
 */
[data-areg-similar-listings="true"]
.ihf-listing-result-bed-bath-sq {
	display: grid !important;
	grid-template-columns: max-content max-content !important;
	gap: 6px 14px !important;
	justify-content: start !important;
	align-items: center !important;
	width: 100% !important;
}

[data-areg-similar-listings="true"]
.ihf-listing-result-sqft {
	grid-column: 1 / -1 !important;
}

[data-areg-similar-listings="true"]
.ihf-listing-result-info,
[data-areg-similar-listings="true"]
.ihf-listing-result-address {
	align-items: flex-start !important;
	text-align: left !important;
}

/* En celular conserva la distribución responsive propia de Kestrel. */
@media (max-width: 767px) {
	[data-areg-similar-arrow] {
		width: 42px !important;
		min-width: 42px !important;
		max-width: 42px !important;
		height: 64px !important;
	}

	[data-areg-similar-arrow] svg {
		width: 30px !important;
		height: 30px !important;
	}
}


/* ================================================================
   Versión 0.7.5: textos de Similar + Contact Agents
   ================================================================ */

/* Reducir todos los textos de las tarjetas, excepto el precio. */
[data-areg-similar-listings="true"]
[data-areg-similar-text="true"] {
	color: #333333 !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
}

/* El precio conserva el tamaño nativo de Kestrel. */
[data-areg-similar-listings="true"]
[data-areg-similar-price="true"] {
	font-size: inherit;
}

/* Nota inferior de la calculadora. */
.listing-section.areg-property-main
.mortgage-calculator
.ihf-mortgage-disclaimer p {
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 12px !important;
	line-height: 1.45 !important;
}

/* Contact Agents queda entre Mortgage Calculator y Listing Office. */
.listing-section.areg-property-main
> [data-areg-contact-agents="true"] {
	order: 100;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 0 0 30px !important;
	padding: 30px 0 34px !important;
	border-top: 1px solid var(--areg-color-border) !important;
	border-bottom: 1px solid var(--areg-color-border) !important;
	background: #ffffff !important;
}

[data-areg-contact-agents-title="true"] {
	margin-bottom: 26px !important;
}

[data-areg-contact-agents-list="true"] {
	display: flex !important;
	flex-direction: column !important;
	gap: 28px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
}

[data-areg-contact-agent] {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 0 28px !important;
	border: 0 !important;
	border-bottom: 1px solid #efefef !important;
	background: #ffffff !important;
}

[data-areg-contact-agent]:last-child {
	padding-bottom: 0 !important;
	border-bottom: 0 !important;
}

[data-areg-contact-agent-header="true"] {
	display: grid !important;
	grid-template-columns: 120px minmax(0, 1fr) !important;
	gap: 28px !important;
	align-items: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
}

[data-areg-contact-agent-image] {
	display: block !important;
	width: 120px !important;
	height: 120px !important;
	max-width: 120px !important;
	margin: 0 !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	background: #f3f3f3 !important;
}

[data-areg-contact-agent-info="true"] {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-start !important;
	min-width: 0 !important;
	color: #111111 !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
}

[data-areg-contact-agent-name="true"] {
	color: #111111 !important;
	font-weight: 600 !important;
}

[data-areg-contact-agent-line="true"] {
	color: #111111 !important;
	text-decoration: none !important;
}

a[data-areg-contact-agent-line="true"]:hover,
a[data-areg-contact-agent-line="true"]:focus-visible {
	color: #9d072b !important;
	text-decoration: underline !important;
}

[data-areg-contact-agent-meta="true"] {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	gap: 0 !important;
	margin: 16px 0 14px !important;
	color: #747474 !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
}

[data-areg-contact-agent-reviews="true"] {
	color: #747474 !important;
	text-decoration: none !important;
}

[data-areg-contact-agent-reviews="true"]:hover,
[data-areg-contact-agent-reviews="true"]:focus-visible {
	color: #9d072b !important;
	text-decoration: underline !important;
}

[data-areg-contact-agent-separator="true"] {
	margin: 0 12px !important;
	color: #e0e0e0 !important;
}

[data-areg-contact-agent-bio="true"] {
	margin: 0 !important;
	color: #111111 !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
}

@media (max-width: 600px) {
	[data-areg-contact-agent-header="true"] {
		grid-template-columns: 92px minmax(0, 1fr) !important;
		gap: 18px !important;
		align-items: start !important;
	}

	[data-areg-contact-agent-image] {
		width: 92px !important;
		height: 92px !important;
		max-width: 92px !important;
	}

	[data-areg-contact-agent-info="true"],
	[data-areg-contact-agent-meta="true"],
	[data-areg-contact-agent-bio="true"] {
		font-size: 15px !important;
	}

	[data-areg-contact-agent-meta="true"] {
		margin-top: 14px !important;
	}

	[data-areg-contact-agent-separator="true"] {
		margin-right: 8px !important;
		margin-left: 8px !important;
	}
}

@media (max-width: 390px) {
	[data-areg-contact-agent-header="true"] {
		grid-template-columns: 1fr !important;
	}

	[data-areg-contact-agent-image] {
		width: 108px !important;
		height: 108px !important;
		max-width: 108px !important;
	}
}


/* ================================================================
   Versión 0.7.6: Read more / Read less en About This Property
   ================================================================ */

[data-areg-description-readmore="true"] {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 0 14px !important;
	padding: 0 !important;
	color: var(--areg-color-text) !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
	white-space: normal !important;
	overflow-wrap: anywhere !important;
}

[data-areg-description-text="true"],
[data-areg-description-ellipsis="true"] {
	display: inline !important;
}

[data-areg-description-toggle="true"] {
	display: inline !important;
	margin: 0 0 0 10px !important;
	padding: 0 !important;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	color: #111111 !important;
	cursor: pointer !important;
	font: inherit !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: inherit !important;
	text-decoration: none !important;
	vertical-align: baseline !important;
	transition: color .2s ease !important;
}

[data-areg-description-toggle="true"]:hover,
[data-areg-description-toggle="true"]:focus-visible {
	color: #9d072b !important;
	text-decoration: underline !important;
}

@media (max-width: 820px) {
	[data-areg-description-readmore="true"],
	[data-areg-description-toggle="true"] {
		font-size: 16px !important;
	}
}


/* ================================================================
   Versión 0.7.7: mapa nativo de Kestrel, sin API propia de Google
   ================================================================ */

/* Barra de controles para Map, Schools y Walk Score. */
.listing-section.areg-property-main
> [data-areg-native-location-controls="true"] {
	order: 49;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 30px 0 0 !important;
	padding: 0 !important;
	background: #ffffff !important;
}

[data-areg-native-location-title="true"] {
	margin-bottom: 16px !important;
}

[data-areg-native-location-tabs="true"] {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 0 22px !important;
	padding: 0 !important;
}

[data-areg-native-location-panel] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	min-height: 42px !important;
	padding: 9px 22px !important;
	border: 1px solid #c999a7 !important;
	border-radius: 3px !important;
	background: #ffffff !important;
	color: #9d072b !important;
	cursor: pointer !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	user-select: none !important;
	-webkit-user-select: none !important;
	transition:
		background-color .18s ease,
		color .18s ease,
		border-color .18s ease !important;
}

[data-areg-native-location-panel].is-active,
[data-areg-native-location-controls="true"]
[data-areg-active-panel="map"]
[data-areg-native-location-panel="map"],
[data-areg-native-location-controls="true"]
[data-areg-active-panel="schools"]
[data-areg-native-location-panel="schools"],
[data-areg-native-location-controls="true"]
[data-areg-active-panel="walk-score"]
[data-areg-native-location-panel="walk-score"] {
	border-color: #9d072b !important;
	background: #9d072b !important;
	color: #ffffff !important;
}

[data-areg-native-location-panel]:focus-visible {
	outline: 2px solid rgba(157, 7, 43, .22) !important;
	outline-offset: 2px !important;
}

/*
 * Las tres secciones son las originales de Kestrel.
 * JS controla cuál aparece, por lo que estas reglas sobrescriben
 * los estilos antiguos que ocultaban listing-map, schools y walk-score.
 */
.listing-section.areg-property-main
> [data-areg-native-location-section] {
	order: 50;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 0 0 34px !important;
	padding: 0 !important;
	background: #f3f3f3 !important;
}

.listing-section.areg-property-main
> [data-areg-native-location-section="map"] {
	min-height: 300px !important;
	overflow: hidden !important;
	border-radius: 4px !important;
}

.listing-section.areg-property-main
> [data-areg-native-location-section="map"]
> div,
.listing-section.areg-property-main
> [data-areg-native-location-section="map"]
> div
> div {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
}

.listing-section.areg-property-main
> [data-areg-native-location-section="schools"],
.listing-section.areg-property-main
> [data-areg-native-location-section="walk-score"] {
	overflow: hidden !important;
	border-radius: 4px !important;
}

.listing-section.areg-property-main
> [data-areg-native-location-section]
h2 {
	display: none !important;
}

/* No mostrar ninguna integración propia o enlace de Virtual Tour. */
.listing-section.areg-property-main
> [data-areg-location="true"],
.listing-section.areg-property-main
[data-areg-content-panel="virtual-tour"],
.listing-section.areg-property-main
[data-areg-panel="virtual-tour"] {
	display: none !important;
}

/* Solo móvil: ocultar los dos botones solicitados de la barra lateral. */
@media (max-width: 820px) {
	[data-areg-mobile-hide-lead-button="schedule-tour"],
	[data-areg-mobile-hide-lead-button="request-info"],
	[data-areg-mobile-hide-lead-button-wrap="schedule-tour"],
	[data-areg-mobile-hide-lead-button-wrap="request-info"] {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		min-height: 0 !important;
		max-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
	}
}


/* ================================================================
   Versión 0.7.8: Street View Embed bajo demanda
   ================================================================ */

.listing-section.areg-property-main
> [data-areg-street-view-section="true"] {
	order: 50;
	position: relative !important;
	display: none;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: 300px !important;
	min-height: 300px !important;
	max-height: 300px !important;
	margin: 0 0 34px !important;
	padding: 0 !important;
	overflow: hidden !important;
	border-radius: 4px !important;
	background: #f3f3f3 !important;
}

[data-areg-street-view-frame="true"] {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: #f3f3f3 !important;
}

[data-areg-street-view-loading="true"] {
	position: absolute !important;
	inset: 0 !important;
	z-index: 2 !important;
	display: flex;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	padding: 20px !important;
	background: #f3f3f3 !important;
	color: #333333 !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	text-align: center !important;
}

[data-areg-street-view-loading="true"][hidden] {
	display: none !important;
}

@media (max-width: 600px) {
	.listing-section.areg-property-main
	> [data-areg-street-view-section="true"] {
		height: 260px !important;
		min-height: 260px !important;
		max-height: 260px !important;
	}
}


/* ================================================================
   Versión 0.7.9: precarga invisible de Similar Listings
   ================================================================ */

/*
 * La posición temporal se aplica en línea para activar el lazy-load de
 * Kestrel sin mover el scroll del visitante. No cambia el diseño final.
 */
[data-areg-similar-listings="true"][data-areg-similar-prewarming="true"] {
	backface-visibility: hidden;
}


/* ================================================================
   Versión 0.8.0: distribución simétrica de Location y barra móvil
   ================================================================ */

/*
 * Escritorio:
 * Map | Street View | Schools | Walk Score
 * Cada control ocupa exactamente una cuarta parte del espacio útil.
 */
[data-areg-native-location-tabs="true"] {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 12px !important;
	width: 100% !important;
	max-width: 100% !important;
}

[data-areg-native-location-tabs="true"]
> [data-areg-native-location-panel] {
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	padding-right: 10px !important;
	padding-left: 10px !important;
	text-align: center !important;
	white-space: normal !important;
}

/*
 * Móvil:
 * dos columnas y dos filas. Cada botón ocupa el 50% del espacio útil,
 * descontando solamente el espacio entre columnas.
 */
@media (max-width: 820px) {
	[data-areg-native-location-tabs="true"] {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 8px !important;
	}

	[data-areg-native-location-tabs="true"]
	> [data-areg-native-location-panel] {
		min-height: 42px !important;
		padding: 9px 8px !important;
		font-size: 14px !important;
	}

	/*
	 * Kestrel vuelve a crear esta barra durante algunos rerenders.
	 * Ocultarla directamente es más estable que marcar cada botón.
	 * La regla queda limitada exclusivamente a pantallas móviles.
	 */
	.contact-forms-app-bar {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		min-height: 0 !important;
		max-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		pointer-events: none !important;
	}
}


/* ================================================================
   Versión 0.8.1: eliminar franjas grises del mapa nativo
   ================================================================ */

/*
 * Kestrel coloca dentro de listing-map un Grid con:
 * width: calc(100% + 16px), margin: -8px y padding: 8px por hijo.
 * El encabezado oculto sigue consumiendo 16px verticales y el elemento
 * del mapa conserva 8px por lado. Se neutraliza solo esa estructura.
 */
[data-areg-native-map-grid="true"] {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

[data-areg-native-map-heading-item="true"] {
	display: none !important;
	visibility: hidden !important;
	box-sizing: border-box !important;
	width: 0 !important;
	min-width: 0 !important;
	max-width: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

[data-areg-native-map-body-item="true"] {
	display: block !important;
	box-sizing: border-box !important;
	flex: none !important;
	flex-basis: 100% !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

[data-areg-native-map-body-shell="true"],
[data-areg-native-map-root="true"],
[data-areg-native-map-canvas-container="true"] {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* El canvas debe tocar los cuatro bordes del contenedor. */
[data-areg-native-map-canvas="true"] {
	top: 0 !important;
	left: 0 !important;
	display: block !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Evitar que se vea el fondo gris durante el reajuste de Mapbox. */
.listing-section.areg-property-main
> [data-areg-native-location-section="map"] {
	padding: 0 !important;
	background: #ffffff !important;
}


/* ================================================================
   Versión 0.8.2: Street View dinámico con pin personalizado
   ================================================================ */

[data-areg-street-view-frame="true"] {
	position: absolute !important;
	inset: 0 !important;
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 0 !important;
	min-height: 0 !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
	background: #f3f3f3 !important;
}

/* Asegurar que los elementos creados por Google llenen el panel. */
[data-areg-street-view-frame="true"] > div {
	box-sizing: border-box !important;
	width: 100% !important;
	height: 100% !important;
}


/* ================================================================
   Versión 0.8.3: orden fijo de Location
   ================================================================ */

[data-areg-native-location-panel="map"] {
	order: 1 !important;
}

[data-areg-native-location-panel="street-view"] {
	order: 2 !important;
}

[data-areg-native-location-panel="schools"] {
	order: 3 !important;
}

[data-areg-native-location-panel="walk-score"] {
	order: 4 !important;
}


/* ================================================================
   Versión 0.8.5: spinner simple y transparente de Street View
   ================================================================ */

[data-areg-street-view-loading="true"] {
	position: absolute !important;
	inset: 0 !important;
	z-index: 20 !important;
	display: flex;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 20px !important;
	background: transparent !important;
	pointer-events: none !important;
}

[data-areg-street-view-spinner="true"] {
	display: block !important;
	box-sizing: border-box !important;
	width: 48px !important;
	height: 48px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 4px solid rgba(157, 7, 43, .20) !important;
	border-top-color: #9d072b !important;
	border-radius: 50% !important;
	animation: areg-street-view-spin .78s linear infinite !important;
}

/* Durante la carga el texto existe, pero no aparece detrás del spinner. */
[data-areg-street-view-loader-mode="loading"]
[data-areg-street-view-loader-text="true"] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* En caso de error se retira el spinner y aparece solamente el mensaje. */
[data-areg-street-view-loader-mode="error"] {
	background: rgba(255, 255, 255, .92) !important;
	pointer-events: auto !important;
}

[data-areg-street-view-loader-mode="error"]
[data-areg-street-view-spinner="true"] {
	display: none !important;
}

[data-areg-street-view-loader-mode="error"]
[data-areg-street-view-loader-text="true"] {
	position: static !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	max-width: 520px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	clip: auto !important;
	clip-path: none !important;
	color: #333333 !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.5 !important;
	text-align: center !important;
	white-space: normal !important;
}

@keyframes areg-street-view-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	[data-areg-street-view-spinner="true"] {
		animation-duration: 1.8s !important;
	}
}


/* ================================================================
   Versión 0.8.7: restaurar Schools y Walk Score nativos
   ================================================================ */

/*
 * Reglas heredadas de 0.6.x ocultaban estas secciones con height: 0,
 * max-height: 0 y pointer-events: none. display:block por sí solo no
 * podía recuperarlas. Estas reglas se basan en aria-hidden, que JS
 * actualiza al presionar cada botón.
 */
.listing-section.areg-property-main
> [data-areg-native-location-section="schools"][aria-hidden="false"],
.listing-section.areg-property-main
> [data-areg-native-location-section="walk-score"][aria-hidden="false"] {
	display: block !important;
	visibility: visible !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 0 34px !important;
	padding: 0 !important;
	overflow: hidden !important;
	opacity: 1 !important;
	pointer-events: auto !important;
}

.listing-section.areg-property-main
> [data-areg-native-location-section="schools"][aria-hidden="false"] {
	height: 600px !important;
	min-height: 600px !important;
	max-height: 600px !important;
}

.listing-section.areg-property-main
> [data-areg-native-location-section="walk-score"][aria-hidden="false"] {
	height: 420px !important;
	min-height: 420px !important;
	max-height: 420px !important;
}

.listing-section.areg-property-main
> [data-areg-native-location-section="schools"][aria-hidden="false"]
> div,
.listing-section.areg-property-main
> [data-areg-native-location-section="walk-score"][aria-hidden="false"]
> div {
	box-sizing: border-box !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.listing-section.areg-property-main
> [data-areg-native-location-section="schools"][aria-hidden="true"],
.listing-section.areg-property-main
> [data-areg-native-location-section="walk-score"][aria-hidden="true"] {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

@media (max-width: 600px) {
	.listing-section.areg-property-main
	> [data-areg-native-location-section="schools"][aria-hidden="false"] {
		height: 520px !important;
		min-height: 520px !important;
		max-height: 520px !important;
	}

	.listing-section.areg-property-main
	> [data-areg-native-location-section="walk-score"][aria-hidden="false"] {
		height: 380px !important;
		min-height: 380px !important;
		max-height: 380px !important;
	}
}


/* ================================================================
   Versión 0.8.8: alineación del Grid principal e iframes nativos
   ================================================================ */

/*
 * El Grid principal trae ui-grid-spacing-*:
 * - width: calc(100% + Npx)
 * - margin negativo
 * - padding horizontal en cada hijo
 *
 * Se neutraliza solamente dentro de .listing-section. La barra lateral
 * y los demás componentes de Kestrel no se modifican.
 */
.listing-section.areg-property-main
[data-areg-main-grid-normalized="true"],
.listing-section.areg-property-main[data-areg-main-grid-normalized="true"] {
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 0 auto !important;
	padding: 0 !important;
}

.listing-section.areg-property-main
> [data-areg-main-direct-child="true"] {
	box-sizing: border-box !important;
	flex-basis: 100% !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

/*
 * Mortgage Calculator:
 * solo se retiran los gutters de sus dos envolturas exteriores.
 * Los espacios internos entre inputs y columnas permanecen intactos.
 */
[data-areg-edge-section="mortgage"]
> .ui-grid-container {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

[data-areg-edge-section="mortgage"]
> .ui-grid-container
> .ui-grid-item {
	min-width: 0 !important;
}

[data-areg-edge-section="mortgage"]
> .ui-grid-container
> .ui-grid-item:first-child,
[data-areg-edge-section="mortgage"]
> .ui-grid-container
> .ui-grid-item:nth-child(2) {
	padding-right: 0 !important;
	padding-left: 0 !important;
}

[data-areg-edge-section="mortgage"]
> .ui-grid-container
> .ui-grid-item:nth-child(2)
> .mortgage-calculator.ui-grid-container {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

[data-areg-edge-section="mortgage"]
> .ui-grid-container
> .ui-grid-item:nth-child(2)
> .mortgage-calculator.ui-grid-container
> .ui-grid-item {
	padding-right: 0 !important;
	padding-left: 0 !important;
}

/*
 * Listing Footer:
 * el bloque legal debe alinearse con el mismo borde que el resto de
 * las secciones, sin gutters de 8px o 16px acumulados.
 */
[data-areg-edge-section="footer"]
.ui-grid-container {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

[data-areg-edge-section="footer"]
.ui-grid-container
> .ui-grid-item {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

/*
 * Schools y Walk Score:
 * el contenido interno pertenece a un iframe externo, por lo que no se
 * puede reestilizar su HTML. Se limpia por completo el marco exterior.
 */
.listing-section.areg-property-main
> [data-areg-native-embed-section] {
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 4px !important;
	background: #ffffff !important;
	box-shadow: none !important;
}

[data-areg-native-embed-grid="true"] {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #ffffff !important;
}

[data-areg-native-embed-heading-item="true"] {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

[data-areg-native-embed-body-item="true"],
[data-areg-native-embed-shell="true"] {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: #ffffff !important;
}

iframe[data-areg-native-embed-frame] {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	min-height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #ffffff !important;
}

/* Alturas actualizadas para mostrar más contenido antes del scroll interno. */
.listing-section.areg-property-main
> [data-areg-native-location-section="schools"][aria-hidden="false"] {
	height: 680px !important;
	min-height: 680px !important;
	max-height: 680px !important;
	background: #ffffff !important;
}

.listing-section.areg-property-main
> [data-areg-native-location-section="walk-score"][aria-hidden="false"] {
	height: 440px !important;
	min-height: 440px !important;
	max-height: 440px !important;
	background: #ffffff !important;
}

@media (max-width: 600px) {
	.listing-section.areg-property-main
	> [data-areg-native-location-section="schools"][aria-hidden="false"] {
		height: 620px !important;
		min-height: 620px !important;
		max-height: 620px !important;
	}

	.listing-section.areg-property-main
	> [data-areg-native-location-section="walk-score"][aria-hidden="false"] {
		height: 400px !important;
		min-height: 400px !important;
		max-height: 400px !important;
	}
}


/* ================================================================
   Versión 0.8.9: altura real de Schools y Walk Score
   ================================================================ */

/*
 * El alto estándar de un iframe sin una altura CSS resoluble es 150px.
 * Se usa una variable en píxeles y se aplica a cada wrapper para evitar
 * que height:100% pierda su referencia dentro de los Grids de Kestrel.
 */
.listing-section.areg-property-main
> [data-areg-native-embed-section="schools"][aria-hidden="false"] {
	--areg-native-embed-height: 680px;
}

.listing-section.areg-property-main
> [data-areg-native-embed-section="walk-score"][aria-hidden="false"] {
	--areg-native-embed-height: 440px;
}

.listing-section.areg-property-main
> [data-areg-native-embed-section][aria-hidden="false"]
> [data-areg-native-embed-grid="true"],
.listing-section.areg-property-main
> [data-areg-native-embed-section][aria-hidden="false"]
[data-areg-native-embed-body-item="true"],
.listing-section.areg-property-main
> [data-areg-native-embed-section][aria-hidden="false"]
[data-areg-native-embed-shell="true"],
.listing-section.areg-property-main
> [data-areg-native-embed-section][aria-hidden="false"]
iframe[data-areg-native-embed-frame] {
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: var(--areg-native-embed-height) !important;
	min-height: var(--areg-native-embed-height) !important;
	max-height: var(--areg-native-embed-height) !important;
	margin: 0 !important;
	padding: 0 !important;
}

.listing-section.areg-property-main
> [data-areg-native-embed-section][aria-hidden="false"]
iframe[data-areg-native-embed-frame] {
	display: block !important;
	border: 0 !important;
	overflow: auto !important;
}

@media (max-width: 600px) {
	.listing-section.areg-property-main
	> [data-areg-native-embed-section="schools"][aria-hidden="false"] {
		--areg-native-embed-height: 620px;
	}

	.listing-section.areg-property-main
	> [data-areg-native-embed-section="walk-score"][aria-hidden="false"] {
		--areg-native-embed-height: 400px;
	}
}


/* ================================================================
   Versión 0.9.0: separación uniforme, sin divisores y mapa estable
   ================================================================ */

.listing-section.areg-property-main {
	--areg-section-gap: 34px;
}

/*
 * Todas las secciones visuales principales comparten el mismo espacio.
 * Se eliminan márgenes superiores y padding usado anteriormente como
 * separación, porque ahora la separación depende de una sola variable.
 */
.listing-section.areg-property-main
> [data-areg-section-spacing] {
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin-top: 0 !important;
	margin-right: 0 !important;
	margin-bottom: var(--areg-section-gap) !important;
	margin-left: 0 !important;
	border-top: 0 !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
}

/* Quitar divisores colocados en la primera envoltura de una sección. */
.listing-section.areg-property-main
> [data-areg-section-spacing]
> .ui-grid-container {
	border-top: 0 !important;
	border-bottom: 0 !important;
}

/* Quitar divisores HR directos, sin tocar líneas internas de tablas o acordiones. */
.listing-section.areg-property-main
> [data-areg-section-spacing]
> hr {
	display: none !important;
}

/*
 * Estos bloques usaban padding superior/inferior como separador.
 * Se elimina para que todos comiencen a la misma distancia.
 */
.listing-section.areg-property-main
> [data-areg-section-spacing="summary"],
.listing-section.areg-property-main
> [data-areg-section-spacing="satisfied"],
.listing-section.areg-property-main
> [data-areg-section-spacing="features-summary"],
.listing-section.areg-property-main
> [data-areg-section-spacing="contact-agents"] {
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* Location es una sola sección formada por controles + panel activo. */
.listing-section.areg-property-main
> [data-areg-section-spacing="location-controls"] {
	margin-bottom: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="location-panel"][aria-hidden="true"] {
	margin: 0 !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="location-panel"][aria-hidden="false"] {
	margin: 0 0 var(--areg-section-gap) !important;
}

/* El bloque legal final no necesita espacio adicional debajo. */
.listing-section.areg-property-main
> [data-areg-section-spacing="footer"] {
	margin-bottom: 0 !important;
}

/*
 * El canvas de Mapbox debe llenar visualmente el contenedor desde la
 * primera pintura. Los resize posteriores corrigen también su resolución.
 */
[data-areg-native-map-canvas="true"] {
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
}

/*
 * El contenido GreatSchools observado en escritorio mide 567px.
 * Igualar el viewport elimina el espacio blanco inferior de 113px.
 */
.listing-section.areg-property-main
> [data-areg-native-embed-section="schools"][aria-hidden="false"] {
	--areg-native-embed-height: 567px;
	height: 567px !important;
	min-height: 567px !important;
	max-height: 567px !important;
}

@media (max-width: 600px) {
	.listing-section.areg-property-main
	> [data-areg-native-embed-section="schools"][aria-hidden="false"] {
		--areg-native-embed-height: 620px;
		height: 620px !important;
		min-height: 620px !important;
		max-height: 620px !important;
	}
}


/* ================================================================
   Versión 0.9.1: ajustes manuales por sección y flechas exteriores
   ================================================================ */

/* ---------------- Espacio después de cada sección ---------------- */

.listing-section.areg-property-main
> [data-areg-section-spacing="gallery"] {
	margin-bottom: var(--areg-gap-after-gallery) !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="summary"] {
	margin-bottom: var(--areg-gap-after-summary) !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="description"] {
	margin-bottom: var(--areg-gap-after-description) !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="open-house"] {
	margin-bottom: var(--areg-gap-after-open-house) !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="location-panel"][aria-hidden="false"] {
	margin-bottom: var(--areg-gap-after-location) !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="satisfied"] {
	margin-bottom: var(--areg-gap-after-satisfied) !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="features-summary"] {
	margin-bottom: var(--areg-gap-after-features-summary) !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="property-details"] {
	margin-bottom: var(--areg-gap-after-property-details) !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="similar"] {
	margin-bottom: var(--areg-gap-after-similar) !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="mortgage"] {
	margin-bottom: var(--areg-gap-after-mortgage) !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="contact-agents"] {
	margin-bottom: var(--areg-gap-after-contact-agents) !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="footer"] {
	margin-bottom: var(--areg-gap-after-footer) !important;
}

/* ---------------- Espacio entre título y contenido ---------------- */

.listing-section.areg-property-main
> [data-areg-section-spacing="description"]
[data-areg-section-title="true"] {
	margin-bottom: var(--areg-title-gap-description) !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="location-controls"]
[data-areg-section-title="true"] {
	margin-bottom: var(--areg-title-gap-location) !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="satisfied"]
[data-areg-section-title="true"] {
	margin-bottom: var(--areg-title-gap-satisfied) !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="features-summary"]
[data-areg-section-title="true"] {
	margin-bottom: var(--areg-title-gap-features-summary) !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="property-details"]
[data-areg-section-title="true"] {
	margin-bottom: var(--areg-title-gap-property-details) !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="similar"]
[data-areg-section-title="true"] {
	margin-bottom: var(--areg-title-gap-similar) !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="mortgage"]
[data-areg-section-title="true"] {
	margin-bottom: var(--areg-title-gap-mortgage) !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="contact-agents"]
[data-areg-section-title="true"] {
	margin-bottom: var(--areg-title-gap-contact-agents) !important;
}

/*
 * La barra de botones Location tenía 22px escritos directamente.
 * Ahora también se controla desde el bloque de ajustes manuales.
 */
[data-areg-native-location-tabs="true"] {
	margin-bottom: var(--areg-gap-location-tabs-to-panel) !important;
}

/* ---------------- Flechas de Similar Listings ---------------- */

/*
 * Todos los wrappers exteriores permiten que las flechas se salgan de
 * la alineación principal. El viewport sigue ocultando las tarjetas.
 */
[data-areg-similar-listings="true"],
[data-areg-similar-shell="true"],
[data-areg-similar-content-item="true"],
[data-areg-similar-carousel-host="true"],
[data-areg-similar-slider-frame="true"] {
	overflow: visible !important;
}

/*
 * En escritorio las flechas se desplazan hacia afuera.
 * El valor se modifica en --areg-similar-arrow-outset.
 */
@media (min-width: 900px) {
	[data-areg-similar-arrow="previous"] {
		left: calc(var(--areg-similar-arrow-outset) * -1) !important;
		right: auto !important;
	}

	[data-areg-similar-arrow="next"] {
		right: calc(var(--areg-similar-arrow-outset) * -1) !important;
		left: auto !important;
	}
}

/* Tablet y móvil conservan las flechas dentro del ancho disponible. */
@media (max-width: 899px) {
	[data-areg-similar-arrow="previous"] {
		left: 0 !important;
	}

	[data-areg-similar-arrow="next"] {
		right: 0 !important;
	}
}


/* ================================================================
   Versión 0.9.2: acordeón, ajustes negativos y sidebar sticky
   ================================================================ */

/* Property Details: texto de las filas a 16px en todos los tamaños. */
[data-areg-property-details="true"]
[data-areg-accordion-trigger] {
	font-size: var(--areg-property-details-row-font-size) !important;
}

@media (max-width: 480px) {
	[data-areg-property-details="true"]
	[data-areg-accordion-trigger] {
		font-size: var(--areg-property-details-row-font-size) !important;
	}
}

/*
 * Quitar el padding-top:40px nativo de Kestrel y permitir ajustes
 * negativos para acercar secciones incluso cuando el gap anterior es 0.
 */
.listing-section.areg-property-main
> [data-areg-section-spacing="description"] {
	margin-top: var(--areg-top-adjust-description) !important;
	padding-top: 0 !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="location-controls"] {
	margin-top: var(--areg-top-adjust-location) !important;
	padding-top: 0 !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="satisfied"] {
	margin-top: var(--areg-top-adjust-satisfied) !important;
	padding-top: 0 !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="features-summary"] {
	margin-top: var(--areg-top-adjust-features-summary) !important;
	padding-top: 0 !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="property-details"] {
	margin-top: var(--areg-top-adjust-property-details) !important;
	padding-top: 0 !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="similar"] {
	margin-top: var(--areg-top-adjust-similar) !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="mortgage"] {
	margin-top: var(--areg-top-adjust-mortgage) !important;
	padding-top: 0 !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="contact-agents"] {
	margin-top: var(--areg-top-adjust-contact-agents) !important;
	padding-top: 0 !important;
}

.listing-section.areg-property-main
> [data-areg-section-spacing="footer"] {
	margin-top: var(--areg-top-adjust-footer) !important;
	padding-top: 0 !important;
}

/* Location ya depende realmente de --areg-gap-after-location. */
.listing-section.areg-property-main
> [data-areg-section-spacing="location-panel"][aria-hidden="false"] {
	margin-top: 0 !important;
	margin-right: 0 !important;
	margin-bottom: var(--areg-gap-after-location) !important;
	margin-left: 0 !important;
}

/* Contact Agents: separar sin línea divisoria. */
[data-areg-contact-agents-list="true"] {
	gap: var(--areg-contact-agent-gap) !important;
}

[data-areg-contact-agent],
[data-areg-contact-agent]:not(:last-child),
[data-areg-contact-agent]:last-child {
	padding-bottom: 0 !important;
	border-bottom: 0 !important;
}

/* ---------------- Barra lateral derecha ---------------- */

@media (min-width: 900px) {
	[data-areg-listing-detail-layout="true"] {
		align-items: stretch !important;
		overflow: visible !important;
	}

	[data-areg-sidebar="true"] {
		box-sizing: border-box !important;
		align-self: stretch !important;
		padding-top: var(--areg-sidebar-parent-padding-top) !important;
		overflow: visible !important;
	}

	[data-areg-sidebar-sticky="true"] {
		position: sticky !important;
		top: var(--areg-sidebar-sticky-top) !important;
		align-self: flex-start !important;
		box-sizing: border-box !important;
		width: 100% !important;
		margin-top:
			calc(
				var(--areg-sidebar-measured-offset, 0px) +
				var(--areg-sidebar-extra-top-adjust)
			) !important;
		z-index: 12 !important;
	}

	[data-areg-sidebar-empty-spacer="true"] {
		display: none !important;
		visibility: hidden !important;
		width: 0 !important;
		height: 0 !important;
		min-height: 0 !important;
		max-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
	}
}

@media (max-width: 899px) {
	[data-areg-sidebar="true"] {
		padding-top: 0 !important;
	}

	[data-areg-sidebar-sticky="true"] {
		position: static !important;
		top: auto !important;
		margin-top: 0 !important;
	}
}


/* ================================================================
   Versión 0.9.3: Satisfied Buyers, acordeones, precio y sticky real
   ================================================================ */

/* ---------------- Satisfied Buyers ---------------- */

/*
 * La primera columna ya no se centra verticalmente respecto al carrusel.
 * Ambas columnas comienzan desde la parte superior.
 */
[data-areg-satisfied-grid="true"] {
	align-items: start !important;
}

[data-areg-satisfied-copy="true"] {
	align-self: start !important;
	justify-content: flex-start !important;
}

/* ---------------- Property Details ---------------- */

/* Título de cada acordeón. */
[data-areg-property-details="true"]
[data-areg-accordion-trigger] {
	font-size: var(--areg-property-details-row-font-size) !important;
}

/* Contenido de cada acordeón. */
[data-areg-property-details="true"] .amweb {
	font-size: var(--areg-property-details-content-font-size) !important;
}

/* ---------------- Resumen de precio ---------------- */

/*
 * Reduce el espacio entre el precio y los datos de la propiedad.
 * El valor se modifica arriba con --areg-summary-price-to-facts-gap.
 */
.listing-section.areg-property-main
.areg-summary__price {
	margin-bottom:
		var(--areg-summary-price-to-facts-gap) !important;
}

/* ---------------- Barra lateral sticky ---------------- */

@media (min-width: 900px) {
	/*
	 * Mantener el diseño nativo de dos columnas.
	 */
	[data-areg-listing-detail-layout="true"] {
		flex-direction: row-reverse !important;
		flex-wrap: nowrap !important;
		align-items: flex-start !important;
		overflow: visible !important;
	}

	/*
	 * Estos ancestros podían bloquear position:sticky.
	 * No se modifican sus anchos ni sus flex-basis.
	 */
	[data-areg-page-container="true"],
	[data-areg-content-container="true"],
	[data-areg-listing-detail-layout="true"] {
		overflow: visible !important;
		overflow-x: visible !important;
		overflow-y: visible !important;
		contain: none !important;
	}

	/*
	 * La columna lateral conserva el ancho responsive nativo de Kestrel.
	 */
	[data-areg-sidebar="true"] {
		position: relative !important;
		top: auto !important;
		align-self: stretch !important;
		box-sizing: border-box !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin-top: 0 !important;
		padding-top:
			var(--areg-sidebar-parent-padding-top) !important;
		overflow: visible !important;
		z-index: auto !important;
	}

	/*
	 * Sticky se aplica al Grid interior.
	 */
	[data-areg-sidebar-sticky="true"] {
		position: sticky !important;
		top: var(--areg-sidebar-sticky-top) !important;
		align-self: flex-start !important;
		box-sizing: border-box !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin-top:
			calc(
				var(--areg-sidebar-measured-offset, 0px) +
				var(--areg-sidebar-extra-top-adjust)
			) !important;
		overflow: visible !important;
		z-index: 12 !important;
	}
}

@media (max-width: 899px) {
	[data-areg-sidebar="true"],
	[data-areg-sidebar-sticky="true"] {
		position: static !important;
		top: auto !important;
		height: auto !important;
		margin-top: 0 !important;
	}
}


/* ================================================================
   Versión 0.9.4: protección del diseño de dos columnas
   ================================================================ */

@media (min-width: 900px) {
	/*
	 * La barra lateral no crece para ocupar toda la fila.
	 * El ancho sigue siendo el definido por Kestrel.
	 */
	[data-areg-listing-detail-layout="true"]
	> [data-areg-sidebar="true"] {
		flex-grow: 0 !important;
		flex-shrink: 0 !important;
	}

	/*
	 * La columna principal ocupa solamente el espacio restante.
	 */
	[data-areg-listing-detail-layout="true"]
	> .ui-grid-item.ui-grid-xs-true:not([data-areg-sidebar="true"]) {
		flex-grow: 1 !important;
		flex-shrink: 1 !important;
		min-width: 0 !important;
	}
}


/* ================================================================
   Versión 0.9.5: sticky directo y ancestros externos desbloqueados
   ================================================================ */

@media (min-width: 900px) {
	/*
	 * La columna lateral es el elemento sticky.
	 *
	 * Es hija directa del contenedor alto de dos columnas, por lo que
	 * dispone de todo el recorrido vertical de la columna principal.
	 * No se establece width:100%; conserva los 386px nativos de Kestrel.
	 */
	[data-areg-listing-detail-layout="true"]
	> [data-areg-sidebar="true"] {
		position: sticky !important;
		top: var(--areg-sidebar-sticky-top) !important;
		align-self: flex-start !important;
		height: max-content !important;
		min-height: 0 !important;
		max-height: none !important;
		margin-top: 0 !important;
		overflow: visible !important;
		z-index: 12 !important;
	}

	/*
	 * El Grid interior vuelve al flujo normal.
	 * Conserva el pequeño desplazamiento que lo alinea con la galería.
	 */
	[data-areg-sidebar-sticky="true"] {
		position: static !important;
		top: auto !important;
		align-self: auto !important;
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin-top:
			calc(
				var(--areg-sidebar-measured-offset, 0px) +
				var(--areg-sidebar-extra-top-adjust)
			) !important;
		overflow: visible !important;
		z-index: auto !important;
	}

	/*
	 * Mantener sin cambios la distribución principal:
	 * sidebar con ancho nativo y contenido ocupando el espacio restante.
	 */
	[data-areg-listing-detail-layout="true"] {
		flex-direction: row-reverse !important;
		flex-wrap: nowrap !important;
		align-items: flex-start !important;
		overflow: visible !important;
	}
}

@media (max-width: 899px) {
	[data-areg-listing-detail-layout="true"]
	> [data-areg-sidebar="true"],
	[data-areg-sidebar-sticky="true"] {
		position: static !important;
		top: auto !important;
		height: auto !important;
		margin-top: 0 !important;
	}
}


/* ================================================================
   Versión 0.9.6: variables resueltas en la barra lateral
   ================================================================ */

/*
 * Valores de respaldo. JavaScript copia aquí los valores actuales del
 * panel manual que vive en .listing-section.
 */
[data-areg-sidebar="true"] {
	--areg-sidebar-parent-padding-top: 0px;
	--areg-sidebar-extra-top-adjust: 0px;
	--areg-sidebar-sticky-top: 16px;
}

@media (min-width: 900px) {
	/*
	 * La propiedad crítica es top. Ahora siempre tiene un valor resuelto
	 * directamente sobre el mismo elemento sticky.
	 */
	[data-areg-listing-detail-layout="true"]
	> [data-areg-sidebar="true"][data-areg-sidebar-sticky-active="true"] {
		position: sticky !important;
		top: var(--areg-sidebar-sticky-top, 16px) !important;
		align-self: flex-start !important;
		height: max-content !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow: visible !important;
	}

	/*
	 * El Grid interior permanece estático. La columna exterior es sticky.
	 */
	[data-areg-sidebar-sticky="true"] {
		position: static !important;
		top: auto !important;
	}
}


/* ================================================================
   Versión 0.9.10/0.9.12: full bleed solo en teléfonos
   ================================================================ */

@media (max-width: 767px) {
	/*
	 * Quitar únicamente el espacio superior que Avada agrega alrededor
	 * del contenido en páginas de detalle de propiedades.
	 */
	body.areg-property-detail-page #main {
		padding-top: 0 !important;
	}

	body.areg-property-detail-page #main > .fusion-row,
	body.areg-property-detail-page #content,
	body.areg-property-detail-page .post-content,
	body.areg-property-detail-page .ihf-container {
		margin-top: 0 !important;
		padding-top: 0 !important;
	}

	/*
	 * La galería sale de los gutters del contenido y ocupa el viewport
	 * completo, sin cambiar el ancho de las demás secciones.
	 */
	.listing-section.areg-property-main
	> .areg-block--gallery {
		box-sizing: border-box !important;
		width: 100vw !important;
		min-width: 100vw !important;
		max-width: 100vw !important;
		margin-right: calc(50% - 50vw) !important;
		margin-left: calc(50% - 50vw) !important;
		padding: 0 !important;
	}

	.listing-section.areg-property-main
	.listing-photo-carousel {
		width: 100vw !important;
		min-width: 100vw !important;
		max-width: 100vw !important;
		border-radius: 0 !important;
	}

	.listing-section.areg-property-main
	.listing-photo-carousel img {
		width: 100% !important;
		max-width: none !important;
	}

	@supports (width: 100dvw) {
		.listing-section.areg-property-main
		> .areg-block--gallery {
			width: 100dvw !important;
			min-width: 100dvw !important;
			max-width: 100dvw !important;
			margin-right: calc(50% - 50dvw) !important;
			margin-left: calc(50% - 50dvw) !important;
		}

		.listing-section.areg-property-main
		.listing-photo-carousel {
			width: 100dvw !important;
			min-width: 100dvw !important;
			max-width: 100dvw !important;
		}
	}
}


/* ================================================================
   Versión 0.9.11: contador de fotografías 1/40
   ================================================================ */

.listing-section.areg-property-main
> [data-areg-gallery-counter-host="true"] {
	position: relative !important;
}

/*
 * Apariencia equivalente al badge de V9.
 */
[data-areg-gallery-counter="true"] {
	position: absolute !important;
	right: var(--areg-gallery-counter-right) !important;
	bottom: var(--areg-gallery-counter-bottom) !important;
	z-index: 40 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	min-width: 47px !important;
	margin: 0 !important;
	padding: 5px 10px !important;
	border: 0 !important;
	border-radius: 5px !important;
	background: rgba(0, 0, 0, .56) !important;
	color: #ffffff !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: var(--areg-gallery-counter-font-size) !important;
	font-weight: 600 !important;
	line-height: 20px !important;
	letter-spacing: .01em !important;
	text-align: center !important;
	white-space: nowrap !important;
	pointer-events: none !important;
	user-select: none !important;
}

[data-areg-gallery-counter="true"][hidden] {
	display: none !important;
}

@media (max-width: 820px) {
	[data-areg-gallery-counter="true"] {
		right: max(
			var(--areg-gallery-counter-right),
			env(safe-area-inset-right)
		) !important;
		bottom: max(
			8px,
			env(safe-area-inset-bottom)
		) !important;
	}
}


/* ================================================================
   Versión 0.9.12: restaurar ancho normal desde 768px
   ================================================================ */

/*
 * El efecto de borde a borde termina en 767px.
 * Desde 768px la galería vuelve al ancho de su columna principal.
 */
@media (min-width: 768px) {
	.listing-section.areg-property-main
	> .areg-block--gallery {
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		padding: 0 !important;
	}

	.listing-section.areg-property-main
	.listing-photo-carousel {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		border-radius: 4px !important;
	}

	.listing-section.areg-property-main
	.listing-photo-carousel img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
	}
}


/* ================================================================
   Versión 0.9.13: barra superior alineada al contenido principal
   ================================================================ */

@media (min-width: 768px) {
	.fusion-secondary-header > .fusion-row {
		width: 100% !important;
		max-width:
			var(--areg-header-content-max-width, 1100px) !important;
		margin-right: auto !important;
		margin-left: auto !important;
	}
}

/*
 * En móvil continúa ocupando el ancho disponible del header, respetando
 * el padding lateral que ya aplica Avada.
 */
@media (max-width: 767px) {
	.fusion-secondary-header > .fusion-row {
		width: 100% !important;
		max-width: 100% !important;
	}
}


/* ================================================================
   Versión 0.9.14: flechas móviles centradas en la tarjeta visible
   ================================================================ */

@media (max-width: 767px) {
	/*
	 * El frame permite que salga la mitad de cada botón.
	 * El viewport continúa recortando las propiedades no activas.
	 */
	[data-areg-similar-slider-frame="true"] {
		position: relative !important;
		overflow: visible !important;
	}

	[data-areg-similar-viewport="true"] {
		overflow: hidden !important;
	}

	/*
	 * JavaScript calcula el centro exacto de la tarjeta visible.
	 * El 50% queda como respaldo mientras termina la primera medición.
	 */
	[data-areg-similar-arrow] {
		top:
			var(
				--areg-similar-mobile-arrow-top,
				50%
			) !important;
		bottom: auto !important;
		width:
			var(--areg-similar-mobile-arrow-width) !important;
		min-width:
			var(--areg-similar-mobile-arrow-width) !important;
		max-width:
			var(--areg-similar-mobile-arrow-width) !important;
		height:
			var(--areg-similar-mobile-arrow-height) !important;
		margin: 0 !important;
		transform: translateY(-50%) !important;
	}

	/*
	 * Cada botón mide 42px y sale 21px:
	 * exactamente 50% fuera de la columna principal.
	 */
	[data-areg-similar-arrow="previous"] {
		right: auto !important;
		left:
			calc(
				0px -
				var(--areg-similar-mobile-arrow-outset)
			) !important;
	}

	[data-areg-similar-arrow="next"] {
		right:
			calc(
				0px -
				var(--areg-similar-mobile-arrow-outset)
			) !important;
		left: auto !important;
	}
}


/* ================================================================
   Versión 0.9.15: flechas reales sobre Similar Listings
   ================================================================ */

/*
 * El padre común contiene la fila de botones y el slider.
 * Ahora sí puede servir como referencia para position:absolute.
 */
[data-areg-similar-positioner="true"] {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	overflow: visible !important;
}

/*
 * La fila que Kestrel coloca arriba deja de consumir espacio vertical.
 * Los botones permanecen intactos y conservan sus eventos React.
 */
[data-areg-similar-controls-item="true"] {
	position: static !important;
	flex: 0 0 0 !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	z-index: 30 !important;
}

[data-areg-similar-controls-layout="true"] {
	position: static !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}

/*
 * Se aplican las reglas directamente a los botones semánticos reales.
 */
[data-areg-similar-positioner="true"]
[data-areg-similar-arrow] {
	position: absolute !important;
	top: 50% !important;
	bottom: auto !important;
	z-index: 40 !important;
	margin: 0 !important;
	transform: translateY(-50%) !important;
}

/* Escritorio conserva la salida lateral ya configurada. */
@media (min-width: 900px) {
	[data-areg-similar-positioner="true"]
	[data-areg-similar-arrow="previous"] {
		right: auto !important;
		left:
			calc(
				var(--areg-similar-arrow-outset) * -1
			) !important;
	}

	[data-areg-similar-positioner="true"]
	[data-areg-similar-arrow="next"] {
		right:
			calc(
				var(--areg-similar-arrow-outset) * -1
			) !important;
		left: auto !important;
	}
}

/*
 * En móvil se usa el centro calculado de la tarjeta visible.
 * 21px de 42px quedan fuera de la columna.
 */
@media (max-width: 767px) {
	[data-areg-similar-positioner="true"]
	[data-areg-similar-arrow] {
		top:
			var(
				--areg-similar-mobile-arrow-top,
				50%
			) !important;
		width:
			var(--areg-similar-mobile-arrow-width) !important;
		min-width:
			var(--areg-similar-mobile-arrow-width) !important;
		max-width:
			var(--areg-similar-mobile-arrow-width) !important;
		height:
			var(--areg-similar-mobile-arrow-height) !important;
	}

	[data-areg-similar-positioner="true"]
	[data-areg-similar-arrow="previous"] {
		right: auto !important;
		left:
			calc(
				0px -
				var(--areg-similar-mobile-arrow-outset)
			) !important;
	}

	[data-areg-similar-positioner="true"]
	[data-areg-similar-arrow="next"] {
		right:
			calc(
				0px -
				var(--areg-similar-mobile-arrow-outset)
			) !important;
		left: auto !important;
	}
}


/* ================================================================
   Versión 0.9.16: precio de Similar Listings en móvil
   ================================================================ */

@media (max-width: 767px) {
	/*
	 * Se aplica tanto al wrapper nativo como al párrafo marcado por el
	 * plugin, para neutralizar el tamaño heredado de Kestrel.
	 */
	[data-areg-similar-listings="true"]
	.ihf-listing-result-price,
	[data-areg-similar-listings="true"]
	.ihf-listing-result-price p,
	[data-areg-similar-listings="true"]
	[data-areg-similar-price="true"] {
		font-size:
			var(--areg-similar-mobile-price-font-size) !important;
		line-height: 1.25 !important;
	}
}


/* ================================================================
   Versión 0.9.19: flechas overlay estables en móvil y escritorio
   ================================================================ */

/*
 * Los botones React originales permanecen disponibles para recibir el clic,
 * pero su fila visual se oculta. Esto evita que el flex nativo coloque una
 * flecha en la parte superior y la otra en la parte inferior.
 */
[data-areg-similar-native-controls="true"],
[data-areg-similar-native-arrow] {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

/*
 * Las nuevas flechas son hijas directas del padre común del carrusel.
 * Ambas comparten exactamente el mismo top y el mismo sistema de coordenadas.
 */
[data-areg-similar-positioner="true"]
> [data-areg-similar-overlay-arrow] {
	position: absolute !important;
	top: 50% !important;
	bottom: auto !important;
	z-index: 50 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 48px !important;
	min-width: 48px !important;
	max-width: 48px !important;
	height: 72px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 4px !important;
	background: rgba(255, 255, 255, .9) !important;
	color: #747474 !important;
	box-shadow: 0 1px 5px rgba(0, 0, 0, .12) !important;
	transform: translateY(-50%) !important;
	transition:
		background-color .2s ease,
		color .2s ease,
		box-shadow .2s ease !important;
	cursor: pointer !important;
}

[data-areg-similar-positioner="true"]
> [data-areg-similar-overlay-arrow]:hover,
[data-areg-similar-positioner="true"]
> [data-areg-similar-overlay-arrow]:focus-visible {
	background: #ffffff !important;
	color: #333333 !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .18) !important;
}

[data-areg-similar-positioner="true"]
> [data-areg-similar-overlay-arrow]:disabled {
	opacity: .35 !important;
	cursor: default !important;
}

[data-areg-similar-positioner="true"]
> [data-areg-similar-overlay-arrow] svg {
	display: block !important;
	width: 34px !important;
	height: 34px !important;
}

/* Escritorio: las dos flechas quedan centradas respecto a las tres tarjetas. */
@media (min-width: 900px) {
	[data-areg-similar-positioner="true"]
	> [data-areg-similar-overlay-arrow="previous"] {
		right: auto !important;
		left:
			calc(
				var(--areg-similar-arrow-outset) * -1
			) !important;
	}

	[data-areg-similar-positioner="true"]
	> [data-areg-similar-overlay-arrow="next"] {
		right:
			calc(
				var(--areg-similar-arrow-outset) * -1
			) !important;
		left: auto !important;
	}
}

/* Tablet: mantenerlas dentro de la columna. */
@media (min-width: 768px) and (max-width: 899px) {
	[data-areg-similar-positioner="true"]
	> [data-areg-similar-overlay-arrow="previous"] {
		right: auto !important;
		left: 0 !important;
	}

	[data-areg-similar-positioner="true"]
	> [data-areg-similar-overlay-arrow="next"] {
		right: 0 !important;
		left: auto !important;
	}
}

/*
 * Teléfono: conservar la medición vertical de la tarjeta visible y dejar
 * exactamente la mitad del botón fuera de la columna.
 */
@media (max-width: 767px) {
	[data-areg-similar-positioner="true"]
	> [data-areg-similar-overlay-arrow] {
		top:
			var(
				--areg-similar-mobile-arrow-top,
				50%
			) !important;
		width:
			var(--areg-similar-mobile-arrow-width) !important;
		min-width:
			var(--areg-similar-mobile-arrow-width) !important;
		max-width:
			var(--areg-similar-mobile-arrow-width) !important;
		height:
			var(--areg-similar-mobile-arrow-height) !important;
	}

	[data-areg-similar-positioner="true"]
	> [data-areg-similar-overlay-arrow="previous"] {
		right: auto !important;
		left:
			calc(
				0px -
				var(--areg-similar-mobile-arrow-outset)
			) !important;
	}

	[data-areg-similar-positioner="true"]
	> [data-areg-similar-overlay-arrow="next"] {
		right:
			calc(
				0px -
				var(--areg-similar-mobile-arrow-outset)
			) !important;
		left: auto !important;
	}

	[data-areg-similar-positioner="true"]
	> [data-areg-similar-overlay-arrow] svg {
		width: 30px !important;
		height: 30px !important;
	}
}


/* ================================================================
   Versión 0.9.20: restaurar flechas nativas funcionales
   ================================================================ */

/*
 * Eliminar visualmente cualquier botón overlay heredado de v0.9.19.
 * La regla [hidden] también queda protegida contra display!important.
 */
[data-areg-similar-positioner="true"]
> [data-areg-similar-overlay-arrow],
[data-areg-similar-positioner="true"]
> [data-areg-similar-overlay-arrow][hidden] {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

/*
 * La fila externa permanece en el DOM y con altura cero. No se usa
 * display:none porque contiene los botones React que deben recibir el clic.
 */
[data-areg-similar-page-controls="true"] {
	position: static !important;
	display: block !important;
	box-sizing: border-box !important;
	flex: 0 0 0 !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	visibility: visible !important;
	opacity: 1 !important;
}

/*
 * Todos los wrappers entre la fila y el botón quedan estáticos. De este
 * modo el padre position:relative real es ihf-gallery-slider-container.
 */
[data-areg-similar-page-controls-layout="true"] {
	position: static !important;
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	visibility: visible !important;
	opacity: 1 !important;
}

/*
 * Se estilizan directamente los botones nativos. Por eso conservan todos
 * los eventos y estados administrados por React/Kestrel.
 */
[data-areg-similar-positioner="true"]
[data-areg-similar-page-arrow] {
	position: absolute !important;
	top: 50% !important;
	bottom: auto !important;
	z-index: 60 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 48px !important;
	min-width: 48px !important;
	max-width: 48px !important;
	height: 72px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 4px !important;
	background: rgba(255, 255, 255, .96) !important;
	color: #747474 !important;
	box-shadow: 0 1px 5px rgba(0, 0, 0, .16) !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transform: translateY(-50%) !important;
	cursor: pointer !important;
}

[data-areg-similar-positioner="true"]
[data-areg-similar-page-arrow]:hover,
[data-areg-similar-positioner="true"]
[data-areg-similar-page-arrow]:focus-visible {
	background: #ffffff !important;
	color: #333333 !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .22) !important;
}

[data-areg-similar-positioner="true"]
[data-areg-similar-page-arrow]:disabled,
[data-areg-similar-positioner="true"]
[data-areg-similar-page-arrow][aria-disabled="true"] {
	opacity: .45 !important;
	cursor: default !important;
}

[data-areg-similar-positioner="true"]
[data-areg-similar-page-arrow] svg {
	display: block !important;
	width: 34px !important;
	height: 34px !important;
}

/* Escritorio: centro vertical del conjunto completo de tres propiedades. */
@media (min-width: 900px) {
	[data-areg-similar-positioner="true"]
	[data-areg-similar-page-arrow="previous"] {
		right: auto !important;
		left:
			calc(
				var(--areg-similar-arrow-outset) * -1
			) !important;
	}

	[data-areg-similar-positioner="true"]
	[data-areg-similar-page-arrow="next"] {
		right:
			calc(
				var(--areg-similar-arrow-outset) * -1
			) !important;
		left: auto !important;
	}
}

/* Tablet: mantener los botones dentro de la columna. */
@media (min-width: 768px) and (max-width: 899px) {
	[data-areg-similar-positioner="true"]
	[data-areg-similar-page-arrow="previous"] {
		right: auto !important;
		left: 0 !important;
	}

	[data-areg-similar-positioner="true"]
	[data-areg-similar-page-arrow="next"] {
		right: 0 !important;
		left: auto !important;
	}
}

/*
 * Teléfono: conservar el centro medido de la tarjeta visible y la salida
 * lateral exacta del 50% solicitada.
 */
@media (max-width: 767px) {
	[data-areg-similar-positioner="true"]
	[data-areg-similar-page-arrow] {
		top:
			var(
				--areg-similar-mobile-arrow-top,
				50%
			) !important;
		width:
			var(--areg-similar-mobile-arrow-width) !important;
		min-width:
			var(--areg-similar-mobile-arrow-width) !important;
		max-width:
			var(--areg-similar-mobile-arrow-width) !important;
		height:
			var(--areg-similar-mobile-arrow-height) !important;
		background: rgba(255, 255, 255, .98) !important;
		opacity: 1 !important;
	}

	[data-areg-similar-positioner="true"]
	[data-areg-similar-page-arrow="previous"] {
		right: auto !important;
		left:
			calc(
				0px -
				var(--areg-similar-mobile-arrow-outset)
			) !important;
	}

	[data-areg-similar-positioner="true"]
	[data-areg-similar-page-arrow="next"] {
		right:
			calc(
				0px -
				var(--areg-similar-mobile-arrow-outset)
			) !important;
		left: auto !important;
	}

	[data-areg-similar-positioner="true"]
	[data-areg-similar-page-arrow] svg {
		width: 30px !important;
		height: 30px !important;
	}
}


/* ================================================================
   Versión 0.9.21: flechas nativas para ambas estructuras Kestrel
   ================================================================ */

/*
 * En móvil las dos flechas pueden compartir esta caja.
 * En desktop Kestrel puede crear dos cajas separadas, una antes y otra
 * después del slider. Todas se colapsan sin ocultar los botones React.
 */
[data-areg-similar-page-control-item="true"],
[data-areg-similar-page-controls-layout="true"] {
	position: static !important;
	display: block !important;
	box-sizing: border-box !important;
	flex: 0 0 0 !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
	visibility: visible !important;
	opacity: 1 !important;
}

/*
 * Regla final de máxima prioridad para las flechas nativas externas.
 * Los valores left/right/top también se escriben inline con !important
 * para que la estructura desktop no pueda devolverlas arriba o abajo.
 */
[data-areg-similar-positioner="true"]
[data-areg-similar-page-arrow] {
	position: absolute !important;
	top: 50% !important;
	bottom: auto !important;
	z-index: 70 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 48px !important;
	min-width: 48px !important;
	max-width: 48px !important;
	height: 72px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 4px !important;
	background: rgba(255, 255, 255, .98) !important;
	color: #747474 !important;
	box-shadow: 0 1px 5px rgba(0, 0, 0, .18) !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	transform: translateY(-50%) !important;
	cursor: pointer !important;
}

[data-areg-similar-positioner="true"]
[data-areg-similar-page-arrow="previous"] {
	right: auto !important;
}

[data-areg-similar-positioner="true"]
[data-areg-similar-page-arrow="next"] {
	left: auto !important;
}

@media (max-width: 767px) {
	[data-areg-similar-positioner="true"]
	[data-areg-similar-page-arrow] {
		width:
			var(--areg-similar-mobile-arrow-width) !important;
		min-width:
			var(--areg-similar-mobile-arrow-width) !important;
		max-width:
			var(--areg-similar-mobile-arrow-width) !important;
		height:
			var(--areg-similar-mobile-arrow-height) !important;
	}
}


/* ================================================================
   Versión 0.9.22: desktop restaurado desde v0.9.7
   ================================================================ */

/*
 * Neutralizar por completo los atributos de los experimentos v0.9.14
 * a v0.9.21. JavaScript los retira, y estas reglas cubren el instante
 * anterior a que termine la limpieza.
 */
[data-areg-similar-positioner="true"]
> [data-areg-similar-overlay-arrow],
[data-areg-similar-positioner="true"]
[data-areg-similar-page-arrow],
[data-areg-similar-positioner="true"]
[data-areg-similar-native-arrow] {
	display: none !important;
}

/*
 * DESKTOP Y TABLET — mismo método de v0.9.7.
 *
 * Las flechas son botones nativos hijos directos de sliderFrame.
 * El frame es position:relative y los botones quedan superpuestos.
 */
@media (min-width: 768px) {
	[data-areg-similar-desktop-frame="true"] {
		position: relative !important;
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
	}

	[data-areg-similar-desktop-frame="true"]
	> [data-areg-similar-desktop-arrow] {
		position: absolute !important;
		top: 50% !important;
		bottom: auto !important;
		z-index: 80 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		width: 48px !important;
		min-width: 48px !important;
		max-width: 48px !important;
		height: 72px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 4px !important;
		background: rgba(255, 255, 255, .9) !important;
		color: #747474 !important;
		box-shadow: 0 1px 5px rgba(0, 0, 0, .12) !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transform: translateY(-50%) !important;
		cursor: pointer !important;
	}

	[data-areg-similar-desktop-frame="true"]
	> [data-areg-similar-desktop-arrow="previous"] {
		right: auto !important;
		left: 0 !important;
	}

	[data-areg-similar-desktop-frame="true"]
	> [data-areg-similar-desktop-arrow="next"] {
		right: 0 !important;
		left: auto !important;
	}

	[data-areg-similar-desktop-frame="true"]
	> [data-areg-similar-desktop-arrow] svg {
		display: block !important;
		width: 34px !important;
		height: 34px !important;
	}
}

/* En escritorio ancho, volver a sacar las flechas como en v0.9.7. */
@media (min-width: 900px) {
	[data-areg-similar-desktop-frame="true"]
	> [data-areg-similar-desktop-arrow="previous"] {
		left:
			calc(
				var(--areg-similar-arrow-outset) * -1
			) !important;
	}

	[data-areg-similar-desktop-frame="true"]
	> [data-areg-similar-desktop-arrow="next"] {
		right:
			calc(
				var(--areg-similar-arrow-outset) * -1
			) !important;
	}
}

/*
 * MÓVIL — conservar la solución confirmada en v0.9.20/v0.9.21.
 *
 * La fila externa se colapsa, pero los botones React permanecen visibles,
 * opacos, funcionales y con la mitad de su ancho fuera de la columna.
 */
@media (max-width: 767px) {
	[data-areg-similar-positioner="true"] {
		position: relative !important;
		overflow: visible !important;
	}

	[data-areg-similar-mobile-controls="true"],
	[data-areg-similar-mobile-controls-layout="true"] {
		position: static !important;
		display: block !important;
		box-sizing: border-box !important;
		flex: 0 0 0 !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		height: 0 !important;
		min-height: 0 !important;
		max-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	[data-areg-similar-positioner="true"]
	[data-areg-similar-mobile-arrow] {
		position: absolute !important;
		top:
			var(
				--areg-similar-mobile-arrow-top,
				50%
			) !important;
		bottom: auto !important;
		z-index: 80 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		width:
			var(--areg-similar-mobile-arrow-width) !important;
		min-width:
			var(--areg-similar-mobile-arrow-width) !important;
		max-width:
			var(--areg-similar-mobile-arrow-width) !important;
		height:
			var(--areg-similar-mobile-arrow-height) !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 4px !important;
		background: rgba(255, 255, 255, .98) !important;
		color: #747474 !important;
		box-shadow: 0 1px 5px rgba(0, 0, 0, .18) !important;
		opacity: 1 !important;
		visibility: visible !important;
		pointer-events: auto !important;
		transform: translateY(-50%) !important;
		cursor: pointer !important;
	}

	[data-areg-similar-positioner="true"]
	[data-areg-similar-mobile-arrow="previous"] {
		right: auto !important;
		left:
			calc(
				0px -
				var(--areg-similar-mobile-arrow-outset)
			) !important;
	}

	[data-areg-similar-positioner="true"]
	[data-areg-similar-mobile-arrow="next"] {
		right:
			calc(
				0px -
				var(--areg-similar-mobile-arrow-outset)
			) !important;
		left: auto !important;
	}

	[data-areg-similar-positioner="true"]
	[data-areg-similar-mobile-arrow] svg {
		display: block !important;
		width: 30px !important;
		height: 30px !important;
	}
}


/* ================================================================
   Versión 0.9.24: quinto botón — mapa de inundaciones FEMA
   ================================================================ */

/* Cinco controles iguales en escritorio. */
@media (min-width: 821px) {
	[data-areg-native-location-tabs="true"] {
		grid-template-columns:
			repeat(5, minmax(0, 1fr)) !important;
	}
}

[data-areg-native-location-panel="flood-map"] {
	order: 5 !important;
}

[data-areg-native-location-panel="flood-map"].is-active,
[data-areg-native-location-controls="true"]
[data-areg-active-panel="flood-map"]
[data-areg-native-location-panel="flood-map"] {
	border-color: #9d072b !important;
	background: #9d072b !important;
	color: #ffffff !important;
}

/* Panel aislado que contiene el widget Leaflet/FEMA. */
.listing-section.areg-property-main
> [data-areg-flood-map-section="true"] {
	order: 50;
	position: relative !important;
	display: none;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: 660px !important;
	min-height: 660px !important;
	max-height: 660px !important;
	margin: 0 0 34px !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 1px solid #d6e3e8 !important;
	border-radius: 4px !important;
	background: #f3f4f6 !important;
}

[data-areg-flood-map-frame="true"] {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	height: 660px !important;
	min-height: 660px !important;
	max-height: 660px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: #f3f4f6 !important;
}

/* Móvil: dos columnas y el quinto botón ocupa la fila completa. */
@media (max-width: 820px) {
	[data-areg-native-location-panel="flood-map"] {
		grid-column: 1 / -1 !important;
	}

	.listing-section.areg-property-main
	> [data-areg-flood-map-section="true"],
	[data-areg-flood-map-frame="true"] {
		height: 620px !important;
		min-height: 620px !important;
		max-height: 620px !important;
	}
}


/* ================================================================
   Versión 0.9.25: altura explícita + consulta FEMA puntual
   ================================================================ */

/*
 * Respaldo final. El atributo height y los estilos inline se aplican
 * también desde JavaScript para evitar el alto estándar de 150px.
 */
[data-areg-flood-map-section="true"]
> iframe[data-areg-flood-map-frame="true"] {
	display: block !important;
	width: 100% !important;
	height: 660px !important;
	min-height: 660px !important;
	max-height: 660px !important;
	border: 0 !important;
}

@media (max-width: 600px) {
	[data-areg-flood-map-section="true"]
	> iframe[data-areg-flood-map-frame="true"] {
		height: 620px !important;
		min-height: 620px !important;
		max-height: 620px !important;
	}
}


/* ================================================================
   Versión 0.9.26: mapa FEMA compacto
   ================================================================ */

/*
 * Reducir aproximadamente a la mitad la altura visual del mapa.
 * JavaScript sigue ajustando la altura real informada por el iframe,
 * pero utiliza estos valores compactos como base.
 */
.listing-section.areg-property-main
> [data-areg-flood-map-section="true"],
[data-areg-flood-map-frame="true"],
[data-areg-flood-map-section="true"]
> iframe[data-areg-flood-map-frame="true"] {
	height: 380px !important;
	min-height: 380px !important;
	max-height: 380px !important;
}

/* El panel termina inmediatamente después del aviso informativo. */
.listing-section.areg-property-main
> [data-areg-flood-map-section="true"] {
	padding: 0 !important;
	overflow: hidden !important;
}

@media (max-width: 600px) {
	.listing-section.areg-property-main
	> [data-areg-flood-map-section="true"],
	[data-areg-flood-map-frame="true"],
	[data-areg-flood-map-section="true"]
	> iframe[data-areg-flood-map-frame="true"] {
		height: 370px !important;
		min-height: 370px !important;
		max-height: 370px !important;
	}
}


/* ================================================================
   Versión 0.9.27: mapa principal un poco más alejado
   ================================================================ */

/*
 * El mapa nativo abre dos niveles por debajo del zoom asignado por Kestrel.
 * Para modificarlo después:
 * 1.5 = vista anterior
 * 2   = valor actual
 * 2.5 = todavía más lejos
 */


/* ================================================================
   Versión 0.9.28: estabilidad FEMA
   ================================================================ */

/*
 * El zoom inicial del mapa FEMA se controla dentro de flood-map.html.
 * En esta versión abre en nivel 12: un número menor muestra un área mayor.
 */


/* ================================================================
   Versión 0.9.29: polígonos FEMA GeoJSON
   ================================================================ */

/*
 * El widget ya no utiliza Dynamic Map Layer en el navegador.
 * WordPress descarga las geometrías y Leaflet las dibuja como GeoJSON.
 */


/* ================================================================
   Versión 0.9.30: clasificación visual FEMA
   ================================================================ */

/*
 * Las áreas de riesgo mínimo ya no se pintan. El azul claro se reserva
 * para zonas FEMA de probabilidad anual del 0.2%.
 */


/* ================================================================
   Versión 0.9.31: cinco botones Location en una sola fila
   ================================================================ */

/*
 * Escritorio, tablet y móvil comparten exactamente cinco columnas.
 * Cada botón ocupa 20% del ancho y el texto puede dividirse en dos líneas.
 */
[data-areg-native-location-tabs="true"] {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: 0 !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	overflow: visible !important;
}

[data-areg-native-location-tabs="true"]
> [data-areg-native-location-panel] {
	flex: 0 0 20% !important;
	width: 20% !important;
	min-width: 0 !important;
	max-width: 20% !important;
	min-height: 56px !important;
	margin: 0 !important;
	padding: 7px 6px !important;
	border-radius: 0 !important;
	white-space: normal !important;
	overflow-wrap: anywhere !important;
	word-break: normal !important;
	text-align: center !important;
	line-height: 1.15 !important;
}

[data-areg-native-location-tabs="true"]
> [data-areg-native-location-panel]:first-child {
	border-radius: 3px 0 0 3px !important;
}

[data-areg-native-location-tabs="true"]
> [data-areg-native-location-panel]:last-child {
	border-radius: 0 3px 3px 0 !important;
}

/*
 * Evita dobles bordes entre botones sin cambiar el 20% de cada columna.
 */
[data-areg-native-location-tabs="true"]
> [data-areg-native-location-panel]
+ [data-areg-native-location-panel] {
	border-left-width: 0 !important;
}

@media (max-width: 767px) {
	[data-areg-native-location-tabs="true"]
	> [data-areg-native-location-panel] {
		min-height: 58px !important;
		padding: 6px 3px !important;
		font-size: 12px !important;
		line-height: 1.12 !important;
		letter-spacing: 0 !important;
	}
}

@media (max-width: 390px) {
	[data-areg-native-location-tabs="true"]
	> [data-areg-native-location-panel] {
		padding-right: 2px !important;
		padding-left: 2px !important;
		font-size: 11px !important;
	}
}


/* ================================================================
   Versión 0.9.32: menú Location horizontal desplazable
   ================================================================ */

/*
 * Los botones recuperan su tamaño original. En pantallas angostas, la fila
 * se desplaza horizontalmente con el dedo, como un carrusel de navegación.
 */
[data-areg-native-location-tabs="true"] {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: 12px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 0 0 22px !important;
	padding: 0 2px 6px !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
	scroll-behavior: smooth !important;
	scroll-snap-type: x proximity !important;
	scrollbar-width: thin !important;
	-webkit-overflow-scrolling: touch !important;
	overscroll-behavior-x: contain !important;
	touch-action: pan-x !important;
}

[data-areg-native-location-tabs="true"]
> [data-areg-native-location-panel] {
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: 112px !important;
	max-width: none !important;
	min-height: 42px !important;
	margin: 0 !important;
	padding: 9px 22px !important;
	border: 1px solid #c999a7 !important;
	border-radius: 3px !important;
	background: #ffffff !important;
	color: #9d072b !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1.25 !important;
	letter-spacing: normal !important;
	white-space: nowrap !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
	scroll-snap-align: start !important;
}

[data-areg-native-location-tabs="true"]
> [data-areg-native-location-panel]
+ [data-areg-native-location-panel] {
	border-left-width: 1px !important;
}

[data-areg-native-location-tabs="true"]
> [data-areg-native-location-panel]:first-child,
[data-areg-native-location-tabs="true"]
> [data-areg-native-location-panel]:last-child {
	border-radius: 3px !important;
}

@media (max-width: 767px) {
	[data-areg-native-location-tabs="true"] {
		gap: 10px !important;
		padding-right: 16px !important;
	}

	[data-areg-native-location-tabs="true"]
	> [data-areg-native-location-panel] {
		min-width: 108px !important;
		min-height: 42px !important;
		padding: 9px 17px !important;
		font-size: 15px !important;
		line-height: 1.25 !important;
	}
}


/* ================================================================
   Versión 0.9.33: menú táctil sin scrollbar ni padding final
   ================================================================ */

[data-areg-native-location-tabs="true"] {
	padding-right: 0 !important;
	scrollbar-width: none !important;
	-ms-overflow-style: none !important;
}

[data-areg-native-location-tabs="true"]::-webkit-scrollbar {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	background: transparent !important;
}

@media (max-width: 767px) {
	[data-areg-native-location-tabs="true"] {
		padding-right: 0 !important;
	}
}


/* ================================================================
   Versión 0.9.34: precarga FEMA
   ================================================================ */

/*
 * El panel permanece visualmente oculto hasta ser seleccionado, aunque su
 * iframe y sus consultas comienzan durante la carga inicial de la propiedad.
 */


/* ================================================================
   Versión 0.9.35: ajustes estéticos solicitados
   ================================================================ */

/* 1. Safari/iPhone: conservar blanco en el teléfono del header. */
#cont_ .r_,
#cont_ .r_ a,
#cont_ .r_ a:link,
#cont_ .r_ a:visited,
#cont_ .r_ a:hover,
#cont_ .r_ a:focus,
#cont_ .r_ a:active,
#cont_ .r_ [x-apple-data-detectors],
#cont_ .r_ [x-apple-data-detectors="true"] {
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	text-decoration: none !important;
	text-decoration-color: transparent !important;
	font: inherit !important;
}

/* 2. Eliminar la línea roja superior del header secundario. */
.fusion-header-v2 .fusion-secondary-header {
	border-top: 0 !important;
	border-top-width: 0 !important;
	border-top-color: transparent !important;
}

/* 3. Precio y etiqueta de estado en la misma fila. */
.listing-section.areg-property-main
.areg-summary__headline {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 10px 18px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 0 var(--areg-summary-price-to-facts-gap) !important;
	padding: 0 !important;
}

.listing-section.areg-property-main
.areg-summary__headline
.areg-summary__price,
.listing-section.areg-property-main
.areg-summary__headline
.areg-summary__badge {
	margin: 0 !important;
}

.listing-section.areg-property-main
.areg-summary__headline
.areg-summary__price {
	flex: 1 1 auto !important;
	min-width: 0 !important;
}

.listing-section.areg-property-main
.areg-summary__headline
.areg-summary__badge {
	flex: 0 0 auto !important;
}

/* La regla antigua de separación ya no debe añadir otro margen. */
.listing-section.areg-property-main
.areg-summary__price {
	margin-bottom: 0 !important;
}

/* 5. En móvil: título, fotografías, texto y botón. */
@media (max-width: 700px) {
	[data-areg-satisfied-media="true"] {
		order: -1 !important;
	}

	[data-areg-satisfied-copy="true"] {
		order: 0 !important;
	}
}

/* 6. Líneas divisorias de Property Details en gris claro. */
[data-areg-property-details="true"]
[data-areg-accordion-group="true"] {
	border-bottom-color: #d2d2d2 !important;
}

/* 7. Imagen e información del agente siempre en la misma fila móvil. */
@media (max-width: 390px) {
	[data-areg-contact-agent-header="true"] {
		display: grid !important;
		grid-template-columns: 92px minmax(0, 1fr) !important;
		gap: 14px !important;
		align-items: center !important;
		overflow: visible !important;
	}

	[data-areg-contact-agent-image] {
		width: 92px !important;
		height: 92px !important;
		max-width: 92px !important;
		flex: 0 0 92px !important;
	}

	[data-areg-contact-agent-info="true"] {
		min-width: 0 !important;
	}
}

/* 8. Walk Score queda desactivado en toda la página de propiedad. */
.listing-section.areg-property-main
.walk-score,
.listing-section.areg-property-main
[data-areg-walk-score-disabled="true"],
.listing-section.areg-property-main
[data-areg-native-location-panel="walk-score"] {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	pointer-events: none !important;
}


/* ================================================================
   Versión 0.9.36: precio, mapa centrado y teléfono compacto
   ================================================================ */

/* 1. La etiqueta queda inmediatamente después del precio. */
.listing-section.areg-property-main
.areg-summary__headline {
	justify-content: flex-start !important;
	gap: 10px !important;
}

.listing-section.areg-property-main
.areg-summary__headline
.areg-summary__price {
	flex: 0 0 auto !important;
	width: auto !important;
}

.listing-section.areg-property-main
.areg-summary__headline
.areg-summary__badge {
	flex: 0 0 auto !important;
	margin-left: 0 !important;
}

/*
 * 3. Restaurar la altura compacta del teléfono en escritorio.
 * La regla de color para Safari ya no puede heredar el line-height alto
 * del contenedor del header.
 */
#cont_ .r_ {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	align-self: center !important;
	justify-self: end !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	max-height: none !important;
	padding-top: 3px !important;
	padding-bottom: 3px !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 20px !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

#cont_ .r_ a,
#cont_ .r_ a:link,
#cont_ .r_ a:visited,
#cont_ .r_ a:hover,
#cont_ .r_ a:focus,
#cont_ .r_ a:active,
#cont_ .r_ [x-apple-data-detectors],
#cont_ .r_ [x-apple-data-detectors="true"] {
	display: inline !important;
	height: auto !important;
	min-height: 0 !important;
	padding: 0 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	font-family: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	text-decoration: none !important;
}


/* ================================================================
   Versión 0.9.37: centrado visual del pin del mapa nativo
   ================================================================ */

/*
 * JavaScript mide el marcador .mapboxgl-marker ya renderizado y convierte
 * su centro visual a coordenadas. No se requiere desplazar el canvas por CSS.
 */
