header.wp-block-template-part {
	left: 0;
	max-width: 100vw;
	position: unset;
	right: 0;
	top: calc(var(--wp-admin--admin-bar--height, 0px) + 0px);
	transition: all 0.3s ease;
	width: 100%;
	z-index: 100;
}

header.wp-block-template-part > .wp-block-group > .wp-block-group {
	transition: gap 0.3s ease;
}

header.wp-block-template-part.is-sticky {
	animation-duration: 0.3s;
	animation-fill-mode: forwards;
	animation-iteration-count: 1;
	animation-name: sticky-header-animate-in;
	animation-timing-function: ease-out;
	background-color: var(--wp--preset--color--base);
	position: fixed !important;
}

header.wp-block-template-part .header-alt-logo {
	display: none;
}

body:not(.header-transparent) header.wp-block-template-part.is-sticky + .fixed-header-offset {
	height: var(--header-height, 150px);
}

header.wp-block-template-part.is-sticky > .wp-block-group {
	padding-bottom: var(--wp--preset--spacing--30) !important;
	padding-top: var(--wp--preset--spacing--30) !important;
}

header.wp-block-template-part.is-sticky > .wp-block-group > .wp-block-group {
	gap: 1rem;
}

body.header-transparent header.wp-block-template-part {
	position: absolute;
}

.header-contents .wp-block-button__link {
	transition: all 0.25s ease-out;
	transition-property: background-color, border-color, color;
}

body.header-color--light header:not(.is-sticky) .header-contents .wp-block-button__link {
	color: var(--wp--preset--color--base);
}

body.header-transparent header.wp-block-template-part:not(.is-sticky) .wp-block-menu:not(.wp-block-menu--overlay, .wp-block-menu--submenu-toggle) > .menu > .menu-item-has-children > .sub-menu,
body.header-transparent header.wp-block-template-part:not(.is-sticky) .wp-block-menu:not(.wp-block-menu--overlay, .wp-block-menu--submenu-toggle) .wp-block-menu-dropdown-background {
	background-color: var(--wp--preset--color--base);
}

body.header-color--light header.wp-block-template-part .wc-block-mini-cart__badge {
	background-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

body.header-color--light header.wp-block-template-part:not(.is-sticky, :has(.wp-block-menu--overlay .wp-block-menu-dialog[open])) .wp-block-site-logo,
body.header-color--light header.wp-block-template-part:not(.is-sticky, :has(.wp-block-menu--overlay .wp-block-menu-dialog[open])) .header-alt-logo {
	filter: brightness(0) invert(1);
}

body.header-color--light header.wp-block-template-part:not(.is-sticky, :has(.wp-block-menu--overlay .wp-block-menu-dialog[open])) .wp-block-menu {
	color: var(--wp--preset--color--base);
}

body.header-color--light header.wp-block-template-part:not(.is-sticky, :has(.wp-block-menu--overlay .wp-block-menu-dialog[open])) .wp-block-woocommerce-mini-cart {
	color: var(--wp--preset--color--base);
}

body.header-color--light header.wp-block-template-part:not(.is-sticky, :has(.wp-block-menu--overlay .wp-block-menu-dialog[open])) .wc-block-mini-cart__badge {
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
}

body.header-color--light header.wp-block-template-part:not(.is-sticky, :has(.wp-block-menu--overlay .wp-block-menu-dialog[open])) .wp-block-menu--overlay .wp-block-menu-button .wp-block-menu-icon {
	background-color: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary);
}

body.header-color--light header.wp-block-template-part:not(.is-sticky) {
	& .wp-block-menu:not(.wp-block-menu--overlay, .wp-block-menu--submenu-toggle) > .menu > .menu-item-has-children:hover > a::after,
	& .wp-block-menu:not(.wp-block-menu--overlay, .wp-block-menu--submenu-toggle) > .menu > .menu-item-has-children:focus-within > a::after,
	& .wp-block-menu:not(.wp-block-menu--overlay, .wp-block-menu--submenu-toggle) > .menu > .menu-item-has-children > a:focus::after {
		background-color: var(--wp--preset--color--primary);
	}
}

@keyframes sticky-header-animate-in {
	from {
		transform: translateY(-100%);
	}

	to {
		transform: translateY(0%);
	}
}

header.wp-block-template-part:has(.wp-block-menu--overlay .wp-block-menu-dialog[open]) {
	position: fixed;
}

body:not(.header-transparent) header.wp-block-template-part:has(.wp-block-menu--overlay .wp-block-menu-dialog[open]) {
	background-color: var(--wp--preset--color--base);
}

body:not(.header-transparent) header.wp-block-template-part:has(.wp-block-menu--overlay .wp-block-menu-dialog[open]) + .fixed-header-offset {
	height: var(--header-height, 150px);
}

body.header-transparent header.wp-block-template-part:has(.wp-block-menu--overlay .wp-block-menu-dialog[open]) {
	background-color: var(--wp--preset--color--base);
}

header.wp-block-template-part:has(.wp-block-menu-dialog[open]) .wp-block-site-logo {
	position: relative;
	z-index: 100;
}

@media screen and (max-width: 767px) {
	header.wp-block-template-part > .wp-block-group {
		padding-bottom: var(--wp--preset--spacing--30) !important;
		padding-top: var(--wp--preset--spacing--30) !important;
	}

	header.wp-block-template-part .header-alt-logo {
		display: block;
	}

	header.wp-block-template-part .wp-block-site-logo {
		display: none;
	}

	header.wp-block-template-part .header-contents {
		flex-direction: row;
		justify-content: space-between;
	}

	header.wp-block-template-part .header-contents > .wp-block-group.is-nowrap {
		gap: var(--wp--preset--spacing--20);
	}
}
