/*
 * Inmudescuentos Core — Brand system 0.16.8
 * ODUDA: títulos · Aileron: interfaz y lectura.
 */
/*
 * La edición Demo no contiene las vocales acentuadas, diéresis ni eñe. Cuando
 * se registraba como ODUDA el navegador componía cada palabra con dos fuentes:
 * Oduda para el alfabeto básico y el fallback para los glifos ausentes.
 *
 * Los tres archivos siguientes son las variantes locales completas. Los pesos
 * 500, 600 y 700 apuntan deliberadamente a SemiBold para conservar el grosor de
 * marca solicitado en todos los módulos heredados sin sintetizar una Bold Demo.
 */
@font-face {
	font-family: "ODUDA";
	src: url("../fonts/Oduda-Light.otf") format("opentype");
	font-style: normal;
	font-weight: 300;
	font-display: swap;
}

@font-face {
	font-family: "ODUDA";
	src: url("../fonts/Oduda-Regular.otf") format("opentype");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: "ODUDA";
	src: url("../fonts/Oduda-SemiBold.otf") format("opentype");
	font-style: normal;
	font-weight: 500;
	font-display: swap;
}

@font-face {
	font-family: "ODUDA";
	src: url("../fonts/Oduda-SemiBold.otf") format("opentype");
	font-style: normal;
	font-weight: 600;
	font-display: swap;
}

@font-face {
	font-family: "ODUDA";
	src: url("../fonts/Oduda-SemiBold.otf") format("opentype");
	font-style: normal;
	font-weight: 700;
	font-display: swap;
}

@font-face {
	font-family: "Aileron";
	src: url("../fonts/Aileron-Regular.woff2") format("woff2");
	font-style: normal;
	font-weight: 400;
	font-display: swap;
}

@font-face {
	font-family: "Aileron";
	src: url("../fonts/Aileron-SemiBold.woff2") format("woff2");
	font-style: normal;
	font-weight: 600;
	font-display: swap;
}

@font-face {
	font-family: "Aileron";
	src: url("../fonts/Aileron-Bold.woff2") format("woff2");
	font-style: normal;
	font-weight: 700;
	font-display: swap;
}

@font-face {
	font-family: "Aileron";
	src: url("../fonts/Aileron-Black.woff2") format("woff2");
	font-style: normal;
	font-weight: 900;
	font-display: swap;
}

:root {
	--imd-brand-red: #d72a2b;
	--imd-brand-red-strong: #b91f20;
	--imd-brand-anthracite: #16191c;
	--imd-brand-dark-secondary: #1d2328;
	--imd-brand-white: #ffffff;
	--imd-brand-gray: #f7f8fa;
	--imd-brand-gray-alt: #f6f7f8;
	--imd-brand-caramel: #bf9768;
	--imd-brand-rose: #f0bbb7;
	--imd-brand-yellow: #ffd66b;
	--imd-selection: #eeb6b5;
	--imd-font-heading: ODUDA, "Arial Rounded MT Bold", Aileron, Arial, sans-serif;
	--imd-font-body: Aileron, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	--imd-type-display: clamp(2.35rem, 4.4vw, 4.4rem);
	--imd-type-title: clamp(1.85rem, 3.2vw, 3.25rem);
	--imd-type-subtitle: clamp(1.35rem, 2.15vw, 2.2rem);
	--imd-type-body: clamp(.97rem, 1vw, 1.05rem);
	--imd-radius-xs: 10px;
	--imd-radius-sm: 14px;
	--imd-radius-md: 20px;
	--imd-radius-lg: 28px;
	--imd-shadow-soft: 0 18px 48px rgba(22, 25, 28, .08);
	--imd-shadow-lift: 0 24px 64px rgba(22, 25, 28, .13);
	--imd-focus-ring: 0 0 0 4px rgba(215, 42, 43, .20);
	--imd-interaction: var(--imd-brand-red);
	--imd-interaction-strong: var(--imd-brand-red-strong);
	--imd-interaction-soft: rgba(215, 42, 43, .09);
}

::selection,
body.imd-core-brand ::selection,
.wp-admin ::selection {
	background: var(--imd-selection);
	color: var(--imd-brand-anthracite);
}

body.imd-core-brand {
	color: var(--imd-brand-dark-secondary);
	font-family: var(--imd-font-body);
}

/* Barra mínima para el administrador que también atiende su perfil broker.
 * La clase sólo existe en frontend y bajo manage_options; /wp-admin/ conserva
 * íntegra la navegación nativa de WordPress. */
body.imd-compact-admin-bar #wpadminbar {
	border-bottom: 2px solid var(--imd-brand-red);
	background: rgba(22, 25, 28, .98) !important;
	box-shadow: 0 8px 24px rgba(22, 25, 28, .18);
	color: #fff;
	font-family: var(--imd-font-body);
}

