/**
 * A'ila mega menu.
 *
 * Panels are injected inside the Elementor nav menu's <li>, so part of the
 * work here is undoing the widget's own list styling (`.elementor-nav-menu ul`
 * is display:none, `.elementor-nav-menu a` carries padding and colours).
 * Selectors are specific enough to win without !important where possible.
 *
 * Colours and type come from the site's Elementor Kit: navy #1A233D (text,
 * accent), deep navy #0B2153 (secondary), sand #F4F0EA and #EFE8DE, EB Garamond
 * for display, Montserrat for UI. Panel content itself is an Elementor
 * template and styles itself.
 */

:root {
	--aila-mega-navy: #1a233d;
	--aila-mega-navy-deep: #0b2153;
	--aila-mega-sand: #f4f0ea;
	--aila-mega-sand-2: #efe8de;
	--aila-mega-white: #ffffff;
	--aila-mega-muted: rgba(26, 35, 61, 0.68);
	--aila-mega-line: rgba(26, 35, 61, 0.14);
	--aila-mega-line-soft: rgba(26, 35, 61, 0.08);
	--aila-mega-serif: "EB Garamond", Georgia, serif;
	--aila-mega-sans: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	--aila-mega-ease: cubic-bezier(0.4, 0, 0.2, 1);
	--aila-mega-max: 1344px;
	--aila-mega-top: 0px;
}

/* -------------------------------------------------------------------------
   Desktop bar
   ---------------------------------------------------------------------- */

/* The panel is fixed, so the <li> need not be a containing block. */
.elementor-nav-menu > li.aila-has-mega {
	position: static;
}

.elementor-nav-menu--main .elementor-nav-menu > li.aila-mega-is-open > a,
.elementor-nav-menu--main .elementor-nav-menu > li.aila-has-mega > a[aria-expanded="true"] {
	box-shadow: inset 0 -2px 0 currentColor;
}

/* The Sign in item lives in the menu for the burger accordion; on the bar its
   own button (below) stands in, so only the link is hidden: the <li> still
   holds the panel. */
.elementor-nav-menu--main .elementor-nav-menu > li.aila-mega--signin > a {
	display: none;
}

.elementor-nav-menu--main .elementor-nav-menu > li.aila-mega--signin {
	width: 0;
	margin: 0 !important;
	padding: 0;
}

.aila-mega-account {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 13px 16px;
	border: 0;
	border-radius: 0;
	background: none;
	color: var(--aila-mega-white);
	font-family: var(--aila-mega-sans);
	font-size: 14px;
	font-weight: 500;
	line-height: 20px;
	text-transform: uppercase;
	white-space: nowrap;
	cursor: pointer;
}

/* Inner-page header (1915) is light. */
.elementor-1915 .aila-mega-account {
	color: var(--aila-mega-navy);
}

/* Hello Elementor paints buttons pink on hover/focus. */
.aila-mega-account:hover,
.aila-mega-account:focus {
	background: none;
	color: inherit;
	opacity: 0.8;
}

.aila-mega-account.aila-mega-is-open {
	box-shadow: inset 0 -2px 0 currentColor;
	opacity: 1;
}

.aila-mega-account svg {
	transition: transform 0.2s ease;
}

.aila-mega-account.aila-mega-is-open svg {
	transform: rotate(180deg);
}

/* Five items, Sign in and Book Now on one line down to 1025px: the nav
   tightens in steps below 1440 instead of wrapping to a second row. */
.elementor-nav-menu--main .elementor-nav-menu {
	flex-wrap: nowrap;
}

.aila-header-book .elementor-button,
.elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item {
	white-space: nowrap;
}

@media (max-width: 1439px) {
	[data-elementor-type="header"] .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item {
		padding-left: 12px;
		padding-right: 12px;
	}

	.aila-mega-account {
		padding-left: 12px;
		padding-right: 12px;
	}
}

@media (max-width: 1279px) {
	[data-elementor-type="header"] .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item,
	.aila-mega-account {
		padding-left: 8px;
		padding-right: 8px;
	}

	.aila-header-book .elementor-button {
		padding-left: 18px !important;
		padding-right: 18px !important;
	}
}

@media (max-width: 1179px) {
	[data-elementor-type="header"] .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item,
	.aila-mega-account {
		padding-left: 7px;
		padding-right: 7px;
	}

	[data-elementor-type="header"] .elementor-nav-menu--main .elementor-nav-menu > li > a.elementor-item .sub-arrow,
	.aila-mega-account svg {
		display: none;
	}
}

