/* =========================================================
   KNM COMMERCE UI FORCE RECOVERY v1.3.2
   Direct selectors intentionally do not depend on JavaScript-added classes.
========================================================= */

html body.knm-ui-force-recovery,
html body.single-product,
html body.home,
html body.woocommerce-shop,
html body.post-type-archive-product,
html body.tax-product_cat,
html body.tax-product_tag {
	--knm-green: #003d28;
	--knm-green-dark: #002b1d;
	--knm-lime: #43bf4f;
	--knm-lime-hover: #2f9f40;
	--knm-cream: #f6f3ea;
	--knm-white: #ffffff;
	--knm-soft: #fbfaf5;
	--knm-text: #102f24;
	--knm-muted: #496057;
	--knm-border: rgba(0, 61, 40, 0.14);
	--knm-shadow: 0 18px 46px rgba(0, 31, 20, 0.10);
	--knm-shadow-hover: 0 26px 62px rgba(0, 31, 20, 0.16);
}

/* =========================================================
   SINGLE PRODUCT — PAGE FOUNDATION AND GAP RECOVERY
========================================================= */
html body.single-product,
html body.single-product main,
html body.single-product .site-main,
html body.single-product #primary,
html body.single-product .content-area,
html body.single-product .entry-content,
html body.single-product .wp-block-post-content {
	background: var(--knm-cream) !important;
}

html body.single-product main,
html body.single-product .site-main,
html body.single-product #primary,
html body.single-product .content-area,
html body.single-product .entry-content,
html body.single-product .wp-block-post-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
	min-height: 0 !important;
}

html body.single-product .woocommerce {
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	transform: none !important;
	zoom: 1 !important;
	width: min(1120px, calc(100% - 40px)) !important;
	max-width: 1120px !important;
	min-height: 0 !important;
	margin: 0 auto !important;
	padding: 24px 0 82px !important;
	color: var(--knm-text) !important;
	font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
}

html body.single-product .woocommerce *,
html body.single-product .woocommerce *::before,
html body.single-product .woocommerce *::after {
	box-sizing: border-box !important;
	text-shadow: none !important;
	filter: none !important;
}

html body.single-product .woocommerce-breadcrumb {
	position: static !important;
	top: auto !important;
	left: auto !important;
	transform: none !important;
	display: block !important;
	width: 100% !important;
	max-width: 1120px !important;
	min-height: 0 !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
	color: var(--knm-muted) !important;
	-webkit-text-fill-color: var(--knm-muted) !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	line-height: 1.5 !important;
	letter-spacing: 0.035em !important;
	text-transform: uppercase !important;
	opacity: 1 !important;
}

html body.single-product .woocommerce-breadcrumb a {
	color: var(--knm-green) !important;
	-webkit-text-fill-color: var(--knm-green) !important;
	font-weight: 900 !important;
	text-decoration: none !important;
}

html body.single-product .woocommerce div.product,
html body.single-product main div.product.type-product,
html body.single-product #primary div.product.type-product,
html body.single-product .woocommerce-breadcrumb ~ div.product {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	bottom: auto !important;
	transform: none !important;
	zoom: 1 !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1.04fr) minmax(360px, 0.96fr) !important;
	grid-template-areas:
		"gallery summary"
		"tabs tabs"
		"related related" !important;
	column-gap: 38px !important;
	row-gap: 32px !important;
	align-items: stretch !important;
	align-content: start !important;
	width: 100% !important;
	max-width: 1120px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	clear: both !important;
	float: none !important;
	outline: 0 !important;
	isolation: isolate !important;
}

html body.single-product .woocommerce div.product::before,
html body.single-product .woocommerce div.product::after {
	display: none !important;
	content: none !important;
}

/* Main image card. */
html body.single-product .woocommerce div.product div.images,
html body.single-product .woocommerce div.product .woocommerce-product-gallery {
	grid-area: gallery !important;
	float: none !important;
	position: relative !important;
	top: auto !important;
	left: auto !important;
	transform: none !important;
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	min-height: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: 22px !important;
	background: var(--knm-white) !important;
	border: 1px solid var(--knm-border) !important;
	border-radius: 24px !important;
	box-shadow: var(--knm-shadow) !important;
	overflow: hidden !important;
	outline: 0 !important;
	z-index: 1 !important;
}

