/* ===========================================================
   ESTILOS AISLADOS PARA MLS CARDS
   =========================================================== */
	 :root {

		/* Fondos */
		--color-white: #ffffff;
		/* Grises */
		--color-grey-extra-soft: #f7f8fa;
		--color-grey-soft: #eff1f5;
		--color-grey-medium: #d6d6d6;
		--color-grey-hard: #afafaf;
		--color-grey-extra-hard: #63666b;
	
		/* Bordes */
		--color-border: #1b1b1b;
		/* Único borde necesario */
	
		/* Texto */
		--color-text: #212121;
		/* Texto con tono suave */
		--color-text-light: #21212196;
		/* Texto principal */
		--color-text-muted: #999999;
		/* Texto secundario */
		--color-text-hard: #030303;
		/* Títulos o textos de alto contraste */
	
	
		/* 🆕 COLORES SECUNDARIOS EXPANDIDOS */
		--detail-warning-color: #ffc107;
		--detail-danger-color: #dc3545;
		--detail-info-color: #17a2b8;
		--detail-gloho-bg: #011e60;
		--error-color: #a33;
	
		/* Espaciado EXISTENTE - MANTENIDO */
		--spacing-0: 0;
		--spacing-4: 4px;
		--spacing-8: 8px;
		--spacing-12: 12px;
		--spacing-16: 16px;
		--spacing-20: 20px;
		--spacing-24: 24px;
		--spacing-32: 32px;
		--spacing-40: 40px;
		--spacing-48: 48px;
	
		/* Tipografía EXISTENTE - MANTENIDO */
		--detail-font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
		--titles-font-family: 'Cormorant Infant', 'Georgia', 'Times New Roman', Times, serif;
	
		--detail-font-size-xs: 0.625rem;
		/*10px*/
		--detail-font-size-sm: 0.75rem;
		/*12px*/
		--detail-font-size-base: 0.875rem;
		/*14px*/
		--detail-font-size-lg: 1.063rem;
		/*17px*/
		--detail-font-size-xl: 1.313rem;
		/*21px*/
		--detail-font-size-xxl: 2rem;
		/*32px*/
		--detail-font-size-xxxl: 2.5;
		/*40px*/
	
		/* Sombras y transiciones EXISTENTES - MANTENIDO */
		--detail-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
		--detail-transition: all 0.3s ease;
	
		/* 🆕 SOMBRAS EXPANDIDAS */
		--detail-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.1);
		--detail-shadow-lg: 0 4px 16px rgba(0, 0, 0, 0.15);
		--detail-shadow-xl: 0 6px 24px rgba(0, 0, 0, 0.2);
	
		/* 🆕 TRANSICIONES EXPANDIDAS */
		--detail-transition-fast: all 0.15s ease;
		--detail-transition-slow: all 0.5s ease;
	}
	
	/* ========================================================
		 COMPATIBILIDAD CON BOOTSTRAP EXISTENTE - MANTENIDO
		 ======================================================== */
	
	.mls-detail-container .h1,
	.container-iframe-data .h1,
	.mls-detail-container .h2,
	.container-iframe-data .h2,
	.mls-detail-container .h3,
	.container-iframe-data .h3,
	.mls-detail-container .h4,
	.container-iframe-data .h4,
	.mls-detail-container .h5,
	.container-iframe-data .h5,
	.mls-detail-container .h6,
	.container-iframe-data .h6,
	.mls-detail-container h1,
	.container-iframe-data h1,
	.mls-detail-container h2,
	.container-iframe-data h2,
	.mls-detail-container h3,
	.container-iframe-data h3,
	/* .mls-detail-container h4, */
	.container-iframe-data h4,
	.mls-detail-container h5,
	.container-iframe-data h5,
	.mls-detail-container h6,
	.container-iframe-data h6 {
		font-family: var(--detail-font-family);
		line-height: 1.3;
		font-weight: 600;
	}
	
	.mls-detail-container h4 {
		font-weight: 400;
	}
	
	button:focus {
		outline: none;
	}
	
	.mls-text-muted {
		color: var(--color-text-muted);
	}
	
	/* Para elementos que puedan tener clases Bootstrap residuales */
	.mb-1,
	.mb-3,
	.mb-4 {
		margin-bottom: var(--spacing-16) !important;
	}
	
	.mt-2 {
		margin-top: var(--spacing-8) !important;
	}
	
	.mt-3 {
		margin-top: var(--spacing-16) !important;
	}
	
	.text-muted {
		color: var(--color-text-muted) !important;
	}
	
	.fw-bold {
		font-weight: 600 !important;
	}
	
	.small {
		font-size: var(--detail-font-size-sm) !important;
	}
	
	/* CLASES PERSONALIZADAS EXISTENTES - MANTENIDO */
	.primary-background-color {
		background-color: var(--color-grey-medium);
	}
	
	.primary-background-color * {
		color: var(--color-text) !important;
	}
	
	.color-white {
		color: var(--color-text-color) !important;
	}
	
	/* ========================================================
		 🆕 UTILIDADES EXPANDIDAS - NUEVAS
		 ========================================================== */
	
	/* 🎨 COLORES Y FONDOS EXPANDIDOS */
	.text-primary {
		color: var(--color-text) !important;
	}
	
	.text-secondary {
		color: var(--color-text-muted) !important;
	}
	
	.text-success {
		color: var(--color-text-hard) !important;
	}
	
	.text-warning {
		color: var(--detail-warning-color) !important;
	}
	
	.text-danger {
		color: var(--detail-danger-color) !important;
	}
	
	.text-info {
		color: var(--detail-info-color) !important;
	}
	
	.text-white {
		color: white !important;
	}
	
	.text-dark {
		color: var(--color-text) !important;
	}
	
	/* Fondos */
	.bg-primary {
		background-color: var(--color-text) !important;
		color: var(--color-text-color) !important;
	}
	
	.bg-primary * {
		color: var(--color-text-color) !important;
	}
	
	.bg-secondary {
		background-color: var(--color-grey-hard) !important;
	}
	
	.bg-success {
		background-color: var(--color-text-hard) !important;
		color: white !important;
	}
	
	.bg-warning {
		background-color: var(--detail-warning-color) !important;
		color: var(--color-text) !important;
	}
	
	.bg-danger {
		background-color: var(--detail-danger-color) !important;
		color: white !important;
	}
	
	.bg-info {
		background-color: var(--detail-info-color) !important;
		color: white !important;
	}
	
	.bg-light {
		background-color: var(--color-border) !important;
	}
	
	.bg-white {
		background-color: white !important;
	}
	
	.bg-transparent {
		background-color: transparent !important;
	}
	
	/* 📝 TIPOGRAFÍA EXPANDIDA */
	.text-left {
		text-align: left !important;
	}
	
	.text-center {
		text-align: center !important;
	}
	
	.text-right {
		text-align: right !important;
	}
	
	.text-justify {
		text-align: justify !important;
	}
	
	/* Tamaños de fuente EXPANDIDOS */
	.fs-xs {
		font-size: var(--detail-font-size-xs) !important;
	}
	
	.fs-sm {
		font-size: var(--detail-font-size-sm) !important;
	}
	
	.fs-base {
		font-size: var(--detail-font-size-base) !important;
	}
	
	.fs-lg {
		font-size: var(--detail-font-size-lg) !important;
	}
	
	.fs-xl {
		font-size: var(--detail-font-size-xl) !important;
	}
	
	.fs-xxl {
		font-size: var(--detail-font-size-xxl) !important;
	}
	
	.fs-xxxl {
		font-size: var(--detail-font-size-xxxl) !important;
	}
	
	/* Peso de fuente */
	.fw-light {
		font-weight: 300 !important;
	}
	
	.fw-normal {
		font-weight: 400 !important;
	}
	
	.fw-medium {
		font-weight: 500 !important;
	}
	
	.fw-semibold {
		font-weight: 500 !important;
	}
	
	.fw-black {
		font-weight: 900 !important;
	}
	
	/* Estilo y transformación de texto */
	.fst-normal {
		font-style: normal !important;
	}
	
	.fst-italic {
		font-style: italic !important;
	}
	
	.text-lowercase {
		text-transform: lowercase !important;
	}
	
	.text-uppercase {
		text-transform: uppercase !important;
	}
	
	.text-capitalize {
		text-transform: capitalize !important;
	}
	
	.text-decoration-none {
		text-decoration: none !important;
	}
	
	.text-decoration-underline {
		text-decoration: underline !important;
	}
	
	/* Altura de línea */
	.lh-1 {
		line-height: 1 !important;
	}
	
	.lh-sm {
		line-height: 1.25 !important;
	}
	
	.lh-base {
		line-height: 1.5 !important;
	}
	
	.lh-lg {
		line-height: 2 !important;
	}
	
	/* 📏 ESPACIADO EXPANDIDO - SISTEMA NUMERADO */
	
	/* Margins */
	.m-0 {
		margin: var(--spacing-0) !important;
	}
	
	.m-1 {
		margin: var(--spacing-4) !important;
	}
	
	.m-2 {
		margin: var(--spacing-8) !important;
	}
	
	.m-3 {
		margin: var(--spacing-12) !important;
	}
	
	.m-4 {
		margin: var(--spacing-16) !important;
	}
	
	.m-5 {
		margin: var(--spacing-20) !important;
	}
	
	.m-6 {
		margin: var(--spacing-24) !important;
	}
	
	.m-8 {
		margin: var(--spacing-32) !important;
	}
	
	.m-10 {
		margin: var(--spacing-40) !important;
	}
	
	.m-12 {
		margin: var(--spacing-48) !important;
	}
	
	.m-auto {
		margin: auto !important;
	}
	
	/* Margin Top */
	.mt-0 {
		margin-top: var(--spacing-0) !important;
	}
	
	.mt-1 {
		margin-top: var(--spacing-4) !important;
	}
	
	.mt-4 {
		margin-top: var(--spacing-16) !important;
	}
	
	.mt-5 {
		margin-top: var(--spacing-20) !important;
	}
	
	.mt-6 {
		margin-top: var(--spacing-24) !important;
	}
	
	.mt-8 {
		margin-top: var(--spacing-32) !important;
	}
	
	.mt-10 {
		margin-top: var(--spacing-40) !important;
	}
	
	.mt-12 {
		margin-top: var(--spacing-48) !important;
	}
	
	/* Margin Bottom */
	.mb-0 {
		margin-bottom: var(--spacing-0) !important;
	}
	
	.mb-2 {
		margin-bottom: var(--spacing-8) !important;
	}
	
	.mb-5 {
		margin-bottom: var(--spacing-20) !important;
	}
	
	.mb-6 {
		margin-bottom: var(--spacing-24) !important;
	}
	
	.mb-8 {
		margin-bottom: var(--spacing-32) !important;
	}
	
	.mb-10 {
		margin-bottom: var(--spacing-40) !important;
	}
	
	.mb-12 {
		margin-bottom: var(--spacing-48) !important;
	}
	
	/* Margin Left/Right (incluyendo versiones nuevas BS5) */
	.ml-0,
	.ms-0 {
		margin-left: var(--spacing-0) !important;
	}
	
	.ml-1,
	.ms-1 {
		margin-left: var(--spacing-4) !important;
	}
	
	.ml-2,
	.ms-2 {
		margin-left: var(--spacing-8) !important;
	}
	
	.ml-3,
	.ms-3 {
		margin-left: var(--spacing-12) !important;
	}
	
	.ml-4,
	.ms-4 {
		margin-left: var(--spacing-16) !important;
	}
	
	.ml-auto,
	.ms-auto {
		margin-left: auto !important;
	}
	
	.mr-0,
	.me-0 {
		margin-right: var(--spacing-0) !important;
	}
	
	.mr-1,
	.me-1 {
		margin-right: var(--spacing-4) !important;
	}
	
	.mr-2,
	.me-2 {
		margin-right: var(--spacing-8) !important;
	}
	
	.mr-3,
	.me-3 {
		margin-right: var(--spacing-12) !important;
	}
	
	.mr-4,
	.me-4 {
		margin-right: var(--spacing-16) !important;
	}
	
	.mr-auto,
	.me-auto {
		margin-right: auto !important;
	}
	
	/* Margins combinados */
	.mx-0 {
		margin-left: var(--spacing-0) !important;
		margin-right: var(--spacing-0) !important;
	}
	
	.mx-1 {
		margin-left: var(--spacing-4) !important;
		margin-right: var(--spacing-4) !important;
	}
	
	.mx-2 {
		margin-left: var(--spacing-8) !important;
		margin-right: var(--spacing-8) !important;
	}
	
	.mx-3 {
		margin-left: var(--spacing-12) !important;
		margin-right: var(--spacing-12) !important;
	}
	
	.mx-4 {
		margin-left: var(--spacing-16) !important;
		margin-right: var(--spacing-16) !important;
	}
	
	.mx-auto {
		margin-left: auto !important;
		margin-right: auto !important;
	}
	
	.my-0 {
		margin-top: var(--spacing-0) !important;
		margin-bottom: var(--spacing-0) !important;
	}
	
	.my-1 {
		margin-top: var(--spacing-4) !important;
		margin-bottom: var(--spacing-4) !important;
	}
	
	.my-2 {
		margin-top: var(--spacing-8) !important;
		margin-bottom: var(--spacing-8) !important;
	}
	
	.my-3 {
		margin-top: var(--spacing-12) !important;
		margin-bottom: var(--spacing-12) !important;
	}
	
	.my-4 {
		margin-top: var(--spacing-16) !important;
		margin-bottom: var(--spacing-16) !important;
	}
	
	/* Paddings */
	.p-0 {
		padding: var(--spacing-0) !important;
	}
	
	.p-1 {
		padding: var(--spacing-4) !important;
	}
	
	.p-2 {
		padding: var(--spacing-8) !important;
	}
	
	.p-3 {
		padding: var(--spacing-12) !important;
	}
	
	.p-4 {
		padding: var(--spacing-16) !important;
	}
	
	.p-5 {
		padding: var(--spacing-20) !important;
	}
	
	.p-6 {
		padding: var(--spacing-24) !important;
	}
	
	.p-8 {
		padding: var(--spacing-32) !important;
	}
	
	/* Padding específicos */
	.pt-0 {
		padding-top: var(--spacing-0) !important;
	}
	
	.pt-1 {
		padding-top: var(--spacing-4) !important;
	}
	
	.pt-2 {
		padding-top: var(--spacing-8) !important;
	}
	
	.pt-3 {
		padding-top: var(--spacing-12) !important;
	}
	
	.pt-4 {
		padding-top: var(--spacing-16) !important;
	}
	
	.pt-5 {
		padding-top: var(--spacing-20) !important;
	}
	
	.pt-6 {
		padding-top: var(--spacing-24) !important;
	}
	
	.pb-0 {
		padding-bottom: var(--spacing-0) !important;
	}
	
	.pb-1 {
		padding-bottom: var(--spacing-4) !important;
	}
	
	.pb-2 {
		padding-bottom: var(--spacing-8) !important;
	}
	
	.pb-3 {
		padding-bottom: var(--spacing-12) !important;
	}
	
	.pb-4 {
		padding-bottom: var(--spacing-16) !important;
	}
	
	.pb-5 {
		padding-bottom: var(--spacing-20) !important;
	}
	
	.pb-6 {
		padding-bottom: var(--spacing-24) !important;
	}
	
	.pl-0,
	.ps-0 {
		padding-left: var(--spacing-0) !important;
	}
	
	.pl-1,
	.ps-1 {
		padding-left: var(--spacing-4) !important;
	}
	
	.pl-2,
	.ps-2 {
		padding-left: var(--spacing-8) !important;
	}
	
	.pl-3,
	.ps-3 {
		padding-left: var(--spacing-12) !important;
	}
	
	.pl-4,
	.ps-4 {
		padding-left: var(--spacing-16) !important;
	}
	
	.pl-5,
	.ps-5 {
		padding-left: var(--spacing-20) !important;
	}
	
	.pr-0,
	.pe-0 {
		padding-right: var(--spacing-0) !important;
	}
	
	.pr-1,
	.pe-1 {
		padding-right: var(--spacing-4) !important;
	}
	
	.pr-2,
	.pe-2 {
		padding-right: var(--spacing-8) !important;
	}
	
	.pr-3,
	.pe-3 {
		padding-right: var(--spacing-12) !important;
	}
	
	.pr-4,
	.pe-4 {
		padding-right: var(--spacing-16) !important;
	}
	
	.pr-5,
	.pe-5 {
		padding-right: var(--spacing-20) !important;
	}
	
	/* Paddings combinados */
	.px-0 {
		padding-left: var(--spacing-0) !important;
		padding-right: var(--spacing-0) !important;
	}
	
	.px-1 {
		padding-left: var(--spacing-4) !important;
		padding-right: var(--spacing-4) !important;
	}
	
	.px-2 {
		padding-left: var(--spacing-8) !important;
		padding-right: var(--spacing-8) !important;
	}
	
	.px-3 {
		padding-left: var(--spacing-12) !important;
		padding-right: var(--spacing-12) !important;
	}
	
	.px-4 {
		padding-left: var(--spacing-16) !important;
		padding-right: var(--spacing-16) !important;
	}
	
	.px-5 {
		padding-left: var(--spacing-20) !important;
		padding-right: var(--spacing-20) !important;
	}
	
	.py-0 {
		padding-top: var(--spacing-0) !important;
		padding-bottom: var(--spacing-0) !important;
	}
	
	.py-1 {
		padding-top: var(--spacing-4) !important;
		padding-bottom: var(--spacing-4) !important;
	}
	
	.py-2 {
		padding-top: var(--spacing-8) !important;
		padding-bottom: var(--spacing-8) !important;
	}
	
	.py-3 {
		padding-top: var(--spacing-12) !important;
		padding-bottom: var(--spacing-12) !important;
	}
	
	.py-4 {
		padding-top: var(--spacing-16) !important;
		padding-bottom: var(--spacing-16) !important;
	}
	
	.py-5 {
		padding-top: var(--spacing-20) !important;
		padding-bottom: var(--spacing-20) !important;
	}
	
	
	@media (min-width: 768px) {
	
		.p-md-0 {
			padding: var(--spacing-0) !important;
		}
	
		.p-md-1 {
			padding: var(--spacing-4) !important;
		}
	
		.p-md-2 {
			padding: var(--spacing-8) !important;
		}
	
		.p-md-3 {
			padding: var(--spacing-12) !important;
		}
	
		.p-md-4 {
			padding: var(--spacing-16) !important;
		}
	
		.m-md-0 {
			margin: var(--spacing-0) !important;
		}
	
		.m-md-1 {
			margin: var(--spacing-4) !important;
		}
	
		.m-md-2 {
			margin: var(--spacing-8) !important;
		}
	
		.m-md-3 {
			margin: var(--spacing-12) !important;
		}
	
		.m-md-4 {
			margin: var(--spacing-16) !important;
		}
	
		.mt-md-0 {
			margin-top: var(--spacing-0) !important;
		}
	
		.mt-md-4 {
			margin-top: var(--spacing-16) !important;
		}
	
		.mb-md-0 {
			margin-bottom: var(--spacing-0) !important;
		}
	
		.mb-md-4 {
			margin-bottom: var(--spacing-16) !important;
		}
	
		.px-md-0 {
			padding-left: var(--spacing-0) !important;
			padding-right: var(--spacing-0) !important;
		}
	
		.py-md-4 {
			padding-top: var(--spacing-16) !important;
			padding-bottom: var(--spacing-16) !important;
		}
	
	}
	
	@media (min-width: 992px) {
	
		.p-lg-0 {
			padding: var(--spacing-0) !important;
		}
	
		.p-lg-4 {
			padding: var(--spacing-16) !important;
		}
	
		.p-lg-6 {
			padding: var(--spacing-24) !important;
		}
	
		.m-lg-0 {
			margin: var(--spacing-0) !important;
		}
	
		.m-lg-4 {
			margin: var(--spacing-16) !important;
		}
	
	}
	
	
	/* 📦 FLEXBOX Y LAYOUT */
	.d-none {
		display: none !important;
	}
	
	.d-block {
		display: block !important;
	}
	
	.d-inline {
		display: inline !important;
	}
	
	.d-inline-block {
		display: inline-block !important;
	}
	
	.d-flex {
		display: flex !important;
	}
	
	.d-inline-flex {
		display: inline-flex !important;
	}
	
	.d-grid {
		display: grid !important;
	}
	
	/* Flex Direction */
	.flex-row {
		flex-direction: row !important;
	}
	
	.flex-column {
		flex-direction: column !important;
	}
	
	.flex-row-reverse {
		flex-direction: row-reverse !important;
	}
	
	.flex-column-reverse {
		flex-direction: column-reverse !important;
	}
	
	/* Justify Content */
	.justify-content-start {
		justify-content: flex-start !important;
	}
	
	.justify-content-end {
		justify-content: flex-end !important;
	}
	
	.justify-content-center {
		justify-content: center !important;
	}
	
	.justify-content-between {
		justify-content: space-between !important;
	}
	
	.justify-content-around {
		justify-content: space-around !important;
	}
	
	.justify-content-evenly {
		justify-content: space-evenly !important;
	}
	
	/* Align Items */
	.align-items-start {
		align-items: flex-start !important;
	}
	
	.align-items-end {
		align-items: flex-end !important;
	}
	
	.align-items-center {
		align-items: center !important;
	}
	
	.align-items-baseline {
		align-items: baseline !important;
	}
	
	.align-items-stretch {
		align-items: stretch !important;
	}
	
	/* Flex Grow/Shrink */
	.flex-fill {
		flex: 1 1 auto !important;
	}
	
	.flex-grow-0 {
		flex-grow: 0 !important;
	}
	
	.flex-grow-1 {
		flex-grow: 1 !important;
	}
	
	.flex-shrink-0 {
		flex-shrink: 0 !important;
	}
	
	.flex-shrink-1 {
		flex-shrink: 1 !important;
	}
	
	/* Flex Wrap */
	.flex-wrap {
		flex-wrap: wrap !important;
	}
	
	.flex-nowrap {
		flex-wrap: nowrap !important;
	}
	
	/* Gap */
	.gap-0 {
		gap: var(--spacing-0) !important;
	}
	
	.gap-1 {
		gap: var(--spacing-4) !important;
	}
	
	.gap-2 {
		gap: var(--spacing-8) !important;
	}
	
	.gap-3 {
		gap: var(--spacing-12) !important;
	}
	
	.gap-4 {
		gap: var(--spacing-16) !important;
	}
	
	.gap-5 {
		gap: var(--spacing-20) !important;
	}
	
	.gap-6 {
		gap: var(--spacing-24) !important;
	}
	
	/* 🎨 BORDES Y EFECTOS */
	.border {
		border: 1px solid var(--color-border) !important;
	}
	
	.border-0 {
		border: 0 !important;
	}
	
	.border-top {
		border-top: 1px solid var(--color-border) !important;
	}
	
	.border-bottom {
		border-bottom: 1px solid var(--color-border) !important;
	}
	
	.border-left {
		border-left: 1px solid var(--color-border) !important;
	}
	
	.border-right {
		border-right: 1px solid var(--color-border) !important;
	}
	
	/* Border Colors */
	.border-primary {
		border-color: var(--color-text) !important;
	}
	
	.border-muted {
		border-color: var(--color-text-muted) !important;
	}
	
	/* Border Radius */
	.rounded {
		border-radius: 6px !important;
	}
	
	.rounded-0 {
		border-radius: 0 !important;
	}
	
	.rounded-sm {
		border-radius: 3px !important;
	}
	
	.rounded-lg {
		border-radius: 12px !important;
	}
	
	.rounded-circle {
		border-radius: 50% !important;
	}
	
	.rounded-pill {
		border-radius: 50rem !important;
	}
	
	/* Sombras EXPANDIDAS */
	.shadow {
		box-shadow: var(--detail-shadow) !important;
	}
	
	.shadow-sm {
		box-shadow: var(--detail-shadow-sm) !important;
	}
	
	.shadow-lg {
		box-shadow: var(--detail-shadow-lg) !important;
	}
	
	.shadow-xl {
		box-shadow: var(--detail-shadow-xl) !important;
	}
	
	.shadow-none {
		box-shadow: none !important;
	}
	
	/* 📐 DIMENSIONES */
	.w-25 {
		width: 25% !important;
	}
	
	.w-30 {
		width: 30% !important;
	}
	
	.w-40 {
		width: 40% !important;
	}
	
	.w-50 {
		width: 50% !important;
	}
	
	.w-75 {
		width: 75% !important;
	}
	
	.w-100 {
		width: 100% !important;
	}
	
	.w-auto {
		width: auto !important;
	}
	
	.h-25 {
		height: 25% !important;
	}
	
	.h-50 {
		height: 50% !important;
	}
	
	.h-75 {
		height: 75% !important;
	}
	
	.h-100 {
		height: 100% !important;
	}
	
	.h-auto {
		height: auto !important;
	}
	
	.mw-100 {
		max-width: 100% !important;
	}
	
	.mh-100 {
		max-height: 100% !important;
	}
	
	/* 🔧 POSITION Y OVERFLOW */
	.position-static {
		position: static !important;
	}
	
	.position-relative {
		position: relative !important;
	}
	
	.position-absolute {
		position: absolute !important;
	}
	
	.position-fixed {
		position: fixed !important;
	}
	
	.position-sticky {
		position: sticky !important;
	}
	
	.overflow-auto {
		overflow: auto !important;
	}
	
	.overflow-hidden {
		overflow: hidden !important;
	}
	
	.overflow-visible {
		overflow: visible !important;
	}
	
	.overflow-scroll {
		overflow: scroll !important;
	}
	
	/* 👆 CURSOR Y INTERACCIÓN */
	.cursor-pointer {
		cursor: pointer !important;
	}
	
	.cursor-default {
		cursor: default !important;
	}
	
	.cursor-not-allowed {
		cursor: not-allowed !important;
	}
	
	.user-select-none {
		user-select: none !important;
	}
	
	.user-select-auto {
		user-select: auto !important;
	}
	
	.user-select-all {
		user-select: all !important;
	}
	
	/* 🎯 CLASES ESPECÍFICAS PARA MLS */
	.status-active {
		background-color: var(--color-text-hard) !important;
		color: var(--color-white) !important;
	}
	
	.status-pending {
		background-color: var(--detail-warning-color) !important;
		color: var(--color-text) !important;
	}
	
	.status-sold {
		background-color: var(--detail-danger-color) !important;
		color: white !important;
	}
	
	
	/* Cards */
	.card {
		background: white;
		border-radius: var(--spacing-8);
		border: 1px solid var(--color-border);
		overflow: hidden;
	}
	
	.card-body {
		padding: var(--spacing-16);
	}
	
	/* Precio destacado */
	.price-highlight {
		font-size: var(--detail-font-size-xl) !important;
		font-weight: 900 !important;
		color: var(--color-text) !important;
	}
	
	/* Transiciones EXPANDIDAS */
	.transition {
		transition: var(--detail-transition) !important;
	}
	
	.transition-fast {
		transition: var(--detail-transition-fast) !important;
	}
	
	.transition-slow {
		transition: var(--detail-transition-slow) !important;
	}
	
	/* ===========================================================
			 CARD
			 =========================================================== */
	
	.mls-card,
	.info-window-map {
		overflow: hidden;
		text-decoration: none;
	}
	
	.mls-card,
	.info-window-map,
	.smart-infowindow-content {
		border-radius: var(--spacing-4);
		position: relative;
		color: var(--color-text);
		border: 1px solid rgba(0, 0, 0, 0.08);
		background: var(--color-white);
		transition: box-shadow 0.25s ease, transform 0.25s ease;
		box-shadow: 0px 3px 4px -1px #0000001a, 0px 2px 1px 0px #00000024, 0px -1px 1px 0 #0000000f;
	}
	
	.mls-card {
		display: flex;
		flex-direction: column;
		min-height: 300px;
		max-height: 300px;
		height: auto;
		max-width: 335px;
	}
	
	
	.mls-card:hover,
	.smart-infowindow-content:hover,
	.info-window-map:hover {
		box-shadow: 0px 2px 4px -1px #0003, 0px 4px 5px 0px #00000024, 0px 1px 10px 0px #0000001f;
		color: var(--color-text) !important;
	}
	
	/* Highlight para fichas seleccionadas desde InfoWindow */
	.mls-card.highlighted {
		border: 1px solid #303749 !important;
		box-shadow: 0 4px 12px #3037494d !important;
		transform: scale(1.02) !important;
		transition: all 0.3s ease !important;
	}
	
	/* Imagen principal */
	.mls-card-media {
		position: relative;
		/* aspect-ratio: 16/9; */
		background-color: var(--color-grey-soft);
		overflow: hidden;
	}
	
	.mls-card-media img {
		width: 100%;
		object-fit: cover;
		display: block;
	}
	
	.mls-card-media,
	.mls-card-media img {
		height: 200px;
	}
	
	.mls-card-badge {
		position: absolute;
		top: 4px;
		left: 4px;
		z-index: 10;
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 4px;
	}
	
	.mls-card-badge-item {
		max-width: 200px;
		padding: 4px 8px;
		border: none;
		background-color: var(--color-text-hard);
		border-radius: var(--spacing-4);
		color: var(--color-white);
		font-size: 10px;
		font-weight: 600;
		line-height: 10px;
		text-align: center;
		display: flex;
		align-items: center;
		justify-content: center;
		letter-spacing: 0;
	}
	
	.badge-tour-virtual {
		background-color: var(--detail-info-color);
	}
	
	.badge-standard-status {
		background-color: var(--color-grey-soft);
		color: var(--color-text-hard);
	}
	
	/* Contenido */
	.mls-card-body {
		flex: 1;
		/* padding: var(--spacing-16); */
		padding: 16px 8px 16px 16px;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
		font-size: 0.8rem;
		position: relative;
	}
	
	/* Header: precio + status */
	.mls-card-header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		position: relative;
	}
	
	.mls-card-price {
		font-size: 1.125rem;
		font-weight: 500;
		height: 23.4px;
	}
	
	.mls-card-price small {
		font-size: 10px;
	}
	
	.mls-card-status {
		background: var(--color-grey-hard);
		color: var(--color-text);
		font-size: 0.75rem;
		padding: 2px 8px;
		border-radius: var(--spacing-4);
	}
	
	/* ========================================================
		 MLS SHARE POPOVER - SISTEMA COMPLETO
		 ======================================================== */
	.mls-filters button.mls-card-share {
		display: flex;
		justify-content: center;
		align-items: center;
		/* gap: 4px; */
		background: transparent;
		border: none !important;
		border-radius: 50%;
		/* padding: 6px 10px; */
		font-size: var(--detail-font-size-sm);
		color: var(--color-text);
		cursor: pointer;
		transition: all 0.2s ease;
		height: 32px;
		width: 32px;
	}
	
	.mls-card-share:hover {
		background: var(--color-grey-soft);
	}
	
	.mls-card-share svg {
		flex-shrink: 0;
	}
	
	.mls-share-popover {
		position: absolute;
		bottom: 0;
		left: 0;
		background: var(--color-white);
		border: 1px solid var(--color-border);
		border-radius: var(--spacing-4);
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
		padding: 8px;
		z-index: 1060;
		min-width: 200px;
		max-width: 100%;
		width: 100%;
		margin-top: 0;
		animation: fadeIn 0.15s ease-out;
		display: none;
	}
	
	.mls-share-popover.active {
		display: block;
	}
	
	.mls-filters button.popover-close {
		height: 20px;
		width: 20px;
		border-radius: 50%;
		border: none !important;
	
	}
	
	@keyframes popoverFadeIn {
		from {
			opacity: 0;
			transform: translateY(-10px) scale(0.95);
		}
	
		to {
			opacity: 1;
			transform: translateY(0) scale(1);
		}
	}
	
	/* ========================================================
		 NOTIFICACIONES - SISTEMA COMPLETO
		 ======================================================== */
	
	.share-notification {
		position: fixed;
		bottom: 20px;
		left: 50%;
		transform: translateX(-50%);
		z-index: 9999;
		padding: 12px 20px;
		border-radius: 6px;
		color: white;
		font-weight: 500;
		font-size: 14px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
		animation: slideInUp 0.3s ease;
		white-space: nowrap;
	}
	
	.share-notification.success {
		background: #28a745;
	}
	
	.share-notification.success.link-copied {
		background: #05abb2;
	}
	
	.share-notification.error {
		background: #dc3545;
	}
	
	.share-notification.fade-out {
		animation: fadeOut 0.3s ease forwards;
	}
	
	@keyframes slideInUp {
		from {
			transform: translateX(-50%) translateY(100%);
			opacity: 0;
		}
	
		to {
			transform: translateX(-50%) translateY(0);
			opacity: 1;
		}
	}
	
	@keyframes fadeOut {
		to {
			opacity: 0;
			transform: translateX(-50%) translateY(100%);
		}
	}
	
	.popover-header {
		padding: 0;
		border-bottom: none;
		background: none;
		border-radius: var(--spacing-0);
		margin-bottom: 4px;
		display: flex;
		color: inherit;
		justify-content: space-between;
		align-items: center;
	}
	
	.popover-title {
		font-size: var(--detail-font-size-sm);
		font-weight: 600;
		/* color: var(--color-text); */
		padding: 0;
		margin: 0;
		background-color: transparent;
		border-bottom: none;
		border-radius: var(--spacing-0);
	}
	
	.popover-close {
		background: none;
		border: none;
		font-size: 16px;
		color: #999;
		cursor: pointer;
		padding: 0;
		width: 24px;
		height: 24px;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: var(--spacing-4);
		transition: all 0.2s ease;
	}
	
	.popover-close:hover {
		background: #e9ecef;
		color: var(--color-text);
	}
	
	.popover-content {
		padding: 0;
	}
	
	/* CSS MEJORADO PARA CENTRAR SVGs EN BOTONES CIRCULARES */
	
	.share-actions {
		display: flex;
		align-content: center;
		justify-content: space-between;
		gap: inherit;
	}
	
	.mls-filters button.share-btn {
		/* ✅ CENTRADO MEJORADO */
		position: relative;
	}
	
	.share-btn {
		background: none;
		border: none;
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
		transition: background 0.2s ease, opacity 0.2s ease;
		width: 42px !important;
		height: 42px !important;
		padding: 0;
		border-radius: 50%;
		font-size: 22px;
		color: #63666b;
	}
	
	.share-btn svg {
		/* ✅ CENTRADO PERFECTO */
		display: block;
		margin: auto;
		/* ✅ ASEGURAR DIMENSIONES CONSISTENTES */
		width: 24px !important;
		height: 24px !important;
		padding: 4px;
		/* ✅ CENTRADO ADICIONAL CON FLEXBOX */
		flex-shrink: 0;
	}
	
	.share-btn:hover {
		background-color: var(--color-grey-soft);
		opacity: 1;
	}
	
	.share-btn:active {
		transform: translateY(1px);
	}
	
	/* 🆕 ESTRUCTURA EN GRID DE 2 FILAS */
	.share-actions-grid {
		display: flex;
		flex-direction: column;
		gap: 8px;
		padding: 0;
	}
	
	
	/* DETAIL PAGE. El popover en detail hereda los estilos de .mls-share-popover
		 Solo ajustamos el ancho para que no sea 100% del nav-item */
	.detail-nav-item--share .mls-share-popover {
		position: absolute;
		top: calc(100% + 4px);
		width: 260px;
		min-width: 260px;
		height: max-content;
	}
	
	/* Info: beds, baths, Sq Ft */
	.mls-card-info {
		/* color: var(--color-text-muted); */
		color: var(--color-text);
		font-size: 0.75rem;
		font-weight: 500;
		/* padding: 0 16px; */
		height: 16.8px;
	}
	
	.bathroom-tooltip {
		position: relative;
	}
	
	.bathroom-tooltip:after {
		content: '';
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		width: 87%;
		height: .5px;
		display: block;
		background-color: var(--color-text) !important;
	}
	
	/* Dirección */
	.mls-card-address {
		/* font-size: var(--detail-font-size-xs); */
		font-size: 0.688rem;
		font-weight: 300;
		color: var(--color-text);
		letter-spacing: -0.001rem;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		margin-top: 4px;
		height: 15.41px;
	}
	
	/* Ciudad */
	.mls-card-city {
		/* color: var(--color-text-muted); */
		color: var(--color-text);
	}
	
	
	/* =====================================================
	🎯 SISTEMA DE ANUNCIOS - CSS BASE
	===================================================== */
	.mls-ad-card {
		/*display: none!important;  se desactiva para el MLS*/
		position: relative;
		transition: all 0.3s ease;
		cursor: pointer;
		border: none !important;
		background: var(--color-grey-soft) !important;
		color: var(--color-text) !important;
	}
	
	.mls-ad-card .mls-card-media {
		height: 100%;
	}
	
	.mls-ad-card .ad-content {
		width: 100%;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: var(--spacing-4);
		overflow: hidden;
	}
	
	/* 🎯 NAVEGACIÓN DE ANUNCIOS */
	.ad-navigation {
		position: absolute;
		bottom: 8px;
		right: 8px;
		display: flex;
		gap: 4px;
		z-index: 10;
	}
	
	.ad-nav-btn {
		width: 24px;
		height: 24px;
		padding: 0;
		background: rgba(255, 255, 255, 0.9);
		border-radius: 50%;
		padding: 4px;
	}
	
	.ad-nav-btn:hover {
		background: white;
		color: var(--color-border);
		transform: scale(1.1);
		box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
	}
	
	.ad-nav-btn:active {
		transform: scale(0.95);
	}
	
	.ad-nav-btn svg {
		border-radius: 50%;
	}
	
	/* 🎯 INDICADOR DE POSICIÓN DE ANUNCIOS */
	.ad-indicator {
		position: absolute;
		bottom: 8px;
		left: 8px;
		background: rgba(0, 0, 0, 0.7);
		color: white;
		padding: 4px 8px;
		border-radius: 12px;
		font-size: 11px;
		font-weight: bold;
		z-index: 10;
	}
	
	
	/* =====================================================
	Pager
	===================================================== */
	.mls-pager {
		margin: 0;
		display: flex;
		justify-content: center;
		gap: 6px;
		font-size: var(--detail-font-size-sm);
		position: static !important;
		z-index: auto !important;
		width: 100%;
		clear: both;
	}
	
	.mls-pager .mls-pager-button {
		width: 24px;
		height: 24px;
		/* padding: 6px 10px; */
		border: 1px solid var(--color-border);
		font-weight: 500;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	.mls-pager .mls-pager-button:first-child,
	.mls-pager .mls-pager-button:last-child {
		color: var(--color-text-hard);
		font-weight: 600;
	}
	
	.mls-pager .mls-pager-button[disabled] {
		opacity: .6;
		pointer-events: none;
	}
	
	.mls-pager .mls-pager-button:hover {
		background-color: var(--color-grey-soft) !important;
	}
	
	.mls-pager .mls-pager-more {
		/* padding: 6px 10px; */
		border: 1px solid var(--color-border);
		background: var(--color-white);
		cursor: pointer;
		display: none !important;
	}
	
	
	/* =====================================================
	INPUTS - SELECTS - DROPDOWNS
	===================================================== */
	
	/* Placeholder Compatibilidad con todos los navegadores */
	input::-webkit-input-placeholder {
		/* Chrome/Opera/Safari */
		color: #d0d6e2;
		font-size: 12px;
	}
	
	input::-moz-placeholder {
		/* Firefox 19+ */
		color: #d0d6e2;
		font-size: 12px;
	}
	
	input:-ms-input-placeholder {
		/* IE 10+ */
		color: #d0d6e2;
		font-size: 12px;
	}
	
	input:-moz-placeholder {
		/* Firefox 18- */
		color: #d0d6e2;
		font-size: 12px;
	}
	
	select {
		appearance: none;
		-webkit-appearance: none;
		-moz-appearance: none;
	
		/* Chevron hacia abajo - MÁS DELGADO */
		background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="%23666666" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>');
		background-repeat: no-repeat;
		background-position: right 8px center;
		background-size: 16px;
	
		/* Transición suave */
		transition: background-image 0.3s ease;
	}
	
	/* Cuando el select está abierto/activo, rotar el chevron */
	select:focus,
	select:active {
		/* Chevron hacia arriba */
		background-image: url('data:image/svg+xml;charset=UTF-8,<svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="%23666666" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="18 15 12 9 6 15"></polyline></svg>');
	}
	
	.custom-select-display,
	.price-range-display {
		display: flex;
		align-items: center;
		justify-content: space-between;
		cursor: pointer;
		user-select: none;
	}
	
	.price-range-display {
		width: 120px;
	}
	
	.keyword-display {
		width: 100px;
	}
	
	/* ========================================================
		 CUSTOM SELECT MEJORADO - ESTILO BOOTSTRAP SELECT
		 ======================================================== */
	
	.custom-select-wrapper {
		position: relative;
		display: inline-block;
		font-family: var(--detail-font-family);
		line-height: 100%;
	}
	
	.custom-select-display:hover {
		border-color: var(--color-grey-medium);
	}
	
	.custom-select-wrapper.mlsPropertyType .custom-select-display {
		max-width: 150px;
	}
	
	.custom-select-wrapper.mlsPropertyType .custom-select-display .selected-text {
		/* outline: solid 2px greenyellow; */
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
	}
	
	.custom-select-wrapper.custom-transaction-wrapper .custom-select-display {
		min-width: 180px !important;
	}
	
	.custom-select-wrapper.custom-transaction-wrapper .custom-select-display {}
	
	.custom-select-wrapper.mlsTransactionType .custom-select-display,
	.custom-select-wrapper.mlsTransactionType .custom-select-option {
		min-width: 120px !important;
	}
	
	.custom-select-wrapper.mlsBaths .custom-select-display,
	.custom-select-wrapper.mlsBeds .custom-select-display,
	.custom-select-wrapper.mlsBaths .custom-select-option,
	.custom-select-wrapper.mlsBeds .custom-select-option {
		width: 80px;
	}
	
	.custom-select-wrapper.open .custom-select-display {
		border-color: var(--color-text);
		border-bottom-left-radius: 0;
		border-bottom-right-radius: 0;
		/* box-shadow: 0 0 0 2px rgba(0, 123, 255, 0.25); */
	}
	
	.custom-select-text {
		flex: 1;
		font-size: var(--detail-font-size-sm);
		color: var(--color-text);
		width: 85px;
	}
	
	.mls-text-truncate,
	.custom-select-text,
	.price-range-text {
		white-space: nowrap;
		/* Prevents text from wrapping to the next line */
		overflow: hidden;
		/* Hides any content that overflows the element's box */
		text-overflow: ellipsis;
		/* Displays an ellipsis (...) to indicate truncated text */
	}
	
	.custom-select-wrapper.open .custom-select-dropdown {
		opacity: 1;
		transform: translateY(0);
		pointer-events: all;
		display: block;
		animation: dropdownFadeIn 0.15s ease;
		width: max-content;
	}
	
	@keyframes dropdownFadeIn {
		from {
			opacity: 0;
			transform: translateY(-5px);
		}
	
		to {
			opacity: 1;
			transform: translateY(0);
		}
	}
	
	.custom-select-icon {
		margin-left: 0;
		margin-right: 0;
		transition: transform 0.2s ease;
		width: 16px;
		height: 16px;
		flex-shrink: 0;
		color: var(--color-text-muted);
	}
	
	.custom-select-wrapper.open .custom-select-icon {
		transform: rotate(180deg);
	}
	
	.price-range-panel,
	.custom-select-dropdown {
		border: 1px solid var(--color-grey-hard);
		border-radius: var(--spacing-4);
		top: calc(100% + 8px);
	
	}
	
	.custom-select-dropdown {
		opacity: 0;
		transform: translateY(-5px);
		transition: all 0.2s;
		pointer-events: none;
		flex-direction: column;
		font-size: var(--detail-font-size-sm);
		position: absolute;
		left: 0;
		right: 0;
		background-color: var(--color-white);
		border-top: none;
		box-shadow: var(--detail-shadow);
		z-index: 1050;
		max-height: 300px;
		overflow: hidden;
		display: none;
	}
	
	
	/* ========================================================
		 CUSTOM SELECT MEJORADO - ESTILO BOOTSTRAP SELECT
		 ======================================================== */
	
	/* Buscador */
	.custom-select-search {
		padding: 8px;
		display: flex;
		align-items: center;
		gap: 8px;
		padding: 10px;
		border-bottom: 1px solid var(--color-border);
		flex-shrink: 0;
		background: var(--color-grey-soft);
	}
	
	
	.search-icon {
		color: var(--color-text-muted);
		margin-right: 8px;
		width: 16px;
		height: 16px;
		flex-shrink: 0;
		background-image: url(https://gloho.com/cdn/utilidades/search.svg);
		background-repeat: no-repeat;
		background-position: center;
	}
	
	.custom-select-search-input {
		flex: 1;
		border: none;
		outline: none;
		font-size: var(--detail-font-size-sm);
		padding: 4px;
		background: transparent;
	}
	
	.custom-select-options {
		max-height: 270px;
		overflow-y: auto;
		flex: 1;
	}
	
	
	/* ✅ NUEVO: Soporte para múltiples columnas */
	.custom-select-options.multi-column {
		display: grid;
		gap: 0;
	}
	
	
	.custom-select-option {
		transition: background-color 0.15s ease;
		display: flex !important;
		align-items: center;
		cursor: pointer;
	}
	
	
	.custom-select-option:last-child {
		border-bottom: none;
	}
	
	
	.custom-select-option:hover .option-main {
		position: relative;
	}
	
	.custom-select-option:hover .option-main:after,
	.transaction-sub-option:hover .sub-option-content:after {
		content: '';
		position: absolute;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		display: block;
		/* background-color: var(--color-grey-soft) !important; */
		background-color: #f7f8fa !important;
		z-index: -2;
	}
	
	/* Estructura de contenido de opción */
	.option-content {
		display: flex;
		align-items: center;
		width: 100%;
		position: relative;
	}
	
	
	.mls-filters input.custom-select-checkbox {
		appearance: none;
		padding: var(--spacing-4) !important;
		/* border: 1px solid var(--color-border); */
		background: white;
		cursor: pointer;
		transition: all 0.3s ease;
		position: absolute;
		z-index: -1;
		top: 11px;
		left: 8px;
	}
	
	.custom-select-checkbox:not(:checked) {
		background-image: none !important;
		background: white !important;
	}
	
	/* .custom-select-checkbox:checked { */
	/* height: 20px !important; */
	/* width: 20px !important; */
	/* padding: 0 !important; */
	/* border: 1px solid var(--color-border) !important; */
	/* background-color: var(--detail-gloho-bg); */
	/* background-color: var(--color-white); */
	/* overflow: hidden; */
	
	
	/* border: solid 1px violet; */
	/* } */
	
	.custom-select-checkbox:checked::after {
		content: '';
		position: absolute;
		left: 50%;
		top: 50%;
		transform: translate(-50%, -50%);
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='white' viewBox='0 0 16 16'%3E%3Cpath d='M13.854 3.646a.5.5 0 0 1 0 .708l-7 7a.5.5 0 0 1-.708 0l-3.5-3.5a.5.5 0 1 1 .708-.708L6.5 10.293l6.646-6.647a.5.5 0 0 1 .708 0z'/%3E%3C/svg%3E");
		background-position: center;
		background-repeat: no-repeat;
		background-size: 22px;
		pointer-events: none;
		background-color: var(--detail-gloho-bg) !important;
		border-radius: var(--spacing-4) !important;
	}
	
	.mls-filters input.custom-select-checkbox,
	.custom-select-checkbox:checked::after,
	.mls-filters input.custom-select-checkbox {
		height: 22px !important;
		width: 22px !important;
		border-radius: var(--spacing-4) !important;
	}
	
	/* ✅ NUEVO: Iconos */
	.option-icon-left {
		font-size: 16px;
		color: #666;
		min-width: 20px;
		text-align: center;
	}
	
	
	.option-icon-right {
		font-size: 16px;
		color: #666;
		margin-left: auto;
	}
	
	.option-main {
		flex: 1;
		display: flex;
		flex-direction: row;
		position: relative;
		widows: 100%;
		/* gap: 8px; */
		/* padding: 10px 12px; */
	}
	
	.option-text {
		font-size: var(--detail-font-size-sm);
		font-weight: 500;
		color: var(--color-text);
		line-height: 1.4;
		padding: 10px 12px;
		width: 100%;
		overflow: hidden;
		white-space: nowrap;
		text-overflow: ellipsis;
		position: relative;
	}
	
	.custom-select-dropdown-multiple .option-text,
	.sub-option-content .option-text {
		padding: 14px 12px 14px 40px;
	}
	
	/* ✅ NUEVO: Tick/check */
	.option-tick {
		color: #28a745;
		font-weight: bold;
		margin-left: auto;
		font-size: 14px;
	}
	
	.custom-select-option.selected .option-tick {
		display: inline-block;
	}
	
	.custom-select-no-results {
		padding: 12px;
		text-align: center;
		color: var(--color-text-muted);
		font-size: var(--detail-font-size-sm);
		font-style: italic;
	}
	
	
	/* Mensaje sin resultados */
	.custom-select-no-results {
		padding: 20px;
		text-align: center;
	}
	
	
	/* ✅ NUEVO: Estilos especiales para options con clases */
	.custom-select-option.special {
		background: linear-gradient(45deg, #f0f8ff, #e6f3ff);
		/* border-left: 3px solid #007bff; */
	}
	
	
	.custom-select-option.danger {
		background-color: #f8d7da;
		color: #721c24;
	}
	
	
	.custom-select-option.success {
		background-color: #d4edda;
		color: #155724;
	}
	
	
	.custom-select-option.warning {
		background-color: #fff3cd;
		color: #856404;
	}
	
	/* ✅ Estilos para múltiples selecciones */
	.custom-select-wrapper[data-multiple="true"] .custom-select-option.selected {
		background-color: #fff3cd;
		border-left: 3px solid #ffc107;
	}
	
	
	/* ✅ NUEVO: Scrollbar personalizado para las opciones */
	.custom-select-options::-webkit-scrollbar {
		width: 6px;
	}
	
	
	.custom-select-options::-webkit-scrollbar-track {
		background: var(--color-grey-soft);
		border-radius: 3px;
	}
	
	
	.custom-select-options::-webkit-scrollbar-thumb {
		background: #ccc;
		border-radius: 3px;
	}
	
	
	.custom-select-options::-webkit-scrollbar-thumb:hover {
		background: #a8a8a8;
	}
	
	
	/* Ocultar select original */
	/* .mlsPropertyType, */
	.custom-select-trigger {
		display: none !important;
	}
	
	
	/* 🆕 CUSTOM TRANSACTION SELECT STYLES */
	.custom-transaction-wrapper {
		position: relative;
		display: inline-block;
	}
	
	.custom-transaction-dropdown {
		min-width: 170px;
		overflow: hidden;
	}
	
	.transaction-title {
		padding: 8px 12px;
		font-weight: 600;
		/* background: #f8f9fa; */
		background-color: var(--color-grey-soft);
		/* border-bottom: 1px solid #e5e7eb; */
		border-bottom: 1px solid var(--color-border);
		cursor: default;
		color: var(--color-text);
		transition: all 0.2s ease;
	}
	
	.transaction-title.mls-transaction-active {
		/* background: #dbeafe; */
		background-color: var(--color-grey-soft);
		/* color: #1d4ed8; */
		color: var(--color-text-hard);
		/* border-left: 3px solid #3b82f6; */
		border-left: 3px solid var(--color-text-hard);
		font-weight: 700;
	}
	
	.transaction-sub-option {
		cursor: pointer;
		/* border-bottom: 1px solid var(--color-border); */
		transition: all 0.2s ease;
	}
	
	.sub-option-content {
		display: flex;
		align-items: center;
		gap: 8px;
		position: relative;
	}
	
	.sub-option-content .custom-select-checkbox {
		margin: 0;
		flex-shrink: 0;
	}
	
	.sub-option-content .option-text {
		flex: 1;
	}
	
	.custom-select-wrapper.custom-transaction-wrapper .custom-select-display {
		justify-content: space-between;
	}
	
	.custom-transaction-wrapper .custom-select-display .selected-text {
		letter-spacing: 1px;
	}
	
	.custom-transaction-wrapper .custom-select-display .selected-text small {
		font-size: 10px;
		font-weight: normal;
		opacity: 0.9;
		margin-left: 2px;
		letter-spacing: 0px;
		display: inline-block;
		max-width: 80px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		height: 15px;
		/* background: yellow; */
		margin-bottom: -5px;
		margin-top: -1px;
	
	
	}
	
	/* 🆕 ACORDEÓN STYLES PARA TRANSACTION SELECT */
	.transaction-accordion-header {
		padding: 12px 16px;
		background-color: var(--color-grey-medium);
		cursor: pointer;
		display: flex;
		justify-content: space-between;
		align-items: center;
		transition: all 0.3s ease;
		user-select: none;
	}
	
	/* ✅ Border bottom al primer botón (For Sale) */
	.custom-select-options .transaction-accordion-header:first-child.active {
		border-top: 1px solid var(--color-grey-soft) !important;
	}
	
	/* ✅ Border top al resto de botones (For Rent, etc.) */
	.custom-select-options .transaction-accordion-header:not(:first-child).active {
		border-top: 1px solid var(--color-grey-soft) !important;
	}
	
	.transaction-accordion-header:hover {
		background-color: var(--color-grey-soft);
	}
	
	.transaction-accordion-header.active {
		background-color: var(--color-grey-medium);
		color: var(--color-text-hard);
		/* box-shadow: inset 3px 0 0 var(--color-text-hard); */
	}
	
	.accordion-title {
		font-weight: 600;
		font-size: 14px;
	}
	
	.accordion-chevron {
		transition: transform 0.3s ease;
		color: #6b7280;
	}
	
	.transaction-accordion-header.active .accordion-chevron {
		transform: rotate(180deg);
		/* color: #1d4ed8; */
		color: var(--color-text-hard);
	}
	
	.transaction-accordion-content {
		max-height: 0;
		overflow: hidden;
		transition: max-height 0.3s ease, opacity 0.3s ease;
		opacity: 0;
	}
	
	/* 
	.transaction-accordion-content.expanded {
		max-height: 140px;
	} */
	.transaction-accordion-content.expanded {
		max-height: 200px;
		/* Más espacio */
		opacity: 1;
	}
	
	/* ✅ SAFARI FIX: Forzar re-render */
	@supports (-webkit-appearance: none) {
		.transaction-accordion-content.expanded {
			transform: translateZ(0);
			will-change: max-height, opacity;
		}
	}
	
	
	/* .mlsPropertyType .transaction-accordion-content.expanded {
		max-height: 180px;
	} */
	.mlsPropertyType .transaction-accordion-content.expanded {
		max-height: 250px;
		/* Más espacio para Safari */
		opacity: 1;
	}
	
	.mlsPropertyType .custom-select-options {
		max-height: 270px;
		/* height: 267px; */
		overflow-y: hidden;
	}
	
	.clean-dropdown-btn {
		background: var(--color-grey-extra-soft);
		border: none;
		border-radius: 50%;
		width: 20px;
		height: 20px;
		cursor: pointer;
		font-size: 12px;
		margin-left: 8px;
	}
	
	/* ===================================================== */
	/* ANIMACIONES PARA MENSAJES DE LÍMITE DE SELECCIÓN      */
	/* ===================================================== */
	
	@keyframes slideInDown {
		from {
			opacity: 0;
			transform: translateY(-10px);
		}
	
		to {
			opacity: 1;
			transform: translateY(0);
		}
	}
	
	@keyframes fadeOut {
		from {
			opacity: 1;
		}
	
		to {
			opacity: 0;
		}
	}
	
	.selection-limit-message {
		position: absolute;
		top: 3px;
		left: 0;
		right: 0;
		background: #ffffff;
		/* color: white; */
		padding: 9px 12px;
		border-radius: var(--spacing-8);
		font-size: 10px;
		font-weight: 400;
		z-index: 1051;
		margin: 0 auto;
		text-align: center;
		/* box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); */
		animation: slideInDown 0.3s ease;
		width: 95%;
	}
	
	/* Para mantener el mensaje visible cuando el dropdown está abierto */
	.custom-select-wrapper.open .selection-limit-message {
		z-index: 1051;
		/* Mayor que el dropdown */
	}
	
	
	/* FIN SELECTS */
	
	
	/* ✅ Badge support en data-content */
	.option-main .badge {
		display: inline-block;
		padding: 0.25em 0.5em;
		font-size: 0.75em;
		font-weight: 700;
		line-height: 1;
		text-align: center;
		white-space: nowrap;
		vertical-align: baseline;
		border-radius: 0.25rem;
	}
	
	
	.badge-success {
		color: var(--color-white);
		background-color: #28a745;
	}
	
	
	.badge-primary {
		color: var(--color-white);
		background-color: #007bff;
	}
	
	
	.badge-warning {
		color: #212529;
		background-color: #ffc107;
	}
	
	
	.badge-danger {
		color: var(--color-white);
		background-color: #dc3545;
	}
	
	
	.badge-info {
		color: var(--color-white);
		background-color: #17a2b8;
	}
	
	
	/* Price Range Dropdown - Panel Expandido */
	.price-range-dropdown {
		position: relative;
	}
	
	.price-range-dropdown.open .price-range-display {
		border-color: var(--color-text);
	}
	
	.price-range-display .custom-select-icon {
		width: 16px;
		height: 16px;
		transition: transform 0.2s;
		flex-shrink: 0;
	}
	
	.price-range-dropdown.open .custom-select-icon {
		transform: rotate(180deg);
	}
	
	.price-range-panel {
		position: absolute;
		left: 0;
		background: var(--color-white);
		box-shadow: var(--detail-shadow);
		padding: 8px;
		z-index: 1000;
		opacity: 0;
		transform: translateY(-5px);
		transition: all 0.2s;
		pointer-events: none;
		box-sizing: border-box;
		/* min-width: 320px; */
	}
	
	/* POSICIONAMIENTO INTELIGENTE - DERECHA A IZQUIERDA */
	.price-range-dropdown.dropdown-right .price-range-panel {
		left: auto;
		right: 0;
	}
	
	/* Para otros tipos de dropdown si los hay */
	.custom-select-wrapper.dropdown-right .custom-select-dropdown {
		left: auto;
		right: 0;
	}
	
	.custom-transaction-wrapper.dropdown-right .custom-transaction-dropdown {
		left: auto;
		right: 0;
	}
	
	.price-range-panel input {
		min-width: 180px;
	}
	
	.price-range-panel input.mlsKeyword {
		min-width: 275px;
		padding-right: 24px;
	}
	
	/* priceRangeDropdown */
	.searchKeywordDropdown.price-range-panel input {
		min-width: 250px;
	}
	
	.price-range-dropdown.open .price-range-panel {
		opacity: 1;
		transform: translateY(0);
		pointer-events: all;
	}
	
	.price-inputs {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 8px;
	}
	
	.price-input-group {
		display: flex;
		flex-direction: column;
		gap: 2px;
	}
	
	.price-input-group label {
		font-size: 12px;
		color: var(--color-text);
		margin-bottom: 0;
	}
	
	.input-with-currency {
		position: relative;
		display: flex;
		align-items: center;
	}
	
	.currency-symbol {
		position: absolute;
		z-index: 1;
		left: 10px;
		color: var(--color-text);
		pointer-events: none;
	}
	
	.price-input {
		width: 100%;
		padding: 8px 10px 8px 24px !important;
		border: 1px solid var(--color-border) !important;
		outline: none;
		box-sizing: border-box;
	}
	
	.price-input:focus {
		border-color: var(--color-text);
	}
	
	/* END Price Range */
	
	
	/* ------------- default grid ------------- */
	
	.container-iframe-data {
		position: relative;
		display: flex;
		flex-direction: column;
		height: 100%;
		overflow: hidden;
		box-sizing: border-box;
	}
	
	#mlsWrapper {
		display: flex;
		flex-wrap: nowrap;
		flex: 1;
		transition: all 0.6s ease;
		/* Ocupa el espacio restante después de los filtros */
		overflow: hidden;
	}
	
	/* Desktop: 7/12 = 58.33% */
	.side-left {
		width: 58.33%;
		display: flex;
		flex-direction: column;
		overflow: hidden;
		box-sizing: border-box;
		transition: all 0.6s ease;
	}
	
	/* Desktop: 5/12 = 41.67% */
	.side-right {
		/* width: 41.67%; */
		width: 793px;
		display: flex;
		flex-direction: column;
		box-sizing: border-box;
		overflow: hidden;
		transition: all 0.6s ease;
		opacity: 1;
		transform: translateX(0);
	
		height: calc(90vh - 73px);
	}
	
	
	/* ===========================================================
			 Ajuste dinámico de columnas según estado del mapa
			 =========================================================== */
	
	/* 🔹 Modo MAP (mapa visible): 2 columnas */
	#mlsWrapper #inmueblesContainer,
	#mlsWrapper #mlsGrid {
		grid-template-columns: repeat(auto-fit, minmax(235px, 1fr));
	}
	
	/* 🔹 Modo LIST (mapa oculto): 4 columnas */
	#mlsWrapper.no-map #inmueblesContainer,
	#mlsWrapper.no-map #mlsGrid {
		grid-template-columns: repeat(auto-fit, minmax(290px, 1fr));
	}
	
	
	/* ==========================
	Toggle Animación List / Map
	========================== */
	
	
	/* Modo LIST — mapa oculto */
	.no-map .side-right {
		width: 100%;
	}
	
	/* Cuando el mapa está oculto, el listado se expande */
	.no-map .side-left {
		opacity: 0;
		transform: translateX(-100%);
		width: 0;
		pointer-events: none;
	}
	
	/* Map Spinner */
	.mapSpinner,
	#mapSpinner {
		position: absolute;
		top: 16px;
		right: 16px;
		z-index: 0;
		padding: 2px;
		text-align: center;
		opacity: 0;
	}
	
	.mapSpinner-img,
	.mini-spinner .mapSpinner-img {
		width: 20px;
		height: 20px;
		display: block;
		margin: 0 auto;
	}
	
	.mini-spinner {
		display: inline-block;
		vertical-align: middle;
		margin-top: -4px;
	}
	
	.mapSpinner-text {
		color: var(--color-text);
		font-size: 10px;
		font-weight: 500;
	}
	
	/* #mlsGrid tiene scroll independiente */
	.mlsGrid-container {
		overflow-y: auto;
		overflow-x: hidden;
		flex: 1;
	}
	
	/* CLUSTERS DEL MAPA */
	.cluster>div>span {
		letter-spacing: -0.031rem;
	}
	
	
	#inmueblesContainer,
	#mlsGrid {
		transition: grid-template-columns 0.35s ease;
		flex: 1;
		/* Ocupa el espacio restante */
		display: grid;
		gap: var(--spacing-24);
		padding: var(--spacing-24);
		/* Espacio para scrollbar */
		align-items: stretch;
		box-sizing: border-box;
	}
	
	/* Mapa ocupa todo el espacio disponible */
	.mls-map {
		flex: 1;
		min-height: 400px;
		width: 100% !important;
		height: auto !important;
		border-radius: 0 !important;
	}
	
	.mls-map img {
		filter: saturate(1);
	}
	
	/* Scrollbar personalizado para el grid */
	#mlsGrid::-webkit-scrollbar {
		width: 8px;
	}
	
	#mlsGrid::-webkit-scrollbar-track {
		background: var(--color-grey-soft);
		border-radius: var(--spacing-4);
	}
	
	#mlsGrid::-webkit-scrollbar-thumb {
		background: #c1c1c1;
		border-radius: var(--spacing-4);
	}
	
	#mlsGrid::-webkit-scrollbar-thumb:hover {
		background: #a8a8a8;
	}
	
	/* .title-strip permanece fijo arriba */
	.title-strip {
		flex-shrink: 0;
		padding: 8px 25px;
		font-size: var(--detail-font-size-sm);
		/* background: var(--color-white); */
		/* border-bottom: solid 1px var(--color-grey-medium); */
		display: flex;
		align-items: center;
		justify-content: space-between;
		position: relative;
	}
	
	
	.title-strip:after {
		content: "";
		background-color: var(--color-grey-medium);
		width: calc(100% - 48px);
		height: 1px;
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		margin: 0 auto;
	}
	
	.title-strip-left {
		display: flex;
		align-items: center;
		justify-content: start;
		gap: 16px;
	}
	
	
	.resultsCounter {
		margin-bottom: 0;
	}
	
	
	.mls-filters {
		height: 74px;
		border-bottom: solid 1px var(--color-grey-medium);
		/* box-shadow:
		0px 0px 0px transparent,
		0px 0px 0px transparent,
		0px 8px 8px -8px #3227443d; */
		z-index: 1;
		position: relative;
		/* ← Cambiar de fixed a relative */
		width: 100%;
		background-color: var(--color-grey-soft);
		flex-shrink: 0;
		/* No se reduce */
		box-sizing: border-box;
		position: fixed !important;
	}
	
	.mls-results-wrapper {
		margin-top: 74px;
	}
	
	.mls-filters .container,
	.mls-detail-container .header-content .container {
		flex-direction: row;
	}
	
	.mls-detail-container .container {
		flex-direction: column;
		font-size: 0.75rem !important;
	}
	
	.mls-filters .container,
	.mls-detail-container .container {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 100%;
		max-width: 1350px;
	}
	
	.multi-places-wrap,
	.custom-select-display,
	.price-range-dropdown,
	.mls-filters input,
	.mls-filters select,
	.mls-filters button {
		border: 1px solid var(--color-border) !important;
		background: var(--color-white);
		font-size: var(--detail-font-size-sm) !important;
		font-weight: 500;
		height: 40px;
		width: auto;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0 8px;
		color: var(--color-text);
		border-radius: var(--spacing-4);
	}
	
	.mls-filters .chips-popover button[type="button"].custom-close-btn {
		/* border: 1px solid var(--color-grey-hard) !important; */
	}
	
	/* Input normal (mlsKeyword) */
	.mls-filters input:is(:focus, :active),
	.custom-select-wrapper.open,
	.price-range-dropdown.open,
	.multi-places-wrap:focus-within {
		box-shadow: 0px 0px 0px 2px #0303033d;
		border-radius: var(--spacing-4);
	}
	
	/* 🆕 Contenedor dropdown (mlsOmniSearch) */
	.mls-filters .multi-places-wrap input:is(:focus, :active) {
		box-shadow: none;
	}
	
	.mls-filters input#mlsOmniSearch {
		height: 38px;
	}
	
	.mls-filters input#mlsOmniSearch,
	.mls-filters input#mlsOmniSearch:is(:focus, :active) {
		border-color: transparent !important;
	}
	
	
	.mls-filters .container {
		display: flex;
		justify-content: space-between;
		padding-left: 0;
		padding-right: 0;
	}
	
	.mls-filters .container>div>div {
		gap: 8px;
	}
	
	.mls-filters button#toggleMapBtn {
		min-width: 42px;
	}
	
	
	/* ========================================================
		 🆕 MULTI-LOCATION CHIPS CON POPOVER
		 ======================================================== */
	
	/* Wrapper principal */
	.multi-places-wrap {
		width: 400px;
		max-width: 400px;
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		padding: 0;
		white-space: nowrap;
		/* NO SALTO GLOBAL */
	}
	
	/* Input dentro del wrapper */
	.multi-places-wrap input {
		/* border: none; */
		border: 1px solid transparent;
		height: 38px;
		flex: 1 1 20px;
		min-width: 20px;
		width: 20px;
		outline: none;
		padding: 0 8px;
		font-size: 14px;
		background: transparent;
		box-sizing: border-box;
		overflow: hidden;
		flex-shrink: 1 !important;
		/* SOLO INPUT SE ENCOGE */
	}
	
	/* .multi-places-wrap input:active,
	.multi-places-wrap input:focus {
		border-color: var(--color-text) !important;
	} */
	
	.multi-places-wrap input::placeholder {
		color: #9ca3af;
	}
	
	.multi-places-wrap>* {
		flex-shrink: 0;
		/* ELEMENTOS NO SE ENCOGEN */
	}
	
	
	/* Contenedor de chips */
	.chips {
		display: flex;
		gap: 4px;
	}
	
	/* Estilos base del chip */
	.chip {
		display: inline-flex;
		align-items: center;
		gap: 4px;
		background: #f2f4f7;
		border: 1px solid var(--color-grey-hard);
		border-radius: 999px;
		padding: 0 8px;
		font-size: 12px;
		color: var(--color-text);
		flex-shrink: 0;
		white-space: nowrap;
	}
	
	.chips-popover .chip {
		padding: 0 0 0 8px;
	}
	
	.chip>span {
		max-width: 230px;
		display: inline-block;
		/* NECESARIO para que text-overflow funcione */
		white-space: nowrap;
		/* evita que el texto haga salto de línea */
		overflow: hidden;
		/* oculta lo que sobresale */
		text-overflow: ellipsis;
	
	}
	
	.chips .chip:first-child {
		margin-left: 8px;
	}
	
	/* Chip "more" específico */
	.chip-more {
		background: #f2f4f7;
		color: #6b7280;
		cursor: pointer;
		transition: all 0.2s ease;
		font-weight: 500;
	}
	
	.chip-more:hover {
		background: #e5e7eb;
		border-color: #9ca3af;
	}
	
	/* Botón de cerrar en chips */
	.custom-close-btn {
		display: flex;
		align-items: center;
		justify-content: center;
		border: none;
		background: none;
		color: #6b7280;
		cursor: pointer;
		padding: 2px;
		border-radius: 50%;
		transition: all 0.2s ease;
		width: 16px;
		height: 16px;
	}
	
	.custom-close-btn:hover {
		background: rgba(107, 114, 128, 0.1);
		color: #374151;
	}
	
	.custom-close-btn svg {
		width: 10px;
		height: 10px;
	}
	
	.chip button {
		border: 0;
		background: transparent;
		cursor: pointer;
		color: var(--color-text);
		height: auto;
		padding: 0;
		border: none !important;
	}
	
	
	/* Popover de chips */
	.chips-popover {
		position: absolute;
		top: 100%;
		left: 0;
		background: var(--color-white);
		border: 1px solid var(--color-border);
		border-radius: var(--spacing-8);
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
		padding: 8px 24px 8px 8px;
		display: none;
		z-index: 1000;
		min-width: 200px;
		max-width: 300px;
		margin-top: 4px;
		animation: fadeIn 0.15s ease-out;
		display: flex;
		gap: 8px;
		flex-wrap: wrap;
	}
	
	
	@keyframes fadeIn {
		from {
			opacity: 0;
			transform: translateY(-4px);
		}
	
		to {
			opacity: 1;
			transform: translateY(0);
		}
	}
	
	/* ✕ Estilos para el botón de cerrar */
	.mls-filters button.popover-close-btn {
		transition: all 0.2s ease !important;
		position: absolute;
		top: 4px;
		right: 4px;
		width: 16px;
		height: 16px;
		border: none;
		background: #f3f4f6;
		border-radius: 50%;
		color: #6b7280;
		font-size: 12px;
		font-weight: bold;
		cursor: pointer;
		display: flex;
		align-items: center;
		justify-content: center;
		z-index: 10;
	}
	
	.popover-close-btn:hover {
		transform: scale(1.1) !important;
	}
	
	/* Botón "Eliminar todos" en popover */
	.chips-popover button[type="button"]:last-child {
		width: auto;
		height: 20px;
		padding: 0 8px;
		border-radius: 16px;
	}
	
	.chips-popover button[type="button"]:last-child:hover {
		background: #f9fafb;
		border-color: #9ca3af;
	}
	
	
	/* Chips de sugerencias de barrios */
	.sugest-locations {
		padding: 17px 8px;
		font-size: 12px;
		display: flex;
		position: relative;
		clip-path: inset(0);
		z-index: 2;
		flex-shrink: 0;
	}
	
	.sugest-locations {
		pointer-events: none;
	}
	
	.sugest-locations .suggestion-chips,
	.sugest-locations .chip,
	.sugest-locations .sugest-title {
		pointer-events: auto;
	}
	
	.suggestion-chips {
		display: flex;
		gap: 4px;
		flex-wrap: nowrap;
		overflow-x: auto;
		overflow-y: hidden;
		/* Ocultar barra en navegadores WebKit (Chrome, Safari, Edge) */
		scrollbar-width: none;
		/* Firefox */
		-ms-overflow-style: none;
		/* IE y Edge antiguo */
		position: relative;
		width: 100%;
		padding-right: 24px;
	}
	
	.suggestion-chips-fade {
		position: absolute;
		top: 0;
		right: 0;
		height: 100%;
		width: 40px;
		background: linear-gradient(to right, transparent, white 70%);
		pointer-events: none;
		z-index: 0;
		flex-shrink: 0;
	}
	
	/* Ocultar barra en WebKit browsers */
	.suggestion-chips::-webkit-scrollbar {
		display: none;
		height: 0;
	}
	
	.suggestion-chip {
		background: #f8f9fb !important;
		border: 1px solid var(--color-grey-hard) !important;
		color: #6b7280 !important;
		font-weight: 400;
		font-size: 10px;
		/* padding-right: 32px; */
	}
	
	.suggestion-chip:hover {
		background: #d1e9f8 !important;
		border-color: #1565c0 !important;
	}
	
	
	/* =======================
		 Toggle Switch List / Map
		 ======================= */
	.toggle-switch {
		position: relative;
		display: inline-flex;
		align-items: center;
		border-radius: 999px;
		overflow: hidden;
		cursor: pointer;
		user-select: none;
		width: 100px;
		min-width: 100px;
		height: 36px;
		/* border: 1px solid var(--color-border); */
		/* background-color: var(--color-white); */
		background-color: var(--color-grey-soft);
		font-size: var(--detail-font-size-sm);
		font-weight: 500;
		letter-spacing: -.5px;
		transition: all 0.3s ease;
		padding: 0 8px;
	}
	
	.toggle-option {
		flex: 1;
		text-align: center;
		z-index: 2;
		color: var(--color-text);
		transition: color 0.3s ease;
		padding: 0;
	}
	
	.toggle-option.active {
		color: var(--color-text);
	}
	
	.toggle-slider {
		position: absolute;
		top: 4px;
		left: 6px;
		width: calc(50% - 4px);
		height: calc(100% - 9px);
		/* background: var(--color-grey-soft); */
		background-color: var(--color-white);
		border-radius: 999px;
		transition: all 0.3s ease;
	}
	
	.toggle-switch.map-mode .toggle-slider {
		transform: translateX(91%);
	}
	
	.toggle-switch.map-mode .toggle-option[data-mode="list"] {
		color: var(--color-text);
	}
	
	.toggle-switch.list-mode .toggle-option[data-mode="map"] {
		color: var(--color-text);
	}
	
	
	/* ===========================================================
			A PARTIR DE AQUI VENDRÁN LOS ESTILOS DE MLS DETAIL
		 =========================================================== */
	
	/* CONTENEDOR PRINCIPAL */
	.mls-detail-container {
		position: relative;
		margin: 0 auto;
		padding: 0;
		/* 🆕 FORZAR altura fija para crear contexto de scroll */
		height: 100vh;
		overflow-y: auto;
		/* 🆕 Crear contexto de posicionamiento para el header */
		isolation: isolate;
	
		font-family: var(--detail-font-family);
		color: var(--color-text);
		background: var(--color-white);
	}
	
	/* HEADER */
	header.detail-header {
		position: sticky;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		height: 60px;
		z-index: 100;
		background-color: var(--color-white);
		/* background-color: #e0e4eb; */
		color: currentColor !important;
		display: flex;
		align-items: center;
		box-sizing: border-box;
		/* 🆕 Forzar el sticky */
		flex-shrink: 0;
	}
	
	.header-content {
		width: 100%;
	
	}
	
	.header-left {
		flex: 1;
		min-width: 300px;
		display: flex;
		align-items: center;
	}
	
	.property-address {
		font-size: var(--detail-font-size-xxl);
		font-weight: 800;
		margin: 0 0 var(--spacing-8) 0;
		color: var(--color-text);
		line-height: 1.2;
	}
	
	.property-location {
		font-size: var(--detail-font-size-sm);
		color: var(--color-text-muted);
		margin: 0;
	}
	
	.header-right {
		text-align: right;
		flex-shrink: 0;
	}
	
	.property-price {
		font-size: var(--detail-font-size-xxl);
		font-weight: 900;
		color: var(--color-text);
		margin: 0 0 var(--spacing-8) 0;
	}
	
	.property-status {
		display: inline-block;
		padding: var(--spacing-4) var(--spacing-16);
		background-color: var(--color-grey-hard);
		color: var(--color-grey-extra-soft);
		font-size: var(--detail-font-size-sm);
		font-weight: 500;
		border-radius: 10px;
		text-transform: uppercase;
		letter-spacing: 1px;
	}
	
	/* MENU HEADER */
	.detail-back-button {
		/* outline: solid 1px red; */
    display: flex;
    height: 24px;
    width: auto;
    border-radius: 5px;
    align-items: center;
    justify-content: center;
    padding-right: 8px;
		padding-left: 8px;
		letter-spacing: 0.5px;
	}
	
	.detail-back-button-chevron {
    rotate: 180deg;
    margin-right:12px;
    margin-left: 4px;
    height: 14px;
	}

	.detail-back-button:hover {
		background-color: var(--color-grey-extra-soft);
		color: var(--color-text);
	}
	
	.detail-nav-menu {
		list-style: none;
		display: flex;
		gap: 20px;
		padding: 0;
		margin: 0;
		align-items: center;
	}
	
	.detail-nav-item {
		display: inline-block;
	}
	
	.detail-nav-link {
		text-decoration: none;
		color: inherit;
		position: relative;
		padding: 5px 0;
		transition: all 0.3s ease;
	}
	
	.detail-nav-link:hover {
		text-decoration: underline;
	}
	
	/* O si prefieres un underline más elegante */
	.detail-nav-link::after {
		content: '';
		position: absolute;
		width: 0;
		height: 1px;
		bottom: 0;
		left: 0;
		background-color: currentColor;
		transition: width 0.3s ease;
	}
	
	.detail-nav-link:hover::after {
		width: 100%;
		bottom: -3px;
	}
	
	
	/* =============================================
		 MLS DETAIL SCROLLSPY - IMPLEMENTACIÓN AISLADA
		 ============================================= */
	
	/* 🆕 Usar prefijo único para evitar conflictos */
	.mls-detail-nav-link {
		position: relative;
		transition: all 0.3s ease;
	}
	
	/* Estado activo con clase específica */
	.mls-detail-nav-link.mls-detail-active {
		color: var(--color-text) !important;
		font-weight: 600;
	}
	
	/* Indicador visual único */
	.mls-detail-nav-link.mls-detail-active::after {
		content: '';
		position: absolute;
		bottom: -2px;
		left: 0;
		right: 0;
		height: 1px;
		background: var(--color-text);
		border-radius: 1px;
		width: 100%;
	}
	
	/* Hover específico */
	.mls-detail-nav-link:not(.mls-detail-active):hover {
		color: var(--color-text);
		opacity: 0.8;
	}
	
	/* Asegurar que no se vea afectado por estilos externos */
	.mls-detail-container .detail-nav-link {
		all: initial;
		font-family: inherit;
		font-size: inherit;
		color: inherit;
		text-decoration: none;
		display: inline-block;
		padding: inherit;
		position: relative;
		transition: all 0.3s ease;
	}
	
	
	/* ========================================================
		 MAIN CONTENT
		 ======================================================== */
	
	.detail-main {
		/* display: flex; */
		/* flex-direction: column; */
		/* padding-top: 90px; */
		display: flex;
		flex-direction: column;
		/* 🆕 Asegurar altura mínima para scroll */
		min-height: calc(100vh + 200px);
	}
	
	/* ========================================================
		 SECCIONES GENERALES
		 ======================================================== */
	
	section {
		display: block;
		margin: 0 !important;
		padding: 0 !important;
	}
	
	.section-title {
		font-size: var(--detail-font-size-xl);
		font-weight: 500;
		color: var(--color-text);
		margin: 0 0 var(--spacing-24) 0;
		padding-bottom: var(--spacing-8);
		display: block;
		text-align: center;
		width: 100%;
	}
	
	/* Asegurar que TODOS los section-title estén centrados sin importar clases adicionales */
	.section-title,
	.section-title.d-inline-block,
	.section-title.d-block {
		display: block !important;
		text-align: center !important;
		width: 100% !important;
		text-transform: uppercase;
	}
	
	/* Para section-title dentro de facts (fondo blanco) */
	.facts-container .section-title {
		/* color: white !important; */
	}
	
	/* ========================================================
		 GALERÍA
		 ======================================================== */
	
	.gallery-section {
		margin-bottom: var(--spacing-32);
	}
	
	.gallery {
		display: flex;
		flex-direction: column;
		gap: var(--spacing-4);
	}
	
	/* Mantengo compatibilidad con Slick Carousel existente */
	.gallery__main {
		/* border-radius: var(--spacing-8); */
		max-width: 100%;
		margin: 0 auto;
		overflow: hidden;
		background-color: var(--color-white);
	}
	
	.gallery__main .slick-slide {
		margin: 0 25px;
		max-width: 992px !important;
	}
	
	.gallery__main img {
		width: 100%;
		height: auto;
		max-height: 500px;
		object-fit: cover;
		display: block;
	}
	
	
	.gallery__thumbs {
		/* margin-top: var(--spacing-4); */
		display: flex;
		/* gap: 0; */
	}
	
	.gallery__thumbs img {
		width: 100%;
		/* ✅ CAMBIAR: Para que ocupe todo el contenedor */
		height: 110px;
		object-fit: cover;
		border-radius: var(--spacing-0);
		transition: var(--detail-transition);
	}
	
	/* ✅ AGREGAR: Estilos específicos para Slick thumbnails */
	.gallery__thumbs .slick-slide {
		width: 200px !important;
		/* ✅ Forzar ancho del slide */
		height: 110px;
		margin-left: 2px;
		margin-right: 2px;
		/* ✅ Separación entre slides */
	}
	
	.gallery__thumbs .slick-slide:last-child {
		margin-right: 0;
		/* ✅ Sin margen en el último */
	}
	
	.gallery__thumbs .slick-slide>div {
		width: 200px;
		height: 110px;
		overflow: hidden;
		border-radius: var(--spacing-0);
	}
	
	.gallery__thumbs .slick-track {
		display: flex;
		align-items: center;
	}
	
	/* ✅ AGREGAR: Centrar imagen dentro del contenedor */
	.gallery__thumbs .slick-slide img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center center;
		/* ✅ Centrar imagen */
		display: block;
	}
	
	
	/* ========================================================
		 GALLERY MASONRY HEADER
		 ======================================================== */
	/* ========================================================
		 GALLERY MASONRY HEADER
		 ======================================================== */
	
	.gallery-section-masonry {
		margin-bottom: var(--spacing-32, 32px);
	}
	
	.gallery-masonry {
		display: flex;
		gap: 1px;
		/* Separación entre columna izquierda y derecha */
		height: 450px;
		/* Altura fija del contenedor */
	}
	
	/* Columna izquierda - Imagen principal */
	.-masonry-left {
		flex: 1;
		/* Toma aproximadamente 60% del espacio */
		max-width: 55%;
	}
	
	.-masonry-left img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		border-radius: var(--spacing-0);
		display: block;
	}
	
	/* Columna derecha - Grid 2x2 */
	.-masonry-right {
		flex: 0 0 45%;
		display: flex;
		flex-wrap: wrap;
		gap: 1px;
	}
	
	/* Tiles individuales */
	.-masonry-tile {
		width: calc(50% - 2px) !important;
		/* 50% menos la mitad del gap */
		height: calc(50% - 2px);
		/* 50% menos la mitad del gap */
		overflow: hidden;
		border-radius: var(--spacing-0);
	}
	
	
	.-masonry-tile img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		display: block;
	}
	
	/* Overlay para "All photos" en la última imagen */
	.-masonry-tile-4 {
		position: relative;
	}
	
	.-masonry-tile-button {
		position: absolute;
		right: 10px;
		bottom: 10px;
		background-color: var(--color-white);
		color: black;
		font-size: 10px;
		font-weight: 400;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 4px 8px;
		border-radius: var(--spacing-4);
		border: none;
		cursor: pointer;
		transition: background-color 0.3s ease;
	}
	
	.-masonry-tile-4:hover::after {
		background: rgba(0, 0, 0, 0.8);
	}
	
	/* CASOS CON MENOS DE 5 FOTOS */
	
	/* Solo 1 foto - mostrar solo la principal */
	.gallery-masonry.-single-photo .-masonry-right {
		display: none;
	}
	
	.gallery-masonry.-single-photo .-masonry-left {
		max-width: 100%;
	}
	
	/* 2 fotos */
	.gallery-masonry.-two-photos .-masonry-tile-2,
	.gallery-masonry.-two-photos .-masonry-tile-3,
	.gallery-masonry.-two-photos .-masonry-tile-4 {
		display: none;
	}
	
	.gallery-masonry.-two-photos .-masonry-tile-1 {
		width: 100% !important;
		height: 100% !important;
	}
	
	/* 3 fotos */
	.gallery-masonry.-three-photos .-masonry-tile-3,
	.gallery-masonry.-three-photos .-masonry-tile-4 {
		display: none;
	}
	
	.gallery-masonry.-three-photos .-masonry-tile-1,
	.gallery-masonry.-three-photos .-masonry-tile-2 {
		width: calc(50% - 2px) !important;
		height: 100% !important;
	}
	
	/* 4 fotos */
	.gallery-masonry.-four-photos .-masonry-tile-4 {
		display: none;
	}
	
	.gallery-masonry.-four-photos .-masonry-tile-1,
	.gallery-masonry.-four-photos .-masonry-tile-2,
	.gallery-masonry.-four-photos .-masonry-tile-3 {
		width: calc(33.33% - 3px) !important;
		height: 100% !important;
	}
	
	
	/* ========================================================
		 FIn GALLERY MASONRY HEADER
		 ======================================================== */
	.facts-container .container {
		display: flex;
		flex-direction: column;
		align-items: center;
	}
	
	.facts-container #facts {
		display: grid;
		grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
		gap: var(--spacing-24);
		width: 100%;
		max-width: 1000px;
	}
	
	/* Estilos para los facts individuales generados por buildFacts() */
	.facts-container .fact {
		display: flex;
		flex-direction: column;
		gap: var(--spacing-4);
		text-align: center;
		padding: var(--spacing-16);
		background: rgba(255, 255, 255, 0.1);
		border-radius: var(--spacing-4);
	}
	
	.facts-container .fact .small {
		font-size: var(--detail-font-size-sm);
		font-weight: 500;
		text-transform: uppercase;
		letter-spacing: 1px;
		opacity: 0.9;
	}
	
	.facts-container .fact .fw-bold {
		font-size: var(--detail-font-size-lg);
		font-weight: 500;
	}
	
	
	/* ========================================================
		 PROPERTY INFO SECTION (con descripción integrada)
		 ======================================================== */
	
	.property-info-section {
		margin: 0 !important;
		padding: var(--spacing-48) 0 !important;
		background: white;
	}
	
	.property-main-address {
		font-size: var(--detail-font-size-xl);
		font-weight: 500;
		color: var(--color-text);
		text-transform: uppercase;
		letter-spacing: 1px;
		/* margin: 0 0 var(--spacing-32) 0; */
		margin: 0;
		line-height: 1.3;
	}
	
	.property-icons-row {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: var(--spacing-48);
		margin: var(--spacing-32) 0;
		flex-wrap: wrap;
	}
	
	.property-icon-item {
		display: flex;
		flex-direction: column;
		align-items: center;
		gap: var(--spacing-8);
		min-width: 80px;
	}
	
	.property-icon {
		width: 48px;
		height: 48px;
		/* background: var(--color-border); */
		border-radius: 50%;
		display: flex;
		align-items: center;
		justify-content: center;
		color: var(--color-text);
		/* transition: var(--detail-transition); */
	}
	
	
	.property-icon svg {
		width: 24px;
		height: 24px;
	}
	
	.property-icon-value {
		/* font-family: var(--detail-font-family); */
		font-size: var(--detail-font-size-base);
		font-weight: 400;
		color: var(--color-text);
		text-align: center;
		font-style: italic;
	}
	
	.property-main-price {
		font-size: var(--detail-font-size-xl);
		font-weight: 500;
		color: var(--color-text);
		/* margin: var(--spacing-32) 0; */
	}
	
	/* Descripción integrada */
	.property-info-section .description-content {
		max-width: 800px;
		margin: var(--spacing-32) auto 0;
		text-align: center;
	}
	
	
	/* ========================================================
		 DESCRIPCIÓN
		 ======================================================== */
	
	.description-content {
		font-size: var(--detail-font-size-base);
		line-height: 1.8;
		color: var(--color-text);
	}
	
	/* ========================================================
		 AGENT SECTION (NUEVA)
		 ======================================================== */
	
	.agent-section {
		margin-bottom: var(--spacing-32);
		padding: var(--spacing-32);
		background-color: var(--color-grey-extra-soft);
	}
	
	.agent-content {
		display: flex;
		flex-direction: column;
		gap: var(--spacing-16);
	}
	
	/* ========================================================
		 DESARROLLO (mantenida para debug)
		 ======================================================== */
	
	.dev-section {
		margin-top: var(--spacing-48);
		padding-top: var(--spacing-32);
		border-top: 2px solid var(--color-border);
	}
	
	.dev-controls {
		display: flex;
		gap: var(--spacing-16);
		margin-bottom: var(--spacing-24);
		flex-wrap: wrap;
	}
	
	.dev-controls,
	.raw-fields {
		width: 100%;
	}
	
	.search-input {
		flex: 1;
		min-width: 200px;
		max-width: 360px;
		padding: var(--spacing-8) var(--spacing-16);
		border: 1px solid var(--color-border);
		border-radius: var(--spacing-4);
		font-size: var(--detail-font-size-sm);
	}
	
	.dev-button {
		padding: var(--spacing-8) var(--spacing-16);
		border: 1px solid var(--color-border);
		border-radius: var(--spacing-4);
		background-color: white;
		color: var(--color-text);
		text-decoration: none;
		font-size: var(--detail-font-size-sm);
		cursor: pointer;
		transition: var(--detail-transition);
	}
	
	.dev-button:hover {
		background-color: var(--color-border);
	}
	
	
	/* ========================================================
		 SISTEMA REUTILIZABLE "VER MÁS/VER MENOS"
		 ======================================================== */
	
	.expandable-text {
		position: relative;
	}
	
	.expandable-content {
		font-size: var(--detail-font-size-base);
		line-height: 1.7;
		color: var(--color-text);
		text-align: justify;
		transition: max-height 0.5s ease-in-out, opacity 0.3s ease;
		overflow: hidden;
	}
	
	.expandable-content.collapsed {
		/* Altura dinámica basada en data-lines - se calcula desde JavaScript */
		position: relative;
	}
	
	.expandable-content.collapsed::after {
		content: '';
		position: absolute;
		bottom: 0;
		right: 0;
		width: 100px;
		height: 1.7em;
		background: linear-gradient(to right, transparent, white 70%);
		pointer-events: none;
	}
	
	.expand-toggle {
		background: none;
		border: none;
		color: var(--color-text);
		font-size: var(--detail-font-size-sm);
		font-weight: 500;
		cursor: pointer;
		padding: var(--spacing-4) 0;
		margin-top: var(--spacing-8);
		text-decoration: underline;
		transition: color 0.3s ease;
		display: block;
		text-align: center;
	}
	
	.expand-toggle:hover {
		color: var(--color-grey-hard);
	}
	
	
	/* =============================================
		 PROPERTY FACTS SECTION STYLES
		 ============================================= */
	
	.facts-container {
		display: flex;
		flex-wrap: wrap;
		gap: 2rem;
		width: 100%;
	}
	
	.facts-column-1,
	.facts-column-2 {
		flex: 1;
		min-width: 300px;
		/* Mínimo antes de quebrar */
	}
	
	
	.facts-column-1,
	.facts-column-2 {
		display: flex;
		flex-direction: column;
	}
	
	.fact-row {
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-items: center;
		margin-bottom: 1rem;
		gap: 0.5rem;
	}
	
	.fact-label {
		color: white;
		text-transform: uppercase;
		font-size: 0.875rem;
		font-weight: normal;
		opacity: 0.75;
	}
	
	.fact-value {
		color: white;
		font-size: 1.125rem;
		font-weight: 400;
		font-style: italic;
		font-family: var(--titles-font-family);
		/* Ellipsis automático aplicado por JavaScript */
	}
	
	/* =============================================
			 AUTO ELLIPSIS TOOLTIP STYLES
			 ============================================= */
	
	.auto-ellipsis-tooltip {
		position: absolute;
		background: rgba(0, 0, 0, 0.9);
		color: white;
		padding: 8px 12px;
		border-radius: var(--spacing-4);
		font-size: 10px;
		font-weight: normal;
		white-space: normal;
		z-index: 10000;
		pointer-events: none;
		box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
		max-width: 300px;
		word-wrap: break-word;
	}
	
	.auto-ellipsis-applied {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		max-width: 100%;
		cursor: default;
	}
	
	/* =============================================
			 DEBUG TABLE STYLES (fillMLSFields)
			 ============================================= */
	
	.debug-main-container {
		width: 100%;
		font-family: sans-serif;
		font-size: 13px;
	}
	
	.debug-section-title {
		color: var(--color-text);
		padding-bottom: 8px;
		margin-top: 32px;
		margin-bottom: 16px;
		font-size: 16px;
		font-weight: 500;
		border-bottom: 2px solid;
	}
	
	.debug-table {
		width: 100%;
		border-collapse: collapse;
		font-family: sans-serif;
		font-size: 13px;
		margin-bottom: 24px;
		border: 1px solid var(--color-border);
	}
	
	.debug-table thead tr {
		text-align: left;
		font-weight: 500;
	}
	
	.debug-table th {
		padding: 8px;
		border-bottom: 1px solid var(--color-border);
	}
	
	.debug-table th:first-child,
	.debug-table th:nth-child(2) {
		width: 25%;
	}
	
	.debug-table td {
		padding: 6px 8px;
		border-bottom: 1px solid #eee;
	}
	
	.debug-table td:first-child,
	.debug-table td:nth-child(2) {
		width: 25%;
	}
	
	.debug-table td:nth-child(2) {
		color: var(--color-text);
		font-weight: 500;
	}
	
	.debug-value-null {
		color: #c1c1c1;
		font-style: italic;
	}
	
	.debug-value-empty {
		color: #ccc;
		font-style: italic;
	}
	
	.debug-value-code {
		white-space: pre-wrap;
		font-family: monospace;
		background: #fafafa;
		padding: 6px;
		border-radius: var(--spacing-4);
	}
	
	
	/* =============================================
		 AMENITIES SECTION STYLES
		 ============================================= */
	
	.amenities-grid {
		/* background-color: red; */
	}
	
	.amenity-section {
		/* background-color: orange; */
	}
	
	.amenity-section-title {
		/* background-color: orangered; */
	}
	
	
	/* =============================================
		 AMENITIES TABS SYSTEM
		 ============================================= */
	
	.amenities-container .container {
		width: 100%;
		max-width: 1000px;
	}
	
	.amenities-tabs-container {
		width: 100%;
	}
	
	/* Navegación de Tabs */
	.amenities-tabs-nav {
		display: flex;
		gap: 1rem;
		border-radius: var(--spacing-0);
		overflow: hidden;
		width: fit-content;
		/* Solo el ancho necesario */
		margin: 0 auto 1.5rem;
	}
	
	.amenity-tab {
		padding: 1rem 1.5rem;
		background: transparent;
		color: rgba(255, 255, 255, 0.7);
		border: none;
		cursor: pointer;
		font-size: .75rem;
		font-weight: 500;
		transition: all 0.3s ease;
		white-space: nowrap;
		/* Evitar que el texto se divida */
		outline: none;
		text-transform: uppercase;
		letter-spacing: 1px;
	}
	
	.amenity-tab:last-child {
		border-right: none;
	}
	
	.amenity-tab:hover {
		background: rgba(255, 255, 255, 0.15);
		color: rgba(255, 255, 255, 0.9);
	}
	
	.amenity-tab.active {
		background: rgba(0, 0, 0, 0.02);
	}
	
	/* Contenido de Tabs */
	.amenities-tabs-content {
		position: relative;
	}
	
	.amenity-tab-content {
		display: none;
	}
	
	.amenity-tab-content.active {
		display: block;
	}
	
	/* Lista con altura fija */
	.amenity-list-container {
		height: 150px;
		/* Altura fija configurable */
		overflow: hidden;
		position: relative;
	}
	
	.amenity-tab-content.expanded .amenity-list-container {
		height: auto;
	}
	
	/* Grid de amenities */
	.amenity-list {
		display: grid;
		grid-template-columns: repeat(4, 1fr);
		gap: 0.5rem;
		padding-bottom: 1rem;
	}
	
	.amenity-item {
		display: flex;
		align-items: center;
		gap: 0.5rem;
		padding: 0.5rem 0;
		color: white;
		font-size: 0.875rem;
	}
	
	/* ✅ ALINEACIÓN DE ÍCONOS EN TÍTULOS DE AMENITIES */
	.amenity-category-title {
		display: flex !important;
		align-items: center !important;
		gap: 10px !important;
	}
	
	.amenity-category-title svg {
		flex-shrink: 0;
		/* Evita que el ícono se comprima */
	}
	
	.amenity-text {
		flex: 1;
	}
	
	/* Botón de expansión */
	.amenity-expand-btn {
		padding: 0.75rem 0;
		margin-top: 1rem;
		background: transparent;
		color: white;
		border: none;
		border-radius: var(--spacing-0);
		cursor: pointer;
		font-size: 0.75rem;
		font-weight: 500;
		transition: all 0.3s ease;
		transform: translateY(0);
		letter-spacing: 1px;
	}
	
	.amenity-expand-btn:active {
		transform: translateY(1px);
	}
	
	.amenity-expand-btn:visited,
	.amenity-expand-btn:active,
	.amenity-expand-btn:hover,
	.amenity-expand-btn:focus {
		text-decoration: underline;
		background: transparent;
		border: none;
		outline: none;
	}
	
	/* Gradiente de fade para el overflow */
	.amenity-list-container:not(.expanded)::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		height: 40px;
		background: linear-gradient(to bottom, transparent, var(--color-grey-medium));
		pointer-events: none;
	}
	
	.amenity-tab-content.expanded .amenity-list-container::after {
		display: none;
	}
	
	
	/* Títulos de categorías */
	.amenity-category-title {
		font-size: 1rem;
		font-weight: 500;
		margin: 1.5rem 0 0.75rem 0;
		padding-bottom: 0.5rem;
		/* border-bottom: 1px solid rgba(216, 216, 216, 0.3); */
		text-transform: uppercase;
		letter-spacing: 1px;
		text-transform: initial;
	}
	
	.amenity-category-title:first-child {
		margin-top: 0;
	}
	
	/* Espaciado entre categorías */
	.amenity-list+.amenity-category-title {
		margin-top: 2rem;
	}
	
	
	/* ==========================================
		 PADDINGS OF SECTIONS
		 ========================================== */
	.padding-facts-amenities {
		padding-top: var(--spacing-48);
		padding-bottom: var(--spacing-48);
	}
	
	.videos-section,
	.virtual-tour-section,
	.map-section {
		padding-top: var(--spacing-48) !important;
		background: var(--section-bg, #f8f9fa);
	}
	
	/* .facts-section .facts-container, */
	.amenities-section .amenities-container,
	.agent-section .container {
		padding-top: var(--spacing-48) !important;
	}
	
	/* .amenities-section .amenities-container, */
	.agent-section .container {
		padding-bottom: var(--spacing-48) !important;
	}
	
	/* ========================================================
		 VIRTUAL TOUR (NUEVA)
		 ======================================================== */
	.videos-content,
	.virtual-tour-content {
		width: 100%;
		height: 400px;
		border-radius: var(--spacing-0);
		overflow: hidden;
		background-color: var(--color-border);
	}
	
	.videos-content:hover,
	.virtual-tour-content:hover {
		/* transform: translateY(-2px); */
		box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
	}
	
	
	/* Contenedor horizontal para botón + texto */
	.media-content {
		display: flex;
		align-items: center;
		gap: 20px;
	}
	
	.videos-content:hover .media-overlay,
	.virtual-tour-content:hover .media-overlay {
		background: rgba(0, 0, 0, 0.6);
	}
	
	/* Botón de play en el centro */
	.media-play-button {
		background: rgba(255, 255, 255, 0.2);
		border: 2px solid rgba(255, 255, 255, 0.8);
		border-radius: 50%;
		width: 60px;
		height: 60px;
		display: flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		transition: all 0.3s ease;
		font-size: .8rem;
		color: var(--color-white);
		flex-shrink: 0;
		/* No se encoge */
	}
	
	.media-play-button:hover {
		background: rgba(255, 255, 255, .5);
		border-color: var(--color-white)f;
		transform: scale(1);
		box-shadow: 0 6px 30px rgba(0, 0, 0, 0.4);
	}
	
	.media-play-button .play-icon {
		margin-left: 3px;
		/* Centrar visualmente el triángulo */
		filter: drop-shadow(0 2px 4px #00000033);
	}
	
	/* Texto del botón - MEJORADO */
	.media-button-text {
		color: white;
		font-size: 1.063rem;
		font-weight: 500;
		letter-spacing: 1px;
		margin: 0;
	}
	
	
	/* Imagen de fondo como elemento HTML */
	.media-background-image {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
		z-index: 1;
	}
	
	/* Overlay encima de la imagen */
	.media-overlay {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(0, 0, 0, 0.4);
		display: flex;
		align-items: center;
		justify-content: center;
		transition: background 0.3s ease;
		z-index: 2;
		/* 🆕 Encima de la imagen */
	}
	
	/* ==========================================
		 MODAL FULLSCREEN
		 ========================================== */
	
	.media-modal {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 9999;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	.media-modal-backdrop {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		background: rgba(0, 0, 0, 0.95);
		cursor: pointer;
	}
	
	.media-modal-content {
		position: relative;
		width: 100vw;
		height: 100vh;
		/* max-width: 1200px; */
		background: black;
		border-radius: var(--spacing-0);
		overflow: hidden;
	}
	
	.media-modal-close {
		position: absolute;
		top: 15px;
		right: 15px;
		background: rgba(0, 0, 0, 0.7);
		border: none;
		color: white;
		font-size: 1.8rem;
		cursor: pointer;
		z-index: 10;
		width: 35px;
		height: 35px;
		display: flex;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
		transition: all 0.3s ease;
		font-weight: 300;
		backdrop-filter: blur(10px);
		padding: 8px;
	}
	
	.media-modal-close svg {
		color: white;
	}
	
	.media-modal-close:hover {
		background: rgba(255, 255, 255, 0.9);
		color: var(--color-text);
		/* transform: scale(1.1); */
		/* border-color: rgba(0, 0, 0, 0.2); */
	}
	
	.media-modal-close:hover svg {
		color: black;
	}
	
	/* Navegación del modal */
	.media-modal-navigation {
		position: absolute;
		top: 50%;
		left: 0;
		right: 0;
		transform: translateY(-50%);
		z-index: 10;
		pointer-events: none;
	}
	
	.media-nav-btn {
		opacity: .7;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		background: rgba(0, 0, 0, 0.7);
		border: none;
		color: white;
		font-size: 1rem;
		width: 45px;
		height: 45px;
		padding: 8px;
		border-radius: 50%;
		cursor: pointer;
		transition: all 0.3s ease;
		pointer-events: auto;
	}
	
	.media-nav-btn svg {
		color: white;
	}
	
	.media-nav-prev {
		left: 25px;
	}
	
	.media-nav-next {
		right: 25px;
	}
	
	.media-nav-btn:hover {
		opacity: 1;
	}
	
	.media-nav-btn:hover svg {
		/* color: black; */
	}
	
	.media-nav-btn:disabled {
		opacity: 0.3;
		cursor: not-allowed;
	}
	
	/* Contenido del modal */
	.media-modal-body {
		width: 100%;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
	}
	
	.media-modal-body iframe {
		width: 100%;
		height: 100%;
		border: none;
	}
	
	/* CLASE REUTILIZABLE PARA FLECHAS DE NAVEGACIÓN */
	.nav-arrow {
		border: none;
	
	}
	
	.nav-arrow:hover {
		opacity: 1;
	}
	
	.nav-arrow:disabled {
		opacity: 0.4;
		cursor: not-allowed;
	}
	
	.modal-thumbnails {
		display: flex;
		gap: 8px;
		max-width: 80%;
		overflow-x: auto;
		z-index: 1002;
		scroll-behavior: smooth;
		padding: 0 10px;
		margin: 8px auto;
	}
	
	.modal-thumbnails img {
		width: 60px;
		height: 40px;
		object-fit: cover;
		border-radius: var(--spacing-4);
		cursor: pointer;
	}
	
	/* En styles_mls.css */
	.modal-thumbnails::-webkit-scrollbar {
		height: 4px;
	}
	
	.modal-thumbnails::-webkit-scrollbar-track {
		background: rgba(255, 255, 255, 0.1);
		border-radius: 2px;
	}
	
	.modal-thumbnails::-webkit-scrollbar-thumb {
		background: rgba(255, 255, 255, 0.5);
		border-radius: 2px;
	}
	
	
	/* ==========================================
		 MAPA CON CONTROLES NATIVOS DE GOOGLE
		 ========================================== */
	.map-container {
		width: 100%;
		height: 500px;
		border-radius: var(--spacing-0);
		position: relative;
		overflow: hidden;
		background-color: var(--color-border);
	}
	
	/* Botón toggle para Street View */
	.street-view-toggle {
		position: absolute;
		bottom: 60px;
		left: 10px;
		background: white;
		border: 2px solid rgba(0, 0, 0, 0.2);
		border-radius: var(--spacing-0);
		padding: 8px 12px;
		cursor: pointer;
		font-size: 0.8rem;
		font-weight: 500;
		color: var(--color-border);
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.3);
		transition: all 0.2s ease;
		z-index: 1000;
	}
	
	.street-view-toggle:hover {
		background: var(--color-grey-soft);
		transform: translateY(-1px);
	}
	
	/* Panel de Street View */
	.street-view-panel {
		position: absolute;
		bottom: 10px;
		left: 10px;
		width: 250px;
		height: 150px;
		background: white;
		border: 2px solid rgba(0, 0, 0, 0.2);
		border-radius: var(--spacing-0);
		box-shadow: 0 4px 20px rgba(0, 0, 0, 0.3);
		overflow: hidden;
		transform: translateY(0);
		/* ✅ CAMBIAR: Visible por defecto */
		transition: transform 0.3s ease;
		z-index: 1000;
	}
	
	.street-view-panel.visible {
		transform: translateY(0);
		/* ✅ Mantener visible */
	}
	
	
	/* Mejorar botón toggle */
	.street-view-toggle.active {
		background: var(--color-text, #303749);
		color: white;
		border-color: var(--color-text, #303749);
	}
	
	/* Mejorar panel de Street View no disponible */
	.street-view-unavailable {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		height: 100%;
		padding: 15px;
		text-align: center;
		background: #f8f9fa;
		border-radius: var(--spacing-0);
	}
	
	.unavailable-icon {
		font-size: 1.5rem;
		margin-bottom: 8px;
		opacity: 0.6;
	}
	
	.unavailable-message {
		font-size: 0.75rem;
		color: var(--color-text);
		line-height: 1.3;
		font-weight: 500;
	}
	
	.street-view-unavailable div:first-child {
		font-size: 2rem;
		margin-bottom: 5px;
	}
	
	
	/* =============================================
		 AGENT SECTION STYLES
		 ============================================= */
	
	/* Agent Main Info */
	.agent-main-info {
		display: flex;
		gap: 1.5rem;
		align-items: flex-start;
	}
	
	.agent-main-info * {
		color: var(--color-text) !important;
	}
	
	.amenities-section * {
		/* color: var(--color-white) !important; */
	}
	
	
	/* Agent Photo */
	.agent-photo-container {
		flex-shrink: 0;
	}
	
	.agent-photo {
		/* width: 180px;
		height: 180px;
		border-radius: var(--spacing-8);
		background-size: cover;
		background-position: center;
		background-repeat: no-repeat;
		background-color: var(--color-grey-soft);
		border: 2px solid var(--color-border); */
	}
	
	/* Agent Details */
	.agent-details {
		flex: 1;
		display: flex;
		flex-direction: column;
		gap: 1rem;
	}
	
	.agent-name-section {
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
	}
	
	.agent-name {
		font-size: 1.75rem;
		font-weight: 600;
		color: var(--color-border);
		margin: 0;
		line-height: 1.2;
	}
	
	.profile-link,
	.coding-text span,
	.link
	
	/* , .btn-view-profile*/
		{
		color: #025dc0 !important;
		text-decoration: none;
		font-size: 0.9rem;
		font-weight: 500;
	}
	
	.profile-link:hover {
		text-decoration: underline;
	}
	
	
	/* 🆕 CONTACT GRID - 4 COLUMNAS HORIZONTALES */
	.agent-contact-grid {
		display: grid;
		grid-template-columns: minmax(300px, 4fr) minmax(150px, 3fr) minmax(150px, 3fr) auto;
		gap: 1.5rem;
		align-items: start;
	}
	
	.contact-item {
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		min-width: 0;
		/* Permite que el contenido se comprima */
	}
	
	.contact-label {
		display: flex;
		align-items: center;
		gap: 0.5rem;
		font-size: 0.75rem;
		font-weight: 600;
		color: var(--color-text);
		text-transform: uppercase;
		letter-spacing: 0.5px;
		white-space: nowrap;
		/* Evita wrap en labels */
	}
	
	/* 🆕 Los elementos con ellipsis se manejan automáticamente por el sistema existente */
	.contact-value,
	.agent-company,
	.agent-title,
	.agent-license {
		font-size: 0.95rem;
		color: var(--color-border);
		/* El ellipsis se aplica automáticamente por applySimpleEllipsis() */
	}
	
	.contact-value:hover,
	.agent-company:hover,
	.agent-title:hover {
		color: #007bff;
	}
	
	/* Estilos específicos para diferentes elementos */
	.agent-title {
		font-size: 1rem;
		font-weight: 500;
		color: var(--color-text);
	}
	
	.agent-license {
		font-size: 0.85rem;
		color: #999;
		margin-top: 0.25rem;
	}
	
	.contact-button-container {
		display: flex;
		align-items: center;
		justify-content: flex-end;
	}
	
	.contact-btn {
		background-color: var(--color-text, var(--color-grey-extra-hard));
		color: var(--color-white, var(--color-grey-extra-soft)) !important;
		border: none;
		padding: 0.75rem 2rem;
		font-size: 0.9rem;
		font-weight: 500;
		text-transform: uppercase;
		letter-spacing: 0.5px;
		border-radius: var(--spacing-0);
		cursor: pointer;
		transition: all 0.3s ease;
		white-space: nowrap;
		flex-shrink: 0;
	}
	
	.contact-btn:hover {
		background-color: var(--color-grey-extra-hard);
		/* transform: translateY(-1px); */
	}
	
	
	/* ========================================
		 SKELETON LOADERS PARA FICHAS MLS (SOLO DEBUG)
		 ======================================== */
	
	.mls-skeleton-container {
		display: none;
		/* Oculto por defecto */
		grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
		gap: 20px;
		/* padding: 20px; */
		width: 100%;
	}
	
	.mls-skeleton-container.show {
		display: grid;
	}
	
	.mls-skeleton-card {
		display: flex;
		flex-direction: column;
		background: var(--color-white, #fff);
		border-radius: var(--spacing-8);
		overflow: hidden;
		box-shadow: 0px 3px 4px -1px rgba(0, 0, 0, 0.1), 0px 2px 1px 0px rgba(0, 0, 0, 0.14), 0px -1px 1px 0 rgba(0, 0, 0, 0.06);
		min-height: 300px;
		max-height: 300px;
		max-width: 335px;
		position: relative;
	}
	
	/* Media skeleton (imagen) */
	.mls-skeleton-media {
		width: 100%;
		height: 200px;
		background: linear-gradient(90deg, var(--color-grey-soft) 25%, var(--color-grey-extra-soft) 50%, var(--color-grey-soft) 75%);
		background-size: 200% 100%;
		animation: skeleton-shimmer 1.5s infinite;
		position: relative;
	}
	
	/* Body skeleton (contenido de texto) */
	.mls-skeleton-body {
		padding: 16px;
		flex: 1;
		display: flex;
		flex-direction: column;
		gap: 8px;
	}
	
	/* Precio skeleton */
	.mls-skeleton-price {
		width: 120px;
		height: 24px;
		background: linear-gradient(90deg, var(--color-grey-soft) 25%, var(--color-white) 50%, var(--color-grey-soft) 75%);
		background-size: 200% 100%;
		animation: skeleton-shimmer 1.5s infinite;
		border-radius: var(--spacing-4);
	}
	
	/* Info skeleton (beds, baths, sqft) */
	.mls-skeleton-info {
		width: 180px;
		height: 16px;
		background: linear-gradient(90deg, var(--color-grey-soft) 25%, var(--color-white) 50%, var(--color-grey-soft) 75%);
		background-size: 200% 100%;
		animation: skeleton-shimmer 1.5s infinite;
		border-radius: var(--spacing-4);
	}
	
	/* Dirección skeleton */
	.mls-skeleton-address {
		width: 200px;
		height: 14px;
		background: linear-gradient(90deg, var(--color-grey-soft) 25%, var(--color-white) 50%, var(--color-grey-soft) 75%);
		background-size: 200% 100%;
		animation: skeleton-shimmer 1.5s infinite;
		border-radius: var(--spacing-4);
	}
	
	/* Animación shimmer */
	@keyframes skeleton-shimmer {
		0% {
			background-position: -200% 0;
		}
	
		100% {
			background-position: 200% 0;
		}
	}
	
	
	/* Ocultar paginador por defecto - solo mostrar después de cargar resultados */
	#mlsPager {
		display: none !important;
	}
	
	/* Mostrar paginador solo cuando tiene clase 'show' */
	#mlsPager.show {
		display: flex !important;
		/* o block, según tu layout */
	}
	
	
	/* ========================================
		 SMART INFOWINDOW CUSTOM
		 ======================================== */
	
	.smart-infowindow {
		position: absolute;
		z-index: 1000;
		max-width: 380px;
		min-width: 360px;
		opacity: 0;
		transform: scale(0.8) translateY(10px);
		transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
		pointer-events: auto;
		/* 🎯 ASEGURAR QUE ESTÉ POSICIONADO CORRECTAMENTE */
		top: 0;
		left: 0;
	}
	
	.smart-infowindow.show {
		opacity: 1;
		transform: scale(1) translateY(0);
	}
	
	.smart-infowindow-instant {
		opacity: 1 !important;
		transform: none !important;
		transition: none !important;
	}
	
	.smart-infowindow.hide {
		opacity: 0;
		transition: opacity 0.15s ease-out;
	}
	
	.smart-infowindow-content .smart-infowindow-close {
		/* position: relative;  */
	}
	
	
	button.smart-infowindow-close {
		position: absolute;
		top: 4px;
		right: 4px;
		width: 28px;
		height: 28px;
		border: none;
		color: var(--color-text);
		border: none !important;
		border-radius: 50%;
		cursor: pointer;
		z-index: 1001;
		display: flex;
		align-items: center;
		justify-content: center;
		transition: all 0.2s ease;
	}
	
	.smart-infowindow-close:hover {
		background: var(--color-grey-soft);
		transform: scale(1.1);
	}
	
	.smart-infowindow-body .info-window-mls-card {
		padding: 4px;
	}
	
	.info-window-multi-scroll {
		display: flex;
		gap: 8px;
		padding: 8px;
		flex-wrap: wrap;
		max-height: 360px;
		overflow-y: auto;
		/* border: solid 1px violet; */
	}
	
	.smart-infowindow-body-content {
		display: flex;
		gap: 10px;
		padding: 8px;
	}
	
	.smart-infowindow-image {
		width: 80px;
		height: 80px;
		flex-shrink: 0;
		background: #f8f9fa;
		border-radius: 6px;
		overflow: hidden;
	}
	
	.smart-infowindow-img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	
	.smart-infowindow-data {
		min-width: 0;
	}
	
	.smart-infowindow-data .mls-card-badge {
		position: relative;
		justify-content: start;
		margin-bottom: 8px;
		zoom: .8;
	}
	
	/* 🎯 ESTILOS PARA CONTENIDO EXISTENTE */
	.smart-infowindow-body img {
		border-radius: 6px;
	}
	
	
	.smart-infowindow-body a:hover {
		text-decoration: underline;
	}
	
	/* 🎯 SCROLLBAR PERSONALIZADO */
	.smart-infowindow-body::-webkit-scrollbar {
		width: 6px;
	}
	
	.smart-infowindow-body::-webkit-scrollbar-track {
		background: var(--color-grey-soft);
		border-radius: 3px;
	}
	
	.smart-infowindow-body::-webkit-scrollbar-thumb {
		background: #c1c1c1;
		border-radius: 3px;
	}
	
	.smart-infowindow-body::-webkit-scrollbar-thumb:hover {
		background: #a8a8a8;
	}
	
	.price-tooltip-hover {
		position: fixed !important;
		background: #f8f0de !important;
		border: 1px solid #ffecb5 !important;
		color: #664d03 !important;
		border-radius: 2px !important;
		padding: 4px 8px !important;
		font-size: 10px !important;
		font-weight: 500 !important;
		font-family: 'Roboto', sans-serif !important;
		z-index: 99999 !important;
		pointer-events: none !important;
		box-shadow: 0 2px 5px rgba(0, 0, 0, 0.25) !important;
		white-space: nowrap !important;
		display: none;
		/* transform: translateX(-50%) !important; */
	}
	
	.price-tooltip-hover::after {
		content: '' !important;
		position: absolute !important;
		bottom: -5px !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		width: 0 !important;
		height: 0 !important;
		border-left: 3px solid transparent !important;
		border-right: 3px solid transparent !important;
		border-top: 5px solid #ffecb5 !important;
	}
	
	.price-tooltip-hover::before {
		content: '' !important;
		position: absolute !important;
		bottom: -4px !important;
		left: 50% !important;
		transform: translateX(-50%) !important;
		width: 0 !important;
		height: 0 !important;
		border-left: 3px solid transparent !important;
		border-right: 3px solid transparent !important;
		border-top: 5px solid #f8f0de !important;
		z-index: 1 !important;
	}
	
	.info-window-mls-card .info-window-map {
		width: 100%;
	}
	
	.info-window-multi-title {
		display: flex;
		flex-direction: column;
		gap: 4px;
		padding: 8px 8px 4px;
	}
	
	.iw-multi-address {
		font-weight: 500;
		font-size: 12px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		width: 90%;
		/* border: solid 1px aqua; */
	}
	
	.iw-multi-quantity {
		font-weight: 400;
		font-size: 10px;
	}
	
	.info-window-map .mls-card-price {
		font-size: 16px;
	}
	
	
	.legal-information {
		padding: 20px;
		font-size: 8px;
		line-height: 135%;
	}
	
	.legal-information img {
		color: transparent;
		display: inline;
		padding-right: 16px;
	}
	
	.legal-information a {
		color: #1a73e8;
	}
	
	/* ============================
	GALERÍA LAZY LOAD - Estilos para navegación 
	=============================== */
	.mls-gallery-nav {
		position: absolute;
		bottom: calc(50% - 20px);
		left: 0;
		right: 0;
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 0 10px;
		z-index: 20;
		pointer-events: none;
	}
	
	.gallery-counter {
		/* position: absolute; */
		/* top: 20px; */
		/* left: 20px; */
		/* color: white; */
		/* background: rgba(0,0,0,0.7); */
		/* padding: 8px 12px; */
		/* border-radius: var(--spacing-4); */
		/* z-index: 1001; */
		/* font-size: 12px; */
	}
	
	.gallery-counter.mls-card-badge-item,
	.mls-gallery-nav {
		transition: opacity 0.3s ease;
		opacity: 0;
	}
	
	.mls-card-media:hover .gallery-counter.mls-card-badge-item,
	.mls-card-media:hover .mls-gallery-nav {
		opacity: 1;
	}
	
	.gallery-images {
		max-width: 100%;
		max-height: 90vh;
		height: 80vh;
		object-fit: contain;
	}
	
	.gallery-nav-btn {
		background-color: rgb(255 255 255 / 80%);
		border: none !important;
		border-radius: 50%;
		width: 24px;
		height: 24px;
		display: flex;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		transition: all 0.2s ease;
		pointer-events: auto;
	}
	
	.gallery-nav-btn:hover {
		background-color: rgb(255 255 255 / 70%);
		/* transform: scale(1.05); */
	}
	
	.gallery-nav-btn:active {
		transform: scale(0.95);
	}
	
	.gallery-nav-btn svg {
		width: 20px;
		height: 20px;
	}
	
	.gallery-counter span:first-child {
		font-weight: 700;
	}
	
	/* Transición suave para imágenes */
	.gallery-main-image {
		transition: opacity 0.2s ease;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}
	
	/* ============ 
	no-results-message 
	============*/
	.no-results-message {
		text-align: center;
		padding: 60px 20px;
	}
	
	.no-results-ico {
		margin-bottom: 20px;
	}
	
	.no-results-title {
		color: var(--color-border);
		margin-bottom: 10px;
	}
	
	.no-results-p {
		font-size: 12px;
	}
	
	
	/* ========================================================
		 🎯 MLS RESPONSIVE - OVERLAY DINÁMICO SIN OCULTAR DESKTOP
		 ======================================================== */
	
	/* ========= BASE: ESTILOS PARA OVERLAY (SOLO CUANDO EXISTE) ========= */
	
	.mls-mobile-filters-btn {
		display: none;
		align-items: center;
		justify-content: center;
		padding: 8px 16px;
		background: #f8f9fa;
		border: 1px solid #dee2e6;
		border-radius: var(--spacing-4);
		color: #495057;
		font-size: 14px;
		font-weight: 500;
		cursor: pointer;
		transition: all 0.3s ease;
		white-space: nowrap;
		min-width: 90px;
	}
	
	.mls-mobile-filters-btn:hover {
		background: #e9ecef;
		border-color: #ced4da;
	}
	
	/* Estilos del overlay cuando existe */
	.mls-filters-overlay {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 100vh;
		background: rgba(0, 0, 0, 0.5);
		z-index: 9999;
		display: flex;
		opacity: 0;
		transform: translateX(100%);
		transition: all 0.3s ease;
		font-family: var(--detail-font-family);
		letter-spacing: 1px;
	}
	
	.mls-filters-overlay.show {
		opacity: 1;
		transform: translateX(0);
	}
	
	.mls-filters-modal {
		width: 100%;
		height: 100%;
		background: white;
		display: flex;
		flex-direction: column;
	}
	
	.mls-filters-header {
		position: sticky;
		top: 0;
		background: white;
		border-bottom: 1px solid #dee2e6;
		padding: 16px 20px;
		display: flex;
		align-items: center;
		justify-content: space-between;
		z-index: 10;
		flex-shrink: 0;
	}
	
	.mls-filters-header h3 {
		font-size: 18px;
		font-weight: 600;
		color: #212529;
		margin: 0 auto;
		font-family: var(--detail-font-family);
	}
	
	.mls-close-filters {
		position: absolute;
		right: 16px;
		top: 50%;
		transform: translateY(-50%);
		background: transparent;
		font-size: 22px;
		color: #616161;
		cursor: pointer;
		border: none;
		padding: 8px;
		display: flex;
		align-items: center;
		justify-content: center;
		transition: all 0.2s ease;
		border-radius: 50%;
		/* border: solid 1px orangered!important; */
	}
	
	.mls-close-filters:hover {
		color: #212121;
		background-color: var(--color-grey-soft);
	}
	
	.mls-filters-body {
		flex: 1;
		overflow-y: auto;
		padding: 8px 16px;
	}
	
	.mls-filters-footer {
		position: sticky;
		bottom: 0;
		background: white;
		border-top: 1px solid #dee2e6;
		padding: 16px 20px;
		display: flex;
		gap: 12px;
		z-index: 1024;
		flex-shrink: 0;
	}
	
	.mls-filters-footer .btn {
		flex: 1;
		padding: 8px 12px;
		font-size: 12px;
		font-weight: 500;
		border-radius: var(--spacing-4);
		border: none;
		cursor: pointer;
		transition: all 0.3s ease;
	}
	
	.mls-btn-clear {
		background: transparent;
		color: #62769d;
		border: none;
		text-decoration: underline;
	}
	
	.mls-btn-clear:hover {
		background: transparent;
		color: #1c1f27;
		text-decoration: underline;
	}
	
	.mls-btn-apply {
		background: #011e60;
		color: white;
	}
	
	.mls-btn-apply:hover {
		background: #323876;
	}
	
	
	/* ========= SCROLLBAR PERSONALIZADO ========= */
	
	.mls-filters-body::-webkit-scrollbar {
		width: 6px;
	}
	
	.mls-filters-body::-webkit-scrollbar-track {
		background: var(--color-grey-soft);
		border-radius: 3px;
	}
	
	.mls-filters-body::-webkit-scrollbar-thumb {
		background: #c1c1c1;
		border-radius: 3px;
	}
	
	.mls-filters-body::-webkit-scrollbar-thumb:hover {
		background: #a1a1a1;
	}
	
	
	/* =============================================
		 RESPONSIVE UTILITIES GENERALES
		 ============================================= */
	
	/* Mobile First - Breakpoints estándar */
	/* xs: <576px (por defecto) */
	/* sm: ≥576px */
	/* md: ≥768px */
	/* lg: ≥992px */
	/* xl: ≥1200px */
	/* xxl: ≥1400px */
	
	
	/* Responsive */
	@media (max-width: 1400px) {
		.mls-card {
			min-height: 290px;
			max-height: 290px;
		}
	}
	
	@media (max-width: 1350px) {
	
		.mls-filters .container,
		.mls-detail-container .container {
			padding-left: 15px;
			padding-right: 15px;
		}
	
		.mls-card {
			min-height: 275px;
			max-height: 275px;
		}
	
		/* Responsive skeletons */
		.mls-skeleton-card {
			min-height: 275px;
			max-height: 275px;
		}
	}
	
	@media (max-width: 1300px) {
		.side-left {
			width: 100%;
		}
	
		.side-right {
			width: 680px;
			min-width: 680px;
		}
	
		.mls-card {
			min-height: 300px;
			max-height: 300px;
		}
	
		.mls-card-media,
		.mls-card-media img {
			height: 210px;
		}
	
		.mls-skeleton-card {
			min-height: 300px;
			max-height: 300px;
		}
	
		.mls-skeleton-media {
			height: 210px;
		}
	}
	
	@media (max-width: 1100px) {
		/* ATENCIÓN: 
	En este punto se quiebra el query del los filtros!! */
	}
	
	@media (max-width: 1024px) {
		.agent-contact-grid {
			grid-template-columns: minmax(180px, 3fr) minmax(100px, 2fr) minmax(100px, 2fr) auto;
			gap: 1rem;
		}
	}
	
	@media (max-width: 992px) {
		.gallery-masonry {
			height: 300px;
		}
	
		.-masonry-left {
			max-width: 55%;
		}
	
		.-masonry-right {
			flex: 0 0 43%;
		}
	
		#mlsWrapper #mlsGrid,
		#mlsWrapper.no-map #mlsGrid {
			grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
		}
	
	
		.main_content section.property-info-section,
		.facts-container,
		.amenities-container {
			padding-left: 15px !important;
			padding-right: 15px !important;
		}
	
		#mlsGrid {
			justify-items: center;
		}
	
		.mls-card {
			min-height: 320px;
			max-height: 320px;
			width: 320px;
		}
	
		.mls-card-media,
		.mls-card-media img {
			height: 220px;
		}
	
		.mls-skeleton-card {
			min-height: 320px;
			max-height: 320px;
			width: 320px;
			margin: 0 auto;
		}
	
		.mls-skeleton-media {
			height: 220px;
		}
	}
	
	@media (min-width: 961px) {
	
		/* Botón móvil oculto */
		.mls-mobile-filters-btn {
			display: none !important;
		}
	
		/* Filtros en layout horizontal normal */
		.mls-filters-container {
			display: flex !important;
			gap: 12px;
		}
	
		/* Overlay no debe existir en desktop */
		.mls-filters-overlay {
			display: none !important;
		}
	}
	
	@media (max-width: 960px) {
	
		/* Ajustes de layout responsive */
		.mls-filters .container>div>div {
			justify-content: space-between;
			width: 100%;
		}
	
		.multi-places-wrap {
			width: 100%;
			max-width: 100%;
		}
	
		/* Mostrar botón móvil */
		.mls-mobile-filters-btn {
			display: flex !important;
		}
	
		/* Ocultar filtros en su posición normal */
		#filters-div {
			display: none !important;
		}
	
		/* Filtros dentro del overlay en layout vertical */
		.mls-filters-overlay #filters-div {
			display: flex !important;
			flex-direction: column !important;
			gap: 20px !important;
			width: 100% !important;
		}
	
		/* ========= FORZAR DROPDOWN VISIBLE ========= */
	
		.mls-filters-overlay .custom-transaction-dropdown {
			display: block !important;
			position: static !important;
			box-shadow: none !important;
			border: none;
			max-height: none !important;
		}
	
		/* ========= CONTENEDOR DE TABS HORIZONTALES ========= */
	
		.mls-filters-overlay .custom-select-options {
			flex-direction: column !important;
		}
	
		/* Container para headers como tabs */
		.mls-filters-overlay .custom-select-options::before {
			content: '';
			display: block;
			border-bottom: 1px solid #dee2e6;
			order: -1;
		}
	
		/* ========= HEADERS COMO TABS ========= */
	
		.mls-filters-overlay .transaction-accordion-header {
			justify-content: center !important;
			background-color: #ffffff !important;
			width: 50% !important;
			cursor: pointer;
			box-sizing: border-box;
			/* Usamos un shadow sutil en lugar de borde para que el tamaño sea idéntico al activo */
			box-shadow: inset 0 -1px 0 0 #f8f9fa;
			border-bottom: none !important;
			/* Quitamos el borde físico */
		}
	
		/* Tab activo */
		.mls-filters-overlay .transaction-accordion-header.active {
			background-color: #ffffff !important;
			cursor: initial;
			/* La sombra de 2px crece hacia ADENTRO, no mueve el contenido */
			box-shadow: inset 0 -2px 0 0 rgba(0, 0, 0, 0.87);
			border-bottom: none !important;
		}
	
		/* Ocultar chevron en modo tab */
		.mls-filters-overlay .transaction-accordion-header .accordion-chevron {
			display: none !important;
		}
	
		/* Clearfix para tabs */
		.mls-filters-overlay .custom-select-options::after {
			content: '';
			display: table;
			clear: both;
		}
	
		/* ========= CONTENIDO DE TABS ========= */
	
		/* Solo mostrar contenido expandido */
		.mls-filters-overlay .transaction-accordion-content.expanded {
			display: block !important;
		}
	
		/* ========= OPCIONES DENTRO DEL TAB ========= */
	
		.mls-filters-overlay .transaction-sub-option.selected {
			background: rgba(0, 123, 255, 0.1) !important;
		}
	
		.mls-filters-overlay .sub-option-content {
			display: flex !important;
			align-items: center !important;
			width: 100% !important;
		}
	
		.mls-filters-overlay .option-content {
			position: relative;
		}
	
		.mls-filters-overlay .option-content .option-main {
			width: auto;
			padding: 0 4px 0 30px;
		}
	
		.mls-filters-overlay .custom-select-checkbox {
			position: absolute;
			left: 3px;
			width: 22px !important;
			height: 22px !important;
		}
	
		/* ========= MOBILE: OVERLAY Y RESPONSIVE ========= */
	
		/* Asegurar que todo el contenedor tenga el ancho correcto */
		.mls-filters-overlay .custom-transaction-wrapper {
			box-shadow: none;
			border-radius: var(--spacing-0);
		}
	
		.mls-filters-overlay .custom-transaction-dropdown {
			width: 100% !important;
		}
	
		/* ========================================================
		 🎯 PROPERTY TYPE TABS
		 ======================================================== */
	
		/* Forzar dropdown siempre visible */
		.mls-filters-overlay .custom-select-dropdown,
		.mls-filters-overlay .custom-transaction-dropdown {
			position: static !important;
			visibility: visible !important;
			opacity: 1 !important;
			box-shadow: none !important;
			max-height: none;
		}
	
		/* Ocultar display y mostrar dropdown */
		.mls-filters-overlay .custom-select-display {
			display: none !important;
		}
	
		.mls-filters-overlay .custom-select-dropdown {
			display: block !important;
			position: static !important;
		}
	
		/* Posicionamiento de headers */
		.mls-filters-overlay .custom-select-options {
			position: relative !important;
			padding-top: 39px !important;
		}
	
		.mls-filters-overlay .transaction-accordion-header {
			position: absolute !important;
			top: 0 !important;
			width: 50% !important;
		}
	
		/* Primer header */
		.mls-filters-overlay .transaction-accordion-header:nth-child(1) {
			left: 0 !important;
		}
	
		/* Segundo header - probemos diferentes posiciones */
		.mls-filters-overlay .transaction-accordion-header:nth-child(3) {
			right: 0 !important;
		}
	
		/* Mostrar solo contenido expandido */
		.mls-filters-overlay .transaction-accordion-content {
			display: none !important;
			/* Sin animaciones */
			transition: none !important;
			max-height: none !important;
			overflow: visible !important;
		}
	
		.mls-filters-overlay .custom-select-dropdown-multiple .option-text,
		.mls-filters-overlay .sub-option-content .option-text {
			padding: 14px 0;
		}
	
		.mls-filters-overlay .sub-option-content .option-text {
			padding-left: 30px;
		}
	
		.mls-filters-overlay .custom-select-checkbox:checked::after {
			left: 12px;
		}
	
		.mls-filters-overlay .custom-select-options .transaction-accordion-header:first-child.active,
		.mls-filters-overlay .custom-select-options .transaction-accordion-header:not(:first-child).active {
			border-top: solid 1px #fff !important;
		}
	
	
		/* ========= BEDS Y BATHS - LAYOUT HORIZONTAL ========= */
	
		/* Ocultar display y mostrar dropdown */
		.mls-filters-overlay .mlsBeds .custom-select-display,
		.mls-filters-overlay .mlsBaths .custom-select-display {
			display: none !important;
		}
	
		.mls-filters-overlay .mlsBeds .custom-select-dropdown,
		.mls-filters-overlay .mlsBaths .custom-select-dropdown {
			display: block !important;
			position: static !important;
			width: 100%;
			border: none !important;
		}
	
		/* Layout horizontal para las opciones */
		.mls-filters-overlay .mlsBeds .custom-select-options,
		.mls-filters-overlay .mlsBaths .custom-select-options {
			display: flex !important;
			justify-content: stretch !important;
			flex-direction: row !important;
			flex-wrap: wrap !important;
			gap: 0 !important;
			padding-top: 0 !important;
		}
	
		/* Opciones como elementos horizontales */
		.mls-filters-overlay .mlsBeds .custom-select-option,
		.mls-filters-overlay .mlsBaths .custom-select-option {
			flex: 1 !important;
			display: flex !important;
			align-items: center !important;
			width: auto;
			max-width: none !important;
			padding: 0;
		}
	
		.mls-filters-overlay .mlsBeds .custom-select-option .custom-select-checkbox:checked::after,
		.mls-filters-overlay .mlsBaths .custom-select-option .custom-select-checkbox:checked::after {
			left: 11px;
		}
	
		/* ========= LABELS PARA BEDS Y BATHS Price y Keyword ========= */
	
	
		.mls-filters-overlay .priceRangeDropdown::before,
		.mls-filters-overlay .searchKeywordDropdown::before {
			display: block;
			font-size: 12px;
			font-weight: 600;
			color: #495057;
			margin-bottom: 8px;
			text-transform: uppercase;
			letter-spacing: 0.5px;
		}
	
		/* Label para Beds */
		.mls-filters-overlay .mlsBeds::before {
			content: "Beds";
		}
	
		/* Label para Baths */
		.mls-filters-overlay .mlsBaths::before {
			content: "Baths";
		}
	
	
		.mls-filters-overlay .mlsBeds::before,
		.mls-filters-overlay .mlsBaths::before,
		.mls-filters-overlay .price-range-dropdown::before {
			display: block;
			font-size: 12px;
			font-weight: 600;
			color: #495057;
			margin-bottom: 0;
			text-transform: uppercase;
			letter-spacing: 0.5px;
		}
	
	
		/* ========= PRICE RANGE - SIEMPRE EXPANDIDO ========= */
	
		/* Ocultar display del price range */
		.mls-filters-overlay .price-range-dropdown .price-range-display {
			display: none !important;
		}
	
		/* Mostrar panel siempre */
		.mls-filters-overlay .price-range-dropdown .price-range-panel {
			display: block !important;
			position: absolute !important;
			box-shadow: none;
			border: none;
			border-radius: var(--spacing-0);
			padding: 0;
			width: 100% !important;
		}
	
		.mls-filters-overlay .price-range-panel input {
			min-width: auto;
		}
	
	
		.mls-filters input:is(:focus, :active),
		.custom-select-wrapper.open,
		.price-range-dropdown.open,
		.multi-places-wrap:focus-within {
			box-shadow: none;
			border: none;
			border-radius: var(--spacing-0);
		}
	
		.mls-filters-overlay .price-range-dropdown.open {
			box-shadow: none !important;
			border-radius: 0 !important;
			background-color: transparent !important;
			border: none !important;
			padding: 0 !important;
			height: auto !important;
			justify-content: flex-start !important;
			margin-bottom: calc(70px + 16px) !important;
		}
	
	
		.mls-filters-overlay .price-range-dropdown::before {
			content: "Price";
		}
	
		/* Label para Keyword Search */
		.mls-filters-overlay .searchKeywordDropdown::before {
			content: " Search by Keyword";
		}
	
		/* ========= KEYWORD SEARCH - SIEMPRE EXPANDIDO ========= */
	
		/* Ocultar display del keyword */
		.mls-filters-overlay .searchKeywordDropdown .price-range-panel label {
			display: none !important;
		}
	
		/* Restituir input border */
		.mls-filters-overlay .searchKeywordDropdown .price-range-panel input {
			border: 1px solid var(--color-border);
			min-width: 100%;
			height: 40px;
			border-radius: var(--spacing-4);
			padding: 0 8px;
		}
	
	}
	
	/* Responsive: Ajustes para tablets */
	@media (min-width: 769px) and (max-width: 992px) {
		.mls-detail-container .header-content .container {
			flex-direction: column !important;
			gap: 8px;
		}
	
	
		.side-left {
			width: 60%;
		}
	
		.side-right {
			width: 40%;
		}
	
		/* Ajustar marcadores en tablet */
		.mls-filters input#mlsKeyword,
		.mls-filters input#mlsOmniSearch {
			min-width: 200px;
		}
	
	}
	
	@media (min-width: 769px) and (max-width: 992px) {
		.facts-container {
			gap: 1.5rem;
		}
	
		.fact-row {
			gap: 0.375rem;
		}
	}
	
	@media (min-width: 769px) {
		.d-md-block {
			display: block !important;
		}
	
		.d-md-flex {
			display: flex !important;
		}
	
		.d-sm-none {
			display: none !important;
		}
	
		.flex-md-row {
			flex-direction: row !important;
		}
	}
	
	@media (max-width: 768px) {
		.d-md-none {
			display: none !important;
		}
	
		.d-sm-block {
			display: block !important;
		}
	
		.d-sm-flex {
			display: flex !important;
		}
	
		.text-left-sm {
			text-align: left !important;
		}
	
	
		body.iframe-mls {
			margin-top: 68px;
		}
	
		.mls-detail-container .header-content .container {
			flex-direction: column !important;
			gap: 8px;
		}
	
		.header-right {
			justify-content: center;
			display: flex;
		}
	
		.container-iframe-data {
			flex-direction: column;
			/* Stack verticalmente */
		}
	
		.side-left {
			width: 100%;
			height: auto;
			padding-right: 0;
			margin-bottom: 20px;
		}
	
		.side-right {
			width: 100%;
			position: relative;
			/* No sticky en móvil */
			top: 0;
			height: 400px;
			/* Altura fija en móvil */
			padding-left: 0;
		}
	
		.mlsMap {
			height: 100% !important;
		}
	
		/* Filtros más compactos en móvil */
		.mls-filters {
			/* height: auto; */
			padding: 8px;
		}
	
		.mls-filters .container {
			flex-wrap: wrap;
			gap: 6px;
			padding-left: 12px;
			padding-right: 12px;
		}
	
		.mls-pager {
			margin-bottom: 64px;
		}
	
		.mls-filters button.ad-nav-btn {
			min-width: 24px;
		}
	
		.mls-pager .mls-pager-button {
			min-width: 30px;
		}
	
		/* Grid más compacto en móvil */
		#mlsGrid {
			padding: 12px;
			gap: 12px;
		}
	
		.mls-card-media,
		.mls-card-media img {
			height: 100% !important;
		}
	
		#mlsWrapper {
			flex-direction: column;
		}
	
		#mlsWrapper .side-left {
			width: 100%;
			height: 0;
		}
	
		#mlsWrapper .side-right {
			width: 100%;
			/* height: calc(100% - 80px); */
			height: 100%;
			transition: all 0.4s ease;
		}
	
		#mlsWrapper.no-map .side-right,
		#mlsWrapper .side-right #toggleMapBtn {
			display: none !important;
		}
	
		.property-main-address {
			font-size: var(--detail-font-size-lg);
		}
	
		.property-icons-row {
			gap: var(--spacing-24);
		}
	
		.property-main-price {
			font-size: var(--detail-font-size-xl);
		}
	
		.facts-container {
			flex-direction: column;
			gap: 1.5rem;
		}
	
		.facts-column-1,
		.facts-column-2 {
			min-width: auto;
		}
	
		.fact-row {
			gap: 0.25rem;
			margin-bottom: 0.75rem;
		}
	
		.fact-label {
			font-size: 0.8rem;
		}
	
		.fact-value {
			font-size: 1rem;
		}
	
		.p-6 {
			padding: 1rem !important;
		}
	
		.mb-8 {
			margin-bottom: 2rem !important;
		}
	
		.gap-8 {
			gap: 2rem !important;
		}
	
		.d-grid[style*="grid-template-columns"] {
			grid-template-columns: 1fr !important;
		}
	
		.justify-content-between {
			justify-content: center !important;
			text-align: center;
		}
	
	
		.header-content {
			flex-direction: column;
			text-align: left;
		}
	
		.header-right {
			text-align: left;
			width: 100%;
		}
	
	
		.property-address {
			font-size: var(--detail-font-size-xl);
		}
	
		.property-price {
			font-size: var(--detail-font-size-xl);
		}
	
		.facts-container {
			grid-template-columns: 1fr;
			padding: var(--spacing-24);
		}
	
		/* Asegurar que section-title mantenga centrado en móviles */
		.section-title {
			text-align: center !important;
			display: block !important;
			width: 100% !important;
		}
	
		.dev-controls {
			flex-direction: column;
		}
	
		.search-input {
			max-width: 100%;
		}
	
		.gallery-masonry {
			flex-direction: column;
			height: auto;
			gap: 12px;
		}
	
		.-masonry-left {
			max-width: 100%;
			height: 250px;
		}
	
		.-masonry-right {
			flex: none;
			height: 120px;
			gap: 6px;
		}
	
		.-masonry-tile-1,
		.-masonry-tile-2,
		.-masonry-tile-3,
		.-masonry-tile-4 {
			width: calc(25% - 4.5px) !important;
			height: 100% !important;
		}
	
	
		.amenity-list {
			grid-template-columns: repeat(2, 1fr);
		}
	
		.amenities-tabs-nav {
			flex-direction: column;
		}
	
		.amenity-tab {
			border-right: none;
			border-bottom: 1px solid rgba(255, 255, 255, 0.1);
		}
	
		.amenity-tab:last-child {
			border-bottom: none;
		}
	
		.amenity-list-container {
			height: 250px;
			/* Menor altura en móviles */
		}
	
		.media-modal-content {
			width: 98vw;
			height: 95vh;
		}
	
		.media-play-button {
			width: 60px;
			height: 60px;
			font-size: 1.2rem;
		}
	
		.media-button-text {
			font-size: 1rem;
		}
	
		.map-container {
			height: 300px;
		}
	
		.street-view-toggle {
			bottom: 50px;
			left: 8px;
			padding: 6px 10px;
			font-size: 0.7rem;
		}
	
		.street-view-panel {
			width: 150px;
			height: 100px;
			bottom: 8px;
			left: 8px;
		}
	
		.unavailable-message {
			font-size: 0.7rem;
		}
	
		.unavailable-icon {
			font-size: 1.2rem;
		}
	
		.agent-main-info {
			flex-direction: column;
			align-items: center;
			text-align: center;
			gap: 1rem;
		}
	
		.agent-name {
			font-size: 1.5rem;
		}
	
		.agent-contact-grid {
			grid-template-columns: 1fr;
			gap: 1.5rem;
			text-align: center;
		}
	
		.contact-label {
			justify-content: center;
		}
	
		.contact-button-container {
			justify-content: center;
		}
	
		.contact-btn {
			width: 100%;
			max-width: 200px;
		}
	
		/* Responsive: chips en móvil */
		.multi-places-wrap {
			padding: 4px 8px;
			min-height: 36px;
		}
	
		.multi-places-wrap input {
			min-width: 15px;
			flex: 1 1 15px;
			padding: 0 3px;
		}
	
		.chip {
			/* font-size: 12px;
			padding: 3px 8px;
			max-width: 150px; */
			height: 30px;
		}
	
		.multi-places-wrap input {
			min-width: 120px;
			font-size: 13px;
		}
	
		.chips-popover {
			max-width: 250px;
			left: 0;
			right: 0;
		}
	
		.custom-select-dropdown {
			max-height: 200px;
		}
	
		.custom-select-option {
			padding: 12px;
		}
	
		/* En móvil, forzar a 1 columna */
		.custom-select-options.multi-column {
			grid-template-columns: 1fr !important;
		}
	
		.popover-content {
			padding: 12px;
		}
	
		.share-actions {
			gap: 16px;
		}
	
		.smart-infowindow {
			max-width: calc(100vw - 40px);
			min-width: 250px;
		}
	
		.smart-infowindow-body {
			padding: 12px;
			max-height: 300px;
		}
	
		.chip {
			padding-left: 4px;
			padding-right: 4px;
		}
	
		.chips .chip:first-child {
			margin-right: 8px;
			margin-left: 0;
		}
	
		.chips-popover button[type="button"]:last-child {
			padding-left: 4px;
			padding-right: 4px;
		}
	
		.media-nav-prev {
			left: 15px;
		}
	
		.media-nav-next {
			right: 15px;
		}
	}
	
	@media (max-width: 680px) {
		.side-right {
			width: 100%;
			min-width: 100%;
		}
	
		#mlsWrapper #mlsGrid {
			/* grid-template-columns: 1fr; */
			grid-template-columns: auto;
		}
	}
	
	/* Responsive: Mobile */
	@media (max-width: 576px) {
		.fs-xs {
			font-size: 0.65rem !important;
		}
	
		.fs-sm {
			font-size: 0.75rem !important;
		}
	
		.fs-base {
			font-size: 0.875rem !important;
		}
	
		.fs-lg {
			font-size: 1rem !important;
		}
	
		.fs-xl {
			font-size: 1.125rem !important;
		}
	
		.fs-xxl {
			font-size: 1.25rem !important;
		}
	
		.fs-xxxl {
			font-size: 1.5rem !important;
		}
	}
	
	@media (max-width: 575px) {
		#mlsGrid {
			grid-template-columns: 1fr;
			gap: 12px;
			padding: 12px;
		}
	
		.mls-skeleton-container {
			grid-template-columns: 1fr;
			gap: 12px;
			padding: 12px;
		}
	}
	
	/* Responsive: Mobile */
	@media (max-width: 480px) {
		.-masonry-right {
			height: 100px;
		}
	
		.-masonry-tile-1,
		.-masonry-tile-2,
		.-masonry-tile-3,
		.-masonry-tile-4 {
			width: calc(25% - 4.5px) !important;
			height: 100% !important;
		}
	
		.-masonry-tile-4::after {
			font-size: 12px;
		}
	
		.mls-detail-container .header-content .container {
			flex-direction: row !important;
		}
	
		.header-left {
			min-width: auto !important;
		}
	
		.header-right {
			justify-content: start;
		}
	
		.detail-nav-menu {
			gap: 16px;
		}
	
		.gallery__main img {
			max-height: 260px;
		}
	
		.gallery__thumbs .slick-slide {
			width: 120px !important;
			height: 80px;
		}
	
		.property-main-address {
			width: 100%;
		}
	
		.property-location,
		.detail-nav-menu>li:first-child {
			display: none
		}
	
		.detail-back-button {
			height: 32px !important;
			width: 32px !important;
			margin-left: 24px;
		}
	
		.detail-back-button svg {
			width: 24px !important;
			height: 24px !important;
		}
	
		.property-icons-row {
			gap: var(--spacing-16);
		}
	
		.property-icon-item {
			min-width: 60px;
		}
	
		.property-icon {
			width: 40px;
			height: 40px;
		}
	
		.property-icon svg {
			width: 20px;
			height: 20px;
		}
	
		.property-address {
			font-size: var(--detail-font-size-lg);
		}
	
		.property-price {
			font-size: var(--detail-font-size-lg);
		}
	
		.facts-container {
			padding: var(--spacing-16);
		}
	
		/* Asegurar que section-title mantenga centrado en móviles pequeños */
		.section-title {
			text-align: center !important;
			display: block !important;
			width: 100% !important;
		}
	
		.map-container,
		.virtual-tour-content {
			height: 300px;
		}
	
		.amenity-list {
			grid-template-columns: 1fr;
		}
	
		.amenity-list-container {
			height: 200px;
		}
	
		.map-container {
			height: 250px;
		}
	
		.street-view-toggle {
			bottom: 45px;
			left: 5px;
			padding: 5px 8px;
			font-size: 0.65rem;
		}
	
		.street-view-panel {
			width: 140px;
			height: 90px;
			bottom: 5px;
			left: 5px;
		}
	
		.agent-name {
			font-size: 1.25rem;
		}
	
		.agent-contact-grid {
			gap: 1rem;
		}
	
		.multi-places-wrap input {
			min-width: 10px;
			flex: 1 1 10px;
			padding: 0 2px;
		}
	
		.chip {
			max-width: 120px;
			font-size: 11px;
		}
	
		.chips-popover {
			max-width: 200px;
		}
	}
	
	
	/* Miami Search Bar */
	.miami-search-bar {
		flex: 0 0 440px;
		max-width: calc(100vw - 32px);
		position: relative;
		width: 440px;
		max-width: calc(440px - 8px);
		margin-right: 8px;
	}
	
	.miami-search-shell {
		align-items: center;
		background: var(--color-white);
		border: 1px solid var(--color-border);
		border-radius: var(--spacing-4);
		display: flex;
		gap: 8px;
		min-height: 40px;
		padding: 0 10px;
		width: 100%;
	}
	
	.miami-search-shell:focus-within {
		border-color: #c9c9c9;
		box-shadow: 0 0 0 2px rgba(0, 0, 0, .04);
	}
	
	.miami-search-shell .mlsOmniSearch {
		border: 0 !important;
		box-shadow: none !important;
		flex: 1;
		min-width: 0;
		outline: 0;
		padding: 0 !important;
	}
	
	.miami-search-spinner {
		position: absolute;
		right: 11px;
		background-color: white;
	}
	
	.miami-search-icon,
	.mls-filters button.miami-search-clear,
	.miami-search-spinner {
		align-items: center;
		color: var(--color-text);
		display: inline-flex;
		flex: 0 0 auto;
		height: 26px;
		width: 26px;
		justify-content: center;
	}
	
	.mls-filters button.miami-search-clear {
		background: transparent;
		border: 0;
		border-radius: 50%;
		cursor: pointer;
		font-size: 18px;
		line-height: 1;
		border: none !important;
		transition: 0.2s ease;
	}
	
	.mls-filters button.miami-search-clear:hover {
		background: var(--color-grey-soft);
	}
	
	.mls-filters button.miami-search-clear[hidden],
	.miami-search-spinner[hidden] {
		display: none;
	}
	
	.miami-search-spinner::before {
		animation: miamiSearchSpin .8s linear infinite;
		border: 2px solid var(--color-grey-medium);
		border-top-color: var(--color-border);
		border-radius: 50%;
		content: "";
		height: 15px;
		width: 15px;
	}
	
	@keyframes miamiSearchSpin {
		to {
			transform: rotate(360deg);
		}
	}
	
	.miami-search-dropdown {
		background: var(--color-white);
		border: 1px solid var(--color-grey-medium);
		border-radius: 0 0 8px 8px;
		box-shadow: 0 16px 34px rgba(0, 0, 0, .18);
		display: none;
		left: 0;
		max-height: min(620px, 78vh);
		overflow-y: auto;
		position: absolute;
		right: 0;
		top: calc(100% + 2px);
		z-index: 20000;
		pointer-events: none;
	}
	
	.miami-search-bar.is-open .miami-search-dropdown {
		display: block;
		pointer-events: auto;
	}
	
	
	.miami-search-section-title,
	.miami-search-empty,
	.miami-search-error {
		color: var(--color-text-hard);
		font-size: 14px;
		padding: 14px 12px 8px;
	}
	
	.miami-search-error {
		color: var(--error-color);
	}
	
	.miami-search-divider {
		border-top: 1px solid var(--color-grey-medium);
		margin: 0;
	}
	
	.mls-filters .miami-search-dropdown button.miami-search-item {
		width: 100%;
		height: 68px;
		justify-content: start;
		gap: 8px;
		border: none !important;
		border-radius: 0 !important;
		padding: 0 12px 0 60px;
		/* outline: solid 1px aqua; */
	}
	
	.mls-filters button .miami-search-item {
		align-items: center;
		background: transparent;
		border: 0;
		color: var(--color-text);
		cursor: pointer;
		display: flex;
		gap: 12px;
		padding: 9px 20px;
		text-align: left;
		width: 100%;
	}
	
	.miami-search-item.is-active,
	.miami-search-item:hover {
		background: var(--color-grey-extra-soft);
	}
	
	.miami-search-thumb,
	.miami-search-type-icon {
		align-items: center;
		background: var(--color-grey-soft, #eff1f5);
		color: var(--color-text-light, #21212196);
		border-radius: var(--spacing-4, 4);
		display: inline-flex;
		flex: 0 0 40px;
		height: 40px;
		justify-content: center;
		overflow: hidden;
		width: 40px;
	}
	
	.miami-search-thumb img {
		height: 100%;
		object-fit: cover;
		width: 100%;
		border-radius: var(--spacing-4);
	}
	
	
	.miami-search-type-icon.miami-search-locations {
		background-color: transparent;
		border-radius: 50%;
	}
	
	.miami-search-locations i {
		font-size: 20px;
		display: block;
		height: 30px;
		width: 30px;
		color: var(--color-grey-extra-hard, #63666b);
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	.miami-search-location-sub {
		font-weight: 300;
		display: block;
	}
	
	
	.miami-search-section-title {
		font-weight: 600;
		height: 60px;
		display: flex;
		align-items: center;
		gap: 7px;
	}
	
	.miami-search-section-title i {
		font-size: 26px;
		height: 40px;
		width: 40px;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	
	
	.miami-search-main {
		width: calc(100% - 60px);
		text-align: left;
		/* background-color: aqua; */
	}
	
	.miami-search-label {
		display: inline-block;
		font-size: 13px;
		font-weight: 500;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		max-width: calc(315px - 16px);
		/* background-color: aqua; */
	}
	
	.miami-search-condo .miami-search-label {
		margin-bottom: -5px;
	}
	
	.miami-search-count {
		margin-left: 8px;
	}

	.miami-search-listing .miami-search-label {
		display: block;
	}
	
	
	/* Badges */
	.badge {
		display: inline-flex;
		padding: 0 5px;
		font-size: 8px;
		font-weight: 500;
		border-radius: 2px;
		text-transform: capitalize;
		letter-spacing: .5px;
		height: 13px;
		vertical-align: middle;
		justify-items: center;
    align-items: center;
	}
	
	.badge-success {
		background-color: #93d2d6;
		color: #fff;
		text-shadow: 0.5px 0.5px 3px #015f6526;
	}
	
	.badge-green {
		background-color: #ceedef;
		color: #025f64;
	}
	
	
	.miami-search-listing .miami-search-price,
	.badge.badge-success {
		display: inline-flex;
	}
	
	.badge.badge-success {
		margin-left: 8px;
	}
	
	
	.miami-search-meta-row {
		display: flex;
		align-items: center;
		gap: 16px;
		flex-wrap: nowrap;
	}
	
	.miami-search-secondary,
	.miami-search-meta {
		color: var(--color-text);
		font-size: 11px;
		margin-top: 2px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		display: block;
		font-weight: 300;
		/* outline: solid 1px violet; */
	}
	
	.miami-search-badges {
		display: flex;
		gap: 6px;
		margin-top: 3px;
	}
	
	.miami-search-badge {
		background: var(--color-grey-soft);
		border-radius: var(--spacing-4);
		border: solid 1px var(--color-white);
		color: var(--detail-info-color);
		font-size: 11px;
		line-height: 1.2;
		padding: 2px 7px;
	}
	
	.miami-search-badge-muted {
		background: var(--color-grey-soft);
		color: var(--color-grey-extra-hard);
	}
	
	.miami-search-included {
		align-items: center;
		background: var(--color-grey-extra-soft);
		border-radius: var(--spacing-4);
		display: inline-flex;
		gap: 7px;
		margin-left: 2px;
		max-width: 72%;
		padding: 4px 8px;
	}
	
	.miami-search-included span {
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
	
	.miami-search-included button {
		background: transparent;
		border: 0;
		cursor: pointer;
		font-size: 16px;
		line-height: 1;
		padding: 0;
	}
	
	@media (max-width: 767px) {
		.miami-search-dropdown {
			max-height: 70vh;
		}
	}
	
	@media (max-width: 576px) {
		.miami-search-bar {
			width: 100%;
			flex: 0 0 70%;
		}
	}
	
	@media (max-width: 375px) {
		.miami-search-shell {
			padding: 0;
			gap: 0;
			/* justify-content: space-around; */
		}
	
		.miami-search-icon .search-icon {
			margin-right: 0;
		}
	
		.mls-filters input#mlsOmniSearch {
			max-width: 175px;
		}
	
		.mls-filters .container>div>div {
			gap: inherit;
		}
	
		.miami-search-spinner {
			right: 6px;
		}
	}
	
	
	/* MIAMI SEARCH PAGE MAPA */
	.miami-map-cluster-label,
	.miami-map-price-label {
		align-items: center;
		color: var(--color-white);
		display: flex;
		font-family: var(--detail-font-family);
		font-weight: 600;
		justify-content: center;
		line-height: 1;
		text-align: center;
		letter-spacing: -2px;
	}
	
	.miami-map-popup {
		background: var(--color-white);
		font-family: var(--detail-font-family);
		/* min-width: 360px; */
		/* max-width: 390px; */
		padding: 8px;
		position: relative;
		font-weight: 500;
	}
	
	.miami-map-popup-link {
		align-items: stretch;
		color: inherit;
		display: flex;
		gap: 12px;
		text-decoration: none;
		/* border: solid 1px violet; */
	}
	
	.miami-map-popup-link:hover {
		color: inherit;
		text-decoration: none;
	}
	
	.miami-map-popup-photo {
		background: var(--color-grey-soft);
		flex: 0 0 80px;
		height: 80px;
		overflow: hidden;
		border-radius: var(--spacing-4);
	}
	
	.miami-map-popup-photo img {
		display: block;
		height: 100%;
		object-fit: cover;
		width: 100%;
	}
	
	.miami-map-popup-body {
		min-width: 0;
		display: flex;
		border-radius: var(--spacing-4);
		align-items: flex-start;
		flex-direction: column;
		justify-content: space-evenly;
		/* border: solid 1px red; */
	}
	
	.miami-map-popup-badges {
		display: flex;
		gap: 4px;
		margin-bottom: 6px;
	}
	
	.miami-map-popup-badge {
		background: var(--color-white);
		border-radius: 3px;
		border: 1px solid var(--color-grey-medium);
		color: var(--color-text);
		font-size: 8px;
		font-weight: 700;
		line-height: 1;
		padding: 2px 4px;
		white-space: nowrap;
		letter-spacing: 0;
	}
	
	.miami-map-popup-badge-dark {
		background: var(--color-text-hard);
		border-color: var(--color-text-hard);
		color: var(--color-white);
	}
	
	.miami-map-popup-price {
		color: var(--color-text);
		font-size: 18px;
		font-weight: 600;
		line-height: 1.02;
		margin-bottom: 4px;
	}
	
	.miami-map-popup-facts {
		color: var(--color-text);
		font-size: 12px;
		letter-spacing: .08em;
		margin-bottom: 6px;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		width: 100%;
		font-weight: 500;
	}
	
	.miami-map-popup-address {
		color: var(--color-grey-extra-hard);
		font-size: 10px;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		width: 100%;
		letter-spacing: 1px;
		font-weight: 400;
	}
	
	.miami-map-popup-close {
		align-items: center;
		background: transparent;
		border: 0;
		color: var(--color-text);
		cursor: pointer;
		display: flex;
		font-size: 24px;
		height: 32px;
		width: 32px;
		justify-content: center;
		line-height: 1;
		padding: 0;
		position: absolute;
		right: 2px;
		top: 2px;
		font-weight: 300;
		border-radius: 50%;
		transition: all 0.2s ease;
	}
	
	.miami-map-popup-close:is(:hover, :active, :focus) {
		background: var(--color-grey-soft);
	}
	
	
	.miami-map-popup-group {
		background: var(--color-white);
		font-family: var(--detail-font-family);
		padding: 12px 12px 0;
		position: relative;
	}
	
	.miami-map-popup-group-title {
		font-weight: 600;
		font-size: 15px;
		letter-spacing: .08em;
		line-height: 1.2;
		margin-bottom: 2px;
		margin-right: 24px;
	}
	
	.miami-map-popup-group-subtitle {
		color: var(--color-grey-extra-hard);
		font-size: 10px;
		letter-spacing: .12em;
		margin-bottom: 8px;
	}
	
	.miami-map-popup-list {
		display: grid;
		gap: 8px;
		max-height: 322px;
		overflow-y: auto;
		padding: 0 6px 12px 0;
		/* border: solid 1px orange; */
	}
	
	.miami-map-popup-list .miami-map-popup-card {
		align-items: stretch;
		border: 1px solid var(--color-grey-medium);
		border-radius: var(--spacing-4);
		box-shadow: 0 1px 3px rgba(0, 0, 0, .18);
		color: inherit;
		display: flex;
		gap: 12px;
		padding: 8px;
		text-decoration: none;
		transition: box-shadow 0.25s ease, transform 0.25s ease;
	}
	
	.miami-map-popup-list .miami-map-popup-card:hover {
		box-shadow: 0 4px 6px rgba(0, 0, 0, .18);
	}
	
	.miami-map-popup-list .miami-map-popup-photo {
		/* flex-basis: 88px; */
		/* height: 88px; */
	}
	
	.miami-map-popup-list .miami-map-popup-price {
		/* font-size: 22px; */
	}
	
	.miami-map-popup-list .miami-map-popup-facts {
		/* font-size: 14px; */
	}
	
	.gm-style .gm-style-iw-chr {
		height: 0;
	}
	
	.gm-style .gm-style-iw-c {
		padding: 0 !important;
		min-width: 380px !important;
		max-width: 410px !important;
		overflow: hidden !important;
		max-height: 410px !important;
		/* min-height: none !important; */
	}
	
	.gm-style .gm-style-iw-d {
		overflow: visible !important;
		/* max-height: none !important; */
		max-height: 410px !important;
	}
	
	.gm-ui-hover-effect {
		display: none !important;
	}
	
	/* Tooltip Mapa */
	#miami-map-price-tooltip {
		color: #856404;
		background-color: #fff3cd;
		border: 1px solid #ffeeba;
		border-radius: 2px;
		font-family: Arial, sans-serif;
		font-size: 8px;
		letter-spacing: 0.04em;
		font-weight: 400;
		padding: 2px 4px;
		white-space: nowrap;
		box-shadow: 0 1px 3px rgba(0, 0, 0, .15);
		pointer-events: none;
	}

	/* // <!-- PUNTO DE COTROL JUNIO 2 4:00pm --> */