/* While a panel is open the header turns white with navy type, whatever its
   resting state (transparent over the hero, navy once scrolled, sand on 1915).
   The script swaps the light logo for the navy one at the same time. */
body.aila-mega-light [data-elementor-type="header"] > .e-con.e-parent,
body.aila-mega-light [data-elementor-type="header"] > .e-con.e-parent.header-solid-aktif {
	background-color: var(--aila-mega-white) !important;
	box-shadow: 0 1px 0 var(--aila-mega-line) !important;
	transition: background-color 0.25s ease, box-shadow 0.25s ease;
}

body.aila-mega-open [data-elementor-type="header"] > .e-con.e-parent,
body.aila-mega-open [data-elementor-type="header"] > .e-con.e-parent.header-solid-aktif {
	box-shadow: none !important;
}

body.aila-mega-light [data-elementor-type="header"] .elementor-nav-menu--main .elementor-item,
body.aila-mega-light [data-elementor-type="header"] .elementor-nav-menu--main .elementor-item:hover,
body.aila-mega-light [data-elementor-type="header"] .elementor-nav-menu--main .elementor-item .sub-arrow,
body.aila-mega-light .aila-mega-account {
	color: var(--aila-mega-navy) !important;
}

body.aila-mega-light [data-elementor-type="header"] .elementor-nav-menu--main .elementor-item {
	opacity: 0.68;
}

body.aila-mega-light [data-elementor-type="header"] .elementor-nav-menu--main li.aila-mega-is-open > .elementor-item,
body.aila-mega-light [data-elementor-type="header"] .elementor-nav-menu--main .elementor-item:hover {
	opacity: 1;
}

/* Elementor paints the dropdown arrows with an explicit fill. */
body.aila-mega-light [data-elementor-type="header"] .elementor-nav-menu--main .elementor-item .sub-arrow svg,
body.aila-mega-light [data-elementor-type="header"] .elementor-nav-menu--main .elementor-item .sub-arrow i {
	fill: var(--aila-mega-navy) !important;
	color: var(--aila-mega-navy) !important;
}

/* Header Book Now: white on the dark header, navy on a light one. */
body.aila-mega-light .aila-header-book .elementor-button,
.elementor-1915 .aila-header-book .elementor-button {
	background-color: var(--aila-mega-navy) !important;
	color: var(--aila-mega-white) !important;
}

/* The utility bar keeps its navy band in every state. */
.aila-utility-bar a:hover {
	text-decoration: none;
}

/* Floating Book Now rail and the Special Offers popup sit above the header's
   stacking context, so they step aside while a panel is open. */
body.aila-mega-open .book-now-fab,
body.aila-mega-open .elementor-popup-modal {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

/* Page dim under an open panel. Mounted by the script, under the header. */
.aila-mega-scrim {
	position: fixed;
	inset: var(--aila-mega-top) 0 0 0;
	z-index: 98;
	background: rgba(26, 35, 61, 0.55);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s var(--aila-mega-ease), visibility 0s linear 0.3s;
}

body.aila-mega-open .aila-mega-scrim {
	opacity: 1;
	visibility: visible;
	transition: opacity 0.3s var(--aila-mega-ease), visibility 0s linear 0s;
}

/* -------------------------------------------------------------------------
   Desktop panel shell
   ---------------------------------------------------------------------- */

.aila-mega--flyout .aila-mega__panel {
	position: fixed;
	top: var(--aila-mega-top, 0px);
	left: 0;
	right: 0;
	z-index: 6;
	max-height: calc(100vh - var(--aila-mega-top, 0px));
	overflow-y: auto;
	background: var(--aila-mega-white);
	color: var(--aila-mega-navy);
	text-align: start;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	clip-path: inset(0 0 100% 0);
	/* visibility is stepped, not eased: a still-hidden element refuses
	   focus(), so it flips instantly on open and waits out the close. */
	transition:
		opacity 0.2s ease,
		clip-path 0.3s cubic-bezier(0.4, 0, 0.2, 1),
		visibility 0s linear 0.3s;
}

.aila-mega--flyout .aila-mega__panel[hidden] {
	display: block;
}

.aila-mega--flyout .aila-mega__panel.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transition:
		opacity 0.22s ease 0.06s,
		clip-path 0.3s cubic-bezier(0.4, 0, 0.2, 1),
		visibility 0s linear 0s;
}

