/* Merchlys conditional account navigation. Works with Salient desktop and mobile headers. */
body .merchlys-account-menu[hidden] {
	display: none !important;
}

/* Hide stale server-rendered login links as soon as the fresh account
 * session marks the page authenticated. The navigation script then inserts
 * the User submenu with My Trips, searches, enquiries and Logout. */
html.mly-account-logged-in body .merchlys-user-login,
html.mly-account-logged-in body .merchlys-agent-login {
	display: none !important;
}

/* Agent sessions have their own menu and must never show traveller login. */
html.mly-agent-logged-in body .merchlys-user-login,
html.mly-agent-logged-in body .merchlys-user-menu,
html.mly-agent-logged-in body .merchlys-agent-login {
	display: none !important;
}

/* Traveller sessions must never show the agent entry point. */
html.mly-account-logged-in:not(.mly-agent-logged-in) body .merchlys-agent-login,
html.mly-account-logged-in:not(.mly-agent-logged-in) body .merchlys-agent-menu {
	display: none !important;
}

/* Manual agent mode removes the public agent-login entry point without
 * affecting the User account menu or public package/profile pages. */
html.mly-agent-auth-disabled body #header-outer a[href*="/travel-agents-login/"],
html.mly-agent-auth-disabled body #header-outer a[href*="/travel-agent-login/"],
html.mly-agent-auth-disabled body #header-secondary a[href*="/travel-agents-login/"],
html.mly-agent-auth-disabled body #header-secondary a[href*="/travel-agent-login/"],
html.mly-agent-auth-disabled body header a[href*="/travel-agents-login/"],
html.mly-agent-auth-disabled body header a[href*="/travel-agent-login/"],
html.mly-agent-auth-disabled body [role="navigation"] a[href*="/travel-agents-login/"],
html.mly-agent-auth-disabled body [role="navigation"] a[href*="/travel-agent-login/"],
html.mly-agent-auth-disabled body .nectar-header a[href*="/travel-agents-login/"],
html.mly-agent-auth-disabled body .nectar-header a[href*="/travel-agent-login/"],
html.mly-agent-auth-disabled body .slide-out-widget-area a[href*="/travel-agents-login/"],
html.mly-agent-auth-disabled body .slide-out-widget-area a[href*="/travel-agent-login/"] {
	display: none !important;
}

/* Salient can render its two account buttons as plain header links rather
 * than WordPress menu items. Hide those known destinations on the first paint
 * as well; the navigation script also matches their visible labels. */
html.mly-agent-logged-in body #header-outer a[href*="/my-trips/"],
html.mly-agent-logged-in body #header-outer a[href*="/travel-agents-login/"],
html.mly-agent-logged-in body #header-outer a[href*="/travel-agent-login/"],
html.mly-agent-logged-in body #header-secondary a[href*="/my-trips/"],
html.mly-agent-logged-in body #header-secondary a[href*="/travel-agents-login/"],
html.mly-agent-logged-in body #header-secondary a[href*="/travel-agent-login/"],
html.mly-agent-logged-in body header a[href*="/my-trips/"],
html.mly-agent-logged-in body header a[href*="/travel-agents-login/"],
html.mly-agent-logged-in body header a[href*="/travel-agent-login/"],
html.mly-agent-logged-in body [role="navigation"] a[href*="/my-trips/"],
html.mly-agent-logged-in body [role="navigation"] a[href*="/travel-agents-login/"],
html.mly-agent-logged-in body [role="navigation"] a[href*="/travel-agent-login/"],
html.mly-agent-logged-in body .nectar-header a[href*="/my-trips/"],
html.mly-agent-logged-in body .nectar-header a[href*="/travel-agents-login/"],
html.mly-agent-logged-in body .nectar-header a[href*="/travel-agent-login/"],
html.mly-agent-logged-in body .slide-out-widget-area a[href*="/my-trips/"],
html.mly-agent-logged-in body .slide-out-widget-area a[href*="/travel-agents-login/"],
html.mly-agent-logged-in body .slide-out-widget-area a[href*="/travel-agent-login/"] {
	display: none !important;
}

