.imd-mortgage,
.imd-mortgage-cta {
	--imd-mortgage-red: var(--imd-brand-red, #d72a2b);
	--imd-mortgage-red-strong: var(--imd-brand-red-strong, #b91f20);
	--imd-mortgage-ink: var(--imd-brand-anthracite, #16191c);
	--imd-mortgage-muted: #667078;
	box-sizing: border-box;
	font-family: var(--imd-font-body, Aileron, Arial, sans-serif);
}

.imd-mortgage *,
.imd-mortgage *::before,
.imd-mortgage *::after,
.imd-mortgage-cta *,
.imd-mortgage-cta *::before,
.imd-mortgage-cta *::after { box-sizing: border-box; }

.imd-mortgage-visually-hidden {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

.imd-mortgage {
	width: min(1240px, calc(100% - 32px));
	margin: clamp(16px, 3vw, 38px) auto 48px;
	color: var(--imd-mortgage-ink);
}

body.imd-mortgage-calculator-page :where(.entry-header, .page-header, .entry-title, .page-title, h1.wp-block-post-title, .ct-page-title) { display: none !important; }
body.imd-mortgage-calculator-page { --content-vertical-spacing: 0px !important; }
body.imd-mortgage-calculator-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-mortgage__header {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 28px;
	margin-bottom: 18px;
	padding: clamp(28px, 5vw, 60px);
	border: 1px solid rgba(215, 42, 43, .2);
	border-radius: var(--imd-radius-lg, 28px);
	background: radial-gradient(circle at 92% 15%, rgba(215,42,43,.16), transparent 34%), #fff;
	box-shadow: var(--imd-shadow-soft, 0 18px 48px rgba(22,25,28,.08));
}

.imd-mortgage__header h1,
.imd-mortgage__header h2,
.imd-mortgage-form h2,
.imd-mortgage-results h2,
.imd-mortgage-breakdown h2,
.imd-mortgage-cta h2 {
	margin: 0;
	color: var(--imd-mortgage-ink);
	font-family: var(--imd-font-heading, ODUDA, Aileron, Arial, sans-serif);
	font-weight: 600;
	letter-spacing: -.035em;
	line-height: 1.02;
}

.imd-mortgage__header h1 { font-size: clamp(2.4rem, 5.6vw, 5.1rem); }
.imd-mortgage__header p:not(.imd-mortgage-eyebrow) { max-width: 690px; margin: 14px 0 0; color: var(--imd-mortgage-muted); font-size: clamp(1rem, 1.4vw, 1.15rem); line-height: 1.55; }
.imd-mortgage-eyebrow { margin: 0 0 10px; color: var(--imd-mortgage-red); font-size: .75rem; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.imd-mortgage__badge { flex: 0 0 auto; padding: 10px 14px; border: 1px solid rgba(215,42,43,.25); border-radius: 999px; background: rgba(215,42,43,.06); color: var(--imd-mortgage-red-strong); font-size: .76rem; font-weight: 800; }

.imd-mortgage__layout { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr); gap: 18px; align-items: stretch; }
.imd-mortgage-form,
.imd-mortgage-results,
.imd-mortgage-breakdown,
.imd-mortgage-schedule,
.imd-mortgage-notice {
	border: 1px solid rgba(22,25,28,.12);
	border-radius: var(--imd-radius-lg, 28px);
	background: #fff;
	box-shadow: 0 14px 38px rgba(22,25,28,.06);
}

.imd-mortgage-form { padding: clamp(24px, 3vw, 38px); }
.imd-mortgage-form__intro { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 24px; }
.imd-mortgage-form__intro h2,
.imd-mortgage-results h2,
.imd-mortgage-breakdown h2 { font-size: clamp(1.75rem, 2.8vw, 2.6rem); }
.imd-mortgage-form__intro p { margin: 0; color: var(--imd-mortgage-muted); font-size: .85rem; }
.imd-mortgage-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 19px 16px; }
.imd-mortgage-field { display: grid; gap: 7px; min-width: 0; color: var(--imd-mortgage-ink); font-size: .86rem; font-weight: 800; }
.imd-mortgage-field--wide { grid-column: 1 / -1; }
.imd-mortgage-field small { min-height: 2.5em; color: var(--imd-mortgage-muted); font-size: .72rem; font-weight: 400; line-height: 1.35; }
.imd-mortgage-value-pair { display: grid; grid-template-columns: minmax(145px, .9fr) minmax(145px, 1.1fr); gap: 8px; }
.imd-mortgage-input { position: relative; display: flex; align-items: center; min-height: 52px; overflow: hidden; border: 1px solid rgba(22,25,28,.18); border-radius: 15px; background: #f8f9fa; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.imd-mortgage-input:focus-within { border-color: var(--imd-mortgage-red); background: #fff; box-shadow: var(--imd-focus-ring, 0 0 0 4px rgba(215,42,43,.2)); }
.imd-mortgage-input:has([aria-invalid="true"]),
.imd-mortgage-mode-select__button[aria-invalid="true"],
.imd-mortgage-term-select__button[aria-invalid="true"] { border-color: var(--imd-mortgage-red); box-shadow: 0 0 0 3px rgba(215,42,43,.16); }
.imd-mortgage-input b { padding-left: 15px; color: var(--imd-mortgage-muted); }
.imd-mortgage-input [hidden] { display: none !important; }
.imd-mortgage-input input { width: 100%; min-width: 0; height: 50px; margin: 0; padding: 0 12px; border: 0 !important; outline: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--imd-mortgage-ink) !important; font: inherit; font-size: 1rem; }
.imd-mortgage-input em { align-self: stretch; display: grid; place-items: center; flex: 0 0 auto; padding: 0 14px; border-left: 1px solid rgba(22,25,28,.1); color: var(--imd-mortgage-muted); font-size: .7rem; font-style: normal; font-weight: 900; letter-spacing: .04em; }
.imd-mortgage-mode-select,
.imd-mortgage-term-select { position: relative; min-width: 0; }
.imd-mortgage-mode-select__button,
.imd-mortgage-term-select__button { display: flex; align-items: center; justify-content: space-between; gap: 16px; width: 100%; min-height: 52px; margin: 0; padding: 0 17px; border: 1px solid rgba(22,25,28,.18); border-radius: 15px; outline: 0; background: #f8f9fa; box-shadow: none; color: var(--imd-mortgage-ink); font: inherit; font-size: 1rem; text-align: left; cursor: pointer; transition: border-color .18s ease, box-shadow .18s ease, background .18s ease; }
.imd-mortgage-mode-select__button { font-size: .78rem; font-weight: 800; }
.imd-mortgage-mode-select__button:hover,
.imd-mortgage-term-select__button:hover { border-color: rgba(215,42,43,.55); }
.imd-mortgage-mode-select__button:focus-visible,
.imd-mortgage-mode-select__button[aria-expanded="true"],
.imd-mortgage-term-select__button:focus-visible,
.imd-mortgage-term-select__button[aria-expanded="true"] { border-color: var(--imd-mortgage-red); background: #fff; box-shadow: var(--imd-focus-ring, 0 0 0 4px rgba(215,42,43,.2)); }
.imd-mortgage-mode-select__button:disabled { cursor: not-allowed; opacity: .58; }
.imd-mortgage-mode-select__button i,
.imd-mortgage-term-select__button i { flex: 0 0 auto; width: 8px; height: 8px; border-right: 2px solid var(--imd-mortgage-red); border-bottom: 2px solid var(--imd-mortgage-red); transform: translateY(-3px) rotate(45deg); transition: transform .18s ease; }
.imd-mortgage-mode-select__button[aria-expanded="true"] i,
.imd-mortgage-term-select__button[aria-expanded="true"] i { transform: translateY(2px) rotate(225deg); }
.imd-mortgage-mode-select__options,
.imd-mortgage-term-select__options { position: absolute; z-index: 30; top: calc(100% + 8px); left: 0; display: grid; width: 100%; margin: 0; padding: 7px; overflow: auto; border: 1px solid rgba(215,42,43,.42); border-radius: 16px; background: #fff; box-shadow: 0 18px 38px rgba(22,25,28,.18); color: #16191c; list-style: none; }
.imd-mortgage-mode-select__options[hidden],
.imd-mortgage-term-select__options[hidden] { display: none !important; }
.imd-mortgage-mode-select__options [role="option"],
.imd-mortgage-term-select__options [role="option"] { position: relative; margin: 0; padding: 10px 34px 10px 12px; border: 1px solid transparent; border-radius: 11px; outline: 0; font-size: .84rem; line-height: 1.2; cursor: pointer; }
.imd-mortgage-mode-select__options [role="option"]:where(:hover, :focus-visible),
.imd-mortgage-term-select__options [role="option"]:where(:hover, :focus-visible) { border-color: rgba(215,42,43,.25); background: rgba(215,42,43,.07); }
.imd-mortgage-mode-select__options [role="option"]:focus-visible,
.imd-mortgage-term-select__options [role="option"]:focus-visible { outline: 3px solid #16191c; outline-offset: -3px; }
.imd-mortgage-mode-select__options [role="option"][aria-selected="true"],
.imd-mortgage-term-select__options [role="option"][aria-selected="true"] { background: var(--imd-mortgage-red); color: #fff; }
.imd-mortgage-mode-select__options [role="option"][aria-selected="true"]::after,
.imd-mortgage-term-select__options [role="option"][aria-selected="true"]::after { position: absolute; right: 12px; content: "✓"; font-weight: 900; }
.imd-mortgage-form__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 10px; }
.imd-mortgage-button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 10px 21px; border: 1px solid var(--imd-mortgage-red); border-radius: 999px; font-size: .86rem; font-weight: 900; line-height: 1.2; text-decoration: none !important; cursor: pointer; transition: transform .18s ease, box-shadow .18s ease, background .18s ease; }
.imd-mortgage-button:hover { transform: translateY(-2px); }
.imd-mortgage-button:focus-visible { outline: 3px solid rgba(215,42,43,.3); outline-offset: 3px; }
.imd-mortgage-button--solid { background: var(--imd-mortgage-red); color: #fff !important; box-shadow: 0 12px 25px rgba(215,42,43,.21); }
.imd-mortgage-button--solid:hover { background: var(--imd-mortgage-red-strong); }
.imd-mortgage-button--outline { background: transparent; color: var(--imd-mortgage-red) !important; }
.imd-mortgage-button--outline:hover { background: rgba(215,42,43,.07); }
.imd-mortgage-form__error { margin: 14px 0 0; padding: 11px 13px; border: 1px solid rgba(215,42,43,.3); border-radius: 12px; background: rgba(215,42,43,.07); color: #9b1718; font-size: .84rem; font-weight: 700; }

.imd-mortgage-results { display: flex; flex-direction: column; gap: 14px; padding: clamp(24px, 3vw, 38px); background: radial-gradient(circle at 100% 0, rgba(215,42,43,.1), transparent 32%), #fff; color: var(--imd-mortgage-ink); color-scheme: light; }
.imd-mortgage-results:focus { outline: 0; }
.imd-mortgage-results:focus-visible { box-shadow: inset 0 0 0 3px rgba(215,42,43,.35), 0 14px 38px rgba(22,25,28,.12); }
.imd-mortgage-results h2 { color: var(--imd-mortgage-ink) !important; }
.imd-mortgage-results .imd-mortgage-eyebrow { color: var(--imd-mortgage-red); }
.imd-mortgage-result { display: grid; gap: 5px; padding: 15px; border: 1px solid rgba(22,25,28,.1); border-radius: 17px; background: #f7f8fa; }
.imd-mortgage-result span { color: #56616a; font-size: .74rem; font-weight: 700; line-height: 1.35; }
.imd-mortgage-result strong { color: #16191c; font-size: clamp(1.05rem, 2vw, 1.45rem); }
.imd-mortgage-result small { color: #667078; font-size: .7rem; line-height: 1.35; }
.imd-mortgage-result--primary { padding: 19px; border-color: rgba(215,42,43,.28); background: #fff1f2; }
.imd-mortgage-result--primary strong { font-family: var(--imd-font-heading, ODUDA, Aileron, Arial, sans-serif); font-size: clamp(2.15rem, 4.7vw, 3.6rem); line-height: 1; }
.imd-mortgage-result-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.imd-mortgage-income { display: grid; gap: 5px; margin-top: auto; padding: 15px 16px; border: 1px solid rgba(22,25,28,.1); border-radius: 17px; background: #f1f3f4; color: #16191c; color-scheme: light; }
.imd-mortgage-income span { color: #16191c !important; font-size: .76rem; font-weight: 800; }
.imd-mortgage-income strong { color: #16191c !important; font-size: 1.35rem; }
.imd-mortgage-income small { color: #5b656d !important; font-size: .7rem; line-height: 1.35; }

.imd-mortgage-breakdown { display: grid; grid-template-columns: minmax(210px, .65fr) minmax(0, 1.35fr); gap: 30px; margin-top: 18px; padding: clamp(24px, 3vw, 38px); }
.imd-mortgage-breakdown dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; }
.imd-mortgage-breakdown dl div { padding: 13px 15px; border-radius: 14px; background: #f7f8fa; }
.imd-mortgage-breakdown dt { color: var(--imd-mortgage-muted); font-size: .72rem; font-weight: 700; }
.imd-mortgage-breakdown dd { margin: 5px 0 0; color: var(--imd-mortgage-ink); font-size: 1rem; font-weight: 900; }
.imd-mortgage-formula { grid-column: 1 / -1; margin: 0; padding-top: 20px; border-top: 1px solid rgba(22,25,28,.1); color: var(--imd-mortgage-muted); font-size: .78rem; line-height: 1.55; }

.imd-mortgage-schedule { margin-top: 18px; overflow: hidden; }
.imd-mortgage-schedule summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 60px; padding: 16px 22px; color: var(--imd-mortgage-ink); font-weight: 900; cursor: pointer; }
.imd-mortgage-schedule summary::marker,
.imd-mortgage-schedule summary > span { color: var(--imd-mortgage-red); }
.imd-mortgage-schedule summary:focus-visible { outline: 3px solid rgba(215,42,43,.25); outline-offset: -3px; }
.imd-mortgage-schedule summary small { color: var(--imd-mortgage-muted); font-size: .73rem; font-weight: 600; }
.imd-mortgage-table-wrap { max-height: 560px; overflow: auto; border-top: 1px solid rgba(22,25,28,.11); }
.imd-mortgage-table-wrap:focus-visible { outline: 3px solid rgba(215,42,43,.25); outline-offset: -3px; }
.imd-mortgage table { width: 100%; min-width: 760px; border: 0; border-collapse: collapse; color: var(--imd-mortgage-ink); font-variant-numeric: tabular-nums; }
.imd-mortgage caption { padding: 14px 18px; text-align: left; color: var(--imd-mortgage-muted); font-size: .75rem; }
.imd-mortgage th,
.imd-mortgage td { padding: 11px 14px; border: 0; border-bottom: 1px solid rgba(22,25,28,.08); text-align: right; white-space: nowrap; }
.imd-mortgage th:first-child,
.imd-mortgage td:first-child { text-align: left; }
.imd-mortgage thead th { position: sticky; z-index: 1; top: 0; background: #f2f4f5; color: #4f5960; font-size: .72rem; }
.imd-mortgage tbody :where(th, td) { font-size: .78rem; }
.imd-mortgage tbody tr:nth-child(even) { background: rgba(22,25,28,.025); }

.imd-mortgage-notice { margin-top: 18px; padding: 18px 21px; border-color: rgba(215,42,43,.34); background: linear-gradient(135deg, #fff 0%, #fff1f2 100%); box-shadow: 0 14px 38px rgba(215,42,43,.07); }
.imd-mortgage-notice strong { color: var(--imd-mortgage-red-strong); }
.imd-mortgage-notice p { margin: 5px 0 0; color: #554f52; font-size: .78rem; line-height: 1.55; }
.imd-mortgage-noscript { padding: 14px; border-radius: 12px; background: #fff1f1; color: #8b1c1d; }
.imd-mortgage-official { display: grid; grid-template-columns: minmax(220px, .7fr) minmax(0, 1.3fr); gap: 26px; margin-top: 18px; padding: clamp(22px, 3vw, 32px); border: 1px solid rgba(22,25,28,.12); border-radius: var(--imd-radius-lg, 28px); background: #fff; box-shadow: 0 14px 38px rgba(22,25,28,.06); }
.imd-mortgage-official h2 { margin: 0; color: var(--imd-mortgage-ink); font-family: var(--imd-font-heading, ODUDA, Aileron, Arial, sans-serif); font-size: clamp(1.55rem, 2.6vw, 2.35rem); line-height: 1.05; }
.imd-mortgage-official > div > p:not(.imd-mortgage-eyebrow) { margin: 9px 0 0; color: var(--imd-mortgage-muted); font-size: .8rem; line-height: 1.5; }
.imd-mortgage-official ul { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.imd-mortgage-official a { display: grid; grid-template-columns: minmax(130px, .7fr) minmax(0, 1.3fr) auto; align-items: center; gap: 12px; min-height: 54px; padding: 11px 14px; border: 1px solid rgba(22,25,28,.1); border-radius: 15px; background: #f7f8fa; color: var(--imd-mortgage-ink) !important; text-decoration: none !important; transition: border-color .18s ease, transform .18s ease; }
.imd-mortgage-official a:hover { border-color: var(--imd-mortgage-red); transform: translateY(-1px); }
.imd-mortgage-official a:focus-visible { outline: 3px solid rgba(215,42,43,.25); outline-offset: 2px; }
.imd-mortgage-official a strong { font-size: .8rem; }
.imd-mortgage-official a span { color: var(--imd-mortgage-muted); font-size: .74rem; }
.imd-mortgage-official a b { color: var(--imd-mortgage-red); }

.imd-mortgage-cta { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: clamp(18px, 3vw, 34px); width: 100%; padding: clamp(24px, 4vw, 48px); overflow: hidden; border: 1px solid rgba(215,42,43,.2); border-radius: var(--imd-radius-lg, 28px); background: radial-gradient(circle at 82% 20%, rgba(215,42,43,.18), transparent 34%), linear-gradient(135deg, #fff 0%, #fff8f8 100%); box-shadow: var(--imd-shadow-soft, 0 18px 48px rgba(22,25,28,.08)); color: var(--imd-mortgage-ink); }
.imd-mortgage-cta__icon { display: grid; place-items: center; width: clamp(64px, 7vw, 88px); aspect-ratio: 1; border-radius: 23px; background: var(--imd-mortgage-red); box-shadow: 0 14px 32px rgba(215,42,43,.23); font-size: clamp(1.8rem, 3vw, 2.6rem); }
.imd-mortgage-cta h2 { max-width: 760px; font-size: clamp(2rem, 4vw, 3.65rem); }
.imd-mortgage-cta h2 span { color: var(--imd-mortgage-red); }
.imd-mortgage-cta__copy > p:not(.imd-mortgage-eyebrow) { max-width: 740px; margin: 10px 0 0; color: var(--imd-mortgage-muted); font-size: clamp(.88rem, 1.2vw, 1rem); line-height: 1.5; }
.imd-mortgage-cta ul { display: flex; flex-wrap: wrap; gap: 7px; margin: 14px 0 0; padding: 0; list-style: none; }
.imd-mortgage-cta li { padding: 6px 10px; border: 1px solid rgba(215,42,43,.18); border-radius: 999px; background: rgba(255,255,255,.72); color: #525c63; font-size: .7rem; font-weight: 800; }
.imd-mortgage-cta > .imd-mortgage-button { white-space: nowrap; }

html[data-theme="dark"] :where(.imd-mortgage, .imd-mortgage-cta),
html[data-imd-color-scheme="dark"] :where(.imd-mortgage, .imd-mortgage-cta),
html.inmudescuentos-site-dark :where(.imd-mortgage, .imd-mortgage-cta),
html.imh-site-dark :where(.imd-mortgage, .imd-mortgage-cta),
body.imd-dark-mode :where(.imd-mortgage, .imd-mortgage-cta) { --imd-mortgage-ink: #f7f8f9; --imd-mortgage-muted: #bdc6cc; }

:where(html[data-theme="dark"], html[data-imd-color-scheme="dark"], html.inmudescuentos-site-dark, html.imh-site-dark, body.imd-dark-mode) :is(.imd-mortgage-eyebrow, .imd-mortgage-button--outline, .imd-mortgage-schedule summary > span) { color: #ff8d91 !important; }
:where(html[data-theme="dark"], html[data-imd-color-scheme="dark"], html.inmudescuentos-site-dark, html.imh-site-dark, body.imd-dark-mode) .imd-mortgage-schedule summary::marker { color: #ff8d91; }
:where(html[data-theme="dark"], html[data-imd-color-scheme="dark"], html.inmudescuentos-site-dark, html.imh-site-dark, body.imd-dark-mode) :is(.imd-mortgage-mode-select__options, .imd-mortgage-term-select__options) [role="option"]:focus-visible { outline-color: #fff; }

:where(html[data-theme="dark"], html[data-imd-color-scheme="dark"], html.inmudescuentos-site-dark, html.imh-site-dark, body.imd-dark-mode) .imd-mortgage-results {
	border-color: rgba(255,255,255,.14);
	background: linear-gradient(145deg, #171c20, #20272c);
	color: #fff;
	color-scheme: dark;
}
:where(html[data-theme="dark"], html[data-imd-color-scheme="dark"], html.inmudescuentos-site-dark, html.imh-site-dark, body.imd-dark-mode) .imd-mortgage-results:focus-visible { box-shadow: inset 0 0 0 3px rgba(255,255,255,.55), 0 14px 38px rgba(22,25,28,.12); }
:where(html[data-theme="dark"], html[data-imd-color-scheme="dark"], html.inmudescuentos-site-dark, html.imh-site-dark, body.imd-dark-mode) .imd-mortgage-results h2 { color: #fff !important; }
:where(html[data-theme="dark"], html[data-imd-color-scheme="dark"], html.inmudescuentos-site-dark, html.imh-site-dark, body.imd-dark-mode) .imd-mortgage-results .imd-mortgage-eyebrow { color: #ff767b; }
:where(html[data-theme="dark"], html[data-imd-color-scheme="dark"], html.inmudescuentos-site-dark, html.imh-site-dark, body.imd-dark-mode) .imd-mortgage-result { border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.055); }
:where(html[data-theme="dark"], html[data-imd-color-scheme="dark"], html.inmudescuentos-site-dark, html.imh-site-dark, body.imd-dark-mode) .imd-mortgage-result span { color: #c8d0d5; }
:where(html[data-theme="dark"], html[data-imd-color-scheme="dark"], html.inmudescuentos-site-dark, html.imh-site-dark, body.imd-dark-mode) .imd-mortgage-result strong { color: #fff; }
:where(html[data-theme="dark"], html[data-imd-color-scheme="dark"], html.inmudescuentos-site-dark, html.imh-site-dark, body.imd-dark-mode) .imd-mortgage-result small { color: #b9c2c8; }
:where(html[data-theme="dark"], html[data-imd-color-scheme="dark"], html.inmudescuentos-site-dark, html.imh-site-dark, body.imd-dark-mode) .imd-mortgage-result--primary { border-color: rgba(255,118,123,.35); background: rgba(215,42,43,.16); }
:where(html[data-theme="dark"], html[data-imd-color-scheme="dark"], html.inmudescuentos-site-dark, html.imh-site-dark, body.imd-dark-mode) .imd-mortgage-income { border-color: rgba(255,255,255,.12); background: #11171b; color: #fff; color-scheme: dark; }
:where(html[data-theme="dark"], html[data-imd-color-scheme="dark"], html.inmudescuentos-site-dark, html.imh-site-dark, body.imd-dark-mode) .imd-mortgage-income span,
:where(html[data-theme="dark"], html[data-imd-color-scheme="dark"], html.inmudescuentos-site-dark, html.imh-site-dark, body.imd-dark-mode) .imd-mortgage-income strong { color: #fff !important; }
:where(html[data-theme="dark"], html[data-imd-color-scheme="dark"], html.inmudescuentos-site-dark, html.imh-site-dark, body.imd-dark-mode) .imd-mortgage-income small { color: #b9c2c8 !important; }

html[data-theme="dark"] :where(.imd-mortgage__header, .imd-mortgage-form, .imd-mortgage-breakdown, .imd-mortgage-schedule),
html[data-imd-color-scheme="dark"] :where(.imd-mortgage__header, .imd-mortgage-form, .imd-mortgage-breakdown, .imd-mortgage-schedule),
html.inmudescuentos-site-dark :where(.imd-mortgage__header, .imd-mortgage-form, .imd-mortgage-breakdown, .imd-mortgage-schedule),
html.imh-site-dark :where(.imd-mortgage__header, .imd-mortgage-form, .imd-mortgage-breakdown, .imd-mortgage-schedule),
body.imd-dark-mode :where(.imd-mortgage__header, .imd-mortgage-form, .imd-mortgage-breakdown, .imd-mortgage-schedule) { border-color: rgba(255,255,255,.14); background-color: #1b2227; }

html[data-theme="dark"] .imd-mortgage__header,
html[data-imd-color-scheme="dark"] .imd-mortgage__header,
html.inmudescuentos-site-dark .imd-mortgage__header,
html.imh-site-dark .imd-mortgage__header,
body.imd-dark-mode .imd-mortgage__header { background: radial-gradient(circle at 92% 15%, rgba(215,42,43,.22), transparent 34%), #1b2227; }

html[data-theme="dark"] .imd-mortgage-cta,
html[data-imd-color-scheme="dark"] .imd-mortgage-cta,
html.inmudescuentos-site-dark .imd-mortgage-cta,
html.imh-site-dark .imd-mortgage-cta,
body.imd-dark-mode .imd-mortgage-cta { border-color: rgba(255,255,255,.14); background: radial-gradient(circle at 82% 20%, rgba(215,42,43,.24), transparent 34%), #1b2227; }

html[data-theme="dark"] .imd-mortgage-input,
html[data-imd-color-scheme="dark"] .imd-mortgage-input,
html.inmudescuentos-site-dark .imd-mortgage-input,
html.imh-site-dark .imd-mortgage-input,
body.imd-dark-mode .imd-mortgage-input { border-color: rgba(255,255,255,.16); background: #11171b; }

html[data-theme="dark"] :is(.imd-mortgage-mode-select__button, .imd-mortgage-term-select__button),
html[data-imd-color-scheme="dark"] :is(.imd-mortgage-mode-select__button, .imd-mortgage-term-select__button),
html.inmudescuentos-site-dark :is(.imd-mortgage-mode-select__button, .imd-mortgage-term-select__button),
html.imh-site-dark :is(.imd-mortgage-mode-select__button, .imd-mortgage-term-select__button),
body.imd-dark-mode :is(.imd-mortgage-mode-select__button, .imd-mortgage-term-select__button) { border-color: rgba(255,255,255,.16); background: #11171b; color: #f7f8f9; }

html[data-theme="dark"] :is(.imd-mortgage-mode-select__button, .imd-mortgage-term-select__button):where(:focus-visible, [aria-expanded="true"]),
html[data-imd-color-scheme="dark"] :is(.imd-mortgage-mode-select__button, .imd-mortgage-term-select__button):where(:focus-visible, [aria-expanded="true"]),
html.inmudescuentos-site-dark :is(.imd-mortgage-mode-select__button, .imd-mortgage-term-select__button):where(:focus-visible, [aria-expanded="true"]),
html.imh-site-dark :is(.imd-mortgage-mode-select__button, .imd-mortgage-term-select__button):where(:focus-visible, [aria-expanded="true"]),
body.imd-dark-mode :is(.imd-mortgage-mode-select__button, .imd-mortgage-term-select__button):where(:focus-visible, [aria-expanded="true"]) { border-color: var(--imd-mortgage-red); background: #11171b; }

html[data-theme="dark"] :is(.imd-mortgage-mode-select__options, .imd-mortgage-term-select__options),
html[data-imd-color-scheme="dark"] :is(.imd-mortgage-mode-select__options, .imd-mortgage-term-select__options),
html.inmudescuentos-site-dark :is(.imd-mortgage-mode-select__options, .imd-mortgage-term-select__options),
html.imh-site-dark :is(.imd-mortgage-mode-select__options, .imd-mortgage-term-select__options),
body.imd-dark-mode :is(.imd-mortgage-mode-select__options, .imd-mortgage-term-select__options) { border-color: rgba(255,118,123,.48); background: #11171b; color: #f7f8f9; }

html[data-theme="dark"] .imd-mortgage-breakdown dl div,
html[data-imd-color-scheme="dark"] .imd-mortgage-breakdown dl div,
html.inmudescuentos-site-dark .imd-mortgage-breakdown dl div,
html.imh-site-dark .imd-mortgage-breakdown dl div,
body.imd-dark-mode .imd-mortgage-breakdown dl div { background: #11171b; }

html[data-theme="dark"] .imd-mortgage-table-wrap,
html[data-imd-color-scheme="dark"] .imd-mortgage-table-wrap,
html.inmudescuentos-site-dark .imd-mortgage-table-wrap,
html.imh-site-dark .imd-mortgage-table-wrap,
body.imd-dark-mode .imd-mortgage-table-wrap { color-scheme: dark; }

html[data-theme="dark"] .imd-mortgage thead th,
html[data-imd-color-scheme="dark"] .imd-mortgage thead th,
html.inmudescuentos-site-dark .imd-mortgage thead th,
html.imh-site-dark .imd-mortgage thead th,
body.imd-dark-mode .imd-mortgage thead th { background: #11171b; color: #cbd2d7; }

html[data-theme="dark"] .imd-mortgage-notice,
html[data-imd-color-scheme="dark"] .imd-mortgage-notice,
html.inmudescuentos-site-dark .imd-mortgage-notice,
html.imh-site-dark .imd-mortgage-notice,
body.imd-dark-mode .imd-mortgage-notice { border-color: rgba(255,118,123,.34); background: #29181c; }

html[data-theme="dark"] .imd-mortgage-notice strong,
html[data-imd-color-scheme="dark"] .imd-mortgage-notice strong,
html.inmudescuentos-site-dark .imd-mortgage-notice strong,
html.imh-site-dark .imd-mortgage-notice strong,
body.imd-dark-mode .imd-mortgage-notice strong { color: #ff8d91; }

html[data-theme="dark"] .imd-mortgage-notice p,
html[data-imd-color-scheme="dark"] .imd-mortgage-notice p,
html.inmudescuentos-site-dark .imd-mortgage-notice p,
html.imh-site-dark .imd-mortgage-notice p,
body.imd-dark-mode .imd-mortgage-notice p { color: #eadcdf; }

html[data-theme="dark"] .imd-mortgage-official,
html[data-imd-color-scheme="dark"] .imd-mortgage-official,
html.inmudescuentos-site-dark .imd-mortgage-official,
html.imh-site-dark .imd-mortgage-official,
body.imd-dark-mode .imd-mortgage-official { border-color: rgba(255,255,255,.14); background: #1b2227; }

html[data-theme="dark"] .imd-mortgage-official a,
html[data-imd-color-scheme="dark"] .imd-mortgage-official a,
html.inmudescuentos-site-dark .imd-mortgage-official a,
html.imh-site-dark .imd-mortgage-official a,
body.imd-dark-mode .imd-mortgage-official a { border-color: rgba(255,255,255,.13); background: #11171b; }

@media (max-width: 920px) {
	.imd-mortgage__layout { grid-template-columns: 1fr; }
	.imd-mortgage-results { min-height: 0; }
	.imd-mortgage-cta { grid-template-columns: auto minmax(0, 1fr); }
	.imd-mortgage-cta > .imd-mortgage-button { grid-column: 2; justify-self: start; }
}

@media (max-width: 640px) {
	.imd-mortgage { width: min(100% - 20px, 1240px); margin-top: 10px; }
	.imd-mortgage__header { align-items: flex-start; flex-direction: column; padding: 24px 20px; }
	.imd-mortgage__header h1 { font-size: clamp(2.35rem, 15vw, 3.6rem); }
	.imd-mortgage__badge { white-space: normal; }
	.imd-mortgage-form,
	.imd-mortgage-results,
	.imd-mortgage-breakdown { padding: 22px 18px; }
	.imd-mortgage-form__intro { align-items: flex-start; flex-direction: column; gap: 6px; }
	.imd-mortgage-fields,
	.imd-mortgage-result-grid,
	.imd-mortgage-breakdown,
	.imd-mortgage-breakdown dl,
	.imd-mortgage-official { grid-template-columns: 1fr; }
	.imd-mortgage-field--wide { grid-column: auto; }
	.imd-mortgage-value-pair { grid-template-columns: 1fr; }
	.imd-mortgage-form__actions .imd-mortgage-button { width: 100%; }
	.imd-mortgage-breakdown { gap: 18px; }
	.imd-mortgage-formula { grid-column: auto; }
	.imd-mortgage-schedule summary { align-items: flex-start; flex-direction: column; gap: 3px; }
	.imd-mortgage-cta { grid-template-columns: 1fr; padding: 24px 20px; }
	.imd-mortgage-cta__icon { width: 62px; border-radius: 18px; }
	.imd-mortgage-cta > .imd-mortgage-button { grid-column: 1; width: 100%; }
	.imd-mortgage-official a { grid-template-columns: 1fr auto; }
	.imd-mortgage-official a span { grid-column: 1; }
	.imd-mortgage-official a b { grid-column: 2; grid-row: 1 / 3; }
}

@media (prefers-reduced-motion: reduce) {
	.imd-mortgage *,
	.imd-mortgage-cta * { scroll-behavior: auto !important; transition: none !important; }
}

@media (forced-colors: active) {
	.imd-mortgage-button,
	.imd-mortgage-input,
	.imd-mortgage-mode-select__button,
	.imd-mortgage-mode-select__options,
	.imd-mortgage-term-select__button,
	.imd-mortgage-term-select__options,
	.imd-mortgage-result,
	.imd-mortgage-cta { border: 1px solid ButtonText; }
	.imd-mortgage-mode-select__options [role="option"][aria-selected="true"],
	.imd-mortgage-term-select__options [role="option"][aria-selected="true"] { outline: 2px solid Highlight; }
}