/* Switching panels: the old content leaves at once, only the card moves. */
.aila-mega--flyout .aila-mega__panel.aila-mega-instant {
	transition: none !important;
}

/* The white card under the panels. It grows down out of the header on open,
   flows to the next panel's height on switch and folds back up on close. */
.aila-mega-shell {
	position: fixed;
	top: var(--aila-mega-top, 0px);
	left: 0;
	right: 0;
	z-index: 98;
	height: 0;
	background: var(--aila-mega-white);
	box-shadow: 0 24px 48px rgba(26, 35, 61, 0.16);
	pointer-events: none;
	transition: height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

body:not(.aila-mega-open) .aila-mega-shell {
	box-shadow: none;
	transition: height 0.25s cubic-bezier(0.4, 0, 0.2, 1), box-shadow 0s linear 0.25s;
}

/* Hover marks the item it is on, like the open one. */
.elementor-nav-menu--main .elementor-nav-menu > li.aila-has-mega > a:hover {
	box-shadow: inset 0 -2px 0 currentColor;
}

.aila-mega--flyout .aila-mega__inner {
	position: relative;
	box-sizing: border-box;
	width: 100%;
	max-width: var(--aila-mega-max);
	margin-inline: auto;
	padding: 36px 48px 0;
}

.aila-mega__template {
	min-width: 0;
}

.elementor-nav-menu .aila-mega__close {
	position: absolute;
	top: 20px;
	right: 48px;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--aila-mega-muted);
	cursor: pointer;
}

.elementor-nav-menu .aila-mega__close:hover,
.elementor-nav-menu .aila-mega__close:focus {
	background: none;
	color: var(--aila-mega-navy);
}

/* The nav widget styles every <a> inside the menu (flex, centred, padded,
   nowrap) and hides every <ul>. Panel content starts from a neutral
   baseline instead; Elementor's own per-element rules then apply. */
.elementor-nav-menu .aila-mega__panel a:not(.elementor-button):not(.e-con) {
	display: inline;
	padding: 0;
	line-height: inherit;
	white-space: normal;
}

/* Photo cards are containers rendered as <a>: give them back the container
   layout the nav rule above would otherwise override. */
.elementor-nav-menu .aila-mega__panel a.e-con {
	display: var(--display);
	align-items: var(--align-items);
	justify-content: var(--justify-content);
	padding: var(--padding-top) var(--padding-right) var(--padding-bottom) var(--padding-left);
	line-height: normal;
	white-space: normal;
}

.elementor-nav-menu .aila-mega__panel a.elementor-button {
	display: inline-flex;
	justify-content: center;
	white-space: nowrap;
}

.elementor-nav-menu .aila-mega__panel ul {
	display: block;
	position: static;
	width: auto;
}

/* "Explore A'ILA in 3D": the cube from the design, drawn with a mask so it
   takes the link colour. */
