.mpc-shell {
	padding: 0 0 72px;
	margin-top: 0 !important;
}

.mpc-archive-page,
.mpc-single-product {
	--mpc-header-bg: #42627c;
	--mpc-header-bg-strong: #38546d;
	--mpc-header-text: rgba(255, 255, 255, .84);
	--mpc-header-text-strong: #ffffff;
	--mpc-header-cta: #e3544c;
	--mpc-header-cta-hover: #d74a43;
}

.mpc-archive-page #page,
.mpc-single-product #page {
	background: #fff;
}

.mpc-archive-page .site-content,
.mpc-single-product .site-content,
.mpc-archive-page .site-content > .ast-container,
.mpc-single-product .site-content > .ast-container,
.mpc-archive-page .entry-content,
.mpc-single-product .entry-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.mpc-archive-page .site-content > .ast-container,
.mpc-single-product .site-content > .ast-container {
	max-width: none !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	display: block;
}

.mpc-archive-page #masthead,
.mpc-single-product #masthead {
	position: relative;
	z-index: 40;
}

.mpc-archive-page .site-primary-header-wrap,
.mpc-single-product .site-primary-header-wrap,
.mpc-archive-page .ast-primary-header-bar,
.mpc-single-product .ast-primary-header-bar,
.mpc-archive-page .ast-mobile-header-wrap .ast-primary-header-bar,
.mpc-single-product .ast-mobile-header-wrap .ast-primary-header-bar {
	background: var(--mpc-header-bg) !important;
}

.mpc-archive-page .site-header-primary-section-left,
.mpc-single-product .site-header-primary-section-left,
.mpc-archive-page .site-header-primary-section-right,
.mpc-single-product .site-header-primary-section-right {
	padding-top: 8px;
	padding-bottom: 8px;
}

.mpc-archive-page .ast-builder-layout-element[data-section="title_tagline"],
.mpc-single-product .ast-builder-layout-element[data-section="title_tagline"] {
	padding-right: 18px;
}

.mpc-archive-page .site-branding,
.mpc-single-product .site-branding {
	min-height: 64px;
	display: flex;
	align-items: center;
}

.mpc-archive-page .site-branding .site-title a,
.mpc-single-product .site-branding .site-title a,
.mpc-archive-page .site-branding .site-description,
.mpc-single-product .site-branding .site-description {
	color: #fff !important;
}

.mpc-archive-page .main-header-menu > .menu-item > .menu-link,
.mpc-single-product .main-header-menu > .menu-item > .menu-link,
.mpc-archive-page .ast-mobile-popup-content .menu-link,
.mpc-single-product .ast-mobile-popup-content .menu-link,
.mpc-archive-page .site-header .menu-item .ast-menu-toggle,
.mpc-single-product .site-header .menu-item .ast-menu-toggle {
	color: var(--mpc-header-text) !important;
	font-weight: 500;
}

.mpc-archive-page .main-header-menu > .menu-item.current-menu-item > .menu-link,
.mpc-single-product .main-header-menu > .menu-item.current-menu-item > .menu-link,
.mpc-archive-page .main-header-menu > .menu-item.current-menu-ancestor > .menu-link,
.mpc-single-product .main-header-menu > .menu-item.current-menu-ancestor > .menu-link,
.mpc-archive-page .main-header-menu > .menu-item > .menu-link:hover,
.mpc-single-product .main-header-menu > .menu-item > .menu-link:hover,
.mpc-archive-page .site-header .menu-item:hover > .ast-menu-toggle,
.mpc-single-product .site-header .menu-item:hover > .ast-menu-toggle {
	color: var(--mpc-header-text-strong) !important;
}

.mpc-archive-page .main-header-menu > .menu-item,
.mpc-single-product .main-header-menu > .menu-item {
	margin-inline: 8px;
}

.mpc-archive-page .ast-builder-button-wrap .ast-custom-button-link,
.mpc-single-product .ast-builder-button-wrap .ast-custom-button-link {
	border-color: var(--mpc-header-cta) !important;
}

.mpc-archive-page .ast-builder-button-wrap .ast-custom-button,
.mpc-single-product .ast-builder-button-wrap .ast-custom-button {
	background: var(--mpc-header-cta) !important;
	color: #fff !important;
	border-color: var(--mpc-header-cta) !important;
	border-radius: 999px !important;
	padding-inline: 28px !important;
	font-weight: 600;
	box-shadow: none !important;
}