html body.single-product .woocommerce-product-gallery__wrapper,
html body.single-product .woocommerce-product-gallery__image {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

html body.single-product .woocommerce-product-gallery__image a {
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: 100% !important;
	height: 430px !important;
	min-height: 430px !important;
	margin: 0 !important;
	padding: 15px !important;
	background: linear-gradient(145deg, #ffffff 0%, #fbfaf5 100%) !important;
	border: 1px solid rgba(0, 61, 40, 0.07) !important;
	border-radius: 19px !important;
	overflow: hidden !important;
}

html body.single-product .woocommerce-product-gallery__image img,
html body.single-product .woocommerce div.product div.images img {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 395px !important;
	max-height: 395px !important;
	margin: 0 auto !important;
	padding: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	transform: none !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	opacity: 1 !important;
}

html body.single-product .woocommerce-product-gallery__trigger {
	top: 16px !important;
	right: 16px !important;
	width: 42px !important;
	height: 42px !important;
	background: #ffffff !important;
	border: 1px solid rgba(0, 61, 40, 0.12) !important;
	border-radius: 999px !important;
	box-shadow: 0 9px 24px rgba(0, 31, 20, 0.15) !important;
	z-index: 10 !important;
}

/* Summary card. */
html body.single-product .woocommerce div.product div.summary,
html body.single-product .woocommerce div.product .summary.entry-summary {
	grid-area: summary !important;
	float: none !important;
	position: relative !important;
	top: auto !important;
	left: auto !important;
	transform: none !important;
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	min-height: 476px !important;
	height: auto !important;
	margin: 0 !important;
	padding: 38px !important;
	background: var(--knm-white) !important;
	border: 1px solid var(--knm-border) !important;
	border-radius: 24px !important;
	box-shadow: var(--knm-shadow) !important;
	color: var(--knm-text) !important;
	opacity: 1 !important;
	overflow: visible !important;
	outline: 0 !important;
	z-index: 2 !important;
}

html body.single-product .woocommerce div.product .product_title {
	position: static !important;
	top: auto !important;
	left: auto !important;
	transform: none !important;
	margin: 0 0 18px !important;
	padding: 0 !important;
	color: var(--knm-green) !important;
	-webkit-text-fill-color: var(--knm-green) !important;
	font-size: clamp(36px, 3.5vw, 50px) !important;
	font-weight: 800 !important;
	line-height: 1.07 !important;
	letter-spacing: -0.04em !important;
	opacity: 1 !important;
}

html body.single-product .summary > .price,
html body.single-product .summary p.price,
html body.single-product .summary .price,
html body.single-product .summary .price * {
	margin: 0 0 20px !important;
	color: var(--knm-green) !important;
	-webkit-text-fill-color: var(--knm-green) !important;
	font-size: 25px !important;
	font-weight: 800 !important;
	line-height: 1.25 !important;
	opacity: 1 !important;
}

html body.single-product .woocommerce div.product form.cart,
html body.single-product .woocommerce div.product .woocommerce-variation-add-to-cart {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	width: 100% !important;
	margin: 20px 0 0 !important;
	padding: 0 !important;
}

html body.single-product .woocommerce div.product form.cart .quantity {
	float: none !important;
	margin: 0 !important;
}

html body.single-product .woocommerce div.product form.cart .quantity input.qty {
	width: 70px !important;
	height: 54px !important;
	min-height: 54px !important;
	margin: 0 !important;
	padding: 0 8px !important;
	background: #ffffff !important;
	color: var(--knm-green) !important;
	-webkit-text-fill-color: var(--knm-green) !important;
	border: 1px solid rgba(0, 61, 40, 0.20) !important;
	border-radius: 12px !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	text-align: center !important;
	opacity: 1 !important;
}

html body.single-product .woocommerce div.product .single_add_to_cart_button,
html body.single-product .woocommerce div.product button.single_add_to_cart_button,
html body.single-product .woocommerce div.product form.cart button.button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 1 1 210px !important;
	width: auto !important;
	min-width: 210px !important;
	min-height: 54px !important;
	margin: 0 !important;
	padding: 0 30px !important;
	background: var(--knm-lime) !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	box-shadow: 0 14px 30px rgba(67, 191, 79, 0.27) !important;
	opacity: 1 !important;
}

html body.single-product .woocommerce div.product .single_add_to_cart_button:hover {
	background: var(--knm-green) !important;
}

html body.single-product .woocommerce div.product .product_meta,
html body.single-product .woocommerce div.product .product_meta * {
	color: var(--knm-muted) !important;
	-webkit-text-fill-color: var(--knm-muted) !important;
	font-size: 13px !important;
	font-weight: 650 !important;
	opacity: 1 !important;
}

/* Additional information. */
html body.single-product .woocommerce div.product .woocommerce-tabs {
	grid-area: tabs !important;
	float: none !important;
	position: static !important;
	top: auto !important;
	transform: none !important;
	width: 100% !important;
	max-width: none !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 30px !important;
	background: var(--knm-white) !important;
	border: 1px solid var(--knm-border) !important;
	border-radius: 22px !important;
	box-shadow: var(--knm-shadow) !important;
	clear: both !important;
	outline: 0 !important;
}

html body.single-product .woocommerce-tabs ul.tabs {
	display: flex !important;
	gap: 10px !important;
	margin: 0 0 24px !important;
	padding: 0 !important;
	border: 0 !important;
	list-style: none !important;
}

html body.single-product .woocommerce-tabs ul.tabs::before,
html body.single-product .woocommerce-tabs ul.tabs::after,
html body.single-product .woocommerce-tabs ul.tabs li::before,
html body.single-product .woocommerce-tabs ul.tabs li::after {
	display: none !important;
	content: none !important;
}

html body.single-product .woocommerce-tabs ul.tabs li {
	margin: 0 !important;
	padding: 0 !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
}

html body.single-product .woocommerce-tabs ul.tabs li a {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 42px !important;
	padding: 0 22px !important;
	background: var(--knm-green) !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	border-radius: 999px !important;
	font-size: 12px !important;
	font-weight: 900 !important;
	text-decoration: none !important;
}

html body.single-product .woocommerce-tabs .panel,
html body.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
	margin: 0 !important;
	padding: 0 !important;
	color: var(--knm-text) !important;
}

