.site-container {
	width: min(calc(100% - 2rem), var(--mt-container));
	margin-inline: auto;
}

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

.site-header__utility {
	background: var(--mt-ink);
	color: rgb(255 255 255 / 0.78);
	font-size: 0.78rem;
}

.site-header__utility-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 34px;
	gap: 1rem;
}

.site-header__utility p {
	margin: 0;
}

.site-header__main {
	display: grid;
	grid-template-columns: minmax(238px, 0.8fr) minmax(320px, 1.45fr) auto;
	align-items: center;
	min-height: 90px;
	gap: clamp(1.25rem, 3vw, 3.25rem);
}

.header-search {
	min-width: 0;
}

.header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 0.35rem;
}

.primary-navigation {
	position: sticky;
	top: 0;
	z-index: 90;
	background: var(--mt-white);
	border-top: 1px solid var(--mt-line);
	box-shadow: 0 6px 18px rgb(16 27 51 / 0.04);
}

.admin-bar .primary-navigation {
	top: 32px;
}

.primary-navigation__inner {
	display: grid;
	grid-template-columns: 238px minmax(0, 1fr);
	align-items: stretch;
	min-height: 54px;
}

.primary-menu-wrap {
	min-width: 0;
}

.primary-menu,
.primary-menu ul,
.catalog-menu,
.site-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.primary-menu {
	display: flex;
	align-items: stretch;
	height: 100%;
}

.primary-menu > li {
	position: relative;
	display: flex;
	align-items: stretch;
}

.primary-menu > li > a {
	display: flex;
	align-items: center;
	min-height: 54px;
	padding: 0.5rem 1rem;
}

.primary-menu .sub-menu {
	position: absolute;
	top: calc(100% - 1px);
	left: 0;
	z-index: 20;
	display: none;
	width: 250px;
	border: 1px solid var(--mt-line);
	border-radius: 0 0 var(--mt-radius) var(--mt-radius);
	background: var(--mt-white);
	box-shadow: var(--mt-shadow);
	padding: 0.5rem;
}

.primary-menu li:hover > .sub-menu,
.primary-menu li:focus-within > .sub-menu {
	display: block;
}

.primary-menu .sub-menu .sub-menu {
	top: -0.5rem;
	left: calc(100% + 0.5rem);
	border-radius: var(--mt-radius);
}

.primary-menu .sub-menu a {
	display: block;
	border-radius: 8px;
	padding: 0.65rem 0.75rem;
}

.catalog-drawer {
	position: fixed;
	top: var(--mt-catalog-top, 178px);
	left: 0;
	z-index: 80;
	width: 100%;
	max-height: min(70vh, 680px);
	overflow: auto;
	border-top: 1px solid var(--mt-line);
	border-bottom: 1px solid var(--mt-line);
	background: var(--mt-white);
	box-shadow: 0 22px 50px rgb(16 27 51 / 0.16);
}

.catalog-drawer[hidden] {
	display: none;
}

.catalog-drawer__inner {
	padding-block: 1.5rem 2rem;
}

.catalog-drawer__heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.25rem;
}

.catalog-drawer__heading h2 {
	margin: 0;
	font-size: 1.25rem;
}

.catalog-menu--drawer {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.65rem 2rem;
}

.catalog-menu--drawer > li > a {
	display: block;
	border-bottom: 1px solid var(--mt-line);
	padding: 0.65rem 0;
	font-weight: 720;
}

.catalog-menu--drawer .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0.35rem 0 0;
}

.catalog-menu--drawer .sub-menu a {
	display: block;
	padding: 0.35rem 0;
	color: var(--mt-muted);
	font-size: 0.9rem;
}

.content-shell {
	display: grid;
	grid-template-columns: minmax(0, var(--mt-content));
	align-items: start;
	justify-content: center;
	gap: clamp(2rem, 4vw, 4.5rem);
	padding-block: clamp(2rem, 5vw, 4.5rem);
}

.has-content-sidebar .content-shell {
	grid-template-columns: minmax(0, 1fr) 300px;
	justify-content: stretch;
}

.site-main {
	min-width: 0;
}

.archive-header {
	margin-bottom: 2rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--mt-line);
}

.archive-header h1 {
	margin-bottom: 0.25rem;
}

.archive-description > :last-child {
	margin-bottom: 0;
}

