/* ==========================================================================
   MEGA MENU PLUGIN STYLES
   ========================================================================== */

.wp-block-navigation__responsive-container .wp-block-adamas-mega-menu.wp-block-navigation-item,
.wp-block-navigation__responsive-container .wp-block-adamas-mega-menu.wp-block-navigation-item > button.wp-block-navigation-item__content {
	align-items: center !important;
	display: inline-flex !important;
	gap: 0 !important;
}

.wp-block-adamas-mega-menu button.wp-block-navigation-item__content {
	cursor: pointer;
}

.wp-block-adamas-mega-menu .wp-block-navigation-item__content {
	position: relative;
}

.wp-block-adamas-mega-menu .wp-block-adamas-mega-menu__icon {
	color: var(--wp--preset--color--white);
	cursor: pointer;
	display: none;
	margin: 0 0.5rem;
	flex-shrink: 0;
}

.wp-block-adamas-mega-menu__menu-container .wp-block-navigation__responsive-close svg {
	height: 15px;
	margin-bottom: 0.15ex;
	width: 14px;
}

.wp-block-navigation__responsive-container .wp-block-adamas-mega-menu.wp-block-navigation-item.has-child.is-open > .wp-block-navigation-item__content:after {
	opacity: 1;
}

.wp-block-navigation__responsive-container .wp-block-adamas-mega-menu.wp-block-navigation-item.has-child.is-open .wp-block-adamas-mega-menu__icon.is-dropdown {
	color: var(--wp--preset--color--pink);
	transform: rotate(180deg);
}

.wp-block-navigation__responsive-container {
	bottom: initial;
	margin-left: 0.5rem;
	margin-right: 0.5rem;
	border-radius: 0 0 2rem 2rem;
	padding-bottom: 0;
}

.wp-block-navigation__responsive-container-close {
	margin-right: 2rem;
	display: none !important;
}

/* ==========================================================================
   NAVIGATION ITEM STYLING
   ========================================================================== */

.site-header .wp-block-navigation-item__label {
	color: var(--wp--preset--color--white);
}

.site-header .wp-block-navigation__container.wp-block-navigation {
	gap: 0;
}

.site-header .wp-block-navigation-item__content {
	padding: 0.5rem 0.75rem;
}

/* ==========================================================================
   RESPONSIVE CONTAINER CONTROLS (HAMBURGER MENU)
   ========================================================================== */

.wp-block-navigation__responsive-container-close svg,
.wp-block-navigation__responsive-container-open svg {
	fill: var(--wp--preset--color--white);
}

.wp-block-navigation__responsive-container-open {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: transparent;
	border: none;
	padding: 0;
	cursor: pointer;
	font-size: 1rem;
	color: var(--wp--preset--color--white);
	font-weight: 600;
}

.wp-block-navigation__responsive-container-open::before {
	content: "Menu";
	display: inline-block;
	line-height: 1;
}

/* ==========================================================================
   MENU CONTAINER - HIDDEN STATE
   ========================================================================== */

.wp-block-adamas-mega-menu__menu-container[hidden] {
	display: block !important;
	visibility: hidden;
	pointer-events: none;
}

/* ==========================================================================
   MOBILE STYLES (max-width: 780px)
   ========================================================================== */

