/*
 * Maxi Expo modern WooCommerce catalogue
 * Scope: only managed shop and product taxonomy archives.
 */

body.mxsb-template-shop {
	--mxshop-ink: #10233d;
	--mxshop-text: #334155;
	--mxshop-muted: #64748b;
	--mxshop-line: #dbe6f1;
	--mxshop-soft: #f3f8fd;
	--mxshop-primary: var(--mxsb-primary, #0073e6);
	--mxshop-primary-dark: #005bb8;
	--mxshop-radius: 18px;
	--mxshop-shadow: 0 16px 42px rgba(15, 35, 65, .09);
	background: #fff;
	color: var(--mxshop-text);
}

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

/* One header and one footer source. */
body.mxsb-template-shop.mxsb-custom-header :where(#header, .ct-header, [data-id="type-1"] > header):not(.mxsb-site-header),
body.mxsb-template-shop.mxsb-custom-footer :where(#footer, .ct-footer):not(.mxsb-site-footer) {
	display: none !important;
}

/* Hero */
.mxsb-shop-hero {
	position: relative;
	isolation: isolate;
	overflow: visible;
	padding: clamp(54px, 7vw, 92px) 0 clamp(46px, 6vw, 78px);
	background:
		radial-gradient(circle at 78% 16%, rgba(41, 151, 255, .24), transparent 30%),
		radial-gradient(circle at 15% 90%, rgba(0, 115, 230, .18), transparent 36%),
		linear-gradient(124deg, #071a36 0%, #0d315e 58%, #075fba 100%);
	color: #fff;
}

/* Independent width modes for the shop/category hero content.
 * The section background remains full viewport width; only the inner grid changes. */
body.mxsb-template-shop .mxsb-shop-hero--width-standard > .mxsb-shop-hero__grid {
	width: min(calc(100% - (var(--mxsb-shop-hero-gutter-desktop, 64px) * 2)), var(--mxsb-max, 1260px)) !important;
	max-width: var(--mxsb-max, 1260px) !important;
	margin-inline: auto !important;
	padding-inline: 0 !important;
}

body.mxsb-template-shop .mxsb-shop-hero--width-wide > .mxsb-shop-hero__grid {
	width: min(calc(100% - (var(--mxsb-shop-hero-gutter-desktop, 64px) * 2)), var(--mxsb-shop-hero-wide-max, 1600px)) !important;
	max-width: none !important;
	margin-inline: auto !important;
	padding-inline: 0 !important;
}

body.mxsb-template-shop .mxsb-shop-hero--width-full > .mxsb-shop-hero__grid {
	width: 100% !important;
	max-width: none !important;
	margin-inline: auto !important;
	padding-inline: var(--mxsb-shop-hero-gutter-desktop, 64px) !important;
}

@media (max-width: 1024px) {
	body.mxsb-template-shop .mxsb-shop-hero--width-standard > .mxsb-shop-hero__grid,
	body.mxsb-template-shop .mxsb-shop-hero--width-wide > .mxsb-shop-hero__grid {
		width: calc(100% - (var(--mxsb-shop-hero-gutter-tablet, 32px) * 2)) !important;
	}

	body.mxsb-template-shop .mxsb-shop-hero--width-full > .mxsb-shop-hero__grid {
		padding-inline: var(--mxsb-shop-hero-gutter-tablet, 32px) !important;
	}
}

@media (max-width: 767px) {
	body.mxsb-template-shop .mxsb-shop-hero--width-standard > .mxsb-shop-hero__grid,
	body.mxsb-template-shop .mxsb-shop-hero--width-wide > .mxsb-shop-hero__grid {
		width: calc(100% - (var(--mxsb-shop-hero-gutter-mobile, 18px) * 2)) !important;
	}

	body.mxsb-template-shop .mxsb-shop-hero--width-full > .mxsb-shop-hero__grid {
		padding-inline: var(--mxsb-shop-hero-gutter-mobile, 18px) !important;
	}
}

.mxsb-shop-hero::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0;
	opacity: .16;
	background-image:
		linear-gradient(rgba(255,255,255,.16) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.16) 1px, transparent 1px);
	background-size: 42px 42px;
	mask-image: linear-gradient(to right, #000, transparent 78%);
}

.mxsb-shop-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(300px, .65fr);
	align-items: center;
	gap: clamp(34px, 6vw, 76px);
}

.mxsb-shop-hero__content {
	min-width: 0;
}

.mxsb-shop-hero__eyebrow,
.mxsb-shop-section-heading p,
.mxsb-shop-products__heading p,
.mxsb-archive-b2b__eyebrow {
	margin: 0 0 12px;
	font-size: 12px;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: .16em;
	text-transform: uppercase;
}

.mxsb-shop-hero__eyebrow {
	color: #77c1ff;
}

.mxsb-shop-hero h1 {
	max-width: 850px;
	margin: 0;
	color: #fff;
	font-size: var(--mxsb-shop-hero-title-desktop, 72px);
	font-weight: 850;
	line-height: var(--mxsb-shop-hero-title-line-height, 1.02);
	letter-spacing: -.045em;
}

.mxsb-shop-hero__lead {
	max-width: 760px;
	margin: 22px 0 0;
	color: rgba(255,255,255,.82);
	font-size: var(--mxsb-shop-hero-text-desktop, 20px);
	line-height: 1.65;
}

.mxsb-shop-search {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	max-width: 760px;
	margin-top: 30px;
	padding: 6px;
	border: 1px solid rgba(255,255,255,.3);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 20px 50px rgba(0, 0, 0, .2);
}

.mxsb-shop-search label {
	display: block;
	min-width: 0;
}

.mxsb-shop-search input[type="search"] {
	width: 100%;
	min-height: 54px;
	margin: 0;
	border: 0 !important;
	border-radius: 11px;
	outline: 0;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--mxshop-ink);
	padding: 0 18px;
	font-size: 16px;
}

.mxsb-shop-search input[type="search"]::placeholder {
	color: #718096;
}

.mxsb-shop-search input[type="search"]:focus {
	box-shadow: inset 0 0 0 2px rgba(0, 115, 230, .25) !important;
}

.mxsb-shop-search > button {
	min-width: 118px;
	min-height: 54px;
	border: 0;
	border-radius: 11px;
	background: linear-gradient(135deg, var(--mxshop-primary), #1695ff);
	color: #fff;
	padding: 0 22px;
	font-weight: 800;
	cursor: pointer;
	transition: transform .2s ease, box-shadow .2s ease;
}

.mxsb-shop-search > button:hover {
	transform: translateY(-1px);
	box-shadow: 0 10px 24px rgba(0, 115, 230, .32);
}

.mxsb-shop-search .mxsb-search-suggestions {
	top: calc(100% + 10px);
	left: 0;
	right: 0;
	z-index: 100;
	max-height: min(62vh, 520px);
	border: 1px solid var(--mxshop-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 24px 60px rgba(7, 26, 54, .24);
}

.mxsb-shop-hero__benefits {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 18px;
	margin-top: 20px;
	color: rgba(255,255,255,.84);
	font-size: 13px;
	font-weight: 650;
}

.mxsb-shop-hero__breadcrumbs {
	min-height: 1px;
	margin-top: 18px;
}

.mxsb-shop-hero__breadcrumbs .woocommerce-breadcrumb,
.mxsb-shop-hero__breadcrumbs nav {
	margin: 0 !important;
	color: rgba(255,255,255,.62) !important;
	font-size: 12px !important;
}

.mxsb-shop-hero__breadcrumbs :where(a, span) {
	color: rgba(255,255,255,.74) !important;
}

.mxsb-shop-help-card {
	position: relative;
	padding: clamp(28px, 3.5vw, 42px);
	border: 1px solid rgba(255,255,255,.22);
	border-radius: 24px;
	background: linear-gradient(145deg, rgba(255,255,255,.16), rgba(255,255,255,.07));
	box-shadow: 0 22px 55px rgba(0,0,0,.16);
	backdrop-filter: blur(10px);
}

.mxsb-shop-help-card__number {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	margin-bottom: 24px;
	border-radius: 14px;
	background: #fff;
	color: var(--mxshop-primary);
	font-size: 14px;
	font-weight: 850;
}

.mxsb-shop-help-card h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(24px, 2.2vw, 34px);
	line-height: 1.15;
	letter-spacing: -.03em;
}

.mxsb-shop-help-card p {
	margin: 16px 0 24px;
	color: rgba(255,255,255,.76);
	line-height: 1.65;
}

.mxsb-shop-help-card a {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	font-weight: 800;
	text-decoration: none;
}

.mxsb-shop-help-card a span {
	transition: transform .2s ease;
}

.mxsb-shop-help-card a:hover span {
	transform: translateX(4px);
}

/* Categories */
.mxsb-shop-categories {
	padding: clamp(46px, 6vw, 76px) 0;
	border-bottom: 1px solid #e8eef5;
	background: #fff;
}

.mxsb-shop-section-heading,
.mxsb-shop-products__heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 24px;
	margin-bottom: 28px;
}