.aila-mega__template .aila-mega-3d .elementor-heading-title a::before {
	content: "";
	display: inline-block;
	width: 18px;
	height: 18px;
	margin-right: 10px;
	vertical-align: -4px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath d='M12 3l8 4.5v9L12 21l-8-4.5v-9L12 3z'/%3E%3Cpath d='M12 12l8-4.5M12 12v9M12 12L4 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5'%3E%3Cpath d='M12 3l8 4.5v9L12 21l-8-4.5v-9L12 3z'/%3E%3Cpath d='M12 12l8-4.5M12 12v9M12 12L4 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* The Sign in form's own text is not uppercase. */
.elementor-nav-menu .aila-mega-signin a,
.elementor-nav-menu .aila-mega-signin span {
	text-transform: none;
}

/* Helpers used by the panel templates (build/panels.py). */
.aila-mega__template .aila-mega-push-down {
	margin-top: auto;
}

.aila-mega__template .aila-mega-text p {
	margin: 0;
}

.elementor-nav-menu .aila-mega__panel .aila-mega-chevron .elementor-heading-title a:not(.elementor-button):not(.e-con) {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.elementor-nav-menu .aila-mega__panel .aila-mega-chevron .elementor-heading-title a::after {
	content: "";
	flex: 0 0 auto;
	width: 7px;
	height: 7px;
	border-top: 1.5px solid var(--aila-mega-muted);
	border-right: 1.5px solid var(--aila-mega-muted);
	transform: rotate(45deg);
}

/* Elementor heading links inherit the nav's hover colour; keep them navy. */
.elementor-nav-menu .aila-mega__template a:hover {
	opacity: 0.8;
}

/* -------------------------------------------------------------------------
   Sign in form
   ---------------------------------------------------------------------- */

.aila-mega-signin {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding-bottom: 36px;
	font-family: var(--aila-mega-sans);
}

.elementor-nav-menu .aila-mega-signin__title {
	font-family: var(--aila-mega-serif);
	font-size: 30px;
	font-weight: 600;
	line-height: 1.1;
	color: var(--aila-mega-navy);
}

.aila-mega-signin__label {
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--aila-mega-muted);
}

.aila-mega-signin__field {
	box-sizing: border-box;
	width: 100%;
	height: 46px;
	margin-top: -8px;
	padding: 0 14px;
	border: 1px solid var(--aila-mega-line);
	border-radius: 0;
	background: var(--aila-mega-white);
	color: var(--aila-mega-navy);
	font-family: var(--aila-mega-sans);
	font-size: 15px;
}

.aila-mega-signin__field:focus {
	border-color: var(--aila-mega-navy);
	outline: none;
}

.aila-mega-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 48px;
	padding: 0 20px;
	border: 1px solid var(--aila-mega-navy);
	border-radius: 0;
	font-family: var(--aila-mega-sans);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	cursor: pointer;
}

.elementor-nav-menu .aila-mega-btn--primary,
.elementor-nav-menu .aila-mega-btn--primary:hover,
.elementor-nav-menu .aila-mega-btn--primary:focus {
	background: var(--aila-mega-navy);
	color: var(--aila-mega-white);
}

.elementor-nav-menu .aila-mega-btn--primary:hover {
	background: var(--aila-mega-navy-deep);
}

.elementor-nav-menu .aila-mega-signin__links {
	display: flex;
	justify-content: space-between;
	font-size: 13px;
}

.elementor-nav-menu .aila-mega-signin__links a,
.elementor-nav-menu .aila-mega-signin > a.aila-mega-signin__link {
	padding: 0;
	color: var(--aila-mega-muted);
}

.elementor-nav-menu .aila-mega-signin__links a.aila-mega-signin__register {
	color: var(--aila-mega-navy-deep);
	font-weight: 500;
}

.elementor-nav-menu .aila-mega-signin__error {
	font-size: 13px;
	color: var(--aila-mega-navy-deep);
}

.aila-mega-signin__error[hidden] {
	display: none;
}

/* -------------------------------------------------------------------------
   Burger menu: white overlay, serif sections, grouped links
   ---------------------------------------------------------------------- */

