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


/* ==================================================================
   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: 14px !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: 20px;
	--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 después de Similar Listings, antes de
	 * Contact Agents. La calculadora ahora aparece antes de Similar Listings.
	 */
	--areg-gap-after-similar: 10px;

	--areg-gap-after-mortgage: 34px;
	--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: 0px;
	--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: 20px;

	/* 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 inicial absoluto del mapa principal. */
	--areg-native-map-default-zoom: 10;

	/*
	 * 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: 12px;
}
/**
 * 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--mortgage {
	/* La calculadora aparece inmediatamente antes de Satisfied Buyers. */
	order: 64;
}

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

.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: 14px !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: 65;
}

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

.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;
	position: relative !important;
	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;
}

/*
 * Loader unificado para todos los mapas de Location. Se monta directamente
 * sobre el panel activo para cubrir Mapbox, Street View y los mapas iframe.
 */
[data-areg-native-map-loader="true"] {
	position: absolute !important;
	inset: 0 !important;
	z-index: 60 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: rgba(243, 243, 243, .96) !important;
	pointer-events: none !important;
}

[data-areg-native-map-loader="true"][hidden] {
	display: none !important;
}

[data-areg-native-map-loader-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;
}

[data-areg-native-map-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;
}

@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.41: espacio superior del detalle en escritorio
   ================================================================ */