html body.single-product .woocommerce-tabs .panel h2,
html body.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2 {
	margin: 0 0 18px !important;
	color: var(--knm-green) !important;
	-webkit-text-fill-color: var(--knm-green) !important;
	font-size: 25px !important;
	font-weight: 850 !important;
}

html body.single-product table.woocommerce-product-attributes {
	width: 100% !important;
	margin: 0 !important;
	border-collapse: collapse !important;
	background: var(--knm-soft) !important;
	border: 1px solid rgba(0, 61, 40, 0.10) !important;
	border-radius: 14px !important;
	overflow: hidden !important;
}

html body.single-product table.woocommerce-product-attributes th,
html body.single-product table.woocommerce-product-attributes td {
	padding: 16px 18px !important;
	border-bottom: 1px solid rgba(0, 61, 40, 0.09) !important;
	color: var(--knm-text) !important;
	-webkit-text-fill-color: var(--knm-text) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
}

/* Related products. */
html body.single-product .woocommerce div.product section.related.products,
html body.single-product .woocommerce div.product .related.products,
html body.single-product section.related.products,
html body.single-product .related.products {
	grid-area: related !important;
	float: none !important;
	position: static !important;
	top: auto !important;
	transform: none !important;
	display: block !important;
	width: 100% !important;
	max-width: 1120px !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 30px !important;
	background: var(--knm-white) !important;
	border: 1px solid var(--knm-border) !important;
	border-radius: 22px !important;
	box-shadow: var(--knm-shadow) !important;
	clear: both !important;
	outline: 0 !important;
}

html body.single-product .related.products > h2 {
	margin: 0 0 24px !important;
	color: var(--knm-green) !important;
	-webkit-text-fill-color: var(--knm-green) !important;
	font-size: 25px !important;
	font-weight: 850 !important;
	line-height: 1.2 !important;
}

html body.single-product .related.products ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 24px !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	float: none !important;
	clear: both !important;
}

html body.single-product .related.products ul.products::before,
html body.single-product .related.products ul.products::after {
	display: none !important;
	content: none !important;
}

html body.single-product .related.products ul.products li.product {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	float: none !important;
	clear: none !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	min-height: 350px !important;
	margin: 0 !important;
	padding: 20px 18px 22px !important;
	background: var(--knm-soft) !important;
	border: 1px solid rgba(0, 61, 40, 0.12) !important;
	border-radius: 20px !important;
	box-shadow: 0 14px 34px rgba(0, 31, 20, 0.08) !important;
	text-align: center !important;
	overflow: hidden !important;
}