html.mly-account-logged-in:not(.mly-agent-logged-in) body #header-outer a[href*="/travel-agents-login/"],
html.mly-account-logged-in:not(.mly-agent-logged-in) body #header-outer a[href*="/travel-agent-login/"],
html.mly-account-logged-in:not(.mly-agent-logged-in) body #header-secondary a[href*="/travel-agents-login/"],
html.mly-account-logged-in:not(.mly-agent-logged-in) body #header-secondary a[href*="/travel-agent-login/"],
html.mly-account-logged-in:not(.mly-agent-logged-in) body header a[href*="/travel-agents-login/"],
html.mly-account-logged-in:not(.mly-agent-logged-in) body header a[href*="/travel-agent-login/"],
html.mly-account-logged-in:not(.mly-agent-logged-in) body [role="navigation"] a[href*="/travel-agents-login/"],
html.mly-account-logged-in:not(.mly-agent-logged-in) body [role="navigation"] a[href*="/travel-agent-login/"],
html.mly-account-logged-in:not(.mly-agent-logged-in) body .nectar-header a[href*="/travel-agents-login/"],
html.mly-account-logged-in:not(.mly-agent-logged-in) body .nectar-header a[href*="/travel-agent-login/"],
html.mly-account-logged-in:not(.mly-agent-logged-in) body .slide-out-widget-area a[href*="/travel-agents-login/"],
html.mly-account-logged-in:not(.mly-agent-logged-in) body .slide-out-widget-area a[href*="/travel-agent-login/"] {
	display: none !important;
}

body .merchlys-account-menu > a {
	border-radius: 999px;
	font-weight: 800;
	line-height: 1.1;
	margin-left: 7px;
	padding: 12px 17px !important;
	white-space: nowrap;
	transition: transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease;
}

body .merchlys-user-login > a,
body .merchlys-user-menu > a {
	background: rgba(0, 183, 168, .08);
	border: 1px solid rgba(0, 183, 168, .7);
	color: #00a899 !important;
}

body .merchlys-agent-login > a,
body .merchlys-agent-menu > a {
	background: linear-gradient(135deg, #ff6e5d, #ff8b55) !important;
	border: 1px solid #ff6e5d;
	box-shadow: 0 8px 20px rgba(255, 110, 93, .24);
	color: #fff !important;
}

body .merchlys-account-menu > a:hover,
body .merchlys-account-menu > a:focus-visible {
	box-shadow: 0 10px 25px rgba(8, 38, 65, .22);
	transform: translateY(-2px);
}

body .merchlys-account-menu > .sub-menu {
	border: 0;
	border-top: 3px solid #00b7a8;
	border-radius: 0 0 14px 14px;
	box-shadow: 0 18px 40px rgba(8, 38, 65, .16);
	min-width: 220px;
	overflow: hidden;
	padding: 9px 0;
}

body .merchlys-agent-menu > .sub-menu {
	border-top-color: #ff6e5d;
}

body .merchlys-account-menu > .sub-menu > li > a {
	padding: 10px 18px !important;
	transition: background .15s ease, color .15s ease;
}

body .merchlys-account-menu > .sub-menu > li > a:hover,
body .merchlys-account-menu > .sub-menu > li > a:focus-visible {
	background: rgba(0, 183, 168, .08);
	color: #00a899 !important;
}

/* Salient's mobile menu uses a different wrapper and does not always retain sf-menu. */
@media (max-width: 1000px) {
	body .merchlys-account-menu > a {
		margin: 4px 0;
		text-align: center;
		width: 100%;
	}

	body .mobile-menu .merchlys-account-menu,
	body .nectar-mobile-menu .merchlys-account-menu {
		margin: 4px 0;
		width: 100%;
	}

	body .mobile-menu .merchlys-account-menu > .sub-menu,
	body .nectar-mobile-menu .merchlys-account-menu > .sub-menu {
		box-shadow: none;
		min-width: 0;
		padding: 0 0 4px;
		position: static;
		width: 100%;
	}

	body .mobile-menu .merchlys-account-menu > .sub-menu > li > a,
	body .nectar-mobile-menu .merchlys-account-menu > .sub-menu > li > a {
		text-align: center;
	}
}