.mpc-archive-page .ast-builder-button-wrap .ast-custom-button:hover,
.mpc-single-product .ast-builder-button-wrap .ast-custom-button:hover {
	background: var(--mpc-header-cta-hover) !important;
}

.mpc-archive-page .menu-toggle.main-header-menu-toggle,
.mpc-single-product .menu-toggle.main-header-menu-toggle {
	background: rgba(255,255,255,.12) !important;
}

.mpc-archive-page .menu-toggle.main-header-menu-toggle .ast-mobile-svg,
.mpc-single-product .menu-toggle.main-header-menu-toggle .ast-mobile-svg {
	fill: #fff !important;
}

.mpc-container,
.mpc-single-wrap {
	width: min(1680px, calc(100vw - 64px));
	margin: 0 auto;
}

.mpc-hero {
	padding: 42px 0 38px;
	background:
		linear-gradient(180deg, var(--mpc-header-bg) 0%, var(--mpc-header-bg-strong) 100%);
	color: #fff;
	border-bottom: 0;
	margin-top: 0 !important;
	margin-bottom: 34px;
}

.mpc-hero-inner {
	width: min(1680px, calc(100vw - 64px));
	margin: 0 auto;
}

.mpc-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
	font-size: .95rem;
	color: rgba(255,255,255,.72);
	margin-bottom: 18px;
}

.mpc-breadcrumbs a {
	color: inherit;
	text-decoration: none;
}

.mpc-hero-copy {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
}

.mpc-eyebrow {
	margin: 0 0 10px;
	font-size: .9rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: rgba(255,255,255,.72);
}

.mpc-hero h1 {
	margin: 0 0 14px;
	font-size: clamp(2.3rem, 4vw, 4rem);
	line-height: 1.1;
}

.mpc-hero p:not(.mpc-eyebrow) {
	margin: 0;
	max-width: 780px;
	color: rgba(255,255,255,.82);
	font-size: 1.05rem;
}

.mpc-container {
	display: grid;
	grid-template-columns: 340px minmax(0, 1fr);
	gap: 46px;
	align-items: start;
}

.mpc-sidebar {
	background: linear-gradient(180deg, #0f6f97 0%, #0a5878 100%);
	color: #fff;
	padding: 28px;
	border-radius: 18px;
	position: sticky;
	top: 110px;
	box-shadow: 0 24px 48px rgba(6, 34, 49, .18);
}

.mpc-sidebar-top {
	margin-bottom: 22px;
}

.mpc-sidebar-kicker {
	margin: 0 0 8px;
	font-size: .82rem;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: rgba(255,255,255,.7);
}

.mpc-sidebar-top h2 {
	margin: 0;
	font-size: 1.8rem;
	line-height: 1.15;
	color: #fff;
}

.mpc-search {
	display: flex;
	gap: 8px;
	margin-bottom: 28px;
}

.mpc-search input {
	flex: 1;
	border: 0;
	border-radius: 6px;
	padding: 14px 16px;
	min-height: 48px;
	background: rgba(255,255,255,.96);
}

.mpc-search button {
	border: 0;
	background: #083f5c;
	color: #fff;
	border-radius: 6px;
	padding: 0 18px;
	font-weight: 700;
}

.mpc-sidebar-group + .mpc-sidebar-group {
	margin-top: 28px;
	padding-top: 20px;
	border-top: 1px solid rgba(255,255,255,.22);
}

.mpc-sidebar-group h3 {
	margin: 0 0 14px;
	font-size: 1.35rem;
	color: #fff;
}

.mpc-sidebar-group h3 a,
.mpc-sidebar-group li a {
	color: inherit;
	text-decoration: none;
}

.mpc-sidebar-group h3 a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
}

.mpc-group-icon {
	width: 36px;
	height: 36px;
	border-radius: 10px;
	flex: 0 0 auto;
	background:
		radial-gradient(circle at 50% 50%, rgba(255,255,255,.95) 0 18%, transparent 20%),
		linear-gradient(135deg, rgba(255,255,255,.24), rgba(255,255,255,.08));
	border: 1px solid rgba(255,255,255,.25);
	position: relative;
}

.mpc-group-icon::after {
	content: "";
	position: absolute;
	inset: 9px;
	border: 2px solid rgba(255,255,255,.78);
	border-radius: 8px 8px 14px 8px;
}

