/* ==========================================================================
   Daphne Maierna – Header (Astra header builder)
   ========================================================================== */
#masthead .ast-primary-header-bar,
#masthead .ast-mobile-header-wrap .ast-primary-header-bar {
	background: var(--dm-cream);
	border-bottom: 1px solid var(--dm-line);
}
#masthead .custom-logo-link img { width: auto; }

/* Desktop menu */
#masthead .main-header-menu {
	gap: clamp(18px, 2.4vw, 40px);
}
#masthead .main-header-menu > .menu-item > .menu-link {
	position: relative;
	padding: 0 !important;
	font-family: var(--dm-sans);
	font-size: .8125rem;
	font-weight: 400;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--dm-navy);
	text-decoration: none;
}
#masthead .main-header-menu > .menu-item > .menu-link::after {
	content: "";
	position: absolute;
	left: 0;
	right: .18em;
	bottom: calc(50% - 1.15em);
	height: 1px;
	background: var(--dm-navy);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .35s var(--dm-ease);
}
#masthead .main-header-menu > .menu-item > .menu-link:hover::after,
#masthead .main-header-menu > .menu-item.current-menu-item > .menu-link::after,
#masthead .main-header-menu > .menu-item.current_page_item > .menu-link::after {
	transform: scaleX(1);
}
/* Mobile toggle + full-screen menu */
#masthead .menu-toggle,
#masthead .menu-toggle:hover,
#masthead .menu-toggle:focus {
	background: transparent !important;
	color: var(--dm-navy) !important;
}
#masthead .menu-toggle .ast-mobile-svg { fill: var(--dm-navy) !important; }
.ast-mobile-header-content,
.ast-mobile-popup-drawer .ast-mobile-popup-inner,
#ast-mobile-popup .ast-mobile-popup-inner {
	background: var(--dm-cream) !important;
}
.ast-mobile-header-content .main-header-menu,
#ast-mobile-popup .main-header-menu {
	background: transparent !important;
	border: 0 !important;
}
.ast-mobile-header-content .main-header-menu .menu-link,
#ast-mobile-popup .main-header-menu .menu-link {
	padding: 18px 20px !important;
	border-bottom: 1px solid var(--dm-line) !important;
	font-family: var(--dm-serif);
	font-weight: 700;
	font-size: 1.625rem;
	letter-spacing: 0;
	text-transform: none;
	color: var(--dm-navy) !important;
	background: transparent !important;
}
/* Program (Making It Real): soft orange highlighter, same as emphasised words in body text */
#masthead .main-header-menu > .menu-item.dm-nav-program > .menu-link { z-index: 0; }
#masthead .main-header-menu > .menu-item.dm-nav-program > .menu-link::before {
	content: "";
	position: absolute;
	z-index: -1;
	left: -.15em;
	right: 0;
	top: 50%;
	height: .55em;
	background: rgba(254, 130, 6, .22);
	pointer-events: none;
}

/* Booking item: only in the mobile menu, as a button after the links */
#ast-desktop-header .menu-item.dm-nav-cta { display: none !important; }
.ast-mobile-header-content .main-header-menu .menu-item.dm-nav-cta > .menu-link,
#ast-mobile-popup .main-header-menu .menu-item.dm-nav-cta > .menu-link {
	display: flex !important;
	justify-content: center;
	margin: 32px 20px 8px;
	padding: 18px 20px !important;
	border: 0 !important;
	background: var(--dm-orange) !important;
	color: var(--dm-navy) !important;
	font-family: var(--dm-sans);
	font-weight: 500;
	font-size: .875rem;
	letter-spacing: .16em;
	text-transform: uppercase;
	text-align: center;
}
.ast-mobile-header-content .main-header-menu .menu-item.dm-nav-cta,
#ast-mobile-popup .main-header-menu .menu-item.dm-nav-cta { border: 0 !important; }

/* Mobile menu close (X): navy on cream */
#ast-mobile-popup .menu-toggle-close,
#ast-mobile-popup .menu-toggle-close:hover,
#ast-mobile-popup .menu-toggle-close:focus {
	background: transparent !important;
	color: var(--dm-navy) !important;
}
#ast-mobile-popup .menu-toggle-close svg,
#ast-mobile-popup .menu-toggle-close .ast-svg-iconset svg { fill: var(--dm-navy) !important; color: var(--dm-navy) !important; }

/* Mobile menu: compact rows so the booking button is in view */
.ast-mobile-header-content .main-header-menu .menu-link,
#ast-mobile-popup .main-header-menu .menu-link { line-height: 1.25 !important; }
#ast-mobile-popup .main-header-menu .menu-item.dm-nav-cta > .menu-link { line-height: 1.4 !important; }
#ast-mobile-popup .main-header-menu .menu-item.dm-nav-cta > .menu-link, .ast-mobile-header-content .main-header-menu .menu-item.dm-nav-cta > .menu-link { width: calc(100% - 40px) !important; box-sizing: border-box; }
