/**
 * Shared site header + primary navigation (desktop mega-menu + mobile hamburger).
 * Imported by legacy app.css (tailwind.css) and revamp app.css (build-entry.css).
 */

/* Revamp shell — header bar must span the full viewport (not shrink to container width). */
body.sima-revamp-shell > header.sima-site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	display: block;
	box-sizing: border-box;
	background-color: #fff;
	z-index: 50;
	--sima-mobile-header-h: var(--revamp-header-height, 5rem);
}

body.sima-has-announcement-bar.sima-revamp-shell > header.sima-site-header {
	top: var(--announcement-bar-height, 36px);
}

body.sima-revamp-shell > header.sima-site-header .main-nav {
	width: 100%;
	max-width: 100%;
}

header .menu-main-menu-container > ul {
	display: flex;
	gap: 16px;
}

header .menu-main-menu-container .sub-menu,
header .menu-main-menu-container .sub-menu-wrap {
	display: none;
}

header .menu-main-menu-container > ul > li {
	padding: 0 12px;
	margin-bottom: 0;
}

header .menu-main-menu-container > ul > li > a {
	font-weight: 400;
	font-size: 16px;
	border-bottom: 2px solid transparent;
	padding-bottom: 10px;
	box-sizing: border-box;
}

header .menu-main-menu-container li.menu-item-devkit-cta > a.sima-nav-buy-btn,
header .menu-main-menu-container li.menu-item-devkit-cta:hover > a.sima-nav-buy-btn {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 36px;
	height: 36px;
	padding: 0.4rem 1.15rem !important;
	border: 0 !important;
	border-bottom: none !important;
	border-radius: 9999px;
	background: #5998DD !important;
	color: #fff !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
	box-sizing: border-box;
	flex-shrink: 0;
}

header .menu-main-menu-container li.menu-item-devkit-cta:hover > a.sima-nav-buy-btn {
	background: #528fcd !important;
}

@media only screen and (min-width: 768px) {
	header .menu-main-menu-container > ul {
		align-items: center;
	}

	header .menu-main-menu-container > ul > li.menu-item-devkit-cta {
		display: flex;
		align-items: center;
		align-self: center;
		padding: 0 0 0 4px !important;
		margin-bottom: 0;
	}
}

header .menu-main-menu-right-container > ul {
	display: flex;
	gap: 16px;
	justify-content: end;
}

header .menu-main-menu-right-container > ul > li {
	margin-bottom: 0 !important;
}

header .menu-main-menu-container .sub-menu-wrap {
	position: absolute;
	top: 100%;
	background: white;
	width: fit-content;
	max-width: calc(100% - 120px);
	right: calc((100% - 1260px) / 2);
	box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
	min-height: 144px;
	border-radius: 0 0 8px 8px;
	padding-top: 24px;
}

header .menu-main-menu-container .sub-menu-wrap .sub-menu {
	width: 1340px;
	max-width: calc(100% - 60px);
	padding: 0;
	column-count: 1;
	column-gap: 40px;
	margin: 0px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	width: 500px;
	padding-right: 32px;
}

header .menu-main-menu-container .sub-menu-wrap:before {
	content: '';
	position: absolute;
	bottom: 100%;
	left: 0;
	width: 100%;
	height: 30px;
}

header .menu-main-menu-container .sub-menu-wrap .sub-menu.single-column-submenu {
	grid-template-columns: 1fr;
}

header .menu-main-menu-container .sub-menu-wrap .sub-menu > li {
	min-width: 174px;
}

@media only screen and (min-width: 1279px) {
	header .menu-main-menu-container > ul > li:hover > .sub-menu-wrap,
	header .menu-main-menu-container > ul > li:focus-within > .sub-menu-wrap {
		display: block !important;
	}

	header .menu-main-menu-container > ul > li:hover > .sub-menu-wrap .sub-menu,
	header .menu-main-menu-container > ul > li:focus-within > .sub-menu-wrap .sub-menu {
		display: grid !important;
	}

	header .menu-main-menu-container > ul > li:hover > .sub-menu-wrap.single-column-submenu {
		display: grid !important;
	}
}

header .menu-main-menu-container .sub-menu-wrap .sub-menu .category-header,
header .menu-main-menu-container .sub-menu-wrap .sub-menu .category-header.no-link {
	color: #767676;
	font-family: "Roboto", sans-serif;
	font-weight: 400;
	font-size: 12px;
	line-height: 100%;
	letter-spacing: 0%;
	display: inline-block;
	position: relative;
	margin-bottom: 9px !important;
	padding-bottom: 3px !important;
	transition: all 0.3s ease;
	text-transform: uppercase;
}

header .menu-main-menu-container .sub-menu-wrap .sub-menu .category-header::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 1px;
	background: #767676;
	transition: all 0.3s ease;
}

header .menu-main-menu-container .sub-menu-wrap .sub-menu .category-header:hover {
	color: #5998DD !important;
}

header .menu-main-menu-container .sub-menu-wrap .sub-menu .category-header.no-link:hover {
	color: #767676 !important;
}

header .menu-main-menu-container .sub-menu-wrap .sub-menu .category-header:hover::after {
	border-bottom: 1px solid #5998DD !important;
}

header .menu-main-menu-container .sub-menu-wrap .sub-menu .category-header.no-link:hover::after {
	border-bottom: 1px solid #767676 !important;
}

