.alcs-site-header a[href*="/time-of-need-checklist/"],
header .alcs-header-checklist-cta,
.site-header .alcs-header-checklist-cta,
#masthead .alcs-header-checklist-cta,
.wp-site-blocks > .wp-block-template-part:first-child .alcs-header-checklist-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0.58rem 1rem !important;
	border: 2px solid #f47a20 !important;
	border-radius: 999px;
	background: #f47a20 !important;
	box-shadow: 0 4px 12px rgba(244, 122, 32, 0.24);
	color: #ffffff !important;
	font-weight: 800;
	line-height: 1.15;
	text-decoration: none !important;
	transition: background-color 150ms ease, border-color 150ms ease, box-shadow 150ms ease, transform 150ms ease;
}

header .alcs-header-family-plan-cta,
.site-header .alcs-header-family-plan-cta,
#masthead .alcs-header-family-plan-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	padding: 0.58rem 1rem !important;
	border: 2px solid #315d55 !important;
	border-radius: 999px;
	background: #ffffff !important;
	color: #315d55 !important;
	font-weight: 800;
	text-decoration: none !important;
}

header .alcs-account-menu-link,
.site-header .alcs-account-menu-link,
#masthead .alcs-account-menu-link {
	font-size: 0.9em;
	font-weight: 750;
}

.alcs-family-plan-companion {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-left: 0.65rem;
	padding: 0.65rem 1rem;
	border: 1px solid #315d55;
	border-radius: 999px;
	color: #315d55;
	font-weight: 800;
	text-decoration: none;
}

/* Keep account access visually separate from the primary navigation. */
.alcs-navigation-host {
	position: relative;
}

.alcs-navigation-host .alcs-provider-sign-in-menu-item,
.alcs-navigation-host .alcs-family-sign-in-menu-item,
.alcs-navigation-host .alcs-account-menu-item {
	display: none !important;
}

.alcs-navigation-host nav ul,
.alcs-navigation-host .wp-block-navigation__container,
.alcs-navigation-host ul.menu {
	column-gap: clamp(0.65rem, 1vw, 1.35rem) !important;
	flex-wrap: nowrap !important;
}

.alcs-navigation-host nav a,
.alcs-navigation-host .wp-block-navigation-item__content {
	font-size: clamp(0.88rem, 1.05vw, 1.08rem);
	white-space: nowrap;
}

header.alcs-navigation-host .alcs-header-checklist-cta,
.site-header.alcs-navigation-host .alcs-header-checklist-cta,
#masthead.alcs-navigation-host .alcs-header-checklist-cta,
header.alcs-navigation-host .alcs-header-family-plan-cta,
.site-header.alcs-navigation-host .alcs-header-family-plan-cta,
#masthead.alcs-navigation-host .alcs-header-family-plan-cta {
	min-height: 38px;
	padding: 0.48rem 0.82rem !important;
}

.alcs-account-control {
	position: absolute;
	top: 1rem;
	right: clamp(1rem, 3vw, 3rem);
	z-index: 1000;
	font-family: inherit;
}

.alcs-account-control__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 38px;
	padding: 0.5rem 1rem;
	border: 1px solid #315d55;
	border-radius: 999px;
	background: #315d55;
	color: #ffffff;
	cursor: pointer;
	font: inherit;
	font-size: 0.92rem;
	font-weight: 800;
	line-height: 1;
}

.alcs-account-control__button::after {
	content: "";
	width: 0.42rem;
	height: 0.42rem;
	margin-left: 0.55rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-0.1rem) rotate(45deg);
}

.alcs-account-control__button[aria-expanded="true"]::after {
	transform: translateY(0.12rem) rotate(225deg);
}

.alcs-account-control__button:hover,
.alcs-account-control__button:focus-visible {
	background: #244b44;
	border-color: #244b44;
}

.alcs-account-control__button:focus-visible {
	outline: 3px solid #f47a20;
	outline-offset: 3px;
}

