/* ==========================================================================
   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 {
	-webkit-box-align: center !important;
	-ms-flex-align: center !important;
	align-items: center !important;
	display: -webkit-inline-box !important;
	display: -ms-inline-flexbox !important;
	display: inline-flex !important;
	gap: 0px !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: #ffffff;
	background: none;
	border: none;
	cursor: pointer;
	display: none;
	margin: 0;
	padding: 0;
	width: 1rem;
	height: 1rem;
	-ms-flex-negative: 0;
	    flex-shrink: 0;
	margin-left: 0.5rem;
}

/* Hide the inline SVG and use custom arrow image */
.wp-block-adamas-mega-menu .wp-block-adamas-mega-menu__icon svg {
	display: none;
}

.wp-block-adamas-mega-menu .wp-block-adamas-mega-menu__icon.is-overlay::before {
	content: "";
	display: block;
	width: 1rem;
	height: 1rem;
	background-image: url("/wp-content/plugins/whg-blocks/assets/images/arrow-white.svg");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	-webkit-transform: rotate(90deg);
	        transform: rotate(90deg);
	-webkit-transition: -webkit-transform 0.2s ease;
	transition: -webkit-transform 0.2s ease;
	transition: transform 0.2s ease;
	transition: transform 0.2s ease, -webkit-transform 0.2s ease;
}

.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 > .wp-block-navigation-item__content:after {
	background-color: var(--wp--preset--color--pink);
	bottom: 0;
	content: "";
	display: block;
	height: 2px;
	left: 0;
	opacity: 0;
	position: absolute;
	right: 0;
	-webkit-transition: opacity 0.1s ease-in-out;
	transition: opacity 0.1s ease-in-out;
}

.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);
	-webkit-transform: rotate(180deg);
	transform: rotate(180deg);
}

.header-inner .wp-block-navigation__responsive-container{
    bottom: initial;
    margin-left: 0.5rem;
    margin-right: 0.5rem;
    border-radius: 0 0 2rem 2rem;
    padding-bottom: 0rem;
	
}


.header-inner .wp-block-navigation__responsive-container-close{
    margin-right: 2rem;
}

/* ==========================================================================
   NAVIGATION ITEM STYLING
   ========================================================================== */

.wp-block-navigation{
	margin-top: 0.1rem !important
}

.wp-block-navigation-item__label{
	color: #ffffff;
}

.site-header .wp-block-navigation__container.wp-block-navigation {
    gap: 0rem;
}

.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: rgb(255 255 255);
}

/* Hamburger menu icon styling */
.wp-block-navigation__responsive-container-open svg {
    display: none !important;
}

.wp-block-navigation__responsive-container-open {
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.5rem;
    background: transparent;
    border: none;
    padding: 0;
    cursor: pointer;
    font-size: 1rem;
    color: #ffffff;
    font-weight: 600;
}

.wp-block-navigation__responsive-container-open::before {
    content: "Menu";
    display: inline-block;
    line-height: 1;
}

.wp-block-navigation__responsive-container-open::after {
    content: "";
    width: 1.5rem;
    height: 1.5rem;
    background-image: url("https://whg.betasite.io/wp-content/themes/whg/assets/images/menu.svg");
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    display: inline-block;
}

