/* MGH widgets. Generated from assets/css — edit those files, not this output. */

/* mgh-buttons.css */
/* MGH design system – primary button. Use class .mgh-button for consistent CTA styling across widgets. */
/* Padding 15px 20px 17px 30px with icon (extra left balances the arrow); equal sides without icon. */
/* Border-radius 8px; token blue bg; hover #7C859C. Icon optional via .mgh-button__icon. */

.mgh-button {
	display: inline-flex;
	padding: 15px 20px 17px 30px;
	justify-content: center;
	align-items: center;
	gap: 10px;
	border-radius: 8px;
	background-color: #2c3a60;
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
	border: none;
	cursor: pointer;
}

/* Text-only buttons (e.g. Image Banner) need equal horizontal padding so the label is centered. */
.mgh-button:not(:has(.mgh-button__icon)) {
	padding-left: 30px;
	padding-right: 30px;
}

a.mgh-button {
	cursor: pointer;
}

.mgh-button:hover {
	background-color: #7C859C;
	color: #fff;
}

.mgh-button__icon {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	color: currentColor;
}

.mgh-button__icon svg {
	display: block;
	width: 100%;
	height: 100%;
}


/* image-text.css */
/* MGH Image + Text widget – two-column layout; colors and typography from MGH design tokens via Elementor controls */
/* Figma: image 686×386px. Section spacing: 60px top mobile, 100px top desktop; 20px/50px horizontal padding. 10px gap image–caption. */
.mgh-image-text {
	display: grid;
	grid-template-columns: 1fr;
	align-items: start;
	gap: 20px;
	max-width: 884px;
	margin-left: auto;
	margin-right: auto;
	padding: 60px 20px 0;
}

.mgh-image-text--no-top-padding {
	padding-top: 0;
}

.mgh-image-text__media {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: 10px;
}

.mgh-image-text__caption {
	margin: 0;
	line-height: 1.4;
}

/* More specific than Elementor's .elementor img so border-radius and other rules apply */
.mgh-image-text .mgh-image-text__img {
	width: 100%;
	aspect-ratio: 686 / 386;
	object-fit: cover;
	display: block;
	vertical-align: middle;
	border-radius: 8px;
}

.mgh-image-text__content {
	min-width: 0;
	--mgh-image-text-gap: 20px;
}

.mgh-image-text__title {
	margin: 0;
	line-height: 1.2;
	margin-bottom: var(--mgh-image-text-gap, 20px);
}

/* Specificity beats Elementor per-page typography CSS (post-*.css). Token: heading-3. */
div.elementor-widget.elementor-widget-mgh_image_text .mgh-image-text .mgh-image-text__content .mgh-image-text__title {
	font-family: var(--mgh-heading-3-font-family), sans-serif;
	font-size: var(--mgh-heading-3-size);
	font-weight: var(--mgh-heading-3-weight);
	line-height: var(--mgh-heading-3-line-height);
	letter-spacing: var(--mgh-heading-3-letter-spacing);
}

.mgh-image-text__description {
	margin: 0;
	line-height: 1.4;
}

/* Rich text (WYSIWYG) content inside body */
.mgh-image-text__description p {
	margin: 0 0 1em 0;
}

.mgh-image-text__description p:last-child {
	margin-bottom: 0;
}

.mgh-image-text__description strong,
.mgh-image-text__description b {
	font-weight: 600;
}

.mgh-image-text__description ul,
.mgh-image-text__description ol {
	margin: 0 0 1em 0;
	padding-left: 1.5em;
}

.mgh-image-text__description ul {
	list-style: disc;
}

.mgh-image-text__description ol {
	list-style: decimal;
}

.mgh-image-text__description ul:last-child,
.mgh-image-text__description ol:last-child {
	margin-bottom: 0;
}

.mgh-image-text__description li {
	margin-bottom: 0.4em;
}

.mgh-image-text__description a {
	color: inherit;
	text-decoration: underline;
}

/* QR / button: Desktop = QR code only, Mobile = button only (same gap as title–description) */
.mgh-image-text__qr {
	margin-top: var(--mgh-image-text-gap, 20px);
}

.mgh-image-text__qr-desktop {
	display: none; /* shown on desktop via media query */
}

.mgh-image-text__qr-mobile {
	display: block; /* hidden on desktop via media query */
}

.mgh-image-text__qr-always {
	display: block;
}

.mgh-image-text__qr-img {
	display: block;
	max-width: 160px;
	height: auto;
}

/* Blue theme: mge-blue background, white text, golden (mge-gold) button. */
/* Default padding has no bottom; with a filled background we mirror the top padding so the section doesn't look cut off. */
.mgh-image-text--blue {
	background-color: #2c3a60;
	padding-bottom: 60px;
	align-items: center;
}

.mgh-image-text--blue .mgh-image-text__title,
.mgh-image-text--blue .mgh-image-text__description,
.mgh-image-text--blue .mgh-image-text__description a,
.mgh-image-text--blue .mgh-image-text__caption {
	color: #fff;
}

.mgh-image-text--blue .mgh-button {
	background-color: var(--mgh-gold);
}

.mgh-image-text--blue .mgh-button:hover {
	background-color: var(--mgh-gold-hover);
}

/* Desktop: two columns, 100px top / 50px sides, 686px image column. Show QR code; hide mobile button. */
@media (min-width: 1280px) {
	.mgh-image-text {
		grid-template-columns: 686px 1fr;
		gap: 40px;
		max-width: 100%;
		padding: 100px 50px 0 50px;
	}

	.mgh-image-text--no-top-padding {
		padding-top: 0;
	}

	.mgh-image-text--reversed {
		grid-template-columns: 1fr 686px;
	}

	.mgh-image-text--reversed .mgh-image-text__media {
		order: 2;
	}

	.mgh-image-text--reversed .mgh-image-text__content {
		order: 1;
	}

	.mgh-image-text__qr-desktop {
		display: block;
	}

	.mgh-image-text__qr-mobile {
		display: none;
	}

	.mgh-image-text__qr-always {
		display: block;
	}

	.mgh-image-text--blue {
		padding-bottom: 100px;
	}
}

/* Blue variant, 1280–1512px: let the image column shrink with the viewport instead of staying fixed at 686px.
   This keeps the image (and the whole section) shorter and wide, rather than letting the squeezed text column
   wrap onto more lines and make the section very tall. At 1512px the split is already ~50/50, so this is seamless. */
