/* =========================================================
   KNM COMMERCE UI FINAL v1.2.0
   Permanent scoped ownership:
   - Homepage WooCommerce cards
   - /shop-knm/ and product archives
   - Single-product main layout
   - Additional Information
   - Related Products
========================================================= */

html body.home,
html body.page-id-297,
html body.woocommerce-shop,
html body.post-type-archive-product,
html body.tax-product_cat,
html body.tax-product_tag,
html body.single-product {
	--knm-green: #003d28;
	--knm-green-dark: #002b1d;
	--knm-lime: #43bf4f;
	--knm-lime-hover: #2f9f40;
	--knm-cream: #f6f3ea;
	--knm-card: #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);
}

/* =========================================================
   SHARED PRODUCT LOOP RESET
========================================================= */

html body.home ul.products,
html body.page-id-297 ul.products,
html body.woocommerce-shop ul.products,
html body.post-type-archive-product ul.products,
html body.tax-product_cat ul.products,
html body.tax-product_tag ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 28px !important;
	width: min(1120px, calc(100% - 40px)) !important;
	max-width: 1120px !important;
	margin: 32px auto 68px !important;
	padding: 0 !important;
	list-style: none !important;
	float: none !important;
	clear: both !important;
}

html body.home ul.products::before,
html body.home ul.products::after,
html body.page-id-297 ul.products::before,
html body.page-id-297 ul.products::after,
html body.woocommerce-shop ul.products::before,
html body.woocommerce-shop ul.products::after,
html body.post-type-archive-product ul.products::before,
html body.post-type-archive-product ul.products::after {
	display: none !important;
	content: none !important;
}

html body.home ul.products li.product,
html body.page-id-297 ul.products li.product,
html body.woocommerce-shop ul.products li.product,
html body.post-type-archive-product ul.products li.product,
html body.tax-product_cat ul.products li.product,
html body.tax-product_tag 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: 410px !important;
	margin: 0 !important;
	padding: 21px 19px 24px !important;
	background: var(--knm-card) !important;
	border: 1px solid var(--knm-border) !important;
	border-radius: 20px !important;
	box-shadow: var(--knm-shadow) !important;
	text-align: center !important;
	overflow: hidden !important;
	opacity: 1 !important;
}

html body.home ul.products li.product:hover,
html body.page-id-297 ul.products li.product:hover,
html body.woocommerce-shop ul.products li.product:hover {
	transform: translateY(-4px) !important;
	border-color: rgba(67, 191, 79, 0.35) !important;
	box-shadow: var(--knm-shadow-hover) !important;
}

html body.home ul.products li.product a.woocommerce-LoopProduct-link,
html body.page-id-297 ul.products li.product a.woocommerce-LoopProduct-link,
html body.woocommerce-shop ul.products li.product a.woocommerce-LoopProduct-link,
html body.post-type-archive-product ul.products li.product a.woocommerce-LoopProduct-link {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	width: 100% !important;
	flex: 1 1 auto !important;
	text-decoration: none !important;
}

html body.home ul.products li.product img,
html body.page-id-297 ul.products li.product img,
html body.woocommerce-shop ul.products li.product img,
html body.post-type-archive-product ul.products li.product img,
html body.tax-product_cat ul.products li.product img,
html body.tax-product_tag ul.products li.product img {
	display: block !important;
	width: 100% !important;
	max-width: 225px !important;
	height: 215px !important;
	margin: 0 auto 18px !important;
	padding: 14px !important;
	object-fit: contain !important;
	object-position: center !important;
	background: var(--knm-soft) !important;
	border: 1px solid rgba(0, 61, 40, 0.07) !important;
	border-radius: 16px !important;
	box-shadow: none !important;
	opacity: 1 !important;
}

html body.home ul.products li.product .woocommerce-loop-product__title,
html body.page-id-297 ul.products li.product .woocommerce-loop-product__title,
html body.woocommerce-shop ul.products li.product .woocommerce-loop-product__title,
html body.post-type-archive-product ul.products li.product .woocommerce-loop-product__title,
html body.tax-product_cat ul.products li.product .woocommerce-loop-product__title,
html body.tax-product_tag ul.products li.product .woocommerce-loop-product__title {
	min-height: 48px !important;
	margin: 0 0 9px !important;
	padding: 0 !important;
	color: var(--knm-green) !important;
	-webkit-text-fill-color: var(--knm-green) !important;
	font-size: 18px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	opacity: 1 !important;
}