html body.single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	align-items: center !important;
	width: 100% !important;
	text-decoration: none !important;
}

html body.single-product .related.products ul.products li.product img {
	display: block !important;
	width: 100% !important;
	max-width: 185px !important;
	height: 170px !important;
	margin: 0 auto 16px !important;
	padding: 14px !important;
	object-fit: contain !important;
	object-position: center !important;
	background: #ffffff !important;
	border: 1px solid rgba(0, 61, 40, 0.08) !important;
	border-radius: 16px !important;
	box-shadow: none !important;
}

html body.single-product .related.products ul.products li.product .woocommerce-loop-product__title {
	min-height: 42px !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
	color: var(--knm-green) !important;
	-webkit-text-fill-color: var(--knm-green) !important;
	font-size: 16px !important;
	font-weight: 850 !important;
	line-height: 1.3 !important;
}

html body.single-product .related.products ul.products li.product .price,
html body.single-product .related.products ul.products li.product .price * {
	margin: 0 0 16px !important;
	color: var(--knm-green) !important;
	-webkit-text-fill-color: var(--knm-green) !important;
	font-size: 14px !important;
	font-weight: 850 !important;
	opacity: 1 !important;
}

html body.single-product .related.products ul.products li.product a.button,
html body.single-product .related.products ul.products li.product .button,
html body.single-product .related.products ul.products li.product .add_to_cart_button,
html body.single-product .related.products ul.products li.product .product_type_simple,
html body.single-product .related.products ul.products li.product .product_type_variable {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	align-self: center !important;
	width: auto !important;
	min-width: 140px !important;
	min-height: 42px !important;
	margin: auto 0 0 !important;
	padding: 0 22px !important;
	background: var(--knm-lime) !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	letter-spacing: 0.04em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	box-shadow: 0 10px 24px rgba(67, 191, 79, 0.24) !important;
	opacity: 1 !important;
}

html body.single-product .related.products ul.products li.product a.button:hover,
html body.single-product .related.products ul.products li.product .button:hover {
	background: var(--knm-green) !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
}

/* =========================================================
   HOMEPAGE + SHOP / SHORTCODE PRODUCT CARDS
   v1.3.2: Supports the custom /shop-knm/ page, WooCommerce
   shortcodes, Elementor product widgets, and archive pages.
========================================================= */

/* Product-loop shell. The body class is injected by this plugin, so this
   works even when the page is a normal WordPress page rather than is_shop(). */
html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce,
html body.knm-ui-force-recovery.knm-ui-product-grid-page .woocommerce {
	width: min(1180px, calc(100% - 40px)) !important;
	max-width: 1180px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	color: var(--knm-text) !important;
}

html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products,
html body.knm-ui-force-recovery.knm-ui-product-grid-page .woocommerce ul.products,
html body.home .woocommerce ul.products,
html body.woocommerce-shop .woocommerce ul.products,
html body.post-type-archive-product .woocommerce ul.products,
html body.tax-product_cat .woocommerce ul.products,
html body.tax-product_tag .woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 30px !important;
	width: 100% !important;
	max-width: 1120px !important;
	margin: 34px auto 72px !important;
	padding: 0 !important;
	list-style: none !important;
	float: none !important;
	clear: both !important;
}

html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products::before,
html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products::after,
html body.knm-ui-force-recovery.knm-ui-product-grid-page .woocommerce ul.products::before,
html body.knm-ui-force-recovery.knm-ui-product-grid-page .woocommerce ul.products::after {
	display: none !important;
	content: none !important;
}

/* Equal-height premium product card. */
html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products li.product,
html body.knm-ui-force-recovery.knm-ui-product-grid-page .woocommerce ul.products li.product,
html body.home .woocommerce ul.products li.product,
html body.woocommerce-shop .woocommerce ul.products li.product,
html body.post-type-archive-product .woocommerce ul.products li.product,
html body.tax-product_cat .woocommerce ul.products li.product,
html body.tax-product_tag .woocommerce ul.products li.product {
	position: relative !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch !important;
	float: none !important;
	clear: none !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	min-height: 455px !important;
	margin: 0 !important;
	padding: 22px 22px 25px !important;
	background: var(--knm-white) !important;
	border: 1px solid var(--knm-border) !important;
	border-radius: 22px !important;
	box-shadow: var(--knm-shadow) !important;
	text-align: center !important;
	overflow: hidden !important;
	transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease !important;
}

