/* Membership campaign. All surfaces are scoped so the theme cannot recolor
 * the campaign or its booking form without also changing the rest of Core. */
body.imd-membership-campaign-page {
	--content-vertical-spacing: 0px !important;
}
body.imd-membership-campaign-page :is(.entry-header,.page-header,.entry-title,.page-title,h1.wp-block-post-title,.ct-page-title,.hero-section,.elementor-widget-theme-post-title) {
	display: none !important;
}
body.imd-membership-campaign-page :is(.site-main,#main,.content-area,.entry-content,.ct-container-full),
body.imd-membership-campaign-page :is(.site-main,#main,.content-area,.ct-container-full)>article {
	padding-top: 0 !important;
	margin-top: 0 !important;
}
/* The theme's content column is not always centered on the viewport. The
 * campaign offset is measured in JS without flattening sticky-header wrappers. */
.imd-campaign {
	--campaign-red: #d72a2b;
	--campaign-red-hover: #b91f28;
	--campaign-ink: #172026;
	--campaign-muted: #526069;
	--campaign-surface: #fff;
	--campaign-soft: #f5f7f8;
	--campaign-border: #dfe3e6;
	position: relative;
	left: 50%;
	width: min(1280px, calc(100vw - 72px));
	max-width: none;
	margin: 0 0 44px;
	padding-top: 30px;
	transform: translateX(calc(-50% + var(--imd-campaign-shift, 0px)));
	color: var(--campaign-ink) !important;
	font-family: var(--imd-font-body, Aileron, Arial, sans-serif);
	font-size: 16px;
	line-height: 1.5;
}
.imd-campaign *, .imd-campaign *::before, .imd-campaign *::after { box-sizing: border-box; }
.imd-campaign :is(h1,h2,h3,p) { margin-top: 0; }
.imd-campaign :is(h1,h2,h3) { font-family: var(--imd-font-heading, ODUDA, Arial, sans-serif); line-height: 1.1; letter-spacing: -.025em; }
.imd-campaign :is(h2,h3) { color: var(--campaign-ink) !important; }
.imd-campaign :is(p,li) { color: var(--campaign-muted); }
.imd-campaign em { color: var(--campaign-red); font-style: normal; }
.imd-campaign__eyebrow { margin-bottom: 13px; color: var(--campaign-red) !important; font-size: .75rem; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; }
.imd-campaign__button { display: inline-flex; justify-content: center; align-items: center; gap: 12px; min-height: 52px; padding: 12px 22px; border: 1px solid transparent; border-radius: 999px; font-size: .94rem; font-weight: 800; line-height: 1.2; text-align: center; text-decoration: none !important; transition: transform .18s ease, background .18s ease, box-shadow .18s ease; }
.imd-campaign__button:hover { transform: translateY(-2px); }
.imd-campaign :is(a,button):focus-visible { outline: 3px solid #f6b657; outline-offset: 3px; }
.imd-campaign__button--primary { color: #fff !important; background: var(--campaign-red); box-shadow: 0 12px 25px rgba(215,42,43,.22); }
.imd-campaign__button--primary:hover { color: #fff !important; background: var(--campaign-red-hover); }
.imd-campaign__button--outline { color: #172b38 !important; border-color: #a5afb5; background: rgba(255,255,255,.8); }
.imd-campaign__button--outline:hover { color: #172b38 !important; background: #fff; }

/* The transparent portrait sits on a genuinely light hero in light mode. */
.imd-campaign__hero { display: grid; grid-template-columns: minmax(0,1.07fr) minmax(0,.93fr); min-height: 550px; overflow: hidden; border: 1px solid #e3e7e9; border-radius: 28px; background: radial-gradient(circle at 84% 48%, #ffe9e9 0, #f8f7f7 34%, transparent 65%), #f8fafb; }
.imd-campaign__hero-copy { z-index: 1; align-self: center; padding: clamp(34px,4vw,58px) 20px clamp(34px,4vw,58px) clamp(32px,4vw,58px); text-align: center; }
.imd-campaign__hero .imd-campaign__eyebrow { display: flex; align-items: center; justify-content: center; gap: 9px; color: #9b2631 !important; }
.imd-campaign__hero .imd-campaign__eyebrow span { width: 9px; height: 9px; flex: none; border-radius: 50%; background: #ff4a52; box-shadow: 0 0 0 5px rgba(215,42,43,.22); }
.imd-campaign__hero h1 { max-width: 650px; margin: 0 auto 20px; color: #172b38 !important; font-size: clamp(2.8rem,5vw,5.25rem); }
.imd-campaign__hero h1 em { display: block; color: #d52a35; }
.imd-campaign__hero .imd-campaign__lead { max-width: 590px; margin-inline: auto; color: #42545f !important; font-size: clamp(1rem,1.3vw,1.16rem); }
.imd-campaign__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 11px; margin-top: 27px; }
.imd-campaign__hero .imd-campaign__micro { margin: 15px 0 0; color: #52616c !important; font-size: .83rem; }
.imd-campaign__hero-art { position: relative; min-width: 0; min-height: 560px; overflow: hidden; }
.imd-campaign__hero-glow { position: absolute; inset: 13% 5%; border-radius: 50%; background: radial-gradient(circle, rgba(215,42,43,.16), transparent 65%); filter: blur(25px); }
.imd-campaign__hero-art img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center bottom; mix-blend-mode: normal; }
.imd-campaign__floating-note { position: absolute; right: 20px; bottom: 20px; max-width: 260px; padding: 10px 14px; border: 1px solid #e9b7bd; border-radius: 13px; color: #73252c; background: rgba(255,255,255,.94); font-size: .83rem; font-weight: 800; text-align: center; }
.imd-campaign__floating-note span { color: #bf2631; }

.imd-campaign__section-heading { max-width: 880px; margin: 0 auto; text-align: center; }
.imd-campaign__section-heading h2 { margin-bottom: 14px; font-size: clamp(2rem,3.6vw,3.3rem); }
.imd-campaign__section-heading > p:last-of-type { max-width: 700px; margin: 0 auto; font-size: 1.02rem; }
.imd-campaign__stories { padding: clamp(38px,4vw,56px) 0 38px; }
.imd-campaign__story-tabs { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin: 28px 0 20px; }
.imd-campaign__story-tabs[hidden] { display: none; }
.imd-campaign__story-tabs button { min-height: 44px; padding: 10px 21px; border: 1px solid var(--campaign-border); border-radius: 999px; color: var(--campaign-ink); background: var(--campaign-surface); font: inherit; font-size: .91rem; font-weight: 800; cursor: pointer; }
.imd-campaign__story-tabs button:hover { border-color: var(--campaign-red); color: var(--campaign-red); }
.imd-campaign__story-tabs button[aria-selected="true"] { border-color: #dc0012; color: #fff; background: #dc0012; box-shadow: 0 9px 20px rgba(215,42,43,.18); }
.imd-campaign__story-panels { display: grid; gap: 16px; }
.imd-campaign__story[hidden] { display: none !important; }
.imd-campaign__story { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,.94fr); align-items: center; min-height: 360px; overflow: hidden; border: 1px solid var(--campaign-border); border-radius: 26px; background: var(--campaign-surface); box-shadow: 0 18px 42px rgba(22,25,28,.07); }
.imd-campaign__story-text { padding: clamp(26px,3.5vw,46px); text-align: center; }
.imd-campaign__story-number { display: inline-block; margin-bottom: 18px; color: var(--campaign-red); font-size: .77rem; font-weight: 900; letter-spacing: .11em; text-transform: uppercase; }
.imd-campaign__story h3 { margin-bottom: 15px; font-size: clamp(1.8rem,3vw,2.9rem); }
.imd-campaign__story p { max-width: 550px; margin-inline: auto; }
.imd-campaign__story-text strong { display: block; margin-top: 18px; color: var(--campaign-red); font-size: 1.12rem; }
.imd-campaign__story--chat { background: linear-gradient(125deg,var(--campaign-surface) 45%,#fff1f1); }
.imd-campaign__story--collab { background: linear-gradient(130deg,var(--campaign-surface) 45%,#fff8f8); }
.imd-campaign__story--brand { background: linear-gradient(130deg,var(--campaign-surface) 45%,var(--campaign-soft)); }
.imd-campaign__product-views { display: grid; grid-template-columns: minmax(0,.44fr) minmax(0,1fr); align-items: end; gap: clamp(8px,1.5vw,18px); width: 100%; padding: 24px 24px 22px 0; }
.imd-campaign__product-view { min-width: 0; margin: 0; text-align: center; }
.imd-campaign__product-view img { display: block; width: 100%; height: auto; max-height: 400px; margin: 0 auto; border: 1px solid var(--campaign-border); border-radius: 14px; object-fit: contain; background: #fff; box-shadow: 0 12px 25px rgba(20,30,35,.14); }
.imd-campaign__product-view--phone img { max-width: 175px; }
.imd-campaign__product-view--tablet img { max-width: 410px; }
.imd-campaign__product-view figcaption { margin-top: 9px; color: var(--campaign-muted); font-size: .72rem; font-weight: 700; }
.imd-campaign__collab-visual { padding: 20px; text-align: center; }
.imd-campaign__collab-visual img { display: block; width: 100%; max-height: 350px; border-radius: 18px; object-fit: contain; background: #fff6f5; }
.imd-campaign__collab-visual span { display: block; margin-top: 9px; color: var(--campaign-muted); font-size: .75rem; }
.imd-campaign__property-visual { width: min(86%,430px); margin: 24px auto; overflow: hidden; border: 1px solid var(--campaign-border); border-radius: 20px; background: var(--campaign-surface); box-shadow: 14px 18px 35px rgba(22,25,28,.13); }
.imd-campaign__property-photo { position: relative; height: 195px; overflow: hidden; }
.imd-campaign__property-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.imd-campaign__property-photo span { position: absolute; left: 14px; top: 14px; padding: 7px 11px; border-radius: 999px; color: #fff; background: var(--campaign-red); font-size: .7rem; font-weight: 800; }
.imd-campaign__property-info { padding: 17px 20px 19px; }
.imd-campaign__property-info small { display: block; color: var(--campaign-red); font-size: .7rem; font-weight: 900; letter-spacing: .05em; text-transform: uppercase; }
.imd-campaign__property-info b { display: block; margin: 5px 0; color: var(--campaign-ink); font-size: 1.23rem; }
.imd-campaign__property-info p { margin: 0 0 11px; font-size: .81rem; }
.imd-campaign__property-info > span { display: flex; justify-content: space-between; padding-top: 10px; border-top: 1px solid var(--campaign-border); color: var(--campaign-red); font-size: .78rem; font-weight: 800; }
.imd-campaign__stories-cta { margin-top: 22px; text-align: center; }

.imd-campaign__booking { padding: clamp(22px,3vw,38px); border: 1px solid var(--campaign-border); border-radius: 28px; background: var(--campaign-soft); scroll-margin-top: 90px; }
.imd-campaign__booking-facts { display: flex; flex-wrap: wrap; justify-content: center; gap: 9px; margin: 19px 0 25px; }
.imd-campaign__booking-facts span { padding: 7px 12px; border: 1px solid var(--campaign-border); border-radius: 999px; color: var(--campaign-ink); background: var(--campaign-surface); font-size: .83rem; font-weight: 800; }
.imd-campaign__booking-form { width: 100%; max-width: none; margin: 0 auto; padding: clamp(16px,2vw,24px); border: 1px solid var(--campaign-border); border-radius: 23px; color: var(--campaign-ink); background: var(--campaign-surface); box-shadow: 0 16px 38px rgba(22,25,28,.06); }
.imd-campaign__booking-form > :first-child { margin-top: 0; }
.imd-campaign__footer { display: flex; justify-content: space-between; gap: 20px; margin-top: 30px; padding: 24px 5px 0; border-top: 1px solid var(--campaign-border); color: var(--campaign-muted); font-size: .79rem; }
.imd-campaign__footer p { margin: 0; }
.imd-campaign__footer a { color: var(--campaign-red); font-weight: 800; }

/* The site supports more than one dark-mode class; keep every campaign surface
 * and inherited title/text color in sync with the active theme. */
: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-campaign {
	--campaign-red: #ff5961;
	--campaign-red-hover: #e3323f;
	--campaign-ink: #f5f7f8;
	--campaign-muted: #c4cdd2;
	--campaign-surface: #22292d;
	--campaign-soft: #171e22;
	--campaign-border: #455159;
}
: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-campaign__hero { border-color: #303a41; background: radial-gradient(circle at 84% 38%, #4b181d, transparent 45%), #171b1f; }
: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-campaign__hero .imd-campaign__eyebrow { color: #ffd3d4 !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-campaign__hero h1 { 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-campaign__hero h1 em { color: #ff5660 !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-campaign__hero :is(.imd-campaign__lead,.imd-campaign__micro) { color: #e4e9ec !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-campaign__button--outline { color: #fff !important; border-color: rgba(255,255,255,.65); background: rgba(255,255,255,.08); }
: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-campaign__button--outline:hover { color: #fff !important; background: rgba(255,255,255,.18); }
: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-campaign__floating-note { border-color: rgba(255,255,255,.35); color: #fff; background: rgba(23,27,31,.9); }
: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-campaign__floating-note span { color: #ff747b; }
: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-campaign__hero-glow { background: radial-gradient(circle, rgba(215,42,43,.35), transparent 65%); }
: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-campaign__story--chat,
: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-campaign__story--collab,
: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-campaign__story--brand { background: var(--campaign-surface); }
: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-campaign__story-tabs button[aria-selected="true"] { color: #fff; }
: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-campaign__button--primary { color: #fff !important; background: #dc0012; }
: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-campaign__button--primary:hover { background: #b90010; }

@media (max-width: 1100px) {
	.imd-campaign__hero { grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); }
	.imd-campaign__hero-copy { padding-inline: 30px; }
}
@media (max-width: 760px) {
	.imd-campaign { width: min(660px,calc(100vw - 24px)); margin-top: -30px; padding-top: 26px; }
	.imd-campaign__hero { display: flex; flex-direction: column; min-height: 0; border-radius: 22px; }
	.imd-campaign__hero-copy { padding: 34px 22px 14px; text-align: center; }
	.imd-campaign__hero .imd-campaign__eyebrow { justify-content: center; }
	.imd-campaign__hero h1 { font-size: clamp(2.35rem,9vw,3.6rem); }
	.imd-campaign__actions { justify-content: center; }
	.imd-campaign__button { width: 100%; }
	.imd-campaign__hero-art { width: 100%; min-height: 360px; }
	.imd-campaign__hero-art img { object-position: center bottom; }
	.imd-campaign__floating-note { right: 12px; bottom: 12px; max-width: 215px; font-size: .72rem; }
	.imd-campaign__stories { padding: 42px 0 34px; }
	.imd-campaign__story-tabs { gap: 7px; }
	.imd-campaign__story-tabs button { flex: 1; min-width: 0; padding: 9px 8px; font-size: .78rem; }
	.imd-campaign__story { grid-template-columns: 1fr; }
	.imd-campaign__story-text { padding: 28px 21px 8px; text-align: center; }
	.imd-campaign__story h3 { font-size: clamp(1.75rem,6.2vw,2.5rem); }
	.imd-campaign__product-views { padding: 16px 14px 24px; }
	.imd-campaign__collab-visual { padding: 18px 17px 27px; }
	.imd-campaign__property-visual { margin-bottom: 28px; }
	.imd-campaign__booking { padding: 23px 11px; }
	.imd-campaign__booking-form { padding: 12px 9px; }
	.imd-campaign__footer { flex-direction: column; align-items: center; text-align: center; }
}
@media (max-width: 480px) {
	.imd-campaign__hero-art { min-height: 330px; }
	.imd-campaign__floating-note { max-width: 185px; }
	.imd-campaign__product-views { grid-template-columns: minmax(0,.4fr) minmax(0,1fr); gap: 8px; }
	.imd-campaign__product-view figcaption { font-size: .66rem; }
	.imd-campaign__booking-facts span { font-size: .72rem; }
}
@media (prefers-reduced-motion: reduce) { .imd-campaign__button { transition: none; } .imd-campaign__button:hover { transform: none; } }
