/**
 * Aislamiento CSS del plugin frente al tema.
 *
 * - Sin @layer: los estilos unlayered del plugin deben poder ganar al tema.
 * - font-size: 16px en raíces evita que rem/em del tema deformen la UI.
 * - Resetea img/a/títulos/listas que los temas suelen pisar en cascada global.
 * - Los componentes (Atlas, New Home…) aplican su layout encima con más especificidad.
 */

/* Raíces front + preview admin */
.apis-properties-grid,
.apis-listado-with-map,
.apis-listado-toolbar,
.apis-listing-toolbar,
.buscador-propiedades,
.apis-buscador-form,
.apis-buscador-wrapper,
.apis-property-detail,
.apis-property-detail-default,
.apis-property-detail-showcase,
.apis-property-detail-atelier,
.apis-featured-slider,
.apis-related-properties,
.apis-contact-form,
.apis-contact-form-modal,
.card-templates-container,
.apis-modal-preview-content,
.apis-template-preview-layer
{
	--apis-font-size-base: 16px;
	--apis-font-size-title: 21px;
	--apis-font-size-price: 22px;
	--apis-font-size-meta: 14px;
	--apis-font-size-badge: 12px;
	--apis-font-size-section: 20px;
	--apis-radius: 8px;
	--apis-text: #1f2937;
	--apis-muted: #6b7280;
	--apis-accent: #0284c7;
	--apis-surface: #ffffff;
	--apis-border: #e5e7eb;
	--apis-line-height: 1.5;

	font-size: 16px;
	line-height: var(--apis-line-height, 1.5);
	color: var(--apis-text, #1f2937);
	box-sizing: border-box;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	isolation: isolate;
}

.apis-properties-grid *,
.apis-properties-grid *::before,
.apis-properties-grid *::after,
.apis-listado-with-map *,
.apis-listado-with-map *::before,
.apis-listado-with-map *::after,
.apis-listado-toolbar *,
.apis-listado-toolbar *::before,
.apis-listado-toolbar *::after,
.apis-listing-toolbar *,
.apis-listing-toolbar *::before,
.apis-listing-toolbar *::after,
.buscador-propiedades *,
.buscador-propiedades *::before,
.buscador-propiedades *::after,
.apis-buscador-form *,
.apis-buscador-form *::before,
.apis-buscador-form *::after,
.apis-buscador-wrapper *,
.apis-buscador-wrapper *::before,
.apis-buscador-wrapper *::after,
.apis-property-detail *,
.apis-property-detail *::before,
.apis-property-detail *::after,
.apis-property-detail-default *,
.apis-property-detail-default *::before,
.apis-property-detail-default *::after,
.apis-property-detail-showcase *,
.apis-property-detail-showcase *::before,
.apis-property-detail-showcase *::after,
.apis-property-detail-atelier *,
.apis-property-detail-atelier *::before,
.apis-property-detail-atelier *::after,
.apis-featured-slider *,
.apis-featured-slider *::before,
.apis-featured-slider *::after,
.apis-related-properties *,
.apis-related-properties *::before,
.apis-related-properties *::after,
.apis-contact-form *,
.apis-contact-form *::before,
.apis-contact-form *::after,
.apis-contact-form-modal *,
.apis-contact-form-modal *::before,
.apis-contact-form-modal *::after,
.card-templates-container *,
.card-templates-container *::before,
.card-templates-container *::after,
.apis-modal-preview-content *,
.apis-modal-preview-content *::before,
.apis-modal-preview-content *::after,
.apis-template-preview-layer *,
.apis-template-preview-layer *::before,
.apis-template-preview-layer *::after
{
	box-sizing: border-box;
}

/*
 * Antídoto frente a resets globales del tema:
 * img { max-width:100%; height:auto; border-radius:inherit }
 * a { text-decoration:underline } / tipografías de h1–h6 / márgenes de p/ul
 */
.apis-properties-grid img,
.apis-listado-with-map img,
.apis-featured-slider img,
.apis-related-properties img,
.apis-property-detail img,
.apis-property-detail-default img,
.apis-property-detail-showcase img,
.apis-property-detail-atelier img,
.buscador-propiedades img,
.apis-buscador-wrapper img,
.card-templates-container img,
.apis-modal-preview-content img,
.apis-template-preview-layer img,
.property-card-atlas img,
.property-card-newhome img,
.property-card-detailed img,
.property-card-panorama img,
.property-card-featured img,
.property-card-modern img,
.property-card-minimal img
{
	max-width: none !important;
	height: auto;
	border-radius: 0;
	box-shadow: none;
	vertical-align: middle;
}

/* Marcos de foto del listado: el tema no debe impedir cover a sangre */
.apis-properties-grid [class*="card-media"] img,
.apis-properties-grid [class*="card-image"] img,
.apis-listado-with-map [class*="card-media"] img,
.apis-listado-with-map [class*="card-image"] img,
.apis-featured-slider [class*="card-media"] img,
.apis-featured-slider [class*="card-image"] img,
.apis-related-properties [class*="card-media"] img,
.apis-related-properties [class*="card-image"] img,
.card-templates-container [class*="card-media"] img,
.card-templates-container [class*="card-image"] img,
.apis-modal-preview-content [class*="card-media"] img,
.apis-modal-preview-content [class*="card-image"] img,
.property-card-atlas .card-media-atlas__frame img,
.property-card-newhome .card-image-newhome img,
.property-card-detailed .card-image-detailed img,
.property-card-panorama .card-media-panorama img,
.property-card-featured .card-image-featured img,
.property-card-modern .card-image-modern img,
.property-card-minimal .card-image-minimal img
{
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0;
}

/* Galería detalle (carrusel): llenar el stage; el height:auto del antídoto arriba la partía. */
.apis-property-detail .apis-detail-gallery-slide__img,
.apis-property-detail-default .apis-detail-gallery-slide__img,
.apis-property-detail-showcase .apis-detail-gallery-slide__img,
.apis-property-detail-atelier .apis-detail-gallery-slide__img,
.apis-detail-gallery-carousel .apis-detail-gallery-slide__img,
.apis-detail-gallery-grid .img-main img,
.apis-detail-gallery-grid .img-secondary-wrapper img
{
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	object-fit: cover !important;
	object-position: center center !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

.property-card-atlas .card-media-atlas__frame
{
	aspect-ratio: 16 / 9;
	height: auto !important;
	min-height: 0 !important;
}

.apis-properties-grid a,
.apis-listado-with-map a,
.apis-featured-slider a,
.apis-related-properties a,
.apis-property-detail a,
.apis-property-detail-default a,
.apis-property-detail-showcase a,
.apis-property-detail-atelier a,
.buscador-propiedades a,
.apis-buscador-form a,
.apis-buscador-wrapper a,
.apis-contact-form a,
.apis-contact-form-modal a,
.card-templates-container a,
.apis-modal-preview-content a,
.property-card-atlas a,
.property-card-newhome a,
.property-card-detailed a,
.property-card-panorama a,
.property-card-featured a
{
	text-decoration: none;
	box-shadow: none;
}

.apis-properties-grid a:hover,
.apis-properties-grid a:focus,
.apis-listado-with-map a:hover,
.apis-listado-with-map a:focus,
.apis-featured-slider a:hover,
.apis-featured-slider a:focus,
.apis-related-properties a:hover,
.apis-related-properties a:focus,
.buscador-propiedades a:hover,
.buscador-propiedades a:focus,
.card-templates-container a:hover,
.card-templates-container a:focus,
.property-card-atlas a:hover,
.property-card-atlas a:focus,
.property-card-newhome a:hover,
.property-card-newhome a:focus
{
	text-decoration: none;
}

.apis-properties-grid h1,
.apis-properties-grid h2,
.apis-properties-grid h3,
.apis-properties-grid h4,
.apis-properties-grid h5,
.apis-properties-grid h6,
.apis-listado-with-map h1,
.apis-listado-with-map h2,
.apis-listado-with-map h3,
.apis-listado-with-map h4,
.apis-listado-with-map h5,
.apis-listado-with-map h6,
.apis-featured-slider h1,
.apis-featured-slider h2,
.apis-featured-slider h3,
.apis-featured-slider h4,
.apis-related-properties h1,
.apis-related-properties h2,
.apis-related-properties h3,
.apis-related-properties h4,
.apis-property-detail h1,
.apis-property-detail h2,
.apis-property-detail h3,
.apis-property-detail h4,
.card-templates-container h1,
.card-templates-container h2,
.card-templates-container h3,
.card-templates-container h4,
.property-card-atlas h1,
.property-card-atlas h2,
.property-card-atlas h3,
.property-card-atlas h4,
.property-card-newhome h1,
.property-card-newhome h2,
.property-card-newhome h3,
.property-card-newhome h4,
.property-card-detailed h1,
.property-card-detailed h2,
.property-card-detailed h3,
.property-card-detailed h4,
.property-card-panorama h1,
.property-card-panorama h2,
.property-card-panorama h3,
.property-card-panorama h4,
.property-card-featured h1,
.property-card-featured h2,
.property-card-featured h3,
.property-card-featured h4
{
	font-family: inherit;
	letter-spacing: normal;
	text-transform: none;
	margin: 0;
	padding: 0;
	line-height: 1.3;
	color: inherit;
	background: transparent;
	border: 0;
	box-shadow: none;
}

.apis-properties-grid p,
.apis-listado-with-map p,
.apis-featured-slider p,
.apis-related-properties p,
.card-templates-container p,
.property-card-atlas p,
.property-card-newhome p,
.property-card-detailed p,
.property-card-panorama p,
.property-card-featured p
{
	margin: 0;
	padding: 0;
	font-family: inherit;
	letter-spacing: normal;
}

.apis-properties-grid ul,
.apis-properties-grid ol,
.apis-listado-with-map ul,
.apis-listado-with-map ol,
.apis-featured-slider ul,
.apis-related-properties ul,
.card-templates-container ul,
.property-card-atlas ul,
.property-card-newhome ul,
.property-card-detailed ul,
.property-card-panorama ul,
.property-card-featured ul
{
	margin: 0;
	padding: 0;
	list-style: none;
}

.apis-properties-grid li,
.apis-listado-with-map li,
.apis-featured-slider li,
.apis-related-properties li,
.card-templates-container li,
.property-card-atlas li,
.property-card-newhome li,
.property-card-detailed li,
.property-card-panorama li,
.property-card-featured li
{
	margin: 0;
	padding: 0;
	list-style: none;
}

.apis-properties-grid figure,
.apis-listado-with-map figure,
.apis-featured-slider figure,
.apis-related-properties figure,
.card-templates-container figure,
.apis-property-detail figure
{
	margin: 0;
	padding: 0;
	border: 0;
}

.apis-properties-grid button,
.apis-listado-with-map button,
.buscador-propiedades button,
.apis-buscador-form button,
.apis-contact-form button,
.apis-contact-form-modal button,
.card-templates-container button
{
	font-family: inherit;
}