html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products li.product:hover,
html body.knm-ui-force-recovery.knm-ui-product-grid-page .woocommerce ul.products li.product:hover {
	transform: translateY(-6px) !important;
	border-color: rgba(0, 61, 40, 0.24) !important;
	box-shadow: var(--knm-shadow-hover) !important;
}

/* Make the product link occupy the card body so all buttons align. */
html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products li.product > a.woocommerce-loop-product__link,
html body.knm-ui-force-recovery.knm-ui-product-grid-page .woocommerce ul.products li.product > a.woocommerce-LoopProduct-link,
html body.knm-ui-force-recovery.knm-ui-product-grid-page .woocommerce ul.products li.product > a.woocommerce-loop-product__link {
	display: flex !important;
	flex: 1 1 auto !important;
	flex-direction: column !important;
	align-items: center !important;
	width: 100% !important;
	color: inherit !important;
	text-decoration: none !important;
}

html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products li.product img,
html body.knm-ui-force-recovery.knm-ui-product-grid-page .woocommerce ul.products li.product img,
html body.home .woocommerce ul.products li.product img,
html body.woocommerce-shop .woocommerce ul.products li.product img,
html body.post-type-archive-product .woocommerce ul.products li.product img,
html body.tax-product_cat .woocommerce ul.products li.product img,
html body.tax-product_tag .woocommerce ul.products li.product img {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	height: 255px !important;
	margin: 0 auto 20px !important;
	padding: 16px !important;
	object-fit: contain !important;
	object-position: center !important;
	background: linear-gradient(145deg, #ffffff 0%, var(--knm-soft) 100%) !important;
	border: 1px solid rgba(0, 61, 40, 0.08) !important;
	border-radius: 17px !important;
	box-shadow: none !important;
	transition: transform 0.22s ease !important;
}

html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products li.product:hover img,
html body.knm-ui-force-recovery.knm-ui-product-grid-page .woocommerce ul.products li.product:hover img {
	transform: scale(1.025) !important;
}

html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products li.product .woocommerce-loop-product__title,
html body.knm-ui-force-recovery.knm-ui-product-grid-page .woocommerce ul.products li.product .woocommerce-loop-product__title {
	min-height: 48px !important;
	margin: 0 0 10px !important;
	padding: 0 !important;
	color: var(--knm-green) !important;
	-webkit-text-fill-color: var(--knm-green) !important;
	font-size: 18px !important;
	font-weight: 850 !important;
	line-height: 1.3 !important;
	letter-spacing: -0.015em !important;
	opacity: 1 !important;
}

html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products li.product .price,
html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products li.product .price *,
html body.knm-ui-force-recovery.knm-ui-product-grid-page .woocommerce ul.products li.product .price,
html body.knm-ui-force-recovery.knm-ui-product-grid-page .woocommerce ul.products li.product .price * {
	display: block !important;
	margin: 0 0 18px !important;
	color: var(--knm-green) !important;
	-webkit-text-fill-color: var(--knm-green) !important;
	font-size: 15px !important;
	font-weight: 850 !important;
	line-height: 1.35 !important;
	opacity: 1 !important;
}

/* Add to cart and Select options buttons. */
html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products li.product a.button,
html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products li.product .button,
html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products li.product .add_to_cart_button,
html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products li.product .product_type_simple,
html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products li.product .product_type_variable,
html body.knm-ui-force-recovery.knm-ui-product-grid-page .woocommerce ul.products li.product a.button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	align-self: center !important;
	width: auto !important;
	min-width: 158px !important;
	min-height: 46px !important;
	margin: auto auto 0 !important;
	padding: 0 25px !important;
	background: var(--knm-lime) !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	border: 0 !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	letter-spacing: 0.045em !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	box-shadow: 0 12px 27px rgba(67, 191, 79, 0.25) !important;
	transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
	opacity: 1 !important;
}

html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products li.product a.button:hover,
html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products li.product .button:hover,
html body.knm-ui-force-recovery.knm-ui-product-grid-page .woocommerce ul.products li.product a.button:hover {
	background: var(--knm-green) !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	transform: translateY(-2px) !important;
	box-shadow: 0 14px 30px rgba(0, 61, 40, 0.22) !important;
}