@media (max-width: 780px) {

	.site-header,
	.site-footer {
		margin-left: 0.5rem;
		margin-right: 0.5rem;
	}

	.site-header .wrap:has(.is-open)::before {
		background-color: var(--wp--preset--color--dark-blue);
	}

	.wp-block-navigation__responsive-container.is-menu-open {
		margin: 62px 0.5rem 0 0.5rem;
	}

	.wp-block-navigation__responsive-container {
		bottom: initial;
	}

	/* Adjust for WordPress admin bar when logged in */
	.admin-bar .wp-block-navigation__responsive-container {
		margin-top: calc(4.5rem + var(--wp-admin--admin-bar--height, 46px));
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		font-size: 110%;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding: 1em;
		text-align: left !important;
	}

	/* Reset any centering on navigation container */
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
		max-width: none !important;
		margin: 0 !important;
	}

	/* Force left alignment on all navigation elements */
	.wp-block-navigation__responsive-container.is-menu-open,
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog,
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container,
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		align-items: flex-start !important;
		justify-content: flex-start !important;
		text-align: left !important;
	}

	/* Target navigation item content buttons/links */
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content,
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__label,
	.wp-block-navigation__responsive-container.is-menu-open button.wp-block-navigation-item__content,
	.wp-block-navigation__responsive-container.is-menu-open a.wp-block-navigation-item__content {
		justify-content: flex-start !important;
		text-align: left !important;
		width: auto !important;
	}

	/* Override WordPress core centering for mobile nav */
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content > * {
		margin-left: 0 !important;
		margin-right: auto !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-columns {
		gap: 0;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-group {
		padding-bottom: 1rem !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-group .wp-block-group {
		padding-bottom: 0 !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		width: 100% !important;
	}

	/* Ensure list items are left aligned */
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		display: block !important;
		width: 100% !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item > .wp-block-navigation-item__content {
		display: inline-flex !important;
	}

	/* White headings in mobile menu */
	.wp-block-navigation__responsive-container.is-menu-open h1,
	.wp-block-navigation__responsive-container.is-menu-open h2,
	.wp-block-navigation__responsive-container.is-menu-open h3,
	.wp-block-navigation__responsive-container.is-menu-open h4,
	.wp-block-navigation__responsive-container.is-menu-open h5,
	.wp-block-navigation__responsive-container.is-menu-open h6,
	.wp-block-adamas-mega-menu__menu-container h1,
	.wp-block-adamas-mega-menu__menu-container h2,
	.wp-block-adamas-mega-menu__menu-container h3,
	.wp-block-adamas-mega-menu__menu-container h4,
	.wp-block-adamas-mega-menu__menu-container h5,
	.wp-block-adamas-mega-menu__menu-container h6 {
		color: #fff !important;
	}

	.wp-block-navigation__responsive-container .has-bariol-font-family {
		font-size: 1.6rem !important;
		padding: 1rem 0;
	}
	.wp-block-navigation__responsive-container .has-bariol-font-family,
	.wp-block-navigation__responsive-container :where(.wp-block-navigation-item a) {
		color: #fff;
	}

	/* Hide the back/close button inside submenu - arrow on main item handles toggle */
	.wp-block-adamas-mega-menu__menu-container .wp-block-navigation__responsive-container-close {
		display: none !important;
	}

	/* Mobile submenu container - positioned relative within the nav flow */
	.wp-block-adamas-mega-menu__menu-container {
		background-color: inherit;
		position: relative !important;
		top: auto !important;
		left: auto !important;
		right: auto !important;
		bottom: auto !important;
		overflow: hidden;
		overscroll-behavior: none;
		padding: 0;
		width: 100%;
		max-height: 0;
		visibility: hidden;
		pointer-events: none;
		transition: max-height 0.3s ease-in-out, visibility 0s 0.3s;
	}

	/* When submenu is open (hidden attribute removed) - allow natural height, page will scroll */
	.wp-block-adamas-mega-menu__menu-container:not([hidden]) {
		visibility: visible;
		pointer-events: auto;
		max-height: none;
		overflow: visible;
		transition: max-height 0.3s ease-in-out, visibility 0s 0s;
	}

	/* Override the hidden attribute display on mobile */
	.wp-block-adamas-mega-menu__menu-container[hidden] {
		display: block !important;
		max-height: 0;
		visibility: hidden;
		pointer-events: none;
	}

	.wp-block-adamas-mega-menu__menu-container .wp-block-navigation__responsive-close {
		height: auto;
		overflow-y: visible;
		transform: none;
		opacity: 1;
	}

	.wp-block-adamas-mega-menu__menu-container:not([hidden]) .wp-block-navigation__responsive-close {
		transform: none;
	}

	.wp-block-adamas-mega-menu__menu-container.is-closing .wp-block-navigation__responsive-close {
		transform: none;
	}

	.wp-block-adamas-mega-menu__menu-container .wp-block-navigation__responsive-container-close {
		align-items: center;
		display: flex;
		font-size: 0.75rem !important;
		font-weight: 400 !important;
		gap: 0;
		line-height: inherit;
		padding: 0.5rem 0;
		position: static;
		color: var(--wp--preset--color--white);
	}

	.wp-block-adamas-mega-menu__menu-container .wp-block-navigation__responsive-dialog {
		padding-top: 0;
		padding-bottom: 0.5rem;
		height: auto;
		background-color: rgba(0, 46, 90, 0.5) !important;
		border-radius: 0.5rem;
		margin: 0.5rem 0;
	}

	/* Style the submenu content area */
	.wp-block-adamas-mega-menu__menu-container .wp-block-navigation__responsive-container-content {
		padding: 0.5rem 1rem !important;
		margin-left: 0 !important;
	}

	/* Reset desktop dropdown panel styles on mobile */
	.wp-block-navigation__responsive-container-content.wrap.is-layout-constrained {
		background-color: transparent !important;
		border-radius: 0 !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		box-shadow: none !important;
	}

	/* Style submenu links */
	.wp-block-adamas-mega-menu__menu-container .wp-block-navigation__responsive-container-content a {
		color: var(--wp--preset--color--white);
		display: block;
		padding: 0.5rem 0;
	}

	.wp-block-adamas-mega-menu__menu-container .wp-block-navigation__responsive-container-content p {
		line-height: 1.2;
		margin-bottom: 0;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-adamas-mega-menu.wp-block-navigation-item.has-child.is-open {
		z-index: 2;
	}

	/* ==========================================================================
	   MOBILE BURGER MENU - RIGHT ALIGNMENT FIX
	   ========================================================================== */
	/* Ensure header column takes full width on mobile */
	.site-header .header-left-col,
	.site-header .wp-block-column.header-left-col {
		flex-grow: 1 !important;
		width: 100% !important;
	}

	/* The parent group containing logo + nav needs to fill its column width */
	.header-left-col .wp-block-group,
	.header-left-col .wp-block-group.is-content-justification-space-between,
	.wp-block-column .wp-block-group.is-content-justification-space-between,
	.site-header .wp-block-group.is-content-justification-space-between {
		width: 100% !important;
	}

	/* Make the nav expand within the space-between container */
	.wp-block-group.is-content-justification-space-between .wp-block-navigation,
	.is-content-justification-space-between nav.wp-block-navigation {
		flex-grow: 1 !important;
		justify-content: flex-end !important;
	}

	/* Ensure the burger button stays at the right edge */
	.wp-block-navigation__responsive-container-open {
		margin-left: auto !important;
		flex-shrink: 0;
	}

	/* Mobile menu scrolling - account for margin-top offset */
	.wp-block-navigation__responsive-container.is-menu-open {
		background-color: var(--wp--preset--color--dark-blue) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		max-width: 100vw !important;
		/* Use calc to subtract the margin-top from viewport height */
		max-height: calc(100vh - 8rem);
		max-height: calc(100dvh - 8rem); /* Dynamic viewport height for mobile browsers */
	}

	/* Adjust max-height for admin bar */
	.admin-bar .wp-block-navigation__responsive-container.is-menu-open {
		max-height: calc(100vh - 8rem - var(--wp-admin--admin-bar--height, 46px));
		max-height: calc(100dvh - 8rem - var(--wp-admin--admin-bar--height, 46px));
	}

	/* Ensure content can extend and scroll */
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
		min-height: auto;
		height: auto;
		overflow: visible;
	}

	/* Override general positioning rule for mobile */
	.site-header .wp-block-adamas-mega-menu__menu-container {
		top: auto !important;
		position: relative !important;
	}

	.site-header .wrap > .wp-block-group:has(.wp-block-navigation__responsive-container.is-menu-open) {
		border-radius: 0;
	}

	.wp-block-navigation__responsive-container.is-menu-open {
		border-radius: 0 0 2rem 2rem;
	}

	/* Ensure mega menu items stack properly on mobile */
	.wp-block-navigation__responsive-container .wp-block-adamas-mega-menu.wp-block-navigation-item {
		display: flex !important;
		flex-wrap: wrap;
		font-size: 1.2rem;
		align-items: center;
		justify-content: flex-start !important;
		width: 100%;
		text-align: left !important;
	}

	.wp-block-navigation__responsive-container .wp-block-adamas-mega-menu.wp-block-navigation-item > .wp-block-navigation-item__content {
		display: inline-flex !important;
		align-items: center;
		justify-content: flex-start !important;
		text-align: left !important;
	}


	/* Submenu container takes full width on new line */
	.wp-block-navigation__responsive-container .wp-block-adamas-mega-menu.wp-block-navigation-item > .wp-block-adamas-mega-menu__menu-container {
		flex: 0 0 100%;
	}

	/* Arrow icon visible and positioned after text */
	.wp-block-navigation__responsive-container .wp-block-adamas-mega-menu .wp-block-adamas-mega-menu__icon.is-overlay {
		display: inline-flex;
		align-items: center;
		margin: 0 0.5rem;
	}

	/* Rotate arrow when submenu is open */
	.wp-block-navigation__responsive-container .wp-block-adamas-mega-menu.is-open .wp-block-adamas-mega-menu__icon.is-overlay::before {
		transform: rotate(180deg);
	}

}

/* ==========================================================================
   TABLET STYLES (max-width: 1024px)
   ========================================================================== */

@media only screen and (max-width: 1024px) {

}

/* ==========================================================================
   DESKTOP STYLES (min-width: 781px)
   ========================================================================== */

@media (min-width: 781px) {

	.site-header,
	.wp-block-navigation__responsive-dialog {
		overflow: visible;
	}

	.site-header > .wrap {
		position: relative;
	}

	/* Remove header border-radius when mega menu dropdown is open */
	.site-header .wrap > .wp-block-group:has(.wp-block-adamas-mega-menu.wp-block-navigation-item.has-child.is-open) {
		border-radius: 0;
	}

	.wp-block-navigation,
	.wp-block-navigation .wp-block-navigation__responsive-container,
	.wp-block-navigation .wp-block-navigation__responsive-dialog,
	.wp-block-navigation__responsive-container .wp-block-adamas-mega-menu.wp-block-navigation-item.has-child {
		position: static !important;
		background-color: transparent !important;
	}

	/* Position the dropdown container */
	.wp-block-adamas-mega-menu__menu-container {
		position: absolute;
		left: 0;
		right: 0;
		top: 100%;
		overflow: visible;
		visibility: hidden;
		pointer-events: none;
	}

	.wp-block-adamas-mega-menu__menu-container:not([hidden]) {
		visibility: visible;
		pointer-events: auto;
	}

	.wp-block-adamas-mega-menu__menu-container .wp-block-navigation__responsive-close {
		opacity: 0;
	}

	.wp-block-adamas-mega-menu__menu-container:not([hidden]) .wp-block-navigation__responsive-close {
		opacity: 1;
	}

	.wp-block-adamas-mega-menu__menu-container.is-closing .wp-block-navigation__responsive-close {
		opacity: 0;
	}

	.wp-block-adamas-mega-menu__menu-container .wp-block-navigation__responsive-dialog:before {
		background-color: var(--wp--preset--color--grey);
		content: "";
		display: block;
		height: 1px;
		margin: 0 auto;
		max-width: var(--wp--style--global--wide-size);
		width: 100%;
	}

	.wp-block-adamas-mega-menu .wp-block-adamas-mega-menu__icon.is-dropdown {
		align-items: center;
		display: flex;
	}

	.wp-block-navigation__responsive-container .wp-block-adamas-mega-menu.wp-block-navigation-item.has-child.is-button > button,
	.wp-block-navigation__responsive-container .wp-block-adamas-mega-menu.wp-block-navigation-item.has-child.is-link > a {
		position: relative;
	}

	/* Desktop dropdown panel */
	.wp-block-navigation__responsive-container-content.wrap.is-layout-constrained {
		background-color: #fafcff;
		border-radius: 0 0 2rem 2rem;
		max-width: 86rem;
		margin: 0 auto 2.5rem;
		padding: 1rem;
		position: relative;

		/* bottom-focused shadow */
		box-shadow: 0 18px 28px rgba(120, 120, 120, 0.35);
	}

	.wp-block-navigation__responsive-container-content.wrap.is-layout-constrained .wp-block-columns-is-layout-flex {
		margin-left: 0 !important;
		margin-right: 0 !important;
		width: 100%;
	}

	/* Push page content below the open dropdown */
	.site-content {
		transition: padding-top 0.3s ease;
	}

	body:has(.wp-block-adamas-mega-menu.is-open) .site-content {
		padding-top: var(--mega-menu-dropdown-height, 380px);
	}

	.wp-block-navigation__responsive-container .has-bariol-font-family {
		padding: 0.5rem 0;
	}
	.wp-block-navigation__responsive-container .has-bariol-font-family,
	.wp-block-navigation__responsive-container :where(.wp-block-navigation-item a) {
		color: var(--wp--preset--color--dark-blue);
	}

}

/* ==========================================================================
   ANIMATION TIMING (respects reduced motion)
   ========================================================================== */

@media (prefers-reduced-motion: no-preference) {
	.wp-block-adamas-mega-menu__menu-container .wp-block-navigation__responsive-close {
		transition: opacity 0.3s ease-in-out;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-adamas-mega-menu__menu-container .wp-block-navigation__responsive-close {
		transition: none;
	}
}