.post-list {
	display: grid;
	gap: 1rem;
}

.content-sidebar {
	position: sticky;
	top: 82px;
}

.full-width-page {
	padding-block: clamp(2rem, 5vw, 4.5rem);
}

.full-width-page .page-entry {
	width: min(100%, var(--mt-content));
	margin-inline: auto;
}

.woocommerce-cart .full-width-page .page-entry,
.woocommerce-checkout .full-width-page .page-entry,
.woocommerce-account .full-width-page .page-entry {
	width: min(100%, 1080px);
}

.full-width-page--no-title .page-entry,
.home-panels-page .page-entry {
	width: 100%;
}

.page-entry,
.single-entry {
	min-width: 0;
}

.entry-header {
	margin-bottom: 2rem;
}

.entry-content > :first-child {
	margin-top: 0;
}

.entry-content > :last-child {
	margin-bottom: 0;
}

.entry-content img {
	border-radius: var(--mt-radius);
}

.entry-content figure {
	margin-block: 1.75rem;
}

.entry-content blockquote {
	margin: 2rem 0;
	border: 0;
	border-block: 1px solid var(--mt-line-dark);
	background: transparent;
	font-size: 1.05em;
	padding: 1.4rem 0;
}

.entry-content blockquote > :last-child {
	margin-bottom: 0;
}

.single-entry__image {
	margin-bottom: 2rem;
}

.single-entry__image img {
	width: 100%;
	border-radius: var(--mt-radius-lg);
}

.site-footer {
	margin-top: clamp(3rem, 7vw, 7rem);
	background: var(--mt-ink);
	color: rgb(255 255 255 / 0.72);
}

.site-footer__main {
	display: grid;
	grid-template-columns: minmax(250px, 1.25fr) minmax(150px, 0.7fr) minmax(160px, 0.7fr) minmax(230px, 1fr);
	gap: clamp(2rem, 5vw, 5rem);
	padding-block: clamp(3rem, 6vw, 5rem);
}

.site-footer h2 {
	margin-bottom: 1rem;
	color: var(--mt-white);
	font-size: 0.85rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.site-footer__brand p {
	max-width: 37ch;
	margin-top: 1.25rem;
	font-size: 0.92rem;
}

.site-footer__nav ul {
	display: grid;
	gap: 0.65rem;
}

.site-footer a {
	color: rgb(255 255 255 / 0.78);
	text-decoration: none;
}

.site-footer a:hover {
	color: var(--mt-white);
}

.site-footer__bottom {
	border-top: 1px solid rgb(255 255 255 / 0.12);
}

.site-footer__bottom-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	min-height: 66px;
	font-size: 0.78rem;
}

.site-footer__bottom p {
	margin: 0;
}

.error-page,
.empty-state {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	min-height: 52vh;
	padding-block: 4rem;
}

.error-page {
	max-width: 760px;
}

.error-page__code,
.empty-state__mark {
	margin: 0 0 0.5rem;
	color: var(--mt-vermilion);
	font-size: clamp(4rem, 13vw, 9rem);
	font-weight: 850;
	letter-spacing: -0.08em;
	line-height: 0.9;
}

.error-page__search,
.empty-state .search-form {
	width: min(100%, 560px);
	margin: 0.5rem 0 1rem;
}

.shop-shell {
	display: grid;
	align-items: start;
	gap: clamp(1.25rem, 3vw, 2.75rem);
	padding-block: clamp(1.5rem, 4vw, 3.5rem);
}

.shop-shell--catalog {
	grid-template-columns: 250px minmax(0, 1fr);
}

.shop-shell--single {
	grid-template-columns: minmax(0, 1fr);
}

.shop-shell > #primary {
	min-width: 0;
}

.catalog-rail {
	min-width: 0;
}

.catalog-rail__sticky {
	position: sticky;
	top: 74px;
	border: 1px solid var(--mt-line);
	border-radius: var(--mt-radius);
	background: var(--mt-white);
	overflow: hidden;
}

.catalog-rail__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 58px;
	border-bottom: 1px solid var(--mt-line);
	padding: 0.75rem 1rem;
}

.catalog-rail__header h2 {
	margin: 0;
	font-size: 1rem;
}

.catalog-rail nav {
	padding: 0.6rem;
}
