body {
			--gn-loop-card-bg: #ffffff;
			--gn-loop-card-border: #dce9e2;
			--gn-loop-card-text: #1b4730;
			--gn-loop-card-muted: #7f8d84;
			--gn-loop-card-muted-2: #66786d;
			--gn-loop-card-price-old: #a1adb6;
			--gn-loop-card-sale: #f05a47;
			--gn-loop-card-accent: #167344;
			--gn-loop-card-accent-dark: #0f5f38;
			--gn-loop-card-shadow: 0 10px 24px rgba(18, 38, 28, 0.08);
		}

		body .products {
			row-gap: 18px;
		}
		

		body .greennature-loop-card-item .greennature-loop-card-box.product-small.box,
		body .product-small.box.box-normal {
			background: var(--gn-loop-card-bg);
			border: 1px solid var(--gn-loop-card-border);
			border-radius: 18px;
			overflow: hidden;
			box-shadow: 0 4px 14px rgba(18, 38, 28, 0.04);
			transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
		}

		body .greennature-loop-card-item:hover .greennature-loop-card-box.product-small.box,
		body .greennature-loop-card-item .greennature-loop-card-box.product-small.box:hover,
		body .col:hover .product-small.box.box-normal,
		body .product-small.box.box-normal:hover {
			transform: translateY(-4px);
			border-color: #c4dccf;
			box-shadow: var(--gn-loop-card-shadow);
		}

		body .greennature-loop-card-item .greennature-loop-card-box .box-image,
		body .product-small.box.box-normal .box-image {
			border-radius: 18px 18px 0 0;
			overflow: hidden;
		}

		body .greennature-loop-card-item .greennature-loop-card-box .box-image img,
		body .product-small.box.box-normal .box-image img {
			transition: transform 0.4s ease;
		}

		body .greennature-loop-card-item:hover .greennature-loop-card-box .box-image img,
		body .greennature-loop-card-item .greennature-loop-card-box.product-small.box:hover .box-image img,
		body .col:hover .product-small.box.box-normal .box-image img,
		body .product-small.box.box-normal:hover .box-image img {
			transform: scale(1.035);
		}

		body .greennature-loop-card-item .greennature-loop-card-box .box-text,
		body .product-small.box.box-normal .box-text {
			position: relative;
			display: flex;
			flex-direction: column;
			gap: 8px;
			min-height: 150px;
			padding: 15px 12px 16px !important;
		}

		body .greennature-loop-card-item .greennature-loop-card-box .title-wrapper,
		body .product-small.box.box-normal .title-wrapper {
			display: block !important;
			margin: 0 !important;
		}

		body .greennature-loop-card-item .greennature-loop-card-box .title-wrapper .product-cat,
		body .product-small.box.box-normal .title-wrapper .product-cat {
			display: block;
			margin-bottom: 6px;
			color: var(--gn-loop-card-accent);
			font-size: 11px;
			font-weight: 700;
			letter-spacing: 0.08em;
			text-transform: uppercase;
		}

		body .greennature-loop-card-item .greennature-loop-card-box .title-wrapper .star-rating,
		body .greennature-loop-card-item .greennature-loop-card-box .price-wrapper > .star-rating,
		body .product-small.box.box-normal .title-wrapper .star-rating,
		body .product-small.box.box-normal .price-wrapper > .star-rating {
			display: none !important;
		}

		body .greennature-loop-card-item .greennature-loop-card-box .title-wrapper .name.product-title,
		body .product-small.box.box-normal .title-wrapper .name.product-title {
			display: -webkit-box;
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 2;
			overflow: hidden;	
			text-overflow: ellipsis;
			line-height: 1.4;
			min-height: 2.8em;
			font-size: 16px !important;
			font-weight: 700 !important;
			margin: 0;
		}

		body .greennature-loop-card-item .greennature-loop-card-box .title-wrapper .name.product-title a,
		body .product-small.box.box-normal .title-wrapper .name.product-title a {
			color: var(--gn-loop-card-text) !important;
		}

		body .greennature-loop-card-item .greennature-loop-card-box .price-wrapper,
		body .product-small.box.box-normal .price-wrapper {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			grid-template-areas:
				"price icon"
				"meta icon";
			align-items: end;
			column-gap: 12px;
			row-gap: 6px;
			margin-top: auto;
		}

		body .greennature-loop-card-item .greennature-loop-card-box .price-wrapper .price,
		body .product-small.box.box-normal .price-wrapper .price {
			grid-area: price;
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			gap: 4px;
			margin: 0 !important;
			min-width: 0;
			color: var(--gn-loop-card-text);
			line-height: 1.1;
		}

		body .greennature-loop-card-item .greennature-loop-card-box .price-wrapper .price .gn-sale-percent,
		body .product-small.box.box-normal .price-wrapper .price .gn-sale-percent {
			display: none;
		}

		body .greennature-loop-card-item .greennature-loop-card-box .price > .amount,
		body .greennature-loop-card-item .greennature-loop-card-box .price ins,
		body .product-small.box.box-normal .price > .amount,
		body .product-small.box.box-normal .price ins {
			display: block;
			margin: 0;
			color: var(--gn-loop-card-text);
			font-size: 18px !important;
			font-weight: 800 !important;
			line-height: 1.15;
			text-decoration: none;
		}

		body .greennature-loop-card-item .greennature-loop-card-box .price del,
		body .product-small.box.box-normal .price del {
			margin: 0;
			opacity: 1;
			color: var(--gn-loop-card-price-old);
			font-size: 14px;
			font-weight: 500;
			line-height: 1.1;
		}

		body .greennature-loop-card-item .greennature-loop-card-box .price del .amount,
		body .product-small.box.box-normal .price del .amount {
			font-size: 14px;
			font-weight: 500;
		}

		body .greennature-loop-card-item .greennature-loop-card-box .price .greennature-loop-price-meta,
		body .product-small.box.box-normal .price .greennature-loop-price-meta {
			flex-wrap: wrap;
			gap: 6px;
			line-height: 1.1;
			flex-direction: row;
		}

		body .greennature-loop-card-item .greennature-loop-card-box .price .greennature-loop-discount,
		body .product-small.box.box-normal .price .greennature-loop-discount {
			color: #ffffff;
			font-size: 13px;
			background: red;
			border-radius: 4px;
			padding: 2px 2px;
			font-weight: 700;
		}

		body .greennature-loop-card-item .greennature-loop-card-box .onsale,
		body .product-small.box.box-normal .onsale {
			background: var(--gn-loop-card-sale) !important;
			color: #fff !important;
			border-radius: 999px;
			font-size: 11px;
			font-weight: 700;
			padding: 6px 10px;
			min-height: auto;
			line-height: 1.1;
		}

		body .greennature-loop-card-item .greennature-loop-card-box .greennature-loop-sales-meta,
		body .product-small.box.box-normal .greennature-loop-sales-meta {
			grid-area: meta;
			display: inline-flex;
			align-items: center;
			flex-wrap: wrap;
			gap: 6px;
			min-width: 0;
			color: var(--gn-loop-card-muted-2);
			font-size: 12px;
			font-weight: 400;
			line-height: 1.3;
		}

		body .greennature-loop-card-item .greennature-loop-card-box .greennature-loop-sales-meta__rating,
		body .product-small.box.box-normal .greennature-loop-sales-meta__rating {
			display: inline-flex;
			align-items: center;
			gap: 4px;
			color: #44584e;
		}

		body .greennature-loop-card-item .greennature-loop-card-box .greennature-loop-sales-meta__star,
		body .product-small.box.box-normal .greennature-loop-sales-meta__star {
			color: #f5a623;
			font-size: 13px;
		}

		body .greennature-loop-card-item .greennature-loop-card-box .greennature-loop-sales-meta__dot,
		body .product-small.box.box-normal .greennature-loop-sales-meta__dot {
			color: #99a8a0;
		}

		body .greennature-loop-card-item .greennature-loop-card-box .greennature-loop-sales-meta__sold,
		body .product-small.box.box-normal .greennature-loop-sales-meta__sold {
			color: var(--gn-loop-card-muted-2);
		}

		body .greennature-loop-card-item .greennature-loop-card-box .greennature-loop-cart-icon,
		body .product-small.box.box-normal .greennature-loop-cart-icon {
			grid-area: icon;
			align-self: end;
			width: 42px;
			height: 42px;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			padding: 0 !important;
			margin: 0 !important;
			min-height: 42px !important;
			line-height: 1 !important;
			border-radius: 10px;
			border: 2px solid rgba(255, 255, 255, 0.92);
			background: linear-gradient(135deg, var(--gn-loop-card-accent) 0%, var(--gn-loop-card-accent-dark) 100%);
			color: #fff !important;
			box-shadow: 0 5px 10px rgba(22, 115, 68, 0.18);
			transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
		}

		body .greennature-loop-card-item .greennature-loop-card-box .greennature-loop-cart-icon:hover,
		body .greennature-loop-card-item .greennature-loop-card-box .greennature-loop-cart-icon:focus-visible,
		body .product-small.box.box-normal .greennature-loop-cart-icon:hover,
		body .product-small.box.box-normal .greennature-loop-cart-icon:focus-visible {
			transform: translateY(-1px);
			box-shadow: 0 12px 20px rgba(22, 115, 68, 0.22);
		}

		body .greennature-loop-card-item .greennature-loop-card-box .greennature-loop-cart-icon svg,
		body .product-small.box.box-normal .greennature-loop-cart-icon svg {
			width: 20px;
			height: 20px;
			stroke: currentColor;
		}

		body .greennature-loop-card-item .greennature-loop-card-box .greennature-loop-cart-icon--disabled,
		body .product-small.box.box-normal .greennature-loop-cart-icon--disabled {
			background: #e7f2eb !important;
			border-color: #d4e6dc;
			color: #7f9a8b !important;
			box-shadow: none;
			opacity: 1;
			cursor: default;
		}

		@media (max-width: 849px) {
			body .greennature-loop-card-item .greennature-loop-card-box .title-wrapper .product-cat,
			body .product-small.box.box-normal .title-wrapper .product-cat {
				font-size: 10px;
				margin-bottom: 5px;
			}

			body .greennature-loop-card-item .greennature-loop-card-box .title-wrapper .name.product-title,
			body .product-small.box.box-normal .title-wrapper .name.product-title {
				font-size: 14px !important;
				line-height: 1.35;
				min-height: 38px;
			}

			body .greennature-loop-card-item .greennature-loop-card-box .box-text,
			body .product-small.box.box-normal .box-text {
				gap: 6px;
				min-height: 132px;
				padding: 13px 10px 12px !important;
			}

			body .greennature-loop-card-item .greennature-loop-card-box .price-wrapper,
			body .product-small.box.box-normal .price-wrapper {
				align-items: end;
				column-gap: 8px;
				grid-template-areas:
					"price price"
					"meta icon";
				row-gap: 7px;
			}

			body .greennature-loop-card-item .greennature-loop-card-box .price-wrapper .price,
			body .product-small.box.box-normal .price-wrapper .price {
				gap: 3px;
			}

			body .greennature-loop-card-item .greennature-loop-card-box .price > .amount,
			body .greennature-loop-card-item .greennature-loop-card-box .price ins,
			body .product-small.box.box-normal .price > .amount,
			body .product-small.box.box-normal .price ins {
				font-size: 17px !important;
			}

			body .greennature-loop-card-item .greennature-loop-card-box .price del,
			body .greennature-loop-card-item .greennature-loop-card-box .price del .amount,
			body .greennature-loop-card-item .greennature-loop-card-box .price .greennature-loop-discount,
			body .product-small.box.box-normal .price del,
			body .product-small.box.box-normal .price del .amount,
			body .product-small.box.box-normal .price .greennature-loop-discount {
				font-size: 12px;
			}

			body .greennature-loop-card-item .greennature-loop-card-box .price .greennature-loop-price-meta,
			body .product-small.box.box-normal .price .greennature-loop-price-meta {
				flex-wrap: nowrap;
				gap: 4px;
				margin-top: 1px;
				white-space: nowrap;
			}

			body .greennature-loop-card-item .greennature-loop-card-box .greennature-loop-sales-meta,
			body .product-small.box.box-normal .greennature-loop-sales-meta {
				font-size: 11px;
				gap: 4px;
				padding-right: 4px;
			}

			body .greennature-loop-card-item .greennature-loop-card-box .greennature-loop-sales-meta__rating,
			body .product-small.box.box-normal .greennature-loop-sales-meta__rating {
				gap: 3px;
			}

			body .greennature-loop-card-item .greennature-loop-card-box .greennature-loop-sales-meta__star,
			body .product-small.box.box-normal .greennature-loop-sales-meta__star {
				font-size: 12px;
			}

			body .greennature-loop-card-item .greennature-loop-card-box .greennature-loop-sales-meta__sold,
			body .product-small.box.box-normal .greennature-loop-sales-meta__sold {
				overflow: hidden;
				text-overflow: ellipsis;
				white-space: nowrap;
			}

			body .greennature-loop-card-item .greennature-loop-card-box .greennature-loop-cart-icon,
			body .product-small.box.box-normal .greennature-loop-cart-icon {
				align-self: end;
				justify-self: end;
				width: 34px;
				height: 34px;
				min-height: 34px !important;
				border-radius: 10px !important;
			}

			body .greennature-loop-card-item .greennature-loop-card-box .greennature-loop-cart-icon svg,
			body .product-small.box.box-normal .greennature-loop-cart-icon svg {
				width: 17px;
				height: 17px;
			}
		}

		/* Unified card rules for all product loops (shop, home, related, shortcode). */
		body .product-small.box {
			background: var(--gn-loop-card-bg);
			border: 1px solid var(--gn-loop-card-border);
			border-radius: 18px;
			overflow: hidden;
			box-shadow: 0 4px 14px rgba(18, 38, 28, 0.04);
			transition: transform 0.22s ease, box-shadow 0.22s ease, border-color 0.22s ease;
		}

		body .col:hover .product-small.box,
		body .product-small.box:hover {
			transform: translateY(-4px);
			border-color: #c4dccf;
			box-shadow: var(--gn-loop-card-shadow);
		}

		body .product-small.box .box-image {
			border-radius: 18px 18px 0 0;
			overflow: hidden;
		}

		body .product-small.box .box-image img {
			transition: transform 0.4s ease;
		}

		body .col:hover .product-small.box .box-image img,
		body .product-small.box:hover .box-image img {
			transform: scale(1.035);
		}

		body .product-small.box.box-normal .box-text,
		body .product-small.box .box-text {
			position: relative;
			display: flex;
			flex-direction: column;
			gap: 8px;
			min-height: 150px;
			padding: 13px 10px 10px !important;
		}

		body .product-small.box .title-wrapper {
			display: block !important;
			margin: 0 !important;
		}

		body .product-small.box .title-wrapper .product-cat {
			display: block;
			margin-bottom: 6px;
			color: var(--gn-loop-card-accent);
			font-size: 11px;
			font-weight: 700;
			letter-spacing: 0.08em;
			text-transform: uppercase;
		}

		body .product-small.box .title-wrapper .star-rating,
		body .product-small.box .price-wrapper > .star-rating {
			display: none !important;
		}

		body .product-small.box .title-wrapper .name.product-title {
			display: -webkit-box;
			-webkit-box-orient: vertical;
			-webkit-line-clamp: 2;
			overflow: hidden;
			text-overflow: ellipsis;
			line-height: 1.4;
			min-height: 2.8em;
			font-size: 16px !important;
			font-weight: 700 !important;
			margin: 0;
		}

		body .product-small.box .title-wrapper .name.product-title a {
			color: var(--gn-loop-card-text) !important;
		}

		body .product-small.box .price-wrapper {
			display: grid;
			grid-template-columns: minmax(0, 1fr) auto;
			grid-template-areas:
				"price icon"
				"meta icon";
			align-items: end;
			column-gap: 12px;
			row-gap: 6px;
			margin-top: auto;
		}

		body .product-small.box .price-wrapper .price {
			grid-area: price;
			display: flex;
			flex-direction: column;
			align-items: flex-start;
			gap: 4px;
			margin: 0 !important;
			min-width: 0;
			color: var(--gn-loop-card-text);
			line-height: 1.1;
		}

		body .product-small.box .price-wrapper .price .gn-sale-percent {
			display: none;
		}

		body .product-small.box .price > .amount,
		body .product-small.box .price ins {
			display: block;
			margin: 0;
			color: var(--gn-loop-card-text);
			font-size: 18px !important;
			font-weight: 800 !important;
			line-height: 1.15;
			text-decoration: none;
		}

		body .product-small.box .price del {
			margin: 0;
			opacity: 1;
			color: var(--gn-loop-card-price-old);
			font-size: 14px;
			font-weight: 500;
			line-height: 1.1;
		}

		body .product-small.box .price del .amount {
			font-size: 14px;
			font-weight: 500;
		}

		body .product-small.box .price .greennature-loop-price-meta {
			flex-wrap: wrap;
			gap: 6px;
			line-height: 1.1;
			flex-direction: row;
		}

		body .product-small.box .price .greennature-loop-discount {
			color: #ffffff;
			font-size: 13px;
			background: red;
			border-radius: 4px;
			padding: 2px 2px;
			font-weight: 700;
		}

		body .product-small.box .onsale {
			background: var(--gn-loop-card-sale) !important;
			color: #fff !important;
			border-radius: 999px;
			font-size: 11px;
			font-weight: 700;
			padding: 6px 10px;
			min-height: auto;
			line-height: 1.1;
		}

		body .product-small.box .greennature-loop-sales-meta {
			grid-area: meta;
			display: inline-flex;
			align-items: center;
			flex-wrap: wrap;
			gap: 6px;
			min-width: 0;
			color: var(--gn-loop-card-muted-2);
			font-size: 12px;
			font-weight: 400;
			line-height: 1.3;
		}

		body .product-small.box .greennature-loop-sales-meta__rating {
			display: inline-flex;
			align-items: center;
			gap: 4px;
			color: #44584e;
		}

		body .product-small.box .greennature-loop-sales-meta__star {
			color: #f5a623;
			font-size: 13px;
		}

		body .product-small.box .greennature-loop-sales-meta__dot {
			color: #99a8a0;
		}

		body .product-small.box .greennature-loop-sales-meta__sold {
			color: var(--gn-loop-card-muted-2);
		}

		body .product-small.box .greennature-loop-cart-icon {
			grid-area: icon;
			align-self: end;
			width: 42px;
			height: 42px;
			display: inline-flex;
			align-items: center;
			justify-content: center;
			padding: 0 !important;
			margin: 0 !important;
			min-height: 42px !important;
			line-height: 1 !important;
			border-radius: 10px;
			border: 2px solid rgba(255, 255, 255, 0.92);
			background: linear-gradient(135deg, var(--gn-loop-card-accent) 0%, var(--gn-loop-card-accent-dark) 100%);
			color: #fff !important;
			box-shadow: 0 5px 10px rgba(22, 115, 68, 0.18);
			transition: transform 0.18s ease, box-shadow 0.18s ease, opacity 0.18s ease;
		}

		body .product-small.box .greennature-loop-cart-icon:hover,
		body .product-small.box .greennature-loop-cart-icon:focus-visible {
			transform: translateY(-1px);
			box-shadow: 0 12px 20px rgba(22, 115, 68, 0.22);
		}

		body .product-small.box .greennature-loop-cart-icon svg {
			width: 20px;
			height: 20px;
			stroke: currentColor;
		}

		body .product-small.box .greennature-loop-cart-icon--disabled {
			background: #e7f2eb !important;
			border-color: #d4e6dc;
			color: #7f9a8b !important;
			box-shadow: none;
			opacity: 1;
			cursor: default;
		}

		@media (max-width: 849px) {
			body .product-small.box .title-wrapper .product-cat {
				font-size: 10px;
				margin-bottom: 5px;
			}

			body .product-small.box .title-wrapper .name.product-title {
				font-size: 14px !important;
				line-height: 1.35;
				min-height: 38px;
			}

			body .product-small.box.box-normal .box-text,
			body .product-small.box .box-text {
				gap: 6px;
				min-height: 132px;
				padding: 13px 10px 10px !important;
			}

			body .product-small.box .price-wrapper {
				align-items: end;
				column-gap: 8px;
				grid-template-areas:
					"price price"
					"meta icon";
				row-gap: 7px;
			}

			body .product-small.box .price-wrapper .price {
				gap: 3px;
			}

			body .product-small.box .price > .amount,
			body .product-small.box .price ins {
				font-size: 17px !important;
			}

			body .product-small.box .price del,
			body .product-small.box .price del .amount,
			body .product-small.box .price .greennature-loop-discount {
				font-size: 12px;
			}

			body .product-small.box .price .greennature-loop-price-meta {
				flex-wrap: nowrap;
				gap: 4px;
				margin-top: 1px;
				white-space: nowrap;
			}

			body .product-small.box .greennature-loop-sales-meta {
				font-size: 11px;
				gap: 4px;
				padding-right: 4px;
			}

			body .product-small.box .greennature-loop-sales-meta__rating {
				gap: 3px;
			}

			body .product-small.box .greennature-loop-sales-meta__star {
				font-size: 12px;
			}

			body .product-small.box .greennature-loop-sales-meta__sold {
				overflow: hidden;
				text-overflow: ellipsis;
				white-space: nowrap;
			}

			body .product-small.box .greennature-loop-cart-icon {
				align-self: end;
				justify-self: end;
				width: 34px;
				height: 34px;
				min-height: 34px !important;
				border-radius: 10px !important;
			}

			body .product-small.box .greennature-loop-cart-icon svg {
				width: 17px;
				height: 17px;
			}
		}

		/* Force all loop-card product titles to 2 lines with ellipsis. */
		body .product-small.box .title-wrapper .product-title,
		body .product-small.box .title-wrapper .name.product-title,
		body .product-small.box .title-wrapper .woocommerce-loop-product__title {
			display: -webkit-box !important;
			-webkit-box-orient: vertical !important;
			-webkit-line-clamp: 2 !important;
			overflow: hidden !important;
			text-overflow: ellipsis !important;
			white-space: normal !important;
			line-height: 1.4 !important;
			min-height: 2.8em !important;
			margin: 0 !important;
		}

		body .product-small.box .title-wrapper .product-title > a,
		body .product-small.box .title-wrapper .name.product-title > a,
		body .product-small.box .title-wrapper .woocommerce-loop-product__title > a {
			display: -webkit-box !important;
			-webkit-box-orient: vertical !important;
			-webkit-line-clamp: 2 !important;
			overflow: hidden !important;
			text-overflow: ellipsis !important;
			white-space: normal !important;
			line-height: 1.4 !important;
			color: var(--gn-loop-card-text) !important;
		}

		/* Home shortcode variants: hard-stop title at 2 lines. */
		body.home .product-small .product-title,
		body.home .product-small .name.product-title,
		body.home .product-small .woocommerce-loop-product__title,
		body.home .product-small .product-title a,
		body.home .product-small .name.product-title a,
		body.home .product-small .woocommerce-loop-product__title a {
			display: -webkit-box !important;
			-webkit-box-orient: vertical !important;
			-webkit-line-clamp: 2 !important;
			overflow: hidden !important;
			text-overflow: ellipsis !important;
			white-space: normal !important;
			line-height: 1.4 !important;
			max-height: 2.8em !important;
		}

		/* Fixed product-card height across loops to avoid uneven columns. */
		body .greennature-loop-card-item > .col-inner {
			display: flex;
			height: 100%;
		}

		body .product-small.box {
			display: flex;
			flex: 1 1 auto;
			flex-direction: column;
			height: 100%;
		}

		body .product-small.box .box-text {
			height: 186px !important;
			min-height: 186px !important;
		}

		body .product-small.box .price-wrapper {
			min-height: 72px;
		}

		@media (max-width: 849px) {
			body .product-small.box .box-text {
				height: 162px !important;
				min-height: 162px !important;
			}

			body .product-small.box .price-wrapper {
				min-height: 66px;
			}
		}