html body.home ul.products li.product .price,
html body.home ul.products li.product .price *,
html body.page-id-297 ul.products li.product .price,
html body.page-id-297 ul.products li.product .price *,
html body.woocommerce-shop ul.products li.product .price,
html body.woocommerce-shop ul.products li.product .price *,
html body.post-type-archive-product ul.products li.product .price,
html body.post-type-archive-product ul.products li.product .price * {
	margin: 0 0 18px !important;
	color: var(--knm-green) !important;
	-webkit-text-fill-color: var(--knm-green) !important;
	font-size: 15px !important;
	font-weight: 800 !important;
	opacity: 1 !important;
}

html body.home ul.products li.product a.button,
html body.page-id-297 ul.products li.product a.button,
html body.woocommerce-shop ul.products li.product a.button,
html body.post-type-archive-product ul.products li.product a.button,
html body.tax-product_cat ul.products li.product a.button,
html body.tax-product_tag 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: 150px !important;
	min-height: 44px !important;
	margin: auto 0 0 !important;
	padding: 0 23px !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 11px 25px rgba(67, 191, 79, 0.25) !important;
	opacity: 1 !important;
}

/* =========================================================
   SINGLE PRODUCT 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 .woocommerce {
	position: static !important;
	top: auto !important;
	transform: none !important;
	width: min(1160px, calc(100% - 40px)) !important;
	max-width: 1160px !important;
	min-height: 0 !important;
	margin: 0 auto !important;
	padding: 26px 0 82px !important;
	color: var(--knm-text) !important;
	font-family: "Open Sans", Arial, Helvetica, sans-serif !important;
}

html body.single-product .woocommerce-breadcrumb {
	position: static !important;
	top: auto !important;
	transform: none !important;
	width: 100% !important;
	margin: 0 0 22px !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 {
	position: static !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	transform: none !important;
	display: grid !important;
	grid-template-columns: minmax(0, 1.05fr) minmax(380px, 0.95fr) !important;
	grid-template-areas:
		"gallery summary"
		"tabs tabs"
		"related related" !important;
	column-gap: 40px !important;
	row-gap: 34px !important;
	align-items: stretch !important;
	align-content: start !important;
	width: 100% !important;
	max-width: 1160px !important;
	min-height: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	clear: both !important;
}

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

/* Gallery */
html body.single-product .woocommerce div.product div.images,
html body.single-product .woocommerce-product-gallery {
	grid-area: gallery !important;
	float: none !important;
	position: relative !important;
	top: 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: 24px !important;
	background: var(--knm-card) !important;
	border: 1px solid var(--knm-border) !important;
	border-radius: 24px !important;
	box-shadow: var(--knm-shadow) !important;
	overflow: hidden !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: 455px !important;
	min-height: 455px !important;
	margin: 0 !important;
	padding: 16px !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: 415px !important;
	max-height: 415px !important;
	margin: 0 auto !important;
	padding: 0 !important;
	object-fit: contain !important;
	object-position: center !important;
	transform: scale(1.08) !important;
	transform-origin: center !important;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	opacity: 1 !important;
}

/* Summary */
html body.single-product .woocommerce div.product div.summary {
	grid-area: summary !important;
	float: none !important;
	position: static !important;
	top: auto !important;
	transform: none !important;
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	min-height: 505px !important;
	height: auto !important;
	margin: 0 !important;
	padding: 40px !important;
	background: var(--knm-card) !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;
}

html body.single-product .woocommerce div.product .product_title {
	margin: 0 0 18px !important;
	color: var(--knm-green) !important;
	-webkit-text-fill-color: var(--knm-green) !important;
	font-size: clamp(38px, 3.6vw, 52px) !important;
	font-weight: 800 !important;
	line-height: 1.06 !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 * {
	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 form.cart,
html body.single-product .woocommerce-variation-add-to-cart {
	display: flex !important;
	align-items: center !important;
	flex-wrap: wrap !important;
	gap: 12px !important;
	width: 100% !important;
	margin-top: 20px !important;
}

html body.single-product form.cart .quantity input.qty {
	width: 70px !important;
	height: 54px !important;
	min-height: 54px !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 .single_add_to_cart_button,
html body.single-product button.single_add_to_cart_button,
html body.single-product form.cart button.button {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	flex: 1 1 210px !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;
	letter-spacing: 0.05em !important;
	text-transform: uppercase !important;
	box-shadow: 0 14px 30px rgba(67, 191, 79, 0.27) !important;
	opacity: 1 !important;
}

html body.single-product .product_meta,
html body.single-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;
}

/* Tabs */
html body.single-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: 32px !important;
	background: var(--knm-card) !important;
	border: 1px solid var(--knm-border) !important;
	border-radius: 22px !important;
	box-shadow: var(--knm-shadow) !important;
	clear: both !important;
}

html body.single-product .woocommerce-tabs ul.tabs {
	display: none !important;
}

html body.single-product .woocommerce-tabs h2,
html body.single-product .woocommerce-Tabs-panel h2 {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	min-height: 42px !important;
	margin: 0 0 22px !important;
	padding: 0 26px !important;
	background: var(--knm-green) !important;
	color: #ffffff !important;
	-webkit-text-fill-color: #ffffff !important;
	border-radius: 999px !important;
	font-size: 14px !important;
	font-weight: 900 !important;
}

/* Related */
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: none !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 34px !important;
	background: var(--knm-card) !important;
	border: 1px solid var(--knm-border) !important;
	border-radius: 22px !important;
	box-shadow: var(--knm-shadow) !important;
	clear: both !important;
}