@media (min-width: 1280px) and (max-width: 1512px) {
	.mgh-image-text--blue {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.mgh-image-text--blue.mgh-image-text--reversed {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
}


/* image-banner.css */
/* MGH Image Banner – full-width image with title and button centered. No top margin/padding. Desktop height 686px. */

.mgh-image-banner {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 400px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	margin-top: 0;
	padding-top: 0;
}

.mgh-image-banner__overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.mgh-image-banner__content {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	gap: 20px;
	width: 100%;
	max-width: 884px;
	margin: 0 auto;
	padding: 0 1.5rem;
}

/* Token: heading-2 */
.mgh-image-banner__title {
	margin: 0;
	font-family: var(--mgh-heading-2-font-family), sans-serif;
	font-size: var(--mgh-heading-2-size);
	font-weight: var(--mgh-heading-2-weight);
	line-height: var(--mgh-heading-2-line-height);
	letter-spacing: var(--mgh-heading-2-letter-spacing);
	color: #fff;
}

.mgh-image-banner__button-wrap {
	margin: 0;
}

/* Desktop: fixed height 400px; token heading_2 */
@media (min-width: 1280px) {
	.mgh-image-banner {
		height: 400px;
		min-height: 400px;
	}
}


/* gallery.css */
/* MGH Gallery widget – horizontal scroll row of image + caption sets */
/* Title: H3 desktop / Mobile H3. Caption: Paragraph Small / Mobile Paragraph Small 2. Image: 323×200 desktop, 300×186 mobile. */
/* Spacing: 20px title→row, 20px between items, 5px image→caption. Width constraints match image-text component. */

.mgh-gallery {
	padding: 60px 20px 0;
	max-width: 884px;
	margin-left: auto;
	margin-right: auto;
}

.mgh-gallery__title {
	margin: 0 0 20px 0;
	line-height: 1.2;
}

/* Specificity beats Elementor per-page typography CSS (post-*.css). Token: heading-3. */
div.elementor-widget.elementor-widget-mgh_gallery .mgh-gallery .mgh-gallery__title {
	font-family: var(--mgh-heading-3-font-family), sans-serif;
	font-size: var(--mgh-heading-3-size);
	font-weight: var(--mgh-heading-3-weight);
	line-height: var(--mgh-heading-3-line-height);
	letter-spacing: var(--mgh-heading-3-letter-spacing);
}

/* Stack track + scroll hint in one grid cell so the hint overlays the row (avoids broken layout if position:absolute is overridden). */
.mgh-gallery__viewport {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: auto;
	position: relative;
}

.mgh-gallery__track {
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
	width: 100%;
	z-index: 1;
	display: flex;
	flex-direction: row;
	gap: 20px;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
	cursor: grab;
}

.mgh-gallery__track::-webkit-scrollbar {
	display: none;
}

.mgh-gallery__track.is-dragging {
	cursor: grabbing;
	user-select: none;
}

/* Right-edge affordance when the row overflows (shown via JS: .mgh-gallery--overflow, hidden at end: .mgh-gallery--scrolled-end). */
.mgh-gallery__scroll-hint {
	grid-column: 1;
	grid-row: 1;
	z-index: 2;
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	min-width: 0;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.2s ease;
}

/* Match .mgh-gallery__image-wrap height so the chevron centers on the image strip only, not captions. */
.mgh-gallery__scroll-hint-band {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: auto;
	height: 186px;
	box-sizing: border-box;
	padding-right: 0.5rem;
	padding-left: 0.25rem;
}

/* Circular white nav affordance, matching the Jorato cases list card arrows. Acts as a "scroll one item" button. */
.mgh-gallery__scroll-hint-icon {
	display: block;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 50%;
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12);
	background-color: rgba(255, 255, 255, 0.9);
	background-image: url("https://mgejendomme.dk/wp-content/plugins/mgh-wp-plugin/assets/images/chevron-arrow.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 12px 12px;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	pointer-events: none;
}

/* Left-edge affordance mirrors the right one; visibility is driven entirely by JS (desktop + can-scroll-left). */
.mgh-gallery__scroll-hint--prev {
	justify-content: flex-start;
}

.mgh-gallery__scroll-hint--prev .mgh-gallery__scroll-hint-band {
	justify-content: flex-start;
	padding-right: 0.25rem;
	padding-left: 0.5rem;
}

/* Chevron points left for the "scroll back" button. */
.mgh-gallery__scroll-hint-icon--prev {
	transform: scaleX(-1);
}

.mgh-gallery__viewport.mgh-gallery--overflow:not(.mgh-gallery--scrolled-end):not(.mgh-scroll-hint-dismissed) .mgh-gallery__scroll-hint--next {
	opacity: 1;
}

/* Only allow clicks on the affordance while it is actually shown. */
.mgh-gallery__viewport.mgh-gallery--overflow:not(.mgh-gallery--scrolled-end):not(.mgh-scroll-hint-dismissed) .mgh-gallery__scroll-hint--next .mgh-gallery__scroll-hint-icon {
	pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
	.mgh-gallery__scroll-hint {
		transition: none;
	}
}

.mgh-gallery__item {
	display: flex;
	flex-direction: column;
	gap: 5px;
	flex-shrink: 0;
}

.mgh-gallery__link {
	display: block;
	text-decoration: none;
	color: inherit;
	cursor: pointer;
}

.mgh-gallery__link:focus {
	outline: none;
}

.mgh-gallery__link:focus-visible {
	outline: 2px solid rgba(44, 58, 96, 0.5);
	outline-offset: 2px;
}

.mgh-gallery__image-wrap {
	width: 300px;
	height: 186px;
	border-radius: 8px;
	overflow: hidden;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.mgh-gallery__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	vertical-align: middle;
	transition: transform 300ms ease-out;
	pointer-events: none;
	user-select: none;
	-webkit-user-drag: none;
}

/* Prevent theme/Elementor defaults from forcing height:auto on img tags. */
.mgh-gallery__image-wrap .mgh-gallery__img {
	width: 100% !important;
	height: 100% !important;
	max-width: none;
}

.mgh-gallery__link:hover .mgh-gallery__img,
.mgh-gallery__link:focus-visible .mgh-gallery__img {
	transform: scale(1.01);
}

.mgh-gallery__placeholder {
	width: 300px;
	height: 186px;
	background: #eee;
	border-radius: 8px;
	flex-shrink: 0;
}

.mgh-gallery__caption {
	margin: 0;
	line-height: 1.4;
	width: 300px;
}

/* Prevent background scroll while the gallery lightbox is open (see gallery.js). */
html.mgh-gallery-lightbox-open,
body.mgh-gallery-lightbox-open {
	overflow: hidden;
	height: 100%;
}

body.mgh-gallery-lightbox-open {
	position: fixed;
	width: 100%;
	left: 0;
	right: 0;
}

/* Lightbox – matches the Jorato case-detail image popup (swipe + arrows). */
.mgh-gallery__lightbox {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem;
	box-sizing: border-box;
	background: transparent;
	isolation: isolate;
	touch-action: none;
	overscroll-behavior: none;
}

.mgh-gallery__lightbox[hidden] {
	display: none !important;
}

.mgh-gallery__lightbox-backdrop {
	position: absolute;
	inset: 0;
	z-index: 0;
	background: rgba(0, 0, 0, 0.88);
}

.mgh-gallery__lightbox-stage {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	max-width: min(1300px, 92vw);
	max-height: 90vh;
	touch-action: none;
}

/* Beat Elementor's `.elementor img { height: auto }` (loads after widget CSS). */
.mgh-gallery__lightbox .mgh-gallery__lightbox-stage img.mgh-gallery__lightbox-img {
	display: block;
	width: auto !important;
	height: auto !important;
	max-width: min(1300px, 92vw);
	max-height: 90vh;
	cursor: default;
}

.mgh-gallery__lightbox .mgh-gallery__lightbox-stage img.mgh-gallery__lightbox-img:not(.is-loaded) {
	visibility: hidden;
	opacity: 0;
}

.mgh-gallery__lightbox-close {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	z-index: 3;
	width: 44px;
	height: 44px;
	border: none;
	border-radius: 50%;
	padding: 0;
	cursor: pointer;
	background: rgba(255, 255, 255, 0.9);
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);
	font-size: 1.5rem;
	line-height: 1;
	color: #2c3a60;
	-webkit-appearance: none;
	appearance: none;
}

.mgh-gallery__lightbox-close::before {
	content: "×";
}

.mgh-gallery__lightbox-close:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.mgh-gallery__lightbox-nav {
	position: absolute;
	top: 50%;
	z-index: 3;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: none;
	padding: 0;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.2);
	background-color: rgba(255, 255, 255, 0.9);
	background-image: url("https://mgejendomme.dk/wp-content/plugins/mgh-wp-plugin/assets/images/chevron-arrow.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 12px 12px;
	-webkit-appearance: none;
	appearance: none;
}

.mgh-gallery__lightbox-nav[hidden] {
	display: none !important;
}

.mgh-gallery__lightbox-nav--prev {
	left: 0.5rem;
	transform: translateY(-50%) scaleX(-1);
}

.mgh-gallery__lightbox-nav--next {
	right: 0.5rem;
	transform: translateY(-50%);
}

.mgh-gallery__lightbox-nav:focus-visible {
	outline: 2px solid #fff;
	outline-offset: 2px;
}

/* Desktop: image 323×200, padding 100px 50px 0 50px (match image-text) */
@media (min-width: 1280px) {
	.mgh-gallery {
		max-width: 100%;
		padding: 100px 50px 0 50px;
	}

	.mgh-gallery__image-wrap,
	.mgh-gallery__placeholder {
		width: 323px;
		height: 200px;
	}

	.mgh-gallery__caption {
		width: 323px;
	}

	.mgh-gallery__scroll-hint-band {
		height: 200px;
	}

	/* Arrow stays visible on desktop (see gallery.js); keep it clickable whenever the row overflows. */
	.mgh-gallery__viewport.mgh-gallery--overflow .mgh-gallery__scroll-hint--next .mgh-gallery__scroll-hint-icon {
		pointer-events: auto;
	}
}


/* intereslist.css */
/* MGH Intereslist widget – CTA box, content from Settings > MGH Settings */
/* Blue box 8px radius; title H3 #fff; description Paragraph #fff; 20px gaps; button gold #fff 14px, 15px 30px 17px 30px, 8px radius. */
/* Container padding 70px 50px desktop, 60px 20px mobile. Section top 60px mobile, 100px desktop. */

.mgh-intereslist {
	padding: 60px 20px 0;
	max-width: 884px;
	margin-left: auto;
	margin-right: auto;
}

.mgh-intereslist--no-top-padding {
	padding-top: 0;
}

.mgh-intereslist__box {
	background-color: #2c3a60;
	border-radius: 8px;
	padding: 60px 20px;
	text-align: left;
}

.mgh-intereslist__title {
	margin: 0 0 20px 0;
	color: #fff;
	line-height: var(--mgh-heading-3-line-height);
	font-family: var(--mgh-heading-3-font-family), sans-serif;
	font-weight: var(--mgh-heading-3-weight);
	font-size: var(--mgh-heading-3-size);
}

.mgh-intereslist__description {
	margin: 0 0 20px 0;
	color: #fff;
	line-height: 1.4;
	font-family: Poppins, sans-serif;
	font-weight: 300;
	font-size: 14px;
}

.mgh-intereslist__button {
	display: inline-block;
	background-color: var(--mgh-gold);
	color: #fff;
	font-size: 14px;
	font-family: Poppins, sans-serif;
	font-weight: 600;
	line-height: 1.4;
	padding: 15px 30px 17px 30px;
	border-radius: 8px;
	text-decoration: none;
	margin-top: 0;
	margin-bottom: 0;
	border: none;
	cursor: default;
}

a.mgh-intereslist__button {
	cursor: pointer;
}

a.mgh-intereslist__button:hover {
	background-color: var(--mgh-gold-hover);
}

.mgh-intereslist__placeholder {
	margin: 0;
	color: rgba(255, 255, 255, 0.85);
	font-size: 14px;
	line-height: 1.4;
}

.mgh-intereslist__placeholder a {
	color: #fff;
	text-decoration: underline;
}

/* Desktop */
@media (min-width: 1280px) {
	.mgh-intereslist {
		padding: 100px 50px 0;
		max-width: 100%;
	}

	.mgh-intereslist--no-top-padding {
		padding-top: 0;
	}

	.mgh-intereslist__box {
		padding: 70px 50px;
	}

	.mgh-intereslist__title {
		margin-bottom: 20px;
	}

	.mgh-intereslist__description {
		font-size: 14px;
		margin-bottom: 20px;
	}
}


/* emergency-contact.css */
/* MGH Emergency contact widget – static banner, content from Settings > MGH Settings */
/* Light background; Mobile H4 / Desktop H4; Mobile Paragraph / Desktop Paragraph; phone 18px 600 + icon; token blue. */
/* Container width matches FAQ / list: 884px centered mobile, full width + 50px gutters desktop. */
/* Padding 60px 20px mobile, 70px 50px desktop; margin-top 50px; border-radius 8px; gap 20px. */

.mgh-emergency-contact {
	--mgh-ec-blue: #2c3a60;
	display: flex;
	flex-direction: column;
	gap: 20px;
	background-color: #f4f7f6;
	border-radius: 8px;
	padding: 60px 20px;
	margin: 50px auto 0 auto;
	max-width: 884px;
	width: 100%;
	color: var(--mgh-ec-blue);
	text-align: left;
}

.mgh-emergency-contact__title {
	margin: 0;
	color: var(--mgh-ec-blue);
	font-family: var(--mgh-heading-4-font-family), sans-serif;
	font-weight: var(--mgh-heading-4-weight);
	font-size: var(--mgh-heading-4-size);
	line-height: var(--mgh-heading-4-line-height);
}

.mgh-emergency-contact__description {
	margin: 0;
	color: var(--mgh-ec-blue);
	font-family: Poppins, sans-serif;
	font-weight: 300;
	font-size: 14px;
	line-height: 1.4;
}

.mgh-emergency-contact__item {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.mgh-emergency-contact__subtitle {
	margin: 0;
	color: var(--mgh-ec-blue);
	font-family: Poppins, sans-serif;
	font-weight: 600;
	font-size: 16px;
	line-height: 1.3;
}

.mgh-emergency-contact__phone-row {
	display: flex;
	align-items: center;
}

.mgh-emergency-contact .mgh-emergency-contact__phone,
.mgh-emergency-contact .mgh-emergency-contact__phone:visited,
.mgh-emergency-contact .mgh-emergency-contact__phone:active,
.mgh-emergency-contact .mgh-emergency-contact__phone:focus,
.mgh-emergency-contact .mgh-emergency-contact__phone span {
	color: #2c3a60;
	text-decoration: none;
}

.mgh-emergency-contact .mgh-emergency-contact__phone {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	line-height: 1.4;
	font-family: Poppins, sans-serif;
	font-weight: 600;
	font-size: 14px;
}

.mgh-emergency-contact .mgh-emergency-contact__phone svg {
	flex-shrink: 0;
	width: 1em;
	height: 1em;
	vertical-align: middle;
	color: inherit;
}

/* Force icon shapes to follow the link color in every state (rest, visited, hover). */
.mgh-emergency-contact .mgh-emergency-contact__phone svg [stroke]:not([stroke="none"]) {
	stroke: currentColor;
}

.mgh-emergency-contact .mgh-emergency-contact__phone svg [fill]:not([fill="none"]) {
	fill: currentColor;
}

.mgh-emergency-contact .mgh-emergency-contact__phone:hover,
.mgh-emergency-contact .mgh-emergency-contact__phone:hover span,
.mgh-emergency-contact .mgh-emergency-contact__phone:hover svg {
	color: #baa558;
	text-decoration: none;
}

.mgh-emergency-contact__placeholder {
	margin: 0;
	color: var(--mgh-ec-blue);
	opacity: 0.85;
	font-size: 14px;
	line-height: 1.4;
}

.mgh-emergency-contact__placeholder a {
	color: var(--mgh-ec-blue);
	text-decoration: underline;
}

/* Desktop */
@media (min-width: 1280px) {
	.mgh-emergency-contact {
		margin: 50px 0 0 0;
		padding: 70px 50px;
		max-width: 100%;
	}

	.mgh-emergency-contact__subtitle {
		font-size: 17px;
	}

	.mgh-emergency-contact__description {
		font-size: 14px;
	}
}


/* faq.css */
/* MGH FAQ widget – accordion list, single column. Chevron toggles (rotates 180° when open). */
/* Container width matches image-text image column: 884px centered mobile, 686px + 50px left inset desktop. */
/* Title: Desktop H4 / Mobile H3, MGH blue. Optional section description (Paragraph) below title. Padding: 60px mobile, 100px desktop. */
/* Item: question Mobile H6 / Desktop H6; header padding 30px top/bottom mobile, 40px desktop; chevron 12×12. */

.mgh-faq {
	margin: 60px auto 0 auto;
	padding: 0 20px;
	max-width: 884px;
	width: 100%;
}

.mgh-faq--no-top-padding {
	margin-top: 0;
}

/* Mobile H3 / desktop H4 at 1280px+ */
.mgh-faq__title {
	margin: 0 0 20px 0;
	font-family: var(--mgh-heading-3-font-family), sans-serif;
	font-weight: var(--mgh-heading-3-weight);
	font-size: var(--mgh-heading-3-size);
	line-height: var(--mgh-heading-3-line-height);
}

/* Section intro — matches list/contact description (Paragraph, 14px, weight 300). */
.mgh-faq__section-description {
	margin: 0;
	line-height: 1.4;
	font-family: Poppins, sans-serif;
	font-weight: 300;
	font-size: 14px;
	color: #2c3a60;
}

.mgh-faq--has-description .mgh-faq__list {
	margin-top: 28px;
}

.mgh-faq__list {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 0;
	padding: 0;
}

.mgh-faq__item {
	margin: 0;
	padding: 0;
	border: none;
	border-top: 1px solid rgba(44, 58, 96, 0.20);
}

.mgh-faq__item:last-child {
	border-bottom: 1px solid rgba(44, 58, 96, 0.20);
}

.mgh-faq__header {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 30px 0;
	cursor: pointer;
	list-style: none;
}

.mgh-faq__header::-webkit-details-marker,
.mgh-faq__header::marker {
	display: none;
}

.mgh-faq__item-title {
	flex: 1;
	min-width: 0;
	line-height: 1.2;
	font-family: Poppins, sans-serif;
	font-weight: 600;
	font-size: 16px;
}

.mgh-faq .mgh-faq__list .mgh-faq__item-title {
	color: #2c3a60;
}

.mgh-faq__chevron {
	flex-shrink: 0;
	width: 12px;
	height: 12px;
	object-fit: contain;
	transition: transform 0.25s ease;
}

.mgh-faq__item[open] .mgh-faq__chevron {
	transform: rotate(180deg);
}

.mgh-faq__description {
	margin: 0 0 20px 0;
	padding: 0;
	line-height: 1.4;
}

/* Rich text (WYSIWYG) content inside answers */
.mgh-faq__description p {
	margin: 0 0 1em 0;
}

.mgh-faq__description p:last-child {
	margin-bottom: 0;
}

.mgh-faq__description strong,
.mgh-faq__description b {
	font-weight: 600;
}

.mgh-faq__description ul,
.mgh-faq__description ol {
	margin: 0 0 1em 0;
	padding-left: 1.5em;
}

.mgh-faq__description ul {
	list-style: disc;
}

.mgh-faq__description ol {
	list-style: decimal;
}

.mgh-faq__description ul:last-child,
.mgh-faq__description ol:last-child {
	margin-bottom: 0;
}

.mgh-faq__description li {
	margin-bottom: 0.4em;
}

.mgh-faq__description a {
	color: #2c3a60;
	text-decoration: underline;
}

.mgh-faq__button-wrap {
	margin-top: 0;
	margin-bottom: 20px;
}

/* Desktop – match image-text image column (686px) with the same 50px left inset */
@media (min-width: 1280px) {
	.mgh-faq {
		margin: 100px 0 0 50px;
		padding: 0;
		max-width: 686px;
	}

	.mgh-faq--no-top-padding {
		margin-top: 0;
	}

	/* Desktop H4 */
	.mgh-faq__title {
		margin-bottom: 20px;
		font-family: var(--mgh-heading-4-font-family), sans-serif;
		font-weight: var(--mgh-heading-4-weight);
		font-size: var(--mgh-heading-4-size);
		line-height: var(--mgh-heading-4-line-height);
	}

	.mgh-faq:not(.mgh-faq--has-description) .mgh-faq__title {
		margin-bottom: 28px;
	}

	.mgh-faq--has-description .mgh-faq__list {
		margin-top: 28px;
	}

	.mgh-faq__header {
		padding: 40px 0;
	}

	.mgh-faq__item-title {
		font-size: 17px;
	}
}


/* list.css */
/* MGH List (Contact us) – static accordion list, no icons. Content from Settings. Background #B9C8B933. */
/* Space above: margin-top 60px mobile, 100px desktop. Padding unchanged (internal). */
/* Gap description to list: 28px mobile, 73px desktop. Item: H6 title, plus icon; 1 col mobile, 2 cols desktop. */

.mgh-list {
	width: 100%;
	margin-top: 60px;
	background-color: #B9C8B933;
}

.mgh-list__inner {
	max-width: 884px;
	margin-left: auto;
	margin-right: auto;
	padding: 60px 20px;
}

.mgh-list--no-top-padding {
	margin-top: 0;
}

.mgh-list__title {
	margin: 0 0 20px 0;
	line-height: var(--mgh-heading-3-line-height);
	font-family: var(--mgh-heading-3-font-family), sans-serif;
	font-weight: var(--mgh-heading-3-weight);
	font-size: var(--mgh-heading-3-size);
	color: #2c3a60;
}

.mgh-list__description {
	margin: 0;
	line-height: 1.4;
	font-family: Poppins, sans-serif;
	font-weight: 300;
	font-size: 14px;
	color: #2c3a60;
}

.mgh-list__list {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin: 28px 0 0 0;
	padding: 0;
}

.mgh-list__col {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 0;
}

.mgh-list__item {
	margin: 0;
	padding: 0;
	border: none;
	border-top: 1px solid rgba(44, 58, 96, 0.20);
}

/* Mobile: columns stack — only close the list at the very last item, not at each column break. */
.mgh-list__col--right .mgh-list__item:last-child,
.mgh-list__list:not(:has(.mgh-list__col--right .mgh-list__item)) .mgh-list__col--left .mgh-list__item:last-child {
	border-bottom: 1px solid rgba(44, 58, 96, 0.20);
}

.mgh-list__header {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 30px 0;
	cursor: pointer;
	list-style: none;
}

.mgh-list__header::-webkit-details-marker,
.mgh-list__header::marker {
	display: none;
}

.mgh-list__item-title {
	flex: 1;
	min-width: 0;
	line-height: 1.2;
	font-family: Poppins, sans-serif;
	font-weight: 600;
	font-size: 16px;
	color: #2c3a60;
}

.mgh-list__plus {
	flex-shrink: 0;
	line-height: 1;
	font-size: 1.25rem;
	font-weight: 400;
	color: #242424;
	transition: transform 0.2s ease;
}

.mgh-list__item[open] .mgh-list__plus {
	transform: rotate(45deg);
}

.mgh-list__item-body {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0 0 20px 0;
}

.mgh-list__item-description {
	margin: 0;
	padding: 0;
	line-height: 1.4;
	font-family: Poppins, sans-serif;
	font-weight: 300;
	font-size: 14px;
	color: #2c3a60;
}

/* Gold email/phone links with leading icon (per Figma Kontakt_Accordion). */
.mgh-list__item-contact {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
}

.mgh-list .mgh-list__item-contact-link,
.mgh-list .mgh-list__item-contact-link:visited,
.mgh-list .mgh-list__item-contact-link:active,
.mgh-list .mgh-list__item-contact-link:focus,
.mgh-list .mgh-list__item-contact-link span {
	color: #baa558;
	text-decoration: none;
}

.mgh-list .mgh-list__item-contact-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	line-height: 1.4;
	font-family: Poppins, sans-serif;
	font-weight: 600;
	font-size: 14px;
}

.mgh-list .mgh-list__item-contact-link svg {
	flex-shrink: 0;
	width: 1em;
	height: 1em;
	vertical-align: middle;
	color: inherit;
}

/* Force icon shapes to follow the link color in every state (rest, visited, hover). */
.mgh-list .mgh-list__item-contact-link svg [stroke]:not([stroke="none"]) {
	stroke: currentColor;
}

.mgh-list .mgh-list__item-contact-link svg [fill]:not([fill="none"]) {
	fill: currentColor;
}

.mgh-list .mgh-list__item-contact-link:hover,
.mgh-list .mgh-list__item-contact-link:hover span,
.mgh-list .mgh-list__item-contact-link:hover svg {
	color: #2c3a60;
	text-decoration: none;
}

/* Item 2: two contact title + phone + email triplets (gold), styled like the emergency contact. */
.mgh-list__item-contacts {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

.mgh-list__item-contact-block {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.mgh-list__item-contact-subtitle {
	line-height: 1.3;
	font-family: Poppins, sans-serif;
	font-weight: 600;
	font-size: 16px;
	color: #2c3a60;
}

/* Item 3: gold CTA button. */
.mgh-list .mgh-button--gold {
	background-color: var(--mgh-gold);
	color: #fff;
}

.mgh-list a.mgh-button--gold:hover {
	background-color: var(--mgh-gold-hover);
	color: #fff;
}

.mgh-list__item-button {
	align-self: flex-start;
}

.mgh-list__placeholder {
	margin: 0;
	color: #2c3a60;
	opacity: 0.85;
	font-size: 14px;
	line-height: 1.4;
}

.mgh-list__placeholder a {
	color: #2c3a60;
	text-decoration: underline;
}

/* Desktop: two columns, margin-top 100px, padding 100px 50px 140px 50px */
@media (min-width: 1280px) {
	.mgh-list {
		margin-top: 100px;
	}

	.mgh-list__inner {
		max-width: 100%;
		padding: 100px 50px 140px 50px;
	}

	.mgh-list--no-top-padding {
		margin-top: 0;
	}

	.mgh-list__title {
		margin-bottom: 20px;
	}

	.mgh-list__description {
		font-size: 14px;
	}

	.mgh-list__list {
		margin-top: 73px;
		flex-direction: row;
		gap: 32px;
		align-items: flex-start;
	}

	.mgh-list__col {
		flex: 1;
		min-width: 0;
	}

	.mgh-list__col .mgh-list__item:last-child {
		border-bottom: 1px solid rgba(44, 58, 96, 0.20);
	}

	.mgh-list__header {
		padding: 40px 0;
	}

	.mgh-list__item-title {
		font-size: 17px;
	}
}


/* contact.css */
/* MGH Contact ("Kontakt os") – self-contained section: header + two-column layout. */
/* Light background; H1 title, paragraph description; column titles H4. */
/* Gold email/phone links with leading inline SVG icon; acute column gets a left divider on desktop. */
/* Top spacing from margin-top only (60px mobile, 100px desktop); horizontal padding only (20px/50px sides). */

.mgh-contact {
	margin-top: 60px;
	padding: 0 20px;
	color: #2c3a60;
}

.mgh-contact--no-top-padding {
	margin-top: 0;
}

.mgh-contact__header {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0 0 40px 0;
}

/* Specificity beats Elementor per-page typography CSS (post-*.css). Same tokens as hero: mobile_heading_1 / heading_1. */
div.elementor-widget.elementor-widget-mgh_contact .mgh-contact .mgh-contact__header .mgh-contact__title {
	font-family: var(--mgh-heading-1-font-family), sans-serif;
	font-size: var(--mgh-heading-1-size);
	font-weight: var(--mgh-heading-1-weight);
	line-height: var(--mgh-heading-1-line-height);
	letter-spacing: var(--mgh-heading-1-letter-spacing);
	color: #2c3a60;
}

.mgh-contact__title {
	margin: 0;
}

.mgh-contact__description {
	margin: 0;
	max-width: 640px;
	line-height: 1.4;
	font-family: Poppins, sans-serif;
	font-weight: 300;
	font-size: 14px;
	color: #2c3a60;
}

.mgh-contact__columns {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

.mgh-contact__col {
	display: flex;
	flex-direction: column;
	gap: 16px;
	min-width: 0;
}

/* Mobile: columns stack, so the divider runs horizontally above the acute column. */
.mgh-contact__col--acute {
	padding-top: 40px;
	border-top: 1px solid rgba(44, 58, 96, 0.20);
}

.mgh-contact__col-title {
	margin: 0;
	line-height: var(--mgh-heading-4-line-height);
	font-family: var(--mgh-heading-4-font-family), sans-serif;
	font-weight: var(--mgh-heading-4-weight);
	font-size: var(--mgh-heading-4-size);
	color: #2c3a60;
}

.mgh-contact__address {
	margin: 0;
	line-height: 1.4;
	font-family: Poppins, sans-serif;
	font-weight: 300;
	font-size: 14px;
	color: #2c3a60;
}

/* Gold email/phone links with leading icon. */
.mgh-contact__links {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}

.mgh-contact .mgh-contact__link,
.mgh-contact .mgh-contact__link:visited,
.mgh-contact .mgh-contact__link:active,
.mgh-contact .mgh-contact__link:focus,
.mgh-contact .mgh-contact__link span {
	color: #baa558;
	text-decoration: none;
}

.mgh-contact .mgh-contact__link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	line-height: 1.4;
	font-family: Poppins, sans-serif;
	font-weight: 600;
	font-size: 14px;
}

.mgh-contact .mgh-contact__link svg {
	flex-shrink: 0;
	width: 1em;
	height: 1em;
	vertical-align: middle;
	color: inherit;
}

/* Force icon shapes to follow the link color in every state (rest, visited, hover). */
.mgh-contact .mgh-contact__link svg [stroke]:not([stroke="none"]) {
	stroke: currentColor;
}

.mgh-contact .mgh-contact__link svg [fill]:not([fill="none"]) {
	fill: currentColor;
}

.mgh-contact .mgh-contact__link:hover,
.mgh-contact .mgh-contact__link:hover span,
.mgh-contact .mgh-contact__link:hover svg {
	color: #2c3a60;
	text-decoration: none;
}

.mgh-contact__hours {
	display: flex;
	flex-direction: column;
	gap: 5px;
	margin-top: 8px;
	line-height: 1.4;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	color: #2c3a60;
}

.mgh-contact__hours-label {
	font-weight: 600;
}

.mgh-contact__hours-value {
	font-weight: 300;
}

.mgh-contact__acute-desc {
	margin: 0;
	line-height: 1.4;
	font-family: Poppins, sans-serif;
	font-weight: 300;
	font-size: 14px;
	color: #2c3a60;
}

.mgh-contact__col--acute .mgh-button {
	align-self: flex-start;
	margin-top: 8px;
}

/* Desktop: two columns side by side with a vertical divider; wider padding/title. */
@media (min-width: 1280px) {
	.mgh-contact {
		margin-top: 100px;
		padding: 0 50px;
	}

	.mgh-contact--no-top-padding {
		margin-top: 0;
	}

	.mgh-contact__header {
		gap: 16px;
		margin-bottom: 60px;
	}

	.mgh-contact__columns {
		flex-direction: row;
		gap: 64px;
		align-items: flex-start;
	}

	.mgh-contact__col {
		flex: 1;
	}

	.mgh-contact__col--acute {
		padding-top: 0;
		border-top: none;
		padding-left: 64px;
		border-left: 1px solid rgba(44, 58, 96, 0.20);
	}

	.mgh-contact--single .mgh-contact__col--main {
		flex: 0 1 auto;
	}
}


/* split.css */
/* MGH Text Image (Blue) – stacked below 768px; side-by-side from 768px; fixed 696×696 image at 1280px+. */

.mgh-split {
	width: 100%;
	margin-top: 60px;
	background-color: #2c3a60;
}

.mgh-split.mgh-split--no-top-padding {
	margin-top: 0;
}

/* Light grey variant: light background, navy text, navy button */
.mgh-split--light-grey {
	background-color: #f2f2f2;
}

.mgh-split--light-grey .mgh-split__title,
.mgh-split--light-grey .mgh-split__description {
	color: #2c3a60;
}

.mgh-split--light-grey .mgh-split__email {
	color: #2c3a60;
}

.mgh-split--light-grey .mgh-split__email:hover {
	color: #7c859c;
}

.mgh-split__inner {
	display: flex;
	flex-direction: column;
	width: 100%;
}

.mgh-split__media {
	width: 100%;
	flex-shrink: 0;
}

.mgh-split .mgh-split__img {
	display: block;
	width: 100%;
	aspect-ratio: 390 / 219;
	object-fit: cover;
	vertical-align: middle;
}

.mgh-split__content {
	padding: 60px 20px;
	min-width: 0;
}

.mgh-split__title {
	margin: 0 0 20px;
	line-height: 1.2;
	color: #fff;
}

/* Specificity beats Elementor per-page typography CSS (post-*.css). Token: heading-3. */
div.elementor-widget.elementor-widget-mgh_split .mgh-split .mgh-split__title {
	font-family: var(--mgh-heading-3-font-family), sans-serif;
	font-size: var(--mgh-heading-3-size);
	font-weight: var(--mgh-heading-3-weight);
	line-height: var(--mgh-heading-3-line-height);
	letter-spacing: var(--mgh-heading-3-letter-spacing);
}

.mgh-split__description {
	margin: 0;
	line-height: 1.4;
	color: #fff;
}

.mgh-split__description + .mgh-split__email-wrap,
.mgh-split__description + .mgh-split__button-wrap {
	margin-top: 20px;
}

.mgh-split__email-wrap {
	margin: 0;
}

.mgh-split__email-wrap + .mgh-split__button-wrap {
	margin-top: 20px;
}

.mgh-split__email {
	color: #baa558;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
}

.mgh-split__email:hover {
	text-decoration: underline;
	color: #baa558;
}

/* Gold button variant (on blue background) */
.mgh-split .mgh-button--gold {
	background-color: var(--mgh-gold);
	color: #fff;
}

.mgh-split a.mgh-button--gold:hover {
	background-color: var(--mgh-gold-hover);
	color: #fff;
}

/* Tablet + desktop row: 768px+. Image scales until 1280px, then locks to 696×696. */
@media (min-width: 768px) {
	.mgh-split__inner {
		flex-direction: row;
		align-items: stretch;
		gap: 40px;
	}

	/* Reversed: tablet/desktop only – text left, image right. Below 768px image is always first. */
	.mgh-split--reversed .mgh-split__inner {
		flex-direction: row-reverse;
	}

	.mgh-split__media {
		width: min(696px, 42%);
		flex-shrink: 0;
	}

	.mgh-split .mgh-split__img {
		width: 100%;
		height: auto;
		aspect-ratio: 1;
	}

	.mgh-split__content {
		flex: 1;
		display: flex;
		flex-direction: column;
		justify-content: center;
		padding: 40px 20px 40px 0;
	}

	.mgh-split--reversed .mgh-split__content {
		padding: 40px 0 40px 20px;
	}

	.mgh-split--reversed .mgh-split__inner {
		padding-right: 20px;
	}

	.mgh-split__email {
		font-size: 18px;
		font-weight: 600;
	}
}

/* Full desktop: 696×696 image, 80px gap, 50px content inset, 100px top spacing */
@media (min-width: 1280px) {
	.mgh-split {
		margin-top: 100px;
	}

	.mgh-split.mgh-split--no-top-padding {
		margin-top: 0;
	}

	.mgh-split__inner {
		gap: 80px;
	}

	.mgh-split__media {
		width: 696px;
	}

	.mgh-split .mgh-split__img {
		width: 696px;
		height: 696px;
		aspect-ratio: auto;
	}

	.mgh-split__content {
		padding: 50px 50px 50px 0;
	}

	.mgh-split--reversed .mgh-split__content {
		padding: 50px 0 50px 50px;
	}

	.mgh-split--reversed .mgh-split__inner {
		padding-right: 50px;
	}
}


/* text.css */
/* MGH Text widget – single column, heading + body (no image). Left-aligned. */
/* Same typography as Image + Text: Desktop H3 / Mobile H3, Desktop Paragraph / Mobile Paragraph. */
/* Container width matches FAQ / image-text image column: 884px centered mobile, 686px + 50px left inset desktop. */
/* Top spacing: 60px mobile, 100px desktop. Horizontal padding: 20px mobile only. */

.mgh-text {
	width: 100%;
	max-width: 884px;
	margin-left: auto;
	margin-right: auto;
	padding: 60px 20px 0;
	box-sizing: border-box;
}

.mgh-text__content {
	--mgh-text-gap: 20px;
}

.mgh-text__title {
	margin: 0 0 var(--mgh-text-gap, 20px) 0;
	line-height: 1.2;
}

/* Specificity beats Elementor per-page typography CSS (post-*.css). Token: heading-3. */
div.elementor-widget.elementor-widget-mgh_text .mgh-text .mgh-text__content .mgh-text__title {
	font-family: var(--mgh-heading-3-font-family), sans-serif;
	font-size: var(--mgh-heading-3-size);
	font-weight: var(--mgh-heading-3-weight);
	line-height: var(--mgh-heading-3-line-height);
	letter-spacing: var(--mgh-heading-3-letter-spacing);
}

.mgh-text__description {
	margin: 0;
	line-height: 1.4;
}

/* Rich text (WYSIWYG) content inside body */
.mgh-text__description p {
	margin: 0 0 1em 0;
}

.mgh-text__description p:last-child {
	margin-bottom: 0;
}

.mgh-text__description strong,
.mgh-text__description b {
	font-weight: 600;
}

.mgh-text__description ul,
.mgh-text__description ol {
	margin: 0 0 1em 0;
	padding-left: 1.5em;
}

.mgh-text__description ul {
	list-style: disc;
}

.mgh-text__description ol {
	list-style: decimal;
}

.mgh-text__description ul:last-child,
.mgh-text__description ol:last-child {
	margin-bottom: 0;
}

.mgh-text__description li {
	margin-bottom: 0.4em;
}

.mgh-text__description a {
	color: inherit;
	text-decoration: underline;
}

@media (min-width: 1280px) {
	.mgh-text {
		max-width: 686px;
		margin-left: 50px;
		margin-right: auto;
		padding: 100px 0 0;
	}
}


/* divider.css */
/* MGH Divider – 1px line, rgba(44, 58, 96, 0.20). Margin top: 60px mobile, 100px desktop. Margin left/right: 20px mobile, 50px desktop. */

.mgh-divider {
	height: 1px;
	background-color: rgba(44, 58, 96, 0.20);
	margin-top: 60px;
	margin-bottom: 0;
	margin-left: 20px;
	margin-right: 20px;
}

@media (min-width: 1280px) {
	.mgh-divider {
		margin-top: 100px;
		margin-left: 50px;
		margin-right: 50px;
	}
}


/* milestones.css */
/* MGH Milestones widget – horizontal scroll row of image + year + description */
/* Title: H3 desktop / Mobile H3. Year: H5 / Mobile H5. Description: Paragraph / Mobile Paragraph. */
/* Image: 323×200 desktop, 300×186 mobile. Gap 20px image→year, 10px year→description. 20px between items. */

.mgh-milestones {
	padding: 60px 20px 0;
	max-width: 884px;
	margin-left: auto;
	margin-right: auto;
}

.mgh-milestones__title {
	margin: 0 0 20px 0;
	line-height: 1.2;
}

/* Specificity beats Elementor per-page typography CSS (post-*.css). Token: heading-3. */
div.elementor-widget.elementor-widget-mgh_milestones .mgh-milestones .mgh-milestones__title {
	font-family: var(--mgh-heading-3-font-family), sans-serif;
	font-size: var(--mgh-heading-3-size);
	font-weight: var(--mgh-heading-3-weight);
	line-height: var(--mgh-heading-3-line-height);
	letter-spacing: var(--mgh-heading-3-letter-spacing);
}

/* Stack track + scroll hints in one grid cell so the hints overlay the row. */
.mgh-milestones__viewport {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: auto;
	position: relative;
}

.mgh-milestones__track {
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
	width: 100%;
	z-index: 1;
	display: flex;
	flex-direction: row;
	gap: 20px;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
	cursor: grab;
}

.mgh-milestones__track::-webkit-scrollbar {
	display: none;
}

.mgh-milestones__track.is-dragging {
	cursor: grabbing;
	user-select: none;
}

/* Right-edge affordance when the row overflows (shown via JS: .mgh-milestones--overflow, hidden at end: .mgh-milestones--scrolled-end). */
.mgh-milestones__scroll-hint {
	grid-column: 1;
	grid-row: 1;
	z-index: 2;
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	min-width: 0;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.2s ease;
}

/* Match .mgh-milestones__image-wrap height so the chevron centers on the image strip only. */
.mgh-milestones__scroll-hint-band {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: auto;
	height: 186px;
	box-sizing: border-box;
	padding-right: 0.5rem;
	padding-left: 0.25rem;
}

.mgh-milestones__scroll-hint-icon {
	display: block;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 50%;
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12);
	background-color: rgba(255, 255, 255, 0.9);
	background-image: url("https://mgejendomme.dk/wp-content/plugins/mgh-wp-plugin/assets/images/chevron-arrow.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 12px 12px;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	pointer-events: none;
}

.mgh-milestones__scroll-hint--prev {
	justify-content: flex-start;
}

.mgh-milestones__scroll-hint--prev .mgh-milestones__scroll-hint-band {
	justify-content: flex-start;
	padding-right: 0.25rem;
	padding-left: 0.5rem;
}

.mgh-milestones__scroll-hint-icon--prev {
	transform: scaleX(-1);
}

.mgh-milestones__viewport.mgh-milestones--overflow:not(.mgh-milestones--scrolled-end):not(.mgh-scroll-hint-dismissed) .mgh-milestones__scroll-hint--next {
	opacity: 1;
}

.mgh-milestones__viewport.mgh-milestones--overflow:not(.mgh-milestones--scrolled-end):not(.mgh-scroll-hint-dismissed) .mgh-milestones__scroll-hint--next .mgh-milestones__scroll-hint-icon {
	pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
	.mgh-milestones__scroll-hint {
		transition: none;
	}
}

.mgh-milestones__item {
	display: flex;
	flex-direction: column;
	flex-shrink: 0;
}

.mgh-milestones__link {
	display: block;
	text-decoration: none;
	color: inherit;
	cursor: pointer;
	margin-bottom: 20px;
}

.mgh-milestones__image-wrap {
	position: relative;
	width: 300px;
	height: 186px;
	border-radius: 8px 8px 0 0;
	overflow: hidden;
	flex-shrink: 0;
}

.mgh-milestones__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	display: block;
	vertical-align: middle;
	transition: transform 300ms ease-out;
	transform: scale(1);
	pointer-events: none;
	user-select: none;
	-webkit-user-drag: none;
}

/* Beat Elementor's .elementor img { height: auto; max-width: 100% } (loads after widget CSS). */
div.elementor-widget.elementor-widget-mgh_milestones .mgh-milestones__image-wrap img.mgh-milestones__img {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	object-position: center;
}

.mgh-milestones__link:hover .mgh-milestones__img,
.mgh-milestones__link:focus .mgh-milestones__img {
	transform: scale(1.1);
}

.mgh-milestones__placeholder {
	width: 300px;
	height: 186px;
	background: #eee;
	border-radius: 8px 8px 0 0;
	flex-shrink: 0;
	margin-bottom: 20px;
}

.mgh-milestones__year {
	margin: 0 0 10px 0;
	line-height: var(--mgh-heading-5-line-height);
	font-family: var(--mgh-heading-5-font-family), sans-serif;
	font-weight: var(--mgh-heading-5-weight);
	font-size: var(--mgh-heading-5-size);
	color: #2c3a60;
	width: 300px;
}

.mgh-milestones__description {
	margin: 0;
	line-height: var(--mgh-paragraph-line-height);
	font-family: var(--mgh-paragraph-font-family), sans-serif;
	font-weight: var(--mgh-paragraph-weight);
	font-size: var(--mgh-paragraph-size);
	color: #242424;
	width: 300px;
}

/* Desktop: image 323×200, padding 100px 50px 0 50px (match image-text) */
@media (min-width: 1280px) {
	.mgh-milestones {
		max-width: 100%;
		padding: 100px 50px 0 50px;
	}

	.mgh-milestones__image-wrap,
	.mgh-milestones__placeholder {
		width: 323px;
		height: 200px;
	}

	.mgh-milestones__year {
		width: 323px;
	}

	.mgh-milestones__description {
		width: 323px;
	}

	.mgh-milestones__scroll-hint-band {
		height: 200px;
	}

	.mgh-milestones__viewport.mgh-milestones--overflow .mgh-milestones__scroll-hint--next .mgh-milestones__scroll-hint-icon {
		pointer-events: auto;
	}
}


/* contact-form.css */
/* MGH Contact Form – light gray section, token blue labels/text/inputs, gold consent link. */

.mgh-contact-form {
	background-color: #f5f5f0;
	padding: 60px 20px 60px 20px;
	max-width: 100%;
}

/* Title: Mobile H3 by default; Desktop H3 at 1280px+ */
.mgh-contact-form__title {
	margin: 0 0 12px;
	font-family: var(--mgh-heading-3-font-family), sans-serif;
	font-size: var(--mgh-heading-3-size);
	font-weight: var(--mgh-heading-3-weight);
	line-height: var(--mgh-heading-3-line-height);
	color: #2c3a60;
}

/* Subtitle: Mobile Paragraph by default; Desktop Paragraph at 1280px+ */
.mgh-contact-form .mgh-contact-form__subtitle {
	margin: 0 0 24px;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.4;
	color: var(--MGE-Blue, #2c3a60);
}

.mgh-contact-form__form {
	max-width: 600px;
}

.mgh-contact-form__honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.mgh-contact-form__fields {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin-bottom: 24px;
}

.mgh-contact-form__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

/* Higher specificity so Elementor-generated rules don't override (match or beat .elementor-xxx .elementor-element.xxx .mgh-contact-form__label) */
.mgh-contact-form .mgh-contact-form__fields .mgh-contact-form__field .mgh-contact-form__label {
	display: block;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.4;
	color: var(--MGE-Blue, #2c3a60);
}

/* Higher specificity so theme global input rules don't override */
.mgh-contact-form .mgh-contact-form__input {
	width: 100%;
	padding: 12px 16px;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-style: normal;
	font-weight: 600;
	line-height: 140%;
	color: var(--MGE-Blue, #2c3a60);
	background: #fff;
	border: 1px solid rgba(44, 58, 96, 0.20);
	border-radius: 8px;
	box-sizing: border-box;
}

.mgh-contact-form .mgh-contact-form__input::placeholder {
	color: rgba(44, 58, 96, 0.5);
}

.mgh-contact-form .mgh-contact-form__input:focus {
	outline: none;
	border-color: rgba(44, 58, 96, 0.4);
}

.mgh-contact-form .mgh-contact-form__textarea {
	min-height: 140px;
	resize: vertical;
}

.mgh-contact-form .mgh-contact-form__counter {
	display: block;
	margin-top: 4px;
	color: var(--MGE-Blue, #2c3a60);
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-style: normal;
	font-weight: 300;
	line-height: 140%;
}

.mgh-contact-form__consents {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-bottom: 24px;
}

.mgh-contact-form__consent {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	cursor: pointer;
}

/* Custom checkbox: MGE blue when checked, white checkmark */
.mgh-contact-form .mgh-contact-form__checkbox {
	-webkit-appearance: none;
	appearance: none;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	margin-top: 2px;
	border-radius: 4px;
	border: 1px solid rgba(44, 58, 96, 0.20);
	background: #fff;
	cursor: pointer;
	position: relative;
	vertical-align: middle;
}

.mgh-contact-form .mgh-contact-form__checkbox:checked {
	background-color: var(--MGE-Blue, #2c3a60);
	border-color: var(--MGE-Blue, #2c3a60);
	background-image: url("data:image/svg+xml,%3Csvg width='14' height='10' viewBox='0 0 14 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 5L5 9L13 1' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 14px 10px;
}

.mgh-contact-form .mgh-contact-form__checkbox:focus {
	outline: none;
	border-color: rgba(44, 58, 96, 0.5);
}

.mgh-contact-form .mgh-contact-form__consent-text {
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.4;
	color: var(--MGE-Blue, #2c3a60);
}

.mgh-contact-form__consent-link {
	color: #baa558;
	text-decoration: underline;
}

.mgh-contact-form__consent-link:hover {
	color: #9a8a48;
}

.mgh-contact-form__submit-wrap {
	margin-top: 0;
}

.mgh-contact-form__submit {
	display: block;
	width: 100%;
	padding: 15px 20px 17px;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	color: #fff;
	background-color: #2c3a60;
	border: none;
	border-radius: 8px;
	cursor: pointer;
}

.mgh-contact-form__submit:hover {
	background-color: #3d4d75;
}

.mgh-contact-form__submit:disabled {
	opacity: 0.7;
	cursor: not-allowed;
}

.mgh-contact-form__message {
	margin-top: 16px;
	padding: 12px 16px;
	border-radius: 8px;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	line-height: 1.4;
}

.mgh-contact-form__message--success {
	background-color: #e0f0e0;
	color: var(--MGE-Blue, #2c3a60);
}

.mgh-contact-form__message--error {
	background-color: #ffe0e0;
	color: var(--MGE-Blue, #2c3a60);
}

/* Success modal overlay */
.mgh-contact-form__success-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
}

.mgh-contact-form__success-modal[hidden] {
	display: none;
}

.mgh-contact-form__success-modal-overlay {
	position: absolute;
	inset: 0;
	background-color: rgba(44, 58, 96, 0.5);
}

.mgh-contact-form__success-modal-box {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 480px;
	padding: 32px 24px 32px 24px;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
	box-sizing: border-box;
}

.mgh-contact-form__success-modal-close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 32px;
	height: 32px;
	padding: 0;
	font-size: 24px;
	line-height: 1;
	color: var(--MGE-Blue, #2c3a60);
	background: none;
	border: none;
	cursor: pointer;
}

.mgh-contact-form__success-modal-close:hover {
	opacity: 0.8;
}

.mgh-contact-form__success-modal-title {
	margin: 0 0 16px;
	font-family: var(--mgh-heading-3-font-family), sans-serif;
	font-size: var(--mgh-heading-3-size);
	font-weight: var(--mgh-heading-3-weight);
	line-height: var(--mgh-heading-3-line-height);
	color: var(--MGE-Blue, #2c3a60);
}

.mgh-contact-form__success-modal-body {
	margin: 0 0 24px;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.4;
	color: var(--MGE-Blue, #2c3a60);
}

.mgh-contact-form__success-modal-body .mgh-contact-form__success-modal-email {
	font-weight: 600;
}

.mgh-contact-form__success-modal-btn {
	display: block;
	padding: 15px 20px 17px;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	color: #fff;
	background-color: var(--MGE-Blue, #2c3a60);
	border: none;
	border-radius: 8px;
	cursor: pointer;
}

.mgh-contact-form__success-modal-btn:hover {
	background-color: #3d4d75;
}

/* Desktop: same left/right padding; title = Desktop H3; subtitle = Desktop Paragraph */
@media (min-width: 1280px) {
	.mgh-contact-form {
		padding: 100px 50px 100px 50px;
	}
	.mgh-contact-form .mgh-contact-form__subtitle {
		font-family: Poppins, sans-serif;
		font-size: 14px;
		font-weight: 300;
		line-height: 1.4;
	}
}


/* leasing-team.css */
/* MGH Team widget – title + description, one section with configurable title and contact cards. */
/* Typography & colors: MGH design tokens only (no Elementor Style controls on this widget). */
/*
 * Selectors are scoped under div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team
 * so these rules win over Elementor's cached per-page CSS from old widget settings.
 */
/* Title: Desktop H3 / Mobile H3 (optional mobile-only text, optional hide on mobile). Description: Desktop Paragraph / Mobile Paragraph. */
/* Section title: Desktop H5 / Mobile H3; when main title is hidden on mobile, section title uses heading-3. */
/* Image: 323×219 desktop, 8px radius top-left/right; mobile full width, same aspect ratio (323/219). */
/* Desktop: 4 cards per row. Mobile: 1 per row. Contact labels navy, values gold; tel/mailto links. */

div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team {
	padding: 60px 20px 4px 20px;
	max-width: 884px;
	margin-left: auto;
	margin-right: auto;
}

div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__title {
	margin: 0 0 20px 0;
	font-family: var(--mgh-heading-3-font-family), sans-serif;
	font-size: var(--mgh-heading-3-size);
	font-weight: var(--mgh-heading-3-weight);
	line-height: var(--mgh-heading-3-line-height);
	letter-spacing: var(--mgh-heading-3-letter-spacing);
	color: #2c3a60;
}

div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__title-text--desktop {
	display: none;
}

div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__title-text--mobile {
	display: inline;
}

div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__description {
	margin: 0 0 32px 0;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.4;
	letter-spacing: 0;
	color: #242424;
}

div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__section {
	margin-bottom: 40px;
}

div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__section:last-child {
	margin-bottom: 0;
}

div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__section-title {
	margin: 0 0 20px 0;
	font-family: var(--mgh-heading-3-font-family), sans-serif;
	font-size: var(--mgh-heading-3-size);
	font-weight: var(--mgh-heading-3-weight);
	line-height: var(--mgh-heading-3-line-height);
	letter-spacing: var(--mgh-heading-3-letter-spacing);
	color: #2c3a60;
}

div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 24px 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__card {
	margin: 0;
	padding: 0;
	background: #fff;
}

div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__card-image-wrap {
	position: relative;
	width: 100%;
	aspect-ratio: 323 / 219;
	overflow: hidden;
	border-radius: 8px 8px 0 0;
	background: #eee;
}

div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__card-image-wrap--placeholder {
	min-height: 120px;
}

div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__card-image-wrap > .mgh-leasing-team__card-image {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
	object-position: top;
}

div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__card-body {
	padding: 16px 0 0 0;
}

div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__card-name {
	margin: 0 0 4px 0;
	font-family: var(--mgh-heading-5-font-family), sans-serif;
	font-size: var(--mgh-heading-5-size);
	font-weight: var(--mgh-heading-5-weight);
	line-height: var(--mgh-heading-5-line-height);
	letter-spacing: var(--mgh-heading-5-letter-spacing);
	color: #2c3a60;
}

div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__card-job-title {
	margin: 0 0 12px 0;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0;
	color: #2c3a60;
}

div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__contact {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	padding: 0;
}

div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__contact-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0 6px;
	margin: 0;
	padding: 0;
}

div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__contact-label {
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.4;
	letter-spacing: 0;
	color: #2c3a60;
}

div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__contact-value {
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0;
	color: #baa558;
	text-decoration: none;
}

div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__contact-value:hover {
	color: #2c3a60;
	text-decoration: none;
}

@media (max-width: 767px) {
	div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__title--hide-mobile {
		display: none;
	}

	/* When the main title is hidden, promote section title to heading-3. */
	div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team.mgh-leasing-team--title-hidden-mobile .mgh-leasing-team__section .mgh-leasing-team__section-title {
		font-size: var(--mgh-heading-3-size);
	}
}

@media (min-width: 768px) {
	div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team {
		padding: 100px 50px 4px 50px;
		max-width: 1400px;
	}

	div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__title-text--desktop {
		display: inline;
	}

	div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__title-text--mobile {
		display: none;
	}

	div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__description {
		margin-bottom: 40px;
	}

	div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__section {
		margin-bottom: 48px;
	}

	div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__section-title {
		margin-bottom: 24px;
		font-family: var(--mgh-heading-5-font-family), sans-serif;
		font-size: var(--mgh-heading-5-size);
		font-weight: var(--mgh-heading-5-weight);
		line-height: var(--mgh-heading-5-line-height);
		letter-spacing: var(--mgh-heading-5-letter-spacing);
	}

	div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__grid {
		grid-template-columns: repeat(4, minmax(0, 323px));
		justify-content: start;
		max-width: 1364px;
		gap: 32px 24px;
	}

	div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__card-image-wrap {
		width: 100%;
		height: auto;
		aspect-ratio: 323 / 219;
	}

	div.elementor-widget.elementor-widget-mgh_leasing_team .mgh-leasing-team .mgh-leasing-team__card-image-wrap--placeholder {
		min-height: 219px;
	}
}


/* property-list.css */
/* MGH Property List – area intro + 2-col desktop / 1-col mobile property cards. */
/* Typography & colors: MGH design tokens only (no Elementor Style controls on this widget). */
/*
 * Selectors are scoped under div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list
 * so these rules win over Elementor’s cached CSS from old widget settings (higher specificity).
 */
/* Carousel: arrows only when navigation possible (disabled = hidden). Max 5 images. Area label top-left, gold banner bottom. */

/* Width comes from the Elementor container (Site Settings / layout). No max-width here. */
div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list {
	padding: 60px 20px 0 20px;
}

/* Header row: intro title left, optional "see more" link right */
div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: 0 0 20px 0;
}

/* Intro title: heading-3 (mge_blue) */
div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__intro-title {
	margin: 0;
	font-family: var(--mgh-heading-3-font-family), sans-serif;
	font-size: var(--mgh-heading-3-size);
	font-weight: var(--mgh-heading-3-weight);
	line-height: var(--mgh-heading-3-line-height);
	letter-spacing: var(--mgh-heading-3-letter-spacing);
	color: #2c3a60;
}

/* Top-right link: same look as card CTA; pushed right even without a title.
   Hidden below 1024px (see media query below). */
div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__header-link {
	display: none;
	align-items: center;
	gap: 8px;
	margin-left: auto;
	text-decoration: none;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0;
	color: #2c3a60;
	white-space: nowrap;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__header-link:hover {
	text-decoration: none;
	color: #baa558;
}

@media (min-width: 1024px) {
	div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__header-link {
		display: inline-flex;
	}
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__intro-text {
	margin: 0 0 32px 0;
	max-width: 800px;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.4;
	letter-spacing: 0;
	color: #242424;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__intro-text p {
	margin: 0 0 1em 0;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__intro-text p:last-child {
	margin-bottom: 0;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__empty {
	margin: 0;
	line-height: 1.4;
	color: #4c4c4c;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__grid {
	display: grid;
	grid-template-columns: 1fr;
	/* Mobile: 60px vertical between cards */
	gap: 60px;
	margin: 0;
	padding: 0;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__card {
	margin: 0;
	padding: 0;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__card--clickable {
	position: relative;
	cursor: pointer;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__card-link::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__carousel {
	position: relative;
	overflow: hidden;
	background: #e8e8e8;
	/* Match the viewport's top radius so the grey placeholder background
	   doesn't show square corners behind the rounded image. */
	border-radius: 8px 8px 0 0;
}

/* Images: round only top-left + top-right */
div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__carousel-viewport {
	overflow: hidden;
	width: 100%;
	border-radius: 8px 8px 0 0;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__carousel-track {
	display: flex;
	transition: transform 0.28s ease;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__carousel-slide {
	flex-shrink: 0;
	box-sizing: border-box;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__carousel-img {
	display: block;
	width: 100%;
	height: auto;
	vertical-align: middle;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	transition: transform 300ms ease-out;
	transform: scale(1);
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__carousel:hover .mgh-property-list__carousel-img,
div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__carousel:focus-within .mgh-property-list__carousel-img,
div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__card--clickable:hover .mgh-property-list__carousel-img,
div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__card--clickable:focus-within .mgh-property-list__carousel-img {
	transform: scale(1.01);
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__carousel--placeholder .mgh-property-list__carousel-placeholder {
	width: 100%;
	aspect-ratio: 16 / 10;
	min-height: 180px;
	background: #ddd;
	border-radius: 8px 8px 0 0;
}

/* Area label: flush top-left; radius top-left + bottom-right only */
div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__badge {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	padding: 10px;
	background-color: #2c3a60;
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	border-radius: 8px 0 8px 0;
}

/* Mobile: full width; top-right corner rounded. Typography matches desktop except 10px / padding 10 */
div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__banner {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: auto;
	z-index: 2;
	padding: 10px;
	background-color: #baa558;
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.4;
	border-radius: 0 8px 0 0;
	box-sizing: border-box;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__carousel-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.85);
	color: #2c3a60;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
	transition: opacity 0.2s ease, visibility 0.2s ease, background-color 300ms ease-out, color 300ms ease-out, box-shadow 300ms ease-out;
	-webkit-tap-highlight-color: transparent;
	appearance: none;
	-webkit-appearance: none;
}

/* Avoid browser / theme focus fill (often reads as pink/magenta after click) */
div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__carousel-btn:focus {
	outline: none;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__carousel-btn:focus-visible {
	outline: 2px solid #2c3a60;
	outline-offset: 2px;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__carousel-btn:not(:disabled):focus:not(:hover) {
	background-color: rgba(255, 255, 255, 0.85);
	color: #2c3a60;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__carousel-btn:not(:disabled):hover:focus {
	background-color: #2c3a60;
	color: #ffffff;
}

/* Press state: match default or hover, never UA accent */
div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__carousel-btn:not(:disabled):active {
	background-color: rgba(255, 255, 255, 0.85);
	color: #2c3a60;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__carousel-btn:not(:disabled):hover:active {
	background-color: #2c3a60;
	color: #ffffff;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__carousel-btn--prev {
	left: 10px;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__carousel-btn--next {
	right: 10px;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__carousel-btn-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

/* Chevron from assets/images/chevron-right.svg (stroke and/or fill + currentColor) */
div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__carousel-btn-inner svg {
	width: auto;
	height: 20px;
	max-width: 20px;
	display: block;
	flex-shrink: 0;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__carousel-btn--prev .mgh-property-list__carousel-btn-inner svg {
	transform: scaleX(-1);
	transform-origin: center;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__carousel-btn:disabled {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__carousel-btn:not(:disabled):hover {
	background-color: #2c3a60;
	color: #ffffff;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__card-body {
	padding: 20px 0 0 0;
}

/* Card title: heading-5 */
div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__card-title {
	margin: 0 0 12px 0;
	font-family: var(--mgh-heading-5-font-family), sans-serif;
	font-size: var(--mgh-heading-5-size);
	font-weight: var(--mgh-heading-5-weight);
	line-height: var(--mgh-heading-5-line-height);
	letter-spacing: var(--mgh-heading-5-letter-spacing);
	color: #2c3a60;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__excerpt {
	margin: 0 0 16px 0;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__excerpt-p {
	margin: 0 0 10px 0;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.4;
	letter-spacing: 0;
	color: #2c3a60;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__excerpt-p:last-child {
	margin-bottom: 0;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0;
	color: #2c3a60;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__cta:hover,
div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__card--clickable:hover .mgh-property-list__cta,
div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__card--clickable:focus-within .mgh-property-list__cta {
	text-decoration: none;
	color: #baa558;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__cta-icon {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__cta-icon svg {
	width: auto;
	height: 10px;
	display: block;
}

@media (min-width: 768px) {
	div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list {
		padding: 100px 50px 0 50px;
	}

	div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__intro-text {
		margin-bottom: 40px;
	}

	div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__card-title {
		font-size: 21px;
	}

	div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__grid {
		grid-template-columns: repeat(2, 1fr);
		/* Desktop: 100px vertical, 40px horizontal */
		gap: 100px 40px;
	}

	/* Desktop: banner only as wide as text; single line (ellipsis if too long) */
	div.elementor-widget.elementor-widget-mgh_property_list .mgh-property-list .mgh-property-list__banner {
		left: 0;
		right: auto;
		width: max-content;
		max-width: 100%;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		font-size: 11px;
		font-weight: 600;
		line-height: 1.4;
		padding: 15px;
	}
}


/* property-spotlight.css */
/* MGH Property Spotlight – single property row; 800×450 media + fluid text column. */
/* Scoped like property-list for Elementor specificity. */

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight {
	margin-top: 60px;
	padding: 60px 20px 60px 20px;
	background-color: rgba(185, 200, 185, 0.2) !important;
	background-image: none !important;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__empty {
	margin: 0;
	line-height: 1.4;
	color: #4c4c4c;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: 32px;
	align-items: start;
}

/* Whole row clickable via stretched CTA link overlay. */
div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__row--linked {
	position: relative;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__row--linked .mgh-property-spotlight__cta::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* Media column: max 800px wide, 800/450 aspect */
div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__media {
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel {
	position: relative;
	overflow: hidden;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel-viewport {
	overflow: hidden;
	width: 100%;
	border-radius: 8px;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel-track {
	display: flex;
	transition: transform 0.28s ease;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel-slide {
	flex-shrink: 0;
	box-sizing: border-box;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel-img {
	display: block;
	width: 100%;
	height: auto;
	vertical-align: middle;
	aspect-ratio: 800 / 450;
	object-fit: cover;
	transition: transform 300ms ease-out;
	transform: scale(1);
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel:hover .mgh-property-spotlight__carousel-img,
div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel:focus-within .mgh-property-spotlight__carousel-img {
	transform: scale(1.01);
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel--placeholder .mgh-property-spotlight__carousel-placeholder {
	width: 100%;
	aspect-ratio: 800 / 450;
	min-height: 200px;
	background: rgba(0, 0, 0, 0.06);
	border-radius: 8px;
}

/* Mobile: full 8px radius on all image corners (slides + img help clip when track uses transform). */
@media (max-width: 767px) {
	div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel-viewport {
		border-radius: 8px;
	}

	div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel-slide {
		border-radius: 8px;
		overflow: hidden;
	}

	div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel-img {
		border-radius: 8px;
	}

	div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel--placeholder .mgh-property-spotlight__carousel-placeholder {
		border-radius: 8px;
	}
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__badge {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	padding: 10px;
	background-color: #2c3a60;
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.2;
	border-radius: 8px 0 8px 0;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__banner {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	width: auto;
	z-index: 2;
	padding: 10px;
	background-color: #baa558;
	color: #fff;
	font-family: Poppins, sans-serif;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.4;
	/* Mobile: full-width bar — bottom corners match image */
	border-radius: 0 0 8px 8px;
	box-sizing: border-box;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 50%;
	background-color: rgba(255, 255, 255, 0.85);
	color: #2c3a60;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.12);
	transition: opacity 0.2s ease, visibility 0.2s ease, background-color 300ms ease-out, color 300ms ease-out, box-shadow 300ms ease-out;
	-webkit-tap-highlight-color: transparent;
	appearance: none;
	-webkit-appearance: none;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel-btn:focus {
	outline: none;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel-btn:focus-visible {
	outline: 2px solid #2c3a60;
	outline-offset: 2px;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel-btn:not(:disabled):focus:not(:hover) {
	background-color: rgba(255, 255, 255, 0.85);
	color: #2c3a60;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel-btn:not(:disabled):hover:focus {
	background-color: #2c3a60;
	color: #ffffff;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel-btn:not(:disabled):active {
	background-color: rgba(255, 255, 255, 0.85);
	color: #2c3a60;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel-btn:not(:disabled):hover:active {
	background-color: #2c3a60;
	color: #ffffff;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel-btn--prev {
	left: 10px;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel-btn--next {
	right: 10px;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel-btn-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel-btn-inner svg {
	width: auto;
	height: 20px;
	max-width: 20px;
	display: block;
	flex-shrink: 0;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel-btn--prev .mgh-property-spotlight__carousel-btn-inner svg {
	transform: scaleX(-1);
	transform-origin: center;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel-btn:disabled {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__carousel-btn:not(:disabled):hover {
	background-color: #2c3a60;
	color: #ffffff;
}

/* Body: same rules as property list card */
div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__body {
	padding: 0;
	min-width: 0;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__title {
	margin: 0 0 12px 0;
	font-family: Poppins, sans-serif;
	font-size: 20px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0;
	color: #2c3a60;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__excerpt {
	margin: 0 0 16px 0;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__excerpt-p {
	margin: 0 0 10px 0;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.4;
	letter-spacing: 0;
	color: #2c3a60;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__excerpt-p:last-child {
	margin-bottom: 0;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: 0;
	color: #2c3a60;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__cta:hover,
div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__row--linked:hover .mgh-property-spotlight__cta,
div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__row--linked:focus-within .mgh-property-spotlight__cta {
	text-decoration: none;
	color: #baa558;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__cta-icon {
	display: inline-flex;
	align-items: center;
	line-height: 0;
}

div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__cta-icon svg {
	width: auto;
	height: 10px;
	display: block;
}

@media (min-width: 768px) {
	div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight {
		margin-top: 100px;
		padding: 100px 50px 100px 50px;
	}

	div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__title {
		font-size: 21px;
	}

	div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__banner {
		left: 0;
		right: auto;
		width: max-content;
		max-width: 100%;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		font-size: 11px;
		font-weight: 600;
		line-height: 1.4;
		padding: 15px;
		border-radius: 0 8px 0 8px;
	}
}

@media (min-width: 1024px) {
	div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__row {
		grid-template-columns: minmax(0, 800px) minmax(0, 1fr);
		gap: 40px;
		align-items: start;
	}

	div.elementor-widget.elementor-widget-mgh_property_spotlight .mgh-property-spotlight__media {
		margin: 0;
		max-width: none;
	}
}


/* notified-news.css */
/* MGH Notified News widget */

.mgh-notified-news {
	padding: 60px 0 0 20px;
	margin-left: auto;
	margin-right: auto;
}

.mgh-notified-news__title {
	margin: 0 0 20px;
	line-height: 1.2;
}

/* Stack track + scroll hint in one grid cell so the hint overlays the row. */
.mgh-notified-news__viewport {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	grid-template-rows: auto;
	position: relative;
}

.mgh-notified-news__track {
	grid-column: 1;
	grid-row: 1;
	min-width: 0;
	width: 100%;
	z-index: 1;
	display: flex;
	flex-direction: row;
	gap: 20px;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
	-ms-overflow-style: none;
	cursor: grab;
}

.mgh-notified-news__track::-webkit-scrollbar {
	display: none;
}

.mgh-notified-news__track.is-dragging {
	cursor: grabbing;
	user-select: none;
}

/* Right-edge affordance when the row overflows (toggled via JS). */
.mgh-notified-news__scroll-hint {
	grid-column: 1;
	grid-row: 1;
	z-index: 2;
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	min-width: 0;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.2s ease;
}

/* Match .mgh-notified-news__image-wrap height so the chevron centers on the image strip only. */
.mgh-notified-news__scroll-hint-band {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	width: auto;
	height: 186px;
	box-sizing: border-box;
	padding-right: 0.25rem;
	padding-left: 0.5rem;
}

/* Circular white nav affordance, matching the Jorato cases list card arrows. Acts as a "scroll one item" button. */
.mgh-notified-news__scroll-hint-icon {
	display: block;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	border: none;
	border-radius: 50%;
	box-shadow: 0 1px 6px rgba(0, 0, 0, 0.12);
	background-color: rgba(255, 255, 255, 0.9);
	background-image: url("https://mgejendomme.dk/wp-content/plugins/mgh-wp-plugin/assets/images/chevron-arrow.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 12px 12px;
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	pointer-events: none;
}

.mgh-notified-news__viewport.mgh-notified-news--overflow:not(.mgh-notified-news--scrolled-end):not(.mgh-scroll-hint-dismissed) .mgh-notified-news__scroll-hint {
	opacity: 1;
}

/* Only allow clicks on the affordance while it is actually shown. */
.mgh-notified-news__viewport.mgh-notified-news--overflow:not(.mgh-notified-news--scrolled-end):not(.mgh-scroll-hint-dismissed) .mgh-notified-news__scroll-hint-icon {
	pointer-events: auto;
}

@media (prefers-reduced-motion: reduce) {
	.mgh-notified-news__scroll-hint {
		transition: none;
	}
}

.mgh-notified-news__card {
	width: 300px;
	flex: 0 0 300px;
}

.mgh-notified-news__card-link {
	display: block;
	flex: 0 0 300px;
	color: inherit;
	text-decoration: none;
	pointer-events: auto;
}

.mgh-notified-news__card-link--clickable,
.mgh-notified-news__card--clickable,
.mgh-notified-news__card-link--clickable .mgh-notified-news__link {
	cursor: pointer;
}

.mgh-notified-news__image-wrap {
	width: 300px;
	height: 186px;
	border-radius: 8px 8px 0 0;
	overflow: hidden;
	background: #f0f0f0;
	margin-bottom: 12px;
}

.mgh-notified-news__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 300ms ease-out;
	transform: scale(1);
	pointer-events: none;
	user-select: none;
	-webkit-user-drag: none;
}

.mgh-notified-news__card--clickable:hover .mgh-notified-news__image,
.mgh-notified-news__card--clickable:focus-within .mgh-notified-news__image,
.mgh-notified-news__card-link:hover .mgh-notified-news__image,
.mgh-notified-news__card-link:focus .mgh-notified-news__image,
.mgh-notified-news__card-link:focus-visible .mgh-notified-news__image {
	transform: scale(1.01);
}

.mgh-notified-news__card-title {
	margin: 0 0 8px;
	color: #2c3a60;
	font-family: Poppins, sans-serif;
	font-size: 17px;
	font-weight: 600;
	line-height: 1.2;
}

.mgh-notified-news__summary {
	margin: 0 0 10px;
	color: #2c3a60;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.4;
}

.mgh-notified-news__link {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #2c3a60;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
}

.mgh-notified-news__card--clickable:hover .mgh-notified-news__link,
.mgh-notified-news__card--clickable:focus-within .mgh-notified-news__link,
.mgh-notified-news__card-link:hover .mgh-notified-news__link,
.mgh-notified-news__card-link:focus .mgh-notified-news__link,
.mgh-notified-news__card-link:focus-visible .mgh-notified-news__link {
	color: #baa558;
}

.mgh-notified-news__link--muted {
	opacity: 0.75;
}

.mgh-notified-news__link-icon {
	display: inline-flex;
	width: 12px;
	height: 12px;
}

.mgh-notified-news__link-icon svg {
	width: 100%;
	height: 100%;
	display: block;
}

.mgh-notified-news__button-wrap {
	margin-top: 30px;
	text-align: left;
}

.mgh-notified-news__button {
	display: inline-block;
	background-color: var(--mgh-gold);
	color: #fff;
	font-size: 14px;
	font-family: Poppins, sans-serif;
	font-weight: 600;
	line-height: 1.4;
	padding: 15px 30px 17px 30px;
	border-radius: 8px;
	text-decoration: none;
	border: none;
	cursor: pointer;
}

.mgh-notified-news__button:hover {
	background-color: var(--mgh-gold-hover);
	color: #fff;
}

.mgh-notified-news__fallback {
	margin: 0;
	color: #4c4c4c;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	line-height: 1.4;
}

@media (min-width: 1280px) {
	.mgh-notified-news {
		padding: 100px 50px 0;
	}

	.mgh-notified-news__track {
		gap: 40px;
	}

	.mgh-notified-news__card-title {
		font-size: 21px;
	}

	.mgh-notified-news__card,
	.mgh-notified-news__card-link {
		flex-basis: 324px;
	}

	.mgh-notified-news__card {
		width: 324px;
	}

	.mgh-notified-news__image-wrap {
		width: 324px;
		height: 182px;
	}

	.mgh-notified-news__scroll-hint-band {
		height: 182px;
	}

	/* Arrow stays visible on desktop (see gallery.js); keep it clickable whenever the row overflows. */
	.mgh-notified-news__viewport.mgh-notified-news--overflow .mgh-notified-news__scroll-hint-icon {
		pointer-events: auto;
	}

	.mgh-notified-news__button-wrap {
		text-align: center;
	}
}


/* steps.css */
/* MGH Steps widget – title, subtitle, repeatable steps with circular images, optional CTA. */
/* Title: Desktop H3 / Mobile H3. Subtitle: Desktop Paragraph / Mobile Paragraph. */
/* Step title: Desktop H6 / Mobile H6. Step text: Desktop Paragraph Small / Mobile Paragraph Small 2. */
/* Image: 140×140 desktop, 100×100 mobile (circle). Background: rgba(185, 200, 185, 0.20). */
/* Desktop: horizontal row with chevrons between steps. Mobile: 2-column rows with chevrons within each pair. */

.mgh-steps {
	width: 100%;
	margin-top: 60px;
	background: rgba(185, 200, 185, 0.20);
}

.mgh-steps--no-top-padding {
	margin-top: 0;
}

.mgh-steps__inner {
	max-width: 884px;
	margin-left: auto;
	margin-right: auto;
	padding: 60px 20px;
	text-align: center;
}

.mgh-steps__title {
	margin: 0 0 20px 0;
	line-height: 1.2;
}

/* Specificity beats Elementor per-page typography CSS (post-*.css). Token: heading-3. */
div.elementor-widget.elementor-widget-mgh_steps .mgh-steps .mgh-steps__title {
	font-family: var(--mgh-heading-3-font-family), sans-serif;
	font-size: var(--mgh-heading-3-size);
	font-weight: var(--mgh-heading-3-weight);
	line-height: var(--mgh-heading-3-line-height);
	letter-spacing: var(--mgh-heading-3-letter-spacing);
}

.mgh-steps__subtitle {
	margin: 0 0 40px 0;
	line-height: 1.4;
}

.mgh-steps__track {
	display: flex;
	flex-direction: column;
	gap: 40px;
	margin: 0 0 40px 0;
}

.mgh-steps__row {
	display: flex;
	flex-direction: row;
	align-items: flex-start;
	justify-content: center;
	gap: 0;
}

.mgh-steps__row--single {
	justify-content: center;
}

.mgh-steps__item-wrap {
	flex: 1 1 0;
	min-width: 0;
	max-width: calc(50% - 12px);
}

.mgh-steps__row--single .mgh-steps__item-wrap {
	flex: 0 1 auto;
	max-width: calc(50% - 12px);
}

.mgh-steps__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.mgh-steps__step-title {
	margin: 0 0 16px 0;
	line-height: 1.2;
}

.mgh-steps__image-wrap {
	width: 100px;
	height: 100px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
	margin: 0 0 16px 0;
}

.mgh-steps__image-wrap--placeholder {
	background: rgba(44, 58, 96, 0.08);
}

.mgh-steps__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}

div.elementor-widget.elementor-widget-mgh_steps .mgh-steps__image-wrap img.mgh-steps__image {
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	object-fit: cover;
	object-position: center;
}

.mgh-steps__step-description {
	margin: 0;
	line-height: 1.4;
	max-width: 280px;
}

.mgh-steps__chevron-slot {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 24px;
	margin-top: calc(1.2em + 16px);
	height: 100px;
	color: rgba(44, 58, 96, 0.35);
}

.mgh-steps__chevron {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
}

.mgh-steps__chevron svg {
	display: block;
	width: 100%;
	height: 100%;
}

.mgh-steps__chevron-slot--desktop {
	display: none;
}

.mgh-steps__chevron-slot--mobile {
	display: flex;
}

.mgh-steps__button-wrap {
	display: flex;
	justify-content: center;
}

/* Desktop: single horizontal row via display:contents on row wrappers */
@media (min-width: 1280px) {
	.mgh-steps {
		margin-top: 100px;
	}

	.mgh-steps--no-top-padding {
		margin-top: 0;
	}

	.mgh-steps__inner {
		padding: 100px 50px;
	}

	.mgh-steps__track {
		flex-direction: row;
		flex-wrap: nowrap;
		justify-content: center;
		align-items: flex-start;
		gap: 0;
	}

	.mgh-steps__row {
		display: contents;
	}

	.mgh-steps__item-wrap {
		flex: 1 1 0;
		max-width: none;
		min-width: 0;
	}

	.mgh-steps__row--single .mgh-steps__item-wrap {
		flex: 1 1 0;
		max-width: none;
	}

	.mgh-steps__image-wrap {
		width: 140px;
		height: 140px;
	}

	.mgh-steps__chevron-slot {
		width: 32px;
		height: 140px;
		margin-top: calc(1.2em + 16px);
	}

	.mgh-steps__chevron-slot--desktop {
		display: flex;
	}

	.mgh-steps__chevron-slot--mobile {
		display: none;
	}

	.mgh-steps__step-description {
		max-width: 220px;
	}
}


/* interest-list.css */
/* MGH Interest List – hero with tab buttons + tabbed forms. Mobile-first; tokens at 1280px. */

.mgh-interest-list {
	max-width: 100%;
}

/* --- Hero (matches MGH Hero height + title/description placement) --- */
.mgh-interest-list__hero {
	position: relative;
	display: flex;
	align-items: center;
	height: 500px;
	max-width: 1920px;
	margin-left: auto;
	margin-right: auto;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.mgh-interest-list__overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.mgh-interest-list__hero-inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-self: stretch;
	width: 100%;
	max-width: 1520px;
	margin-left: auto;
	margin-right: auto;
}

.mgh-interest-list__hero-content {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 20px;
	width: 100%;
	max-width: 884px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 1.5rem;
}

/* Specificity beats Elementor per-page typography CSS (post-*.css). */
div.elementor-widget.elementor-widget-mgh_interest_list .mgh-interest-list .mgh-interest-list__hero-content .mgh-interest-list__title {
	margin: 0;
	font-family: var(--mgh-heading-1-font-family), sans-serif;
	font-size: var(--mgh-heading-1-size);
	font-weight: var(--mgh-heading-1-weight);
	line-height: var(--mgh-heading-1-line-height);
	letter-spacing: var(--mgh-heading-1-letter-spacing);
	color: #fff;
}

.mgh-interest-list .mgh-interest-list__description {
	margin: 0;
	font-family: var(--mgh-paragraph-font-family), sans-serif;
	font-size: var(--mgh-paragraph-size);
	font-weight: var(--mgh-paragraph-weight);
	line-height: var(--mgh-paragraph-line-height);
	letter-spacing: var(--mgh-paragraph-letter-spacing);
	color: rgba(255, 255, 255, 0.9);
}

/* --- Tab buttons: anchored to the bottom edge of the hero so they read as tabs --- */
.mgh-interest-list__tabs {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	gap: 12px;
	width: 100%;
	max-width: 884px;
	margin-left: auto;
	margin-right: auto;
	padding: 0 1.5rem;
	box-sizing: border-box;
}

.mgh-interest-list .mgh-interest-list__tab {
	flex: 0 0 auto;
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 140%;
	text-align: center;
	color: #fff;
	padding: 15px 30px;
	border-radius: 8px 8px 0 0;
	border: none;
	background-color: #2c3a60;
	cursor: pointer;
	transition: background-color 0.15s ease, color 0.15s ease;
}

.mgh-interest-list .mgh-interest-list__tab:hover {
	background-color: #3d4d75;
}

.mgh-interest-list .mgh-interest-list__tab.is-active,
.mgh-interest-list .mgh-interest-list__tab.is-active:hover {
	background-color: #fff;
	color: #2c3a60;
}

.mgh-interest-list__tab-label--desktop {
	display: none;
}

.mgh-interest-list__tab-label--mobile {
	display: inline;
}

/* --- Panels --- */
.mgh-interest-list__panels {
	background-color: #fff;
	max-width: 884px;
	margin-left: auto;
	margin-right: auto;
}

.mgh-interest-list__panel {
	padding: 60px 20px;
}

.mgh-interest-list__panel[hidden] {
	display: none;
}

.mgh-interest-list__form {
	max-width: 600px;
}

.mgh-interest-list__info-box {
	margin: 0 0 32px;
	padding: 16px 20px;
	background: rgba(185, 200, 185, 0.20);
	border-radius: 8px;
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.4;
	color: #242424;
}

.mgh-interest-list__honeypot {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.mgh-interest-list__section-title {
	margin: 0 0 16px;
	font-family: Poppins, sans-serif;
	font-size: 21px;
	font-weight: 600;
	line-height: 1.2;
	color: #2c3a60;
}

.mgh-interest-list__section-description {
	margin: 0 0 16px;
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.4;
	color: #2c3a60;
}

/* --- Contact fields --- */
.mgh-interest-list__fields {
	display: flex;
	flex-direction: column;
	gap: 20px;
	margin: 0 0 32px;
}

.mgh-interest-list__group > .mgh-interest-list__fields {
	margin: 0;
}

.mgh-interest-list__field {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.mgh-interest-list .mgh-interest-list__fields .mgh-interest-list__field .mgh-interest-list__label,
div.elementor-widget.elementor-widget-mgh_interest_list .mgh-interest-list .mgh-interest-list__label {
	display: block;
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.4;
	color: #2c3a60;
}

.mgh-interest-list__field-help {
	display: block;
	margin-top: -2px;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 1.4;
	color: rgba(44, 58, 96, 0.65);
}

.mgh-interest-list__required {
	color: #c0392b;
	font-weight: 600;
}

.mgh-interest-list__field.is-invalid .mgh-interest-list__input,
.mgh-interest-list__field.is-invalid .mgh-interest-list__textarea,
.mgh-interest-list__field.is-invalid .mgh-interest-list__dropdown-toggle,
.mgh-interest-list__field--phone.is-invalid .mgh-interest-list__phone-row .mgh-interest-list__input,
.mgh-interest-list__group.is-invalid .mgh-interest-list__choices,
.mgh-interest-list__field--boolean.is-invalid .mgh-interest-list__choices,
.mgh-interest-list__consent.is-invalid .mgh-interest-list__checkbox {
	border-color: #c0392b;
	box-shadow: 0 0 0 1px rgba(192, 57, 43, 0.35);
}

.mgh-interest-list__group.is-invalid .mgh-interest-list__choices,
.mgh-interest-list__field--boolean.is-invalid .mgh-interest-list__choices {
	border: 1px solid #c0392b;
	border-radius: 8px;
	padding: 12px;
	background: rgba(192, 57, 43, 0.04);
}

.mgh-interest-list__group.is-invalid > .mgh-interest-list__section-title,
.mgh-interest-list__field.is-invalid > .mgh-interest-list__label,
.mgh-interest-list__field.is-invalid > label.mgh-interest-list__label,
.mgh-interest-list__field--boolean.is-invalid > .mgh-interest-list__label {
	color: #c0392b;
}

.mgh-interest-list__consent.is-invalid {
	padding: 12px;
	border-radius: 8px;
	background: rgba(192, 57, 43, 0.04);
	box-shadow: 0 0 0 1px rgba(192, 57, 43, 0.45);
}

.mgh-interest-list__field--range.is-invalid .mgh-dual-range__input::-webkit-slider-runnable-track,
.mgh-interest-list__field--range.is-invalid .mgh-dual-range__input::-moz-range-track {
	background: #c0392b;
}

.mgh-interest-list__field--range.is-invalid .mgh-dual-range__input::-webkit-slider-thumb,
.mgh-interest-list__field--range.is-invalid .mgh-dual-range__input::-moz-range-thumb {
	box-shadow: 0 0 0 2px rgba(192, 57, 43, 0.45), 0 2px 8px rgba(44, 58, 96, 0.18);
}

.mgh-interest-list__field-error {
	display: block;
	margin-top: 4px;
	font-family: Poppins, sans-serif;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.4;
	color: #c0392b;
}

.mgh-interest-list .mgh-interest-list__input {
	width: 100%;
	padding: 12px 16px;
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 140%;
	color: #2c3a60;
	background: #fff;
	border: 1px solid rgba(44, 58, 96, 0.20);
	border-radius: 8px;
	box-sizing: border-box;
}

.mgh-interest-list .mgh-interest-list__input::placeholder {
	color: rgba(44, 58, 96, 0.5);
	font-weight: 300;
}

.mgh-interest-list .mgh-interest-list__input:focus {
	outline: none;
	border-color: rgba(44, 58, 96, 0.4);
}

.mgh-interest-list__field--phone .mgh-interest-list__phone-row {
	display: flex;
	align-items: stretch;
	gap: 12px;
}

.mgh-interest-list .mgh-interest-list__phone-extension {
	flex: 0 0 auto;
	width: auto;
	min-width: 5.75rem;
	max-width: 7rem;
	padding-right: 2rem;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%232C3A60' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 12px center;
	background-size: 12px 8px;
}

.mgh-interest-list .mgh-interest-list__phone-number {
	flex: 1 1 auto;
	min-width: 0;
}

.mgh-interest-list .mgh-interest-list__textarea {
	min-height: 110px;
	font-weight: 300;
	resize: vertical;
}

/* --- Choice / criteria groups --- */
.mgh-interest-list__group {
	margin: 0 0 32px;
}

.mgh-interest-list__choices {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 24px;
}

.mgh-interest-list__choices--stacked {
	flex-direction: column;
	gap: 12px;
}

.mgh-interest-list__choices--inline {
	flex-direction: row;
	gap: 24px;
}

.mgh-interest-list__field--boolean .mgh-interest-list__label {
	display: block;
	margin-bottom: 12px;
}

.mgh-interest-list__field--boolean .mgh-interest-list__field-help {
	display: block;
	margin: -4px 0 12px;
}

.mgh-interest-list__field--checkbox-boolean .mgh-interest-list__choice--checkbox-boolean {
	align-items: center;
	gap: 10px;
}

.mgh-interest-list__field--checkbox-boolean .mgh-interest-list__field-help {
	margin-top: 0;
}

.mgh-interest-list__choice {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
}

.mgh-interest-list__choice-text {
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: #2c3a60;
}

/* --- Consents --- */
.mgh-interest-list__consents {
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin: 0 0 24px;
	padding-top: 24px;
	border-top: 1px solid rgba(44, 58, 96, 0.12);
}

.mgh-interest-list__consent {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	cursor: pointer;
}

.mgh-interest-list__consent-text {
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.4;
	color: #2c3a60;
}

div.elementor-widget.elementor-widget-mgh_interest_list .mgh-interest-list .mgh-interest-list__consent-text a,
div.elementor-widget.elementor-widget-mgh_interest_list .mgh-interest-list .mgh-interest-list__consent-text a:visited,
.mgh-interest-list .mgh-interest-list__consent-text a,
.mgh-interest-list .mgh-interest-list__consent-text a:visited,
.mgh-interest-list .mgh-interest-list__consent-link,
.mgh-interest-list .mgh-interest-list__consent-link:visited {
	color: #baa558;
	text-decoration: none;
}

div.elementor-widget.elementor-widget-mgh_interest_list .mgh-interest-list .mgh-interest-list__consent-text a:hover,
div.elementor-widget.elementor-widget-mgh_interest_list .mgh-interest-list .mgh-interest-list__consent-text a:focus,
.mgh-interest-list .mgh-interest-list__consent-text a:hover,
.mgh-interest-list .mgh-interest-list__consent-text a:focus,
.mgh-interest-list .mgh-interest-list__consent-link:hover,
.mgh-interest-list .mgh-interest-list__consent-link:focus {
	color: #2c3a60;
	text-decoration: none;
}

/* --- Custom checkbox (shared by boligtype + consents) --- */
.mgh-interest-list .mgh-interest-list__checkbox {
	-webkit-appearance: none;
	appearance: none;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	margin: 0;
	border-radius: 4px;
	border: 1px solid rgba(44, 58, 96, 0.20);
	background: #fff;
	cursor: pointer;
	position: relative;
	vertical-align: middle;
}

.mgh-interest-list__consent .mgh-interest-list__checkbox {
	margin-top: 2px;
}

.mgh-interest-list .mgh-interest-list__checkbox:checked {
	background-color: #2c3a60;
	border-color: #2c3a60;
	background-image: url("data:image/svg+xml,%3Csvg width='14' height='10' viewBox='0 0 14 10' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 5L5 9L13 1' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 14px 10px;
}

.mgh-interest-list .mgh-interest-list__checkbox:focus {
	outline: none;
	border-color: rgba(44, 58, 96, 0.5);
}

/* Radio buttons (Type af lejemål): circular, blue dot when selected */
.mgh-interest-list .mgh-interest-list__radio {
	-webkit-appearance: none;
	appearance: none;
	flex-shrink: 0;
	width: 20px;
	height: 20px;
	margin: 0;
	border-radius: 50%;
	border: 1px solid rgba(44, 58, 96, 0.20);
	background: #fff;
	cursor: pointer;
	position: relative;
	vertical-align: middle;
}

.mgh-interest-list .mgh-interest-list__radio:checked {
	border-color: #2c3a60;
}

.mgh-interest-list .mgh-interest-list__radio:checked::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #2c3a60;
	transform: translate(-50%, -50%);
}

.mgh-interest-list .mgh-interest-list__radio:focus {
	outline: none;
	border-color: rgba(44, 58, 96, 0.5);
}

/* --- Range sliders (single handle, styled like WP Templates case list) --- */
.mgh-interest-list__field--range {
	gap: 8px;
}

.mgh-interest-list .mgh-dual-range {
	position: relative;
	height: 40px;
	margin-bottom: 0;
}

.mgh-interest-list .mgh-dual-range__track {
	display: none;
}

.mgh-interest-list .mgh-dual-range__input {
	--mgh-dual-range-thumb-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 40 40'%3E%3Ccircle cx='20' cy='20' r='20' fill='%232C3A60'/%3E%3Cpath fill='%23ffffff' d='M18.5057 14.6868L17.9414 15.2511L22.3157 19.6254L17.9414 23.9997L18.5057 24.564L23.4443 19.6254L18.5057 14.6868Z'/%3E%3C/svg%3E");
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	width: 100%;
	height: 40px;
	margin: 0;
	background: transparent;
	-webkit-appearance: none;
	appearance: none;
}

.mgh-interest-list__field--range-dual .mgh-dual-range__input {
	z-index: 1;
}

.mgh-interest-list__field--range-dual .mgh-dual-range__input.is-active {
	z-index: 3;
}

.mgh-interest-list__field--range-dual .mgh-dual-range__input--max {
	z-index: 2;
}

.mgh-interest-list .mgh-dual-range__input::-webkit-slider-runnable-track {
	height: 1px;
	background: rgba(44, 58, 96, 0.2);
	border: none;
	border-radius: 0;
}

.mgh-interest-list .mgh-dual-range__input::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 40px;
	height: 40px;
	margin-top: -19.5px;
	border-radius: 50%;
	border: none;
	background-color: #2c3a60;
	background-image: var(--mgh-dual-range-thumb-image);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 40px 40px;
	box-shadow: 0 2px 8px rgba(44, 58, 96, 0.18);
	cursor: pointer;
}

.mgh-interest-list__field--range-dual .mgh-dual-range__input--min::-webkit-slider-thumb {
	transform: scaleX(-1);
}

.mgh-interest-list .mgh-dual-range__input::-moz-range-track {
	height: 1px;
	background: rgba(44, 58, 96, 0.2);
	border: none;
	border-radius: 0;
}

.mgh-interest-list .mgh-dual-range__input::-moz-range-thumb {
	box-sizing: border-box;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: none;
	background-color: #2c3a60;
	background-image: var(--mgh-dual-range-thumb-image);
	background-repeat: no-repeat;
	background-position: center;
	background-size: 40px 40px;
	box-shadow: 0 2px 8px rgba(44, 58, 96, 0.18);
	cursor: pointer;
}

.mgh-interest-list__field--range-dual .mgh-dual-range__input--min::-moz-range-thumb {
	transform: scaleX(-1);
}

.mgh-interest-list .mgh-dual-range__value {
	padding-top: 10px;
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: #2c3a60;
}

.mgh-interest-list .mgh-dual-range__values {
	display: flex;
	justify-content: space-between;
	padding-top: 10px;
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: #2c3a60;
}

.mgh-interest-list .mgh-dual-range__value .is-placeholder,
.mgh-interest-list .mgh-dual-range__values .is-placeholder {
	color: rgba(44, 58, 96, 0.5);
	font-weight: 300;
}

/* --- Dropdown (legacy rooms multi-select) --- */
.mgh-interest-list__dropdown {
	position: relative;
	width: 100%;
}

.mgh-interest-list .mgh-interest-list__dropdown-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	padding: 12px 16px;
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 140%;
	color: #2c3a60;
	text-align: left;
	background: #fff;
	border: 1px solid rgba(44, 58, 96, 0.20);
	border-radius: 8px;
	box-sizing: border-box;
	cursor: pointer;
}

.mgh-interest-list .mgh-interest-list__dropdown-toggle:focus {
	outline: none;
	border-color: rgba(44, 58, 96, 0.4);
}

.mgh-interest-list__dropdown-value {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.mgh-interest-list__dropdown-value.is-placeholder {
	color: rgba(44, 58, 96, 0.5);
	font-weight: 300;
}

.mgh-interest-list__dropdown-arrow {
	flex-shrink: 0;
	width: 12px;
	height: 12px;
	border-right: 2px solid #2c3a60;
	border-bottom: 2px solid #2c3a60;
	transform: rotate(45deg);
	transition: transform 0.15s ease;
	margin-top: -4px;
}

.mgh-interest-list__dropdown.is-open .mgh-interest-list__dropdown-arrow {
	transform: rotate(-135deg);
	margin-top: 2px;
}

.mgh-interest-list__dropdown-menu {
	position: absolute;
	top: calc(100% + 4px);
	left: 0;
	right: 0;
	z-index: 20;
	padding: 8px 0;
	background: #fff;
	border: 1px solid rgba(44, 58, 96, 0.20);
	border-radius: 8px;
	box-shadow: 0 12px 32px rgba(44, 58, 96, 0.15);
	max-height: 280px;
	overflow-y: auto;
}

.mgh-interest-list__dropdown-option {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 16px;
	cursor: pointer;
}

.mgh-interest-list__dropdown-option:hover {
	background: rgba(44, 58, 96, 0.05);
}

.mgh-interest-list__dropdown-option-text {
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: #2c3a60;
}

/* --- Submit --- */
.mgh-interest-list__submit {
	display: block;
	width: 100%;
	padding: 15px 20px 17px;
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: #fff;
	background-color: #2c3a60;
	border: none;
	border-radius: 8px;
	cursor: pointer;
}

.mgh-interest-list__submit:hover {
	background-color: #7c859c;
}

.mgh-interest-list__submit:disabled {
	opacity: 0.7;
	cursor: not-allowed;
}

/* --- Placeholder (commercial / phase 2) --- */
.mgh-interest-list__placeholder {
	margin: 0;
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.4;
	color: #2c3a60;
}

/* --- Error message --- */
.mgh-interest-list__message {
	margin-top: 16px;
	padding: 12px 16px;
	border-radius: 8px;
	font-family: Poppins, sans-serif;
	font-size: 16px;
	line-height: 1.4;
}

.mgh-interest-list__validation-summary {
	margin-top: 0;
	margin-bottom: 24px;
}

.mgh-interest-list__message--error {
	background-color: #ffe0e0;
	color: #2c3a60;
}

/* --- Success modal --- */
.mgh-interest-list__success-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	box-sizing: border-box;
}

.mgh-interest-list__success-modal[hidden] {
	display: none;
}

.mgh-interest-list__success-modal-overlay {
	position: absolute;
	inset: 0;
	background-color: rgba(44, 58, 96, 0.5);
}

.mgh-interest-list__success-modal-box {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 540px;
	padding: 48px;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.15);
	box-sizing: border-box;
}

.mgh-interest-list__success-modal-close {
	position: absolute;
	top: 24px;
	right: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	padding: 0;
	line-height: 1;
	color: #2c3a60;
	background: none;
	border: none;
	cursor: pointer;
}

.mgh-interest-list__success-modal-close:hover {
	opacity: 0.7;
}

.mgh-interest-list__success-modal-title {
	display: flex;
	flex-direction: column;
	margin: 0 0 16px;
	font-family: var(--mgh-heading-3-font-family), sans-serif;
	font-size: var(--mgh-heading-3-size);
	font-weight: var(--mgh-heading-3-weight);
	line-height: var(--mgh-heading-3-line-height);
	color: #2c3a60;
}

.mgh-interest-list__success-modal-title-line {
	display: block;
}

.mgh-interest-list__success-modal-body {
	margin: 0 0 28px;
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 1.4;
	color: #2c3a60;
}

.mgh-interest-list__success-modal-email {
	font-weight: 600;
}

.mgh-interest-list__success-modal-btn {
	display: inline-block;
	padding: 15px 30px 17px;
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.4;
	color: #fff;
	background-color: #2c3a60;
	border: none;
	border-radius: 8px;
	text-decoration: none;
	cursor: pointer;
}

.mgh-interest-list__success-modal-btn:hover {
	background-color: #3d4d75;
	color: #fff;
}

/* --- Desktop --- */
@media (min-width: 1280px) {
	.mgh-interest-list__hero {
		height: 440px;
	}

	.mgh-interest-list__tab-label--desktop {
		display: inline;
	}

	.mgh-interest-list__tab-label--mobile {
		display: none;
	}

	.mgh-interest-list__hero-content {
		max-width: 800px;
		gap: 10px;
		margin-left: 100px;
		margin-right: 100px;
		padding-left: 0;
		padding-right: 0;
	}

	.mgh-interest-list__tabs {
		max-width: 800px;
		margin-left: 100px;
		margin-right: 100px;
		padding-left: 0;
		padding-right: 0;
	}
	.mgh-interest-list__panels {
		max-width: 1520px;
	}
	.mgh-interest-list__panel {
		padding: 80px 100px;
	}

	/* Form body copy: 16px mobile, 14px desktop (matches pre-mobile bump sizes). */
	.mgh-interest-list .mgh-interest-list__tab,
	.mgh-interest-list__info-box,
	.mgh-interest-list__section-description,
	.mgh-interest-list .mgh-interest-list__fields .mgh-interest-list__field .mgh-interest-list__label,
	div.elementor-widget.elementor-widget-mgh_interest_list .mgh-interest-list .mgh-interest-list__label,
	.mgh-interest-list .mgh-interest-list__input,
	.mgh-interest-list__choice-text,
	.mgh-interest-list__consent-text,
	.mgh-interest-list .mgh-dual-range__value,
	.mgh-interest-list .mgh-dual-range__values,
	.mgh-interest-list .mgh-interest-list__dropdown-toggle,
	.mgh-interest-list__dropdown-option-text,
	.mgh-interest-list__submit,
	.mgh-interest-list__placeholder,
	.mgh-interest-list__message,
	.mgh-interest-list__success-modal-body,
	.mgh-interest-list__success-modal-btn {
		font-size: 14px;
	}

	.mgh-interest-list__field-help,
	.mgh-interest-list__field-error {
		font-size: 12px;
	}
}