@media (min-width: 768px) {
	body.areg-property-detail-page #main {
		padding-top: 10px !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.
 */


/* ================================================================
   Versión 0.9.38: altura interna real del mapa principal
   ================================================================ */

/*
 * El render 0.9.37 confirmó que Kestrel mantenía su mapa interno en 450px,
 * mientras el panel visible del plugin medía 300px. El pin estaba centrado
 * dentro de los 450px y por eso aparecía a 225px, debajo del centro visible.
 */
.listing-section.areg-property-main
> [data-areg-native-location-section="map"],
[data-areg-native-map-grid="true"],
[data-areg-native-map-body-item="true"],
[data-areg-native-map-body-shell="true"],
[data-areg-native-map-root="true"],
[data-areg-native-map-canvas-container="true"] {
	height: 300px !important;
	min-height: 300px !important;
	max-height: 300px !important;
}

/*
 * Kestrel usa una clase generada para el marcador, pero conserva este
 * aria-label estable. No se modifica su transformación manualmente:
 * Mapbox la recalcula después de resize().
 */
[data-areg-native-map-root="true"]
[aria-label="Map marker"] {
	will-change: transform !important;
}


/* ================================================================
   Versión 0.9.41: menú contextual y espaciado del detalle
   ================================================================ */

.listing-section.areg-property-main
> [data-areg-property-search-trail="true"] {
	order: 5 !important;
}

.listing-section.areg-property-main
.areg-property-search-trail {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 9px 0 10px !important;
	padding: 0 !important;
	color: #222222 !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	background: transparent !important;
	border: 0 !important;
}

.listing-section.areg-property-main
.areg-property-search-trail__item {
	display: inline !important;
	flex: 0 0 auto !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #222222 !important;
	-webkit-text-fill-color: #222222 !important;
	font: inherit !important;
	line-height: inherit !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	background: transparent !important;
	border: 0 !important;
}

.listing-section.areg-property-main
a.areg-property-search-trail__item:hover,
.listing-section.areg-property-main
a.areg-property-search-trail__item:focus-visible {
	color: #9d072b !important;
	-webkit-text-fill-color: #9d072b !important;
	text-decoration: underline !important;
	text-underline-offset: 2px !important;
}

.listing-section.areg-property-main
.areg-property-search-trail__separator {
	display: inline-block !important;
	flex: 0 0 auto !important;
	margin: 0 8px !important;
	padding: 0 !important;
	color: #777777 !important;
	font: inherit !important;
	line-height: inherit !important;
	user-select: none !important;
}

@media (max-width: 700px) {
	.listing-section.areg-property-main
	.areg-property-search-trail {
		margin-top: 9px !important;
		margin-bottom: 10px !important;
		font-size: 14px !important;
	}

	.listing-section.areg-property-main
	.areg-property-search-trail__separator {
		margin-right: 6px !important;
		margin-left: 6px !important;
	}
}


/* ================================================================
   Versión 0.9.41: galería, mapas, sticky, secciones y agentes
   ================================================================ */

/* Todos los títulos principales y el precio aumentan 2px. */
.listing-section.areg-property-main
h1.areg-section-title,
.listing-section.areg-property-main
h2.areg-section-title,
.listing-section.areg-property-main
h3.areg-section-title,
.listing-section.areg-property-main
h1[data-areg-section-title="true"],
.listing-section.areg-property-main
h2[data-areg-section-title="true"],
.listing-section.areg-property-main
h3[data-areg-section-title="true"],
.listing-section.areg-property-main
.areg-summary__price {
	font-size: 20px !important;
}

/* Las flechas nativas de la galería se ocultan únicamente en móvil. */
@media (max-width: 767px) {
	.listing-section.areg-property-main
	[data-areg-gallery-navigation="true"] {
		display: none !important;
		visibility: hidden !important;
		width: 0 !important;
		height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		pointer-events: none !important;
	}
}

/* Property Features aparece antes de Satisfied Buyers. */
.listing-section.areg-property-main
> [data-areg-property-features="true"] {
	order: 60 !important;
}

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

/* El llamado de precalificación solo se conserva en teléfonos. */
@media (min-width: 701px) {
	[data-areg-satisfied-cta="true"] {
		display: none !important;
	}
}

@media (max-width: 700px) {
	[data-areg-satisfied-cta="true"] {
		display: inline-flex !important;
	}
}

/*
 * En móvil, la fila de botones Location se extiende hasta el borde derecho
 * del viewport, ignorando únicamente el padding derecho del <main>.
 */
@media (max-width: 767px) {
	[data-areg-native-location-controls="true"] {
		overflow: visible !important;
		position: relative !important;
		z-index: 20 !important;
	}

	[data-areg-native-location-tabs="true"] {
		box-sizing: border-box !important;
		width: calc(100% + (50vw - 50%)) !important;
		max-width: none !important;
		margin-right: calc(50% - 50vw) !important;
		position: relative !important;
		z-index: 21 !important;
	}

	@supports (width: 100dvw) {
		[data-areg-native-location-tabs="true"] {
			width: calc(100% + (50dvw - 50%)) !important;
			margin-right: calc(50% - 50dvw) !important;
		}
	}
}

/* Mapbox: zoom abajo a la derecha, sin selector de capas. */
[data-areg-native-map-root="true"]
[data-areg-native-map-zoom-group="true"] {
	margin: 0 10px 10px 0 !important;
}

[data-areg-native-map-layers-control="true"] {
	display: none !important;
}

[data-areg-native-map-custom-marker="true"] {
	border: 0 !important;
	background: none !important;
	box-shadow: none !important;
	overflow: visible !important;
	will-change: auto !important;
}

[data-areg-native-map-custom-marker="true"] > * {
	visibility: hidden !important;
	opacity: 0 !important;
}

[data-areg-native-map-custom-marker="true"]::after {
	content: "" !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	z-index: 2 !important;
	display: block !important;
	width: 32px !important;
	height: 43px !important;
	max-width: 32px !important;
	max-height: 43px !important;
	background-image: var(--areg-native-map-marker-image) !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: 32px 43px !important;
	pointer-events: none !important;
	transform: translate(-50%, -50%) !important;
}

/* Schools: recortar el borde azul externo y mostrar un marco gris. */
.listing-section.areg-property-main
> [data-areg-native-embed-section="schools"] {
	border: 1px solid #c8c8c8 !important;
	border-radius: 4px !important;
	overflow: hidden !important;
	background: #ffffff !important;
}

.listing-section.areg-property-main
> [data-areg-native-embed-section="schools"]
[data-areg-native-embed-body-item="true"],
.listing-section.areg-property-main
> [data-areg-native-embed-section="schools"]
[data-areg-native-embed-shell="true"] {
	overflow: hidden !important;
}

/* FEMA: el marco exterior desaparece; la leyenda conserva su propio borde. */
.listing-section.areg-property-main
> [data-areg-flood-map-section="true"] {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
}

/* Los tres mapas visuales usan 300px de alto. */
[data-areg-native-location-section="map"],
[data-areg-native-location-section="street-view"],
[data-areg-street-view-frame="true"] {
	height: 300px !important;
	min-height: 300px !important;
	max-height: 300px !important;
}

/* Línea bajo Property Details y filas de acordeón más altas. */
[data-areg-property-details-title-item="true"] {
	border-bottom: 1px solid #d2d2d2 !important;
}

[data-areg-property-details="true"]
[data-areg-accordion-trigger] {
	padding-top: 18px !important;
	padding-bottom: 19px !important;
}

@media (max-width: 480px) {
	[data-areg-property-details="true"]
	[data-areg-accordion-trigger] {
		padding-top: 17px !important;
		padding-bottom: 18px !important;
	}
}

/* Metadatos de agentes en negro. */
[data-areg-contact-agent-meta="true"],
[data-areg-contact-agent-reviews="true"],
[data-areg-contact-agent-experience="true"] {
	color: #111111 !important;
	-webkit-text-fill-color: #111111 !important;
}

/* Biografías de agentes: tres líneas por defecto y control expandible. */
[data-areg-contact-agent-bio-wrap="true"] {
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

[data-areg-contact-agent-bio="true"][data-areg-contact-agent-bio-expanded="false"] {
	display: -webkit-box !important;
	-webkit-box-orient: vertical !important;
	-webkit-line-clamp: 3 !important;
	overflow: hidden !important;
}

[data-areg-contact-agent-bio="true"][data-areg-contact-agent-bio-expanded="true"] {
	display: block !important;
	overflow: visible !important;
}

[data-areg-contact-agent-bio-toggle="true"] {
	display: inline !important;
	margin: 5px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	color: #111111 !important;
	cursor: pointer !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	text-decoration: none !important;
}

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

/* Data Source conserva la misma alineación de los títulos principales. */
[data-areg-data-source-title="true"] {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 0 16px !important;
	padding: 0 !important;
}

/* ================================================================
   Versión 0.9.42: estabilidad de mapas y ajustes finales de detalle
   ================================================================ */

/* Location siempre queda por encima de los paneles y recibe interacción. */
.listing-section.areg-property-main
> [data-areg-native-location-controls="true"] {
	position: relative !important;
	z-index: 40 !important;
	overflow: visible !important;
	pointer-events: auto !important;
	isolation: isolate !important;
}

[data-areg-native-location-tabs="true"],
[data-areg-native-location-panel] {
	position: relative !important;
	z-index: 41 !important;
	pointer-events: auto !important;
}

/*
 * En móvil la barra termina en el mismo borde de la columna principal.
 * El espacio final de 30px permite que el último botón no quede pegado.
 */
@media (max-width: 767px) {
	[data-areg-native-location-tabs="true"] {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		padding-right: 30px !important;
		scroll-padding-right: 30px !important;
	}
}

/* El control superior derecho contiene el selector de capas de Kestrel. */
[data-areg-native-map-root="true"]
.mapboxgl-ctrl-top-right,
[data-areg-native-map-top-right-controls="true"],
[data-areg-native-map-layers-control="true"] {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	pointer-events: none !important;
}

/* Cubrir el último píxel azul interno del iframe de GreatSchools. */
.listing-section.areg-property-main
> [data-areg-native-embed-section="schools"] {
	position: relative !important;
}

.listing-section.areg-property-main
> [data-areg-native-embed-section="schools"]::after {
	content: "" !important;
	position: absolute !important;
	right: 1px !important;
	bottom: 1px !important;
	left: 1px !important;
	z-index: 100 !important;
	display: block !important;
	height: 4px !important;
	background: #ffffff !important;
	pointer-events: none !important;
}

/* Línea adicional entre Property Details y Location Information. */
[data-areg-property-details="true"]
[data-areg-accordion-list="true"] {
	border-top: 1px solid #d2d2d2 !important;
}

/* Las biografías se recortan únicamente en teléfonos. */
@media (min-width: 768px) {
	[data-areg-contact-agent-bio="true"][data-areg-contact-agent-bio-expanded] {
		display: block !important;
		-webkit-box-orient: initial !important;
		-webkit-line-clamp: initial !important;
		overflow: visible !important;
	}

	[data-areg-contact-agent-bio-toggle="true"] {
		display: none !important;
	}
}

@media (max-width: 767px) {
	[data-areg-contact-agent-bio-toggle="true"] {
		display: inline !important;
	}
}

/* Más separación superior antes del título Data Source. */
[data-areg-data-source-title="true"] {
	padding-top: 24px !important;
}



/* ================================================================
   Versión 0.9.43: estabilidad DOM, Location y Street View
   ================================================================ */

/* El título conserva el espacio aprobado y la línea queda visible. */
[data-areg-property-details-title-item="true"] {
	position: relative !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin-bottom: 15px !important;
	padding-bottom: 12px !important;
	border-bottom: 1px solid #d2d2d2 !important;
}

/* Evitar una segunda línea encima del primer acordeón. */
[data-areg-property-details="true"]
[data-areg-accordion-list="true"] {
	border-top: 0 !important;
}

/* Móvil: el último botón termina exactamente donde termina el mapa. */
@media (max-width: 767px) {
	[data-areg-native-location-tabs="true"] {
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		padding-right: 0 !important;
		scroll-padding-right: 0 !important;
	}
}

/* Refuerzo visual e interactivo para Location en escritorio. */
@media (min-width: 768px) {
	.listing-section.areg-property-main
	> [data-areg-native-location-controls="true"],
	[data-areg-native-location-tabs="true"],
	[data-areg-native-location-panel] {
		z-index: 247482000 !important;
		pointer-events: auto !important;
	}
}

/*
 * GreatSchools es cross-origin. Se enmascara la franja inferior interna,
 * incluido el último borde azul, sin cambiar el borde gris exterior.
 */
.listing-section.areg-property-main
> [data-areg-native-embed-section="schools"]::after {
	right: 1px !important;
	bottom: 1px !important;
	left: 1px !important;
	height: 24px !important;
	background: #ffffff !important;
}

.listing-section.areg-property-main
> [data-areg-native-embed-section="schools"]
iframe[data-areg-native-embed-frame="schools"] {
	clip-path: inset(0 0 22px 0) !important;
}



/* ================================================================
   Versión 0.9.62: agentes, Street View, Location, Schools y mortgage
   ================================================================ */

/* Location: capa propia estable y controles no interceptables por Kestrel. */
.listing-section.areg-property-main
> [data-areg-native-location-controls="true"] {
	position: relative !important;
	z-index: 247482000 !important;
	isolation: isolate !important;
	transform: translateZ(0) !important;
	pointer-events: auto !important;
}

[data-areg-native-location-tabs="true"] {
	position: relative !important;
	z-index: 2 !important;
	pointer-events: auto !important;
}

[data-areg-native-location-panel] {
	position: relative !important;
	z-index: 3 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	pointer-events: auto !important;
	cursor: pointer !important;
	user-select: none !important;
	-webkit-user-select: none !important;
}

.listing-section.areg-property-main
> [data-areg-native-location-section] {
	position: relative !important;
	z-index: 1 !important;
}

/* Read More ocupa el final visual de la tercera línea en móvil. */
@media (max-width: 767px) {
	[data-areg-contact-agent-bio-wrap="true"] {
		position: relative !important;
		min-height: calc(3 * 1.55em) !important;
	}

	[data-areg-contact-agent-bio-wrap="true"]
	[data-areg-contact-agent-bio="true"] {
		position: relative !important;
		margin: 0 !important;
	}

	[data-areg-contact-agent-bio-wrap="true"]
	[data-areg-contact-agent-bio-toggle="true"] {
		font-size: 15px !important;
		line-height: 1.55 !important;
	}

	[data-areg-contact-agent-bio-wrap="true"]
	[data-areg-contact-agent-bio-expanded="false"]
	+ [data-areg-contact-agent-bio-toggle="true"] {
		position: absolute !important;
		right: 0 !important;
		bottom: 0 !important;
		z-index: 2 !important;
		display: inline-block !important;
		margin: 0 !important;
		padding: 0 0 0 18px !important;
		background:
			linear-gradient(
				90deg,
				rgba(255, 255, 255, 0) 0,
				#ffffff 18px,
				#ffffff 100%
			) !important;
		white-space: nowrap !important;
	}

	[data-areg-contact-agent-bio-wrap="true"]
	[data-areg-contact-agent-bio-expanded="false"]
	+ [data-areg-contact-agent-bio-toggle="true"]::before {
		content: "… " !important;
	}

	[data-areg-contact-agent-bio-wrap="true"]
	[data-areg-contact-agent-bio-expanded="true"]
	+ [data-areg-contact-agent-bio-toggle="true"] {
		position: static !important;
		display: inline-block !important;
		margin: 4px 0 0 !important;
		padding: 0 !important;
		background: transparent !important;
	}
}

/* Schools: sin franja vacía; el borde gris queda inmediatamente al final. */
.listing-section.areg-property-main
> [data-areg-native-embed-section="schools"]::after {
	right: 1px !important;
	bottom: 1px !important;
	left: 1px !important;
	height: 4px !important;
	background: #ffffff !important;
}

.listing-section.areg-property-main
> [data-areg-native-embed-section="schools"]
iframe[data-areg-native-embed-frame="schools"] {
	clip-path: none !important;
}

/* Mortgage Calculator: leyenda izquierda, donut derecha e inputs en una fila. */
[data-areg-mortgage-redesign="true"]
.ihf-mortgage-calculator-container
> .ui-grid-container {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 180px !important;
	gap: 24px !important;
	align-items: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

[data-areg-mortgage-redesign="true"] .ihf-mortgage-total {
	display: none !important;
}

[data-areg-mortgage-redesign="true"] .ihf-payment-table {
	grid-column: 1 !important;
	grid-row: 1 !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
}

[data-areg-mortgage-redesign="true"]
.ihf-payment-table
> .ui-grid-container {
	display: grid !important;
	gap: 14px !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

[data-areg-mortgage-redesign="true"]
.ihf-principal-interest
> .ui-grid-container,
[data-areg-mortgage-redesign="true"]
.ihf-monthly-tax
> .ui-grid-container,
[data-areg-mortgage-redesign="true"]
.ihf-monthly-insurance
> .ui-grid-container {
	display: grid !important;
	grid-template-columns: 14px minmax(0, 1fr) auto !important;
	gap: 12px !important;
	align-items: center !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

[data-areg-mortgage-redesign="true"]
.ihf-principal-interest
> .ui-grid-container::before,
[data-areg-mortgage-redesign="true"]
.ihf-monthly-tax
> .ui-grid-container::before,
[data-areg-mortgage-redesign="true"]
.ihf-monthly-insurance
> .ui-grid-container::before {
	content: "" !important;
	display: block !important;
	grid-column: 1 !important;
	width: 13px !important;
	height: 13px !important;
	border-radius: 50% !important;
}

[data-areg-mortgage-redesign="true"]
.ihf-principal-interest
> .ui-grid-container::before {
	background: #ae0031 !important;
}

[data-areg-mortgage-redesign="true"]
.ihf-monthly-tax
> .ui-grid-container::before {
	background: #000000 !important;
}

[data-areg-mortgage-redesign="true"]
.ihf-monthly-insurance
> .ui-grid-container::before {
	background: #d8d8d8 !important;
}

[data-areg-mortgage-redesign="true"]
.ihf-principal-interest
> .ui-grid-container
> .ui-grid-item:first-of-type,
[data-areg-mortgage-redesign="true"]
.ihf-monthly-tax
> .ui-grid-container
> .ui-grid-item:first-of-type,
[data-areg-mortgage-redesign="true"]
.ihf-monthly-insurance
> .ui-grid-container
> .ui-grid-item:first-of-type {
	grid-column: 2 !important;
	min-width: 0 !important;
}

[data-areg-mortgage-redesign="true"]
.ihf-principal-interest
> .ui-grid-container
> .ui-grid-item:last-of-type,
[data-areg-mortgage-redesign="true"]
.ihf-monthly-tax
> .ui-grid-container
> .ui-grid-item:last-of-type,
[data-areg-mortgage-redesign="true"]
.ihf-monthly-insurance
> .ui-grid-container
> .ui-grid-item:last-of-type {
	grid-column: 3 !important;
	justify-self: end !important;
}

[data-areg-mortgage-redesign="true"]
.ihf-payment-table p {
	margin: 0 !important;
	color: #111111 !important;
	font-size: 16px !important;
	line-height: 1.35 !important;
}

[data-areg-mortgage-donut="true"] {
	position: relative !important;
	grid-column: 2 !important;
	grid-row: 1 !important;
	justify-self: end !important;
	display: grid !important;
	place-items: center !important;
	box-sizing: border-box !important;
	width: 164px !important;
	height: 164px !important;
	margin: 0 !important;
}

[data-areg-mortgage-donut-svg="true"] {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	overflow: visible !important;
	transform: rotate(-90deg) !important;
}

[data-areg-mortgage-track="true"],
[data-areg-mortgage-segment] {
	fill: none !important;
	stroke-width: 11 !important;
	stroke-linecap: butt !important;
}

[data-areg-mortgage-track="true"] {
	stroke: #eeeeee !important;
}

[data-areg-mortgage-segment="principal"] {
	stroke: #ae0031 !important;
}

[data-areg-mortgage-segment="tax"] {
	stroke: #000000 !important;
}

[data-areg-mortgage-segment="insurance"] {
	stroke: #d8d8d8 !important;
}

[data-areg-mortgage-segment] {
	transition:
		stroke-dasharray 900ms cubic-bezier(.22, .61, .36, 1),
		stroke-dashoffset 900ms cubic-bezier(.22, .61, .36, 1) !important;
}

[data-areg-mortgage-donut-center="true"] {
	position: absolute !important;
	inset: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 28px !important;
	text-align: center !important;
	pointer-events: none !important;
}

[data-areg-mortgage-donut-total="true"] {
	display: block !important;
	color: #111111 !important;
	font-size: 21px !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
}

[data-areg-mortgage-donut-period="true"] {
	display: block !important;
	margin-top: 3px !important;
	color: #111111 !important;
	font-size: 18px !important;
	font-weight: 400 !important;
	line-height: 1.15 !important;
}

[data-areg-mortgage-redesign="true"]
.ihf-mortgage-calculator-form
> .ui-grid-container {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 16px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 26px 0 0 !important;
	padding: 0 !important;
}

[data-areg-mortgage-redesign="true"]
.ihf-mortgage-calculator-form
> .ui-grid-container
> .ui-grid-item {
	box-sizing: border-box !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	padding: 0 !important;
}

[data-areg-mortgage-redesign="true"]
.ihf-mortgage-disclaimer {
	margin-top: 26px !important;
	padding: 0 !important;
}

[data-areg-mortgage-redesign="true"]
.ihf-mortgage-disclaimer p {
	margin: 0 !important;
	color: #111111 !important;
	font-size: 13px !important;
	line-height: 1.45 !important;
	text-transform: none !important;
}

@media (max-width: 700px) {
	[data-areg-mortgage-redesign="true"]
	.ihf-mortgage-calculator-container
	> .ui-grid-container {
		grid-template-columns: minmax(0, 1fr) 132px !important;
		gap: 16px !important;
	}

	[data-areg-mortgage-donut="true"] {
		width: 128px !important;
		height: 128px !important;
	}

	[data-areg-mortgage-track="true"],
	[data-areg-mortgage-segment] {
		stroke-width: 10 !important;
	}

	[data-areg-mortgage-donut-center="true"] {
		padding: 20px !important;
	}

	[data-areg-mortgage-donut-total="true"] {
		font-size: 17px !important;
	}

	[data-areg-mortgage-donut-period="true"] {
		font-size: 15px !important;
	}

	[data-areg-mortgage-redesign="true"]
	.ihf-payment-table p {
		font-size: 14px !important;
	}

	[data-areg-mortgage-redesign="true"]
	.ihf-mortgage-calculator-form
	> .ui-grid-container {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 14px !important;
	}
}

@media (max-width: 390px) {
	[data-areg-mortgage-redesign="true"]
	.ihf-mortgage-calculator-container
	> .ui-grid-container {
		grid-template-columns: minmax(0, 1fr) 116px !important;
		gap: 10px !important;
	}

	[data-areg-mortgage-donut="true"] {
		width: 112px !important;
		height: 112px !important;
	}

	[data-areg-mortgage-redesign="true"]
	.ihf-principal-interest
	> .ui-grid-container,
	[data-areg-mortgage-redesign="true"]
	.ihf-monthly-tax
	> .ui-grid-container,
	[data-areg-mortgage-redesign="true"]
	.ihf-monthly-insurance
	> .ui-grid-container {
		grid-template-columns: 11px minmax(0, 1fr) auto !important;
		gap: 7px !important;
	}

	[data-areg-mortgage-redesign="true"]
	.ihf-payment-table p {
		font-size: 13px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	[data-areg-mortgage-segment] {
		transition-duration: 1ms !important;
	}
}



/* ================================================================
   Versión 0.9.62: calculator móvil, Schools, agentes y Location desktop
   ================================================================ */

/* El detalle no deja espacio adicional debajo del contenido. */
body.areg-property-detail-page #main {
	padding-bottom: 0 !important;
}

/* Evitar que el botón de la biografía se convierta en ancla de scroll. */
[data-areg-contact-agent],
[data-areg-contact-agent-bio-wrap="true"],
[data-areg-contact-agent-bio="true"],
[data-areg-contact-agent-bio-toggle="true"] {
	overflow-anchor: none !important;
}

/* GreatSchools: un solo scroll interno, sin barras del iframe ni logo inferior. */
.listing-section.areg-property-main
> [data-areg-native-embed-section="schools"],
.listing-section.areg-property-main
> [data-areg-native-embed-section="schools"]
[data-areg-native-embed-grid="true"],
.listing-section.areg-property-main
> [data-areg-native-embed-section="schools"]
[data-areg-native-embed-body-item="true"],
.listing-section.areg-property-main
> [data-areg-native-embed-section="schools"]
[data-areg-native-embed-shell="true"] {
	overflow: hidden !important;
	overflow-x: hidden !important;
	overflow-y: hidden !important;
}

.listing-section.areg-property-main
> [data-areg-native-embed-section="schools"]
iframe[data-areg-native-embed-frame="schools"] {
	display: block !important;
	height: 620px !important;
	min-height: 620px !important;
	max-height: 620px !important;
	overflow: hidden !important;
	border: 0 !important;
	clip-path: none !important;
}

.listing-section.areg-property-main
> [data-areg-native-embed-section="schools"]::after {
	height: 2px !important;
}

/* Círculos reales de la leyenda de Mortgage Calculator. */
[data-areg-mortgage-redesign="true"]
.ihf-principal-interest
> .ui-grid-container::before,
[data-areg-mortgage-redesign="true"]
.ihf-monthly-tax
> .ui-grid-container::before,
[data-areg-mortgage-redesign="true"]
.ihf-monthly-insurance
> .ui-grid-container::before {
	content: none !important;
	display: none !important;
}

[data-areg-mortgage-legend-dot] {
	display: block !important;
	grid-column: 1 !important;
	align-self: center !important;
	box-sizing: border-box !important;
	width: 13px !important;
	height: 13px !important;
	min-width: 13px !important;
	min-height: 13px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
}

[data-areg-mortgage-legend-dot="principal"] {
	background: #ae0031 !important;
}

[data-areg-mortgage-legend-dot="tax"] {
	background: #000000 !important;
}

[data-areg-mortgage-legend-dot="insurance"] {
	background: #d8d8d8 !important;
}

/* Los segmentos se unen sin separaciones artificiales. */
[data-areg-mortgage-segment] {
	stroke-linecap: butt !important;
}

@media (max-width: 700px) {
	[data-areg-mortgage-redesign="true"] {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		overflow: hidden !important;
	}

	[data-areg-mortgage-redesign="true"]
	.ihf-mortgage-calculator-container,
	[data-areg-mortgage-redesign="true"]
	.ihf-mortgage-calculator-container
	> .ui-grid-container,
	[data-areg-mortgage-redesign="true"]
	.ihf-payment-table,
	[data-areg-mortgage-redesign="true"]
	.ihf-payment-table
	> .ui-grid-container {
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}

	[data-areg-mortgage-redesign="true"]
	.ihf-mortgage-calculator-container
	> .ui-grid-container {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 18px !important;
		align-items: start !important;
	}

	[data-areg-mortgage-redesign="true"] .ihf-payment-table {
		grid-column: 1 !important;
		grid-row: 1 !important;
	}

	[data-areg-mortgage-donut="true"] {
		grid-column: 1 !important;
		grid-row: 2 !important;
		justify-self: center !important;
		width: 170px !important;
		height: 170px !important;
		margin: 2px auto 0 !important;
	}

	[data-areg-mortgage-track="true"],
	[data-areg-mortgage-segment] {
		stroke-width: 11 !important;
	}

	[data-areg-mortgage-donut-center="true"] {
		padding: 28px !important;
	}

	[data-areg-mortgage-donut-total="true"] {
		font-size: 22px !important;
	}

	[data-areg-mortgage-donut-period="true"] {
		font-size: 18px !important;
	}

	[data-areg-mortgage-redesign="true"]
	.ihf-principal-interest
	> .ui-grid-container,
	[data-areg-mortgage-redesign="true"]
	.ihf-monthly-tax
	> .ui-grid-container,
	[data-areg-mortgage-redesign="true"]
	.ihf-monthly-insurance
	> .ui-grid-container {
		grid-template-columns: 14px minmax(0, 1fr) max-content !important;
		gap: 10px !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}

	[data-areg-mortgage-redesign="true"]
	.ihf-principal-interest
	> .ui-grid-container
	> .ui-grid-item,
	[data-areg-mortgage-redesign="true"]
	.ihf-monthly-tax
	> .ui-grid-container
	> .ui-grid-item,
	[data-areg-mortgage-redesign="true"]
	.ihf-monthly-insurance
	> .ui-grid-container
	> .ui-grid-item {
		box-sizing: border-box !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	[data-areg-mortgage-redesign="true"]
	.ihf-payment-table p {
		font-size: 17px !important;
		line-height: 1.4 !important;
	}

	[data-areg-mortgage-redesign="true"]
	.ihf-payment-table
	.ui-grid-item:first-of-type p {
		white-space: normal !important;
		overflow-wrap: anywhere !important;
	}

	[data-areg-mortgage-redesign="true"]
	.ihf-payment-table
	.ui-grid-item:last-of-type p {
		white-space: nowrap !important;
	}

	[data-areg-mortgage-redesign="true"]
	.ihf-mortgage-calculator-form,
	[data-areg-mortgage-redesign="true"]
	.ihf-mortgage-calculator-form
	> .ui-grid-container {
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}

	[data-areg-mortgage-redesign="true"]
	.ihf-mortgage-calculator-form
	> .ui-grid-container {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 14px !important;
		margin-top: 24px !important;
	}

	[data-areg-mortgage-redesign="true"]
	.ihf-mortgage-calculator-form
	> .ui-grid-container
	> .ui-grid-item,
	[data-areg-mortgage-redesign="true"]
	.ihf-mortgage-calculator-form .ui-form-control,
	[data-areg-mortgage-redesign="true"]
	.ihf-mortgage-calculator-form .ui-input-base {
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}

	[data-areg-mortgage-redesign="true"]
	.ihf-mortgage-disclaimer p {
		font-size: 14px !important;
		line-height: 1.5 !important;
	}
}

@media (max-width: 390px) {
	[data-areg-mortgage-donut="true"] {
		width: 160px !important;
		height: 160px !important;
	}

	[data-areg-mortgage-redesign="true"]
	.ihf-payment-table p {
		font-size: 16px !important;
	}
}


/* ================================================================
   Versión 0.9.62: mortgage estable, pin, agentes, galería y Schools
   ================================================================ */

/* El navegador no debe reanclar la página al expandir biografías. */
html.areg-property-sticky-ancestor,
body.areg-property-detail-page,
body.areg-property-detail-page #main,
body.areg-property-detail-page .ihf-container,
[data-areg-contact-agent],
[data-areg-contact-agent-bio-wrap="true"] {
	overflow-anchor: none !important;
}

/* Badge 1/40 más compacto sin reducir de nuevo el texto. */
[data-areg-gallery-counter="true"] {
	min-width: 42px !important;
	padding: 3px 8px !important;
	line-height: 18px !important;
}

/*
 * Mortgage Calculator: se oculta únicamente el resumen nativo. Los inputs y
 * el disclaimer siguen siendo los originales y conservan toda su lógica.
 */
[data-areg-mortgage-redesign="true"] {
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	overflow: visible !important;
}

[data-areg-mortgage-redesign="true"] .mortgage-calculator,
[data-areg-mortgage-redesign="true"]
.ihf-mortgage-calculator-container,
[data-areg-mortgage-redesign="true"]
.ihf-mortgage-calculator-container
> .ui-grid-container,
[data-areg-mortgage-redesign="true"]
.ihf-mortgage-calculator-form,
[data-areg-mortgage-redesign="true"]
.ihf-mortgage-disclaimer {
	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-right: 0 !important;
	padding-left: 0 !important;
	overflow: visible !important;
}

[data-areg-mortgage-redesign="true"]
.ihf-mortgage-calculator-container
> .ui-grid-container {
	display: block !important;
}

[data-areg-mortgage-redesign="true"] .ihf-mortgage-total,
[data-areg-mortgage-redesign="true"] .ihf-payment-table {
	display: none !important;
}

[data-areg-mortgage-overview="true"] {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 180px !important;
	column-gap: 42px !important;
	align-items: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 760px !important;
	margin: 0 !important;
	padding: 0 !important;
}

[data-areg-mortgage-legend="true"] {
	display: grid !important;
	gap: 14px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

[data-areg-mortgage-legend-row] {
	display: grid !important;
	grid-template-columns: 14px minmax(0, 1fr) max-content !important;
	column-gap: 14px !important;
	align-items: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #111111 !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
}

[data-areg-mortgage-legend-label] {
	min-width: 0 !important;
	white-space: normal !important;
	overflow-wrap: normal !important;
}

[data-areg-mortgage-legend-amount] {
	justify-self: end !important;
	white-space: nowrap !important;
	font-variant-numeric: tabular-nums !important;
}

[data-areg-mortgage-overview="true"]
[data-areg-mortgage-donut="true"] {
	grid-column: 2 !important;
	grid-row: 1 !important;
	justify-self: end !important;
	width: 164px !important;
	height: 164px !important;
	margin: 0 !important;
}

[data-areg-mortgage-redesign="true"]
.ihf-mortgage-calculator-form
> .ui-grid-container {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 16px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 26px 0 0 !important;
	padding: 0 !important;
}

[data-areg-mortgage-redesign="true"]
.ihf-mortgage-calculator-form
> .ui-grid-container
> .ui-grid-item,
[data-areg-mortgage-redesign="true"]
.ihf-mortgage-calculator-form .ui-form-control,
[data-areg-mortgage-redesign="true"]
.ihf-mortgage-calculator-form .ui-input-base {
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

[data-areg-mortgage-redesign="true"] .ihf-mortgage-disclaimer {
	margin-top: 26px !important;
}

[data-areg-mortgage-redesign="true"] .ihf-mortgage-disclaimer p {
	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;
	white-space: normal !important;
	overflow: visible !important;
	overflow-wrap: break-word !important;
	word-break: normal !important;
}

@media (max-width: 700px) {
	[data-areg-mortgage-redesign="true"] .mortgage-calculator,
	[data-areg-mortgage-redesign="true"]
	.ihf-mortgage-calculator-container,
	[data-areg-mortgage-redesign="true"]
	.ihf-mortgage-calculator-container
	> .ui-grid-container,
	[data-areg-mortgage-overview="true"],
	[data-areg-mortgage-legend="true"],
	[data-areg-mortgage-redesign="true"]
	.ihf-mortgage-calculator-form,
	[data-areg-mortgage-redesign="true"]
	.ihf-mortgage-calculator-form
	> .ui-grid-container,
	[data-areg-mortgage-redesign="true"] .ihf-mortgage-disclaimer {
		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;
	}

	[data-areg-mortgage-overview="true"] {
		grid-template-columns: minmax(0, 1fr) !important;
		row-gap: 20px !important;
		align-items: start !important;
	}

	[data-areg-mortgage-legend="true"] {
		grid-column: 1 !important;
		grid-row: 1 !important;
		gap: 15px !important;
	}

	[data-areg-mortgage-legend-row] {
		grid-template-columns: 14px minmax(0, 1fr) max-content !important;
		column-gap: 11px !important;
		font-size: 17px !important;
		line-height: 1.35 !important;
	}

	[data-areg-mortgage-overview="true"]
	[data-areg-mortgage-donut="true"] {
		grid-column: 1 !important;
		grid-row: 2 !important;
		justify-self: center !important;
		width: 184px !important;
		height: 184px !important;
		margin: 0 auto !important;
	}

	[data-areg-mortgage-redesign="true"]
	.ihf-mortgage-calculator-form
	> .ui-grid-container {
		grid-template-columns: minmax(0, 1fr) !important;
		gap: 14px !important;
		margin-top: 26px !important;
	}

	[data-areg-mortgage-redesign="true"]
	.ihf-mortgage-calculator-form
	> .ui-grid-container
	> .ui-grid-item {
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	[data-areg-mortgage-redesign="true"] .ihf-mortgage-disclaimer {
		margin-top: 24px !important;
	}

	[data-areg-mortgage-redesign="true"] .ihf-mortgage-disclaimer p {
		font-size: 14px !important;
		line-height: 1.5 !important;
	}
}

@media (max-width: 390px) {
	[data-areg-mortgage-legend-row] {
		font-size: 16px !important;
	}

	[data-areg-mortgage-overview="true"]
	[data-areg-mortgage-donut="true"] {
		width: 176px !important;
		height: 176px !important;
	}
}

/* Padding inferior distinto para escritorio y teléfono. */
@media (min-width: 768px) {
	body.areg-property-detail-page #main {
		padding-bottom: 30px !important;
	}
}

@media (max-width: 767px) {
	body.areg-property-detail-page #main {
		padding-bottom: 0 !important;
	}
}

/* El pin DOM de Street View conserva siempre sus dimensiones originales. */
[data-areg-street-view-frame="true"] img[src*="/2023/03/32.png"],
[data-areg-street-view-frame="true"] img[src$="/32.png"] {
	display: block !important;
	width: 32px !important;
	height: 43px !important;
	min-width: 32px !important;
	min-height: 43px !important;
	max-width: none !important;
	max-height: none !important;
	opacity: 1 !important;
	visibility: visible !important;
}

/* ================================================================
   Versión 0.9.72: calculadora hipotecaria detallada con sliders
   ================================================================ */

/*
 * Los nodos originales de Kestrel siguen activos y ocultos para conservar su
 * tasa de interés y sus eventos, mientras la interfaz visible usa controles
 * propios estables dentro del Shadow DOM.
 */
[data-areg-mortgage-redesign="true"],
[data-areg-mortgage-redesign="true"] .mortgage-calculator {
	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-right: 0 !important;
	padding-left: 0 !important;
	overflow: visible !important;
}

[data-areg-mortgage-redesign="true"]
.ihf-mortgage-calculator-container,
[data-areg-mortgage-redesign="true"]
.ihf-mortgage-calculator-form {
	display: none !important;
}

[data-areg-mortgage-overview="true"] {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	column-gap: 16px !important;
	align-items: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 760px !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}

[data-areg-mortgage-legend="true"] {
	grid-column: 1 / 3 !important;
	grid-row: 1 !important;
	display: grid !important;
	gap: 13px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

[data-areg-mortgage-legend-row] {
	display: grid !important;
	grid-template-columns: 14px minmax(0, 1fr) max-content !important;
	column-gap: 14px !important;
	align-items: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #3f3f3f !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
}

[data-areg-mortgage-legend-label] {
	min-width: 0 !important;
	white-space: normal !important;
}

[data-areg-mortgage-legend-amount] {
	justify-self: end !important;
	white-space: nowrap !important;
	font-variant-numeric: tabular-nums !important;
}

[data-areg-mortgage-legend-dot] {
	display: block !important;
	box-sizing: border-box !important;
	width: 13px !important;
	height: 13px !important;
	min-width: 13px !important;
	min-height: 13px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
}

[data-areg-mortgage-legend-dot="principal"] {
	background: #9d072b !important;
}

[data-areg-mortgage-legend-dot="tax"] {
	background: #3f3f3f !important;
}

[data-areg-mortgage-legend-dot="insurance"] {
	background: #8f8f8f !important;
}

[data-areg-mortgage-legend-dot="hoa"] {
	background: #d8d8d8 !important;
}

[data-areg-mortgage-overview="true"]
[data-areg-mortgage-donut="true"] {
	grid-column: 3 / 5 !important;
	grid-row: 1 !important;
	justify-self: center !important;
	align-self: center !important;
	width: 164px !important;
	height: 164px !important;
	margin: 0 !important;
}

[data-areg-mortgage-segment="principal"] {
	stroke: #9d072b !important;
}

[data-areg-mortgage-segment="tax"] {
	stroke: #3f3f3f !important;
}

[data-areg-mortgage-segment="insurance"] {
	stroke: #8f8f8f !important;
}

[data-areg-mortgage-segment="hoa"] {
	stroke: #d8d8d8 !important;
}

[data-areg-mortgage-segment] {
	stroke-linecap: butt !important;
}

/* Tres sliders básicos y tres sliders adicionales desplegables. */
[data-areg-mortgage-fields="true"] {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 760px !important;
	margin: 28px 0 0 !important;
	padding: 0 !important;
	color: #3f3f3f !important;
	font-family: "Lato", Arial, sans-serif !important;
}

[data-areg-mortgage-field-list="true"] {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 0 !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

[data-areg-mortgage-field] {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 0 14px !important;
	padding: 0 0 16px !important;
	border-bottom: 1px solid #bcbcc7 !important;
	color: #3f3f3f !important;
	font-family: "Lato", Arial, sans-serif !important;
}

[data-areg-mortgage-field][hidden] {
	display: none !important;
}

[data-areg-mortgage-field-heading="true"] {
	display: flex !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	gap: 18px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 0 7px !important;
	padding: 0 !important;
}

[data-areg-mortgage-field-label="true"],
[data-areg-mortgage-field-value="true"] {
	color: #3f3f3f !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
}

[data-areg-mortgage-field-label="true"] {
	min-width: 0 !important;
}

[data-areg-mortgage-field-value="true"] {
	flex: 0 0 auto !important;
	margin: 0 !important;
	padding: 0 !important;
	white-space: nowrap !important;
	font-variant-numeric: tabular-nums !important;
}

[data-areg-mortgage-field-input="true"] {
	--areg-mortgage-range-progress: 0%;
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	height: 22px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	cursor: pointer !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}

[data-areg-mortgage-field-input="true"]::-webkit-slider-runnable-track {
	box-sizing: border-box !important;
	width: 100% !important;
	height: 4px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: linear-gradient(
		to right,
		#3f3f3f 0,
		#3f3f3f var(--areg-mortgage-range-progress),
		#d7d7d7 var(--areg-mortgage-range-progress),
		#d7d7d7 100%
	) !important;
}

[data-areg-mortgage-field-input="true"]::-webkit-slider-thumb {
	box-sizing: border-box !important;
	width: 22px !important;
	height: 22px !important;
	margin-top: -9px !important;
	border: 4px solid #3f3f3f !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	box-shadow: none !important;
	cursor: grab !important;
	-webkit-appearance: none !important;
	appearance: none !important;
}

[data-areg-mortgage-field-input="true"]::-moz-range-track {
	box-sizing: border-box !important;
	width: 100% !important;
	height: 4px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #d7d7d7 !important;
}

[data-areg-mortgage-field-input="true"]::-moz-range-progress {
	height: 4px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #3f3f3f !important;
}

[data-areg-mortgage-field-input="true"]::-moz-range-thumb {
	box-sizing: border-box !important;
	width: 22px !important;
	height: 22px !important;
	border: 4px solid #3f3f3f !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	box-shadow: none !important;
	cursor: grab !important;
}

[data-areg-mortgage-field-input="true"]:focus-visible::-webkit-slider-thumb {
	box-shadow: 0 0 0 4px rgb(63 63 63 / 20%) !important;
}

[data-areg-mortgage-field-input="true"]:focus-visible::-moz-range-thumb {
	box-shadow: 0 0 0 4px rgb(63 63 63 / 20%) !important;
}

[data-areg-mortgage-field-input="true"]:active::-webkit-slider-thumb,
[data-areg-mortgage-field-input="true"]:active::-moz-range-thumb {
	cursor: grabbing !important;
}

[data-areg-mortgage-toggle="true"] {
	display: inline-block !important;
	box-sizing: border-box !important;
	margin: 18px 0 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #3f3f3f !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	text-align: left !important;
	text-decoration: underline !important;
	text-underline-offset: 3px !important;
	cursor: pointer !important;
}

[data-areg-mortgage-redesign="true"] .ihf-mortgage-disclaimer {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 760px !important;
	margin: 26px 0 0 !important;
	padding: 0 !important;
	overflow: visible !important;
}

.listing-section.areg-property-main
.mortgage-calculator[data-areg-mortgage-redesign="true"]
.ihf-mortgage-disclaimer p,
[data-areg-mortgage-redesign="true"] .ihf-mortgage-disclaimer p {
	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;
	color: inherit !important;
	font-size: 16px !important;
	line-height: 1.5 !important;
	white-space: normal !important;
	overflow: visible !important;
	overflow-wrap: break-word !important;
	word-break: normal !important;
}

@media (max-width: 700px) {
	[data-areg-mortgage-overview="true"] {
		grid-template-columns: minmax(0, 1fr) !important;
		row-gap: 20px !important;
		align-items: start !important;
		max-width: 100% !important;
	}

	/* En móvil el donut aparece inmediatamente debajo del título. */
	[data-areg-mortgage-overview="true"]
	[data-areg-mortgage-donut="true"] {
		grid-column: 1 !important;
		grid-row: 1 !important;
		justify-self: center !important;
		width: 184px !important;
		height: 184px !important;
		margin: 0 auto !important;
	}

	[data-areg-mortgage-legend="true"] {
		grid-column: 1 !important;
		grid-row: 2 !important;
		gap: 14px !important;
	}

	[data-areg-mortgage-legend-row] {
		grid-template-columns: 14px minmax(0, 1fr) max-content !important;
		column-gap: 11px !important;
		font-size: 16px !important;
		line-height: 1.4 !important;
	}

	[data-areg-mortgage-fields="true"],
	[data-areg-mortgage-redesign="true"] .ihf-mortgage-disclaimer {
		max-width: 100% !important;
	}

	[data-areg-mortgage-fields="true"] {
		margin-top: 24px !important;
	}

	[data-areg-mortgage-field-list="true"] {
		gap: 0 !important;
	}

	[data-areg-mortgage-field-heading="true"] {
		gap: 12px !important;
	}

	[data-areg-mortgage-field-label="true"],
	[data-areg-mortgage-field-value="true"],
	[data-areg-mortgage-toggle="true"] {
		font-size: 16px !important;
	}

	[data-areg-mortgage-redesign="true"] .ihf-mortgage-disclaimer {
		margin-top: 24px !important;
	}
}

@media (max-width: 390px) {
	[data-areg-mortgage-overview="true"]
	[data-areg-mortgage-donut="true"] {
		width: 176px !important;
		height: 176px !important;
	}

	[data-areg-mortgage-field-heading="true"] {
		align-items: flex-start !important;
	}

	[data-areg-mortgage-field-value="true"] {
		font-size: 15px !important;
	}
}


/* ================================================================
   Versión 0.9.74: apariencia de sliders basada en calc.html
   ================================================================ */

/*
 * El widget de referencia usa un thumb blanco con aro grueso y separadores
 * entre controles. Se conserva Lato y la paleta gris de la ficha.
 */

/* ================================================================
   Versión 0.9.62: separación final de Mortgage Calculator
   ================================================================ */

/* En escritorio se separa la calculadora de Similar Listings. */
.listing-section.areg-property-main
> [data-areg-section-spacing="mortgage"] {
	margin-bottom: 32px !important;
}

@media (max-width: 700px) {
	/* Más aire entre el título y el contenido de la calculadora en móvil. */
	.listing-section.areg-property-main
	> [data-areg-section-spacing="mortgage"]
	[data-areg-section-title="true"] {
		margin-bottom: 18px !important;
	}

	/* Mayor separación entre la calculadora y Similar Listings en teléfonos. */
	.listing-section.areg-property-main
	> [data-areg-section-spacing="mortgage"] {
		margin-bottom: 38px !important;
	}
}


/* ================================================================
   Versión 0.9.62: interacción estable del mapa principal
   ================================================================ */

/* Menú Map > County/Condado > City/Ciudad > ZIP a 14px. */
.listing-section.areg-property-main
.areg-property-search-trail {
	font-size: 14px !important;
	margin-top: 1px !important;
	margin-bottom: 11px !important;
}

@media (max-width: 700px) {
	.listing-section.areg-property-main
	.areg-property-search-trail {
		font-size: 14px !important;
		margin-top: 9px !important;
		margin-bottom: 11px !important;
	}
}

/*
 * Los controles nativos permanecen en su DOM original. Solo se mueve su
 * posicionador mediante CSS, evitando el bucle React/plugin que duplicaba divs.
 */
[data-areg-native-map-root="true"] {
	position: relative !important;
}

[data-areg-native-map-zoom-positioner="true"] {
	position: absolute !important;
	top: auto !important;
	right: 10px !important;
	bottom: 10px !important;
	left: auto !important;
	z-index: 25 !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: none !important;
	transform: none !important;
}

[data-areg-native-map-zoom-group="true"] {
	position: relative !important;
	float: none !important;
	display: block !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: auto !important;
	transform: none !important;
}

[data-areg-native-map-zoom-group="true"] button,
[data-areg-native-map-zoom-group="true"] button * {
	pointer-events: auto !important;
}

/* La rueda y los gestos deben llegar directamente al canvas de Mapbox. */
.listing-section.areg-property-main
> [data-areg-native-location-section="map"][aria-hidden="false"],
.listing-section.areg-property-main
> [data-areg-native-location-section="map"][aria-hidden="false"]
[data-areg-native-map-canvas-container="true"],
.listing-section.areg-property-main
> [data-areg-native-location-section="map"][aria-hidden="false"]
[data-areg-native-map-canvas="true"] {
	pointer-events: auto !important;
}

/* Ocultar el selector de capas por su aria-label estable, incluso antes de JS. */
.listing-section.areg-property-main
.listing-map button[aria-label="map layer menu" i],
.listing-section.areg-property-main
.listing-map button[aria-label*="map layer" i],
.listing-section.areg-property-main
.listing-map button[aria-label*="layers" i],
.listing-section.areg-property-main
.listing-map button[title*="layer" i],
[data-areg-native-map-layers-control="true"] {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	pointer-events: none !important;
}


/* ================================================================
   Versión 0.9.62: alineación inicial de Location en móvil
   ================================================================ */

/*
 * El scroll-snap alineaba el primer botón contra el borde interior y podía
 * dejar ocultos 1–2px de su esquina redondeada. En teléfonos se conserva el
 * desplazamiento manual, pero sin el reajuste automático que lo devolvía a
 * esa posición recortada.
 */
@media (max-width: 767px) {
	[data-areg-native-location-tabs="true"] {
		margin-left: 0 !important;
		padding-left: 2px !important;
		scroll-padding-left: 2px !important;
		scroll-snap-type: none !important;
		scroll-behavior: auto !important;
	}

	[data-areg-native-location-tabs="true"]
	> [data-areg-native-location-panel] {
		scroll-snap-align: none !important;
		scroll-margin-left: 0 !important;
	}
}


/* ================================================================
   Versión 0.9.62: barra Location visible sobre el padding móvil
   ================================================================ */

/*
 * La barra conserva el ancho útil de la columna para distribuir sus botones,
 * pero su viewport se extiende 30px sobre el padding derecho de <main>. Así
 * el último control no se recorta debajo de ese gutter y sigue alineado con
 * el borde derecho del mapa. El primer botón comienza exactamente en 0px.
 */
@media (max-width: 767px) {
	.listing-section.areg-property-main
	> [data-areg-native-location-controls="true"] {
		overflow: visible !important;
	}

	[data-areg-native-location-tabs="true"] {
		box-sizing: border-box !important;
		width: calc(100% + 30px) !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: -30px !important;
		padding-left: 0 !important;
		padding-right: 30px !important;
		scroll-padding-left: 2px !important;
		scroll-padding-right: 30px !important;
		overflow-x: auto !important;
		overflow-y: hidden !important;
	}
}

/* ================================================================
   Versión 0.9.62: tipografía del resumen y espaciado del menú
   ================================================================ */

/* El texto situado debajo del precio comparte la tipografía de About Property. */
.listing-section.areg-property-main
.areg-summary__line {
	font-size: 16px !important;
	font-weight: 400 !important;
	line-height: 1.65 !important;
}



/* ================================================================
   Versión 0.9.62: búsqueda, galería, Location, formularios y secciones
   ================================================================ */

body.areg-kestrel-basic-search-page #main {
	padding-top: 10px !important;
}

@media (max-width: 767px) {
	.fusion-secondary-header {
		border-bottom: 0 !important;
	}
}

footer,
.fusion-footer,
.fusion-footer-widget-area {
	border-top: 0 !important;
}

@media (max-width: 700px) {
	.listing-section.areg-property-main .areg-property-search-trail {
		margin-top: 10px !important;
		margin-bottom: 12px !important;
	}
}

/* Galería: controles de escritorio visibles solo al pasar el puntero. */
@media (min-width: 768px) {
	.listing-section.areg-property-main > [data-areg-gallery-counter-host="true"]
	[data-areg-gallery-navigation="true"],
	.listing-section.areg-property-main > [data-areg-gallery-counter-host="true"]
	[data-areg-gallery-counter="true"] {
		opacity: 0 !important;
		visibility: hidden !important;
		transition: opacity .15s ease, visibility .15s ease !important;
	}

	.listing-section.areg-property-main > [data-areg-gallery-counter-host="true"]:hover
	[data-areg-gallery-navigation="true"],
	.listing-section.areg-property-main > [data-areg-gallery-counter-host="true"]:hover
	[data-areg-gallery-counter="true"],
	.listing-section.areg-property-main > [data-areg-gallery-counter-host="true"]:focus-within
	[data-areg-gallery-navigation="true"],
	.listing-section.areg-property-main > [data-areg-gallery-counter-host="true"]:focus-within
	[data-areg-gallery-counter="true"] {
		opacity: 1 !important;
		visibility: visible !important;
	}
}


[data-areg-gallery-counter-anchor="true"] {
	position: relative !important;
}

/* Contador fijo respecto al bloque de la fotografía en teléfonos reales. */
@media (max-width: 767px) {
	[data-areg-gallery-counter="true"] {
		right: 12px !important;
		bottom: 8px !important;
		transform: none !important;
		translate: none !important;
		backface-visibility: hidden !important;
		contain: layout paint !important;
		will-change: auto !important;
		transition: none !important;
		animation: none !important;
	}

}

/* Cada fotografía determina la altura del carrusel y se muestra completa. */
[data-areg-gallery-dynamic-carousel="true"] {
	box-sizing: border-box !important;
	height: var(--areg-gallery-active-height) !important;
	min-height: var(--areg-gallery-active-height) !important;
	max-height: var(--areg-gallery-active-height) !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

[data-areg-gallery-dynamic-shell="true"] {
	box-sizing: border-box !important;
	height: 100% !important;
	min-height: 100% !important;
	max-height: 100% !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

[data-areg-gallery-dynamic-frame="true"],
[data-areg-gallery-dynamic-viewport="true"],
[data-areg-gallery-dynamic-track="true"],
[data-areg-gallery-dynamic-slide="true"] {
	box-sizing: border-box !important;
	height: var(--areg-gallery-active-height) !important;
	min-height: var(--areg-gallery-active-height) !important;
	max-height: var(--areg-gallery-active-height) !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

[data-areg-gallery-dynamic-image-layer="true"] {
	box-sizing: border-box !important;
	height: 100% !important;
	min-height: 100% !important;
	max-height: 100% !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

[data-areg-gallery-dynamic-image="true"] {
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: 100% !important;
	max-height: 100% !important;
	object-fit: contain !important;
	object-position: center !important;
	background: #f3f3f3 !important;
}

/* Aviso de propiedad con alta actividad. */
[data-areg-hot-property="true"] {
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 !important;
	margin-bottom: 25px !important;
	padding: 6px 10px 10px 10px !important;
	background: #f3f3f3 !important;
	color: #111 !important;
	font-size: 16px !important;
	line-height: 1.55 !important;
}

/* Location: Schools y Virtual Tour propios. */
[data-areg-schools-map-section="true"],
[data-areg-virtual-tour-section="true"],
[data-areg-schools-map-section="true"] > div,
[data-areg-schools-map-section="true"] > div > div,
[data-areg-virtual-tour-shell="true"],
[data-areg-schools-map-section="true"] iframe,
[data-areg-virtual-tour-frame="true"] {
	box-sizing: border-box !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	max-height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	display: block !important;
}

/* La fila móvil puede desplazarse por ambos gutters hasta el borde físico. */
@media (max-width: 767px) {
	[data-areg-native-location-tabs="true"] {
		width: calc(100% + 60px) !important;
		margin-right: -30px !important;
		margin-left: -30px !important;
		padding-right: 30px !important;
		padding-left: 30px !important;
		scroll-padding-right: 30px !important;
		scroll-padding-left: 30px !important;
	}
}

/* Atribuciones a la izquierda sin mover los controles de zoom. */
[data-areg-map-attribution-positioner="true"] {
	left: 0 !important;
	right: auto !important;
	pointer-events: none !important;
}
[data-areg-map-attribution-control="true"] {
	margin-right: 0 !important;
	margin-left: 8px !important;
	pointer-events: auto !important;
}

/* Zoom inicial absoluto del mapa principal. */
.listing-section.areg-property-main {
	--areg-native-map-default-zoom: 10;
}

/* Property Features. */
[data-areg-property-features="true"],
[data-areg-property-features="true"] th,
[data-areg-property-features="true"] td {
	line-height: 1.55 !important;
}

/* Satisfied Buyers: carrusel alineado con el título en escritorio. */
@media (min-width: 701px) {
	[data-areg-satisfied-media="true"] {
		margin-top: -42px !important;
		margin-bottom: -50px !important;
	}
}

/* Sidebar de conversión. */
[data-areg-lead-black="true"] {
	color: #111 !important;
	-webkit-text-fill-color: #111 !important;
}

/* Popups de galería: sin desplazamiento horizontal. */
[data-areg-gallery-popup="true"] {
	box-sizing: border-box !important;
	max-width: 100vw !important;
	overflow-x: hidden !important;
	overscroll-behavior-x: none !important;
	overscroll-behavior-inline: none !important;
	touch-action: pan-y !important;
}
[data-areg-gallery-popup="true"] * {
	max-width: 100% !important;
}


/*
 * Cuadrícula de fotografías del popup: elimina el ancho adicional que genera
 * ui-grid-spacing y compensa únicamente el lado izquierdo. Así las miniaturas
 * quedan centradas dentro del área útil, sin contar la barra de desplazamiento.
 */
[data-areg-gallery-popup="true"]
[data-areg-gallery-popup-photo-grid-shell="true"] {
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}
[data-areg-gallery-popup="true"]
[data-areg-gallery-popup-photo-grid="true"] {
	box-sizing: border-box !important;
	padding-top: 0 !important;
	padding-right: 2px !important;
	padding-bottom: 0 !important;
	padding-left: 11px !important;
}

/* Popup de mapa abierto desde la dirección: llenar sus 450px. */
[data-areg-popup-map-layer="true"] {
	height: 450px !important;
	min-height: 450px !important;
	max-height: 450px !important;
}
[data-areg-popup-map-dialog="true"] canvas[aria-label="Map"] {
	width: 100% !important;
	height: 450px !important;
	min-height: 450px !important;
	max-height: 450px !important;
}

/* Data Source completo a 16px y último bloque expandible a tres líneas. */
.listing-section.areg-property-main .listing-footer,
.listing-section.areg-property-main .listing-footer p,
.listing-section.areg-property-main .listing-footer span,
[data-areg-data-source-readmore="true"] {
	font-size: 16px !important;
	line-height: 1.55 !important;
}
[data-areg-data-source-clamp-wrap="true"] {
	position: relative !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* El párrafo legal original permanece intacto y sirve como fuente de datos. */
[data-areg-data-source-tail="true"] {
	display: none !important;
	margin: 0 !important;
}

/*
 * La copia visible usa el mismo principio inline de About Property: texto,
 * puntos suspensivos y botón comparten la tercera línea sin superponerse.
 */
[data-areg-data-source-display="true"] {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
	font: inherit !important;
	font-size: 16px !important;
	font-weight: inherit !important;
	line-height: 1.55 !important;
}
[data-areg-data-source-text="true"],
[data-areg-data-source-action="true"],
[data-areg-data-source-ellipsis="true"] {
	color: inherit !important;
	font: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
}
[data-areg-data-source-action="true"] {
	display: inline !important;
	white-space: nowrap !important;
}
[data-areg-data-source-toggle="true"] {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: inherit !important;
	font: inherit !important;
	font-size: inherit !important;
	font-weight: inherit !important;
	line-height: inherit !important;
	vertical-align: baseline !important;
	text-decoration: none !important;
	cursor: pointer !important;
}


/* Schools Leaflet propio: altura comunicada por el iframe, sin recortes heredados. */
[data-areg-schools-map-section="true"],
[data-areg-schools-map-section="true"] [data-areg-native-embed-shell="true"],
[data-areg-schools-map-section="true"] [data-areg-native-embed-body-item="true"],
[data-areg-schools-map-section="true"] iframe {
	overflow: hidden !important;
	border: 0 !important;
	margin: 0 !important;
}

/* El mapa del popup de dirección debe ocupar todo el alto de 450px. */
[data-areg-popup-map-dialog="true"] [data-areg-popup-map-layer="true"],
[data-areg-popup-map-dialog="true"] canvas[aria-label="Map"] {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	height: 450px !important;
	min-height: 450px !important;
	max-height: 450px !important;
}


/* ================================================================
   Versión 0.9.62: ajustes de galería, Virtual Tour, Schools y footer
   ================================================================ */

[data-areg-native-location-panel="virtual-tour"] {
	order: 6 !important;
}
@media (min-width: 821px) {
	[data-areg-native-location-tabs="true"][data-areg-native-location-tab-count="6"] {
		grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	}
}
[data-areg-virtual-tour-section="true"],
[data-areg-virtual-tour-shell="true"],
[data-areg-virtual-tour-frame="true"] {
	box-sizing: border-box !important;
	width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	max-height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

/* Share y Save: solo el popup de galería recupera la fila nativa de v0.9.59. */
[data-areg-gallery-popup="true"]
[data-areg-gallery-popup-actions="true"] {
	display: flex !important;
	flex-flow: row nowrap !important;
	align-items: center !important;
	justify-content: flex-end !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
}
[data-areg-gallery-popup="true"]
[data-areg-gallery-popup-actions="true"]
> [data-areg-gallery-popup-action-item="true"] {
	display: block !important;
	flex: 0 1 auto !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: 100% !important;
}
[data-areg-gallery-popup="true"] .share-listing,
[data-areg-gallery-popup="true"] .save-listing {
	display: block !important;
	flex: 0 1 auto !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: 100% !important;
	white-space: nowrap !important;
}

[data-areg-schools-map-section="true"] {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
}

body.areg-kestrel-basic-search-page [data-areg-basic-search-footer="true"] {
	padding-top: 30px !important;
}

/* ================================================================
   Versión 0.9.62: galería visible y Schools sin marco ni espacio sobrante
   ================================================================ */

/*
 * La capa interna de Kestrel es absoluta. El carrusel necesita conservar
 * una altura real para que las fotos, flechas y contador permanezcan dentro
 * del mismo bloque sin crear una segunda zona gris.
 */
.listing-section.areg-property-main
> [data-areg-gallery-counter-host="true"]
> [data-areg-gallery-dynamic-carousel="true"] {
	height: var(--areg-gallery-active-height) !important;
	min-height: var(--areg-gallery-active-height) !important;
	max-height: var(--areg-gallery-active-height) !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	overflow: hidden !important;
}

/* El nuevo Schools no conserva el marco ni la máscara del widget antiguo. */
.listing-section.areg-property-main
> [data-areg-schools-map-section="true"][data-areg-native-embed-section="schools"] {
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}

.listing-section.areg-property-main
> [data-areg-schools-map-section="true"][data-areg-native-embed-section="schools"]::before,
.listing-section.areg-property-main
> [data-areg-schools-map-section="true"][data-areg-native-embed-section="schools"]::after {
	content: none !important;
	display: none !important;
	height: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.listing-section.areg-property-main
> [data-areg-schools-map-section="true"]
[data-areg-native-embed-shell="true"],
.listing-section.areg-property-main
> [data-areg-schools-map-section="true"]
[data-areg-native-embed-body-item="true"],
.listing-section.areg-property-main
> [data-areg-schools-map-section="true"]
iframe[data-areg-native-embed-frame="schools"] {
	border: 0 !important;
	border-radius: 0 !important;
	outline: 0 !important;
	box-shadow: none !important;
	background: transparent !important;
}



/* ================================================================
   Versión 0.9.64: Schools centrado, Street View y Virtual Tour
   ================================================================ */

/* El recorrido conserva una altura real en píxeles aun mientras está oculto. */
[data-areg-virtual-tour-shell="true"],
iframe[data-areg-virtual-tour-frame="true"] {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	height: var(--areg-virtual-tour-height, 450px) !important;
	min-height: var(--areg-virtual-tour-height, 450px) !important;
	max-height: var(--areg-virtual-tour-height, 450px) !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

@media (max-width: 600px) {
	[data-areg-virtual-tour-section="true"] {
		--areg-virtual-tour-height: 360px;
	}
}

/* Créditos abajo a la izquierda; logo de Google elevado sobre esa fila. */
[data-areg-street-view-frame="true"] [data-areg-street-view-legal="true"] {
	left: 4px !important;
	right: auto !important;
	bottom: 0 !important;
	top: auto !important;
	white-space: nowrap !important;
}
[data-areg-street-view-frame="true"] [data-areg-street-view-google-logo="true"] {
	left: 8px !important;
	right: auto !important;
	bottom: 27px !important;
	top: auto !important;
}


/* ================================================================
   Versión 0.9.71: portada y contenedor visual del buscador Hero
   ================================================================ */

/*
 * Portada: elimina el espacio que Avada añade entre el header y #home0.
 * El párrafo vacío forma parte del contenido renderizado de la página.
 */
body.areg-kestrel-home-page #main {
	padding-top: 0 !important;
}
body.areg-kestrel-home-page
#content
.post-content
> p:first-child:empty {
	display: none !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}
body.areg-kestrel-home-page #home0 {
	margin-top: 0 !important;
}

/* En escritorio, el título recupera un espaciado positivo y legible. */
body.areg-kestrel-home-page #hero_h1 h1 {
	letter-spacing: 2px !important;
}

/* Caja translúcida exclusiva del formulario IDX del Hero. */
body.areg-kestrel-home-page
#searchings
.fusion-widget-area {
	box-sizing: border-box !important;
	padding: 0 !important;
}
body.areg-kestrel-home-page
#searchings
.widget_ihomefinderquicksearchwidget {
	margin: 0 !important;
}
body.areg-kestrel-home-page
#searchings
.ihf-container {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 30px !important;
	border-radius: 16px !important;
	background-color: rgb(255 255 255 / 75%) !important;
	-webkit-backdrop-filter: blur(1px) !important;
	backdrop-filter: blur(3px) !important;
	overflow: visible !important;
}

@media (max-width: 767px) {
	/*
	 * v2.96: el Hero debe llenar la parte visible del dispositivo que queda
	 * después del header. El valor real del header se mide desde JS; 116px es
	 * únicamente un fallback previo al primer scan, cubierto por el loader.
	 */
	:root {
		--areg-home-mobile-header-height: 116px;
	}

	body.areg-kestrel-home-page #home0 {
		box-sizing: border-box !important;
		min-height: calc(100vh - var(--areg-home-mobile-header-height)) !important;
		min-height: calc(100svh - var(--areg-home-mobile-header-height)) !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		background-position: center center !important;
	}

	/*
	 * Sustituye los márgenes cruzados de Avada por una separación controlada:
	 * título compacto y formulario estable sobre el Hero.
	 */
	body.areg-kestrel-home-page #hero_h1 {
		margin-top: 0 !important;
		margin-bottom: 0 !important;
		padding-bottom: 295px !important;
	}
	body.areg-kestrel-home-page #hero_h1 .fusion-text,
	body.areg-kestrel-home-page #hero_h1 .hero-title {
		margin: 0 !important;
		padding: 0 !important;
	}
	body.areg-kestrel-home-page #hero_h1 h1 {
		margin: 0 !important;
		padding-top: 40px !important;
		padding-right: 0 !important;
		padding-bottom: 10px !important;
		padding-left: 0 !important;
		font-size: 56px !important;
		line-height: 1.4 !important;
		letter-spacing: -2px !important;
	}
	body.areg-kestrel-home-page
	#hero_h1 h1 [data-areg-home-title-line="1"] {
		display: inline-block !important;
		white-space: nowrap !important;
	}
	body.areg-kestrel-home-page
	#hero_h1 h1 [data-areg-home-title-separator="true"] {
		display: none !important;
	}
	body.areg-kestrel-home-page
	#hero_h1 h1 [data-areg-home-title-line="2"] {
		display: block !important;
		margin-top: 6px !important;
	}
	body.areg-kestrel-home-page #HOME {
		padding-top: 0 !important;
	}
	body.areg-kestrel-home-page #searchings {
		margin-top: -275px !important;
		margin-bottom: 60px !important;
	}
}


/* ================================================================
   Versión 0.9.75: refinamiento de sliders y Mortgage Insurance
   ================================================================ */

/* Divisores más suaves y apertura/cierre rápido de los campos avanzados. */
[data-areg-mortgage-field] {
	max-height: 96px !important;
	border-bottom-color: #e4e4e4 !important;
	overflow: hidden !important;
	opacity: 1 !important;
	transform: translateY(0) !important;
	transition:
		max-height 180ms ease,
		opacity 130ms ease,
		transform 180ms ease,
		margin 180ms ease,
		padding 180ms ease,
		border-color 130ms ease !important;
}

[data-areg-mortgage-field][data-areg-mortgage-collapsed="true"] {
	max-height: 0 !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
	border-bottom-color: transparent !important;
	opacity: 0 !important;
	transform: translateY(-6px) !important;
	pointer-events: none !important;
}

/* Conceptos y cantidades de sliders: 14px y line-height compacto. */
[data-areg-mortgage-field-heading="true"],
[data-areg-mortgage-field-label="true"],
[data-areg-mortgage-field-value="true"] {
	line-height: 1.15 !important;
}

[data-areg-mortgage-field-label="true"],
[data-areg-mortgage-field-value="true"] {
	font-size: 14px !important;
}

/* Riel apenas más grueso que en v0.9.74. */
[data-areg-mortgage-field-input="true"]::-webkit-slider-runnable-track {
	height: 5px !important;
}

[data-areg-mortgage-field-input="true"]::-webkit-slider-thumb {
	margin-top: -8.5px !important;
}

[data-areg-mortgage-field-input="true"]::-moz-range-track,
[data-areg-mortgage-field-input="true"]::-moz-range-progress {
	height: 5px !important;
}

/* Expand/Minimize conserva 16px pero sin subrayado. */
[data-areg-mortgage-toggle="true"],
[data-areg-mortgage-toggle="true"]:hover,
[data-areg-mortgage-toggle="true"]:focus,
[data-areg-mortgage-toggle="true"]:active {
	font-size: 16px !important;
	text-decoration: none !important;
	text-underline-offset: 0 !important;
}

/* Mortgage Insurance siempre ocupa la última fila de la interfaz visible. */
[data-areg-mortgage-insurance="true"] {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) max-content 40px !important;
	column-gap: 12px !important;
	align-items: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 18px 0 0 !important;
	padding: 14px 0 0 !important;
	border-top: 1px solid #e4e4e4 !important;
	color: #3f3f3f !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
}

[data-areg-mortgage-insurance-label="true"] {
	min-width: 0 !important;
}

[data-areg-mortgage-insurance-amount="true"] {
	white-space: nowrap !important;
	font-variant-numeric: tabular-nums !important;
}

[data-areg-mortgage-insurance-switch="true"] {
	position: relative !important;
	display: inline-block !important;
	box-sizing: border-box !important;
	width: 40px !important;
	height: 24px !important;
	margin: 0 !important;
	padding: 0 !important;
	cursor: pointer !important;
}

[data-areg-mortgage-insurance-input="true"] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	margin: -1px !important;
	padding: 0 !important;
	border: 0 !important;
	clip: rect(0 0 0 0) !important;
	clip-path: inset(50%) !important;
	overflow: hidden !important;
	white-space: nowrap !important;
}

[data-areg-mortgage-insurance-slider="true"] {
	position: absolute !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	border-radius: 24px !important;
	background: #cfcfcf !important;
	transition: background-color 160ms ease !important;
}

[data-areg-mortgage-insurance-slider="true"]::before {
	content: "" !important;
	position: absolute !important;
	left: 3px !important;
	bottom: 3px !important;
	width: 18px !important;
	height: 18px !important;
	border-radius: 50% !important;
	background: #ffffff !important;
	box-shadow: 0 1px 2px rgb(0 0 0 / 18%) !important;
	transform: translateX(0) !important;
	transition: transform 160ms ease !important;
}

[data-areg-mortgage-insurance-input="true"]:checked
+ [data-areg-mortgage-insurance-slider="true"] {
	background: #3f3f3f !important;
}

[data-areg-mortgage-insurance-input="true"]:checked
+ [data-areg-mortgage-insurance-slider="true"]::before {
	transform: translateX(16px) !important;
}

[data-areg-mortgage-insurance-input="true"]:focus-visible
+ [data-areg-mortgage-insurance-slider="true"] {
	box-shadow: 0 0 0 3px rgb(63 63 63 / 20%) !important;
}

@media (max-width: 390px) {
	[data-areg-mortgage-field-value="true"],
	[data-areg-mortgage-insurance="true"] {
		font-size: 14px !important;
	}

	[data-areg-mortgage-insurance="true"] {
		grid-template-columns: minmax(0, 1fr) max-content 40px !important;
		column-gap: 9px !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	[data-areg-mortgage-field],
	[data-areg-mortgage-insurance-slider="true"],
	[data-areg-mortgage-insurance-slider="true"]::before {
		transition-duration: 0.01ms !important;
	}
}


/* ================================================================
   Enganche editable por monto y rieles de 6px
   ================================================================ */

/* El importe del enganche se edita sin convertir toda la fila en un input. */
[data-areg-mortgage-down-payment-value="true"] {
	display: inline-flex !important;
	align-items: baseline !important;
	justify-content: flex-end !important;
	gap: 0 !important;
}

[data-areg-mortgage-down-payment-amount="true"] {
	display: inline !important;
	box-sizing: border-box !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: inherit !important;
	font: inherit !important;
	font-weight: 700 !important;
	line-height: inherit !important;
	text-decoration: none !important;
	white-space: nowrap !important;
	cursor: text !important;
}

[data-areg-mortgage-down-payment-amount="true"]:hover,
[data-areg-mortgage-down-payment-amount="true"]:focus-visible {
	text-decoration: none !important;
}

[data-areg-mortgage-down-payment-amount="true"]:focus-visible {
	outline: 2px solid rgb(63 63 63 / 35%) !important;
	outline-offset: 2px !important;
}

[data-areg-mortgage-down-payment-editor="true"] {
	box-sizing: border-box !important;
	width: 112px !important;
	max-width: 42vw !important;
	min-height: 28px !important;
	margin: -5px 0 !important;
	padding: 4px 7px !important;
	border: 1px solid #e4e4e4 !important;
	border-radius: 4px !important;
	background: #ffffff !important;
	box-shadow: none !important;
	color: #3f3f3f !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	text-align: right !important;
	font-variant-numeric: tabular-nums !important;
}

[data-areg-mortgage-down-payment-editor="true"]:focus {
	border-color: #3f3f3f !important;
	outline: 2px solid rgb(63 63 63 / 14%) !important;
	outline-offset: 1px !important;
}

/* El riel sube de 5px a 6px, conservando el thumb de 22px. */
[data-areg-mortgage-field-input="true"]::-webkit-slider-runnable-track {
	height: 6px !important;
}

[data-areg-mortgage-field-input="true"]::-webkit-slider-thumb {
	margin-top: -8px !important;
}

[data-areg-mortgage-field-input="true"]::-moz-range-track,
[data-areg-mortgage-field-input="true"]::-moz-range-progress {
	height: 6px !important;
}

/* ================================================================
   Versión 0.9.77: cursores y disclaimer móvil de Mortgage Calculator
   ================================================================ */

/* Las cantidades estáticas conservan el cursor de selección de texto. */
[data-areg-mortgage-field-value="true"],
[data-areg-mortgage-insurance-amount="true"] {
	cursor: text !important;
}

/* Solo el monto editable de Down Payment muestra la mano de interacción. */
[data-areg-mortgage-down-payment-amount="true"] {
	cursor: pointer !important;
}

/* Expand/Minimize queda inmediatamente después de los sliders. */
[data-areg-mortgage-toggle="true"] {
	margin-top: 0 !important;
}

@media (max-width: 700px) {
	/*
	 * Evita que la última línea del disclaimer quede recortada por alturas u
	 * overflow heredados de Kestrel al recalcular la calculadora en móvil.
	 */
	.listing-section.areg-property-main
	> [data-areg-section-spacing="mortgage"],
	[data-areg-mortgage-redesign="true"],
	[data-areg-mortgage-redesign="true"] .mortgage-calculator,
	[data-areg-mortgage-redesign="true"] .ihf-mortgage-disclaimer,
	[data-areg-mortgage-redesign="true"] .ihf-mortgage-disclaimer p {
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow: visible !important;
		clip: auto !important;
		clip-path: none !important;
	}

	.listing-section.areg-property-main
	.mortgage-calculator[data-areg-mortgage-redesign="true"]
	.ihf-mortgage-disclaimer p,
	[data-areg-mortgage-redesign="true"] .ihf-mortgage-disclaimer p {
		padding-bottom: 3px !important;
	}
}



/* ================================================================
   Versión 0.9.79: cursores, espacio del toggle y leyenda interactiva
   ================================================================ */

/* El enlace de expansión conserva una separación mínima de 1px. */
[data-areg-mortgage-toggle="true"] {
	margin-top: 1px !important;
}

/* Los títulos son texto informativo, no controles interactivos. */
[data-areg-mortgage-field-heading="true"],
[data-areg-mortgage-field-label="true"],
[data-areg-mortgage-insurance-label="true"],
[data-areg-mortgage-legend-row],
[data-areg-mortgage-legend-label] {
	cursor: default !important;
}

/* Solo los controles reales conservan la mano de interacción. */
[data-areg-mortgage-down-payment-amount="true"],
[data-areg-mortgage-field-input="true"],
[data-areg-mortgage-insurance-switch="true"],
[data-areg-mortgage-insurance-slider="true"] {
	cursor: pointer !important;
}

/* Resaltado ligero del segmento asociado a cada leyenda. */
[data-areg-mortgage-segment] {
	transition:
		stroke-width 150ms ease,
		opacity 150ms ease,
		filter 150ms ease !important;
}

[data-areg-mortgage-donut="true"][data-areg-mortgage-highlight]
[data-areg-mortgage-segment] {
	opacity: 0.68 !important;
}

[data-areg-mortgage-donut="true"][data-areg-mortgage-highlight]
[data-areg-mortgage-segment][data-areg-mortgage-highlighted="true"] {
	stroke-width: 14 !important;
	opacity: 1 !important;
	filter: brightness(1.08) drop-shadow(0 0 2px rgb(0 0 0 / 16%)) !important;
}

[data-areg-mortgage-legend-row] {
	border-radius: 4px !important;
	transition: background-color 150ms ease !important;
}

[data-areg-mortgage-legend-row][data-areg-mortgage-legend-highlighted="true"] {
	background-color: rgb(63 63 63 / 5%) !important;
}

@media (prefers-reduced-motion: reduce) {
	[data-areg-mortgage-segment],
	[data-areg-mortgage-legend-row] {
		transition-duration: 0.01ms !important;
	}
}

/* ================================================================
   Versión 0.9.80: chevrón de Expand/Minimize Mortgage Calculator
   ================================================================ */

/* El texto y el chevrón comparten toda el área clicable del botón. */
[data-areg-mortgage-toggle="true"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 14px !important;
	width: 100% !important;
	margin-top: 1px !important;
}

[data-areg-mortgage-toggle-label="true"] {
	min-width: 0 !important;
}

[data-areg-mortgage-toggle-icon="true"] {
	display: block !important;
	flex: 0 0 20px !important;
	width: 20px !important;
	height: 20px !important;
	margin-left: auto !important;
	fill: none !important;
	stroke: currentColor !important;
	stroke-width: 2 !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
	transform: rotate(0deg) !important;
	transform-origin: center !important;
	transition: transform 160ms ease !important;
}

/* Al minimizar, la misma “V” gira hacia arriba. */
[data-areg-mortgage-toggle="true"][aria-expanded="true"]
[data-areg-mortgage-toggle-icon="true"] {
	transform: rotate(180deg) !important;
}

@media (prefers-reduced-motion: reduce) {
	[data-areg-mortgage-toggle-icon="true"] {
		transition-duration: 0.01ms !important;
	}
}


/* ================================================================
   Versión 0.9.81: Mortgage Insurance dentro del bloque expandible
   ================================================================ */

/* La fila queda después de HOA y antes de Expand/Minimize. */
[data-areg-mortgage-insurance="true"] {
	max-height: 72px !important;
	overflow: hidden !important;
	opacity: 1 !important;
	transform: translateY(0) !important;
	transition:
		max-height 180ms ease,
		opacity 130ms ease,
		transform 180ms ease,
		margin 180ms ease,
		padding 180ms ease,
		border-color 130ms ease !important;
}

/* Minimizada: Mortgage Insurance no ocupa espacio ni recibe interacción. */
[data-areg-mortgage-insurance="true"][data-areg-mortgage-collapsed="true"] {
	max-height: 0 !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
	border-top-color: transparent !important;
	opacity: 0 !important;
	transform: translateY(-6px) !important;
	pointer-events: none !important;
}

@media (prefers-reduced-motion: reduce) {
	[data-areg-mortgage-insurance="true"] {
		transition-duration: 0.01ms !important;
	}
}

/* ================================================================
   Versión 0.9.82: espacio superior exclusivo para Minimize
   ================================================================ */

/* Expand conserva 1px; Minimize recibe aire después del bloque abierto. */
[data-areg-mortgage-toggle="true"][aria-expanded="true"] {
	margin-top: 20px !important;
}

/* ================================================================
   Versión 0.9.83: un solo divisor entre HOA y Mortgage Insurance
   ================================================================ */

/*
 * HOA Dues es un <label> generado por la calculadora. Se elimina su borde y
 * espacio inferior para conservar únicamente el divisor superior de
 * Mortgage Insurance.
 */
[data-areg-mortgage-field="hoa"] {
	border-bottom: 0 !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}


/* ================================================================
   Versión 0.9.84: selector real de la fila HOA Dues
   ================================================================ */

/*
 * El atributo generado por JavaScript usa la clave completa hoaMonthly.
 * Se anula aquí el divisor y el espacio inferior para dejar únicamente
 * el borde superior de Mortgage Insurance.
 */
label[data-areg-mortgage-field="hoaMonthly"] {
	border-bottom: 0 !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}

/* ================================================================
   Versión 0.9.87: separación de Property Details bajo Satisfied Buyers
   ================================================================ */

/*
 * En escritorio, la imagen de Satisfied Buyers se eleva visualmente para
 * alinearse con el título. Property Details recibe espacio superior propio
 * para comenzar claramente debajo del borde inferior de esa galería.
 * Móvil conserva su distribución y espaciado actuales.
 */
@media (min-width: 701px) {
	.listing-section.areg-property-main
	> [data-areg-section-spacing="property-details"] {
		padding-top: 50px !important;
	}
}


/* ================================================================
   Versión 0.9.90: formulario, galería y mapas uniformes
   ================================================================ */

/* Menú contextual y leyenda superior del sitio a 15px. */
.listing-section.areg-property-main .areg-property-search-trail,
#cont_ .t_ {
	font-size: 15px !important;
}

/* El estado de la propiedad permanece sobre la primera fotografía. */
[data-areg-gallery-primary-status-host="true"] {
	position: relative !important;
}

[data-areg-gallery-primary-status="true"] {
	position: absolute !important;
	top: 10px !important;
	left: var(--areg-gallery-counter-right) !important;
	z-index: 41 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	min-width: 42px !important;
	margin: 0 !important;
	padding: 3px 8px !important;
	border: 0 !important;
	border-radius: 5px !important;
	background: rgba(0, 0, 0, .56) !important;
	color: #ffffff !important;
	-webkit-text-fill-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: 18px !important;
	letter-spacing: .01em !important;
	text-align: center !important;
	white-space: nowrap !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: none !important;
	user-select: none !important;
}

@media (max-width: 767px) {
	[data-areg-gallery-primary-status="true"] {
		top: 8px !important;
		left: 12px !important;
	}
}

/* Zoom inicial absoluto y común de los tres mapas. */
.listing-section.areg-property-main {
	--areg-native-map-default-zoom: 10;
}

/* Crédito del mapa principal: mismo pie compacto del mapa Schools. */
[data-areg-native-map-root="true"] [data-areg-map-attribution-positioner="true"] {
	position: absolute !important;
	top: auto !important;
	right: auto !important;
	bottom: 0 !important;
	left: 0 !important;
	z-index: 25 !important;
	margin: 0 !important;
	padding: 0 !important;
	pointer-events: none !important;
	transform: none !important;
}

[data-areg-native-map-root="true"] [data-areg-map-attribution-control="true"] {
	display: block !important;
	box-sizing: border-box !important;
	margin: 0 0 7px 8px !important;
	padding: 3px 6px !important;
	border: 0 !important;
	border-radius: 4px !important;
	background: rgba(255, 255, 255, .95) !important;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .18) !important;
	color: #333333 !important;
	font-family: "Helvetica Neue", Arial, Helvetica, sans-serif !important;
	font-size: 10px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	white-space: nowrap !important;
	pointer-events: auto !important;
}

[data-areg-native-map-root="true"] [data-areg-map-attribution-list="true"] {
	display: block !important;
	visibility: visible !important;
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	color: #333333 !important;
	opacity: 1 !important;
}

[data-areg-native-map-root="true"] [data-areg-map-attribution-list="true"] a {
	color: #0078a8 !important;
	-webkit-text-fill-color: #0078a8 !important;
	font: inherit !important;
	text-decoration: none !important;
}

[data-areg-native-map-root="true"] [data-areg-map-attribution-list="true"] a:hover,
[data-areg-native-map-root="true"] [data-areg-map-attribution-list="true"] a:focus-visible {
	text-decoration: underline !important;
}

[data-areg-native-map-root="true"] [data-areg-map-attribution-toggle-hidden="true"],
[data-areg-native-map-root="true"] [data-areg-native-map-credit-hidden="true"] {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	pointer-events: none !important;
}


/* ================================================================
   Versión 0.9.91: controles de zoom uniformes en los tres mapas
   ================================================================ */

/*
 * El mapa principal replica el control usado por Schools: 40 × 40px,
 * esquinas de 8px, separador central, sombra y posición a 12px de los
 * bordes derecho e inferior. Solo quedan visibles los botones + y −.
 */
[data-areg-native-map-root="true"]
[data-areg-native-map-zoom-positioner="true"] {
	right: 12px !important;
	bottom: 12px !important;
}

[data-areg-native-map-root="true"]
[data-areg-native-map-zoom-group="true"] {
	display: flex !important;
	flex-direction: column !important;
	overflow: hidden !important;
	width: 40px !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 8px !important;
	background: #ffffff !important;
	box-shadow:
		0 1px 2px rgba(0, 0, 0, .18),
		0 2px 6px rgba(0, 0, 0, .16) !important;
}

[data-areg-native-map-root="true"]
[data-areg-native-map-zoom-group="true"]
> button:not([data-areg-native-map-zoom-button]) {
	display: none !important;
}

[data-areg-native-map-root="true"]
[data-areg-native-map-zoom-button] {
	position: relative !important;
	display: block !important;
	box-sizing: border-box !important;
	width: 40px !important;
	min-width: 40px !important;
	max-width: 40px !important;
	height: 40px !important;
	min-height: 40px !important;
	max-height: 40px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: #ffffff !important;
	box-shadow: none !important;
	color: transparent !important;
	font-size: 0 !important;
	line-height: 0 !important;
	text-indent: 0 !important;
	cursor: pointer !important;
}

[data-areg-native-map-root="true"]
[data-areg-native-map-zoom-button="in"] {
	border-bottom: 1px solid #dadce0 !important;
}

[data-areg-native-map-root="true"]
[data-areg-native-map-zoom-button] > * {
	opacity: 0 !important;
	visibility: hidden !important;
}

[data-areg-native-map-root="true"]
[data-areg-native-map-zoom-button]::before {
	position: absolute !important;
	inset: 0 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	color: #3c4043 !important;
	font-family: Arial, sans-serif !important;
	font-size: 26px !important;
	font-weight: 300 !important;
	line-height: 38px !important;
	text-align: center !important;
	text-indent: 0 !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: none !important;
}

[data-areg-native-map-root="true"]
[data-areg-native-map-zoom-button="in"]::before {
	content: "+";
}

[data-areg-native-map-root="true"]
[data-areg-native-map-zoom-button="out"]::before {
	content: "−";
}

[data-areg-native-map-root="true"]
[data-areg-native-map-zoom-button]:hover {
	background: #f8f9fa !important;
}

[data-areg-native-map-root="true"]
[data-areg-native-map-zoom-button]:hover::before {
	color: #202124 !important;
}

[data-areg-native-map-root="true"]
[data-areg-native-map-zoom-button]:active {
	background: #f1f3f4 !important;
}

[data-areg-native-map-root="true"]
[data-areg-native-map-zoom-button]:focus-visible {
	outline: 2px solid #1a73e8 !important;
	outline-offset: -2px !important;
}

[data-areg-native-map-root="true"]
[data-areg-native-map-zoom-button]:disabled {
	background: #ffffff !important;
	cursor: default !important;
}

[data-areg-native-map-root="true"]
[data-areg-native-map-zoom-button]:disabled::before {
	color: #bdc1c6 !important;
}

/* ================================================================
   Versión 0.9.92: pasos y posición de Mortgage Calculator
   ================================================================ */

/* El texto completo de Mortgage Insurance permanece en 14px en todo tamaño. */
[data-areg-mortgage-insurance="true"],
[data-areg-mortgage-insurance-label="true"],
[data-areg-mortgage-insurance-amount="true"] {
	font-size: 14px !important;
}


/* ================================================================
   Versión 0.9.94: buscador sobre el contenido y estado solo en galería
   ================================================================ */

/*
 * El menú desplegable del buscador Hero puede extenderse sobre las imágenes
 * inferiores. Se crea un contexto posicionado y se eleva todo #searchings.
 */
body.areg-kestrel-home-page #searchings {
	position: relative !important;
	z-index: 10 !important;
}

