/**
 * Airabella Theme Styles
 *
 * @package Airabella
 * @since 1.0.0
 */

/* Base styles */
body {
	margin: 0;
	padding: 0;
	font-family: var(--e-global-typography-text-font-family);
	font-size: var(--e-global-typography-text-font-size);
	font-weight: var(--e-global-typography-text-font-weight);
	line-height: 1.6;
	color: var(--e-global-color-text);
}

/* Announcement banner: full-width bar above header; height used for header offset */
body.has-announcement-banner {
	--announcement-banner-height: 52px;
}

@media (max-width: 767px) {
	body.has-announcement-banner {
		--announcement-banner-height: 56px;
	}
	/* Keep header below banner on mobile; prevent overlay (fixed px so nothing overrides) */
	body.has-announcement-banner .site-header,
	body.has-announcement-banner .announcement-banner + [class*="elementor"] {
		top: 56px !important;
		z-index: 9999;
	}
	.announcement-banner {
		justify-content: flex-start;
		background: #fff;
		border-bottom-color: rgba(0, 0, 0, 0.08);
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
	.announcement-banner__text {
		font-size: 0.8125rem;
		text-align: left;
		color: var(--e-global-color-primary, #2563eb);
	}
	.announcement-banner__link {
		color: var(--e-global-color-primary, #2563eb);
	}
	.announcement-banner__link:hover {
		color: var(--e-global-color-primary, #2563eb);
		opacity: 0.85;
	}
}

.announcement-banner {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: var(--announcement-banner-height);
	z-index: 10001;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.35);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	box-sizing: border-box;
	transition: background 0.2s ease, border-color 0.2s ease;
}

/* Match header: blue when nav dropdown is open (class toggled by JS). No transition to avoid flash. */
body.nav-dropdown-open .announcement-banner {
	background: var(--e-global-color-primary, #2563eb);
	border-bottom-color: rgba(255, 255, 255, 0.15);
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	transition: none;
}

.announcement-banner__inner {
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 1.25rem;
	box-sizing: border-box;
}

.announcement-banner__text {
	margin: 0;
	font-size: 0.9375rem;
	font-weight: 400;
	letter-spacing: 0.02em;
	line-height: 1.45;
	color: rgba(255, 255, 255, 0.92);
	text-align: center;
}

.announcement-banner__link {
	color: rgba(255, 255, 255, 0.98);
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-thickness: 1px;
	transition: color 0.2s ease;
}

.announcement-banner__link:hover {
	color: #fff;
	text-decoration: underline;
}

/* Mobile: white banner, primary blue text, left align (after base styles so these override) */
@media (max-width: 767px) {
	body.has-announcement-banner .announcement-banner {
		justify-content: flex-start;
		background: #fff !important;
		border-bottom-color: rgba(0, 0, 0, 0.08);
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
	body.has-announcement-banner .announcement-banner__inner {
		margin-left: 0;
		margin-right: auto;
		padding-left: 30px;
		padding-right: 30px;
	}
	body.has-announcement-banner .announcement-banner__text {
		font-size: 0.8125rem;
		text-align: left !important;
		color: var(--e-global-color-primary, #2563eb) !important;
	}
	body.has-announcement-banner .announcement-banner__link,
	body.has-announcement-banner .announcement-banner__link:hover {
		color: var(--e-global-color-primary, #2563eb) !important;
	}
	body.has-announcement-banner .announcement-banner__link:hover {
		opacity: 0.85;
	}
}

.site {
	max-width: 100%;
	margin: 0 auto;
}

.site-main {
	padding: 2rem 1rem;
}

/* Typography */
.entry-title,
.page-title {
	margin-top: 0;
}

.entry-content {
	max-width: 1200px;
	margin: 0 auto;
}

/* Links */
a {
	color: var(--e-global-color-accent);
	text-decoration: none;
}

a:hover {
	text-decoration: underline;
	color: var(--e-global-color-accent);
}

.site-header {
position: fixed;
top: var(--announcement-banner-height, 0);
left: 0;
width: 100%;
background: transparent;
border-bottom: none;
z-index: 9999;
transition: background-color 0.3s ease, border-bottom 0.3s ease;
}

.site-header.is-scrolled {
	background: #0000004a !important;
	backdrop-filter: blur(30px) !important;
	border-bottom: 1px solid var(--e-global-color-e9d2f3e) !important;
}

.site-header__inner {
display: flex;
align-items: center;
justify-content: space-between;
padding: 10px 30px;
max-width: 1400px;
margin: 0 auto;
}

.site-header__logo {
flex: 0 0 auto;
}

.site-header__logo a,
.site-header__logo img {
display: block;
text-decoration: none;
width: 175px;
}

.site-header__nav {
flex: 1 1 auto;
display: flex;
justify-content: center;
}

.primary-menu {
display: flex;
list-style: none;
margin: 0;
padding: 0;
gap: 0;
}

.primary-menu li {
position: relative;
}

.primary-menu a {
display: inline-flex;
align-items: center;
text-decoration: none;
padding: 0.75rem 2.5rem 0.75rem 1rem;
color: #fff;
font-family: var(--e-global-typography-primary-font-family);
font-size: var(--e-global-typography-primary-font-size);
font-weight: var(--e-global-typography-primary-font-weight);
transition: color 0.2s;
position: relative;
width: max-content;
}

/* Reduce spacing for menu items without children */
.primary-menu a:not(.has-children) {
padding-right: 1rem;
}

/* Reusable link underline effect for lists */
.link-underline-list ul li > a {
position: relative;
display: inline-block;
}

.link-underline-list ul li > a::after {
content: '';
position: absolute;
bottom: 0;
right: 0;
width: 0;
height: 1px;
background-color: currentColor;
transition: width 0.3s ease;
}

.link-underline-list ul li > a:hover::after {
width: 100%;
left: 0;
right: auto;
}

.primary-menu a::after {
content: '';
position: absolute;
bottom: 10px;
left: 1rem;
width: 0;
height: 1px;
background-color: #fff;
transition: width 0.3s ease;
}

/* Top-level nav links only: hover white (dropdown links have their own rule below) */
.primary-menu > li > a:hover {
	color: #fff !important;
}

.site-header.is-scrolled .primary-menu > li > a:hover {
	color: #fff !important;
}

.primary-menu a:hover::after {
width: calc(100% - 2rem);
}

/* Desktop Dropdown Panel - full-width mega menu (top = banner + header height) */
.desktop-nav-dropdown-panel {
	position: fixed;
	left: 0;
	width: 100%;
	top: calc(var(--announcement-banner-height, 0) + var(--header-height, 72px));
	box-sizing: border-box;
	background: #fff;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.08);
	opacity: 0;
	visibility: hidden;
	z-index: 9998;
	padding: 0;
	margin: 0;
	overflow: hidden;
	backface-visibility: hidden;
	contain: layout style paint;
}

.desktop-nav-dropdown-panel__inner {
	max-width: 1400px;
	margin: 0 auto;
	padding: 2rem 0;
	box-sizing: border-box;
}

.desktop-nav-dropdown-panel__grid {
	display: grid;
	grid-template-columns: 35% 1fr;
	gap: 0;
	align-items: stretch;
	min-height: 280px;
}

.desktop-nav-dropdown-panel__image-col {
	display: flex;
	align-items: stretch;
	padding: 0 3.5rem 0 0;
	box-sizing: border-box;
}

.desktop-nav-dropdown-panel__image-card {
	width: 100%;
	overflow: hidden;
	border-radius: 0;
}

.desktop-nav-dropdown-panel__image-card img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 280px;
	object-fit: cover;
	object-position: center;
}

.desktop-nav-dropdown-panel__links-col {
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	padding-left: 3.5rem;
	border-left: 1px solid rgba(0, 0, 0, 0.08);
	min-width: 0;
	box-sizing: border-box;
}

/* Header text (e.g. "LIVE") removed – dropdown shows links only */
.desktop-nav-dropdown-panel__group-title {
	display: none;
}

.desktop-nav-dropdown-panel__links-col .desktop-nav-dropdown-list,
.desktop-nav-dropdown-panel__links-col .desktop-nav-dropdown-list__columns {
	padding-left: 0;
	margin-left: 0;
}

.desktop-nav-dropdown-list {
	list-style: none;
	margin: 0;
	padding: 0;
	width: 100%;
	min-width: 0;
}

/* Two columns: flexbox wrapper (JS creates this when > 4 items). Column 1 = first 4 links, column 2 = rest, 50/50. */
.desktop-nav-dropdown-list__columns {
	display: flex;
	flex-wrap: nowrap;
	gap: 2.5rem;
	width: 100%;
	min-width: 0;
}

.desktop-nav-dropdown-list__col {
	flex: 1 1 50%;
	min-width: 0;
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Dropdown links: primary blue by default, text color on hover */
.primary-menu .desktop-nav-dropdown-panel a,
.primary-menu .desktop-nav-dropdown-panel .desktop-nav-dropdown-item,
.desktop-nav-dropdown-panel a,
.desktop-nav-dropdown-item {
	display: block;
	padding: 0.5rem 0rem;
	text-decoration: none;
	color: var(--e-global-color-primary, #2563eb) !important;
	font-size: 1rem;
	line-height: 1.5;
	transition: color 0.2s ease;
	position: relative;
	border: none;
	background: transparent;
	width: 100%;
	text-align: left;
	margin-left: 0;
}

.primary-menu .desktop-nav-dropdown-panel a::after,
.desktop-nav-dropdown-panel a::after,
.desktop-nav-dropdown-item::after {
	display: none;
}

/* Dropdown link hover/focus: text color */
.primary-menu .desktop-nav-dropdown-panel a:hover,
.primary-menu .desktop-nav-dropdown-panel a:focus,
.primary-menu .desktop-nav-dropdown-panel .desktop-nav-dropdown-item:hover,
.primary-menu .desktop-nav-dropdown-panel .desktop-nav-dropdown-item:focus,
.desktop-nav-dropdown-panel a:hover,
.desktop-nav-dropdown-panel a:focus,
.desktop-nav-dropdown-panel .desktop-nav-dropdown-item:hover,
.desktop-nav-dropdown-panel .desktop-nav-dropdown-item:focus {
	color: var(--e-global-color-text, #333) !important;
}

.desktop-nav-dropdown-item__title {
	font-family: var(--e-global-typography-text-font-family);
	font-size: 1.025rem;
	font-weight: 500;
	color: inherit;
}

/* No image: single column links only */
.desktop-nav-dropdown-panel.is-no-image .desktop-nav-dropdown-panel__grid {
	grid-template-columns: 1fr;
}

.desktop-nav-dropdown-panel.is-no-image .desktop-nav-dropdown-panel__links-col {
	border-left: none;
	padding-left: 0;
}

.desktop-nav-dropdown-header,
.desktop-nav-dropdown-eyebrow,
.desktop-nav-dropdown-headline {
	display: none;
}

/* Legacy sub-menu support */
.primary-menu .sub-menu {
position: absolute;
top: 100%;
left: 0;
list-style: none;
margin: 0;
padding: 0;
background: #fff;
min-width: 200px;
box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
opacity: 0;
visibility: hidden;
transform: translateY(-10px);
transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
z-index: 1000;
border: 1px solid var(--e-global-color-e9d2f3e);
display: flex;
flex-direction: column;
}

.primary-menu .sub-menu.has-two-columns {
display: flex !important;
flex-direction: row !important;
flex-wrap: wrap !important;
min-width: 400px !important;
width: 400px;
}

.primary-menu .sub-menu.has-two-columns > li {
flex: 0 0 50% !important;
width: 50% !important;
max-width: 50% !important;
box-sizing: border-box;
min-width: 0;
}

.primary-menu li:hover > .desktop-nav-dropdown-panel,
.primary-menu li:focus-within > .desktop-nav-dropdown-panel {
	opacity: 1;
	visibility: visible;
}

.primary-menu li:hover > .sub-menu,
.primary-menu li:focus-within > .sub-menu {
opacity: 1;
visibility: visible;
transform: translateY(0);
}

.primary-menu .sub-menu .sub-menu {
top: 0;
left: 100%;
}

.primary-menu .sub-menu a {
display: block;
padding: 0.75rem 1rem;
text-decoration: none;
color: var(--e-global-color-text);
border-bottom: 1px solid var(--e-global-color-e9d2f3e);
transition: background 0.2s;
position: relative;
}

.primary-menu .sub-menu a::after {
display: none;
}

.primary-menu .sub-menu a:hover {
background: var(--e-global-color-primary);
color: #fff;
}

.primary-menu .sub-menu li:last-child a {
border-bottom: none;
}

.primary-menu .sub-menu.has-two-columns > li:nth-child(even) {
border-left: 1px solid var(--e-global-color-e9d2f3e);
}

.primary-menu .sub-menu.has-two-columns > li:nth-last-child(-n+2) a {
border-bottom: none;
}

.primary-menu .sub-menu.has-two-columns > li:nth-child(n+3) a {
border-top: 1px solid var(--e-global-color-e9d2f3e);
}

.primary-menu a.has-children {
position: relative;
}

.primary-menu a.has-children::after {
display: none;
}

.primary-menu a.has-children .dropdown-icon {
position: absolute;
right: 14px;
top: 50%;
transform: translateY(-50%) rotate(90deg);
width: 24px;
height: 24px;
color: #fff;
opacity: 0.7;
transition: transform 0.2s ease;
}

.primary-menu li:hover > a.has-children .dropdown-icon,
.primary-menu li:focus-within > a.has-children .dropdown-icon {
transform: translateY(-50%) rotate(90deg) rotate(180deg);
}

.site-header__cta {
flex: 0 0 auto;
display: flex;
gap: 1rem;
}

.cta-button {
display: inline-block;
padding: 0.5rem 1.875rem;
text-decoration: none;
border: 1px solid #fff;
color: #fff;
font-family: var(--e-global-typography-4de27d1-font-family);
font-size: var(--e-global-typography-4de27d1-font-size);
font-weight: var(--e-global-typography-4de27d1-font-weight);
text-transform: var(--e-global-typography-4de27d1-text-transform);
letter-spacing: var(--e-global-typography-4de27d1-letter-spacing);
text-decoration: none!important;
transition: background 0.2s, color 0.2s;
}

.cta-button:hover {
background: var(--e-global-color-primary);
border: 1px solid var(--e-global-color-primary);
color: #ffffff;
text-decoration: none!important;
}

.menu-toggle {
display: none;
background: transparent!important;
border: none!important;
outline: none!important;
cursor: pointer;
padding: 0!important;
}

.menu-toggle:focus,
.menu-toggle:focus-visible,
.menu-toggle:hover,
.menu-toggle:active {
outline: none!important;
box-shadow: none!important;
border: none!important;
}

.menu-toggle__icon {
display: flex;
flex-direction: column;
gap: 5px;
width: 40px;
height: 18px;
}

.menu-toggle__icon span {
display: block;
height: 2px;
width: 100%;
background: #fff;
transition: transform 0.3s, opacity 0.3s;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__icon span:nth-child(1) {
transform: rotate(45deg) translate(6px, 6px);
}

.menu-toggle[aria-expanded="true"] .menu-toggle__icon span:nth-child(2) {
opacity: 0;
}

.menu-toggle[aria-expanded="true"] .menu-toggle__icon span:nth-child(3) {
transform: rotate(-45deg) translate(6px, -6px);
}

.mobile-menu {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
z-index: 9999;
pointer-events: none;
}

.mobile-menu *:focus,
.mobile-menu *:focus-visible,
.mobile-menu button:focus,
.mobile-menu button:focus-visible,
.mobile-menu a:focus,
.mobile-menu a:focus-visible {
outline: none!important;
box-shadow: none!important;
}

.mobile-menu button:hover,
.mobile-menu button:active,
.mobile-menu a:hover,
.mobile-menu a:active {
outline: none!important;
box-shadow: none!important;
}

.mobile-menu[aria-hidden="false"] {
pointer-events: auto;
}

.mobile-menu__overlay {
position: fixed;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: rgba(0, 0, 0, 0.6);
opacity: 0;
transition: opacity 0.3s;
z-index: 9998;
}

.mobile-menu[aria-hidden="false"] .mobile-menu__overlay {
opacity: 1;
}

.mobile-menu__panel {
position: absolute;
top: 0;
left: 0;
width: 100vw;
height: 100vh;
background: var(--e-global-color-primary);
display: flex;
flex-direction: column;
overflow: hidden;
z-index: 10000;
opacity: 0;
visibility: hidden;
transition: opacity 0.2s, visibility 0.2s;
}

.mobile-menu[aria-hidden="false"] .mobile-menu__panel {
opacity: 1;
visibility: visible;
}

.mobile-menu__header {
display: flex;
align-items: center;
justify-content: space-between;
padding: 15px 30px;
border-bottom: 1px solid var(--e-global-color-e9d2f3e);
flex-shrink: 0;
background: var(--e-global-color-primary);
position: relative;
z-index: 100;
}

.mobile-menu__logo {
flex: 0 0 auto;
}

.mobile-menu__logo a,
.mobile-menu__logo img {
display: block;
text-decoration: none;
width: 175px;
}

.mobile-menu__close {
background: transparent!important;
border: none!important;
outline: none!important;
cursor: pointer;
padding: 0!important;
flex-shrink: 0;
display: flex;
align-items: center;
justify-content: center;
}

.mobile-menu__close:focus,
.mobile-menu__close:focus-visible,
.mobile-menu__close:hover,
.mobile-menu__close:active {
outline: none!important;
box-shadow: none!important;
border: none!important;
}

.mobile-menu__close-icon {
display: block;
width: 40px;
height: 40px;
color: #fff;
}

.mobile-menu__nav-header {
display: none;
align-items: center;
padding: 15px 20px;
border-bottom: 1px solid var(--e-global-color-e9d2f3e);
flex-shrink: 0;
background: var(--e-global-color-primary);
position: relative;
z-index: 100;
}

.mobile-menu__nav-header.is-visible {
display: flex;
}

.mobile-menu__back {
display: flex;
align-items: center;
gap: 0.5rem;
background: none;
border: none;
outline: none!important;
cursor: pointer;
padding: 0.5rem 0!important;
color: #fff!important;
background-color: transparent!important;
border: none!important;
font-family: var(--e-global-typography-primary-font-family)!important;
font-size: var(--e-global-typography-primary-font-size)!important;
font-weight: var(--e-global-typography-primary-font-weight)!important;
}

.mobile-menu__back:focus,
.mobile-menu__back:focus-visible,
.mobile-menu__back:hover,
.mobile-menu__back:active {
outline: none!important;
box-shadow: none!important;
border: none!important;
}

.mobile-menu__back-icon {
display: block;
width: 24px;
height: 24px;
color: #fff;
}

.mobile-menu__back-text {
text-decoration: none;
font-weight: 600;
}

.mobile-menu__content {
flex: 1;
overflow: hidden;
position: relative;
}

.mobile-menu__list {
list-style: none;
margin: 0;
padding: 0;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
overflow-y: auto;
visibility: hidden;
opacity: 0;
}

.mobile-menu__list.is-active-panel {
z-index: 10;
visibility: visible;
opacity: 1;
}

.mobile-menu__list.is-previous-panel {
z-index: 5;
pointer-events: none;
visibility: hidden;
opacity: 0;
}

.mobile-menu__list.is-next-panel {
z-index: 5;
pointer-events: none;
visibility: hidden;
opacity: 0;
}

.mobile-menu__list:not(.is-active-panel):not(.is-previous-panel):not(.is-next-panel) {
z-index: 1;
pointer-events: none;
visibility: hidden;
opacity: 0;
}

.mobile-menu__list li {
border-bottom: 1px solid var(--e-global-color-e9d2f3e);
}


/* Mobile menu item entrance animation */
@media (max-width: 1024px) {
	.mobile-menu[aria-hidden="false"] .mobile-menu__list.is-active-panel > li {
		opacity: 0;
		transform: translateX(-10px);
		will-change: opacity, transform;
		animation: mobileMenuItemIn 420ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
		-webkit-animation: mobileMenuItemIn 420ms cubic-bezier(0.4, 0, 0.2, 1) forwards;
	}

	/* Small stagger for the first ~12 items */
	.mobile-menu[aria-hidden="false"] .mobile-menu__list.is-active-panel > li:nth-child(1) { 
		animation-delay: 40ms;
		-webkit-animation-delay: 40ms;
	}
	.mobile-menu[aria-hidden="false"] .mobile-menu__list.is-active-panel > li:nth-child(2) { 
		animation-delay: 70ms;
		-webkit-animation-delay: 70ms;
	}
	.mobile-menu[aria-hidden="false"] .mobile-menu__list.is-active-panel > li:nth-child(3) { 
		animation-delay: 100ms;
		-webkit-animation-delay: 100ms;
	}
	.mobile-menu[aria-hidden="false"] .mobile-menu__list.is-active-panel > li:nth-child(4) { 
		animation-delay: 130ms;
		-webkit-animation-delay: 130ms;
	}
	.mobile-menu[aria-hidden="false"] .mobile-menu__list.is-active-panel > li:nth-child(5) { 
		animation-delay: 160ms;
		-webkit-animation-delay: 160ms;
	}
	.mobile-menu[aria-hidden="false"] .mobile-menu__list.is-active-panel > li:nth-child(6) { 
		animation-delay: 190ms;
		-webkit-animation-delay: 190ms;
	}
	.mobile-menu[aria-hidden="false"] .mobile-menu__list.is-active-panel > li:nth-child(7) { 
		animation-delay: 220ms;
		-webkit-animation-delay: 220ms;
	}
	.mobile-menu[aria-hidden="false"] .mobile-menu__list.is-active-panel > li:nth-child(8) { 
		animation-delay: 250ms;
		-webkit-animation-delay: 250ms;
	}
	.mobile-menu[aria-hidden="false"] .mobile-menu__list.is-active-panel > li:nth-child(9) { 
		animation-delay: 280ms;
		-webkit-animation-delay: 280ms;
	}
	.mobile-menu[aria-hidden="false"] .mobile-menu__list.is-active-panel > li:nth-child(10) { 
		animation-delay: 310ms;
		-webkit-animation-delay: 310ms;
	}
	.mobile-menu[aria-hidden="false"] .mobile-menu__list.is-active-panel > li:nth-child(11) { 
		animation-delay: 340ms;
		-webkit-animation-delay: 340ms;
	}
	.mobile-menu[aria-hidden="false"] .mobile-menu__list.is-active-panel > li:nth-child(12) { 
		animation-delay: 370ms;
		-webkit-animation-delay: 370ms;
	}
	
	/* Clean up will-change after animation completes */
	.mobile-menu[aria-hidden="false"] .mobile-menu__list.is-active-panel > li {
		animation-fill-mode: forwards;
		-webkit-animation-fill-mode: forwards;
	}
}

@keyframes mobileMenuItemIn {
	from {
		opacity: 0;
		transform: translateX(-10px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

@-webkit-keyframes mobileMenuItemIn {
	from {
		opacity: 0;
		-webkit-transform: translateX(-10px);
		transform: translateX(-10px);
	}
	to {
		opacity: 1;
		-webkit-transform: translateX(0);
		transform: translateX(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.mobile-menu[aria-hidden="false"] .mobile-menu__list.is-active-panel > li {
		opacity: 1;
		transform: none;
		animation: none;
	}
}

.mobile-menu__list .sub-menu {
display: none !important;
}

.mobile-menu__list a,
.mobile-menu__list button {
display: flex;
align-items: center;
justify-content: space-between;
padding: 12px 30px!important;
text-transform: none!important;
color: #fff!important;
background-color: transparent!important;
border: none!important;
outline: none!important;
font-family: var(--e-global-typography-primary-font-family)!important;
font-size: var(--e-global-typography-primary-font-size)!important;
font-weight: var(--e-global-typography-primary-font-weight)!important;
}

.mobile-menu__list a:focus,
.mobile-menu__list a:focus-visible,
.mobile-menu__list a:hover,
.mobile-menu__list a:active,
.mobile-menu__list button:focus,
.mobile-menu__list button:focus-visible,
.mobile-menu__list button:hover,
.mobile-menu__list button:active {
outline: none!important;
box-shadow: none!important;
border: none!important;
}

.mobile-menu__list a::after {
display: none;
}

.mobile-menu__list .has-children > a::after,
.mobile-menu__list .has-children .submenu-trigger::after {
display: none;
}

.submenu-trigger {
display: flex;
align-items: center;
justify-content: space-between;
width: 100%;
padding: 1.25rem 1.5rem;
background: none;
border: none;
outline: none;
cursor: pointer;
text-align: left;
text-decoration: none;
color: #fff;
font-family: var(--e-global-typography-primary-font-family);
font-size: var(--e-global-typography-primary-font-size);
font-weight: var(--e-global-typography-primary-font-weight);
-webkit-appearance: none;
appearance: none;
}

.submenu-trigger:focus,
.submenu-trigger:focus-visible,
.submenu-trigger:hover,
.submenu-trigger:active {
outline: none!important;
box-shadow: none!important;
border: none!important;
}

.submenu-trigger::after {
display: none;
}

.mobile-menu__list .has-children > a,
.mobile-menu__list .has-children .submenu-trigger {
position: relative;
}

.mobile-menu__list .has-children > a .dropdown-icon,
.mobile-menu__list .has-children .submenu-trigger .dropdown-icon {
display: block;
width: 24px;
height: 24px;
color: #fff;
flex-shrink: 0;
margin-left: auto;
align-self: center;
}

.submenu-overview {
display: block;
padding: 1.25rem 1.5rem;
text-decoration: none;
font-family: var(--e-global-typography-primary-font-family);
font-size: var(--e-global-typography-primary-font-size);
font-weight: var(--e-global-typography-primary-font-weight);
color: var(--e-global-color-text);
}

.submenu-overview::after {
display: none;
}

.mobile-menu__list li:first-child .submenu-overview {
border-bottom: 2px solid var(--e-global-color-e9d2f3e);
}

.mobile-menu__search {
padding: 1.5rem;
border-top: 1px solid var(--e-global-color-e9d2f3e);
flex-shrink: 0;
background: var(--e-global-color-primary);
}

.mobile-menu__search form {
display: flex;
align-items: center;
background: rgba(0, 0, 0, 0.05);
border-radius: 8px;
padding: 0.75rem 1rem;
gap: 0.75rem;
}

.mobile-menu__search input[type="search"] {
flex: 1;
background: transparent;
border: none;
padding: 0;
font-family: var(--e-global-typography-text-font-family);
font-size: var(--e-global-typography-text-font-size);
color: var(--e-global-color-text);
outline: none;
}

.mobile-menu__search input[type="search"]::placeholder {
color: var(--e-global-color-text);
opacity: 0.6;
}

.mobile-menu__search label {
display: none;
}

.mobile-menu__search .screen-reader-text {
display: none;
}

.mobile-menu__search input[type="submit"],
.mobile-menu__search button[type="submit"] {
background: none;
border: none;
cursor: pointer;
padding: 0;
display: flex;
align-items: center;
justify-content: center;
flex-shrink: 0;
font-size: 0;
line-height: 0;
width: 20px;
height: 20px;
}

.mobile-menu__search input[type="submit"]::before,
.mobile-menu__search button[type="submit"]::before {
display: none;
}

.mobile-menu__search .search-icon {
width: 20px;
height: 20px;
color: #fff;
display: block;
}

body.menu-open {
overflow-y: scroll;
}


@media (max-width: 1024px) {
.site-header {
position: fixed;
top: var(--announcement-banner-height, 0);
left: 0;
width: 100%;
background: transparent;
border-bottom: none;
z-index: 9999;
transition: background-color 0.3s ease, border-bottom 0.3s ease;
}

.site-header.is-scrolled {
	background: #0000004a !important;
	backdrop-filter: blur(30px) !important;
}

/* Mobile menu panel starts just below announcement banner (panel has its own header with close button) */
body.has-announcement-banner .mobile-menu__panel {
	top: var(--announcement-banner-height, 52px);
	height: calc(100vh - var(--announcement-banner-height, 52px));
}

.site-header__inner,
.mobile-menu__header {
padding: 8px 30px;
}
.site-header__nav {
display: none;
}
.site-header__cta {
display: none;
}

/* Hide Book Tour button specifically on mobile if CTA is visible */
.site-header__cta .btn-primary-opacity {
display: none;
}
.menu-toggle {
display: block;
}
.site-header__logo a,
.site-header__logo img,
.mobile-menu__logo a, 
.mobile-menu__logo img {
width: 160px;
}
}

@media (min-width: 1025px) {
.site-header {
position: fixed;
top: var(--announcement-banner-height, 0);
left: 0;
width: 100%;
background: transparent;
border-bottom: none;
z-index: 9999;
transition: background-color 0.3s ease, border-bottom 0.3s ease;
}

/* Interior pages (desktop only): blur content behind header */
body:not(.home) .site-header {
	backdrop-filter: blur(5px);
}

/* Slight overlay only when at top and mega menu not open */
.site-header::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.15);
	pointer-events: none;
	z-index: -1;
	transition: opacity 0.3s ease;
}

.site-header.is-scrolled::before,
.site-header.is-mega-open::before {
	opacity: 0;
}

.site-header.is-scrolled {
	background: #0000004a !important;
	backdrop-filter: blur(30px) !important;
	border-bottom: 1px solid var(--e-global-color-e9d2f3e) !important;
}

/* Header stays primary while mega menu is open (class toggled by JS). No transition to avoid flash. */
.site-header.is-mega-open {
	background: var(--e-global-color-primary) !important;
	backdrop-filter: none !important;
	border-bottom: 1px solid var(--e-global-color-e9d2f3e) !important;
	transition: none !important;
}
.site-header.is-mega-open::before {
	transition: none;
}

/* Desktop: keep header primary when any dropdown is open (hover over nav item or dropdown panel) */
.site-header:has(.primary-menu > li:hover),
.site-header:has(.primary-menu a[aria-expanded="true"]) {
	background: var(--e-global-color-primary);
	border-bottom: 1px solid var(--e-global-color-e9d2f3e);
}
.site-header:has(.primary-menu > li:hover)::before,
.site-header:has(.primary-menu a[aria-expanded="true"])::before {
	opacity: 0;
}

.mobile-menu {
display: none;
}
.menu-toggle {
display: none;
}

/* Desktop dropdown panels - only show on desktop */
.desktop-nav-dropdown-panel {
display: block;
}
}

@media (max-width: 1024px) {
/* Hide desktop dropdown panels on mobile */
.desktop-nav-dropdown-panel {
display: none !important;
}
}


@-webkit-keyframes fadeUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
            transform: translate3d(0, 15px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }
@keyframes fadeUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
            transform: translate3d(0, 15px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

.fadeUp {
  -webkit-animation-name: fadeUp;
          animation-name: fadeUp; }


@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
            transform: translate3d(0, 15px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }
@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 15px, 0);
            transform: translate3d(0, 15px, 0); }
  to {
    opacity: 1;
    -webkit-transform: none;
            transform: none; } }

.fadeInUp {
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp; }

/* Image Reveal Effect */
.image-reveal {
position: relative;
overflow: hidden;
width: 100%;
display: block;
}

.image-reveal img {
display: block;
width: 100%;
height: auto;
object-fit: cover;
clip-path: inset(0 100% 0 0);
transition: clip-path 1.2s cubic-bezier(0.19, 1, 0.22, 1);
will-change: clip-path;
}

.image-reveal.is-revealed img {
clip-path: inset(0 0 0 0);
}

@media (prefers-reduced-motion: reduce) {
.image-reveal img {
transition: none;
clip-path: inset(0 0 0 0);
}

.image-reveal.is-revealed img {
clip-path: inset(0 0 0 0);
}
}