html body.single-product section.related.products > h2,
html body.single-product .related.products > h2 {
	margin: 0 0 26px !important;
	color: var(--knm-green) !important;
	-webkit-text-fill-color: var(--knm-green) !important;
	font-size: 29px !important;
	font-weight: 900 !important;
	opacity: 1 !important;
}

html body.single-product section.related.products ul.products,
html body.single-product .related.products ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(230px, 280px)) !important;
	justify-content: start !important;
	align-items: stretch !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 li.product {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	width: 100% !important;
	max-width: 280px !important;
	min-height: 385px !important;
	margin: 0 !important;
	padding: 20px 18px 24px !important;
	background: var(--knm-soft) !important;
	border: 1px solid rgba(0, 61, 40, 0.11) !important;
	border-radius: 19px !important;
	box-shadow: 0 13px 32px rgba(0, 31, 20, 0.08) !important;
	text-align: center !important;
	overflow: hidden !important;
	opacity: 1 !important;
}

html body.single-product .related.products ul.products li.product img {
	display: block !important;
	width: 100% !important;
	max-width: 210px !important;
	height: 190px !important;
	margin: 0 auto 17px !important;
	padding: 13px !important;
	object-fit: contain !important;
	background: #ffffff !important;
	border: 1px solid rgba(0, 61, 40, 0.08) !important;
	border-radius: 15px !important;
	opacity: 1 !important;
}

html body.single-product .related.products .woocommerce-loop-product__title {
	min-height: 46px !important;
	margin: 0 0 9px !important;
	color: var(--knm-green) !important;
	-webkit-text-fill-color: var(--knm-green) !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	opacity: 1 !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: 800 !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 a.add_to_cart_button,
html body.single-product .related.products ul.products li.product a.product_type_simple,
html body.single-product .related.products ul.products li.product a.product_type_variable {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	align-self: center !important;
	width: auto !important;
	min-width: 150px !important;
	min-height: 43px !important;
	margin: auto 0 0 !important;
	padding: 0 23px !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;
	letter-spacing: 0.045em !important;
	text-transform: uppercase !important;
	box-shadow: 0 11px 25px rgba(67, 191, 79, 0.25) !important;
	opacity: 1 !important;
}

/* Responsive */
@media (max-width: 980px) {
	html body.home ul.products,
	html body.page-id-297 ul.products,
	html body.woocommerce-shop ul.products,
	html body.post-type-archive-product ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	html body.single-product .woocommerce div.product {
		grid-template-columns: 1fr !important;
		grid-template-areas:
			"gallery"
			"summary"
			"tabs"
			"related" !important;
		gap: 28px !important;
	}
}

@media (max-width: 640px) {
	html body.home ul.products,
	html body.page-id-297 ul.products,
	html body.woocommerce-shop ul.products,
	html body.post-type-archive-product ul.products {
		grid-template-columns: 1fr !important;
		width: min(100% - 24px, 420px) !important;
	}

	html body.single-product .woocommerce {
		width: min(100% - 24px, 1160px) !important;
		padding: 20px 0 58px !important;
	}

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

	html body.single-product .woocommerce-product-gallery__image img,
	html body.single-product .woocommerce div.product div.images img {
		height: 292px !important;
		max-height: 292px !important;
		transform: scale(1.05) !important;
	}

	html body.single-product .woocommerce div.product div.summary {
		min-height: 0 !important;
		padding: 26px 21px !important;
	}

	html body.single-product form.cart .quantity,
	html body.single-product form.cart .quantity input.qty,
	html body.single-product .single_add_to_cart_button,
	html body.single-product button.single_add_to_cart_button {
		width: 100% !important;
	}

	html body.single-product .woocommerce-tabs,
	html body.single-product section.related.products,
	html body.single-product .related.products {
		padding: 22px 16px !important;
	}

	html body.single-product .related.products ul.products {
		grid-template-columns: 1fr !important;
		justify-items: center !important;
	}
}
