/*
 * Mayroons Shop Experience
 * The archive shell is scoped to the plugin body class and leaves product data to WooCommerce.
 */
body.msr-shop-archive {
	--msr-accent: #83ce00;
	--msr-action: #ff4b1f;
	--msr-ink: #111;
	--msr-muted: #6f6f6f;
	--msr-line: #e2e2e2;
	--msr-soft: #f7f7f5;
	--msr-shell: 1360px;
	--msr-columns: 4;
	background: #fff;
	color: var(--msr-ink);
	font-family: Poppins, Inter, Montserrat, Arial, sans-serif;
}

body.msr-shop-archive .msr-top-strip *,
body.msr-shop-archive .msr-site-header *,
body.msr-shop-archive .msr-shop-intro *,
body.msr-shop-archive .msr-shop-toolbar *,
body.msr-shop-archive .msr-trust-strip * {
	box-sizing: border-box;
}

/* Replace the theme's archive header without editing the active theme. */
body.msr-shop-archive .whb-header,
body.msr-shop-archive header.main-header,
body.msr-shop-archive #masthead:not(.msr-site-header),
body.msr-shop-archive .website-wrapper > header:not(.msr-site-header) {
	display: none !important;
}

body.msr-shop-archive .page-title,
body.msr-shop-archive .title-wrapper,
body.msr-shop-archive .woocommerce-breadcrumb,
body.msr-shop-archive .breadcrumbs,
body.msr-shop-archive .single-breadcrumbs-wrapper {
	display: none !important;
}