.mpc-sidebar-group ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mpc-sidebar-group li {
	padding: 10px 0;
	border-bottom: 1px solid rgba(255,255,255,.16);
}

.mpc-series-group + .mpc-series-group {
	margin-top: 18px;
}

.mpc-series-group h4 {
	margin: 0 0 8px;
	font-size: 1.15rem;
	color: rgba(255,255,255,.78);
}

.mpc-series-group h4 a {
	color: inherit;
	text-decoration: none;
}

.mpc-series-group ul {
	padding-left: 14px;
}

.mpc-series-group li {
	position: relative;
	padding-left: 16px;
}

.mpc-series-group li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 20px;
	width: 6px;
	height: 6px;
	border-radius: 999px;
	background: rgba(255,255,255,.82);
}

.mpc-page-header {
	margin-bottom: 28px;
	padding-bottom: 18px;
	border-bottom: 1px solid rgba(1, 22, 39, .08);
}

.mpc-page-header h2 {
	margin: 0 0 8px;
	font-size: 2rem;
}

.mpc-page-header p {
	margin: 0;
	color: var(--ast-global-color-3, rgba(1, 22, 39, .75));
	max-width: 760px;
}

.mpc-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
	gap: 34px;
}

.mpc-card {
	background: #fff;
	border: 1px solid #dde4ea;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 18px 40px rgba(10, 32, 61, .08);
	transition: transform .22s ease, box-shadow .22s ease;
}

.mpc-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 44px rgba(10, 32, 61, .12);
}

.mpc-card-image {
	display: block;
	aspect-ratio: 1 / 0.84;
	background: linear-gradient(180deg, #f4f7fa 0%, #eaf1f6 100%);
	padding: 28px;
	border-bottom: 1px solid #eef2f5;
}

.mpc-card-image img,
.mpc-single-main-image img,
.mpc-thumb img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}

.mpc-card-placeholder {
	width: 100%;
	height: 100%;
	background:
		radial-gradient(circle at 22% 18%, rgba(14, 106, 144, .18) 0, transparent 32%),
		linear-gradient(145deg, #edf4f8, #f8fbfd 58%, #e4edf3 100%);
	border-radius: 18px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	padding: 24px;
	color: #163248;
}

.mpc-card-placeholder strong {
	font-size: clamp(1.4rem, 2vw, 2rem);
	line-height: 1.12;
	max-width: 12ch;
}

.mpc-card-placeholder-single {
	min-height: 500px;
}

.mpc-card-code {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	border-radius: 999px;
	background: #123c58;
	color: #fff;
	font-size: .9rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.mpc-card-body {
	padding: 24px 26px 28px;
}

.mpc-card-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 14px;
}

.mpc-card-tags span {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 0 12px;
	border-radius: 999px;
	background: #eef4f8;
	color: #234056;
	font-size: .88rem;
	font-weight: 600;
}

.mpc-card-body h2 {
	margin: 0 0 12px;
	font-size: 1.6rem;
	line-height: 1.35;
}

.mpc-card-body h2 a {
	color: #1a2433;
	text-decoration: none;
}

.mpc-card-excerpt {
	color: #5d6670;
	min-height: 88px;
}

.mpc-card-actions,
.mpc-single-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 22px;
}

.mpc-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 50px;
	padding: 0 24px;
	border-radius: 999px;
	background: #0e6a90;
	color: #fff;
	text-decoration: none;
	font-weight: 700;
}

.mpc-button:hover,
.mpc-button:focus {
	color: #fff;
	background: #0c5777;
}

.mpc-button-secondary {
	background: #133b59;
}

.mpc-empty {
	background: #f5f8fb;
	border-radius: 12px;
	padding: 48px;
	text-align: center;
}

.mpc-single-wrap {
	display: grid;
	grid-template-columns: 340px minmax(440px, 1.05fr) minmax(420px, .95fr);
	gap: 44px;
	align-items: start;
}

.mpc-single-sidebar {
	top: 132px;
}

.mpc-single-main-image {
	background: #fff;
	border-radius: 18px;
	border: 1px solid #dde4ea;
	padding: 24px;
	min-height: 540px;
	box-shadow: 0 18px 40px rgba(10, 32, 61, .08);
	overflow: hidden;
}