@media (max-width: 1024px) {
	.aila-mega-account {
		display: none;
	}

	body.aila-mega-mobile-open {
		overflow: hidden;
	}

	body.aila-mega-mobile-open [data-elementor-type="header"] > .e-con.e-parent {
		/* Sticky writes an inline width measured with the scrollbar present. */
		width: 100% !important;
		background-color: var(--aila-mega-white) !important;
		box-shadow: 0 1px 0 var(--aila-mega-line) !important;
	}

	body.aila-mega-mobile-open [data-elementor-type="header"] .elementor-menu-toggle,
	body.aila-mega-mobile-open [data-elementor-type="header"] .elementor-menu-toggle:hover {
		background: none !important;
		color: var(--aila-mega-navy) !important;
	}

	body.aila-mega-mobile-open [data-elementor-type="header"] .elementor-menu-toggle svg {
		fill: var(--aila-mega-navy) !important;
	}

	.elementor-location-header[data-elementor-type="header"] .elementor-element.elementor-widget-nav-menu .elementor-nav-menu__container.elementor-nav-menu--dropdown {
		position: fixed;
		inset: 0;
		/* Elementor's stretch mode writes top/left/width inline. */
		top: var(--aila-mega-top, 0px) !important;
		left: 0 !important;
		width: 100% !important;
		max-width: none;
		height: auto;
		max-height: none;
		margin: 0 !important;
		background-color: var(--aila-mega-white) !important;
		overflow-y: auto;
		overscroll-behavior: contain;
		-webkit-overflow-scrolling: touch;
	}

	.elementor-nav-menu--toggle .elementor-menu-toggle.elementor-active + .elementor-nav-menu__container {
		max-height: none;
	}

	.elementor-location-header[data-elementor-type="header"] .elementor-element.elementor-widget-nav-menu .elementor-nav-menu__container.elementor-nav-menu--dropdown > .elementor-nav-menu {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		align-content: flex-start;
		justify-content: flex-start !important;
		min-height: 100%;
		/* Room for the pinned Call + Book footer. */
		padding: 8px 20px 108px;
	}

	/* Section rows: serif, navy, hairline under each. Outweighs the widget's
	   own dropdown link rule (four classes and an element in post-13.css). */
	.elementor-location-header[data-elementor-type="header"] .elementor-element.elementor-widget-nav-menu .elementor-nav-menu__container.elementor-nav-menu--dropdown .elementor-nav-menu > li > a.elementor-item {
		padding: 0;
		min-height: 60px;
		display: flex;
		align-items: center;
		background: none;
		color: var(--aila-mega-navy);
		font-family: var(--aila-mega-serif);
		font-size: 26px;
		font-weight: 600;
		text-transform: none;
		letter-spacing: 0;
	}

	.elementor-location-header[data-elementor-type="header"] .elementor-element.elementor-widget-nav-menu .elementor-nav-menu__container.elementor-nav-menu--dropdown .elementor-nav-menu > li {
		flex: 0 0 100%;
	}

	.elementor-location-header[data-elementor-type="header"] .elementor-element.elementor-widget-nav-menu .elementor-nav-menu__container.elementor-nav-menu--dropdown .elementor-nav-menu > li:not(.aila-mega-foot):not(.aila-mega-secondary) {
		border-bottom: 1px solid var(--aila-mega-line);
	}

	.elementor-nav-menu--dropdown li.aila-has-mega {
		display: flex;
		flex-wrap: wrap;
		align-items: center;
		position: relative;
	}

	.elementor-nav-menu--dropdown li.aila-has-mega > a {
		flex: 1 1 auto;
	}

	.elementor-nav-menu--dropdown li.aila-has-mega > a .sub-arrow {
		display: none;
	}

	/* "+" / "−" disclosure. */
	.elementor-nav-menu .aila-mega__toggle {
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 auto;
		width: 44px;
		height: 60px;
		margin: 0;
		padding: 0;
		border: 0;
		background: none;
		color: var(--aila-mega-muted);
		cursor: pointer;
	}

	.elementor-nav-menu .aila-mega__toggle:hover,
	.elementor-nav-menu .aila-mega__toggle:focus {
		background: none;
		color: var(--aila-mega-navy);
	}

	.aila-mega__toggle:focus-visible {
		outline: 2px solid var(--aila-mega-navy);
		outline-offset: -6px;
	}

	.aila-mega__toggle-icon {
		position: relative;
		display: block;
		width: 14px;
		height: 14px;
	}

	.aila-mega__toggle-icon::before,
	.aila-mega__toggle-icon::after {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		width: 14px;
		height: 1.5px;
		margin-top: -0.75px;
		background: currentColor;
		transition: transform 0.2s ease;
	}

	.aila-mega__toggle-icon::after {
		transform: rotate(90deg);
	}

	.aila-mega__toggle[aria-expanded="true"] .aila-mega__toggle-icon::after {
		transform: rotate(0deg);
	}

	/* Animates on grid-template-rows so nothing is measured in JS. */
	.aila-mega--accordion .aila-mega__panel {
		display: grid;
		grid-template-rows: 0fr;
		flex: 0 0 100%;
		width: 100%;
		transition: grid-template-rows 0.3s var(--aila-mega-ease);
	}

	.aila-mega--accordion .aila-mega__panel[hidden] {
		display: grid;
	}

	.aila-mega--accordion .aila-mega__panel.is-open {
		grid-template-rows: 1fr;
	}

	/* No padding on the collapsing box: padding survives 0fr and would leave
	   the closed accordion open by that amount. */
	.aila-mega--accordion .aila-mega__inner {
		min-height: 0;
		overflow: hidden;
	}

	.aila-mega__groups {
		display: flex;
		flex-direction: column;
		gap: 14px;
		padding-bottom: 16px;
	}

	.elementor-location-header[data-elementor-type="header"] .elementor-element.elementor-widget-nav-menu .elementor-nav-menu__container.elementor-nav-menu--dropdown .aila-mega__group-title span,
	.aila-mega__group-title {
		display: flex;
		align-items: center;
		gap: 8px;
		margin-bottom: 4px;
		font-family: var(--aila-mega-sans);
		font-size: 11px;
		letter-spacing: 0.2em;
		text-transform: uppercase;
		color: var(--aila-mega-muted);
	}

	.aila-mega__badge {
		padding: 3px 7px;
		background: var(--aila-mega-sand-2);
		color: var(--aila-mega-navy);
		font-size: 10px;
		font-style: normal;
		font-weight: 600;
		letter-spacing: 0;
		text-transform: none;
	}

	.elementor-location-header[data-elementor-type="header"] .elementor-element.elementor-widget-nav-menu .elementor-nav-menu__container.elementor-nav-menu--dropdown .aila-mega__panel a.aila-mega__link,
	.elementor-location-header[data-elementor-type="header"] .elementor-element.elementor-widget-nav-menu .elementor-nav-menu__container.elementor-nav-menu--dropdown .aila-mega__panel .aila-mega__link--static {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 12px;
		min-height: 44px;
		padding: 0;
		background: none;
		color: var(--aila-mega-navy);
		font-family: var(--aila-mega-sans);
		font-size: 16px;
		font-weight: 400;
		letter-spacing: 0;
		text-transform: none;
	}

	.aila-mega__link svg {
		flex: 0 0 auto;
		opacity: 0.6;
	}

	/* Secondary links (Explore in 3D, Special Offers, About Us, Contact, EN):
	   menu items carrying the CSS class `aila-mega-secondary`, set as one
	   small wrapped row. */
	.elementor-location-header[data-elementor-type="header"] .elementor-element.elementor-widget-nav-menu .elementor-nav-menu__container.elementor-nav-menu--dropdown .elementor-nav-menu > li.aila-mega-secondary {
		flex: 0 0 auto;
		margin: 10px 20px 0 0;
	}

	

	.elementor-location-header[data-elementor-type="header"] .elementor-element.elementor-widget-nav-menu .elementor-nav-menu__container.elementor-nav-menu--dropdown .elementor-nav-menu > li.aila-mega-secondary > a.elementor-item {
		min-height: 44px;
		color: var(--aila-mega-muted);
		font-family: var(--aila-mega-sans);
		font-size: 14px;
		font-weight: 400;
	}

	/* Call + Book footer, pinned to the bottom of the overlay. */
	.elementor-location-header[data-elementor-type="header"] .elementor-element.elementor-widget-nav-menu .elementor-nav-menu__container.elementor-nav-menu--dropdown .elementor-nav-menu > li.aila-mega-foot {
		/* Pinned to the overlay's bottom edge (the overlay is fixed and
		   full height, so it is this element's containing block). */
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 2;
		display: flex;
		gap: 10px;
		margin: 0;
		padding: 12px 20px 20px;
		box-sizing: border-box;
		border-top: 1px solid var(--aila-mega-line);
		background: var(--aila-mega-white);
	}

	.elementor-location-header[data-elementor-type="header"] .elementor-element.elementor-widget-nav-menu .elementor-nav-menu__container.elementor-nav-menu--dropdown li.aila-mega-foot a.aila-mega-foot__call {
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 52px;
		height: 52px;
		padding: 0;
		border: 1px solid var(--aila-mega-navy);
		color: var(--aila-mega-navy);
	}

	.elementor-location-header[data-elementor-type="header"] .elementor-element.elementor-widget-nav-menu .elementor-nav-menu__container.elementor-nav-menu--dropdown li.aila-mega-foot a.aila-mega-foot__book {
		display: flex;
		align-items: center;
		justify-content: center;
		flex: 1 1 auto;
		height: 52px;
		padding: 0;
		background: var(--aila-mega-navy);
		color: var(--aila-mega-white);
		font-family: var(--aila-mega-sans);
		font-size: 13px;
		font-weight: 600;
		letter-spacing: 0.16em;
		text-transform: uppercase;
	}
}

@media (min-width: 1025px) {
	.elementor-nav-menu .aila-mega__toggle,
	.elementor-nav-menu--main li.aila-mega-secondary,
	.elementor-nav-menu--main li.aila-mega-foot {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.aila-mega__panel,
	.aila-mega-shell,
	.aila-mega-scrim,
	.aila-mega__toggle-icon::after,
	.aila-mega-account svg {
		transition-duration: 0.01ms;
	}
}