html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products li.product a.added_to_cart,
html body.knm-ui-force-recovery.knm-ui-product-grid-page .woocommerce ul.products li.product a.added_to_cart {
	display: block !important;
	margin: 12px auto 0 !important;
	color: var(--knm-green) !important;
	font-size: 12px !important;
	font-weight: 850 !important;
	text-decoration: none !important;
}

/* WooCommerce Blocks support, in case the shop page is converted later. */
html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .wc-block-grid__products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 30px !important;
	margin: 34px auto 72px !important;
	padding: 0 !important;
}

html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .wc-block-grid__product {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 22px 22px 25px !important;
	background: var(--knm-white) !important;
	border: 1px solid var(--knm-border) !important;
	border-radius: 22px !important;
	box-shadow: var(--knm-shadow) !important;
}

html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .wc-block-grid__product .wp-block-button__link {
	min-height: 46px !important;
	padding: 0 25px !important;
	background: var(--knm-lime) !important;
	color: #ffffff !important;
	border-radius: 999px !important;
	font-size: 11px !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
}

/* Footer icon containment. */
html body footer a[href*="facebook.com"],
html body footer a[href*="instagram.com"],
html body footer a[href*="tiktok.com"],
html body footer a[href*="youtube.com"],
html body footer a[href*="youtu.be"],
html body .elementor-location-footer a[href*="facebook.com"],
html body .elementor-location-footer a[href*="instagram.com"],
html body .elementor-location-footer a[href*="tiktok.com"],
html body .elementor-location-footer a[href*="youtube.com"] {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 0 0 34px !important;
	width: 34px !important;
	min-width: 34px !important;
	max-width: 34px !important;
	height: 34px !important;
	min-height: 34px !important;
	max-height: 34px !important;
	margin: 0 5px !important;
	padding: 0 !important;
	border-radius: 50% !important;
	overflow: hidden !important;
	transform: none !important;
}

html body footer a[href*="youtube.com"] svg,
html body footer a[href*="youtube.com"] i,
html body .elementor-location-footer a[href*="youtube.com"] svg,
html body .elementor-location-footer a[href*="youtube.com"] i {
	width: 14px !important;
	max-width: 14px !important;
	height: 14px !important;
	max-height: 14px !important;
	font-size: 13px !important;
	transform: none !important;
}

@media (max-width: 980px) {
	html body.single-product .woocommerce div.product,
	html body.single-product main div.product.type-product,
	html body.single-product #primary div.product.type-product {
		grid-template-columns: 1fr !important;
		grid-template-areas: "gallery" "summary" "tabs" "related" !important;
		column-gap: 0 !important;
		row-gap: 26px !important;
	}

	html body.single-product .woocommerce div.product div.images,
	html body.single-product .woocommerce div.product div.summary {
		max-width: 760px !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products,
	html body.knm-ui-force-recovery.knm-ui-product-grid-page .woocommerce ul.products,
	html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .wc-block-grid__products,
	html body.single-product .related.products ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 640px) {
	html body.single-product .woocommerce {
		width: min(100% - 24px, 1120px) !important;
		padding: 18px 0 60px !important;
	}

	html body.single-product .woocommerce-product-gallery__image a {
		height: 315px !important;
		min-height: 315px !important;
	}

	html body.single-product .woocommerce-product-gallery__image img,
	html body.single-product .woocommerce div.product div.images img {
		height: 285px !important;
		max-height: 285px !important;
	}

	html body.single-product .woocommerce div.product div.images,
	html body.single-product .woocommerce div.product div.summary,
	html body.single-product .woocommerce div.product .woocommerce-tabs,
	html body.single-product .related.products {
		padding: 20px !important;
		border-radius: 18px !important;
	}

	html body.single-product .woocommerce div.product .product_title {
		font-size: 34px !important;
	}

	html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products,
	html body.knm-ui-force-recovery.knm-ui-product-grid-page .woocommerce ul.products,
	html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .wc-block-grid__products,
	html body.single-product .related.products ul.products {
		grid-template-columns: 1fr !important;
	}

	html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products li.product,
	html body.knm-ui-force-recovery.knm-ui-product-grid-page .woocommerce ul.products li.product {
		min-height: 0 !important;
	}

	html body.knm-ui-force-recovery:not(.single-product):not(.woocommerce-cart):not(.woocommerce-checkout) .woocommerce ul.products li.product img,
	html body.knm-ui-force-recovery.knm-ui-product-grid-page .woocommerce ul.products li.product img {
		height: 270px !important;
	}
}