.mpc-single-main-stage {
	position: relative;
	overflow: hidden;
	border-radius: 14px;
	height: 100%;
	min-height: 620px;
	background: linear-gradient(180deg, #f4f7fa 0%, #ebf1f6 100%);
	cursor: zoom-in;
}

.mpc-single-main-display {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .18s ease-out;
	transform-origin: center center;
	will-change: transform;
}

.mpc-single-main-stage.is-zoomed .mpc-single-main-display {
	transform: scale(1.9);
}

.mpc-single-gallery {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin-top: 16px;
}

.mpc-thumb {
	background: #fff;
	border: 1px solid #dde4ea;
	border-radius: 12px;
	padding: 6px;
	aspect-ratio: 1 / 1;
}

.mpc-thumb-button {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	border-radius: 8px;
	overflow: hidden;
	cursor: pointer;
}

.mpc-thumb-button img {
	transition: transform .2s ease, opacity .2s ease;
}

.mpc-thumb-button:hover img,
.mpc-thumb-button:focus-visible img {
	transform: scale(1.06);
}

.mpc-thumb-button.is-active {
	outline: 2px solid #0e6a90;
	outline-offset: 0;
}

.mpc-single-tags {
	margin-bottom: 16px;
}

.mpc-single-content h1 {
	margin: 0 0 22px;
	font-size: 2.45rem;
	line-height: 1.2;
}

.mpc-info-box {
	background: #f3f6f9;
	border-radius: 18px;
	padding: 28px 30px;
	margin-bottom: 22px;
}

.mpc-info-box h2 {
	margin: 0 0 18px;
	font-size: 1.55rem;
}

.mpc-spec-list,
.mpc-check-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mpc-spec-list li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	justify-content: space-between;
	gap: 18px;
	padding: 14px 0;
	border-bottom: 1px solid #dde4ea;
}

.mpc-spec-list li:last-child {
	border-bottom: 0;
}

.mpc-spec-list span {
	color: #313945;
}

.mpc-spec-list strong {
	color: #111822;
	white-space: nowrap;
	text-align: right;
}

.mpc-check-list li {
	position: relative;
	padding-left: 28px;
	margin: 12px 0;
}

.mpc-check-list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: #0e6a90;
	font-weight: 700;
}

.mpc-sidebar-group li.is-current-product a {
	font-weight: 700;
	color: #fff;
}

.mpc-sidebar-group li.is-current-product {
	border-left: 3px solid rgba(255,255,255,.85);
	padding-left: 12px;
	background: rgba(255,255,255,.06);
}

.mpc-single-actions-hero {
	margin-top: 0;
}

.mpc-columns-2 {
	columns: 2;
	column-gap: 40px;
}

.mpc-description {
	margin-top: 28px;
}

@media (max-width: 1100px) {
	.mpc-hero-copy {
		flex-direction: column;
		align-items: start;
	}

	.mpc-container,
	.mpc-single-wrap {
		grid-template-columns: 1fr;
	}

	.mpc-sidebar {
		position: static;
	}

	.mpc-single-main-image {
		min-height: 420px;
	}

	.mpc-container,
	.mpc-single-wrap,
	.mpc-hero-inner {
		width: min(100vw - 40px, 1480px);
	}

	.mpc-single-main-stage {
		min-height: 460px;
	}
}

@media (max-width: 860px) {
	.mpc-grid {
		grid-template-columns: 1fr;
	}

	.mpc-container,
	.mpc-single-wrap,
	.mpc-hero-inner {
		width: min(100vw - 24px, 1280px);
	}

	.mpc-single-gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.mpc-columns-2 {
		columns: 1;
	}

	.mpc-sidebar,
	.mpc-single-main-image,
	.mpc-card,
	.mpc-info-box {
		border-radius: 16px;
	}

	.mpc-card-image {
		aspect-ratio: 1 / .88;
		padding: 20px;
	}

	.mpc-card-body {
		padding: 20px 20px 24px;
	}

	.mpc-card-body h2 {
		font-size: 1.35rem;
	}

	.mpc-card-actions,
	.mpc-single-actions {
		flex-direction: column;
	}

	.mpc-button {
		width: 100%;
	}

	.mpc-single-content h1,
	.mpc-hero h1 {
		font-size: 2rem;
	}

	.mpc-single-main-stage {
		min-height: 320px;
	}

	.mpc-spec-list li {
		grid-template-columns: 1fr;
		gap: 6px;
	}

	.mpc-spec-list strong {
		text-align: left;
		white-space: normal;
	}
}