/* ================================================================
   Versión 0.9.96: estado junto al precio sin clases dinámicas
   ================================================================ */

/*
 * No se agregan selectores para clases internas de Kestrel. Sus nombres se
 * generan dinámicamente y pueden cambiar en cada actualización de la página.
 */


/* ================================================================
   Versión 0.9.97: ocultación directa del estado original
   ================================================================ */

/*
 * Respaldo formado únicamente por atributos propios. No incluye clases de
 * Kestrel ni .areg-property-main porque el procesador interno puede convertir
 * cualquier selector de clase en un hash temporal. JavaScript aplica además
 * los mismos valores inline con prioridad !important.
 */
[data-areg-original-header-status="true"],
[data-areg-original-header-status-host="true"],
[data-areg-original-header-status-branch="true"] {
	display: none !important;
	visibility: hidden !important;
	height: 0 !important;
	min-height: 0 !important;
	max-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	overflow: hidden !important;
}


/* ================================================================
   Versión 1.00: loader más rápido, Location ampliado y mapas USDA/Fire
   ================================================================ */

/* Móvil: menú contextual con el espaciado solicitado. */
@media (max-width: 700px) {
	.listing-section.areg-property-main
	.areg-property-search-trail {
		margin-top: 11px !important;
		margin-bottom: 13px !important;
		font-size: 15px !important;
	}
}

