.fivemx-v2-shell,
.fivemx-v2-shell * {
	box-sizing: border-box;
}

.fivemx-v2-shell #header {
	position: relative;
	z-index: 80;
}

.fivemx-shell__top,
.fivemx-nav--desktop {
	width: min(calc(100% - (2 * var(--fmx-gutter))), var(--fmx-content-wide));
	margin-inline: auto;
}

.fivemx-shell__top {
	display: grid;
	grid-template-columns: auto minmax(280px, 1fr) auto;
	gap: 28px;
	align-items: center;
	min-height: 82px;
}

.fivemx-shell__brand {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

.fivemx-shell__search {
	position: relative;
	min-width: 0;
}

.fivemx-search {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	min-height: 50px;
}

.fivemx-search__icon {
	display: grid;
	place-items: center;
	width: 44px;
}

.fivemx-search__input {
	width: 100%;
	min-width: 0;
	height: 48px;
	padding: 0;
}

.fivemx-search__submit {
	min-width: 88px;
	min-height: 44px;
	margin: 2px;
	padding: 0 20px;
}

.fivemx-search-results {
	position: absolute;
	top: calc(100% + 8px);
	left: 0;
	right: 0;
	z-index: 120;
	max-height: min(520px, calc(100vh - 120px));
	overflow-y: auto;
}

.fivemx-search-results[hidden] {
	display: none;
}

.fivemx-search-results__status {
	margin: 0;
	padding: 14px 16px;
}

.fivemx-search-results ul {
	margin: 0;
	padding: 0 8px 8px;
	list-style: none;
}

.fivemx-search-results li {
	margin: 0;
}

.fivemx-search-result {
	display: grid;
	grid-template-columns: 56px minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	min-height: 68px;
	padding: 6px 8px;
}

.fivemx-search-result img,
.fivemx-search-result__image-placeholder {
	width: 56px;
	height: 56px;
	object-fit: cover;
}

.fivemx-search-result__copy {
	min-width: 0;
}

.fivemx-search-result__title,
.fivemx-search-result__meta {
	display: block;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.fivemx-search-result__meta {
	margin-top: 2px;
}

.fivemx-search-result__price {
	white-space: nowrap;
}

.fivemx-utilities {
	display: flex;
	align-items: center;
	gap: 12px;
}

.fivemx-utility {
	min-height: 44px;
}

.fivemx-utility--link,
.fivemx-utility--cart {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 7px;
	padding: 0 8px;
}

.fivemx-utility--cart {
	position: relative;
}

.fivemx-cart-count {
	position: absolute;
	top: -1px;
	left: 23px;
	display: grid;
	place-items: center;
	min-width: 18px;
	height: 18px;
	padding: 0 4px;
}

.fivemx-cart-count[hidden] {
	display: none;
}

.fivemx-cart-total {
	margin-left: 2px;
}

.fivemx-utility--language,
.fivemx-utility--currency {
	display: flex;
	align-items: center;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.fivemx-utility--language .trp-language-switcher,
.fivemx-utility--currency .yay-currency-single-page-switcher {
	margin: 0;
}

.fivemx-utility--language .trp-shortcode-switcher {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	overflow: visible;
}

.fivemx-utility--language .trp-current-language-item__wrapper,
.fivemx-utility--currency .yay-currency-custom-select__trigger {
	box-sizing: border-box;
	min-height: 44px;
	height: 44px !important;
	border: 1px solid var(--fmx-color-border, #d0d5dd);
	border-radius: var(--fmx-radius-control, 8px);
	background: var(--fmx-color-surface, #fff);
	color: var(--fmx-color-text, #111827);
}

.fivemx-utility--language .trp-current-language-item__wrapper {
	padding-right: 10px;
}

.fivemx-utility--language .trp-language-item__current {
	box-sizing: border-box;
	min-height: 42px;
	padding: 0 8px 0 12px;
}

.fivemx-utility--currency .yay-currency-custom-select__trigger {
	gap: 8px;
	padding: 0 10px !important;
	font-size: 13px !important;
}

.fivemx-utility--language .trp-current-language-item__wrapper:hover,
.fivemx-utility--language .trp-shortcode-overlay.is-open .trp-current-language-item__wrapper,
.fivemx-utility--currency .yay-currency-custom-select__trigger:hover,
.fivemx-utility--currency .yay-currency-custom-select.open .yay-currency-custom-select__trigger {
	border-color: var(--fmx-color-border-strong, #98a2b3);
	background: var(--fmx-color-surface-subtle, #f8fafc);
}

.fivemx-utility--language .trp-switcher-dropdown-list,
.fivemx-utility--currency .yay-currency-custom-options {
	box-sizing: border-box;
	border: 1px solid var(--fmx-color-border, #d0d5dd);
	border-radius: var(--fmx-radius-control, 8px);
	background: var(--fmx-color-surface, #fff);
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.14);
}

.fivemx-utility--language .trp-switcher-dropdown-list {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	min-width: 100%;
	padding: 4px;
}

.fivemx-utility--language .trp-switcher-dropdown-list[hidden] {
	display: none !important;
	max-height: 0 !important;
	overflow: hidden !important;
}

.fivemx-nav--desktop {
	position: relative;
}

.fivemx-nav > ul,
.fivemx-nav-group ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.fivemx-nav--desktop > ul {
	display: flex;
	align-items: stretch;
	gap: 2px;
	min-height: 50px;
}

.fivemx-nav--desktop > ul > li > a,
.fivemx-nav--desktop summary {
	display: flex;
	align-items: center;
	min-height: 50px;
	padding: 0 16px;
}

.fivemx-nav--desktop summary::after {
	width: 7px;
	height: 7px;
	margin: -4px 0 0 9px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	content: "";
	transform: rotate(45deg);
}

.fivemx-nav-group__panel {
	position: absolute;
	left: 0;
	top: 100%;
	z-index: 110;
	width: min(620px, calc(100vw - (2 * var(--fmx-gutter))));
	padding: 22px;
}

.fivemx-nav-group__all {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

.fivemx-nav-group__columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 28px;
	padding-top: 8px;
}

.fivemx-nav-group__columns strong {
	display: block;
	margin: 8px 0;
}

.fivemx-nav-group__columns a {
	display: flex;
	align-items: center;
	min-height: 36px;
}

.fivemx-mobile,
.fivemx-nav--mobile {
	display: none;
}

body.fivemx-mobile-menu-open {
	overflow: hidden;
}

@media (max-width: 1080px) {
	.fivemx-shell__top {
		grid-template-columns: auto minmax(240px, 1fr) auto;
		gap: 14px;
	}

	.fivemx-utility--link span,
	.fivemx-cart-total {
		display: none;
	}

	.fivemx-nav--desktop > ul > li > a,
	.fivemx-nav--desktop summary {
		padding-inline: 11px;
	}
}

@media (max-width: 899px) {
	.fivemx-shell__top {
		grid-template-columns: minmax(0, 1fr) auto 48px;
		gap: 10px;
		width: min(calc(100% - 24px), 760px);
		padding: 10px 0 12px;
	}

	.fivemx-shell__brand {
		grid-column: 1;
	}

	.fivemx-shell__search {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.fivemx-search__submit {
		min-width: 72px;
		padding-inline: 12px;
	}

	.fivemx-utilities,
	.fivemx-nav--desktop {
		display: none;
	}

	.fivemx-mobile {
		display: block;
		grid-column: 3;
		grid-row: 1;
		justify-self: end;
	}

	.fivemx-mobile:not([open]) + .fivemx-utilities {
		display: flex;
		grid-column: 2;
		grid-row: 1;
		gap: 0;
		justify-self: end;
	}

	.fivemx-mobile:not([open]) + .fivemx-utilities > :not(.fivemx-utility--cart) {
		display: none;
	}

	.fivemx-mobile:not([open]) + .fivemx-utilities .fivemx-utility--cart {
		min-width: 44px;
		min-height: 44px;
		padding-inline: 7px;
	}

	.fivemx-mobile:not([open]) + .fivemx-utilities .fivemx-cart-total {
		display: inline;
		font-size: .82rem;
		white-space: nowrap;
	}

	.fivemx-mobile__toggle {
		position: relative;
		display: grid;
		place-items: center;
		width: 48px;
		height: 48px;
	}

	.fivemx-mobile__toggle > span:last-child,
	.fivemx-mobile__toggle > span:last-child::before,
	.fivemx-mobile__toggle > span:last-child::after {
		display: block;
		width: 21px;
		height: 2px;
		background: currentColor;
	}

	.fivemx-mobile__toggle > span:last-child {
		position: relative;
	}

	.fivemx-mobile__toggle > span:last-child::before,
	.fivemx-mobile__toggle > span:last-child::after {
		position: absolute;
		left: 0;
		content: "";
	}

	.fivemx-mobile__toggle > span:last-child::before {
		top: -7px;
	}

	.fivemx-mobile__toggle > span:last-child::after {
		top: 7px;
	}

	.fivemx-mobile__overlay {
		position: fixed;
		inset: 0;
		z-index: 130;
		display: none;
		width: 100%;
		height: 100%;
		padding: 0;
	}

	.fivemx-mobile[open] .fivemx-mobile__overlay {
		display: block;
	}

	.fivemx-mobile__panel {
		position: fixed;
		top: 0;
		right: 0;
		bottom: 0;
		z-index: 140;
		width: min(88vw, 390px);
		overflow-y: auto;
		padding: 18px 18px 260px;
	}

	.fivemx-mobile__heading {
		display: flex;
		align-items: center;
		justify-content: space-between;
		min-height: 48px;
		padding-bottom: 10px;
		border-bottom: 1px solid;
	}

	.fivemx-mobile__close {
		display: grid;
		place-items: center;
		width: 44px;
		height: 44px;
		padding: 0;
		font-size: 2rem;
		line-height: 1;
	}

	.fivemx-nav--mobile {
		display: block;
		padding-block: 10px;
	}

	.fivemx-nav--mobile > ul > li > a,
	.fivemx-nav--mobile summary,
	.fivemx-nav--mobile .fivemx-nav-group__all,
	.fivemx-nav--mobile .fivemx-nav-group__columns a {
		display: flex;
		align-items: center;
		min-height: 46px;
	}

	.fivemx-nav--mobile summary {
		justify-content: space-between;
	}

	.fivemx-nav--mobile summary::after {
		content: "+";
		font-size: 1.2rem;
	}

	.fivemx-nav--mobile details[open] > summary::after {
		content: "−";
	}

	.fivemx-nav--mobile .fivemx-nav-group__panel {
		position: static;
		width: auto;
		padding: 0 0 12px 12px;
	}

	.fivemx-nav--mobile .fivemx-nav-group__columns {
		display: block;
		padding-top: 0;
	}

	.fivemx-nav--mobile .fivemx-nav-group__columns > div + div {
		margin-top: 12px;
	}

	.fivemx-nav--mobile .fivemx-nav-group__columns strong {
		margin: 6px 0 2px;
	}

	.fivemx-mobile[open] + .fivemx-utilities {
		position: fixed;
		right: 18px;
		bottom: 18px;
		z-index: 150;
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8px;
		width: calc(min(88vw, 390px) - 36px);
		padding-top: 14px;
		border-top: 1px solid;
	}

	.fivemx-mobile[open] + .fivemx-utilities .fivemx-utility {
		min-width: 0;
	}

	.fivemx-mobile[open] + .fivemx-utilities .fivemx-utility--language,
	.fivemx-mobile[open] + .fivemx-utilities .fivemx-utility--currency {
		grid-column: 1 / -1;
	}

	.fivemx-mobile[open] + .fivemx-utilities .trp-shortcode-overlay.is-open {
		overflow: visible !important;
	}

	.fivemx-mobile[open] + .fivemx-utilities .trp-shortcode-overlay.is-open .trp-switcher-dropdown-list,
	.fivemx-mobile[open] + .fivemx-utilities .yay-currency-custom-select.open .yay-currency-custom-options {
		position: absolute !important;
		top: auto !important;
		bottom: calc(100% + 4px) !important;
		max-height: min(54vh, 360px) !important;
		overflow-y: auto !important;
	}

	.fivemx-mobile[open] + .fivemx-utilities .trp-shortcode-overlay.is-open .trp-switcher-dropdown-list {
		left: 0;
		right: 0;
	}

	.fivemx-mobile[open] + .fivemx-utilities .fivemx-utility--language > *,
	.fivemx-mobile[open] + .fivemx-utilities .fivemx-utility--currency > *,
	.fivemx-mobile[open] + .fivemx-utilities .trp-shortcode-switcher,
	.fivemx-mobile[open] + .fivemx-utilities .trp-current-language-item__wrapper,
	.fivemx-mobile[open] + .fivemx-utilities .yay-currency-single-page-switcher,
	.fivemx-mobile[open] + .fivemx-utilities .yay-currency-custom-select-wrapper,
	.fivemx-mobile[open] + .fivemx-utilities .yay-currency-custom-select,
	.fivemx-mobile[open] + .fivemx-utilities .yay-currency-custom-select__trigger {
		width: 100% !important;
	}

	.fivemx-mobile[open] + .fivemx-utilities .fivemx-utility--link,
	.fivemx-mobile[open] + .fivemx-utilities .fivemx-utility--cart {
		justify-content: flex-start;
		min-height: 48px;
		padding-inline: 12px;
	}

	.fivemx-mobile[open] + .fivemx-utilities .fivemx-cart-total,
	.fivemx-mobile[open] + .fivemx-utilities .fivemx-utility--link span {
		display: inline;
	}

	.fivemx-search-results {
		position: fixed;
		top: 132px;
		left: 12px;
		right: 12px;
		max-height: calc(100vh - 150px);
	}
}

@media (max-width: 380px) {
	.fivemx-search__input {
		font-size: 0.88rem;
	}

	.fivemx-search__submit {
		min-width: 48px;
		padding-inline: 8px;
		font-size: 0.8rem;
	}

	.fivemx-search-result {
		grid-template-columns: 48px minmax(0, 1fr);
	}

	.fivemx-search-result img,
	.fivemx-search-result__image-placeholder {
		width: 48px;
		height: 48px;
	}

	.fivemx-search-result__price {
		grid-column: 2;
	}
}

@media (prefers-reduced-motion: reduce) {
	.fivemx-shell *,
	.fivemx-shell *::before,
	.fivemx-shell *::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
	}
}