.alcs-account-control__panel {
	position: absolute;
	top: calc(100% + 0.5rem);
	right: 0;
	min-width: 220px;
	padding: 0.45rem;
	border: 1px solid rgba(49, 93, 85, 0.25);
	border-radius: 14px;
	background: #ffffff;
	box-shadow: 0 12px 32px rgba(25, 35, 33, 0.18);
}

.alcs-account-control__panel[hidden] {
	display: none;
}

.alcs-account-control__link {
	display: block;
	padding: 0.72rem 0.8rem;
	border-radius: 10px;
	color: #24302e !important;
	font-size: 0.94rem !important;
	font-weight: 750;
	line-height: 1.25;
	text-decoration: none !important;
	white-space: nowrap;
}

.alcs-account-control__link:hover,
.alcs-account-control__link:focus-visible {
	background: #fff1e8;
	color: #b94f08 !important;
}

.alcs-account-control__link.is-sign-out {
	margin-top: 0.25rem;
	border-top: 1px solid #e3e8e7;
	border-radius: 0 0 10px 10px;
}

.alcs-account-switch__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 1.25rem 0;
}

.alcs-account-switch__actions .button,
.alcs-provider-login .alcs-account-switch__actions .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	padding: 0.65rem 1rem;
	border: 1px solid #315d55;
	border-radius: 999px;
	background: #ffffff;
	color: #315d55;
	font-weight: 800;
	text-decoration: none;
}

.alcs-account-switch__actions .button-primary,
.alcs-provider-login .alcs-account-switch__actions .button-primary {
	border-color: #f47a20;
	background: #f47a20;
	color: #ffffff;
}

.alcs-site-header a[href*="/time-of-need-checklist/"]:hover,
header .alcs-header-checklist-cta:hover,
.site-header .alcs-header-checklist-cta:hover,
#masthead .alcs-header-checklist-cta:hover,
.wp-site-blocks > .wp-block-template-part:first-child .alcs-header-checklist-cta:hover {
	border-color: #d95f0b !important;
	background: #d95f0b !important;
	box-shadow: 0 6px 16px rgba(217, 95, 11, 0.3);
	transform: translateY(-1px);
}

.alcs-site-header a[href*="/time-of-need-checklist/"]:focus-visible,
header .alcs-header-checklist-cta:focus-visible,
.site-header .alcs-header-checklist-cta:focus-visible,
#masthead .alcs-header-checklist-cta:focus-visible,
.wp-site-blocks > .wp-block-template-part:first-child .alcs-header-checklist-cta:focus-visible {
	outline: 3px solid #242424;
	outline-offset: 3px;
}

@media (max-width: 781px) {
	.alcs-site-header a[href*="/time-of-need-checklist/"],
	header .alcs-header-checklist-cta,
	.site-header .alcs-header-checklist-cta,
	#masthead .alcs-header-checklist-cta,
	.wp-site-blocks > .wp-block-template-part:first-child .alcs-header-checklist-cta {
		width: 100%;
		box-sizing: border-box;
		margin-top: 0.35rem;
	}
	header .alcs-header-family-plan-cta,
	.site-header .alcs-header-family-plan-cta,
	#masthead .alcs-header-family-plan-cta,
	.alcs-family-plan-companion {
		width: 100%;
		box-sizing: border-box;
		margin: 0.35rem 0 0;
	}
	.alcs-account-control {
		position: relative;
		top: auto;
		right: auto;
		display: flex;
		justify-content: flex-end;
		width: 100%;
		margin: 0.65rem 0 0;
		padding: 0 1rem;
		box-sizing: border-box;
	}
	.alcs-account-control__panel {
		right: 1rem;
	}
	.alcs-navigation-host nav ul,
	.alcs-navigation-host .wp-block-navigation__container,
	.alcs-navigation-host ul.menu {
		flex-wrap: wrap !important;
	}
}