/* Hot Property: título, icono y continuación en ese orden. */
[data-areg-hot-property="true"] {
	display: block !important;
}

[data-areg-hot-property-copy="true"] {
	display: inline !important;
}

[data-areg-hot-property-heading="true"],
[data-areg-hot-property-body="true"] {
	display: inline !important;
}

[data-areg-hot-property-heading="true"] {
	font-weight: 400 !important;
}

[data-areg-hot-property-icon="true"] {
	display: inline-block !important;
	float: none !important;
	position: static !important;
	box-sizing: border-box !important;
	width: 26px !important;
	height: 26px !important;
	margin: 0 !important;
	padding: 0 !important;
	vertical-align: -3px !important;
	object-fit: contain !important;
}

/*
 * Los botones dejan de tener ancho mínimo fijo. Cada uno ocupa solamente
 * lo que necesita su texto y la fila conserva scroll horizontal si un móvil
 * no tiene espacio físico para los siete controles.
 */
[data-areg-native-location-tabs="true"] {
	display: flex !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: 8px !important;
	overflow-x: auto !important;
	overflow-y: hidden !important;
}

[data-areg-native-location-tabs="true"]
> [data-areg-native-location-panel] {
	flex: 0 0 auto !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	min-height: 40px !important;
	padding: 8px 12px !important;
	white-space: nowrap !important;
	font-size: 15px !important;
	line-height: 1.2 !important;
}

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

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

/* Orden definitivo de las siete vistas 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="usda-map"] {
	order: 4 !important;
}

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

[data-areg-native-location-panel="fire-zone"] {
	order: 6 !important;
}

[data-areg-native-location-panel="virtual-tour"] {
	order: 7 !important;
}

/* Iframes aislados de USDA y Fire Zone. */
[data-areg-usda-map-section="true"],
[data-areg-fire-zone-section="true"],
[data-areg-usda-map-frame="true"],
[data-areg-fire-zone-frame="true"] {
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: #ffffff !important;
	overflow: hidden !important;
}

[data-areg-usda-map-frame="true"],
[data-areg-fire-zone-frame="true"] {
	display: block;
}

/* ================================================================
   Versión 1.01: donut bidireccional, galería 25/50/25 y CTA popup
   ================================================================ */

/* Los arcos del donut son ahora superficies interactivas reales. */
[data-areg-mortgage-segment] {
	pointer-events: stroke !important;
	cursor: pointer !important;
}

[data-areg-mortgage-legend-row][data-areg-mortgage-legend-highlighted="true"]
[data-areg-mortgage-legend-label],
[data-areg-mortgage-legend-row][data-areg-mortgage-legend-highlighted="true"]
[data-areg-mortgage-legend-amount] {
	color: #1f1f1f !important;
	font-weight: 700 !important;
}

[data-areg-mortgage-legend-row][data-areg-mortgage-legend-highlighted="true"]
[data-areg-mortgage-legend-dot] {
	transform: scale(1.14) !important;
}

[data-areg-mortgage-legend-dot],
[data-areg-mortgage-legend-label],
[data-areg-mortgage-legend-amount] {
	transition:
		transform 150ms ease,
		font-weight 150ms ease,
		color 150ms ease !important;
}

/* Botón adicional dentro del sidebar fijo del popup de fotografías. */
[data-areg-gallery-popup-prequalify="true"] {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	max-width: 100% !important;
	margin: 14px 0 0 !important;
	padding: 0 !important;
}

[data-areg-gallery-popup-prequalify-button="true"] {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	min-height: 44px !important;
	margin: 0 !important;
	padding: 10px 16px !important;
	border: 1px solid #9d072b !important;
	border-radius: 4px !important;
	background: #9d072b !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-align: center !important;
	text-decoration: none !important;
	cursor: pointer !important;
	box-shadow: none !important;
}