body.imd-compact-admin-bar #wpadminbar .quicklinks > ul {
	display: flex;
	align-items: center;
}

body.imd-compact-admin-bar #wpadminbar .ab-top-menu > li > .ab-item {
	display: flex;
	height: 26px;
	align-items: center;
	margin: 3px 3px 0;
	padding: 0 11px;
	border-radius: 999px;
	color: rgba(255, 255, 255, .88) !important;
	font-family: var(--imd-font-body);
	font-size: 12px;
	font-weight: 700;
	line-height: 26px;
}

body.imd-compact-admin-bar #wpadminbar .ab-top-menu > li:hover > .ab-item,
body.imd-compact-admin-bar #wpadminbar .ab-top-menu > li.hover > .ab-item,
body.imd-compact-admin-bar #wpadminbar .ab-top-menu > li > .ab-item:focus {
	background: rgba(255, 255, 255, .11) !important;
	color: #fff !important;
}

body.imd-compact-admin-bar #wpadminbar #wp-admin-bar-wp-logo > .ab-item {
	width: 36px;
	justify-content: center;
	margin-left: 3px;
	padding: 0;
}

body.imd-compact-admin-bar #wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon {
	width: 22px;
	height: 22px;
	margin: 0;
	padding: 0;
}

body.imd-compact-admin-bar #wpadminbar #wp-admin-bar-wp-logo > .ab-item .ab-icon::before {
	top: 0;
	color: #fff;
}

body.imd-compact-admin-bar #wpadminbar #wp-admin-bar-imd-edit-content > .ab-item {
	padding-inline: 14px;
	background: var(--imd-brand-red) !important;
	box-shadow: 0 5px 14px rgba(215, 42, 43, .30);
	color: #fff !important;
}

body.imd-compact-admin-bar #wpadminbar #wp-admin-bar-imd-edit-content > .ab-item::before {
	margin-right: 6px;
	color: currentColor;
	content: "\f464";
	font: normal 16px/1 dashicons;
	-webkit-font-smoothing: antialiased;
}

body.imd-compact-admin-bar #wpadminbar #wp-admin-bar-imd-edit-content:hover > .ab-item,
body.imd-compact-admin-bar #wpadminbar #wp-admin-bar-imd-edit-content > .ab-item:focus {
	background: var(--imd-brand-red-strong) !important;
}

body.imd-compact-admin-bar #wpadminbar .ab-sub-wrapper {
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 0 0 var(--imd-radius-sm) var(--imd-radius-sm);
	background: #20252a !important;
	box-shadow: 0 16px 40px rgba(0, 0, 0, .28);
}

body.imd-compact-admin-bar #wpadminbar .ab-submenu .ab-item {
	color: rgba(255, 255, 255, .82) !important;
	font-family: var(--imd-font-body);
}

body.imd-compact-admin-bar #wpadminbar .ab-submenu .ab-item:hover,
body.imd-compact-admin-bar #wpadminbar .ab-submenu .ab-item:focus {
	background: rgba(215, 42, 43, .16) !important;
	color: #fff !important;
}

@media screen and (max-width: 782px) {
	body.imd-compact-admin-bar #wpadminbar,
	body.imd-compact-admin-bar #wpadminbar .quicklinks {
		height: 46px;
		min-width: 0;
	}

	body.imd-compact-admin-bar #wpadminbar .quicklinks > ul > li,
	body.imd-compact-admin-bar #wpadminbar #wp-admin-bar-wp-logo {
		display: block !important;
	}

	body.imd-compact-admin-bar #wpadminbar .ab-top-menu > li > .ab-item {
		height: 34px;
		margin-top: 5px;
		padding-inline: 9px;
		font-size: 11px;
		line-height: 34px;
	}

	body.imd-compact-admin-bar #wpadminbar #wp-admin-bar-wp-logo > .ab-item {
		width: 40px;
	}

	body.imd-compact-admin-bar #wpadminbar #wp-admin-bar-imd-edit-content > .ab-item {
		padding-inline: 11px;
	}
}

@media screen and (max-width: 380px) {
	body.imd-compact-admin-bar #wpadminbar .ab-top-menu > li > .ab-item {
		padding-inline: 7px;
		font-size: 10px;
	}

	body.imd-compact-admin-bar #wpadminbar #wp-admin-bar-imd-edit-content > .ab-item::before {
		display: none;
	}
}

/* La jerarquía de titulares usa el peso SemiBold completo de ODUDA. */
body.imd-core-brand :where(h1,h2,h3,.imd-heading,.imd-card-title,.imd-modal-title) {
	font-weight: 600 !important;
	font-synthesis: none;
}

