:root {
	--mimuse-container: 1280px;

	--mimuse-space-xs: 8px;
	--mimuse-space-sm: 16px;
	--mimuse-space-md: 24px;
	--mimuse-space-lg: 40px;
	--mimuse-space-xl: 64px;

	--mimuse-radius-sm: 6px;
	--mimuse-radius-md: 12px;
	--mimuse-radius-lg: 20px;

	--mimuse-text: #171717;
	--mimuse-muted: #6b7280;
	--mimuse-border: #e5e7eb;
	--mimuse-background: #ffffff;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	color: var(--mimuse-text);
	background: var(--mimuse-background);
	font-family:
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		sans-serif;
	line-height: 1.6;
}

img {
	display: block;
	max-width: 100%;
	height: auto;
}

a {
	color: inherit;
}

.site-main {
	width: min(
		calc(100% - 40px),
		var(--mimuse-container)
	);
	min-height: 60vh;
	margin-inline: auto;
	padding-block: var(--mimuse-space-xl);
}

/* --------------------------------------------------
   MiMusE Header System
-------------------------------------------------- */

.mimuse-header {
	position: relative;
	z-index: 100;
	background: var(--mimuse-background);
	border-bottom: 1px solid var(--mimuse-border);
}

.mimuse-header__inner {
	width: min(
		calc(100% - 40px),
		var(--mimuse-container)
	);
	min-height: 76px;
	margin-inline: auto;

	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 40px;
}

.mimuse-header__site-title {
	font-size: 22px;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}

.mimuse-header__brand .custom-logo-link {
	display: block;
}

.mimuse-header__brand .custom-logo {
	width: auto;
	max-height: 52px;
}

.mimuse-header__nav {
	justify-self: center;
}

.mimuse-header__menu {
	display: flex;
	align-items: center;
	gap: 30px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.mimuse-header__menu a {
	display: block;
	font-size: 15px;
	font-weight: 500;
	text-decoration: none;
}

.mimuse-header__menu a:hover,
.mimuse-header__menu .current-menu-item > a {
	opacity: .65;
}

.mimuse-header__actions {
	display: flex;
	align-items: center;
	gap: 12px;
}

.mimuse-header__search {
	width: 220px;
	height: 42px;

	display: flex;
	align-items: center;

	border: 1px solid var(--mimuse-border);
	border-radius: var(--mimuse-radius-md);

	overflow: hidden;
	background: #fff;
}

.mimuse-header__search input {
	width: 100%;
	min-width: 0;
	height: 100%;

	padding: 0 0 0 14px;

	border: 0;
	outline: 0;
	background: transparent;

	font: inherit;
}

.mimuse-header__search button {
	width: 42px;
	height: 42px;

	display: grid;
	place-items: center;

	flex: 0 0 auto;

	border: 0;
	background: transparent;
	cursor: pointer;
}

.mimuse-header__commerce {
	display: flex;
	align-items: center;
	gap: 8px;
}

.mimuse-header__toggle {
	display: none;

	width: 42px;
	height: 42px;

	padding: 9px;

	border: 1px solid var(--mimuse-border);
	border-radius: var(--mimuse-radius-md);

	background: #fff;
	cursor: pointer;
}

.mimuse-header__toggle span {
	display: block;
	height: 2px;
	margin: 4px 0;

	background: currentColor;
	border-radius: 999px;
}

.mimuse-mobile-nav {
	background: #fff;
	border-top: 1px solid var(--mimuse-border);
}

.mimuse-mobile-nav__menu {
	margin: 0;
	padding: 16px 20px 24px;
	list-style: none;
}

.mimuse-mobile-nav__menu li + li {
	border-top: 1px solid var(--mimuse-border);
}

.mimuse-mobile-nav__menu a {
	display: block;
	padding: 14px 0;
	text-decoration: none;
	font-weight: 500;
}

/* --------------------------------------------------
   Footer
-------------------------------------------------- */

.site-footer {
	margin-top: var(--mimuse-space-xl);
	border-top: 1px solid var(--mimuse-border);
}

.site-footer__inner {
	width: min(
		calc(100% - 40px),
		var(--mimuse-container)
	);
	margin-inline: auto;
	padding-block: var(--mimuse-space-lg);
	color: var(--mimuse-muted);
}

/* --------------------------------------------------
   Accessibility
-------------------------------------------------- */

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* --------------------------------------------------
   Tablet
-------------------------------------------------- */

@media (max-width: 1024px) {

	.mimuse-header__inner {
		gap: 20px;
	}

	.mimuse-header__search {
		width: 180px;
	}

	.mimuse-header__menu {
		gap: 20px;
	}

}

/* --------------------------------------------------
   Mobile
-------------------------------------------------- */

@media (max-width: 768px) {

	.mimuse-header__inner {
		min-height: 64px;
		grid-template-columns: 1fr auto;
	}

	.mimuse-header__nav {
		display: none;
	}

	.mimuse-header__search {
		display: none;
	}

	.mimuse-header__toggle {
		display: block;
	}

	.mimuse-header__site-title {
		font-size: 20px;
	}

	.site-main {
		padding-block: var(--mimuse-space-lg);
	}
}
/* --------------------------------------------------
   Commerce Header
-------------------------------------------------- */

.mimuse-commerce-action {
	position: relative;

	width: 42px;
	height: 42px;

	display: grid;
	place-items: center;

	border: 1px solid var(--mimuse-border);
	border-radius: var(--mimuse-radius-md);

	text-decoration: none;
	background: #fff;
}

.mimuse-commerce-action svg {
	width: 19px;
	height: 19px;
}

.mimuse-commerce-action:hover {
	background: #f7f7f7;
}

.mimuse-cart-count {
	position: absolute;
	top: -6px;
	right: -6px;

	min-width: 18px;
	height: 18px;
	padding-inline: 5px;

	display: grid;
	place-items: center;

	border-radius: 999px;

	background: var(--mimuse-text);
	color: #fff;

	font-size: 11px;
	font-weight: 700;
	line-height: 1;
}