.mxsb-shop-section-heading p,
.mxsb-shop-products__heading p {
	color: var(--mxshop-primary);
}

.mxsb-shop-section-heading h2,
.mxsb-shop-products__heading h2 {
	margin: 0;
	color: var(--mxshop-ink);
	font-size: clamp(30px, 3.4vw, 46px);
	font-weight: 850;
	line-height: 1.1;
	letter-spacing: -.04em;
}

.mxsb-shop-section-heading > span,
.mxsb-shop-products__heading > span {
	color: var(--mxshop-muted);
	font-size: 14px;
}

.mxsb-shop-category-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 18px;
}

.mxsb-shop-category-grid.is-collapsible:not(.is-expanded) [data-mxsb-category-extra] {
	display: none;
}

.mxsb-shop-category-card {
	position: relative;
	display: grid;
	grid-template-rows: minmax(155px, 1fr) auto;
	min-width: 0;
	overflow: hidden;
	border: 1px solid var(--mxshop-line);
	border-radius: var(--mxshop-radius);
	background: #fff;
	color: inherit;
	text-decoration: none;
	box-shadow: 0 8px 24px rgba(15,35,65,.055);
	transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.mxsb-shop-category-card:hover {
	transform: translateY(-4px);
	border-color: rgba(0,115,230,.42);
	box-shadow: var(--mxshop-shadow);
}

.mxsb-shop-category-card__media {
	display: grid;
	place-items: center;
	min-height: 155px;
	overflow: hidden;
	background: linear-gradient(145deg, #f8fbff, #eef5fb);
}

.mxsb-shop-category-card__media img {
	width: 100%;
	height: 100%;
	min-height: 155px;
	max-height: 190px;
	object-fit: contain;
	padding: 12px;
	transition: transform .3s ease;
}

.mxsb-shop-category-card:hover .mxsb-shop-category-card__media img {
	transform: scale(1.035);
}

.mxsb-shop-category-card__placeholder {
	display: grid;
	place-items: center;
	width: 70px;
	height: 70px;
	border-radius: 20px;
	background: #fff;
	color: var(--mxshop-primary);
	font-size: 20px;
	font-weight: 900;
	box-shadow: 0 10px 30px rgba(0,115,230,.12);
}

.mxsb-shop-category-card__body {
	position: relative;
	display: grid;
	gap: 5px;
	min-height: 98px;
	padding: 18px 54px 18px 18px;
}

.mxsb-shop-category-card__body strong {
	align-self: end;
	color: var(--mxshop-ink);
	font-size: 16px;
	font-weight: 800;
	line-height: 1.3;
}

.mxsb-shop-category-card__body small {
	color: var(--mxshop-muted);
	font-size: 12px;
}

.mxsb-shop-category-card__body i {
	position: absolute;
	right: 16px;
	bottom: 18px;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border-radius: 10px;
	background: var(--mxshop-soft);
	color: var(--mxshop-primary);
	font-style: normal;
	font-weight: 800;
}

.mxsb-shop-category-toggle {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	min-height: 48px;
	margin: 24px auto 0;
	border: 1px solid var(--mxshop-line);
	border-radius: 12px;
	background: #fff;
	color: var(--mxshop-ink);
	padding: 0 20px;
	font-weight: 750;
	cursor: pointer;
}

.mxsb-shop-category-toggle:hover {
	border-color: var(--mxshop-primary);
	color: var(--mxshop-primary);
}

/* Native archive shell */
body.mxsb-template-shop .mec-main--woocommerce {
	padding: clamp(42px, 6vw, 76px) 0 clamp(70px, 8vw, 108px);
	background: #f8fbfe;
}

body.mxsb-template-shop .mec-main--woocommerce > .mec-container,
body.mxsb-template-shop .mec-shop-content {
	min-width: 0;
}

body.mxsb-template-shop :where(.woocommerce-products-header, .woocommerce-products-header__title, .term-description),
body.mxsb-template-shop ul.products li.product-category,
body.mxsb-template-shop .mec-product-cta {
	display: none !important;
}

body.mxsb-template-shop .woocommerce-breadcrumb:not(.mxsb-shop-breadcrumbs) {
	margin: 0 0 20px;
}

.mxsb-shop-products {
	min-width: 0;
}

.mxsb-shop-products__heading {
	margin-bottom: 20px;
}

.mxsb-shop-toolbar {
	display: flex;
	align-items: center;
	gap: 12px;
	min-height: 66px;
	margin-bottom: 26px;
	padding: 10px 12px;
	border: 1px solid var(--mxshop-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(15,35,65,.05);
}

body.mxsb-template-shop .mxsb-shop-toolbar :where(.woocommerce-result-count, .woocommerce-ordering, .mec-filter-toggle) {
	float: none;
	margin: 0 !important;
}

body.mxsb-template-shop .mxsb-shop-toolbar .woocommerce-result-count {
	margin-right: auto !important;
	padding-left: 8px;
	color: var(--mxshop-muted);
	font-size: 13px;
}

body.mxsb-template-shop .mxsb-shop-toolbar .woocommerce-ordering select {
	min-width: 220px;
	min-height: 44px;
	margin: 0;
	border: 1px solid var(--mxshop-line);
	border-radius: 11px;
	background: #fff;
	color: var(--mxshop-ink);
	padding: 0 38px 0 13px;
	font-size: 13px;
}

body.mxsb-template-shop .mxsb-shop-toolbar .mec-filter-toggle {
	min-height: 44px;
	border: 1px solid var(--mxshop-line);
	border-radius: 11px;
	background: var(--mxshop-soft);
	color: var(--mxshop-ink);
	padding: 0 15px;
}

/* Product cards */
body.mxsb-template-shop .woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(var(--mxsb-shop-columns, 4), minmax(0, 1fr)) !important;
	gap: 20px !important;
	margin: 0 0 42px !important;
	padding: 0 !important;
}

body.mxsb-template-shop .woocommerce ul.products::before,
body.mxsb-template-shop .woocommerce ul.products::after {
	display: none !important;
}

body.mxsb-template-shop .woocommerce ul.products li.product {
	position: relative;
	display: flex !important;
	flex-direction: column;
	min-width: 0;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	border: 1px solid var(--mxshop-line) !important;
	border-radius: var(--mxshop-radius) !important;
	background: #fff !important;
	box-shadow: 0 8px 24px rgba(15,35,65,.055) !important;
	transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

body.mxsb-template-shop .woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	border-color: rgba(0,115,230,.38) !important;
	box-shadow: var(--mxshop-shadow) !important;
}

body.mxsb-template-shop .woocommerce ul.products li.product .woocommerce-LoopProduct-link {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-width: 0;
	color: inherit;
	text-decoration: none;
}

body.mxsb-template-shop .woocommerce ul.products li.product a img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: linear-gradient(145deg, #fff, #f3f7fb) !important;
	object-fit: contain;
	padding: clamp(14px, 1.5vw, 22px) !important;
	transition: transform .35s ease;
}

body.mxsb-template-shop .woocommerce ul.products li.product:hover a img {
	transform: scale(1.025);
}

.mxsb-product-card-category {
	display: block;
	margin: 16px 18px 0;
	color: var(--mxshop-primary);
	font-size: 11px;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: .07em;
	text-transform: uppercase;
}

body.mxsb-template-shop .woocommerce ul.products li.product .woocommerce-loop-product__title {
	display: -webkit-box;
	min-height: 2.75em;
	margin: 8px 18px 0 !important;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	color: var(--mxshop-ink) !important;
	padding: 0 !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	line-height: 1.38 !important;
	letter-spacing: -.02em !important;
}

body.mxsb-template-shop .woocommerce ul.products li.product :where(.mec-loop-excerpt, .woocommerce-loop-product__description, .product-excerpt, .ct-product-excerpt) {
	display: -webkit-box;
	margin: 10px 18px 0 !important;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 3;
	color: var(--mxshop-muted);
	font-size: 13px;
	line-height: 1.5;
}

body.mxsb-template-shop.mxsb-shop-hide-product-descriptions .woocommerce ul.products li.product :where(.mec-loop-excerpt, .woocommerce-loop-product__description, .product-excerpt, .ct-product-excerpt) {
	display: none !important;
}

body.mxsb-template-shop .woocommerce ul.products li.product .price {
	display: block;
	min-height: 50px;
	margin: auto 18px 0 !important;
	padding: 18px 0 0 !important;
	color: var(--mxshop-primary) !important;
	font-size: 18px !important;
	font-weight: 850 !important;
	line-height: 1.35 !important;
}

body.mxsb-template-shop .woocommerce ul.products li.product .price :where(del, small) {
	color: var(--mxshop-muted) !important;
	font-size: 12px !important;
	font-weight: 500 !important;
}

body.mxsb-template-shop .woocommerce ul.products li.product .price ins {
	text-decoration: none;
}

.mxsb-card-delivery {
	display: flex;
	align-items: center;
	gap: 7px;
	margin: 11px 18px 0;
	color: #486174;
	font-size: 12px;
	line-height: 1.35;
}

.mxsb-card-delivery span {
	display: grid;
	place-items: center;
	flex: 0 0 19px;
	width: 19px;
	height: 19px;
	border-radius: 50%;
	background: #e8f7ef;
	color: #16834b;
	font-size: 11px;
	font-weight: 900;
}

body.mxsb-template-shop .woocommerce ul.products li.product .button {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	min-height: 46px;
	margin: 16px 18px 18px !important;
	border: 0 !important;
	border-radius: 11px !important;
	background: linear-gradient(135deg, var(--mxshop-primary), #1596ff) !important;
	box-shadow: none !important;
	color: #fff !important;
	padding: 11px 16px !important;
	font-size: 13px !important;
	font-weight: 800 !important;
	line-height: 1.2 !important;
	text-align: center;
}

body.mxsb-template-shop .woocommerce ul.products li.product .button:hover {
	background: linear-gradient(135deg, var(--mxshop-primary-dark), var(--mxshop-primary)) !important;
	box-shadow: 0 10px 24px rgba(0,115,230,.22) !important;
}

body.mxsb-template-shop .woocommerce ul.products li.product .added_to_cart {
	margin: -8px 18px 16px;
	color: var(--mxshop-primary);
	font-size: 12px;
	font-weight: 750;
}

body.mxsb-template-shop .woocommerce ul.products li.product .onsale,
body.mxsb-template-shop .woocommerce ul.products li.product .mxsb-product-badge {
	position: absolute;
	z-index: 3;
	top: 12px;
	left: 12px;
	right: auto;
	display: inline-flex;
	align-items: center;
	min-width: 0;
	min-height: 28px;
	margin: 0;
	border-radius: 999px;
	background: #0d315e;
	color: #fff;
	padding: 6px 10px;
	font-size: 10px;
	font-weight: 850;
	line-height: 1;
	text-transform: uppercase;
}

body.mxsb-template-shop .woocommerce ul.products li.product .onsale + .mxsb-product-badge {
	top: 46px;
}

/* Sidebar filters */
body.mxsb-template-shop .mec-shop-shell.has-sidebar {
	grid-template-columns: minmax(240px, 280px) minmax(0, 1fr);
	gap: 28px;
}

body.mxsb-template-shop .mec-shop-sidebar {
	position: sticky;
	top: 110px;
	align-self: start;
	padding: 22px;
	border: 1px solid var(--mxshop-line);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 8px 24px rgba(15,35,65,.05);
}

body.mxsb-template-shop .mec-shop-sidebar :where(.widget, .wc-block-product-filter) {
	margin-bottom: 24px;
}

body.mxsb-template-shop .mec-shop-sidebar :where(h2, h3, .widget-title) {
	margin: 0 0 14px;
	color: var(--mxshop-ink);
	font-size: 15px;
	font-weight: 800;
}

/* Pagination */
body.mxsb-template-shop .woocommerce nav.woocommerce-pagination {
	margin: 34px 0 8px;
}

body.mxsb-template-shop .woocommerce nav.woocommerce-pagination ul {
	display: flex;
	justify-content: center;
	gap: 8px;
	border: 0;
}

body.mxsb-template-shop .woocommerce nav.woocommerce-pagination ul li {
	border: 0;
}

body.mxsb-template-shop .woocommerce nav.woocommerce-pagination ul li a,
body.mxsb-template-shop .woocommerce nav.woocommerce-pagination ul li span {
	display: grid;
	place-items: center;
	min-width: 42px;
	height: 42px;
	border: 1px solid var(--mxshop-line);
	border-radius: 11px;
	background: #fff;
	color: var(--mxshop-ink);
	font-weight: 750;
}

body.mxsb-template-shop .woocommerce nav.woocommerce-pagination ul li span.current,
body.mxsb-template-shop .woocommerce nav.woocommerce-pagination ul li a:hover {
	border-color: var(--mxshop-primary);
	background: var(--mxshop-primary);
	color: #fff;
}

/* Bottom content */
body.mxsb-template-shop .mxsb-archive-b2b {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	margin: clamp(50px, 7vw, 86px) 0 0;
	padding: clamp(28px, 4vw, 44px);
	border-radius: 22px;
	background: linear-gradient(120deg, #071a36, #0d315e 62%, #087bea);
	box-shadow: 0 20px 48px rgba(7,26,54,.18);
	color: #fff;
}

body.mxsb-template-shop .mxsb-archive-b2b__eyebrow {
	color: #77c1ff;
}

body.mxsb-template-shop .mxsb-archive-b2b h2 {
	margin: 0;
	color: #fff;
	font-size: clamp(26px, 3vw, 40px);
	letter-spacing: -.035em;
}

body.mxsb-template-shop .mxsb-archive-b2b p:not(.mxsb-archive-b2b__eyebrow) {
	max-width: 760px;
	margin: 10px 0 0;
	color: rgba(255,255,255,.76);
}

body.mxsb-template-shop .mxsb-archive-b2b .mxsb-button {
	flex: 0 0 auto;
	gap: 10px;
	min-height: 48px;
	border-radius: 12px;
	background: #fff !important;
	color: #0d315e !important;
	padding: 0 20px;
	font-weight: 850;
}

body.mxsb-template-shop .mxsb-archive-seo {
	max-width: 920px;
	margin: 44px auto 0;
	padding: 30px;
	border: 1px solid var(--mxshop-line);
	border-radius: 18px;
	background: #fff;
	text-align: center;
}

body.mxsb-template-shop .mxsb-archive-seo h2 {
	margin: 0;
	color: var(--mxshop-ink);
	font-size: clamp(24px, 2.6vw, 34px);
}

body.mxsb-template-shop .mxsb-archive-seo p {
	margin: 12px 0 0;
	color: var(--mxshop-muted);
	line-height: 1.7;
}

@media (max-width: 1180px) {
	.mxsb-shop-category-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	body.mxsb-template-shop .woocommerce ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 960px) {
	.mxsb-shop-hero h1 {
		font-size: var(--mxsb-shop-hero-title-tablet, 52px);
	}

	.mxsb-shop-hero__lead {
		font-size: var(--mxsb-shop-hero-text-tablet, 18px);
	}

	.mxsb-shop-hero__grid {
		grid-template-columns: 1fr;
	}

	.mxsb-shop-help-card {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) auto;
		align-items: center;
		gap: 18px;
	}

	.mxsb-shop-help-card__number {
		margin: 0;
	}

	.mxsb-shop-help-card h2 {
		font-size: 24px;
	}

	.mxsb-shop-help-card p {
		grid-column: 2 / -1;
		margin: -8px 0 0;
	}

	.mxsb-shop-help-card a {
		grid-column: 3;
		grid-row: 1;
	}

	body.mxsb-template-shop .mec-shop-shell.has-sidebar {
		grid-template-columns: 1fr;
	}

	body.mxsb-template-shop .mec-shop-sidebar {
		position: fixed;
		top: 0;
	}
}

@media (max-width: 780px) {
	.mxsb-shop-category-grid,
	body.mxsb-template-shop .woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.mxsb-shop-section-heading,
	.mxsb-shop-products__heading {
		align-items: start;
		flex-direction: column;
		gap: 8px;
	}

	.mxsb-shop-toolbar {
		align-items: stretch;
		flex-wrap: wrap;
	}

	body.mxsb-template-shop .mxsb-shop-toolbar .woocommerce-result-count {
		width: 100%;
		margin-right: 0 !important;
		padding: 3px 4px 8px;
	}

	body.mxsb-template-shop .mxsb-shop-toolbar .woocommerce-ordering {
		flex: 1 1 220px;
	}

	body.mxsb-template-shop .mxsb-shop-toolbar .woocommerce-ordering select {
		width: 100%;
		min-width: 0;
	}

	body.mxsb-template-shop .mxsb-archive-b2b {
		align-items: flex-start;
		flex-direction: column;
	}
}

@media (max-width: 560px) {
	.mxsb-shop-hero {
		padding: 42px 0 46px;
	}

	.mxsb-shop-hero h1 {
		font-size: var(--mxsb-shop-hero-title-mobile, 40px);
	}

	.mxsb-shop-hero__lead {
		font-size: var(--mxsb-shop-hero-text-mobile, 16px);
	}

	.mxsb-shop-search {
		grid-template-columns: 1fr;
		gap: 6px;
		padding: 6px;
	}

	.mxsb-shop-search > button {
		width: 100%;
	}

	.mxsb-shop-hero__benefits {
		display: grid;
		gap: 8px;
	}

	.mxsb-shop-help-card {
		display: block;
	}

	.mxsb-shop-help-card__number {
		margin-bottom: 18px;
	}

	.mxsb-shop-help-card p {
		margin: 14px 0 20px;
	}

	.mxsb-shop-category-grid,
	body.mxsb-template-shop .woocommerce ul.products {
		grid-template-columns: 1fr !important;
	}

	.mxsb-shop-category-card {
		grid-template-columns: 112px minmax(0, 1fr);
		grid-template-rows: 1fr;
		min-height: 112px;
	}

	.mxsb-shop-category-card__media,
	.mxsb-shop-category-card__media img {
		min-height: 112px;
		height: 100%;
	}

	.mxsb-shop-category-card__body {
		min-height: 112px;
	}

	body.mxsb-template-shop .woocommerce ul.products li.product {
		display: grid !important;
		grid-template-columns: 42% minmax(0, 1fr);
		grid-template-rows: auto;
	}

	body.mxsb-template-shop .woocommerce ul.products li.product .woocommerce-LoopProduct-link {
		display: grid;
		grid-column: 1 / -1;
		grid-template-columns: 42% minmax(0, 1fr);
		grid-template-rows: auto auto auto;
	}

	body.mxsb-template-shop .woocommerce ul.products li.product a img {
		grid-column: 1;
		grid-row: 1 / 5;
		height: 100% !important;
		min-height: 210px;
		padding: 10px !important;
	}

	.mxsb-product-card-category {
		grid-column: 2;
		margin: 16px 14px 0;
	}

	body.mxsb-template-shop .woocommerce ul.products li.product .woocommerce-loop-product__title {
		grid-column: 2;
		min-height: 0;
		margin: 7px 14px 0 !important;
		font-size: 14px !important;
	}

	body.mxsb-template-shop .woocommerce ul.products li.product .price {
		grid-column: 2;
		min-height: 0;
		margin: 8px 14px 0 !important;
		padding: 0 !important;
		font-size: 16px !important;
	}

	body.mxsb-template-shop .woocommerce ul.products li.product :where(.mec-loop-excerpt, .woocommerce-loop-product__description, .product-excerpt, .ct-product-excerpt) {
		display: none !important;
	}

	.mxsb-card-delivery {
		grid-column: 2;
		margin: 8px 14px 0;
		font-size: 11px;
	}

	body.mxsb-template-shop .woocommerce ul.products li.product .button {
		grid-column: 2;
		min-height: 40px;
		margin: 12px 14px 14px !important;
		font-size: 12px !important;
	}

	body.mxsb-template-shop .woocommerce ul.products li.product .onsale,
	body.mxsb-template-shop .woocommerce ul.products li.product .mxsb-product-badge {
		top: 9px;
		left: 9px;
	}

	body.mxsb-template-shop .mxsb-archive-b2b,
	body.mxsb-template-shop .mxsb-archive-seo {
		border-radius: 16px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mxsb-shop-category-card,
	body.mxsb-template-shop .woocommerce ul.products li.product,
	.mxsb-shop-search > button {
		transition: none;
	}
}

/* ================================================================
   Native filter drawer — 5.2.1
   ================================================================ */
body.mxsb-native-shop-filters .mec-shop-shell.has-sidebar {
	display: block;
}

body.mxsb-native-shop-filters .mec-shop-sidebar,
body.mxsb-native-shop-filters .mec-filter-overlay,
body.mxsb-native-shop-filters .mec-filter-toggle {
	display: none !important;
}

body.mxsb-template-shop .mxsb-shop-toolbar :where(.woocommerce-result-count, .woocommerce-ordering, .mxsb-filter-open) {
	float: none;
	margin: 0 !important;
}

.mxsb-filter-open {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	border: 1px solid #cddbea;
	border-radius: 11px;
	background: #edf6ff;
	color: #10233f;
	padding: 0 14px;
	font: inherit;
	font-size: 13px;
	font-weight: 800;
	line-height: 1;
	cursor: pointer;
	transition: border-color .18s ease, background .18s ease, color .18s ease, box-shadow .18s ease;
}

.mxsb-filter-open:hover,
.mxsb-filter-open:focus-visible {
	border-color: #0073e6;
	background: #0073e6;
	box-shadow: 0 8px 20px rgba(0,115,230,.18);
	color: #fff;
	outline: 0;
}

.mxsb-filter-open__icon,
.mxsb-filter-open__icon svg {
	display: block;
	width: 19px;
	height: 19px;
}

.mxsb-filter-open__icon svg {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.8;
	stroke-linecap: round;
	stroke-linejoin: round;
}

.mxsb-filter-open__count {
	display: grid;
	place-items: center;
	min-width: 22px;
	height: 22px;
	border-radius: 999px;
	background: #0073e6;
	color: #fff;
	padding: 0 6px;
	font-size: 11px;
	font-weight: 900;
}

.mxsb-filter-open:hover .mxsb-filter-open__count,
.mxsb-filter-open:focus-visible .mxsb-filter-open__count {
	background: #fff;
	color: #0073e6;
}

.mxsb-filter-dialog[hidden] {
	display: none !important;
}

.mxsb-filter-dialog {
	position: fixed;
	z-index: 999999;
	inset: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr) min(460px, 94vw);
	visibility: hidden;
	pointer-events: none;
}

.mxsb-filter-dialog.is-open {
	visibility: visible;
	pointer-events: auto;
}

body.mxsb-filter-dialog-open {
	overflow: hidden !important;
}

.mxsb-filter-dialog__overlay {
	grid-column: 1 / -1;
	grid-row: 1;
	width: 100%;
	height: 100%;
	border: 0;
	background: rgba(4,18,38,.58);
	backdrop-filter: blur(3px);
	opacity: 0;
	cursor: default;
	transition: opacity .24s ease;
}

.mxsb-filter-dialog.is-open .mxsb-filter-dialog__overlay {
	opacity: 1;
}

.mxsb-filter-panel {
	position: relative;
	z-index: 2;
	grid-column: 2;
	grid-row: 1;
	display: flex;
	flex-direction: column;
	min-width: 0;
	height: 100dvh;
	overflow: hidden;
	background: #fff;
	box-shadow: -24px 0 70px rgba(6,25,52,.24);
	transform: translateX(104%);
	transition: transform .26s cubic-bezier(.2,.75,.25,1);
	outline: 0;
}

.mxsb-filter-dialog.is-open .mxsb-filter-panel {
	transform: translateX(0);
}

.mxsb-filter-panel__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	min-height: 96px;
	border-bottom: 1px solid #dde7f1;
	padding: 20px 24px;
}

.mxsb-filter-panel__header p {
	margin: 0 0 5px;
	color: #0073e6;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .12em;
}

.mxsb-filter-panel__header h2 {
	margin: 0;
	color: #10233f;
	font-size: clamp(22px, 2.4vw, 28px);
	font-weight: 850;
	letter-spacing: -.025em;
}

.mxsb-filter-panel__close {
	display: grid;
	place-items: center;
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	border: 1px solid #d5e1ed;
	border-radius: 12px;
	background: #f6f9fc;
	color: #10233f;
	cursor: pointer;
	transition: .18s ease;
}

.mxsb-filter-panel__close:hover,
.mxsb-filter-panel__close:focus-visible {
	border-color: #0073e6;
	background: #0073e6;
	color: #fff;
	outline: 0;
}

.mxsb-filter-panel__close svg {
	width: 20px;
	height: 20px;
	fill: none;
	stroke: currentColor;
	stroke-width: 2;
	stroke-linecap: round;
}

.mxsb-filter-form {
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 0;
	overflow-y: auto;
	overflow-x: hidden;
	overscroll-behavior: contain;
	padding: 0 24px 104px;
}

.mxsb-filter-group {
	margin: 0;
	border: 0;
	border-bottom: 1px solid #e3ebf3;
	padding: 22px 0;
}

.mxsb-filter-group > h3,
.mxsb-filter-group > summary {
	margin: 0;
	color: #10233f;
	font-size: 14px;
	font-weight: 850;
}

.mxsb-filter-group > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	list-style: none;
	cursor: pointer;
}

.mxsb-filter-group > summary::-webkit-details-marker {
	display: none;
}

.mxsb-filter-group > summary i {
	position: relative;
	width: 18px;
	height: 18px;
}

.mxsb-filter-group > summary i::before,
.mxsb-filter-group > summary i::after {
	content: '';
	position: absolute;
	top: 8px;
	left: 3px;
	width: 12px;
	height: 2px;
	border-radius: 2px;
	background: #61738b;
}

.mxsb-filter-group > summary i::after {
	transform: rotate(90deg);
	transition: transform .18s ease;
}

.mxsb-filter-group[open] > summary i::after {
	transform: rotate(0);
}

.mxsb-filter-options {
	display: grid;
	gap: 8px;
	max-height: 285px;
	overflow: auto;
	margin-top: 16px;
	padding-right: 4px;
}

.mxsb-filter-option {
	display: grid;
	grid-template-columns: 20px minmax(0, 1fr) auto;
	align-items: center;
	gap: 10px;
	min-height: 38px;
	margin: 0;
	border-radius: 9px;
	color: #34465e;
	padding: 5px 7px;
	font-size: 13px;
	font-weight: 650;
	cursor: pointer;
	transition: background .16s ease, color .16s ease;
}

.mxsb-filter-option:hover {
	background: #f0f7ff;
	color: #10233f;
}

.mxsb-filter-option input {
	width: 18px !important;
	height: 18px !important;
	min-width: 18px;
	margin: 0 !important;
	accent-color: #0073e6;
}

.mxsb-filter-option small {
	color: #8290a2;
	font-size: 11px;
	font-weight: 750;
}

.mxsb-filter-option--accent {
	margin-top: 10px;
	background: #f0f7ff;
	color: #075dab;
}

.mxsb-filter-price {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: end;
	gap: 10px;
	margin-top: 14px;
}

.mxsb-filter-price label {
	display: grid;
	gap: 6px;
	margin: 0;
}

.mxsb-filter-price label span {
	color: #738398;
	font-size: 11px;
	font-weight: 750;
}

.mxsb-filter-price input {
	width: 100%;
	min-width: 0;
	height: 44px;
	margin: 0;
	border: 1px solid #cddbea;
	border-radius: 10px;
	background: #fff;
	color: #10233f;
	padding: 0 11px;
	font-size: 13px;
}

.mxsb-filter-price input:focus {
	border-color: #0073e6;
	box-shadow: 0 0 0 3px rgba(0,115,230,.12);
	outline: 0;
}

.mxsb-filter-price > span {
	padding-bottom: 13px;
	color: #8190a1;
}

.mxsb-filter-panel__footer {
	position: absolute;
	z-index: 3;
	right: 0;
	bottom: 0;
	left: 0;
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	align-items: center;
	gap: 14px;
	min-height: 88px;
	border-top: 1px solid #dbe6f0;
	background: rgba(255,255,255,.96);
	box-shadow: 0 -12px 28px rgba(15,35,65,.08);
	padding: 16px 24px;
	backdrop-filter: blur(10px);
}

.mxsb-filter-panel__footer a {
	color: #53657b;
	font-size: 13px;
	font-weight: 750;
	text-decoration: none;
}

.mxsb-filter-panel__footer a:hover {
	color: #0073e6;
}

.mxsb-filter-panel__footer button {
	min-height: 50px;
	border: 0;
	border-radius: 11px;
	background: linear-gradient(135deg, #0073e6, #1596ff);
	box-shadow: 0 10px 24px rgba(0,115,230,.22);
	color: #fff;
	padding: 0 18px;
	font: inherit;
	font-size: 14px;
	font-weight: 850;
	cursor: pointer;
}

.mxsb-filter-panel__footer button:disabled {
	opacity: .7;
	cursor: wait;
}

.mxsb-active-filters {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: -12px 0 24px;
	padding: 12px 14px;
	border: 1px solid #d8e6f4;
	border-radius: 13px;
	background: #f5faff;
	color: #42546c;
	font-size: 12px;
}

.mxsb-active-filters > strong {
	flex: 0 0 auto;
	color: #10233f;
	font-weight: 850;
}

.mxsb-active-filters__chips {
	display: flex;
	flex: 1;
	flex-wrap: wrap;
	gap: 6px;
	min-width: 0;
}

.mxsb-active-filters__chips span {
	display: inline-flex;
	align-items: center;
	min-height: 27px;
	border: 1px solid #c7def4;
	border-radius: 999px;
	background: #fff;
	color: #17578e;
	padding: 4px 9px;
	font-weight: 750;
}

.mxsb-active-filters > a {
	flex: 0 0 auto;
	color: #0073e6;
	font-weight: 850;
	text-decoration: none;
}

@media (max-width: 767px) {
	.mxsb-filter-dialog {
		grid-template-columns: 1fr;
	}

	.mxsb-filter-panel {
		grid-column: 1;
		width: 100%;
		transform: translateY(102%);
		border-radius: 18px 18px 0 0;
	}

	.mxsb-filter-dialog.is-open .mxsb-filter-panel {
		transform: translateY(0);
	}

	.mxsb-filter-panel__header {
		min-height: 84px;
		padding: 16px 18px;
	}

	.mxsb-filter-form {
		padding-right: 18px;
		padding-left: 18px;
	}

	.mxsb-filter-panel__footer {
		padding-right: 18px;
		padding-left: 18px;
	}

	.mxsb-active-filters {
		align-items: flex-start;
		flex-wrap: wrap;
	}

	.mxsb-active-filters__chips {
		order: 3;
		flex-basis: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.mxsb-filter-dialog__overlay,
	.mxsb-filter-panel {
		transition: none;
	}
}

.mxsb-filter-empty-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin: 0 0 22px;
	border: 1px solid #d8e6f4;
	border-radius: 14px;
	background: #f5faff;
	padding: 16px 18px;
}

.mxsb-filter-empty-actions p {
	margin: 0;
	color: #42546c;
	font-size: 13px;
}

.mxsb-filter-empty-actions > div {
	display: flex;
	align-items: center;
	gap: 12px;
}

.mxsb-filter-empty-actions > div > a {
	color: #0073e6;
	font-size: 13px;
	font-weight: 850;
	text-decoration: none;
}

@media (max-width: 767px) {
	.mxsb-filter-empty-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.mxsb-filter-empty-actions > div {
		align-items: stretch;
		flex-direction: column;
	}
}

/* 5.3.1: product search inside the native filter drawer. */
.mxsb-filter-group--search {
	padding-top: 20px;
}

.mxsb-filter-search {
	position: relative;
	display: flex;
	align-items: center;
	margin-top: 13px;
}

.mxsb-filter-search svg {
	position: absolute;
	left: 14px;
	z-index: 1;
	width: 19px;
	height: 19px;
	fill: none;
	stroke: #5f7187;
	stroke-width: 1.8;
	stroke-linecap: round;
	pointer-events: none;
}

.mxsb-filter-search input[type="search"] {
	width: 100%;
	min-width: 0;
	height: 48px;
	border: 1px solid #cfdbe7;
	border-radius: 12px;
	background: #f8fbfe;
	color: #10233f;
	padding: 0 42px 0 43px;
	font: inherit;
	font-size: 14px;
	font-weight: 650;
	box-shadow: none;
	appearance: none;
}

.mxsb-filter-search input[type="search"]:focus {
	border-color: #0073e6;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(0,115,230,.13);
	outline: 0;
}

.mxsb-filter-search input[type="search"]::placeholder {
	color: #8291a4;
	font-weight: 500;
}

.mxsb-filter-search input[type="search"]::-webkit-search-cancel-button {
	cursor: pointer;
}

.mxsb-filter-group__help {
	margin: 9px 0 0;
	color: #68798c;
	font-size: 12px;
	line-height: 1.5;
}

/* --------------------------------------------------------------------------
 * 5.3.19 — reliable shop/category themes
 *
 * This file is loaded after frontend.css. Theme rules therefore live here and
 * use the current catalogue markup so the selected admin option is not
 * overwritten by the base modern-shop stylesheet.
 * -------------------------------------------------------------------------- */

/* PREMIUM — explicit baseline so changing back from another variant is safe. */
body.mxsb-template-shop.mxsb-template-variant-premium {
	--mxshop-radius: 18px;
	--mxshop-shadow: 0 16px 42px rgba(15, 35, 65, .09);
	background: #fff;
}

body.mxsb-template-shop.mxsb-template-variant-premium .mxsb-shop-hero {
	background:
		radial-gradient(circle at 78% 16%, rgba(41, 151, 255, .24), transparent 30%),
		radial-gradient(circle at 15% 90%, rgba(0, 115, 230, .18), transparent 36%),
		linear-gradient(124deg, #071a36 0%, #0d315e 58%, #075fba 100%);
}

/* COMPACT — lower first screen and tighter catalogue spacing. */
body.mxsb-template-shop.mxsb-template-variant-compact {
	--mxshop-radius: 12px;
	--mxshop-shadow: 0 10px 28px rgba(15, 35, 65, .08);
}

body.mxsb-template-shop.mxsb-template-variant-compact .mxsb-shop-hero {
	padding-top: clamp(34px, 4vw, 54px);
	padding-bottom: clamp(30px, 4vw, 48px);
}

body.mxsb-template-shop.mxsb-template-variant-compact .mxsb-shop-hero__grid {
	grid-template-columns: minmax(0, 1.7fr) minmax(260px, .55fr);
	gap: clamp(22px, 4vw, 44px);
}

body.mxsb-template-shop.mxsb-template-variant-compact .mxsb-shop-hero__lead {
	margin-top: 14px;
	line-height: 1.5;
}

body.mxsb-template-shop.mxsb-template-variant-compact .mxsb-shop-search {
	margin-top: 20px;
	border-radius: 12px;
}

body.mxsb-template-shop.mxsb-template-variant-compact .mxsb-shop-help-card {
	padding: 24px;
	border-radius: 16px;
}

body.mxsb-template-shop.mxsb-template-variant-compact .mxsb-shop-categories,
body.mxsb-template-shop.mxsb-template-variant-compact .mec-main--woocommerce {
	padding-top: clamp(30px, 4vw, 48px);
	padding-bottom: clamp(38px, 5vw, 62px);
}

body.mxsb-template-shop.mxsb-template-variant-compact .mxsb-shop-category-grid,
body.mxsb-template-shop.mxsb-template-variant-compact .woocommerce ul.products {
	gap: 12px !important;
}

body.mxsb-template-shop.mxsb-template-variant-compact .mxsb-shop-category-card {
	grid-template-rows: minmax(118px, 1fr) auto;
	border-radius: 12px;
}

body.mxsb-template-shop.mxsb-template-variant-compact .mxsb-shop-category-card__media,
body.mxsb-template-shop.mxsb-template-variant-compact .mxsb-shop-category-card__media img {
	min-height: 118px;
	max-height: 150px;
}

body.mxsb-template-shop.mxsb-template-variant-compact .mxsb-shop-category-card__body {
	min-height: 78px;
	padding: 13px 44px 13px 14px;
}

body.mxsb-template-shop.mxsb-template-variant-compact .mxsb-shop-toolbar {
	min-height: 56px;
	margin-bottom: 18px;
	border-radius: 12px;
}

body.mxsb-template-shop.mxsb-template-variant-compact .woocommerce ul.products li.product .woocommerce-loop-product__title {
	margin-top: 6px !important;
	font-size: 15px !important;
}

body.mxsb-template-shop.mxsb-template-variant-compact .woocommerce ul.products li.product .button {
	min-height: 42px;
	margin-top: 12px !important;
	margin-bottom: 14px !important;
}

/* CATALOG — technical, structured presentation. */
body.mxsb-template-shop.mxsb-template-variant-catalog {
	--mxshop-radius: 8px;
	--mxshop-shadow: 0 8px 22px rgba(15, 35, 65, .08);
	background: #f4f7fa;
}

body.mxsb-template-shop.mxsb-template-variant-catalog .mxsb-shop-hero {
	padding-top: clamp(42px, 5vw, 68px);
	padding-bottom: clamp(36px, 5vw, 58px);
	background:
		linear-gradient(rgba(255,255,255,.045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,.045) 1px, transparent 1px),
		linear-gradient(115deg, #091a31 0%, #12385f 58%, #0b66b7 100%);
	background-size: 28px 28px, 28px 28px, auto;
}

body.mxsb-template-shop.mxsb-template-variant-catalog .mxsb-shop-help-card,
body.mxsb-template-shop.mxsb-template-variant-catalog .mxsb-shop-search,
body.mxsb-template-shop.mxsb-template-variant-catalog .mxsb-shop-toolbar,
body.mxsb-template-shop.mxsb-template-variant-catalog .mxsb-shop-category-card,
body.mxsb-template-shop.mxsb-template-variant-catalog .woocommerce ul.products li.product {
	border-radius: 8px !important;
}

body.mxsb-template-shop.mxsb-template-variant-catalog .mxsb-shop-categories {
	background: #f7f9fc;
}

body.mxsb-template-shop.mxsb-template-variant-catalog .mec-main--woocommerce {
	background: #eef3f7;
}

body.mxsb-template-shop.mxsb-template-variant-catalog .mxsb-shop-category-card {
	box-shadow: none;
}

body.mxsb-template-shop.mxsb-template-variant-catalog .woocommerce ul.products li.product a img {
	aspect-ratio: 4 / 3 !important;
	background: #f7f9fb !important;
}

body.mxsb-template-shop.mxsb-template-variant-catalog .mxsb-card-delivery {
	display: none !important;
}

body.mxsb-template-shop.mxsb-template-variant-catalog .woocommerce ul.products li.product .price {
	border-top: 1px solid var(--mxshop-line);
	padding-top: 12px !important;
}

/* EDITORIAL — light, calm and image-led. */
body.mxsb-template-shop.mxsb-template-variant-editorial {
	--mxshop-radius: 22px;
	--mxshop-shadow: 0 18px 46px rgba(11, 23, 57, .10);
	background: #fff;
}

body.mxsb-template-shop.mxsb-template-variant-editorial .mxsb-shop-hero {
	background: linear-gradient(135deg, #ffffff 0%, #f1f7ff 58%, #e7f2ff 100%);
	color: var(--mxshop-ink);
	border-bottom: 1px solid #dbe7f3;
}

body.mxsb-template-shop.mxsb-template-variant-editorial .mxsb-shop-hero::before {
	opacity: .09;
	background-image:
		linear-gradient(rgba(0, 83, 166, .18) 1px, transparent 1px),
		linear-gradient(90deg, rgba(0, 83, 166, .18) 1px, transparent 1px);
	mask-image: linear-gradient(to right, #000, transparent 90%);
}

body.mxsb-template-shop.mxsb-template-variant-editorial .mxsb-shop-hero h1 {
	color: #10233d;
}

body.mxsb-template-shop.mxsb-template-variant-editorial .mxsb-shop-hero__eyebrow {
	color: var(--mxshop-primary);
}

body.mxsb-template-shop.mxsb-template-variant-editorial .mxsb-shop-hero__lead,
body.mxsb-template-shop.mxsb-template-variant-editorial .mxsb-shop-hero__benefits {
	color: #52677d;
}

body.mxsb-template-shop.mxsb-template-variant-editorial .mxsb-shop-hero__breadcrumbs :where(a, span),
body.mxsb-template-shop.mxsb-template-variant-editorial .mxsb-shop-hero__breadcrumbs .woocommerce-breadcrumb,
body.mxsb-template-shop.mxsb-template-variant-editorial .mxsb-shop-hero__breadcrumbs nav {
	color: #5e7891 !important;
}

body.mxsb-template-shop.mxsb-template-variant-editorial .mxsb-shop-search {
	border-color: #cfdeed;
	box-shadow: 0 15px 36px rgba(21, 57, 94, .12);
}

body.mxsb-template-shop.mxsb-template-variant-editorial .mxsb-shop-help-card {
	border-color: #cddded;
	background: rgba(255,255,255,.8);
	box-shadow: 0 18px 42px rgba(18, 55, 91, .10);
	color: #10233d;
	backdrop-filter: blur(12px);
}

body.mxsb-template-shop.mxsb-template-variant-editorial .mxsb-shop-help-card :where(h2, h3, p, a) {
	color: inherit;
}

body.mxsb-template-shop.mxsb-template-variant-editorial .mxsb-shop-help-card__number {
	background: #e8f3ff;
	color: var(--mxshop-primary);
}

body.mxsb-template-shop.mxsb-template-variant-editorial .mxsb-shop-categories {
	background: #fff;
}

body.mxsb-template-shop.mxsb-template-variant-editorial .mec-main--woocommerce {
	background: #f7faff;
}

body.mxsb-template-shop.mxsb-template-variant-editorial .woocommerce ul.products li.product {
	border-color: transparent !important;
	box-shadow: 0 15px 38px rgba(11, 23, 57, .10) !important;
}

/* NAVY B2B — strongest business contrast. */
body.mxsb-template-shop.mxsb-template-variant-navy {
	--mxshop-ink: #071833;
	--mxshop-radius: 16px;
	--mxshop-shadow: 0 18px 48px rgba(7, 24, 51, .15);
	background: linear-gradient(180deg, #eaf3ff 0%, #f8fbff 460px, #fff 920px) fixed;
}

body.mxsb-template-shop.mxsb-template-variant-navy .mxsb-shop-hero {
	background:
		radial-gradient(circle at 82% 12%, rgba(40, 140, 255, .26), transparent 34%),
		linear-gradient(120deg, #041126 0%, #0b2e61 62%, #087bea 100%);
}

body.mxsb-template-shop.mxsb-template-variant-navy .mxsb-shop-help-card {
	background: linear-gradient(145deg, rgba(16, 67, 128, .78), rgba(7, 28, 61, .7));
	border-color: rgba(152, 207, 255, .28);
}

body.mxsb-template-shop.mxsb-template-variant-navy .mxsb-shop-categories {
	background: #eef5ff;
}

body.mxsb-template-shop.mxsb-template-variant-navy .mec-main--woocommerce {
	background: #f7faff;
}

body.mxsb-template-shop.mxsb-template-variant-navy .mxsb-shop-toolbar {
	border-color: #cbdced;
	box-shadow: 0 12px 30px rgba(7, 24, 51, .08);
}

body.mxsb-template-shop.mxsb-template-variant-navy .mxsb-archive-b2b {
	background: linear-gradient(120deg, #041126, #123b76 66%, #0b68cc);
	box-shadow: 0 22px 52px rgba(7, 24, 51, .22);
}

/* Product-card theme fixes for the current WooCommerce grid. */
body.mxsb-template-shop.mxsb-product-card-theme-clean .woocommerce ul.products li.product {
	border-color: #dce7f3 !important;
	border-radius: 12px !important;
	box-shadow: none !important;
}

body.mxsb-template-shop.mxsb-product-card-theme-clean .woocommerce ul.products li.product:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 26px rgba(11, 23, 57, .08) !important;
}

body.mxsb-template-shop.mxsb-product-card-theme-clean .woocommerce ul.products li.product .button {
	border: 1px solid var(--mxshop-primary) !important;
	background: #fff !important;
	color: var(--mxshop-primary) !important;
	box-shadow: none !important;
}

body.mxsb-template-shop.mxsb-product-card-theme-image .woocommerce ul.products li.product a img {
	aspect-ratio: 4 / 3 !important;
	padding: 8px !important;
	background: linear-gradient(145deg, #f8fbff, #edf5fc) !important;
}

body.mxsb-template-shop.mxsb-product-card-theme-image .woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 18px !important;
}

body.mxsb-template-shop.mxsb-product-card-theme-technical .woocommerce ul.products li.product {
	border-top: 5px solid #0b2f61 !important;
	border-radius: 10px !important;
	box-shadow: 0 12px 30px rgba(11, 23, 57, .10) !important;
}

body.mxsb-template-shop.mxsb-product-card-theme-technical .woocommerce ul.products li.product .woocommerce-loop-product__title {
	min-height: 0;
	font-size: 16px !important;
}

body.mxsb-template-shop.mxsb-product-card-theme-technical .woocommerce ul.products li.product .price {
	border-top: 1px solid var(--mxshop-line);
	padding-top: 10px !important;
	font-size: 20px !important;
}

body.mxsb-template-shop.mxsb-product-card-theme-technical .mxsb-card-delivery {
	color: #10233d;
	font-weight: 700;
}

body.mxsb-template-shop.mxsb-product-card-theme-outline .woocommerce ul.products li.product {
	border: 2px solid #d6e5f6 !important;
	border-radius: 20px !important;
	box-shadow: none !important;
}

body.mxsb-template-shop.mxsb-product-card-theme-outline .woocommerce ul.products li.product:hover {
	border-color: var(--mxshop-primary) !important;
	box-shadow: 0 14px 32px rgba(11, 23, 57, .08) !important;
}

body.mxsb-template-shop.mxsb-product-card-theme-outline .woocommerce ul.products li.product .button {
	border: 1.5px solid currentColor !important;
	background: transparent !important;
	color: var(--mxshop-primary) !important;
	box-shadow: none !important;
}

body.mxsb-template-shop.mxsb-product-card-theme-b2b .woocommerce ul.products li.product {
	border-color: #d7e4f5 !important;
	border-radius: 22px !important;
	background: linear-gradient(180deg, #fff 0%, #f5f9ff 100%) !important;
	box-shadow: 0 18px 42px rgba(9, 28, 60, .12) !important;
}

body.mxsb-template-shop.mxsb-product-card-theme-b2b .woocommerce ul.products li.product .price {
	border-top: 1px solid #dbe6f3;
	color: #0b2f61 !important;
}

body.mxsb-template-shop.mxsb-product-card-theme-b2b .woocommerce ul.products li.product .button {
	background: linear-gradient(120deg, #071833, #184e9f) !important;
	color: #fff !important;
	box-shadow: 0 14px 28px rgba(11, 32, 72, .18) !important;
}

/* Category-card theme fixes for .mxsb-shop-category-card (current markup). */
body.mxsb-template-shop.mxsb-category-card-theme-clean .mxsb-shop-category-card {
	border-color: #dce7f3;
	border-radius: 12px;
	box-shadow: none;
	background: #fff;
}

body.mxsb-template-shop.mxsb-category-card-theme-clean .mxsb-shop-category-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 28px rgba(11, 23, 57, .08);
}

body.mxsb-template-shop.mxsb-category-card-theme-image .mxsb-shop-category-card {
	grid-template-rows: minmax(210px, 1fr) auto;
	padding: 0;
	overflow: hidden;
}

body.mxsb-template-shop.mxsb-category-card-theme-image .mxsb-shop-category-card__media,
body.mxsb-template-shop.mxsb-category-card-theme-image .mxsb-shop-category-card__media img {
	min-height: 210px;
	max-height: 250px;
	background: linear-gradient(145deg, #f8fbff, #edf4fc);
}

body.mxsb-template-shop.mxsb-category-card-theme-image .mxsb-shop-category-card__body {
	padding: 18px 54px 18px 18px;
}

body.mxsb-template-shop.mxsb-category-card-theme-minimal .mxsb-shop-category-card {
	grid-template-rows: minmax(112px, auto) auto;
	border: 1px solid #e7eef7;
	border-radius: 16px;
	box-shadow: none;
	background: rgba(255,255,255,.82);
}

body.mxsb-template-shop.mxsb-category-card-theme-minimal .mxsb-shop-category-card__media,
body.mxsb-template-shop.mxsb-category-card-theme-minimal .mxsb-shop-category-card__media img {
	min-height: 112px;
	max-height: 138px;
}

body.mxsb-template-shop.mxsb-category-card-theme-minimal .mxsb-shop-category-card:hover {
	border-color: var(--mxshop-primary);
	box-shadow: 0 10px 20px rgba(11,23,57,.05);
}

body.mxsb-template-shop.mxsb-category-card-theme-b2b .mxsb-shop-category-card {
	border: 1px solid #d4e0f0;
	border-radius: 22px;
	background: linear-gradient(180deg, #fff, #f5f9ff);
	box-shadow: 0 18px 40px rgba(11, 23, 57, .11);
}

body.mxsb-template-shop.mxsb-category-card-theme-b2b .mxsb-shop-category-card__body strong {
	color: #071833;
	font-weight: 850;
}

body.mxsb-template-shop.mxsb-category-card-theme-b2b .mxsb-shop-category-card__body small {
	display: inline-flex;
	align-items: center;
	justify-self: start;
	padding: 4px 9px;
	border-radius: 999px;
	background: #e8f3ff;
	color: var(--mxshop-primary);
	font-weight: 750;
}

@media (max-width: 767px) {
	body.mxsb-template-shop.mxsb-template-variant-compact .mxsb-shop-hero,
	body.mxsb-template-shop.mxsb-template-variant-catalog .mxsb-shop-hero {
		padding-top: 28px;
		padding-bottom: 30px;
	}

	body.mxsb-template-shop.mxsb-template-variant-compact .mxsb-shop-category-grid,
	body.mxsb-template-shop.mxsb-template-variant-compact .woocommerce ul.products {
		gap: 10px !important;
	}

	body.mxsb-template-shop.mxsb-category-card-theme-image .mxsb-shop-category-card {
		grid-template-rows: minmax(165px, 1fr) auto;
	}

	body.mxsb-template-shop.mxsb-category-card-theme-image .mxsb-shop-category-card__media,
	body.mxsb-template-shop.mxsb-category-card-theme-image .mxsb-shop-category-card__media img {
		min-height: 165px;
		max-height: 195px;
	}
}