body.msr-shop-archive .main-page-wrapper {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.msr-shop-archive .main-page-wrapper > .container > .content-layout-wrapper {
	width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

body.msr-shop-archive .main-page-wrapper > .container,
body.msr-shop-archive .site-content > .container,
body.msr-shop-archive .woocommerce-page .site-main,
body.msr-shop-archive main.site-main {
	box-sizing: border-box;
	width: min(var(--msr-shell), calc(100% - 48px)) !important;
	max-width: var(--msr-shell) !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

body.msr-shop-archive .site-content,
body.msr-shop-archive .content-area,
body.msr-shop-archive .shop-content-area {
	flex: 0 0 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

body.msr-shop-archive .msr-shell {
	width: min(var(--msr-shell), calc(100% - 48px));
	margin: 0 auto;
}

body.msr-shop-archive .msr-top-strip {
	position: relative;
	z-index: 90;
	min-height: 32px;
	background: #050505;
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	letter-spacing: .025em;
	line-height: 32px;
	text-align: center;
	text-transform: uppercase;
}

body.msr-shop-archive .msr-top-strip span {
	margin: 0 10px;
}

body.msr-shop-archive .msr-site-header {
	position: relative;
	z-index: 90;
	background: #fff;
}

body.msr-shop-archive .msr-site-header .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;
}

body.msr-shop-archive .msr-header-main {
	display: grid;
	grid-template-columns: 300px minmax(320px, 680px) 280px;
	gap: 26px;
	min-height: 80px;
	align-items: center;
}

body.msr-shop-archive .msr-wordmark {
	display: flex;
	width: 236px;
	height: 80px;
	align-items: center;
	overflow: hidden;
	text-decoration: none;
}

body.msr-shop-archive .msr-wordmark img {
	display: block;
	width: 236px;
	height: 94px;
	object-fit: contain;
	object-position: left center;
}

body.msr-shop-archive .msr-product-search {
	position: relative;
	display: flex;
	min-width: 0;
	margin: 0;
}

body.msr-shop-archive .msr-product-search input[type="search"] {
	box-sizing: border-box;
	width: 100%;
	height: 48px;
	margin: 0;
	padding: 0 58px 0 20px;
	border: 1px solid #d8d8d8;
	border-radius: 999px;
	background: #fff;
	box-shadow: none;
	color: var(--msr-ink);
	font-size: 14px;
}

body.msr-shop-archive .msr-product-search button {
	position: absolute;
	top: 4px;
	right: 6px;
	display: grid;
	width: 40px;
	height: 40px;
	place-items: center;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	box-shadow: none;
}

body.msr-shop-archive .msr-product-search button span {
	position: relative;
	display: block;
	width: 17px;
	height: 17px;
	border: 2px solid #050505;
	border-radius: 50%;
}

body.msr-shop-archive .msr-product-search button span::after {
	position: absolute;
	right: -6px;
	bottom: -4px;
	width: 8px;
	height: 2px;
	background: #050505;
	content: "";
	transform: rotate(45deg);
}

body.msr-shop-archive .msr-header-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 32px;
}

body.msr-shop-archive .msr-header-action {
	position: relative;
	display: inline-flex;
	min-height: 44px;
	align-items: center;
	gap: 10px;
	color: #080808;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
}

body.msr-shop-archive .msr-account-icon {
	position: relative;
	display: block;
	width: 24px;
	height: 24px;
}

body.msr-shop-archive .msr-account-icon::before {
	position: absolute;
	top: 0;
	left: 7px;
	width: 8px;
	height: 8px;
	border: 2px solid #111;
	border-radius: 50%;
	background: #fff;
	content: "";
}

body.msr-shop-archive .msr-account-icon::after {
	position: absolute;
	right: 1px;
	bottom: 0;
	left: 1px;
	height: 10px;
	border: 2px solid #111;
	border-bottom: 0;
	border-radius: 14px 14px 0 0;
	content: "";
}

body.msr-shop-archive .msr-cart-icon {
	position: relative;
	display: block;
	width: 25px;
	height: 17px;
	border: 2px solid #111;
	border-top: 0;
	transform: skew(-8deg);
}

body.msr-shop-archive .msr-cart-icon::before {
	position: absolute;
	top: -6px;
	left: -6px;
	width: 8px;
	height: 2px;
	background: #111;
	content: "";
}

body.msr-shop-archive .msr-cart-icon::after {
	position: absolute;
	bottom: -7px;
	left: 3px;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #111;
	box-shadow: 14px 0 #111;
	content: "";
}

body.msr-shop-archive .msr-cart-count {
	position: absolute;
	top: -2px;
	right: -19px;
	display: grid;
	min-width: 23px;
	height: 23px;
	place-items: center;
	padding: 0 5px;
	border: 2px solid #fff;
	border-radius: 999px;
	background: var(--msr-action);
	color: #fff;
	font-size: 11px;
	line-height: 1;
}

body.msr-shop-archive .msr-primary-categories {
	display: grid;
	grid-template-columns: repeat(8, minmax(0, 1fr));
	min-height: 54px;
	align-items: stretch;
	border-top: 1px solid #ededed;
}

body.msr-shop-archive .msr-primary-categories a {
	display: flex;
	min-width: 0;
	align-items: center;
	justify-content: center;
	gap: 10px;
	color: #101010;
	font-size: 14px;
	font-weight: 750;
	text-decoration: none;
}

body.msr-shop-archive .msr-primary-categories a:hover,
body.msr-shop-archive .msr-primary-categories a:focus-visible {
	color: #5c9d00;
}

body.msr-shop-archive .msr-primary-category-icon {
	font-size: 23px;
	line-height: 1;
}

body.msr-shop-archive .msr-primary-category-icon--new {
	min-width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--msr-accent);
	color: #fff;
	font-family: Arial, sans-serif;
	font-size: 9px;
	font-weight: 900;
	line-height: 34px;
	text-align: center;
}

body.msr-shop-archive .msr-shop-intro,
body.msr-shop-archive .msr-shop-toolbar {
	box-sizing: border-box;
	width: 100%;
}

body.msr-shop-archive .msr-shop-intro {
	margin: 0 0 2px;
}

body.msr-shop-archive .msr-shop-hero {
	position: relative;
	display: flex;
	min-height: 118px;
	align-items: center;
	overflow: hidden;
	padding: 15px 42px;
	border-radius: 18px;
	background-color: #d4f200;
	background-image: var(--msr-hero-image);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

body.msr-shop-archive .msr-shop-hero__copy {
	position: relative;
	z-index: 1;
	max-width: 660px;
}

body.msr-shop-archive .msr-shop-hero h1 {
	margin: 0;
	color: #050505;
	font-size: clamp(42px, 4vw, 58px);
	font-weight: 900;
	letter-spacing: -.045em;
	line-height: 1;
}

body.msr-shop-archive .msr-shop-hero__copy > p {
	margin: 9px 0 0;
	color: #141414;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.35;
}

body.msr-shop-archive .msr-shop-toolbar {
	display: flex;
	min-height: 54px;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin: 0 0 10px;
	padding: 4px 4px;
	background: #fff;
}

body.msr-shop-archive .msr-shop-toolbar__summary,
body.msr-shop-archive .msr-shop-toolbar__actions {
	display: flex;
	align-items: center;
	gap: 14px;
}

body.msr-shop-archive .msr-shop-toolbar__summary strong {
	font-size: 16px;
	font-weight: 850;
}

body.msr-shop-archive .msr-category-filter,
body.msr-shop-archive .msr-category-filter__field {
	display: flex;
	align-items: center;
	gap: 8px;
}

body.msr-shop-archive .msr-category-filter__field > span {
	font-size: 13px;
	font-weight: 800;
	white-space: nowrap;
}

body.msr-shop-archive .msr-active-filter {
	display: inline-flex;
	min-height: 31px;
	align-items: center;
	gap: 9px;
	padding: 0 12px;
	border: 1px solid #a9dd61;
	border-radius: 8px;
	color: #4b8100;
	font-size: 12px;
	text-decoration: none;
}

body.msr-shop-archive .msr-sort-label {
	font-size: 13px;
	font-weight: 800;
}

body.msr-shop-archive .msr-shop-toolbar p,
body.msr-shop-archive .msr-shop-toolbar form {
	margin: 0;
}

body.msr-shop-archive .msr-shop-toolbar .woocommerce-ordering {
	float: none;
}

body.msr-shop-archive .msr-shop-toolbar select {
	box-sizing: border-box;
	width: 158px;
	height: 38px;
	min-height: 38px;
	margin: 0;
	padding: 0 38px 0 13px;
	border: 1px solid #d9d9d9;
	border-radius: 8px;
	background-color: #fff;
	font-size: 13px;
}

body.msr-shop-archive .msr-shop-toolbar .msr-category-filter select {
	width: 190px;
}

body.msr-shop-archive .msr-category-filter__submit {
	display: inline-flex;
	height: 38px;
	min-height: 38px;
	align-items: center;
	justify-content: center;
	padding: 0 14px;
	border: 0;
	border-radius: 7px;
	background: var(--msr-accent);
	color: #fff;
	font-size: 12px;
	font-weight: 800;
	cursor: pointer;
}

body.msr-shop-archive .msr-category-filter--ready .msr-category-filter__submit {
	position: absolute;
	width: 1px;
	height: 1px;
	min-height: 0;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
}

body.msr-shop-archive .msr-filter-button {
	display: inline-flex;
	box-sizing: border-box;
	min-width: 130px;
	height: 38px;
	min-height: 38px;
	align-items: center;
	justify-content: center;
	gap: 9px;
	padding: 0 18px;
	border: 0;
	border-radius: 7px;
	background: var(--msr-accent);
	box-shadow: none;
	color: #fff;
	font-size: 12px;
	font-weight: 850;
	line-height: 1;
	text-transform: uppercase;
	cursor: pointer;
}

body.msr-shop-archive .msr-filter-button[hidden] {
	display: none !important;
}

body.msr-shop-archive .msr-filter-icon {
	position: relative;
	display: block;
	width: 17px;
	height: 12px;
	border-top: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
}

body.msr-shop-archive .msr-filter-icon::before {
	position: absolute;
	top: 3px;
	left: 0;
	width: 17px;
	border-top: 2px solid currentColor;
	content: "";
}

/* Product grids: core WooCommerce and Woodmart archive markup. */
body.msr-shop-archive ul.products,
body.msr-shop-archive .products.elements-grid,
body.msr-shop-archive .wd-products {
	display: grid !important;
	grid-template-columns: repeat(var(--msr-columns), minmax(0, 1fr)) !important;
	gap: 8px 28px !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.msr-shop-archive ul.products::before,
body.msr-shop-archive ul.products::after {
	display: none !important;
}

body.msr-shop-archive ul.products > li.product,
body.msr-shop-archive .products.elements-grid > .product-grid-item,
body.msr-shop-archive .wd-products > .product-grid-item,
body.msr-shop-archive .wd-products > .wd-product {
	position: relative;
	display: flex;
	box-sizing: border-box;
	width: auto !important;
	max-width: none !important;
	height: 100%;
	min-height: 310px;
	flex-direction: column;
	margin: 0 !important;
	padding: 9px 9px 8px !important;
	float: none !important;
	border: 1px solid var(--msr-line);
	border-radius: 13px;
	background: #fff;
	box-shadow: 0 3px 12px rgba(0, 0, 0, .055);
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

body.msr-shop-archive ul.products > li.product:hover,
body.msr-shop-archive .wd-products > .product-grid-item:hover,
body.msr-shop-archive .wd-products > .wd-product:hover {
	border-color: #d2d2d2;
	box-shadow: 0 10px 26px rgba(0, 0, 0, .09);
	transform: translateY(-2px);
}

body.msr-shop-archive .woocommerce-loop-product__link,
body.msr-shop-archive .product-wrapper,
body.msr-shop-archive .product-grid-item .product-wrapper {
	display: flex;
	height: 100%;
	flex: 1 1 auto;
	flex-direction: column;
	color: inherit;
	text-decoration: none;
}

/* The original product URL and image pixels remain authoritative. */
body.msr-shop-archive ul.products li.product img.attachment-woocommerce_thumbnail,
body.msr-shop-archive ul.products li.product img.wp-post-image,
body.msr-shop-archive .product-element-top img,
body.msr-shop-archive .wd-product img.attachment-woocommerce_thumbnail {
	display: block;
	box-sizing: border-box;
	width: 100% !important;
	height: auto !important;
	max-height: none;
	aspect-ratio: 2 / 1;
	margin: 0 0 5px !important;
	border-radius: 9px;
	background: #edf7e8;
	object-fit: cover;
	object-position: center;
}

body.msr-shop-archive .product-element-top {
	overflow: hidden;
	border-radius: 9px;
}

body.msr-shop-archive .product-element-top img {
	margin-bottom: 0 !important;
}

/* Woodmart's hover cards need an explicit static information flow. */
body.msr-shop-archive .msr-product-card .content-product-imagin,
body.msr-shop-archive .msr-product-card .hover-content,
body.msr-shop-archive .msr-product-card .wrapp-swatches,
body.msr-shop-archive .msr-product-card .wrap-quickview-button {
	display: none !important;
}

body.msr-shop-archive .msr-product-card .product-element-bottom {
	position: static !important;
	display: flex !important;
	min-height: 0;
	flex: 1 1 auto;
	flex-direction: column !important;
	padding: 0 !important;
}

body.msr-shop-archive .msr-product-card .wd-product-cats {
	order: 1;
}

body.msr-shop-archive .msr-product-card .wd-entities-title {
	order: 2;
}

body.msr-shop-archive .msr-product-card .product-rating-price {
	display: block !important;
	width: 100% !important;
	order: 3;
	margin-top: auto;
	text-align: center !important;
}

body.msr-shop-archive .msr-product-card .wrapp-product-price {
	display: block !important;
	width: 100% !important;
	text-align: center !important;
}

body.msr-shop-archive .msr-product-card .fade-in-block {
	position: static !important;
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-height: 29px;
	order: 4;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 1 !important;
	pointer-events: auto !important;
	transform: none !important;
	visibility: visible !important;
}

body.msr-shop-archive .msr-product-card .wd-bottom-actions {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	min-height: 29px;
	padding: 0 !important;
	border: 0 !important;
	opacity: 1 !important;
	visibility: visible !important;
}

body.msr-shop-archive .msr-product-card .wd-add-btn {
	display: block !important;
	width: 100% !important;
	height: 29px !important;
	opacity: 1 !important;
	visibility: visible !important;
}

body.msr-shop-archive .msr-product-card .wrap-wishlist-button {
	position: absolute !important;
	z-index: 6;
	top: 14px;
	right: 14px;
	display: block !important;
	width: 30px;
	height: 30px;
	opacity: 1 !important;
	visibility: visible !important;
}

body.msr-shop-archive .msr-product-card .wd-wishlist-btn,
body.msr-shop-archive .msr-product-card .wd-wishlist-btn a {
	display: flex !important;
	width: 30px !important;
	height: 30px !important;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #fff !important;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .14);
	opacity: 1 !important;
	visibility: visible !important;
}

body.msr-shop-archive .msr-product-card .wd-wishlist-btn a {
	color: #111 !important;
}

body.msr-shop-archive .msr-product-card .wd-wishlist-btn a::before {
	display: block !important;
	width: 17px !important;
	height: 17px !important;
	background: currentColor !important;
	content: "" !important;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1.1-1.1a5.5 5.5 0 0 0-7.8 7.8l1.1 1.1L12 21l7.8-7.5 1.1-1.1a5.5 5.5 0 0 0-.1-7.8Z' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1.1-1.1a5.5 5.5 0 0 0-7.8 7.8l1.1 1.1L12 21l7.8-7.5 1.1-1.1a5.5 5.5 0 0 0-.1-7.8Z' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.msr-shop-archive .msr-product-card .wd-wishlist-btn a > span {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
}

body.msr-shop-archive .msr-product-category,
body.msr-shop-archive .product-category,
body.msr-shop-archive .wd-product-cats,
body.msr-shop-archive ul.products li.product .posted_in {
	margin: 0 4px 1px;
	color: #777;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	text-transform: none;
}

body.msr-shop-archive ul.products li.product .woocommerce-loop-product__title,
body.msr-shop-archive .wd-entities-title,
body.msr-shop-archive .product-title {
	min-height: 2.45em;
	margin: 0 4px 2px !important;
	color: var(--msr-ink) !important;
	font-size: 13.5px !important;
	font-weight: 760 !important;
	line-height: 1.18 !important;
	text-align: center;
}

body.msr-shop-archive ul.products li.product .price,
body.msr-shop-archive .wd-product .price,
body.msr-shop-archive .msr-product-card .price {
	display: block !important;
	width: 100% !important;
	margin: 0 auto 5px !important;
	color: var(--msr-ink) !important;
	font-size: 16px !important;
	font-weight: 850 !important;
	line-height: 1.15;
	text-align: center;
}

body.msr-shop-archive ul.products li.product .price ins,
body.msr-shop-archive .wd-product .price ins,
body.msr-shop-archive .msr-product-card .price ins {
	color: var(--msr-action);
	text-decoration: none;
}

body.msr-shop-archive ul.products li.product .button,
body.msr-shop-archive .wd-product .wd-add-btn > a,
body.msr-shop-archive .wd-product .add_to_cart_button,
body.msr-shop-archive .wd-product .product_type_simple,
body.msr-shop-archive .msr-product-card .wd-add-btn > a,
body.msr-shop-archive .msr-product-card .add_to_cart_button,
body.msr-shop-archive .msr-product-card .product_type_simple {
	display: flex !important;
	box-sizing: border-box;
	width: 100%;
	height: 29px;
	min-height: 29px;
	align-items: center;
	justify-content: center;
	gap: 7px;
	margin: 0 !important;
	padding: 4px 10px !important;
	border: 1.5px solid var(--msr-action) !important;
	border-radius: 6px !important;
	background: #fff !important;
	box-shadow: none !important;
	color: var(--msr-action) !important;
	font-size: 11px !important;
	font-weight: 850 !important;
	line-height: 1 !important;
	text-transform: uppercase;
}

body.msr-shop-archive ul.products li.product .button::before,
body.msr-shop-archive .wd-product .add_to_cart_button::before,
body.msr-shop-archive .wd-product .product_type_simple::before,
body.msr-shop-archive .msr-product-card .add_to_cart_button::before,
body.msr-shop-archive .msr-product-card .product_type_simple::before {
	display: inline-block;
	width: 14px;
	height: 14px;
	background: currentColor;
	content: "";
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 3h2.4l2.3 11.2a2 2 0 0 0 2 1.6h8.7a2 2 0 0 0 1.9-1.4L21 8H6M9 21a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm8 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M2 3h2.4l2.3 11.2a2 2 0 0 0 2 1.6h8.7a2 2 0 0 0 1.9-1.4L21 8H6M9 21a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Zm8 0a1.5 1.5 0 1 0 0-3 1.5 1.5 0 0 0 0 3Z' fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E") center / contain no-repeat;
}

body.msr-shop-archive ul.products li.product .button:hover,
body.msr-shop-archive .wd-product .add_to_cart_button:hover,
body.msr-shop-archive .msr-product-card .add_to_cart_button:hover {
	background: var(--msr-action) !important;
	color: #fff !important;
}

body.msr-shop-archive .onsale,
body.msr-shop-archive .product-label {
	z-index: 4;
	border-radius: 999px !important;
}

body.msr-shop-archive .shop-loop-head .woocommerce-result-count,
body.msr-shop-archive .wd-products-per-page,
body.msr-shop-archive .wd-products-shop-view,
body.msr-shop-archive .wd-show-sidebar-btn,
body.msr-shop-archive .open-filters,
body.msr-shop-archive .wd-filter-buttons {
	display: none !important;
}

body.msr-shop-archive .msr-shop-toolbar .woocommerce-ordering {
	display: block !important;
}

body.msr-shop-archive .msr-load-more-wrap {
	display: flex;
	justify-content: center;
	margin: 18px 0 10px;
}

body.msr-shop-archive .msr-load-more {
	display: inline-flex;
	min-width: 325px;
	height: 37px;
	align-items: center;
	justify-content: center;
	gap: 12px;
	padding: 0 26px;
	border: 1.5px solid var(--msr-action);
	border-radius: 999px;
	background: #fff;
	box-shadow: none;
	color: var(--msr-action);
	font-size: 13px;
	font-weight: 850;
	text-transform: uppercase;
	cursor: pointer;
}

body.msr-shop-archive .msr-load-more i {
	width: 8px;
	height: 8px;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
}

body.msr-shop-archive .msr-load-more[aria-busy="true"] {
	opacity: .6;
	cursor: wait;
}

body.msr-shop-archive.msr-load-more-ready nav.woocommerce-pagination,
body.msr-shop-archive.msr-load-more-ready .wd-pagination {
	display: none !important;
}

body.msr-shop-archive nav.woocommerce-pagination,
body.msr-shop-archive .wd-pagination {
	margin-top: 24px;
}

body.msr-shop-archive nav.woocommerce-pagination ul {
	display: flex;
	justify-content: center;
	gap: 7px;
	border: 0;
}

body.msr-shop-archive nav.woocommerce-pagination ul li {
	border: 0;
}

body.msr-shop-archive nav.woocommerce-pagination ul li a,
body.msr-shop-archive nav.woocommerce-pagination ul li span {
	display: flex;
	min-width: 38px;
	height: 38px;
	align-items: center;
	justify-content: center;
	padding: 0 10px;
	border: 1px solid var(--msr-line);
	border-radius: 8px;
	background: #fff;
	color: var(--msr-ink);
}

body.msr-shop-archive nav.woocommerce-pagination ul li span.current,
body.msr-shop-archive nav.woocommerce-pagination ul li a:hover {
	border-color: var(--msr-accent);
	background: var(--msr-accent);
	color: #122000;
}

body.msr-shop-archive .msr-trust-strip {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	min-height: 58px;
	align-items: center;
	margin: 9px 0 0;
	padding: 6px 42px;
	border: 1px solid #b7df76;
	border-radius: 10px;
	background: #fff;
}

body.msr-shop-archive .msr-trust-strip > div {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 16px;
}

body.msr-shop-archive .msr-trust-strip p,
body.msr-shop-archive .msr-trust-strip strong,
body.msr-shop-archive .msr-trust-strip small {
	display: block;
	margin: 0;
}

body.msr-shop-archive .msr-trust-strip strong {
	font-size: 12px;
}

body.msr-shop-archive .msr-trust-strip small {
	color: var(--msr-muted);
	font-size: 10px;
}

body.msr-shop-archive .msr-trust-icon {
	position: relative;
	display: block;
	width: 30px;
	height: 27px;
	border: 3px solid var(--msr-accent);
	border-radius: 5px;
}

body.msr-shop-archive .msr-truck-icon::after {
	position: absolute;
	right: -9px;
	bottom: -3px;
	width: 9px;
	height: 14px;
	border: 3px solid var(--msr-accent);
	border-left: 0;
	border-radius: 0 4px 4px 0;
	content: "";
}

body.msr-shop-archive .msr-bag-icon {
	border-radius: 3px 3px 6px 6px;
}

body.msr-shop-archive .msr-bag-icon::before {
	position: absolute;
	top: -9px;
	left: 7px;
	width: 10px;
	height: 9px;
	border: 3px solid var(--msr-accent);
	border-bottom: 0;
	border-radius: 8px 8px 0 0;
	content: "";
}

body.msr-shop-archive .msr-shield-icon {
	border-radius: 8px 8px 13px 13px;
	clip-path: polygon(50% 100%, 0 70%, 0 0, 100% 0, 100% 70%);
}

/* Enhanced filter drawer. Without JavaScript the source sidebar remains the fallback. */
body.msr-shop-archive.msr-filter-ready .msr-filter-panel {
	position: fixed !important;
	z-index: 100002;
	top: 0;
	right: 0;
	bottom: 0;
	left: auto;
	display: block !important;
	box-sizing: border-box;
	width: min(410px, calc(100vw - 28px)) !important;
	max-width: none !important;
	height: 100dvh;
	margin: 0 !important;
	overflow-y: auto;
	padding: 74px 28px 30px !important;
	border: 0;
	background: #fff;
	box-shadow: -15px 0 45px rgba(0, 0, 0, .18);
	opacity: 1;
	pointer-events: none;
	transform: translateX(105%);
	transition: transform .28s ease, visibility 0s linear .28s;
	visibility: hidden;
}

body.admin-bar.msr-shop-archive.msr-filter-ready .msr-filter-panel {
	padding-top: 102px !important;
}

body.msr-shop-archive.msr-filter-open .msr-filter-panel {
	pointer-events: auto;
	transform: translateX(0);
	transition-delay: 0s;
	visibility: visible;
}

body.msr-shop-archive .msr-filter-panel__heading {
	position: absolute;
	top: 0;
	left: 0;
	display: flex;
	box-sizing: border-box;
	width: 100%;
	height: 62px;
	align-items: center;
	justify-content: space-between;
	padding: 0 20px 0 28px;
	border-bottom: 1px solid var(--msr-line);
	background: #fff;
	font-size: 18px;
}

body.admin-bar.msr-shop-archive .msr-filter-panel__heading {
	top: 32px;
}

body.msr-shop-archive .msr-filter-panel__heading button {
	width: 38px;
	height: 38px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: var(--msr-soft);
	color: var(--msr-ink);
	font-size: 26px;
	line-height: 1;
	cursor: pointer;
}

body.msr-shop-archive .msr-filter-backdrop {
	position: fixed;
	z-index: 100001;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	padding: 0;
	border: 0;
	background: rgba(0, 0, 0, .44);
	opacity: 0;
	pointer-events: none;
	transition: opacity .25s ease;
}

body.msr-shop-archive.msr-filter-open {
	overflow: hidden;
}

body.msr-shop-archive.msr-filter-open .msr-filter-backdrop {
	opacity: 1;
	pointer-events: auto;
}

body.msr-shop-archive.msr-filter-ready .site-content > .content-area,
body.msr-shop-archive.msr-filter-ready .main-page-wrapper > .container > .row > .site-content,
body.msr-shop-archive.msr-filter-ready .shop-content-area {
	flex: 0 0 100% !important;
	width: 100% !important;
	max-width: 100% !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

/* Match the boxed Elementor footer to the same shell as the catalogue. */
body.msr-shop-archive .footer-container > .main-footer.container {
	box-sizing: border-box;
	width: min(var(--msr-shell), calc(100% - 48px)) !important;
	max-width: var(--msr-shell) !important;
	margin-right: auto !important;
	margin-left: auto !important;
	padding-right: 0 !important;
	padding-left: 0 !important;
}

body.msr-shop-archive .footer-container > .main-footer > .elementor,
body.msr-shop-archive .footer-container > .main-footer > .elementor > .e-con,
body.msr-shop-archive .footer-container > .main-footer .e-con-inner,
body.msr-shop-archive .footer-container > .main-footer .elementor-widget,
body.msr-shop-archive .footer-container > .main-footer .elementor-widget-container,
body.msr-shop-archive .footer-container > .main-footer .mr-universal-footer {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

body.msr-shop-archive .footer-container > .main-footer > .elementor > .e-con,
body.msr-shop-archive .footer-container > .main-footer .e-con-inner {
	padding-right: 0 !important;
	padding-left: 0 !important;
}

@media (max-width: 1180px) {
	body.msr-shop-archive .msr-header-main {
		grid-template-columns: 220px minmax(280px, 1fr) 220px;
		gap: 18px;
	}

	body.msr-shop-archive .msr-header-actions {
		gap: 22px;
	}

	body.msr-shop-archive .msr-primary-categories a {
		gap: 6px;
		font-size: 12px;
	}
}

@media (max-width: 1024px) {
	body.msr-shop-archive ul.products,
	body.msr-shop-archive .products.elements-grid,
	body.msr-shop-archive .wd-products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}

	body.msr-shop-archive .msr-primary-categories {
		display: flex;
		overflow-x: auto;
		scrollbar-width: thin;
	}

	body.msr-shop-archive .msr-primary-categories a {
		min-width: 135px;
	}
}

@media (max-width: 820px) {
	body.msr-shop-archive .msr-shell,
	body.msr-shop-archive .main-page-wrapper > .container,
	body.msr-shop-archive .site-content > .container,
	body.msr-shop-archive .woocommerce-page .site-main,
	body.msr-shop-archive main.site-main,
	body.msr-shop-archive .footer-container > .main-footer.container {
		width: min(calc(100% - 28px), var(--msr-shell)) !important;
	}

	body.msr-shop-archive .msr-header-main {
		grid-template-columns: 1fr auto;
		gap: 12px 20px;
		padding: 14px 0;
	}

	body.msr-shop-archive .msr-wordmark {
		width: 170px;
		height: 64px;
	}

	body.msr-shop-archive .msr-wordmark img {
		width: 184px;
		height: 74px;
	}

	body.msr-shop-archive .msr-product-search {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	body.msr-shop-archive .msr-header-actions {
		grid-column: 2;
		grid-row: 1;
	}

	body.msr-shop-archive .msr-header-action > span:last-of-type:not(.msr-cart-count) {
		display: none;
	}
}

@media (max-width: 767px) {
	body.msr-shop-archive .msr-top-strip {
		font-size: 7.5px;
		letter-spacing: 0;
	}

	body.msr-shop-archive .msr-top-strip span {
		margin: 0 4px;
	}

	body.msr-shop-archive .msr-shop-hero {
		min-height: 215px;
		align-items: flex-start;
		padding: 26px 22px 105px;
		border-radius: 14px;
		background-image:
			linear-gradient(90deg, rgba(214, 243, 0, .98) 0%, rgba(214, 243, 0, .86) 43%, rgba(214, 243, 0, .08) 86%),
			var(--msr-hero-image);
		background-position: center, center bottom;
	}

	body.msr-shop-archive .msr-shop-hero h1 {
		font-size: clamp(32px, 9.5vw, 40px);
	}

	body.msr-shop-archive .msr-shop-hero__copy > p {
		max-width: 290px;
		font-size: 12px;
	}

	body.msr-shop-archive .msr-shop-toolbar {
		align-items: stretch;
		flex-direction: column;
		gap: 10px;
		padding: 8px 0;
	}

	body.msr-shop-archive .msr-shop-toolbar__actions {
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) auto;
	}

	body.msr-shop-archive .msr-category-filter {
		width: 100%;
		grid-column: 1 / -1;
	}

	body.msr-shop-archive .msr-category-filter__field {
		min-width: 0;
		flex: 1 1 auto;
	}

	body.msr-shop-archive .msr-shop-toolbar .msr-category-filter select {
		width: 100%;
		max-width: none;
	}

	body.msr-shop-archive .msr-shop-toolbar .woocommerce-ordering,
	body.msr-shop-archive .msr-shop-toolbar select {
		width: 100%;
		max-width: none;
	}

	body.msr-shop-archive ul.products,
	body.msr-shop-archive .products.elements-grid,
	body.msr-shop-archive .wd-products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 10px !important;
	}

	body.msr-shop-archive ul.products > li.product,
	body.msr-shop-archive .wd-products > .product-grid-item,
	body.msr-shop-archive .wd-products > .wd-product {
		min-height: 285px;
		padding: 7px 7px 8px !important;
		border-radius: 11px;
	}

	body.msr-shop-archive ul.products li.product img.attachment-woocommerce_thumbnail,
	body.msr-shop-archive ul.products li.product img.wp-post-image,
	body.msr-shop-archive .product-element-top img,
	body.msr-shop-archive .wd-product img.attachment-woocommerce_thumbnail {
		aspect-ratio: 1.35 / 1;
	}

	body.msr-shop-archive ul.products li.product .woocommerce-loop-product__title,
	body.msr-shop-archive .wd-entities-title,
	body.msr-shop-archive .product-title {
		font-size: 12px !important;
	}

	body.msr-shop-archive ul.products li.product .price,
	body.msr-shop-archive .wd-product .price,
	body.msr-shop-archive .msr-product-card .price {
		font-size: 14px !important;
	}

	body.msr-shop-archive .msr-load-more {
		width: 100%;
		min-width: 0;
	}

	body.msr-shop-archive .msr-trust-strip {
		grid-template-columns: 1fr;
		gap: 12px;
		padding: 16px;
	}

	body.msr-shop-archive .msr-trust-strip > div {
		justify-content: flex-start;
	}

	body.admin-bar.msr-shop-archive.msr-filter-ready .msr-filter-panel {
		padding-top: 116px !important;
	}

	body.admin-bar.msr-shop-archive .msr-filter-panel__heading {
		top: 46px;
	}
}

@media (max-width: 420px) {
	body.msr-shop-archive .msr-header-actions {
		gap: 15px;
	}

	body.msr-shop-archive .msr-cart-count {
		right: -10px;
	}

	body.msr-shop-archive .msr-shop-toolbar__actions {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	body.msr-shop-archive .msr-sort-label {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	body.msr-shop-archive *,
	body.msr-shop-archive *::before,
	body.msr-shop-archive *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
	}
}