/* ==========================================================================
   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) {

    .header-inner .wp-block-navigation__responsive-container{
        bottom: initial;
        margin-top: 8rem;
    }

	/* Adjust for WordPress admin bar when logged in */
	.admin-bar .header-inner .wp-block-navigation__responsive-container{
		margin-top: calc(8rem + var(--wp-admin--admin-bar--height, 46px));
	}

    .header-inner .wp-block-navigation__responsive-container-content{
        margin-left: 0 !important;
        margin-right: 0 !important;
		padding-left: 2rem;
		text-align: left !important;
    }

    .header-inner .wp-block-navigation__responsive-container-content{
        padding-top: 0 !important;
		padding-bottom: 2rem !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-left: 0 !important;
		margin-right: 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 {
		-webkit-box-align: start !important;
		    -ms-flex-align: start !important;
		        align-items: flex-start !important;
		-webkit-box-pack: start !important;
		    -ms-flex-pack: 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 {
		-webkit-box-pack: start !important;
		    -ms-flex-pack: start !important;
		        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 {
		display: -webkit-box !important;
		display: -ms-flexbox !important;
		display: flex !important;
		-webkit-box-orient: vertical !important;
		-webkit-box-direction: normal !important;
		    -ms-flex-direction: column !important;
		        flex-direction: column !important;
		-webkit-box-align: start !important;
		    -ms-flex-align: start !important;
		        align-items: flex-start !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		display: -webkit-box !important;
		display: -ms-flexbox !important;
		display: flex !important;
		-webkit-box-orient: vertical !important;
		-webkit-box-direction: normal !important;
		    -ms-flex-direction: column !important;
		        flex-direction: column !important;
		-webkit-box-align: start !important;
		    -ms-flex-align: start !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: -webkit-inline-box !important;
		display: -ms-inline-flexbox !important;
		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: #ffffff !important;
	}

	/* H6 size in mobile menu */
	.wp-block-navigation__responsive-container.is-menu-open h6,
	.wp-block-adamas-mega-menu__menu-container h6 {
		font-size: 1.5rem !important;
	}

	/* 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;
		-ms-scroll-chaining: none;
		overscroll-behavior: none;
		padding: 0;
		width: 100%;
		max-height: 0;
		visibility: hidden;
		pointer-events: none;
		-webkit-transition: max-height 0.3s ease-in-out, visibility 0s 0.3s;
		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;
		-webkit-transition: max-height 0.3s ease-in-out, visibility 0s 0s;
		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;
		-webkit-transform: none;
		transform: none;
		opacity: 1;
	}

	.wp-block-adamas-mega-menu__menu-container:not([hidden]) .wp-block-navigation__responsive-close {
		-webkit-transform: none;
		transform: none;
	}

	.wp-block-adamas-mega-menu__menu-container.is-closing .wp-block-navigation__responsive-close {
		-webkit-transform: none;
		transform: none;
	}

	.wp-block-adamas-mega-menu__menu-container .wp-block-navigation__responsive-container-close {
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		font-size: 0.75rem !important;
		font-weight: 400 !important;
		gap: 0px;
		line-height: inherit;
		padding: 0.5rem 0;
		position: static;
		color: #ffffff;
	}

	.wp-block-adamas-mega-menu__menu-container .wp-block-navigation__responsive-dialog {
		margin-top: 0 !important;
		padding-top: 0.5rem;
		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;
		-webkit-box-shadow: none !important;
		        box-shadow: none !important;
	}

	/* Style submenu links */
	.wp-block-adamas-mega-menu__menu-container .wp-block-navigation__responsive-container-content a {
		color: #ffffff;
		display: block;
		padding: 0.5rem 0;
	}

	.wp-block-adamas-mega-menu__menu-container .wp-block-navigation__responsive-container-content p {
		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;
	}

	/* Navigation styling for mobile */
	.site-header .wp-block-navigation-item__label{
		font-size: 0.8rem;
	}

	.site-header .wp-block-navigation {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        width: 100%;
    }

    .site-header .wp-block-navigation__responsive-container-open {
        margin-left: auto;
        -ms-flex-negative: 0;
            flex-shrink: 0;
    }

	.wp-block-navigation__responsive-container.is-menu-open{
		background-color: #002e5a !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		max-width: 100vw !important;
		max-height: 100vh;
		-webkit-overflow-scrolling: touch;
	}

	/* 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;
	}

	.header-inner:has(.wp-block-navigation__responsive-container.is-menu-open) {
		border-radius: 0;
	}

	.header-inner .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: -webkit-box !important;
		display: -ms-flexbox !important;
		display: flex !important;
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: start !important;
		    -ms-flex-pack: start !important;
		        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: -webkit-inline-box !important;
		display: -ms-inline-flexbox !important;
		display: inline-flex !important;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack: start !important;
		    -ms-flex-pack: start !important;
		        justify-content: flex-start !important;
		text-align: left !important;
	}

	/* Submenu content left alignment */
	.wp-block-adamas-mega-menu__menu-container .wp-block-navigation__responsive-container-content {
		text-align: left !important;
		-webkit-box-align: start !important;
		    -ms-flex-align: start !important;
		        align-items: flex-start !important;
	}

	.wp-block-adamas-mega-menu__menu-container .wp-block-navigation__responsive-container-content * {
		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 {
		-webkit-box-flex: 0;
		    -ms-flex: 0 0 100%;
		        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: -webkit-inline-box;
		display: -ms-inline-flexbox;
		display: inline-flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		margin-left: 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 {
		-webkit-transform: rotate(180deg);
		        transform: rotate(180deg);
	}

	/* FINAL OVERRIDE - Force left alignment on all mobile nav elements */
	.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__responsive-container-content > .wp-block-navigation__container {
		-webkit-box-align: start !important;
		    -ms-flex-align: start !important;
		        align-items: flex-start !important;
	}
}

/* ==========================================================================
   TABLET STYLES (max-width: 1024px)
   ========================================================================== */

@media only screen and (max-width: 1024px) {
	.site-header .wp-block-navigation-item__label{
		font-size: 0.8rem;
	}
}

/* ==========================================================================
   DESKTOP STYLES (min-width: 781px)
   ========================================================================== */

@media (min-width: 781px) {

    .site-header,
    .header-inner,
    .wp-block-navigation__responsive-dialog {
        overflow: visible;
    }

	.site-header {
		position: relative;
		z-index: 100;
	}

	.site-header > .wrap {
		position: relative;
	}

	/* Remove header border-radius when mega menu dropdown is open */
	.header-inner: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%;
		z-index: 98;
		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 {
		display: block;
		margin-left: 0.1rem;
	}

	.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: #fbfcff;
		border-radius: 0 0 2rem 2rem;
		max-width: 86rem;
		margin: 0 auto 2.5rem;
		position: relative;
		
		/* bottom-focused shadow */
		-webkit-box-shadow: 0 18px 28px rgba(120, 120, 120, 0.35);
		        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: 0rem !important;
		margin-right: 0 !important;
		width: 100%;

	}

	/* Header inner z-index for desktop */
	.header-inner {
		position: relative;
		z-index: 100;
		-webkit-transition: border-radius 0.3s ease-in-out;
		transition: border-radius 0.3s ease-in-out;
	}

}

/* ==========================================================================
   ANIMATION TIMING (respects reduced motion)
   ========================================================================== */

@media (prefers-reduced-motion: no-preference) {
	.wp-block-adamas-mega-menu__menu-container .wp-block-navigation__responsive-close {
		-webkit-transition: opacity 0.3s ease-in-out;
		transition: opacity 0.3s ease-in-out;
	}
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-adamas-mega-menu__menu-container .wp-block-navigation__responsive-close {
		-webkit-transition: none;
		transition: none;
	}
}