[data-areg-gallery-popup-prequalify-button="true"]:hover,
[data-areg-gallery-popup-prequalify-button="true"]:focus-visible {
	background: #7f0523 !important;
	border-color: #7f0523 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

@media (prefers-reduced-motion: reduce) {
	[data-areg-mortgage-legend-dot],
	[data-areg-mortgage-legend-label],
	[data-areg-mortgage-legend-amount] {
		transition-duration: 0.01ms !important;
	}
}


/* ================================================================
   Versión 1.02: estabilidad USDA/Fire, CTA popup robusto y Hot Property
   ================================================================ */
[data-areg-usda-map-section="true"],
[data-areg-fire-zone-section="true"] {
	background: #f3f4f6 !important;
}

[data-areg-usda-map-frame="true"],
[data-areg-fire-zone-frame="true"] {
	background: #f3f4f6 !important;
	transition: none !important;
}


/* ================================================================
   Versión 1.03: mapas creados solo con pestaña visible + CTA dentro de actions
   ================================================================ */
[data-areg-gallery-popup-prequalify="true"] {
	clear: both !important;
	flex: 0 0 auto !important;
	visibility: visible !important;
	opacity: 1 !important;
	overflow: visible !important;
}

[data-areg-gallery-popup-prequalify-button="true"] {
	visibility: visible !important;
	opacity: 1 !important;
}


/* ================================================================
   Versión 1.04: USDA/Fire con ciclo de vida de Flood + CTA por Schedule Tour
   ================================================================ */
/* Los mapas adicionales se precargan fuera del viewport con alto numérico. */
[data-areg-usda-map-frame="true"],
[data-areg-fire-zone-frame="true"] {
	display: block;
	visibility: visible;
	opacity: 1;
	transition: none !important;
}

/* CTA del popup: respaldo visual aunque Kestrel no marque el modal. */
[data-areg-gallery-popup-prequalify-anchor="schedule-actions-v1"] {
	display: block !important;
	width: 100% !important;
	visibility: visible !important;
	opacity: 1 !important;
}


/* ================================================================
   Versión 1.05: popup USDA compacto + CTA único al final del sidebar
   ================================================================ */
[data-areg-gallery-popup-prequalify-sidebar="true"]
[data-areg-gallery-popup-prequalify="true"] {
	order: 999 !important;
	flex: 0 0 auto !important;
	align-self: stretch !important;
	margin-top: 14px !important;
}


/* ================================================================
   Versión 1.06: CTA solo desktop en sidebar + Location uniforme desktop
   ================================================================ */

/*
 * En escritorio todos los botones visibles de Location reparten por igual el
 * ancho disponible. Si una propiedad tiene seis o siete vistas, el reparto se
 * adapta automáticamente al número real de botones sin dejar huecos laterales.
 */
@media (min-width: 768px) {
	[data-areg-native-location-tabs="true"] {
		display: flex !important;
		width: 100% !important;
		max-width: 100% !important;
		gap: 8px !important;
		overflow: visible !important;
	}

	[data-areg-native-location-tabs="true"]
	> [data-areg-native-location-panel] {
		flex: 1 1 0 !important;
		width: 0 !important;
		min-width: 0 !important;
		max-width: none !important;
		padding-left: 6px !important;
		padding-right: 6px !important;
		text-align: center !important;
		justify-content: center !important;
	}

	[data-areg-gallery-popup-prequalify="true"] {
		display: block !important;
	}
}

/* El CTA del popup de fotografías no existe visualmente en móvil. */
@media (max-width: 767px) {
	[data-areg-gallery-popup-prequalify="true"] {
		display: none !important;
		visibility: hidden !important;
	}
}

/* ================================================================
   Versión 1.07: CTA del popup anclado por Share/Save y separación de galería
   ================================================================ */
@media (min-width: 768px) {
	[data-areg-gallery-popup-prequalify-anchor="desktop-popup-sidebar-split-v4"] {
		display: block !important;
		width: 100% !important;
		align-self: stretch !important;
		order: 999 !important;
	}
}



/* ================================================================
   Versión 1.08: CTA en la columna derecha real del popup
   ================================================================ */
@media (min-width: 768px) {
	[data-areg-gallery-popup-prequalify-anchor="desktop-popup-real-sidebar-v5"] {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		align-self: stretch !important;
		order: 999 !important;
	}
}


/* ================================================================
   Versión 1.09: CTA contenido + fechas compactas en popup desktop
   ================================================================ */
@media (min-width: 768px) {
	/*
	 * El CTA vive en el ui-grid-item exterior del sidebar. Ese nodo no tiene
	 * los márgenes negativos de ui-grid-spacing, por lo que 100% coincide con
	 * el ancho visible de la columna y nunca rebasa el borde derecho del popup.
	 */
	[data-areg-gallery-popup-prequalify-anchor="desktop-popup-real-sidebar-v6"] {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin: 14px 0 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
	}

	[data-areg-gallery-popup-prequalify-anchor="desktop-popup-real-sidebar-v6"]
	[data-areg-gallery-popup-prequalify-button="true"] {
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
	}

	/*
	 * La fila de fechas queda siempre en una sola línea estructural:
	 * flecha | fechas | flecha. Cada fecha muestra día arriba y mes+día abajo.
	 */
	[data-areg-gallery-popup-date-row="true"] {
		display: grid !important;
		grid-template-columns: 28px minmax(0, 1fr) 28px !important;
		align-items: center !important;
		column-gap: 2px !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin: 0 !important;
		flex-wrap: nowrap !important;
	}

	[data-areg-gallery-popup-date-navigation="true"] {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		width: 28px !important;
		min-width: 28px !important;
		max-width: 28px !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	[data-areg-gallery-popup-date-navigation-button="true"] {
		width: 28px !important;
		height: 40px !important;
		min-width: 28px !important;
		max-width: 28px !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	[data-areg-gallery-popup-date-tiles="true"],
	[data-areg-gallery-popup-date-tiles-row="true"] {
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	[data-areg-gallery-popup-date-tiles-row="true"] {
		display: flex !important;
		flex-flow: row nowrap !important;
		align-items: stretch !important;
		gap: 0 !important;
	}

	[data-areg-gallery-popup-date-item="true"] {
		display: block !important;
		flex: 1 1 0 !important;
		box-sizing: border-box !important;
		width: 0 !important;
		min-width: 0 !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	[data-areg-gallery-popup-date-button="true"] {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 46px !important;
		margin: 0 !important;
		padding: 3px 1px !important;
	}

	[data-areg-gallery-popup-date-button-label="true"] {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 0 !important;
		width: 100% !important;
		min-width: 0 !important;
		line-height: 1.05 !important;
	}

	[data-areg-gallery-popup-date-day="true"],
	[data-areg-gallery-popup-date-month="true"] {
		display: block !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		text-align: center !important;
		white-space: nowrap !important;
	}

	[data-areg-gallery-popup-date-day="true"] {
		font-size: 12px !important;
		line-height: 1.05 !important;
	}

	[data-areg-gallery-popup-date-month="true"] {
		margin-top: 2px !important;
		font-size: 13px !important;
		font-weight: 600 !important;
		line-height: 1.05 !important;
	}
}


/* ================================================================
   Versión 1.10: CTA en flujo normal + badge a la izquierda
   ================================================================ */

/*
 * El estado de la primera fotografía vuelve a una coordenada absoluta estable.
 * No depende de una variable heredada del contador, porque el host de la imagen
 * puede ser reparentado por Kestrel durante el carrusel.
 */
[data-areg-gallery-primary-status="true"] {
	left: 20px !important;
	right: auto !important;
}

@media (max-width: 767px) {
	[data-areg-gallery-primary-status="true"] {
		left: 12px !important;
		right: auto !important;
	}
}

@media (min-width: 768px) {
	/*
	 * El CTA es un item normal de la columna interna del sidebar. No usa
	 * position, z-index ni order para no superponerse sobre precio/dirección.
	 */
	[data-areg-gallery-popup-prequalify-anchor="desktop-popup-real-sidebar-v7"] {
		display: block !important;
		position: static !important;
		box-sizing: border-box !important;
		flex: 0 0 auto !important;
		order: initial !important;
		align-self: stretch !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin: 14px 0 0 !important;
		padding: 0 !important;
		overflow: visible !important;
		z-index: auto !important;
	}

	[data-areg-gallery-popup-prequalify-anchor="desktop-popup-real-sidebar-v7"]
	[data-areg-gallery-popup-prequalify-button="true"] {
		display: flex !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		white-space: nowrap !important;
	}
}


/* ================================================================
   Versión 1.12: CTA alineado con Schedule Tour + fechas contenidas
   ================================================================ */
@media (min-width: 768px) {
	/*
	 * El ancho y el margen izquierdo definitivos se escriben inline desde JS
	 * copiando la caja visible de Schedule Tour. Este bloque solo neutraliza
	 * herencias antiguas de las versiones v6/v7 del CTA.
	 */
	[data-areg-gallery-popup-prequalify-anchor="desktop-popup-real-sidebar-v8"] {
		display: block !important;
		position: static !important;
		box-sizing: border-box !important;
		flex: 0 0 auto !important;
		order: initial !important;
		align-self: flex-start !important;
		min-width: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		z-index: auto !important;
	}

	[data-areg-gallery-popup-prequalify-anchor="desktop-popup-real-sidebar-v8"]
	[data-areg-gallery-popup-prequalify-button="true"] {
		display: flex !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		white-space: nowrap !important;
	}
}


/* ================================================================
   Versión 1.13: Location móvil amplio + búsqueda móvil contenida
   ================================================================ */

/*
 * En móvil Location recupera el ancho cómodo anterior a 1.00. Desktop
 * conserva el reparto uniforme al 100% introducido en 1.06.
 */
@media (max-width: 767px) {
	[data-areg-native-location-tabs="true"] {
		gap: 10px !important;
	}

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

	/*
	 * El layout móvil de Kestrel puede conservar nodos internos más anchos que
	 * el viewport. La lógica del Shadow DOM los normaliza; este límite exterior
	 * evita que un render intermedio habilite desplazamiento horizontal global.
	 */
	body.areg-kestrel-basic-search-page {
		box-sizing: border-box !important;
		max-width: 100vw !important;
		overflow-x: hidden !important;
	}

	/*
	 * v1.60: #wrapper, #main y #content no deben convertirse en un segundo
	 * scroller vertical. Con overflow-x:hidden + overflow-y:visible, el valor
	 * calculado de overflow-y pasa a auto. Usar clip evita ese efecto y deja
	 * que el documento sea el único dueño del scroll vertical.
	 */
	body.areg-kestrel-basic-search-page #wrapper,
	body.areg-kestrel-basic-search-page #main,
	body.areg-kestrel-basic-search-page #content {
		box-sizing: border-box !important;
		max-width: 100vw !important;
		overflow-x: clip !important;
		overflow-y: visible !important;
	}
}


/* ================================================================
   Versión 1.14: CTA ancho útil completo + Filters móvil inline
   ================================================================ */
@media (min-width: 768px) {
	[data-areg-gallery-popup-prequalify-anchor="desktop-popup-real-sidebar-v9"] {
		display: block !important;
		position: static !important;
		box-sizing: border-box !important;
		flex: 0 0 auto !important;
		order: initial !important;
		align-self: flex-start !important;
		min-width: 0 !important;
		padding: 0 !important;
		overflow: hidden !important;
		z-index: auto !important;
	}

	[data-areg-gallery-popup-prequalify-anchor="desktop-popup-real-sidebar-v9"]
	[data-areg-gallery-popup-prequalify-button="true"] {
		display: flex !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		white-space: nowrap !important;
	}
}


/* ================================================================
   Versión 1.15: separación Min/Max + CTA ancho visual completo
   ================================================================ */
@media (min-width: 768px) {
	[data-areg-gallery-popup-prequalify-anchor="desktop-popup-real-sidebar-v9"] {
		align-self: flex-start !important;
	}

	[data-areg-gallery-popup-prequalify-anchor="desktop-popup-real-sidebar-v9"]
	[data-areg-gallery-popup-prequalify-button="true"] {
		display: flex !important;
		width: 100% !important;
		min-width: 100% !important;
		max-width: 100% !important;
	}
}


/* ================================================================
   Versión 1.16: CTA con gutter derecho + gestos móviles de carruseles
   ================================================================ */

@media (min-width: 768px) {
	/*
	 * El ancho calculado de 1.15 se conserva. Solo se reserva el gutter derecho
	 * que el usuario verificó visualmente en DevTools.
	 */
	[data-areg-gallery-popup-prequalify-anchor="desktop-popup-real-sidebar-v9"] {
		box-sizing: border-box !important;
		padding-right: 10px !important;
	}
}

@media (max-width: 767px) {
	/*
	 * Similar Listings se controla con swipe en teléfono. Los botones nativos
	 * siguen existiendo para que JavaScript pueda activar el carrusel de React,
	 * pero dejan de ocupar/interrumpir visualmente la fotografía.
	 */
	[data-areg-similar-positioner="true"]
	[data-areg-similar-mobile-arrow] {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	[data-areg-similar-mobile-indicator-host="true"] {
		position: relative !important;
		touch-action: pan-y !important;
		-webkit-user-select: none !important;
		user-select: none !important;
	}

	[data-areg-similar-mobile-indicators="true"] {
		position: absolute !important;
		left: 50% !important;
		bottom: 14px !important;
		z-index: 70 !important;
		display: flex !important;
		flex-flow: row nowrap !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		max-width: calc(100% - 28px) !important;
		min-height: 28px !important;
		margin: 0 !important;
		padding: 6px 9px !important;
		overflow: hidden !important;
		border-radius: 999px !important;
		background: rgba(52, 52, 52, .72) !important;
		box-shadow: 0 1px 4px rgba(0, 0, 0, .18) !important;
		transform: translateX(-50%) !important;
		pointer-events: none !important;
	}

	[data-areg-similar-mobile-indicator-dot="true"] {
		display: block !important;
		box-sizing: border-box !important;
		flex: 0 0 6px !important;
		width: 6px !important;
		min-width: 6px !important;
		max-width: 6px !important;
		height: 6px !important;
		min-height: 6px !important;
		max-height: 6px !important;
		margin: 0 2px !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 50% !important;
		background: rgba(255, 255, 255, .58) !important;
		transition: background-color .18s ease, transform .18s ease !important;
	}

	[data-areg-similar-mobile-indicator-dot="true"][data-areg-similar-indicator-active="true"] {
		background: #ffffff !important;
		transform: scale(1.18) !important;
	}
}


/* ================================================================
   Versión 1.17: swipe independiente foto/propiedad + dots de fotos
   ================================================================ */

@media (max-width: 767px) {
	/*
	 * Las flechas propias de la fotografía dejan de mostrarse en teléfono.
	 * Se mantienen en el DOM para que JavaScript pueda invocarlas al hacer swipe.
	 */
	[data-areg-similar-listings="true"]
	.ihf-listing-result-img-container
	.ihf-listing-result-arrows {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
		pointer-events: none !important;
	}

	/* El swipe horizontal se administra por JS; el vertical sigue desplazando. */
	[data-areg-similar-listings="true"]
	.ihf-listing-result-img-container {
		touch-action: pan-y !important;
		overscroll-behavior-x: contain !important;
	}

	/*
	 * Cuando hay más de siete fotografías, los puntos de los extremos se hacen
	 * pequeños para indicar que existen más fotos fuera de la ventana visible.
	 */
	[data-areg-similar-mobile-indicator-dot="true"][data-areg-similar-indicator-edge="true"] {
		transform: scale(.68) !important;
		opacity: .72 !important;
	}

	[data-areg-similar-mobile-indicator-dot="true"][data-areg-similar-indicator-edge="true"][data-areg-similar-indicator-active="true"] {
		transform: scale(1.18) !important;
		opacity: 1 !important;
	}
}


/* ================================================================
   Versión 1.22: Caption inicia oculto y botón de 24px sin icono
   ================================================================ */

/*
 * Kestrel puede crear su propio contador centrado (por ejemplo "1 / 36").
 * Andrade REG ya mantiene el contador definitivo abajo a la derecha, por lo
 * que el indicador nativo se retira siempre. .suort es la clase observada en
 * la versión actual de Kestrel y el data-attribute es el respaldo dinámico.
 */
.listing-section.areg-property-main
.listing-photo-carousel .suort,
.listing-section.areg-property-main
.listing-photo-carousel [data-areg-native-gallery-counter="true"] {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/*
 * El contenedor nativo de Caption ocupa toda la fotografía sin interceptar
 * clics. Sus dos elementos se posicionan por separado:
 * - botón Show/Hide Caption: esquina inferior izquierda;
 * - texto de la leyenda: esquina superior derecha.
 */
.listing-section.areg-property-main
[data-areg-gallery-caption-overlay="true"] {
	position: absolute !important;
	inset: 0 !important;
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	z-index: 42 !important;
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	transform: none !important;
	background: transparent !important;
	pointer-events: none !important;
}

/*
 * Mismo lenguaje visual que el contador 1/20 de Andrade REG.
 * Se conserva el botón React original para que el texto cambie naturalmente
 * entre Show Caption y Hide Caption.
 */
.listing-section.areg-property-main
[data-areg-gallery-caption-toggle="true"] {
	position: absolute !important;
	top: auto !important;
	right: auto !important;
	bottom: var(--areg-gallery-counter-bottom) !important;
	left: var(--areg-gallery-counter-right) !important;
	z-index: 43 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: calc(100% - 40px) !important;
	height: 24px !important;
	min-height: 24px !important;
	max-height: 24px !important;
	margin: 0 !important;
	padding: 0 8px !important;
	border: 0 !important;
	border-radius: 5px !important;
	background: rgba(0, 0, 0, .56) !important;
	box-shadow: none !important;
	color: #ffffff !important;
	-webkit-text-fill-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: 18px !important;
	letter-spacing: .01em !important;
	text-align: center !important;
	text-transform: none !important;
	white-space: nowrap !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
	cursor: pointer !important;
}

/* Se elimina el ojo nativo para dejar un badge limpio como el contador. */
.listing-section.areg-property-main
[data-areg-gallery-caption-toggle="true"] .ui-button-start-icon,
.listing-section.areg-property-main
[data-areg-gallery-caption-toggle="true"] svg,
.listing-section.areg-property-main
[data-areg-gallery-caption-toggle="true"] .ui-touch-ripple {
	display: none !important;
	visibility: hidden !important;
	width: 0 !important;
	height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* Evita separaciones heredadas por el label del botón Material UI. */
.listing-section.areg-property-main
[data-areg-gallery-caption-toggle="true"] .ui-button-label {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
	padding: 0 !important;
	color: inherit !important;
	font: inherit !important;
	line-height: 24px !important;
	height: 24px !important;
	min-height: 24px !important;
}

/*
 * Cuando Kestrel muestra la descripción, su <p> original se convierte en un
 * badge discreto arriba a la derecha. Se permite envolver frases largas.
 */
.listing-section.areg-property-main
[data-areg-gallery-caption-text="true"] {
	position: absolute !important;
	top: 10px !important;
	right: var(--areg-gallery-counter-right) !important;
	bottom: auto !important;
	left: auto !important;
	z-index: 43 !important;
	display: block !important;
	box-sizing: border-box !important;
	width: auto !important;
	max-width: min(70%, 700px) !important;
	margin: 0 !important;
	padding: 3px 8px !important;
	border: 0 !important;
	border-radius: 5px !important;
	background: rgba(0, 0, 0, .56) !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: var(--areg-gallery-counter-font-size) !important;
	font-style: normal !important;
	font-weight: 600 !important;
	line-height: 18px !important;
	letter-spacing: .01em !important;
	text-align: left !important;
	text-shadow: none !important;
	white-space: normal !important;
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: none !important;
}

/* Posiciones compactas equivalentes al contador principal en teléfono. */
@media (max-width: 767px) {
	.listing-section.areg-property-main
	[data-areg-gallery-caption-toggle="true"] {
		left: 12px !important;
		bottom: 8px !important;
		max-width: calc(100% - 24px) !important;
	}

	.listing-section.areg-property-main
	[data-areg-gallery-caption-text="true"] {
		top: 8px !important;
		right: 12px !important;
		max-width: calc(72% - 12px) !important;
	}
}

/* ================================================================
   Versión 1.24: espacio inferior de Similar Listings
   ================================================================ */

/*
 * El espaciado inferior de Similar Listings se controla exclusivamente con
 * --areg-gap-after-similar (10px). No se vuelve a sobrescribir en desktop.
 */
.listing-section.areg-property-main
> [data-areg-section-spacing="similar"] {
	padding-bottom: 0 !important;
}



/* ================================================================
   Versión 1.28: búsqueda móvil, scrollbar y popup del mapa
   ================================================================ */

/*
 * El gutter izquierdo original de Kestrel se conserva. JavaScript extiende
 * dinámicamente el viewport que posee el scrollbar hasta el borde físico derecho
 * y elimina únicamente su padding-right interno, evitando que se sumen dos
 * espacios entre las propiedades y la barra.
 *
 * El popup móvil del mapa se estiliza dentro del Shadow DOM mediante
 * site-adjustments.js porque Mapbox lo crea y destruye dinámicamente.
 */


/* ================================================================
   Versión 1.29: gutter móvil exacto de búsqueda
   ================================================================ */

/*
 * El lado izquierdo conserva el padding original de Avada/Kestrel.
 * Solo se elimina el padding derecho exterior de #main. Dentro del Shadow DOM,
 * site-adjustments.js añade 15px al page-container de resultados. Así la barra
 * vertical queda pegada al borde físico derecho, pero mantiene aire a su izquierda.
 */
@media (max-width: 767px) {
	body.areg-kestrel-basic-search-page #main {
		padding-right: 0 !important;
	}
}


/* ================================================================
   Versión 1.30: sombra de tarjetas móviles de búsqueda
   ================================================================ */
@media (max-width: 767px) {
	.ihf-listing-search-results-grid > .ihf-listing-search-result-cell-container {
		padding-left: 11px !important;
	}
}


/* ================================================================
   Versión 1.34: Mortgage Insurance y Tax Rate por condado
   ================================================================ */

/* El nombre de Mortgage Insurance sube a 16px; la cantidad conserva 14px. */
[data-areg-mortgage-insurance-label="true"] {
	font-size: 16px !important;
}

[data-areg-mortgage-insurance-amount="true"] {
	font-size: 14px !important;
}


/* ================================================================
   Versión 1.35: calculadora antes de Satisfied Buyers + loader de mapas
   ================================================================ */
/*
 * El orden visual de la calculadora se define arriba como order:64,
 * inmediatamente antes de Satisfied Buyers (order:65).
 * El loader común de mapas se define junto a los estilos de Street View.
 */

/* ================================================================
   Versión 1.37: separación de calculadora + mapa rápido en resultados
   ================================================================ */

/* La calculadora queda a 10px de la sección Satisfied Buyers. */
.listing-section.areg-property-main
> [data-areg-section-spacing="mortgage"] {
	margin-bottom: 10px !important;
}

/* Spinner utilizado mientras Google Static Maps entrega la vista rápida. */
@keyframes areg-search-card-map-spin {
	to {
		transform: rotate(360deg);
	}
}

@media (prefers-reduced-motion: reduce) {
	[data-areg-search-card-map-loader="true"] {
		animation-duration: 1.5s !important;
	}
}

/* ================================================================
   Versión 1.44: separación desktop entre Mortgage Calculator y Satisfied Buyers
   ================================================================ */

/*
 * En móvil los 10px existentes ya producen la separación correcta.
 * En escritorio Satisfied Buyers tiene padding vertical normalizado a 0,
 * por lo que la separación debe salir explícitamente del margen inferior
 * de Mortgage Calculator.
 */
@media (min-width: 701px) {
	.listing-section.areg-property-main
	> [data-areg-section-spacing="mortgage"] {
		margin-bottom: 34px !important;
	}
}



/* ================================================================
   Versión 1.51: espaciado unificado de Hot Property
   ================================================================ */
/*
 * Desktop y móvil comparten los mismos márgenes. El padding vuelve a 10px
 * en los cuatro lados para conservar la caja visual original del aviso.
 */

/* ================================================================
   Versión 1.61: tareas V10.51 del cliente
   ================================================================ */

/* Property Details queda antes de Satisfied Buyers; Similar Listings sigue después. */
.listing-section.areg-property-main
> [data-areg-property-details="true"] {
	order: 70 !important;
}

.listing-section.areg-property-main
> [data-areg-satisfied-buyers="true"] {
	order: 75 !important;
}

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

/* Ya no se necesita el espacio pensado para Property Details debajo de Satisfied Buyers. */
@media (min-width: 701px) {
	.listing-section.areg-property-main
	> [data-areg-section-spacing="property-details"] {
		padding-top: 0 !important;
	}
}

/* Línea gris claramente visible antes de Mortgage Insurance. */
[data-areg-mortgage-insurance="true"] {
	border-top-color: #d7d7d7 !important;
}

/* Thumb gris cuando cualquier slider está en su extremo mínimo. */
[data-areg-mortgage-field-input="true"][data-areg-mortgage-at-minimum="true"]::-webkit-slider-thumb {
	border-color: #bdbdbd !important;
}

[data-areg-mortgage-field-input="true"][data-areg-mortgage-at-minimum="true"]::-moz-range-thumb {
	border-color: #bdbdbd !important;
}

/*
 * Popup de galería: Schedule Tour y Get Pre-Approved recuperan apariencia de
 * botón rojo aun si Kestrel vuelve a renderizarlos como acciones de texto.
 */
[data-areg-gallery-popup="true"]
[data-areg-gallery-popup-primary-action] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	min-height: 40px !important;
	padding: 9px 16px !important;
	border: 1px solid #9d072b !important;
	border-radius: 3px !important;
	background: #9d072b !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	box-shadow: none !important;
	cursor: pointer !important;
}

[data-areg-gallery-popup="true"]
[data-areg-gallery-popup-primary-action]:hover,
[data-areg-gallery-popup="true"]
[data-areg-gallery-popup-primary-action]:focus-visible {
	border-color: #7f0523 !important;
	background: #7f0523 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

/*
 * En móvil la lista Stack/Grid del popup solo se desplaza verticalmente. Se
 * neutralizan los gutters negativos de ui-grid que podían crear scroll lateral.
 */
@media (max-width: 767px) {
	[data-areg-gallery-popup="true"],
	[data-areg-gallery-popup="true"]
	[data-areg-gallery-popup-photo-grid-shell="true"],
	[data-areg-gallery-popup="true"]
	[data-areg-gallery-popup-photo-grid="true"] {
		overflow-x: clip !important;
		overscroll-behavior-x: none !important;
		touch-action: pan-y pinch-zoom !important;
	}

	[data-areg-gallery-popup="true"]
	[data-areg-gallery-popup-photo-grid-shell="true"],
	[data-areg-gallery-popup="true"]
	[data-areg-gallery-popup-photo-grid="true"] {
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
	}
}


/* ================================================================
   Versión 1.62: CTA reales + popup móvil sin overflow horizontal
   ================================================================ */

/*
 * Respaldo sin depender del atributo del contenedor del popup. El JS v1.62
 * además escribe estas propiedades inline para sobrevivir rerenders JSS.
 */
[data-areg-gallery-popup-primary-action] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	min-height: 40px !important;
	padding: 9px 16px !important;
	border: 1px solid #9d072b !important;
	border-radius: 3px !important;
	background: #9d072b !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

[data-areg-gallery-popup-primary-action] .ui-button-label {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	font-weight: 700 !important;
}

@media (max-width: 767px) {
	[data-areg-gallery-popup="true"] {
		box-sizing: border-box !important;
		max-width: 100% !important;
		overflow-x: clip !important;
		overscroll-behavior-x: none !important;
		touch-action: pan-y pinch-zoom !important;
	}

	[data-areg-gallery-popup="true"] .ui-grid.ui-grid-container {
		box-sizing: border-box !important;
		min-width: 0 !important;
		max-width: 100% !important;
		overflow-x: clip !important;
		overscroll-behavior-x: none !important;
		touch-action: pan-y pinch-zoom !important;
	}

	[data-areg-gallery-popup="true"] .ui-grid.ui-grid-container[class*="ui-grid-spacing-xs-"] {
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}


/* ================================================================
   Versión 1.63: popup real en Shadow DOM + bloqueo horizontal definitivo
   ================================================================ */

/*
 * Estos atributos los escribe JS dentro del Shadow DOM propio del popup.
 * El estilo inline es la autoridad; estas reglas quedan como respaldo para
 * roots donde property-detail.css haya sido replicado por el bootstrap.
 */
[data-areg-gallery-popup-primary-action] {
	width: 100% !important;
	min-width: 0 !important;
	min-height: 42px !important;
	border: 1px solid #9d072b !important;
	border-radius: 4px !important;
	background: #9d072b !important;
	background-color: #9d072b !important;
	background-image: none !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	appearance: none !important;
	-webkit-appearance: none !important;
}

@media (max-width: 767px) {
	[data-areg-gallery-popup="true"],
	[data-areg-gallery-popup-host="true"] {
		max-width: 100vw !important;
		overflow-x: clip !important;
		overscroll-behavior-x: none !important;
		touch-action: pan-y pinch-zoom !important;
	}
}

/* ================================================================
   Versión 1.65: acciones desktop, breadcrumb con precio y Back to listing
   ================================================================ */

/* Share / Save se muestran arriba del sidebar solamente en desktop. */
@media (min-width: 900px) {
	[data-areg-desktop-header-actions-hidden="true"] {
		display: none !important;
	}

	[data-areg-desktop-sidebar-actions="true"] {
		display: flex !important;
		flex-flow: row nowrap !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 12px !important;
		box-sizing: border-box !important;
		width: 100% !important;
		margin: 0 0 14px !important;
		padding: 0 !important;
	}

	[data-areg-desktop-sidebar-action] {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 6px !important;
		box-sizing: border-box !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 4px 2px !important;
		border: 0 !important;
		background: transparent !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
		font-family: Lato, Arial, sans-serif !important;
		font-size: 14px !important;
		font-weight: 400 !important;
		line-height: 1.2 !important;
		text-decoration: none !important;
		white-space: nowrap !important;
		box-shadow: none !important;
		cursor: pointer !important;
	}

	[data-areg-desktop-sidebar-action] svg {
		display: block !important;
		width: 20px !important;
		height: 20px !important;
		color: #111111 !important;
		stroke: currentColor !important;
	}
}

/* La flecha y el texto del popup nunca deben partirse en dos renglones. */
[data-areg-gallery-popup-back-link="true"] {
	display: inline-flex !important;
	align-items: center !important;
	white-space: nowrap !important;
}

[data-areg-gallery-popup-back-row="true"] {
	display: inline-flex !important;
	flex-flow: row nowrap !important;
	align-items: center !important;
	width: auto !important;
	max-width: none !important;
	white-space: nowrap !important;
}

[data-areg-gallery-popup-back-text="true"] {
	display: inline-block !important;
	width: auto !important;
	margin: 0 !important;
	white-space: nowrap !important;
}

@media (min-width: 900px) {
	[data-areg-desktop-sidebar-actions="true"] {
		position: relative !important;
	}

	[data-areg-desktop-save-menu="true"] {
		position: absolute !important;
		z-index: 70 !important;
		top: calc(100% + 6px) !important;
		right: 0 !important;
		display: flex !important;
		flex-direction: column !important;
		box-sizing: border-box !important;
		width: 210px !important;
		margin: 0 !important;
		padding: 6px 0 !important;
		border: 1px solid #d8d8d8 !important;
		border-radius: 3px !important;
		background: #ffffff !important;
		box-shadow: 0 5px 18px rgba(0, 0, 0, .16) !important;
	}

	[data-areg-desktop-save-menu="true"] a,
	[data-areg-desktop-save-menu="true"] [data-areg-desktop-save-menu-favorite="true"] {
		display: block !important;
		box-sizing: border-box !important;
		width: 100% !important;
		padding: 10px 14px !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
		font-family: Lato, Arial, sans-serif !important;
		font-size: 14px !important;
		font-weight: 400 !important;
		line-height: 1.25 !important;
		text-decoration: none !important;
		white-space: nowrap !important;
	}

	[data-areg-desktop-save-menu="true"] a:hover,
	[data-areg-desktop-save-menu="true"] a:focus-visible,
	[data-areg-desktop-save-menu="true"] [data-areg-desktop-save-menu-favorite="true"]:hover,
	[data-areg-desktop-save-menu="true"] [data-areg-desktop-save-menu-favorite="true"]:focus-visible {
		background: #f3f3f3 !important;
		color: #9d072b !important;
		-webkit-text-fill-color: #9d072b !important;
	}
}

/* ================================================================
   Versión 1.66: registro Kestrel + alertas diarias por ciudad
   ================================================================ */

[data-areg-sidebar="true"][data-areg-daily-email-lead-capture-active="true"]
[data-areg-daily-email-native="true"] {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

[data-areg-daily-email-lead-capture="true"] {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 22px !important;
	border: 1px solid #dedede !important;
	border-radius: 4px !important;
	background: #ffffff !important;
	color: #111111 !important;
	font-family: Lato, Arial, sans-serif !important;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .08) !important;
}

[data-areg-daily-email-title="true"],
[data-areg-daily-email-thank-you="true"] {
	margin: 0 0 12px !important;
	padding: 0 !important;
	color: #111111 !important;
	font-family: Lato, Arial, sans-serif !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	text-align: center !important;
}

[data-areg-daily-email-intro="true"],
[data-areg-daily-email-thank-you-text="true"] {
	margin: 0 0 18px !important;
	padding: 0 !important;
	color: #333333 !important;
	font-family: Lato, Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	text-align: center !important;
}

[data-areg-daily-email-form="true"] {
	display: flex !important;
	flex-direction: column !important;
	gap: 14px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

[data-areg-daily-email-field] {
	display: flex !important;
	flex-direction: column !important;
	gap: 6px !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #111111 !important;
	font-family: Lato, Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
}

[data-areg-daily-email-field] > input {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	height: 44px !important;
	margin: 0 !important;
	padding: 0 12px !important;
	border: 1px solid #bdbdbd !important;
	border-radius: 3px !important;
	outline: 0 !important;
	background: #ffffff !important;
	color: #111111 !important;
	font-family: Lato, Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 42px !important;
	box-shadow: none !important;
}

[data-areg-daily-email-field] > input:focus {
	border-color: #9d072b !important;
	box-shadow: 0 0 0 1px #9d072b !important;
}

[data-areg-daily-email-submit="true"],
[data-areg-daily-email-continue="true"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-height: 44px !important;
	margin: 2px 0 0 !important;
	padding: 10px 16px !important;
	border: 1px solid #9d072b !important;
	border-radius: 3px !important;
	background: #9d072b !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	font-family: Lato, Arial, sans-serif !important;
	font-size: 15px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
	text-align: center !important;
	text-decoration: none !important;
	box-shadow: none !important;
	cursor: pointer !important;
}

[data-areg-daily-email-submit="true"]:disabled {
	opacity: .65 !important;
	cursor: wait !important;
}

[data-areg-daily-email-message="true"] {
	margin: 0 !important;
	padding: 0 !important;
	font-family: Lato, Arial, sans-serif !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
	text-align: center !important;
}

[data-areg-daily-email-message-state="error"] {
	color: #9d072b !important;
}

@media (max-width: 899px) {
	[data-areg-daily-email-lead-capture="true"] {
		position: sticky !important;
		top: max(10px, env(safe-area-inset-top)) !important;
		z-index: 65 !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 18px !important;
	}

	[data-areg-daily-email-title="true"],
	[data-areg-daily-email-thank-you="true"] {
		font-size: 20px !important;
	}
}

/* ================================================================
   Versión 1.67: alta visible por defecto + acceso a Sign In nativo
   ================================================================ */

[data-areg-daily-email-existing="true"] {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 2px 0 0 !important;
	padding: 0 !important;
	color: #333333 !important;
	font-family: Lato, Arial, sans-serif !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1.35 !important;
	text-align: center !important;
}

[data-areg-daily-email-signin="true"] {
	display: inline !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #9d072b !important;
	-webkit-text-fill-color: #9d072b !important;
	font: inherit !important;
	font-weight: 700 !important;
	text-decoration: underline !important;
	box-shadow: none !important;
	cursor: pointer !important;
}

[data-areg-daily-email-signin="true"]:disabled {
	opacity: .6 !important;
	cursor: wait !important;
}

[data-areg-daily-email-message-state="info"] {
	color: #333333 !important;
}



/* ================================================================
   Versión 1.91: últimos ajustes de Property Detail / móvil
   ================================================================ */

/* Satisfied Buyers conserva el desplazamiento superior del carrusel, pero
 * ya no "se come" el margen que debe separar a Similar Listings. */
@media (min-width: 701px) {
	[data-areg-satisfied-media="true"] {
		margin-bottom: 0 !important;
	}

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

/* El divisor solicitado queda DEBAJO de Mortgage Insurance, justo antes de
 * Minimize Mortgage Calculator. */
[data-areg-mortgage-insurance="true"] {
	padding-bottom: 14px !important;
	border-top: 0 !important;
	border-bottom: 1px solid #d7d7d7 !important;
}

[data-areg-mortgage-insurance="true"][data-areg-mortgage-collapsed="true"] {
	padding-bottom: 0 !important;
	border-bottom-color: transparent !important;
}

/* Share / Save ahora viven sobre la galería principal, alineados con el borde
 * derecho de la fotografía, no sobre el sidebar. */
@media (min-width: 900px) {
	.listing-section.areg-property-main
	> [data-areg-gallery-counter-host="true"]
	> [data-areg-desktop-sidebar-actions="true"],
	.listing-section.areg-property-main
	> .areg-block--gallery
	> [data-areg-desktop-sidebar-actions="true"] {
		position: relative !important;
		display: flex !important;
		justify-content: flex-end !important;
		align-items: center !important;
		width: 100% !important;
		margin: 0 0 8px !important;
		padding: 0 !important;
	}

	[data-areg-desktop-save-menu="true"] {
		width: max-content !important;
		min-width: 174px !important;
		max-width: 196px !important;
		padding: 5px 0 !important;
	}

	[data-areg-desktop-save-menu="true"] a,
	[data-areg-desktop-save-menu="true"] [data-areg-desktop-save-menu-favorite="true"] {
		display: flex !important;
		align-items: center !important;
		gap: 11px !important;
		width: auto !important;
		min-width: 0 !important;
		padding: 9px 13px !important;
	}

	[data-areg-desktop-save-menu="true"] a svg,
	[data-areg-desktop-save-menu="true"] [data-areg-desktop-save-menu-favorite="true"] svg {
		display: block !important;
		flex: 0 0 23px !important;
		width: 23px !important;
		height: 23px !important;
		fill: none !important;
		stroke: #111111 !important;
		stroke-width: 1.8 !important;
		stroke-linecap: round !important;
		stroke-linejoin: round !important;
	}

	[data-areg-desktop-save-menu="true"] a span,
	[data-areg-desktop-save-menu="true"] [data-areg-desktop-save-menu-favorite="true"] span {
		display: inline-block !important;
		white-space: nowrap !important;
	}
}

/* En móvil el formulario "Get Homes From [City]" se convierte en una barrera
 * fija inferior: deja la página desplazable detrás, pero permanece visible
 * hasta completar el flujo. */
@media (max-width: 899px) {
	[data-areg-sidebar="true"][data-areg-daily-email-lead-capture-active="true"] {
		display: contents !important;
	}

	[data-areg-sidebar="true"][data-areg-daily-email-lead-capture-active="true"]
	[data-areg-sidebar-sticky="true"] {
		display: contents !important;
	}

	[data-areg-daily-email-lead-capture="true"] {
		position: fixed !important;
		top: auto !important;
		right: max(10px, env(safe-area-inset-right)) !important;
		bottom: max(8px, env(safe-area-inset-bottom)) !important;
		left: max(10px, env(safe-area-inset-left)) !important;
		z-index: 1900000001 !important;
		box-sizing: border-box !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		max-height: 52dvh !important;
		margin: 0 !important;
		padding: 14px 16px !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		overscroll-behavior: contain !important;
		-webkit-overflow-scrolling: touch !important;
		border-radius: 7px !important;
		box-shadow: 0 -4px 22px rgba(0, 0, 0, .22) !important;
		pointer-events: auto !important;
	}

	[data-areg-daily-email-title="true"],
	[data-areg-daily-email-thank-you="true"] {
		margin-bottom: 7px !important;
		font-size: 18px !important;
	}

	[data-areg-daily-email-intro="true"],
	[data-areg-daily-email-thank-you-text="true"] {
		margin-bottom: 10px !important;
		font-size: 13px !important;
		line-height: 1.35 !important;
	}

	[data-areg-daily-email-form="true"] {
		gap: 9px !important;
	}

	[data-areg-daily-email-field] {
		gap: 4px !important;
		font-size: 12px !important;
	}

	[data-areg-daily-email-field] > input {
		height: 40px !important;
		line-height: 38px !important;
	}

	[data-areg-daily-email-submit="true"],
	[data-areg-daily-email-continue="true"] {
		min-height: 40px !important;
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}

	[data-areg-daily-email-existing="true"] {
		font-size: 12px !important;
	}
}

@supports not (height: 1dvh) {
	@media (max-width: 899px) {
		[data-areg-daily-email-lead-capture="true"] {
			max-height: 52vh !important;
		}
	}
}

/* ================================================================
   Versión 1.93: breadcrumb + acciones en una fila / cierre del donut
   ================================================================ */

/* Desktop: Back > County > City > ZIP queda a la izquierda y Share / Save
 * ocupa el extremo derecho de LA MISMA fila. */
@media (min-width: 900px) {
	.listing-section.areg-property-main
	> [data-areg-property-search-trail="true"] {
		display: flex !important;
		flex-flow: row nowrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 0 !important;
		width: 100% !important;
		min-width: 0 !important;
	}

	.listing-section.areg-property-main
	> [data-areg-property-search-trail="true"]
	> [data-areg-desktop-sidebar-actions="true"] {
		position: relative !important;
		flex: 0 0 auto !important;
		width: auto !important;
		margin: 0 0 0 auto !important;
		padding: 0 !important;
		justify-content: flex-end !important;
		align-self: center !important;
	}
}

/* ================================================================
   Versión 1.94: acciones móviles + host fijo de alertas
   ================================================================ */

/* En móvil ocultamos la fila nativa del header y colocamos Share / Save como
 * dos controles compactos sobre la esquina superior derecha de la galería. */
@media (max-width: 899px) {
	[data-areg-desktop-header-actions-hidden="true"] {
		display: none !important;
	}

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

	[data-areg-desktop-sidebar-actions="true"][data-areg-property-actions-mode="mobile"] {
		position: absolute !important;
		top: 10px !important;
		right: 10px !important;
		left: auto !important;
		z-index: 86 !important;
		display: flex !important;
		flex-flow: row nowrap !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 8px !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		pointer-events: auto !important;
	}

	[data-areg-desktop-sidebar-actions="true"][data-areg-property-actions-mode="mobile"]
	[data-areg-desktop-sidebar-action] {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		width: 42px !important;
		min-width: 42px !important;
		max-width: 42px !important;
		height: 42px !important;
		min-height: 42px !important;
		max-height: 42px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 1px solid rgba(0, 0, 0, .12) !important;
		border-radius: 50% !important;
		background: rgba(255, 255, 255, .96) !important;
		color: #9d072b !important;
		-webkit-text-fill-color: #9d072b !important;
		box-shadow: 0 2px 8px rgba(0, 0, 0, .18) !important;
		backdrop-filter: blur(2px) !important;
		-webkit-backdrop-filter: blur(2px) !important;
	}

	[data-areg-desktop-sidebar-actions="true"][data-areg-property-actions-mode="mobile"]
	[data-areg-desktop-sidebar-action] > span {
		display: none !important;
	}

	[data-areg-desktop-sidebar-actions="true"][data-areg-property-actions-mode="mobile"]
	[data-areg-desktop-sidebar-action] svg {
		display: block !important;
		width: 22px !important;
		height: 22px !important;
		margin: 0 !important;
		color: currentColor !important;
		stroke: currentColor !important;
	}

	/* El host existe aunque Kestrel no renderice sidebar en móvil. El panel es
	 * fixed y por eso el host no debe ocupar espacio en el layout. */
	[data-areg-mobile-daily-email-host="true"] {
		display: contents !important;
		width: 0 !important;
		height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}
}
@media (max-width: 899px) {
	[data-areg-mobile-daily-email-sticky="true"] {
		display: contents !important;
		width: 0 !important;
		height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}
}


/* ================================================================
   Versión 1.95: Share/Save junto al precio + formulario móvil light DOM
   ================================================================ */

@media (max-width: 899px) {
	/* La fila de List Price se convierte en el host estable para Share/Save. */
	[data-areg-mobile-price-actions-row="true"] {
		display: flex !important;
		flex-flow: row nowrap !important;
		align-items: center !important;
		align-self: stretch !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		gap: 6px !important;
	}

	[data-areg-mobile-price-actions-row="true"] > .list-price {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		margin: 0 !important;
	}

	[data-areg-mobile-price-actions-row="true"]
	> [data-areg-desktop-sidebar-actions="true"][data-areg-property-actions-mode="mobile"] {
		position: static !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		z-index: auto !important;
		flex: 0 0 auto !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 14px !important;
		width: auto !important;
		height: auto !important;
		margin: 0 0 0 auto !important;
		padding: 0 !important;
		transform: none !important;
	}

	[data-areg-mobile-price-actions-row="true"]
	[data-areg-desktop-sidebar-action] {
		width: 34px !important;
		min-width: 34px !important;
		max-width: 34px !important;
		height: 34px !important;
		min-height: 34px !important;
		max-height: 34px !important;
		border: 0 !important;
		border-radius: 50% !important;
		background: transparent !important;
		box-shadow: none !important;
		backdrop-filter: none !important;
		-webkit-backdrop-filter: none !important;
		color: #9d072b !important;
		-webkit-text-fill-color: #9d072b !important;
	}

	[data-areg-mobile-price-actions-row="true"]
	[data-areg-desktop-sidebar-action] svg {
		width: 22px !important;
		height: 22px !important;
	}

	/* El formulario móvil sale del Shadow DOM y vive bajo body. Este host no
	 * participa en el layout; solo ofrece un stacking context sin clipping. */
	body > [data-areg-mobile-daily-email-host="true"] {
		position: fixed !important;
		inset: 0 !important;
		z-index: 1900000000 !important;
		display: block !important;
		box-sizing: border-box !important;
		width: 0 !important;
		height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
		pointer-events: none !important;
	}

	body > [data-areg-mobile-daily-email-host="true"]
	> [data-areg-mobile-daily-email-sticky="true"] {
		position: static !important;
		display: block !important;
		width: 0 !important;
		height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow: visible !important;
		pointer-events: none !important;
	}

	body > [data-areg-mobile-daily-email-host="true"]
	[data-areg-daily-email-lead-capture="true"] {
		z-index: 1900000001 !important;
		pointer-events: auto !important;
	}
}


/* ================================================================
   Versión 1.96: scroll móvil libre + bottom sheets cuadrados
   ================================================================ */

@media (max-width: 767px) {
	/* La galería principal conserva swipe horizontal mediante JS, pero ningún
	 * nodo interno puede declarar pan-x y robar el scroll vertical de la página. */
	[data-areg-gallery-mobile-touch-router="true"] .listing-photo-carousel,
	[data-areg-gallery-mobile-touch-router="true"] .listing-photo-carousel * {
		touch-action: pan-y pinch-zoom !important;
		overscroll-behavior-x: none !important;
	}
}

@media (max-width: 899px) {
	/* Get Homes From... es un bottom sheet fijo de borde a borde, sin tarjeta
	 * flotante. El fondo del panel es táctilmente transparente: un drag que
	 * empieza sobre texto/espacio vacío desplaza la propiedad que está detrás. */
	body > [data-areg-mobile-daily-email-host="true"]
	[data-areg-daily-email-lead-capture="true"] {
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		width: 100vw !important;
		max-width: 100vw !important;
		max-height: none !important;
		margin: 0 !important;
		padding-bottom: calc(14px + env(safe-area-inset-bottom)) !important;
		overflow: hidden !important;
		overscroll-behavior: auto !important;
		border-radius: 0 !important;
		box-shadow: none !important;
		pointer-events: auto !important;
		touch-action: pan-y pinch-zoom !important;
	}

	/* El panel ya no es un contenedor desplazable. Un pan vertical sobre su
	 * superficie se resuelve contra el documento/body que está detrás, mientras
	 * inputs y botones conservan interacción normal. */
	body > [data-areg-mobile-daily-email-host="true"]
	[data-areg-daily-email-lead-capture="true"]
	:is(input, button, a, select, textarea) {
		pointer-events: auto !important;
		touch-action: manipulation !important;
	}

	/* El popup nativo de Sign In / Create One también es un bottom sheet real:
	 * 100% del ancho del dispositivo, pegado al borde inferior y sin sombra. */
	[data-areg-native-auth-mobile-dialog="true"] {
		border-radius: 0 !important;
		box-shadow: none !important;
	}
}

/* ================================================================
   Versión 1.99: estado real de favorito + menú móvil + acciones visibles
   ================================================================ */

/* El corazón proxy solo se rellena cuando hay sesión confirmada Y Kestrel
 * reporta que la propiedad actual está guardada. Nunca heredamos un fill stale
 * del SVG nativo después de Log Out. */
[data-areg-desktop-sidebar-action="save"][data-areg-property-action-active="true"] svg,
[data-areg-desktop-sidebar-action="save"][data-areg-property-action-active="true"] svg path {
	fill: #982527 !important;
	stroke: #982527 !important;
	color: #982527 !important;
}

[data-areg-desktop-sidebar-action="save"][data-areg-property-action-active="false"] svg,
[data-areg-desktop-sidebar-action="save"][data-areg-property-action-active="false"] svg path {
	fill: none !important;
	stroke: #111111 !important;
	color: #111111 !important;
}

/* Share / Save del popup de fotografías ya no quedan pegados. */
[data-areg-gallery-popup="true"] [data-areg-gallery-popup-actions="true"] {
	gap: 18px !important;
	column-gap: 18px !important;
}

@media (max-width: 899px) {
	/* JSS no puede volver a ocultar las acciones de la fila de precio. */
	[data-areg-mobile-price-actions-row="true"] {
		position: relative !important;
		display: flex !important;
		flex-flow: row nowrap !important;
		align-items: center !important;
		width: 100% !important;
		overflow: visible !important;
	}

	[data-areg-mobile-price-actions-row="true"]
	> [data-areg-desktop-sidebar-actions="true"][data-areg-property-actions-mode="mobile"] {
		position: relative !important;
		display: inline-flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		gap: 18px !important;
		overflow: visible !important;
		pointer-events: auto !important;
	}

	[data-areg-mobile-price-actions-row="true"] [data-areg-desktop-sidebar-action] {
		display: inline-flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		width: 36px !important;
		min-width: 36px !important;
		height: 36px !important;
		min-height: 36px !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
		pointer-events: auto !important;
	}

	/* El mismo menú rápido del corazón ya existe en móvil. */
	[data-areg-desktop-save-menu="true"][data-areg-save-menu-mode="mobile"] {
		position: absolute !important;
		z-index: 500 !important;
		top: calc(100% + 8px) !important;
		right: 0 !important;
		left: auto !important;
		display: flex !important;
		flex-direction: column !important;
		box-sizing: border-box !important;
		width: 210px !important;
		max-width: calc(100vw - 24px) !important;
		margin: 0 !important;
		padding: 6px 0 !important;
		border: 1px solid #d8d8d8 !important;
		border-radius: 3px !important;
		background: #ffffff !important;
		box-shadow: 0 5px 18px rgba(0, 0, 0, .16) !important;
	}

	[data-areg-desktop-save-menu="true"][data-areg-save-menu-mode="mobile"] a,
	[data-areg-desktop-save-menu="true"][data-areg-save-menu-mode="mobile"] [data-areg-desktop-save-menu-favorite="true"] {
		display: flex !important;
		align-items: center !important;
		gap: 11px !important;
		box-sizing: border-box !important;
		width: 100% !important;
		padding: 11px 14px !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
		font-family: Lato, Arial, sans-serif !important;
		font-size: 14px !important;
		font-weight: 400 !important;
		line-height: 1.2 !important;
		text-decoration: none !important;
		white-space: nowrap !important;
	}

	[data-areg-desktop-save-menu="true"][data-areg-save-menu-mode="mobile"] a svg,
	[data-areg-desktop-save-menu="true"][data-areg-save-menu-mode="mobile"] [data-areg-desktop-save-menu-favorite="true"] svg {
		flex: 0 0 20px !important;
		width: 20px !important;
		height: 20px !important;
		fill: none !important;
		stroke: currentColor !important;
		stroke-width: 1.8 !important;
	}
}

/* Thank You: Continue se completa suavemente y se cierra solo. */
[data-areg-daily-email-continue="true"] {
	position: relative !important;
	overflow: hidden !important;
	isolation: isolate !important;
}

[data-areg-daily-email-continue-label="true"] {
	position: relative !important;
	z-index: 2 !important;
}

[data-areg-daily-email-continue-progress="true"] {
	position: absolute !important;
	right: 0 !important;
	top: 0 !important;
	left: 0 !important;
	bottom: auto !important;
	z-index: 3 !important;
	display: block !important;
	height: 5px !important;
	background: #6d041e !important;
	transform: scaleX(var(--areg-daily-email-continue-progress, 0)) !important;
	transform-origin: left center !important;
	pointer-events: none !important;
	will-change: transform !important;
}

/* v2.04: el porcentaje lo controla JS con un reloj absoluto de 5 s.
 * No hay animation CSS que pueda reiniciarse durante un rerender de Kestrel. */


/* ================================================================
   Versión 2.01: progreso lineal oscuro + menús compactos
   ================================================================ */

/* ================================================================
   Versión 2.00: sesión limpia, acciones móviles en precio principal
   ================================================================ */

/* El host de acciones pertenece al resumen principal. En desktop permanece
 * vacío/oculto porque Share/Save continúan en la fila del breadcrumb. */
[data-areg-summary-actions-host="true"] {
	display: none !important;
}

@media (max-width: 899px) {
	.listing-section.areg-property-main
	[data-areg-summary="true"]
	.areg-summary__headline {
		display: flex !important;
		flex-flow: row nowrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 12px !important;
		width: 100% !important;
		overflow: visible !important;
	}

	.listing-section.areg-property-main
	[data-areg-summary="true"]
	.areg-summary__headline
	.areg-summary__price {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		width: auto !important;
		margin: 0 !important;
	}

	.listing-section.areg-property-main
	[data-areg-summary-actions-host="true"] {
		position: relative !important;
		display: inline-flex !important;
		flex: 0 0 auto !important;
		flex-flow: row nowrap !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 8px !important;
		width: auto !important;
		height: auto !important;
		margin: 0 0 0 auto !important;
		padding: 0 !important;
		overflow: visible !important;
		pointer-events: auto !important;
	}

	.listing-section.areg-property-main
	[data-areg-summary-actions-host="true"]
	> [data-areg-desktop-sidebar-actions="true"][data-areg-property-actions-mode="mobile"] {
		position: static !important;
		top: auto !important;
		right: auto !important;
		bottom: auto !important;
		left: auto !important;
		z-index: 20 !important;
		display: inline-flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		flex-flow: row nowrap !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 8px !important;
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: none !important;
		overflow: visible !important;
		pointer-events: auto !important;
	}

	.listing-section.areg-property-main
	[data-areg-summary-actions-host="true"]
	[data-areg-desktop-sidebar-action] {
		display: inline-flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		width: 36px !important;
		min-width: 36px !important;
		max-width: 36px !important;
		height: 36px !important;
		min-height: 36px !important;
		max-height: 36px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
		box-shadow: none !important;
		pointer-events: auto !important;
	}

	.listing-section.areg-property-main
	[data-areg-summary-actions-host="true"]
	[data-areg-desktop-sidebar-action] > span {
		display: none !important;
	}

	.listing-section.areg-property-main
	[data-areg-summary-actions-host="true"]
	[data-areg-desktop-sidebar-action] svg {
		display: block !important;
		width: 23px !important;
		height: 23px !important;
		margin: 0 !important;
	}

	/* El menú rápido queda anclado al corazón junto al precio principal. */
	.listing-section.areg-property-main
	[data-areg-summary-actions-host="true"]
	[data-areg-desktop-save-menu="true"][data-areg-save-menu-mode="mobile"] {
		top: calc(100% + 8px) !important;
		right: 0 !important;
		left: auto !important;
	}
}


/* ================================================================
   Versión 2.02: Share sin flash + progreso arriba
   ================================================================ */

/* Mientras Kestrel crea su overlay nativo de Share, ocultamos el host completo
 * antes del siguiente paint. Se vuelve visible únicamente después de reanclarlo
 * debajo del icono real que pulsó el usuario. */
html.areg-native-share-opening .ihf-overlay-container {
	visibility: hidden !important;
}


/* ================================================================
   Versión 2.03: Share/Save mutuamente excluyentes
   ================================================================ */

/* El popup nativo de Share recibe la misma presencia visual que el menú
 * rápido de Save: borde gris fino, fondo blanco y sombra suave. El resto
 * del dimensionado compacto se aplica dentro de su propio Shadow DOM. */


/* ================================================================
   Versión 2.04: progreso Thank You continuo de 5 segundos
   ================================================================ */


/* ================================================================
   Versión 2.07: MarketBoost usa IDs internos confirmados
   ================================================================ */

/* Ya no se requieren formularios de MarketBoost ocultos: la suscripción
 * adicional usa directamente el endpoint nativo con el marketReportId
 * confirmado de cada Market. */


/* ================================================================
   Versión 2.08: Share móvil protegido antes del paint + Like rojo
   ================================================================ */

/* La ocultación global sigue cubriendo overlays montados en light DOM.
 * El JavaScript v2.08 añade además un guard previo dentro del Shadow DOM
 * móvil, donde una regla exterior no puede atravesar el encapsulado. */



/* ================================================================
   Versión 2.09: acciones móviles persistentes + Share precargado
   ================================================================ */
/* El spacing final de los dos iconos móviles se refuerza aquí para que
 * permanezcan juntos y alineados al extremo derecho del precio. */
@media (max-width: 899px) {
	.listing-section.areg-property-main
	[data-areg-summary-actions-host="true"],
	.listing-section.areg-property-main
	[data-areg-summary-actions-host="true"]
	> [data-areg-desktop-sidebar-actions="true"][data-areg-property-actions-mode="mobile"] {
		gap: 8px !important;
		justify-content: flex-end !important;
	}
}

/* ================================================================
   Versión 2.10: Flood 3.5 s + Get Homes shadow + galería desktop
   ================================================================ */

/* Get Homes: sombra visual solamente desde el borde superior. Al ser inset,
 * queda recortada exactamente en los laterales del panel, incluido el bottom
 * sheet móvil de borde a borde. */
[data-areg-daily-email-lead-capture="true"] {
	box-shadow: inset 0 8px 8px -9px rgba(0, 0, 0, .38) !important;
}

/* En desktop Kestrel puede crear un segundo scroller alrededor del panel de
 * fotos cuyo thumb ocupa prácticamente toda la pista. Conservamos wheel,
 * trackpad y scroll programático; sólo ocultamos esa barra redundante. */
@media (min-width: 768px) {
	[data-areg-gallery-popup="true"]
	[data-areg-gallery-popup-redundant-scrollbar="true"],
	[data-areg-gallery-popup="true"]
	[data-areg-gallery-popup-photo-grid-shell="true"],
	[data-areg-gallery-popup="true"]
	[data-areg-gallery-popup-photo-grid="true"] {
		scrollbar-width: none !important;
		-ms-overflow-style: none !important;
	}

	[data-areg-gallery-popup="true"]
	[data-areg-gallery-popup-redundant-scrollbar="true"]::-webkit-scrollbar,
	[data-areg-gallery-popup="true"]
	[data-areg-gallery-popup-photo-grid-shell="true"]::-webkit-scrollbar,
	[data-areg-gallery-popup="true"]
	[data-areg-gallery-popup-photo-grid="true"]::-webkit-scrollbar {
		display: none !important;
		width: 0 !important;
		height: 0 !important;
	}
}



/* ================================================================
   Versión 2.13: sombra exterior + Share cierra al scroll + una sola barra
   ================================================================ */

/*
 * Get Homes: sombra EXTERIOR sólo arriba. El degradado vive completamente
 * fuera del panel (top negativo), por lo que no oscurece el interior. Al ser
 * un rectángulo del mismo ancho exacto, la sombra termina en los laterales y
 * no produce halo a izquierda/derecha.
 */
[data-areg-daily-email-lead-capture="true"] {
	box-shadow: none !important;
}

@media (min-width: 900px) {
	[data-areg-daily-email-lead-capture="true"] {
		position: relative !important;
		overflow: visible !important;
	}
}

@media (max-width: 899px) {
	body > [data-areg-mobile-daily-email-host="true"]
	[data-areg-daily-email-lead-capture="true"] {
		overflow: visible !important;
	}
}

[data-areg-daily-email-lead-capture="true"]::before {
	content: "" !important;
	position: absolute !important;
	top: -10px !important;
	right: 0 !important;
	left: 0 !important;
	z-index: 0 !important;
	display: block !important;
	width: auto !important;
	height: 10px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: linear-gradient(to top, rgb(0 0 0 / 10%) 0%, rgba(0, 0, 0, .1) 22%, rgb(255 255 255 / 2%) 100%) !important;
	pointer-events: none !important;
}

/*
 * Galería desktop: Kestrel monta el modal dentro de un ShadowRoot pero no
 * bloquea siempre el scrollbar del documento exterior. Al abrir una galería
 * dejamos únicamente el scroll útil del modal.
 */
@media (min-width: 768px) {
	html.areg-gallery-popup-open,
	body.areg-gallery-popup-open {
		overflow: hidden !important;
		overscroll-behavior: none !important;
	}

	html.areg-gallery-popup-open {
		scrollbar-gutter: stable !important;
	}
}

/* El Paper del modal puede ser él mismo el scroller redundante (no un hijo).
 * v2.10 sólo cubría descendientes, por lo que ese caso quedaba visible. */
@media (min-width: 768px) {
	[data-areg-gallery-popup="true"][data-areg-gallery-popup-redundant-scrollbar="true"] {
		scrollbar-width: none !important;
		-ms-overflow-style: none !important;
	}

	[data-areg-gallery-popup="true"][data-areg-gallery-popup-redundant-scrollbar="true"]::-webkit-scrollbar {
		display: none !important;
		width: 0 !important;
		height: 0 !important;
	}
}

/* ================================================================
   Versión 2.14: degradado solicitado + lock real del documento en galería
   ================================================================ */

/*
 * La barra exterior se bloquea también inline desde JS porque el render real
 * confirmó que el popup ya estaba decorado pero <html>/<body> todavía no
 * tenían areg-gallery-popup-open. Estas reglas quedan como respaldo.
 */
@media (min-width: 768px) {
	html.areg-gallery-popup-open,
	body.areg-gallery-popup-open {
		overflow: hidden !important;
		overflow-y: hidden !important;
	}
}



/* ================================================================
   Versión 2.15: elimina el scroller interno de 4 px de la galería
   ================================================================ */
/* El fix real se aplica inline desde JS porque este elemento vive dentro del
 * ShadowRoot de Kestrel. Esta regla sirve sólo como respaldo si el mismo nodo
 * llegara a renderizarse fuera de un ShadowRoot. */
@media (min-width: 768px) {
	[data-areg-gallery-popup-redundant-scrollbar="true"] {
		overflow-y: visible !important;
	}
}


/* ================================================================
   Versión 2.16: elimina de raíz el scroll container fotos + sidebar
   ================================================================ */
@media (min-width: 768px) {
	/*
	 * Si un wrapper interno queda marcado como scrollbar redundante, no debe
	 * conservar overflow-x:hidden: visible + hidden hace que el eje visible
	 * compute como auto y reaparece la barra vertical en Chrome.
	 */
	[data-areg-gallery-popup-redundant-scrollbar="true"] {
		overflow-x: clip !important;
		overflow-y: visible !important;
		scrollbar-width: none !important;
		-ms-overflow-style: none !important;
	}

	[data-areg-gallery-popup-redundant-scrollbar="true"]::-webkit-scrollbar {
		display: none !important;
		width: 0 !important;
		height: 0 !important;
	}
}


/* ================================================================
   Versión 2.18: Share / Like estables en breakpoint tablet 900–974
   ================================================================ */
/* Respaldo CSS para el breakpoint intermedio de Avada/Kestrel. La lógica
 * principal v2.18 también lo refuerza inline dentro del Shadow DOM para que
 * custom-overrides.css no pueda devolver estilos nativos de botón. */
@media (min-width: 900px) and (max-width: 974px) {
	.listing-section.areg-property-main
	> [data-areg-property-search-trail="true"] {
		display: flex !important;
		flex-flow: row nowrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
		width: 100% !important;
		min-width: 0 !important;
		overflow: visible !important;
	}

	.listing-section.areg-property-main
	> [data-areg-property-search-trail="true"]
	> [data-areg-desktop-sidebar-actions="true"][data-areg-property-actions-mode="desktop"] {
		position: relative !important;
		display: inline-flex !important;
		flex: 0 0 auto !important;
		flex-flow: row nowrap !important;
		align-items: center !important;
		justify-content: flex-end !important;
		gap: 12px !important;
		width: auto !important;
		height: auto !important;
		margin: 0 0 0 auto !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	.listing-section.areg-property-main
	[data-areg-property-actions-mode="desktop"]
	[data-areg-desktop-sidebar-action] {
		display: inline-flex !important;
		flex-flow: row nowrap !important;
		align-items: center !important;
		justify-content: center !important;
		gap: 6px !important;
		width: auto !important;
		min-width: 0 !important;
		max-width: none !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 4px 2px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
		font-family: Lato, Arial, sans-serif !important;
		font-size: 14px !important;
		font-weight: 400 !important;
		line-height: 1.2 !important;
		white-space: nowrap !important;
		box-shadow: none !important;
		appearance: none !important;
		-webkit-appearance: none !important;
	}

	.listing-section.areg-property-main
	[data-areg-property-actions-mode="desktop"]
	[data-areg-desktop-sidebar-action] svg {
		width: 20px !important;
		height: 20px !important;
		margin: 0 !important;
	}

	.listing-section.areg-property-main
	[data-areg-property-actions-mode="desktop"]
	[data-areg-desktop-sidebar-action] > span {
		display: inline-block !important;
		margin: 0 !important;
		padding: 0 !important;
		line-height: 1.2 !important;
		white-space: nowrap !important;
	}
}


/* ================================================================
   Versión 2.21: Save como menú + sincronización real con Saved Listings
   ================================================================ */

[data-areg-desktop-save-menu="true"] [data-areg-desktop-save-menu-favorite="true"] {
	appearance: none !important;
	-webkit-appearance: none !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	cursor: pointer !important;
	text-align: left !important;
}

/* v2.21: el corazón superior sigue siendo solamente el disparador del menú,
 * pero refleja visualmente el mismo estado real que la fila Save interna. */
[data-areg-desktop-sidebar-action="save"][data-areg-property-action-active="true"] svg,
[data-areg-desktop-sidebar-action="save"][data-areg-property-action-active="true"] svg path {
	fill: #982527 !important;
	stroke: #982527 !important;
	color: #982527 !important;
}

[data-areg-desktop-sidebar-action="save"][data-areg-property-action-active="false"] svg,
[data-areg-desktop-sidebar-action="save"][data-areg-property-action-active="false"] svg path {
	fill: none !important;
	stroke: #111111 !important;
	color: #111111 !important;
}

/* La primera fila del menú conserva el mismo estado real de favorito. */
[data-areg-desktop-save-menu-favorite="true"][data-areg-property-action-active="true"] svg,
[data-areg-desktop-save-menu-favorite="true"][data-areg-property-action-active="true"] svg path {
	fill: #982527 !important;
	stroke: #982527 !important;
	color: #982527 !important;
}

[data-areg-desktop-save-menu-favorite="true"][data-areg-property-action-active="false"] svg,
[data-areg-desktop-save-menu-favorite="true"][data-areg-property-action-active="false"] svg path {
	fill: none !important;
	stroke: #111111 !important;
	color: #111111 !important;
}

[data-areg-desktop-save-menu="true"] [data-areg-saved-listings-menu-icon="true"] {
	display: block !important;
	flex: 0 0 23px !important;
	box-sizing: border-box !important;
	width: 23px !important;
	height: 23px !important;
	max-width: 23px !important;
	max-height: 23px !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: contain !important;
}

@media (max-width: 899px) {
	[data-areg-desktop-save-menu="true"] [data-areg-saved-listings-menu-icon="true"] {
		flex-basis: 20px !important;
		width: 20px !important;
		height: 20px !important;
		max-width: 20px !important;
		max-height: 20px !important;
	}
}


/* ================================================================
   Versión 2.24: pausa temporal de Get Homes From...
   ================================================================ */
[data-areg-daily-email-lead-capture="true"],
[data-areg-mobile-daily-email-host="true"] {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}


/* ================================================================
   Versión 2.29: IDX Lead Registration (OFF / Moderate / Strict)
   ================================================================ */

/* Cuando el modo viene OFF desde IDX no existe ningún panel propio. */
[data-areg-idx-registration-native="true"] {
	display: none !important;
}

[data-areg-idx-registration-panel="true"] {
	box-sizing: border-box !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 24px 20px !important;
	background: #fff !important;
	border: 1px solid #e2e2e2 !important;
	border-radius: 4px !important;
	box-shadow: none !important;
	text-align: center !important;
	color: #171717 !important;
	position: relative !important;
	z-index: 8 !important;
}

[data-areg-idx-registration-panel="true"] h3 {
	margin: 0 0 12px !important;
	font-size: 23px !important;
	line-height: 1.2 !important;
	font-weight: 700 !important;
	color: #111 !important;
}

[data-areg-idx-registration-panel="true"] > p {
	margin: 0 auto 18px !important;
	max-width: 460px !important;
	font-size: 15px !important;
	line-height: 1.42 !important;
	color: #252525 !important;
}

[data-areg-idx-registration-panel="true"][data-areg-idx-registration-state="activation-success"] {
	padding-top: 28px !important;
	padding-bottom: 28px !important;
}

[data-areg-idx-activation-success-icon="true"] {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	box-sizing: border-box !important;
	width: 52px !important;
	height: 52px !important;
	margin: 0 auto 14px !important;
	border: 3px solid #2c9a52 !important;
	border-radius: 50% !important;
	color: #2c9a52 !important;
	font-size: 31px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	animation: areg-idx-activation-success-pop-v277 .28s ease-out both !important;
}

[data-areg-idx-registration-panel="true"][data-areg-idx-registration-state="activation-success"] h3 {
	margin-bottom: 8px !important;
	color: #246f40 !important;
}

[data-areg-idx-registration-panel="true"][data-areg-idx-registration-state="activation-success"] > p {
	margin-bottom: 0 !important;
}

@keyframes areg-idx-activation-success-pop-v277 {
	0% { transform: scale(.72); opacity: 0; }
	75% { transform: scale(1.08); opacity: 1; }
	100% { transform: scale(1); opacity: 1; }
}

[data-areg-idx-registration-fields="true"] {
	display: grid !important;
	grid-template-columns: 1fr !important;
	gap: 10px !important;
	margin: 0 0 12px !important;
}

[data-areg-idx-registration-panel="true"] input {
	box-sizing: border-box !important;
	width: 100% !important;
	height: 46px !important;
	padding: 0 13px !important;
	border: 1px solid #d4d4d4 !important;
	border-radius: 2px !important;
	background: #fff !important;
	font: inherit !important;
	font-size: 15px !important;
	color: #171717 !important;
	outline: none !important;
}

[data-areg-idx-registration-panel="true"] input:focus {
	border-color: #982527 !important;
	box-shadow: 0 0 0 1px #982527 !important;
}

[data-areg-idx-registration-panel="true"] :is(
	[data-areg-idx-registration-submit="true"],
	[data-areg-idx-registration-refresh="true"],
	[data-areg-idx-registration-continue="true"]
) {
	box-sizing: border-box !important;
	width: 100% !important;
	min-height: 46px !important;
	margin: 0 !important;
	padding: 10px 18px !important;
	border: 1px solid #b0002d !important;
	border-radius: 2px !important;
	background: #b0002d !important;
	color: #fff !important;
	font: inherit !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	cursor: pointer !important;
}

[data-areg-idx-registration-panel="true"] button:disabled {
	opacity: .62 !important;
	cursor: wait !important;
}

[data-areg-idx-registration-existing="true"],
[data-areg-idx-registration-retry-note="true"] {
	margin: 13px 0 0 !important;
	font-size: 13px !important;
	line-height: 1.35 !important;
	color: #555 !important;
}

[data-areg-idx-registration-signin="true"],
[data-areg-idx-registration-retry="true"] {
	appearance: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
	color: #982527 !important;
	font: inherit !important;
	font-weight: 600 !important;
	text-decoration: underline !important;
	cursor: pointer !important;
}

/* v2.49: selector más específico que el genérico del panel > p.
 * Deja aire real debajo de Refresh Page y elimina por completo el margen inferior. */
[data-areg-idx-registration-panel="true"] > [data-areg-idx-registration-retry-note="true"] {
	margin-top: 18px !important;
	margin-right: 0 !important;
	margin-bottom: 0 !important;
	margin-left: 0 !important;
	padding: 0 !important;
}

[data-areg-idx-registration-message="true"] {
	margin: 10px 0 0 !important;
	font-size: 13px !important;
	line-height: 1.35 !important;
}

[data-areg-idx-registration-message-state="error"] { color: #9d072b !important; }
[data-areg-idx-registration-message-state="info"] { color: #555 !important; }

/* v2.40 Strict: blur general 3px + difusión de texto 2px.
 * Todo el contenido funcional de la propiedad permanece protegido
 * mientras la activación por email siga pendiente. Se excluyen expresamente la
 * galería/foto principal, nuestro panel de registro y el bloque
 * legal Data Source (.listing-footer). El footer global de WordPress vive fuera
 * de .areg-property-main y por tanto tampoco recibe este efecto. */
.listing-section.areg-property-main[data-areg-idx-registration-mode="strict"][data-areg-idx-registration-locked="true"]
> :not(.areg-block--gallery):not([data-areg-gallery-counter-host="true"]):not([data-areg-idx-registration-panel="true"]):not(.listing-footer) {
	filter: blur(3px) !important;
	-webkit-filter: blur(3px) !important;
	pointer-events: none !important;
	user-select: none !important;
}

/* Texto que sea hijo directo del main. */
.listing-section.areg-property-main[data-areg-idx-registration-mode="strict"][data-areg-idx-registration-locked="true"]
> :is(h1,h2,h3,h4,h5,h6,p,span,li,dt,dd,td,th,a,label,strong,small):not([data-areg-idx-registration-panel="true"]) {
	color: transparent !important;
	text-shadow: 0 0 2px rgba(55,55,55,.55) !important;
	caret-color: transparent !important;
}

/* Texto anidado dentro de cualquier bloque de detalle, excluyendo por completo
 * la galería principal y nuestro formulario. */
.listing-section.areg-property-main[data-areg-idx-registration-mode="strict"][data-areg-idx-registration-locked="true"]
> :not(.areg-block--gallery):not([data-areg-gallery-counter-host="true"]):not([data-areg-idx-registration-panel="true"]):not(.listing-footer) :is(h1,h2,h3,h4,h5,h6,p,span,li,dt,dd,td,th,a,label,strong,small) {
	color: transparent !important;
	text-shadow: 0 0 2px rgba(55,55,55,.55) !important;
	caret-color: transparent !important;
}

/* Si Kestrel pinta texto directamente en un wrapper mediante nodos de texto,
 * el wrapper queda además atenuado; imágenes/fondos no se filtran. */
.listing-section.areg-property-main[data-areg-idx-registration-mode="strict"][data-areg-idx-registration-locked="true"]
> :not(.areg-block--gallery):not([data-areg-gallery-counter-host="true"]):not([data-areg-idx-registration-panel="true"]):not(.listing-footer) :is(h1,h2,h3,h4,h5,h6,p,span,li,dt,dd,td,th,a,label,strong,small) * {
	color: transparent !important;
	text-shadow: 0 0 2px rgba(55,55,55,.55) !important;
}

/* v2.87 Strict: el precio principal ya NO usa skeleton gris.
 * Se muestra el precio real y recibe blur(2px) LOCAL adicional. El bloque que
 * lo contiene ya tiene el blur general de Strict (3px), por lo que el precio
 * queda un poco más borroso que el resto del texto sin alterar el layout. */
.listing-section.areg-property-main[data-areg-idx-registration-mode="strict"][data-areg-idx-registration-locked="true"]
:is(.list-price, [data-areg-summary="true"]) .areg-summary__price,
.listing-section.areg-property-main[data-areg-idx-registration-mode="strict"][data-areg-idx-registration-locked="true"]
.list-price > span:last-child,
.listing-section.areg-property-main[data-areg-idx-registration-mode="strict"][data-areg-idx-registration-locked="true"]
.areg-summary__price {
	background: transparent !important;
	background-image: none !important;
	filter: blur(2px) !important;
	-webkit-filter: blur(2px) !important;
	pointer-events: none !important;
	user-select: none !important;
	caret-color: transparent !important;
}

/* v2.42: el breadcrumb Back > County > City > ZIP ahora también forma parte
 * del contenido protegido en Strict; debe verse borroso e impedir interacción. */
.listing-section.areg-property-main[data-areg-idx-registration-mode="strict"][data-areg-idx-registration-locked="true"]
> [data-areg-property-search-trail="true"],
.listing-section.areg-property-main[data-areg-idx-registration-mode="strict"][data-areg-idx-registration-locked="true"]
> [data-areg-property-search-trail="true"] * {
	filter: blur(3px) !important;
	-webkit-filter: blur(3px) !important;
	text-shadow: 0 0 2px rgba(55,55,55,.55) !important;
	color: transparent !important;
	opacity: 1 !important;
	pointer-events: none !important;
	user-select: none !important;
	caret-color: transparent !important;
}

/* Las zonas permitidas en Strict permanecen completamente nítidas. Kestrel no
 * siempre conserva .areg-block--gallery en el wrapper directo de la foto: el
 * mismo host que JS detecta para el contador lleva data-areg-gallery-counter-host.
 * Ambos selectores representan la galería/foto principal y deben quedar nítidos. */
.listing-section.areg-property-main[data-areg-idx-registration-mode="strict"][data-areg-idx-registration-locked="true"]
> .areg-block--gallery,
.listing-section.areg-property-main[data-areg-idx-registration-mode="strict"][data-areg-idx-registration-locked="true"]
> [data-areg-gallery-counter-host="true"],
.listing-section.areg-property-main[data-areg-idx-registration-mode="strict"][data-areg-idx-registration-locked="true"]
> .areg-block--gallery *,
.listing-section.areg-property-main[data-areg-idx-registration-mode="strict"][data-areg-idx-registration-locked="true"]
> [data-areg-gallery-counter-host="true"] *,
.listing-section.areg-property-main[data-areg-idx-registration-mode="strict"][data-areg-idx-registration-locked="true"]
> .listing-footer,
.listing-section.areg-property-main[data-areg-idx-registration-mode="strict"][data-areg-idx-registration-locked="true"]
> .listing-footer *,
.listing-section.areg-property-main[data-areg-idx-registration-mode="strict"][data-areg-idx-registration-locked="true"]
> [data-areg-idx-registration-panel="true"],
.listing-section.areg-property-main[data-areg-idx-registration-mode="strict"][data-areg-idx-registration-locked="true"]
> [data-areg-idx-registration-panel="true"] * {
	filter: none !important;
	-webkit-filter: none !important;
	text-shadow: none !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	user-select: auto !important;
}

@media (max-width: 899px) {
	/* v2.29: .areg-property-main es flex y asigna order:100 a cualquier hijo
	 * desconocido. El panel móvil sí se insertaba, pero quedaba visualmente al
	 * final de toda la ficha. Le damos un orden explícito justo tras la galería. */
	.listing-section.areg-property-main > [data-areg-idx-registration-panel="true"] {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		order: 15 !important;
		align-self: stretch !important;
	}

	/* v2.37 móvil: el panel ya no se limita al gutter interno de Kestrel.
	 * Sale a ancho completo igual que la galería y el <form> interno ocupa
	 * el 100% tanto en width como en height de su propio panel. */
	.listing-section.areg-property-main > [data-areg-idx-registration-panel="true"] {
		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;
		margin-bottom: 18px !important;
		padding: 22px 16px 18px !important;
		align-self: stretch !important;
	}

	@supports (width: 100dvw) {
		.listing-section.areg-property-main > [data-areg-idx-registration-panel="true"] {
			width: 100dvw !important;
			min-width: 100dvw !important;
			max-width: 100dvw !important;
			margin-right: calc(50% - 50dvw) !important;
			margin-left: calc(50% - 50dvw) !important;
		}
	}

	[data-areg-idx-registration-panel="true"] h3 {
		font-size: 21px !important;
	}

	[data-areg-idx-registration-panel="true"] > p {
		font-size: 14px !important;
	}

	[data-areg-idx-registration-form="true"] {
		display: flex !important;
		flex-direction: column !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 100% !important;
		max-width: 100% !important;
		height: 100% !important;
		min-height: 100% !important;
	}

	[data-areg-idx-registration-fields="true"],
	[data-areg-idx-registration-existing="true"],
	[data-areg-idx-registration-message="true"] {
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 100% !important;
		max-width: 100% !important;
	}

	[data-areg-idx-registration-fields="true"] {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}

	[data-areg-idx-registration-panel="true"] input {
		height: 42px !important;
		font-size: 14px !important;
	}

	[data-areg-idx-registration-panel="true"] :is(
		[data-areg-idx-registration-submit="true"],
		[data-areg-idx-registration-refresh="true"],
		[data-areg-idx-registration-continue="true"]
	) {
		min-height: 42px !important;
	}

	/* v2.38: en móvil el registro funciona como una barrera fija inferior.
	 * Permanece visible mientras corresponda mostrarlo, pero su superficie
	 * no interactiva deja pasar los gestos al documento para que la propiedad
	 * que está detrás siga desplazándose normalmente. */
	.listing-section.areg-property-main > [data-areg-idx-registration-panel="true"] {
		position: fixed !important;
		top: auto !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		z-index: 1900000001 !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		margin: 0 !important;
		padding: 22px 16px calc(18px + env(safe-area-inset-bottom)) !important;
		overflow: visible !important;
		border-radius: 0 !important;
		background: #fff !important;
		pointer-events: none !important;
		touch-action: pan-y pinch-zoom !important;
	}

	/* El form también deja pasar el drag cuando inicia sobre espacio vacío.
	 * Solo los controles reales recuperan interacción para escribir/enviar. */
	.listing-section.areg-property-main > [data-areg-idx-registration-panel="true"]
	[data-areg-idx-registration-form="true"] {
		pointer-events: none !important;
		touch-action: pan-y pinch-zoom !important;
	}

	.listing-section.areg-property-main > [data-areg-idx-registration-panel="true"]
	:is(input, button, a, select, textarea) {
		pointer-events: auto !important;
		touch-action: manipulation !important;
	}
}


/* ================================================================
   Versión 2.43: bloquear scroll global mientras Strict está bloqueado
   ================================================================ */
/* La clase se aplica simultáneamente a html y body desde JS. overflow:hidden
 * impide wheel, trackpad, PageUp/PageDown y scroll táctil del documento.
 * v2.45: también se bloquea el zoom por pellizco y el zoom del navegador con
 * Ctrl/Cmd + rueda; touch-action conserva solo gestos horizontales. */
html.areg-idx-strict-scroll-locked,
body.areg-idx-strict-scroll-locked {
	overflow: hidden !important;
	overscroll-behavior-x: none !important;
	/* v2.57: no anulamos el gesto vertical del navegador. El contenido sigue
	 * sin scroll por overflow:hidden, pero Chrome móvil puede conservar su
	 * pull-to-refresh desde la parte superior. El pinch continúa bloqueado por
	 * los guards JS de dos dedos. */
	overscroll-behavior-y: auto !important;
}

body.areg-idx-strict-scroll-locked {
	touch-action: pan-y !important;
}


/* ================================================================
   Versión 2.41: ocultar markers mientras Strict permanece bloqueado
   ================================================================ */
/* El mapa puede seguir visible/borroso, pero ningún pin de Mapbox debe
 * sobresalir sobre el contenido protegido. Esto incluye el icono personalizado
 * aplicado por data-areg-native-map-custom-marker. */
.listing-section.areg-property-main[data-areg-idx-registration-mode="strict"][data-areg-idx-registration-locked="true"]
:is(.listing-map, [data-areg-native-location-section="map"], [data-areg-content-panel="map"])
:is([aria-label="Map marker"], .mapboxgl-marker, [data-areg-native-map-custom-marker="true"]),
.listing-section.areg-property-main[data-areg-idx-registration-mode="strict"][data-areg-idx-registration-locked="true"]
:is(.listing-map, [data-areg-native-location-section="map"], [data-areg-content-panel="map"])
 :is([aria-label="Map marker"], .mapboxgl-marker, [data-areg-native-map-custom-marker="true"]) {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}


/* ================================================================
   Versión 2.48: hechos completos en popup de galería
   ================================================================ */
[data-areg-gallery-popup="true"] [data-areg-gallery-popup-fact-normalized="true"] {
	display: inline-block !important;
	width: auto !important;
	min-width: max-content !important;
	max-width: none !important;
	overflow: visible !important;
	text-overflow: clip !important;
	white-space: nowrap !important;
	flex: 0 0 auto !important;
}


/* ================================================================
   Versión 2.89 / V10.6: banners, Menu y Mortgage divider
   ================================================================ */

/* New to the market: sparkle.svg con medidas exactas del PDF. */
[data-areg-hot-property="true"][data-areg-property-banner-type="new-market"]
[data-areg-hot-property-icon="true"] {
	width: 28px !important;
	height: 28px !important;
	vertical-align: -7px !important;
}

/* USDA / rural: la hoja actual se conserva, pero a 33x33 y -8px. */
[data-areg-hot-property="true"][data-areg-property-banner-type="rural"]
[data-areg-hot-property-icon="true"] {
	width: 33px !important;
	height: 33px !important;
	vertical-align: -8px !important;
}

/* El nuevo trigger Menu usa el SVG entregado por el cliente. */
[data-areg-menu-trigger-icon="true"] {
	display: block !important;
	box-sizing: border-box !important;
	width: 20px !important;
	height: 20px !important;
	max-width: 20px !important;
	max-height: 20px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	object-fit: contain !important;
	pointer-events: none !important;
}

@media (max-width: 899px) {
	[data-areg-menu-trigger-icon="true"] {
		width: 23px !important;
		height: 23px !important;
		max-width: 23px !important;
		max-height: 23px !important;
	}
}

/* Padding exacto solicitado para CADA opción del menú. */
[data-areg-desktop-save-menu="true"] a {
	padding: 13px 17px !important;
}

/* Un solo divisor gris, inmediatamente antes de Mortgage Insurance. */
label[data-areg-mortgage-field="hoaMonthly"] {
	border-bottom: 0 !important;
	margin-bottom: 0 !important;
	padding-bottom: 0 !important;
}
[data-areg-mortgage-insurance="true"] {
	border-top: 1px solid #d7d7d7 !important;
}


/*
 * Versión 3.05: Map móvil ya no fija html/body ni oculta el footer global.
 * El tamaño y las partes ocultas se controlan dentro del Shadow DOM Kestrel.
 */


/* ================================================================
   Versión 3.01: header móvil/tableta global, fijo y con un solo logo
   ================================================================ */

@media (max-width: 820px) {
	/*
	 * Avada trae las clases no-mobile-sticky-header/no-tablet-sticky-header en
	 * body. No dependemos ya de su sticky: fijamos el wrapper directamente.
	 */
	html {
		--areg-mobile-global-header-height: 58px;
		scroll-padding-top: var(--areg-mobile-global-header-height) !important;
	}

	body {
		padding-top: var(--areg-mobile-global-header-height) !important;
	}

	.fusion-header-wrapper {
		position: fixed !important;
		top: 0 !important;
		right: 0 !important;
		left: 0 !important;
		z-index: 2147481000 !important;
		box-sizing: border-box !important;
		width: 100% !important;
		height: var(--areg-mobile-global-header-height) !important;
		min-height: var(--areg-mobile-global-header-height) !important;
		max-height: var(--areg-mobile-global-header-height) !important;
		margin: 0 !important;
		background: #ffffff !important;
		box-shadow: 0 1px 0 rgba(0, 0, 0, .08) !important;
	}

	.fusion-header-wrapper .fusion-secondary-header {
		display: none !important;
		visibility: hidden !important;
		height: 0 !important;
		min-height: 0 !important;
		max-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		overflow: hidden !important;
	}

	.fusion-header-wrapper .fusion-header-sticky-height {
		display: none !important;
		height: 0 !important;
		min-height: 0 !important;
		max-height: 0 !important;
	}

	.fusion-header-wrapper .fusion-header,
	.fusion-header-wrapper .fusion-header > .fusion-row {
		position: relative !important;
		box-sizing: border-box !important;
		width: 100% !important;
		height: var(--areg-mobile-global-header-height) !important;
		min-height: var(--areg-mobile-global-header-height) !important;
		max-height: var(--areg-mobile-global-header-height) !important;
		margin: 0 !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
		background: #ffffff !important;
	}

	/*
	 * Avada renderiza standard + mobile logo en el HTML. v3.00 forzó ambos a
	 * display:block y por eso se duplicaron. En móvil/tableta usamos SOLO mobile.
	 */
	.fusion-header-wrapper .fusion-logo-link img.fusion-standard-logo {
		display: none !important;
		visibility: hidden !important;
	}

	.fusion-header-wrapper .fusion-logo {
		position: absolute !important;
		top: 50% !important;
		left: 50% !important;
		z-index: 10 !important;
		float: none !important;
		display: block !important;
		box-sizing: border-box !important;
		width: auto !important;
		max-width: calc(100% - 110px) !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: translate(-50%, -50%) !important;
		text-align: center !important;
	}

	.fusion-header-wrapper .fusion-logo-link {
		display: block !important;
		width: auto !important;
		margin: 0 auto !important;
		padding: 0 !important;
		text-align: center !important;
	}

	.fusion-header-wrapper .fusion-logo-link img.fusion-mobile-logo {
		display: block !important;
		visibility: visible !important;
		width: auto !important;
		max-width: 130px !important;
		max-height: 34px !important;
		height: auto !important;
		margin: 0 auto !important;
		object-fit: contain !important;
	}

	.fusion-header-wrapper .fusion-mobile-menu-icons {
		position: absolute !important;
		top: 50% !important;
		right: 16px !important;
		left: auto !important;
		z-index: 20 !important;
		float: none !important;
		display: flex !important;
		align-items: center !important;
		width: auto !important;
		height: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		transform: translateY(-50%) !important;
	}

	/*
	 * Como el header está fixed en TODAS las páginas móviles/tableta, ninguna
	 * depende ya del overflow de #wrapper/#main para conservar sticky.
	 */
	#wrapper {
		box-sizing: border-box !important;
	}
}

@media (max-width: 396px) {
	.fusion-header-wrapper .fusion-logo-link img.fusion-mobile-logo {
		max-width: 120px !important;
		max-height: 32px !important;
	}
}

/*
 * V10.6 págs. 31-32:
 * Estimated Payment + Get Pre-Approved se añade en móvil y permanece pegado
 * al borde inferior durante el scroll.
 */
[data-areg-mobile-payment-dock="true"] {
	display: none;
}

@media (max-width: 899px) {
	[data-areg-mobile-payment-dock="true"]:not([hidden]) {
		position: fixed !important;
		right: 0 !important;
		bottom: 0 !important;
		left: 0 !important;
		z-index: 2147480500 !important;
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto !important;
		align-items: center !important;
		gap: 12px !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-width: 0 !important;
		max-width: 100% !important;
		min-height: 72px !important;
		margin: 0 !important;
		padding:
			9px
			max(16px, env(safe-area-inset-right))
			calc(9px + env(safe-area-inset-bottom))
			max(16px, env(safe-area-inset-left)) !important;
		border-top: 1px solid #dedede !important;
		background: rgba(255, 255, 255, .98) !important;
		box-shadow: 0 -3px 14px rgba(0, 0, 0, .12) !important;
		backdrop-filter: blur(6px) !important;
		-webkit-backdrop-filter: blur(6px) !important;
	}

	[data-areg-mobile-payment-dock="true"][hidden] {
		display: none !important;
	}

	[data-areg-mobile-payment-dock-copy="true"] {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		justify-content: center !important;
		min-width: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	[data-areg-mobile-payment-dock-amount="true"] {
		display: block !important;
		margin: 0 !important;
		padding: 0 !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
		font-family: Lato, Arial, sans-serif !important;
		font-size: 18px !important;
		font-weight: 700 !important;
		line-height: 1.15 !important;
		white-space: nowrap !important;
	}

	[data-areg-mobile-payment-dock-caption="true"] {
		display: block !important;
		margin: 3px 0 0 !important;
		padding: 0 !important;
		color: #333333 !important;
		-webkit-text-fill-color: #333333 !important;
		font-family: Lato, Arial, sans-serif !important;
		font-size: 12px !important;
		font-weight: 400 !important;
		line-height: 1.2 !important;
		white-space: nowrap !important;
	}

	[data-areg-mobile-payment-dock-button="true"] {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		width: auto !important;
		min-width: 142px !important;
		min-height: 44px !important;
		margin: 0 !important;
		padding: 10px 15px !important;
		border: 1px solid #9d072b !important;
		border-radius: 3px !important;
		background: #9d072b !important;
		color: #ffffff !important;
		-webkit-text-fill-color: #ffffff !important;
		font-family: Lato, Arial, sans-serif !important;
		font-size: 14px !important;
		font-weight: 700 !important;
		line-height: 1.15 !important;
		text-align: center !important;
		white-space: nowrap !important;
		box-shadow: none !important;
		cursor: pointer !important;
	}

	/*
	 * Reserva espacio al final de la propiedad para que el dock fijo no tape
	 * la última fila/links cuando el usuario llega al fondo.
	 */
	body.areg-property-detail-page.areg-mobile-payment-dock-active #wrapper {
		padding-bottom: calc(82px + env(safe-area-inset-bottom)) !important;
	}
}

@media (max-width: 360px) {
	[data-areg-mobile-payment-dock="true"]:not([hidden]) {
		gap: 8px !important;
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	[data-areg-mobile-payment-dock-amount="true"] {
		font-size: 16px !important;
	}

	[data-areg-mobile-payment-dock-button="true"] {
		min-width: 128px !important;
		padding-right: 10px !important;
		padding-left: 10px !important;
		font-size: 13px !important;
	}
}


/* ================================================================
   Versión 3.03: Map móvil congelado al viewport
   ================================================================ */
@media (max-width: 767px) {
	body.areg-kestrel-basic-search-page[data-areg-search-mobile-map-body-locked="true"] {
		touch-action: none !important;
		overflow: hidden !important;
		overscroll-behavior: none !important;
	}

	body.areg-kestrel-basic-search-page[data-areg-search-mobile-map-body-locked="true"]
	[data-areg-search-mobile-map-branch="true"],
	body.areg-kestrel-basic-search-page[data-areg-search-mobile-map-body-locked="true"]
	[data-areg-search-mobile-map-branch="true"] canvas[aria-label="Map"] {
		touch-action: none !important;
	}
}


/* ================================================================
   Versión 3.04: alineación hamburger + menú móvil debajo del header
   ================================================================ */
@media (max-width: 820px) {
	/*
	 * El header fijo mide 58px. El menú Avada vive dentro del mismo wrapper:
	 * lo sacamos del flujo del header y lo anclamos justo debajo.
	 */
	.fusion-header-wrapper {
		overflow: visible !important;
	}

	/*
	 * El right:16px de v3.01 dejaba el icono varios píxeles hacia adentro
	 * respecto a la columna general. La propia fusion-row ya aporta el margen
	 * horizontal del tema, así que usamos su borde derecho real.
	 */
	.fusion-header-wrapper .fusion-mobile-menu-icons {
		right: 0 !important;
	}

	.fusion-header-wrapper .fusion-mobile-menu-icons .fusion-icon-bars {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		margin: 0 !important;
	}

	.fusion-header-wrapper .fusion-mobile-nav-holder {
		position: fixed !important;
		top: var(--areg-mobile-global-header-height) !important;
		right: 0 !important;
		left: 0 !important;
		z-index: 2147480999 !important;
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		max-height: calc(100dvh - var(--areg-mobile-global-header-height)) !important;
		margin: 0 !important;
		padding: 0 !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		background: #ffffff !important;
		box-shadow: 0 4px 12px rgba(0, 0, 0, .12) !important;
		overscroll-behavior: contain !important;
		-webkit-overflow-scrolling: touch !important;
	}

	.fusion-header-wrapper .fusion-mobile-nav-holder > ul,
	.fusion-header-wrapper .fusion-mobile-nav-holder .fusion-mobile-menu {
		box-sizing: border-box !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
	}

	/*
	 * No forzamos display:block: Avada conserva el control de apertura/cierre.
	 * Solo corregimos la posición cuando el nav está visible.
	 */
	.fusion-header-wrapper .fusion-mobile-nav-holder[style*="display: block"],
	.fusion-header-wrapper .fusion-mobile-nav-holder[style*="display:block"] {
		top: var(--areg-mobile-global-header-height) !important;
	}
}


/* ================================================================
   Versión 3.06: Map móvil full-bleed y termina en el mapa
   ================================================================ */
@media (max-width: 767px) {
	body.areg-kestrel-basic-search-page.areg-search-mobile-map-active .fusion-footer,
	body.areg-kestrel-basic-search-page.areg-search-mobile-map-active .fusion-footer-widget-area,
	body.areg-kestrel-basic-search-page.areg-search-mobile-map-active footer {
		display: none !important;
	}

	body.areg-kestrel-basic-search-page.areg-search-mobile-map-active #main {
		padding-bottom: 0 !important;
	}
}


/* ================================================================
   Versión 3.07: cierre global de popup/cluster del Map
   ================================================================ */
@media (max-width: 767px) {
	body > [data-areg-search-map-cluster-close="true"] {
		position: fixed !important;
		top: calc(var(--areg-mobile-global-header-height, 58px) + 10px) !important;
		right: 12px !important;
		left: auto !important;
		z-index: 2147483400 !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		width: 44px !important;
		min-width: 44px !important;
		height: 44px !important;
		min-height: 44px !important;
		margin: 0 !important;
		padding: 0 0 3px !important;
		border: 1px solid rgba(0, 0, 0, .18) !important;
		border-radius: 50% !important;
		background: #fff !important;
		color: #222 !important;
		font: 400 32px/1 Arial, sans-serif !important;
		box-shadow: 0 2px 12px rgba(0, 0, 0, .25) !important;
		cursor: pointer !important;
		pointer-events: auto !important;
		touch-action: manipulation !important;
	}
}


/* ================================================================
   Versión 3.09: overlays sobre header + Map full-bleed sin clipping
   ================================================================ */
@media (max-width: 899px) {
	/*
	 * Los popups de galería conservan su altura nativa/100%:
	 * únicamente el header baja de stacking level mientras el popup está abierto.
	 */
	html.areg-gallery-popup-open .fusion-header-wrapper,
	body.areg-gallery-popup-open .fusion-header-wrapper,
	body.areg-search-map-cluster-popup-open .fusion-header-wrapper {
		z-index: 1000 !important;
	}

	/*
	 * La X flotante de v3.07/v3.08 queda definitivamente retirada.
	 * El cluster usa la X nativa de Kestrel.
	 */
	body > [data-areg-search-map-cluster-close="true"] {
		display: none !important;
	}
}

@media (max-width: 767px) {
	/* El branch puede salir del contenedor, pero nunca debe crear scroll horizontal del documento. */
	body.areg-kestrel-basic-search-page.areg-search-mobile-map-active {
		overflow-x: hidden !important;
		overscroll-behavior-x: none !important;
	}
}


/* ================================================================
   Versión 3.13: Basic Search Map full-bleed real en móvil
   ================================================================ */
@media (max-width: 767px) {
	body.areg-kestrel-basic-search-page.areg-search-mobile-map-active #content {
		overflow-x: visible !important;
	}
}


/* ================================================================
   Versión 3.14: Basic Search móvil conserva full-bleed al hacer scroll
   ================================================================ */
@media (max-width: 767px) {
	/*
	 * v3.13 dependía de .areg-search-mobile-map-active. Durante ciertos
	 * rerenders/scroll del viewport esa clase puede dejar de ser una condición
	 * estable y #content vuelve al clip de v1.60.
	 *
	 * En Basic Search hacemos #content horizontalmente visible de forma
	 * permanente. #wrapper y #main conservan overflow-x:clip, así que el
	 * documento sigue sin habilitar scroll horizontal global.
	 */
	body.areg-kestrel-basic-search-page #content {
		overflow-x: visible !important;
	}
}


/* ================================================================
   Versión 3.18: controles finales de galería / captions / visor 50-50
   ================================================================ */

/* La especificación final elimina Show/Hide Caption de la foto principal. */
.listing-section.areg-property-main
[data-areg-gallery-caption-toggle="true"] {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Si Kestrel conserva una caption expandida, usa negro/blanco uniforme. */
.listing-section.areg-property-main
[data-areg-gallery-caption-text="true"] {
	background: #000000 !important;
	background-color: #000000 !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	text-shadow: none !important;
}

/* Popup Stack/Grid: el selector Show/Hide Captions desaparece definitivamente. */
[data-areg-gallery-popup-caption-toggle="true"],
[data-areg-gallery-popup-caption-toggle-host="true"] {
	display: none !important;
	visibility: hidden !important;
	opacity: 0 !important;
	pointer-events: none !important;
}

/* Captions del popup: negro + blanco como los badges de estado/contador. */
[data-areg-gallery-popup-caption-text="true"] {
	box-sizing: border-box !important;
	max-width: calc(100% - 16px) !important;
	margin: 0 !important;
	padding: 3px 8px !important;
	border: 0 !important;
	border-radius: 5px !important;
	background: #000000 !important;
	background-color: #000000 !important;
	background-image: none !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	font-family: "Lato", Arial, sans-serif !important;
	font-size: 12px !important;
	font-style: normal !important;
	font-weight: 600 !important;
	line-height: 18px !important;
	letter-spacing: .01em !important;
	text-shadow: none !important;
	box-shadow: none !important;
}

/*
 * Móvil: status + contador inician visibles y se ocultan tras 10 s.
 * El JS los vuelve a mostrar al navegar/swipear y reinicia el temporizador.
 */
@media (max-width: 767px) {
	.listing-section.areg-property-main
	[data-areg-gallery-mobile-controls-state="visible"]
	[data-areg-gallery-counter="true"],
	.listing-section.areg-property-main
	[data-areg-gallery-mobile-controls-state="visible"]
	[data-areg-gallery-primary-status="true"] {
		opacity: 1 !important;
		visibility: visible !important;
		transition: opacity .2s ease, visibility .2s ease !important;
	}

	.listing-section.areg-property-main
	[data-areg-gallery-mobile-controls-state="hidden"]
	[data-areg-gallery-counter="true"],
	.listing-section.areg-property-main
	[data-areg-gallery-mobile-controls-state="hidden"]
	[data-areg-gallery-primary-status="true"] {
		opacity: 0 !important;
		visibility: hidden !important;
		pointer-events: none !important;
		transition: opacity .2s ease, visibility .2s ease !important;
	}
}

/* Segundo popup: la fotografía comunica visualmente que toda su superficie navega. */
[data-areg-single-photo-click-zones="50-50"]
[data-areg-single-photo-image="true"] {
	cursor: pointer !important;
	user-select: none !important;
	-webkit-user-select: none !important;
}


/* ================================================================
   Versión 3.19: hover estable + badge fijo + caption compacta
   ================================================================ */

/*
 * Desktop: For Sale participa exactamente en el mismo hover que las flechas
 * y el contador de la galería principal.
 */
@media (min-width: 768px) {
	.listing-section.areg-property-main
	> [data-areg-gallery-counter-host="true"]
	[data-areg-gallery-primary-status="true"] {
		opacity: 0 !important;
		visibility: hidden !important;
		transition: opacity .15s ease, visibility .15s ease !important;
	}

	.listing-section.areg-property-main
	> [data-areg-gallery-counter-host="true"]:hover
	[data-areg-gallery-primary-status="true"],
	.listing-section.areg-property-main
	> [data-areg-gallery-counter-host="true"]:focus-within
	[data-areg-gallery-primary-status="true"] {
		opacity: 1 !important;
		visibility: visible !important;
	}
}

/*
 * v3.32: el badge vuelve a vivir dentro de la primera fotografía para salir
 * de la vista junto con ella. El host relativo puede ser el slide o su clon.
 */
[data-areg-gallery-primary-status-host="true"] {
	position: relative !important;
}

/*
 * Captions del popup: ancho intrínseco al texto y mismo negro translúcido que
 * For Sale / contador. `right:auto` neutraliza el `right:12px` nativo de
 * Kestrel que antes estiraba Charming Cottage a casi todo el ancho.
 */
[data-areg-gallery-popup-caption-text="true"] {
	display: inline-block !important;
	box-sizing: border-box !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: calc(100% - 24px) !important;
	right: auto !important;
	left: 12px !important;
	margin: 0 !important;
	padding: 3px 8px !important;
	border: 0 !important;
	border-radius: 5px !important;
	background: rgba(0, 0, 0, .56) !important;
	background-color: rgba(0, 0, 0, .56) !important;
	background-image: none !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	text-align: left !important;
	white-space: normal !important;
	text-shadow: none !important;
	box-shadow: none !important;
}

/* Todo el visor negro del segundo popup es superficie 50/50. */
[data-areg-single-photo-navigation-surface="true"] {
	cursor: pointer !important;
	user-select: none !important;
	-webkit-user-select: none !important;
}


/* ================================================================
   Versión 3.20: caption centrada horizontalmente
   ================================================================ */
[data-areg-gallery-popup-caption-text="true"] {
	left: 50% !important;
	right: auto !important;
	transform: translateX(-50%) !important;
	text-align: center !important;
}


/* ================================================================
   Versión 3.23: descripciones visibles; controles de captions ocultos
   ================================================================ */
[data-areg-gallery-popup-caption-text="true"] {
	display: inline-block !important;
	visibility: visible !important;
	opacity: 1 !important;
	pointer-events: none !important;
}

/* El selector Show/Hide Captions continúa fuera de la interfaz. */
[data-areg-gallery-popup-caption-toggle="true"],
[data-areg-gallery-popup-caption-toggle-host="true"] {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}


/* ================================================================
   Versión 3.32: revisiones V10.6 - móvil, dock y controles
   ================================================================ */
@media (max-width: 899px) {
	/* Ficha de propiedad: menú general a la izquierda con el icono solicitado. */
	body.areg-property-detail-page
	.fusion-header-wrapper[data-areg-property-mobile-header="true"]
	.fusion-mobile-menu-icons {
		right: auto !important;
		left: 0 !important;
	}

	body.areg-property-detail-page
	.fusion-header-wrapper[data-areg-property-mobile-header="true"]
	.fusion-mobile-menu-icons .fusion-icon-bars {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		width: 28px !important;
		height: 28px !important;
		margin: 0 !important;
		padding: 2px !important;
		border: 0 !important;
		background-color: transparent !important;
		background-image: url("https://www.andradereg.com/wp-content/uploads/menu.svg") !important;
		background-repeat: no-repeat !important;
		background-position: center !important;
		background-size: 23px 23px !important;
		color: transparent !important;
		-webkit-text-fill-color: transparent !important;
		font-size: 0 !important;
		line-height: 0 !important;
		box-shadow: none !important;
	}

	body.areg-property-detail-page
	.fusion-header-wrapper[data-areg-property-mobile-header="true"]
	.fusion-mobile-menu-icons .fusion-icon-bars::before {
		display: none !important;
		content: "" !important;
	}

	body.areg-property-detail-page
	[data-areg-mobile-header-profile="true"] {
		position: absolute !important;
		top: 50% !important;
		right: 0 !important;
		left: auto !important;
		z-index: 21 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		width: 30px !important;
		min-width: 30px !important;
		height: 30px !important;
		min-height: 30px !important;
		margin: 0 !important;
		padding: 2px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
		box-shadow: none !important;
		transform: translateY(-50%) !important;
		text-decoration: none !important;
		cursor: pointer !important;
	}

	body.areg-property-detail-page
	[data-areg-mobile-header-profile="true"] svg {
		display: block !important;
		width: 24px !important;
		height: 24px !important;
		margin: 0 !important;
		fill: none !important;
		stroke: currentColor !important;
		stroke-width: 1.7 !important;
		stroke-linecap: round !important;
		stroke-linejoin: round !important;
		pointer-events: none !important;
	}

	/* El fondo del dock sigue ocupando 100%; solo su contenido usa el gutter de
	 * la columna móvil de la ficha. */
	body.areg-property-detail-page
	[data-areg-mobile-payment-dock="true"]:not([hidden]) {
		grid-template-columns: minmax(0, 1fr) 44px auto !important;
		gap: 8px !important;
		padding-left: max(30px, env(safe-area-inset-left)) !important;
		padding-right: max(30px, env(safe-area-inset-right)) !important;
	}

	[data-areg-mobile-payment-dock-phone="true"] {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		width: 44px !important;
		min-width: 44px !important;
		max-width: 44px !important;
		height: 44px !important;
		min-height: 44px !important;
		max-height: 44px !important;
		margin: 0 !important;
		padding: 7px !important;
		border: 1px solid #9d072b !important;
		border-radius: 4px !important;
		background: #ffffff !important;
		box-shadow: none !important;
		text-decoration: none !important;
		cursor: pointer !important;
	}

	[data-areg-mobile-payment-dock-phone="true"] img {
		display: block !important;
		width: 100% !important;
		height: 100% !important;
		max-width: 28px !important;
		max-height: 28px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		object-fit: contain !important;
		pointer-events: none !important;
	}
}

@media (max-width: 380px) {
	body.areg-property-detail-page
	[data-areg-mobile-payment-dock="true"]:not([hidden]) {
		grid-template-columns: minmax(0, 1fr) 40px auto !important;
		gap: 6px !important;
		padding-left: max(20px, env(safe-area-inset-left)) !important;
		padding-right: max(20px, env(safe-area-inset-right)) !important;
	}

	[data-areg-mobile-payment-dock-phone="true"] {
		width: 40px !important;
		min-width: 40px !important;
		max-width: 40px !important;
		height: 40px !important;
		min-height: 40px !important;
		max-height: 40px !important;
		padding: 6px !important;
	}

	body.areg-property-detail-page
	[data-areg-mobile-payment-dock-button="true"] {
		min-width: 116px !important;
		padding-right: 8px !important;
		padding-left: 8px !important;
		font-size: 12px !important;
	}
}

@media (max-width: 330px) {
	body.areg-property-detail-page
	[data-areg-mobile-payment-dock="true"]:not([hidden]) {
		padding-left: max(14px, env(safe-area-inset-left)) !important;
		padding-right: max(14px, env(safe-area-inset-right)) !important;
	}
}


/* ================================================================
   Versión 3.34: mismo header en todo el sitio (móvil + tableta)
   ================================================================ */
@media (max-width: 820px) {
	/*
	 * El script global marca el wrapper en cualquier página del sitio. Se usa
	 * el mismo acomodo ya aprobado en Property Detail: menú de páginas a la
	 * izquierda, logo centrado y Favorite Listings a la derecha.
	 */
	.fusion-header-wrapper[data-areg-global-mobile-header="true"]
	.fusion-mobile-menu-icons {
		right: auto !important;
		left: 0 !important;
	}

	.fusion-header-wrapper[data-areg-global-mobile-header="true"]
	.fusion-mobile-menu-icons .fusion-icon-bars {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		width: 28px !important;
		height: 28px !important;
		margin: 0 !important;
		padding: 2px !important;
		border: 0 !important;
		background-color: transparent !important;
		background-image: url("https://www.andradereg.com/wp-content/uploads/menu.svg") !important;
		background-repeat: no-repeat !important;
		background-position: center !important;
		background-size: 23px 23px !important;
		color: transparent !important;
		-webkit-text-fill-color: transparent !important;
		font-size: 0 !important;
		line-height: 0 !important;
		box-shadow: none !important;
	}

	.fusion-header-wrapper[data-areg-global-mobile-header="true"]
	.fusion-mobile-menu-icons .fusion-icon-bars::before {
		display: none !important;
		content: "" !important;
	}

	.fusion-header-wrapper[data-areg-global-mobile-header="true"]
	[data-areg-mobile-header-profile="true"] {
		position: absolute !important;
		top: 50% !important;
		right: 0 !important;
		left: auto !important;
		z-index: 21 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		width: 30px !important;
		min-width: 30px !important;
		height: 30px !important;
		min-height: 30px !important;
		margin: 0 !important;
		padding: 2px !important;
		border: 0 !important;
		border-radius: 0 !important;
		background: transparent !important;
		color: #111111 !important;
		-webkit-text-fill-color: #111111 !important;
		box-shadow: none !important;
		transform: translateY(-50%) !important;
		text-decoration: none !important;
		cursor: pointer !important;
	}

	.fusion-header-wrapper[data-areg-global-mobile-header="true"]
	[data-areg-mobile-header-profile="true"] svg {
		display: block !important;
		width: 24px !important;
		height: 24px !important;
		margin: 0 !important;
		fill: none !important;
		stroke: currentColor !important;
		stroke-width: 1.7 !important;
		stroke-linecap: round !important;
		stroke-linejoin: round !important;
		pointer-events: none !important;
	}
}

/* Desktop conserva íntegro el header normal del tema. */
@media (min-width: 821px) {
	.fusion-header-wrapper [data-areg-mobile-header-profile="true"] {
		display: none !important;
	}
}


/* ================================================================
   Versión 3.36.7: Tareas V10.8 - hojas 25 a 45
   ================================================================ */

/* My Account vive únicamente en la franja superior del header desktop. */
@media (min-width: 821px) {
	body.areg-property-detail-page
	.fusion-secondary-header .fusion-row {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
	}

	body.areg-property-detail-page
	.fusion-secondary-header [data-areg-desktop-account-host="true"] {
		display: grid !important;
		grid-template-columns: minmax(0, 1fr) auto auto !important;
		align-items: center !important;
		column-gap: 14px !important;
		width: 100% !important;
		margin: 0 !important;
	}

	body.areg-property-detail-page
	[data-areg-desktop-property-account="true"] {
		display: inline-flex !important;
		align-items: center !important;
		min-height: 32px !important;
		margin: 0 !important;
		padding: 0 !important;
		color: #111111 !important;
		font-family: Lato, Arial, sans-serif !important;
		font-size: 14px !important;
		font-weight: 400 !important;
		line-height: 1.2 !important;
		text-decoration: none !important;
	}
}

@media (max-width: 820px) {
	[data-areg-desktop-property-account="true"] {
		display: none !important;
	}
}

/* Corazón icon-only debajo de la foto principal en desktop. */
@media (min-width: 821px) {
	.listing-section.areg-property-main
	> [data-areg-property-photo-actions-row="true"] {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		box-sizing: border-box !important;
		width: 100% !important;
		min-height: 36px !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	[data-areg-property-photo-actions-row="true"]
	[data-areg-desktop-sidebar-actions="true"] {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	[data-areg-property-photo-actions-row="true"]
	[data-areg-desktop-sidebar-action="save"] {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		width: 36px !important;
		min-width: 36px !important;
		max-width: 36px !important;
		height: 36px !important;
		min-height: 36px !important;
		max-height: 36px !important;
		margin: 0 !important;
		padding: 6px !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
	}

	[data-areg-property-photo-actions-row="true"]
	[data-areg-desktop-sidebar-action="save"] > span {
		display: none !important;
	}
}

[data-areg-desktop-sidebar-action="save"][data-areg-property-action-active="true"] svg,
[data-areg-desktop-sidebar-action="save"][data-areg-property-action-active="true"] svg path {
	fill: #9d072b !important;
	stroke: #9d072b !important;
	color: #9d072b !important;
}

/* Offer less: contenedor e icono según la referencia del PDF. */
[data-areg-hot-property="true"][data-areg-property-banner-type="offer"] {
	border-radius: 6px !important;
}

[data-areg-hot-property="true"][data-areg-property-banner-type="offer"]
[data-areg-hot-property-icon="true"] {
	display: inline-block !important;
	float: none !important;
	position: static !important;
	box-sizing: border-box !important;
	width: 18px !important;
	height: 18px !important;
	margin: 0 !important;
	padding: 0 !important;
	vertical-align: -3px !important;
	object-fit: contain !important;
}

/* Alineación común del acordeón Location Information. */
[data-areg-accordion-key="location"],
[data-areg-accordion-key="location"] [data-areg-accordion-heading="location"],
[data-areg-accordion-key="location"] [data-areg-accordion-panel="location"],
[data-areg-accordion-key="location"] .feature-body,
[data-areg-accordion-key="location"] .feature-label,
[data-areg-accordion-key="location"] .feature-value,
[data-areg-accordion-key="location"] p {
	text-align: left !important;
	justify-content: flex-start !important;
}

/* No muestra la foto subyacente mientras una tarjeta similar está en modo mapa. */
[data-areg-similar-listings="true"]
.ihf-listing-result-cell[data-areg-search-card-media-view="map"]
.ihf-listing-result-img-container {
	visibility: hidden !important;
}

[data-areg-similar-listings="true"]
.ihf-listing-result-cell[data-areg-search-card-media-view="map"]
> [data-areg-search-card-map-view="true"] {
	display: flex !important;
	visibility: visible !important;
	background: #eeeeee !important;
}

/* Respaldo visual de zoom: los gestos siguen habilitados por los mapas. */
@media (max-width: 820px) {
	[data-areg-native-location-controls="true"] button[aria-label="Zoom in"],
	[data-areg-native-location-controls="true"] button[aria-label="Zoom out"],
	[data-areg-native-location-controls="true"] button[aria-label="Acercar"],
	[data-areg-native-location-controls="true"] button[aria-label="Alejar"],
	[data-areg-native-location-section] button[aria-label="Zoom in"],
	[data-areg-native-location-section] button[aria-label="Zoom out"],
	[data-areg-native-location-section] button[aria-label="Acercar"],
	[data-areg-native-location-section] button[aria-label="Alejar"] {
		display: none !important;
		visibility: hidden !important;
		pointer-events: none !important;
	}
}

@media (max-width: 899px) {
	[data-areg-mobile-payment-dock-phone="true"] {
		background: #9d072b !important;
		background-color: #9d072b !important;
	}

	[data-areg-mobile-payment-dock-phone="true"] img {
		filter: brightness(0) invert(1) !important;
	}
}

/* ================================================================
   Versión 3.36.8: correcciones puntuales post-Codex
   ================================================================ */

/* Desktop Property Detail: My Account inmediatamente antes del teléfono,
 * todo en una sola fila y centrado verticalmente. */
@media (min-width: 821px) {
	body.areg-property-detail-page .fusion-secondary-header .fusion-alignleft,
	body.areg-property-detail-page .fusion-secondary-header .fusion-contact-info,
	body.areg-property-detail-page .fusion-secondary-header [data-areg-desktop-account-host="true"] {
		box-sizing: border-box !important;
		width: 100% !important;
	}

	body.areg-property-detail-page
	.fusion-secondary-header [data-areg-desktop-account-host="true"] {
		display: flex !important;
		flex-flow: row nowrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 12px !important;
		min-height: 34px !important;
		margin: 0 !important;
	}

	body.areg-property-detail-page
	.fusion-secondary-header [data-areg-desktop-account-host="true"] > .t_ {
		display: inline-flex !important;
		align-items: center !important;
		flex: 1 1 auto !important;
		min-width: 0 !important;
		margin-right: auto !important;
		line-height: 34px !important;
	}

	body.areg-property-detail-page [data-areg-desktop-property-account="true"] {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex: 0 0 auto !important;
		height: 20px !important;
		min-height: 20px !important;
		line-height: 20px !important;
		white-space: nowrap !important;
	}

	body.areg-property-detail-page
	.fusion-secondary-header [data-areg-desktop-account-host="true"] > .r_ {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex: 0 0 auto !important;
		vertical-align: middle !important;
		margin: 0 !important;
	}

	/* Like vuelve a la misma fila del precio, lado derecho. */
	body.areg-property-detail-page
	.listing-section.areg-property-main [data-areg-summary-headline="true"] {
		display: flex !important;
		flex-flow: row nowrap !important;
		align-items: center !important;
		justify-content: flex-start !important;
		gap: 12px !important;
		width: 100% !important;
		overflow: visible !important;
	}

	body.areg-property-detail-page
	.listing-section.areg-property-main [data-areg-summary-headline="true"] > p:first-child {
		flex: 1 1 auto !important;
		min-width: 0 !important;
		margin-right: 0 !important;
	}

	body.areg-property-detail-page
	.listing-section.areg-property-main [data-areg-summary-actions-host="true"] {
		display: inline-flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		align-items: center !important;
		justify-content: flex-end !important;
		flex: 0 0 auto !important;
		width: auto !important;
		margin: 0 0 0 auto !important;
		padding: 0 !important;
		overflow: visible !important;
		pointer-events: auto !important;
	}

	body.areg-property-detail-page
	.listing-section.areg-property-main [data-areg-summary-actions-host="true"]
	[data-areg-desktop-sidebar-actions="true"] {
		display: inline-flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		align-items: center !important;
		justify-content: center !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	body.areg-property-detail-page
	.listing-section.areg-property-main [data-areg-summary-actions-host="true"]
	[data-areg-desktop-sidebar-action="save"] {
		display: inline-flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		align-items: center !important;
		justify-content: center !important;
		box-sizing: border-box !important;
		width: 36px !important;
		min-width: 36px !important;
		max-width: 36px !important;
		height: 36px !important;
		min-height: 36px !important;
		max-height: 36px !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		box-shadow: none !important;
		pointer-events: auto !important;
	}

	body.areg-property-detail-page
	.listing-section.areg-property-main [data-areg-summary-actions-host="true"]
	[data-areg-desktop-sidebar-action="save"] > span {
		display: none !important;
	}

	/* La fila auxiliar antigua debajo de la foto ya no se usa. */
	body.areg-property-detail-page [data-areg-property-photo-actions-row="true"] {
		display: none !important;
	}
}

@media (max-width: 767px) {
	/* v3.36.15: el popup de un precio NO cambia la geometría de la página.
	 * El mapa ya obtiene su full-bleed desde el branch interno; por eso nunca
	 * quitamos los paddings de #main. Este guard además neutraliza cualquier
	 * hard-lock legacy que intente fijar body a width:100% durante el Drawer. */
	body.areg-kestrel-basic-search-page.areg-search-mobile-map-active {
		position: static !important;
		top: auto !important;
		right: auto !important;
		left: auto !important;
		width: auto !important;
		max-width: none !important;
	}
}


/* ================================================================
   Version 3.36.24: mobile Map remains unclipped when Drawer unmounts
   ================================================================ */
@media (max-width: 767px) {
	/*
	 * Kestrel's host is already 100vw and #main remains the viewport clip.
	 * Avada's intermediate wrappers can return to overflow:hidden when the
	 * Drawer unmounts, clipping the part of the host that escapes #main's left
	 * padding even though canvas/WebGL remain at left:0 and full width.
	 * Only Map mode lets the host paint through those wrappers; no padding or
	 * wrapper geometry is changed.
	 */
	body.areg-kestrel-basic-search-page.areg-search-mobile-map-active #main > .fusion-row,
	body.areg-kestrel-basic-search-page.areg-search-mobile-map-active #content,
	body.areg-kestrel-basic-search-page.areg-search-mobile-map-active #content > [id^="post-"],
	body.areg-kestrel-basic-search-page.areg-search-mobile-map-active #content > article,
	body.areg-kestrel-basic-search-page.areg-search-mobile-map-active #content .post-content {
		overflow: visible !important;
	}
}


/* ================================================================
   Version 3.36.25: spacing exterior exclusivo del Organizer movil
   ================================================================ */
@media (max-width: 820px) {
	body.areg-kestrel-organizer-page {
		padding-top: 0 !important;
	}

	body.areg-kestrel-organizer-page #main {
		padding-top: 40px !important;
	}
}