header .menu-main-menu-container .sub-menu-wrap .sima-container {
	display: flex;
	gap: 75px;
	padding: 30px 0;
}

header .menu-main-menu-container .sub-menu-wrap ul li {
	margin-bottom: 9px;
}

header .menu-main-menu-container .sub-menu-wrap a {
	color: #8a8f99;
	font-size: 18px;
	font-weight: 400;
}

header .menu-main-menu-container li:hover > a {
	color: #5998dd;
	border-bottom-color: #5998dd;
}

header .menu-main-menu-container .sub-menu-wrap li:hover > a {
	border-bottom: none !important;
}

header .menu-main-menu-container > ul > li {
	font-family: "Denim", sans-serif;
	font-weight: 500;
}

header .menu-main-menu-container > ul > li .sub-menu {
	font-family: "Denim", sans-serif;
}

@media only screen and (max-width: 1399px) and (min-width: 1280px) {
	.menu-main-menu-container a {
		font-size: 15px !important;
	}

	.menu-main-menu-right-container a {
		font-size: 14px !important;
	}
}

@media only screen and (max-width: 600px) {
	header .menu-main-menu-container .sub-menu-wrap .sub-menu {
		grid-template-columns: 1fr;
	}
}

header .menu-main-menu-right-container > ul > li {
	font-size: 16px !important;
}

@media only screen and (max-width: 767px) {
	header {
		--sima-mobile-header-h: var(--revamp-header-height, 5rem);
	}

	header .main-nav {
		width: 100%;
	}

	.main-nav .nav-menu {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		top: var(--sima-mobile-nav-top, var(--sima-mobile-header-h));
		z-index: 51;
		background: white;
		width: 100%;
		min-height: calc(100vh - var(--sima-mobile-nav-top, var(--sima-mobile-header-h)));
		min-height: calc(100dvh - var(--sima-mobile-nav-top, var(--sima-mobile-header-h)));
		padding: 24px 0 40px 0;
		display: none;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		box-sizing: border-box;
	}

	body.sima-has-announcement-bar .main-nav .nav-menu {
		top: var(--sima-mobile-nav-top, calc(var(--announcement-bar-height, 36px) + var(--sima-mobile-header-h)));
		min-height: calc(100vh - var(--sima-mobile-nav-top, calc(var(--announcement-bar-height, 36px) + var(--sima-mobile-header-h))));
		min-height: calc(100dvh - var(--sima-mobile-nav-top, calc(var(--announcement-bar-height, 36px) + var(--sima-mobile-header-h))));
	}

	.main-nav .nav-menu .menu-main-menu-container {
		padding: 0 24px;
	}

	header .menu-main-menu-container > ul {
		flex-direction: column;
	}

	header .menu-main-menu-container > ul {
		padding: 0 12px;
	}

	header .menu-main-menu-container > ul > li > a {
		font-weight: 500;
		font-size: 20px;
		width: 100%;
		display: block;
		color: #010F0E;
	}

	header .menu-main-menu-container > ul > li {
		background: url('../../../img/chevron-grey-down.svg') no-repeat right 13px / 14px;
		border-bottom: 1px solid #E8E9EB;
		padding: 0 0 16px 0;
	}

	header .menu-main-menu-container > ul > li.active {
		background: url('../../../img/chevron-grey-down-active.svg') no-repeat right 13px / 14px;
	}

	header .menu-main-menu-container > ul > li:last-of-type {
		border-bottom: none;
	}

	header .menu-main-menu-container > ul > li.menu-item-devkit-cta {
		background: none !important;
		border-bottom: none !important;
		padding: 16px 0 8px 0;
	}

	header .menu-main-menu-container > ul > li.menu-item-devkit-cta.active {
		background: none !important;
	}

	header .menu-main-menu-container > ul > li.menu-item-devkit-cta > a.sima-nav-buy-btn {
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: fit-content !important;
		min-height: 44px;
		padding: 0.55rem 1.35rem !important;
		font-size: 18px !important;
		font-weight: 500 !important;
		color: #fff !important;
		background: #5998DD !important;
		border-radius: 9999px;
		border-bottom: none !important;
	}

	header .menu-main-menu-container .sub-menu-wrap {
		position: relative;
		top: 0;
		right: 0;
		border: none;
		box-shadow: none;
	}

	header .menu-main-menu-container .sub-menu-wrap h2 {
		display: none;
	}

	header .menu-main-menu-container .sub-menu-wrap {
		margin-top: 0;
	}

	header .menu-main-menu-container .sub-menu-wrap ul li {
		margin-bottom: 16px;
	}

	header .menu-main-menu-container .sub-menu-wrap a {
		color: #010F0E;
	}

	header .menu-main-menu-container li:hover > a {
		border-bottom: none;
		color: #010F0E;
		padding-bottom: 0;
	}

	header .menu-main-menu-container li.active > a {
		color: #5998dd;
	}

	header .menu-main-menu-container .sub-menu-wrap a {
		font-size: 16px;
	}

	header .menu-main-menu-container .sub-menu-wrap {
		max-width: 100% !important;
	}

	header .menu-main-menu-container .sub-menu-wrap {
		min-height: 0;
	}

	header .menu-main-menu-container .sub-menu-wrap {
		padding-top: 0;
	}
}