body.imd-core-brand :where(button, input, select, textarea) {
	font-family: var(--imd-font-body) !important;
	accent-color: var(--imd-brand-red);
	caret-color: var(--imd-brand-red);
}

.imd-legal-footer {
	position: relative;
	z-index: 2;
	width: 100%;
	margin: 0;
	border-top: 1px solid rgba(255,255,255,.24);
	background: var(--imd-brand-red, #d72a2b) !important;
	color: #fff !important;
	font-family: var(--imd-font-body);
	/* El script de colocación hereda el tamaño calculado del copyright del tema. */
	font-size: var(--imd-legal-footer-font-size, 1rem);
	line-height: 1.45;
}
.imd-legal-footer__inner {
	box-sizing: border-box;
	width: min(1180px, 100%);
	margin: 0 auto;
	padding: 16px 18px;
}
.imd-legal-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 18px; }
.imd-legal-footer .imd-legal-links a { color: #fff !important; font-size: inherit !important; font-weight: 700; line-height: inherit; text-decoration: none; }
.imd-legal-footer .imd-legal-links a:hover,
.imd-legal-footer .imd-legal-links a:focus-visible,
.imd-legal-footer .imd-legal-links a[aria-current="page"] { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; }
.imd-legal-copyright-surface {
	border-top-color: rgba(255,255,255,.24) !important;
	background: var(--imd-brand-red, #d72a2b) !important;
	color: #fff !important;
}
.imd-legal-copyright-surface :where(p, span, small, div, a) { color: #fff !important; }
.imd-legal-copyright-surface a:hover,
.imd-legal-copyright-surface a:focus-visible { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; }

/* Las páginas documentales ya contienen su propio h1 dentro de la tarjeta. */
body.imd-legal-page :where(
	.entry-header,
	.page-header,
	.entry-title,
	.page-title,
	h1.wp-block-post-title,
	.hero-section,
	.ct-page-title
) {
	display: none !important;
}

body.imd-legal-page {
	--content-vertical-spacing: 0px !important;
}

body.imd-legal-page :where(
	[data-vertical-spacing*="top"],
	.site-main,
	#main,
	.content-area,
	.entry-content,
	.ct-container-full
) {
	padding-top: 0 !important;
	margin-top: 0 !important;
}

.imd-legal-document {
	box-sizing: border-box;
	width: min(980px, calc(100% - 34px));
	margin: 16px auto 34px;
	padding: clamp(24px,5vw,58px);
	border: 1px solid rgba(22,25,28,.12);
	border-radius: 28px;
	background: #fff;
	box-shadow: var(--imd-shadow-soft);
	color: var(--imd-brand-dark-secondary);
	font-family: var(--imd-font-body);
}
.imd-legal-document :where(h1, h2, h3, h4, strong) { color: var(--imd-brand-anthracite); }
.imd-legal-document h1,
.imd-legal-document h2 { font-family: var(--imd-font-heading); font-weight: 600; }
.imd-legal-document h1 { margin: 4px 0 12px; font-size: clamp(2.3rem,5vw,4.2rem); line-height: 1; }
.imd-legal-document h2 { font-size: 1.45rem; }
.imd-legal-document header,
.imd-legal-document section { padding-bottom: 22px; border-bottom: 1px solid rgba(22,25,28,.1); }
.imd-legal-document section { padding-top: 22px; }
.imd-legal-document :where(p, li, dd, dt, th, td) { color: var(--imd-brand-dark-secondary) !important; line-height: 1.7; }
.imd-legal-document a { color: var(--imd-brand-red) !important; text-decoration-thickness: 1px; text-underline-offset: 2px; }
.imd-legal-document > footer { padding-top: 24px; color: #687078; font-size: .84rem; }
.imd-legal-document > footer p { color: #687078 !important; }
.imd-legal-warning { margin: 18px 0; padding: 16px; border-left: 4px solid var(--imd-brand-red); border-radius: 10px; background: rgba(215,42,43,.08); }

html[data-theme="dark"] .imd-legal-document,
html[data-imd-color-scheme="dark"] .imd-legal-document,
html.inmudescuentos-site-dark .imd-legal-document,
html.imh-site-dark .imd-legal-document,
body.imd-dark-mode .imd-legal-document {
	border-color: rgba(255,255,255,.16);
	background: #1d2429;
	box-shadow: 0 24px 65px rgba(0,0,0,.24);
	color: #eef1f3;
}
html[data-theme="dark"] .imd-legal-document :where(h1, h2, h3, h4, strong),
html[data-imd-color-scheme="dark"] .imd-legal-document :where(h1, h2, h3, h4, strong),
html.inmudescuentos-site-dark .imd-legal-document :where(h1, h2, h3, h4, strong),
html.imh-site-dark .imd-legal-document :where(h1, h2, h3, h4, strong),
body.imd-dark-mode .imd-legal-document :where(h1, h2, h3, h4, strong) { color: #f8f9fa !important; }
html[data-theme="dark"] .imd-legal-document :where(p, li, dd, dt, th, td),
html[data-imd-color-scheme="dark"] .imd-legal-document :where(p, li, dd, dt, th, td),
html.inmudescuentos-site-dark .imd-legal-document :where(p, li, dd, dt, th, td),
html.imh-site-dark .imd-legal-document :where(p, li, dd, dt, th, td),
body.imd-dark-mode .imd-legal-document :where(p, li, dd, dt, th, td) { color: #dce2e6 !important; }
html[data-theme="dark"] .imd-legal-document :where(header, section),
html[data-imd-color-scheme="dark"] .imd-legal-document :where(header, section),
html.inmudescuentos-site-dark .imd-legal-document :where(header, section),
html.imh-site-dark .imd-legal-document :where(header, section),
body.imd-dark-mode .imd-legal-document :where(header, section) { border-bottom-color: rgba(255,255,255,.14); }
html[data-theme="dark"] .imd-legal-document a,
html[data-imd-color-scheme="dark"] .imd-legal-document a,
html.inmudescuentos-site-dark .imd-legal-document a,
html.imh-site-dark .imd-legal-document a,
body.imd-dark-mode .imd-legal-document a { color: #ff767b !important; }
html[data-theme="dark"] .imd-legal-document .imd-eyebrow,
html[data-imd-color-scheme="dark"] .imd-legal-document .imd-eyebrow,
html.inmudescuentos-site-dark .imd-legal-document .imd-eyebrow,
html.imh-site-dark .imd-legal-document .imd-eyebrow,
body.imd-dark-mode .imd-legal-document .imd-eyebrow { color: #ff767b !important; }
html[data-theme="dark"] .imd-legal-document > footer p,
html[data-imd-color-scheme="dark"] .imd-legal-document > footer p,
html.inmudescuentos-site-dark .imd-legal-document > footer p,
html.imh-site-dark .imd-legal-document > footer p,
body.imd-dark-mode .imd-legal-document > footer p { color: #bac4ca !important; }
html[data-theme="dark"] .imd-legal-warning,
html[data-imd-color-scheme="dark"] .imd-legal-warning,
html.inmudescuentos-site-dark .imd-legal-warning,
html.imh-site-dark .imd-legal-warning,
body.imd-dark-mode .imd-legal-warning { background: rgba(215,42,43,.18); }

html[data-theme="dark"] body.imd-legal-page :where(.entry-title, .page-title, .ct-page-title),
html[data-imd-color-scheme="dark"] body.imd-legal-page :where(.entry-title, .page-title, .ct-page-title),
html.inmudescuentos-site-dark body.imd-legal-page :where(.entry-title, .page-title, .ct-page-title),
html.imh-site-dark body.imd-legal-page :where(.entry-title, .page-title, .ct-page-title),
body.imd-dark-mode.imd-legal-page :where(.entry-title, .page-title, .ct-page-title) { color: #f8f9fa !important; }
html[data-theme="dark"] body.imd-legal-page :where(.entry-header, .page-header, .entry-content, .site-main, .content-area),
html[data-imd-color-scheme="dark"] body.imd-legal-page :where(.entry-header, .page-header, .entry-content, .site-main, .content-area),
html.inmudescuentos-site-dark body.imd-legal-page :where(.entry-header, .page-header, .entry-content, .site-main, .content-area),
html.imh-site-dark body.imd-legal-page :where(.entry-header, .page-header, .entry-content, .site-main, .content-area),
body.imd-dark-mode.imd-legal-page :where(.entry-header, .page-header, .entry-content, .site-main, .content-area) { color: #dce2e6 !important; }
.imd-payment-legal{display:flex;grid-column:1/-1;gap:9px;align-items:flex-start;padding:10px 12px;border:1px solid rgba(215,42,43,.2);border-radius:11px;background:rgba(215,42,43,.05);font-size:.78rem;line-height:1.45}.imd-payment-legal input{margin-top:2px}.imd-payment-legal a{color:var(--imd-brand-red);font-weight:700}
.imd-privacy-summary{margin:10px 0;padding:10px 12px;border:1px solid rgba(22,25,28,.12);border-radius:11px;background:var(--imd-brand-gray);font-size:.75rem}.imd-privacy-summary summary{color:var(--imd-brand-red);font-weight:800;cursor:pointer}.imd-privacy-summary p{margin:9px 0 0;line-height:1.55}.imd-privacy-summary a{color:var(--imd-brand-red);font-weight:700}

body.imd-core-brand :where(p, li, label) {
	font-family: var(--imd-font-body) !important;
}

body.imd-core-brand :where(.imda, .imd-ph-shell, .imd-ph-mobile-layer) {
	font-family: var(--imd-font-body) !important;
}

body.imd-core-brand :where(h1, h2, h3, h4, h5, h6) {
	font-family: var(--imd-font-heading) !important;
	font-weight: 600 !important;
	font-synthesis: none;
	letter-spacing: -.025em;
	text-wrap: balance;
}

/* La hoja sólo se carga en wp-admin cuando la pantalla pertenece a Core. */
.wp-admin :where(.wrap, [class*="imd-"]) :where(button, input, select, textarea, p, li, label) {
	font-family: var(--imd-font-body);
}

.wp-admin :where(.wrap, [class*="imd-"]) :where(h1, h2, h3, h4) {
	font-family: var(--imd-font-heading);
	font-weight: 600;
	font-synthesis: none;
	letter-spacing: -.025em;
}

.wp-admin :where(.wrap, [class*="imd-"]) :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea) {
	border-color: #cfd4d8;
	border-radius: var(--imd-radius-xs);
}

.wp-admin :where(.wrap, [class*="imd-"]) :where(input:not([type="checkbox"]):not([type="radio"]), select, textarea):focus {
	border-color: var(--imd-brand-red);
	box-shadow: var(--imd-focus-ring);
}

body.imd-core-brand :where(.imd-dashboard,.imd-editor,.imd-property-detail,.imd-catalog,.imd-login-required,.imd-notice,.imd-account-shell,.imd-account-dashboard,.imd-directory,.imd-public-profile,.imd-community-shell,.imd-collaboration-shell,.imd-buyer-register,.imd-buyer-account,.imd-inbox) :where(p,li,label,input,select,textarea,button) {
	font-family: var(--imd-font-body) !important;
}

body.imd-core-brand :where(.imd-dashboard,.imd-editor,.imd-property-detail,.imd-catalog,.imd-account-shell,.imd-account-dashboard,.imd-directory,.imd-public-profile,.imd-community-shell,.imd-collaboration-shell,.imd-buyer-register,.imd-buyer-account,.imd-inbox) > :where(h1),
body.imd-core-brand :where(.imd-dashboard,.imd-editor,.imd-property-detail,.imd-catalog,.imd-account-shell,.imd-account-dashboard,.imd-directory,.imd-public-profile,.imd-community-shell,.imd-collaboration-shell,.imd-buyer-register,.imd-buyer-account,.imd-inbox) :where(.imd-page-title,h1) {
	font-size: var(--imd-type-title);
	line-height: 1.04;
}

.imd-core-brand :where(.imd-dashboard,.imd-editor,.imd-property-detail,.imd-catalog,.imd-login-required,.imd-notice,.imd-account-shell,.imd-account-dashboard,.imd-directory,.imd-public-profile,.imd-community-shell,.imd-collaboration-shell,.imd-buyer-register,.imd-buyer-account,.imd-inbox) {
	font-family: var(--imd-font-body);
	color: var(--imd-brand-anthracite);
}

.imd-core-brand :where(.imd-dashboard,.imd-editor,.imd-property-detail,.imd-catalog,.imd-account-shell,.imd-account-dashboard,.imd-directory,.imd-public-profile,.imd-community-shell,.imd-collaboration-shell,.imd-buyer-register,.imd-buyer-account,.imd-inbox) :where(h1,h2,h3,h4) {
	font-family: var(--imd-font-heading);
	font-weight: 600;
	letter-spacing: -.025em;
	text-wrap: balance;
}

.imd-core-brand :where(.imd-button,.imd-professional-nav__item,.imd-rewards-nav__item,.imd-inbox-filter) {
	font-family: var(--imd-font-body);
	-webkit-tap-highlight-color: transparent;
}

html.imd-keyboard-navigation body.imd-core-brand :where(a,button,input,select,textarea,[tabindex]):focus-visible {
	outline: 2px solid var(--imd-brand-red);
	outline-offset: 3px;
	box-shadow: var(--imd-focus-ring);
}

.imd-core-brand :where(.imd-button,.imd-professional-nav__item,.imd-rewards-nav__item,.inmps__load-more) {
	transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

@media (hover:hover) {
	.imd-core-brand :where(.imd-button,.imd-professional-nav__item,.imd-rewards-nav__item,.inmps__load-more):hover {
		transform: translateY(-1px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.imd-core-brand *,
	.imd-core-brand *::before,
	.imd-core-brand *::after {
		scroll-behavior: auto !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}

/* La identidad compartida vive únicamente en Core. Las reglas importantes
 * evitan que un tema posterior recupere azules en Core o Editorial. */
body.imd-core-brand {
	-webkit-tap-highlight-color: transparent;
}

body.imd-core-brand :is(.imde-shell, .imde-single-page, .imde-comments, .imde-comment-access) :is(h1, h2, h3, h4, h5, h6) {
	font-family: var(--imd-font-heading) !important;
	font-weight: 600 !important;
	font-style: normal !important;
	font-stretch: normal !important;
	hyphens: none !important;
	overflow-wrap: normal;
	word-break: normal;
	text-wrap: balance;
}

body.imd-core-brand :where(
	.imde-card__footer a,
	.imde-data a,
	.imde-login-card__help,
	.imde-single__content a,
	.imd-account-alternative a,
	.imd-account-links a,
	.imd-directory-card a,
	.imd-inline-link,
	.imd-property-card__details
),
body.imd-core-brand :where(
	.imde-card__footer a,
	.imde-data a,
	.imde-login-card__help,
	.imde-single__content a,
	.imd-account-alternative a,
	.imd-account-links a,
	.imd-directory-card a,
	.imd-inline-link,
	.imd-property-card__details
):visited {
	color: var(--imd-interaction) !important;
	text-decoration-color: rgba(215, 42, 43, .45) !important;
}

body.imd-core-brand :where(
	.imde-card__footer a,
	.imde-data a,
	.imde-login-card__help,
	.imde-single__content a,
	.imd-account-alternative a,
	.imd-account-links a,
	.imd-directory-card a,
	.imd-inline-link,
	.imd-property-card__details
):is(:hover, :focus-visible) {
	color: var(--imd-interaction-strong) !important;
}

body.imd-core-brand :is(.imde-single__content, .imde-single-page) blockquote {
	border-left-color: var(--imd-interaction) !important;
	border-inline-start-color: var(--imd-interaction) !important;
	background-image: linear-gradient(90deg, rgba(215, 42, 43, .07), transparent 72%) !important;
}

	body.imd-core-brand :where(
	.imd-button--primary,
	.imde-button--primary,
	.imd-profile-catalog-filters__submit,
	button.is-active,
	button[aria-selected="true"],
	button[aria-pressed="true"]
):is(:hover, :focus-visible) {
	border-color: var(--imd-interaction-strong) !important;
	background-color: var(--imd-interaction-strong) !important;
	color: #fff !important;
}

body.imd-core-brand :where(
	.imd-button--secondary,
	.imd-button--ghost,
	.imde-button--ghost
):is(:hover, :focus-visible) {
	border-color: var(--imd-interaction) !important;
	background-color: var(--imd-interaction-soft) !important;
	color: var(--imd-interaction-strong) !important;
}

body.imd-core-brand :where(
	.imd-core-home,
	.imd-dashboard,
	.imd-editor,
	.imd-property-detail,
	.imd-catalog,
	.imd-account-shell,
	.imd-community-shell,
	.imd-collaboration-shell,
	.imd-buyer-register,
	.imd-buyer-account,
	.imd-inbox,
	.imde-shell,
	.imde-single-page,
	.inmfpb2,
	.inmps
) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea):hover {
	border-color: rgba(215, 42, 43, .38) !important;
}

body.imd-core-brand :where(
	.imd-core-home,
	.imd-dashboard,
	.imd-editor,
	.imd-property-detail,
	.imd-catalog,
	.imd-account-shell,
	.imd-community-shell,
	.imd-collaboration-shell,
	.imd-buyer-register,
	.imd-buyer-account,
	.imd-inbox,
	.imde-shell,
	.imde-single-page,
	.inmfpb2,
	.inmps
) :where(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]), select, textarea):is(:focus, :focus-visible) {
	border-color: var(--imd-interaction) !important;
	outline: 0 !important;
	box-shadow: var(--imd-focus-ring) !important;
}

html[data-theme="dark"] .imd-core-brand,
html[data-imd-color-scheme="dark"] .imd-core-brand,
html.inmudescuentos-site-dark .imd-core-brand,
html.imh-site-dark .imd-core-brand {
	--imd-brand-gray: #1d2328;
	--imd-brand-gray-alt: #242a31;
	--imd-brand-white: #16191c;
	--imd-shadow-soft: 0 18px 50px rgba(0, 0, 0, .25);
	--imd-shadow-lift: 0 28px 72px rgba(0, 0, 0, .38);
}

/* Calendario de marca compartido por formularios, Editorial y Assistant. */
.imd-date-picker {
	display: block;
	position: relative;
	width: 100%;
	font-family: var(--imd-font-body, Aileron, Arial, sans-serif);
}

.imd-date-picker__trigger {
	align-items: center !important;
	background: #fff !important;
	border: 1px solid rgba(215, 42, 43, .32) !important;
	border-radius: 15px !important;
	box-shadow: none !important;
	color: #626a72 !important;
	cursor: pointer;
	display: flex !important;
	font: 600 15px/1.25 var(--imd-font-body, Aileron, Arial, sans-serif) !important;
	gap: 10px;
	justify-content: flex-start !important;
	min-height: 48px;
	padding: 11px 14px !important;
	text-align: left !important;
	width: 100%;
}

.imd-date-picker__trigger svg {
	fill: none;
	flex: 0 0 22px;
	height: 22px;
	stroke: #ef0000;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.8;
	width: 22px;
}

.imd-date-picker__trigger.has-value { color: #171b20 !important; }
.imd-date-picker__trigger:is(:hover, :focus-visible),
.imd-date-picker.is-open .imd-date-picker__trigger {
	border-color: #ef0000 !important;
	box-shadow: 0 0 0 3px rgba(239, 0, 0, .12) !important;
	outline: 0 !important;
}
.imd-date-picker__trigger:disabled { cursor: not-allowed; opacity: .55; }

.imd-date-picker__panel {
	background: #fff;
	border: 1px solid rgba(239, 0, 0, .22);
	border-radius: 20px;
	box-shadow: 0 22px 65px rgba(22, 27, 32, .24);
	box-sizing: border-box;
	color: #171b20;
	display: block;
	font-family: var(--imd-font-body, Aileron, Arial, sans-serif);
	padding: 14px;
	position: fixed;
	z-index: 100160;
}
.imd-date-picker__panel[hidden] { display: none !important; }

.imd-date-picker__header,
.imd-date-picker__week,
.imd-date-picker__days,
.imd-date-picker__footer {
	display: grid;
}
.imd-date-picker__header {
	align-items: center;
	grid-template-columns: 38px 1fr 38px;
	margin-bottom: 10px;
}
.imd-date-picker__header strong {
	font: 800 16px/1.2 var(--imd-font-body, Aileron, Arial, sans-serif) !important;
	text-align: center;
}
.imd-date-picker__header button,
.imd-date-picker__footer button,
.imd-date-picker__days button {
	appearance: none;
	-webkit-appearance: none;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: #171b20 !important;
	cursor: pointer;
	font-family: var(--imd-font-body, Aileron, Arial, sans-serif) !important;
	margin: 0 !important;
}
.imd-date-picker__header button {
	align-items: center;
	border-radius: 12px !important;
	display: flex;
	font-size: 29px !important;
	height: 38px;
	justify-content: center;
	line-height: 1 !important;
	padding: 0 0 4px !important;
}
.imd-date-picker__week,
.imd-date-picker__days { grid-template-columns: repeat(7, 1fr); }
.imd-date-picker__week b {
	color: #747b82;
	font-size: 11px;
	font-weight: 800;
	padding: 5px 0 8px;
	text-align: center;
	text-transform: uppercase;
}
.imd-date-picker__days { gap: 3px; }
.imd-date-picker__days > span,
.imd-date-picker__days button {
	align-items: center;
	border-radius: 11px !important;
	display: flex;
	font-size: 13px !important;
	font-weight: 700 !important;
	height: 36px;
	justify-content: center;
	padding: 0 !important;
}
.imd-date-picker__header button:not(:disabled):is(:hover, :focus-visible),
.imd-date-picker__footer button:not(:disabled):is(:hover, :focus-visible),
.imd-date-picker__days button:not(:disabled):not(.is-selected):is(:hover, :focus-visible) {
	background: #fff0f0 !important;
	color: #a91d1e !important;
	outline: 2px solid rgba(215, 42, 43, .28) !important;
	outline-offset: 1px;
}
.imd-date-picker__days button.is-today:not(.is-selected) { box-shadow: inset 0 0 0 1px #ef0000 !important; color: #a91d1e !important; }
.imd-date-picker__days button.is-selected,
.imd-date-picker__days button.is-selected:is(:hover, :focus-visible) { background: #ef0000 !important; box-shadow: none !important; color: #fff !important; }
.imd-date-picker__days button.is-selected:focus-visible {
	outline: 2px solid rgba(128, 14, 18, .58) !important;
	outline-offset: 2px;
}
.imd-date-picker__days button:disabled {
	background: transparent !important;
	box-shadow: none !important;
	color: #747b82 !important;
	cursor: not-allowed;
	opacity: 1;
	outline: 0 !important;
}
.imd-date-picker__footer {
	border-top: 1px solid #eceff1;
	grid-template-columns: 1fr 1fr;
	margin-top: 10px;
	padding-top: 10px;
}
.imd-date-picker__footer button {
	border-radius: 10px !important;
	color: #d72a2b !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	padding: 9px 12px !important;
}
.imd-date-picker__footer button:first-child { justify-self: start; }
.imd-date-picker__footer button:last-child { justify-self: end; }
.imd-date-picker__footer button:disabled {
	background: transparent !important;
	color: #747b82 !important;
	cursor: not-allowed;
	opacity: 1;
	outline: 0 !important;
}
.imd-date-picker__error {
	color: #bd111d;
	display: block;
	font-size: 12px;
	font-weight: 700;
	min-height: 0;
	padding: 0 4px;
}
.imd-date-picker__error:not(:empty) { padding-top: 9px; }

:is(
	html[data-theme="dark"],
	html[data-imd-color-scheme="dark"],
	html.inmudescuentos-site-dark,
	html.imh-site-dark,
	body.dark-mode,
	body.imd-dark-mode
) :is(.imd-date-picker__trigger, .imd-date-picker__panel) {
	background: #1d2328 !important;
	color: #f8f9fa !important;
}
:is(
	html[data-theme="dark"],
	html[data-imd-color-scheme="dark"],
	html.inmudescuentos-site-dark,
	html.imh-site-dark,
	body.dark-mode,
	body.imd-dark-mode
) .imd-date-picker__trigger.has-value { color: #f8f9fa !important; }
:is(
	html[data-theme="dark"],
	html[data-imd-color-scheme="dark"],
	html.inmudescuentos-site-dark,
	html.imh-site-dark,
	body.dark-mode,
	body.imd-dark-mode
) .imd-date-picker :is(.imd-date-picker__header button, .imd-date-picker__days button) { color: #f8f9fa !important; }
:is(
	html[data-theme="dark"],
	html[data-imd-color-scheme="dark"],
	html.inmudescuentos-site-dark,
	html.imh-site-dark,
	body.dark-mode,
	body.imd-dark-mode
) .imd-date-picker__footer { border-top-color: #353c43; }

/*
 * Los estados del calendario deben ganar a las reglas globales de botones.
 * Mantenerlos al final evita que hover/aria-selected deje el número sin contraste.
 */
:is(
	html[data-theme="dark"],
	html[data-imd-color-scheme="dark"],
	html.inmudescuentos-site-dark,
	html.imh-site-dark,
	body.dark-mode,
	body.imd-dark-mode
) .imd-date-picker__footer button { color: #ff8587 !important; }

:is(
	html[data-theme="dark"],
	html[data-imd-color-scheme="dark"],
	html.inmudescuentos-site-dark,
	html.imh-site-dark,
	body.dark-mode,
	body.imd-dark-mode
) :is(
	.imd-date-picker__header button:not(:disabled):is(:hover, :focus-visible),
	.imd-date-picker__footer button:not(:disabled):is(:hover, :focus-visible),
	.imd-date-picker__days button:not(:disabled):not(.is-selected):is(:hover, :focus-visible)
) {
	background: #382225 !important;
	color: #ffadae !important;
	outline-color: rgba(255, 133, 135, .55) !important;
}

:is(
	html[data-theme="dark"],
	html[data-imd-color-scheme="dark"],
	html.inmudescuentos-site-dark,
	html.imh-site-dark,
	body.dark-mode,
	body.imd-dark-mode
) .imd-date-picker__days button.is-today:not(.is-selected) {
	box-shadow: inset 0 0 0 1px #ff6b6d !important;
	color: #ff8587 !important;
}

:is(
	html[data-theme="dark"],
	html[data-imd-color-scheme="dark"],
	html.inmudescuentos-site-dark,
	html.imh-site-dark,
	body.dark-mode,
	body.imd-dark-mode
) .imd-date-picker__days button.is-selected,
:is(
	html[data-theme="dark"],
	html[data-imd-color-scheme="dark"],
	html.inmudescuentos-site-dark,
	html.imh-site-dark,
	body.dark-mode,
	body.imd-dark-mode
) .imd-date-picker__days button.is-selected:is(:hover, :focus-visible) {
	background: #ef0000 !important;
	color: #fff !important;
}

:is(
	html[data-theme="dark"],
	html[data-imd-color-scheme="dark"],
	html.inmudescuentos-site-dark,
	html.imh-site-dark,
	body.dark-mode,
	body.imd-dark-mode
) .imd-date-picker__days button.is-selected:focus-visible {
	outline-color: #ffadae !important;
}

:is(
	html[data-theme="dark"],
	html[data-imd-color-scheme="dark"],
	html.inmudescuentos-site-dark,
	html.imh-site-dark,
	body.dark-mode,
	body.imd-dark-mode
) :is(.imd-date-picker__days button:disabled, .imd-date-picker__footer button:disabled) {
	background: transparent !important;
	color: #929ca3 !important;
	opacity: 1;
}
