.woocommerce :where(.products, .wc-block-grid__products) {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

.woocommerce ul.products::before,.woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { width:auto!important; margin:0!important; float:none!important; display:flex; flex-direction:column; }
.woocommerce ul.products li.product img { width:100%; aspect-ratio:1; object-fit:contain; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:18px; line-height:1.7; }
.woocommerce ul.products li.product .button { margin-top:auto; }
.woocommerce-product-search { display:flex; gap:12px; max-width:820px; }
.woocommerce-product-search .search-field { flex:1; min-width:0; padding:14px; border:1px solid var(--eh-border); border-radius:10px; }
.woocommerce-product-search button,.single_add_to_cart_button { padding:12px 24px; color:#fff; background:var(--eh-red); border:0; border-radius:10px; }
form.cart { display:flex; flex-wrap:wrap; gap:12px; align-items:center; }
form.cart .qty { width:80px; padding:12px; }
.eh-button--checkout { margin-top:12px; background:var(--eh-ink); border-color:var(--eh-ink); color:#fff; }
.eh-button--checkout:hover { background:var(--eh-red); border-color:var(--eh-red); }
.woocommerce .quantity .qty { width:80px; }
.woocommerce ul.products li.product { border:1px solid var(--eh-border); border-top:3px solid var(--eh-red); box-shadow:var(--eh-shadow); padding:18px; }
.woocommerce ul.products li.product:hover { border-color:var(--eh-red); box-shadow:0 16px 36px rgba(215,25,32,.16); }
.woocommerce :where(table.shop_table,.cart_totals,.woocommerce-checkout-review-order,.woocommerce-billing-fields,.woocommerce-shipping-fields,#payment) { border:1px solid var(--eh-ink); border-top:3px solid var(--eh-red); box-shadow:5px 5px 0 var(--eh-ink); padding:24px; margin-bottom:32px; }
.woocommerce :where(td,th) { padding:16px!important; line-height:1.8; }
.woocommerce .form-row { margin-bottom:20px; }
.woocommerce .form-row label { display:block; line-height:1.8; margin-bottom:8px; }
.woocommerce :where(input,textarea,select) { min-height:48px; line-height:1.6; }
.woocommerce input[type=radio],.woocommerce input[type=checkbox] { width:auto; min-height:0; }
.woocommerce :where(.button,button.button) { box-shadow:3px 3px 0 var(--eh-ink); line-height:1.6; }
.woocommerce :where(.button,button.button):hover { background:var(--eh-ink); color:#fff; border-color:var(--eh-ink); box-shadow:3px 3px 0 var(--eh-red); }
@media(max-width:767px) { .woocommerce :where(table.shop_table,.cart_totals,.woocommerce-checkout-review-order,.woocommerce-billing-fields,.woocommerce-shipping-fields,#payment) { padding:16px; } }
.woocommerce .col2-set,.woocommerce-page .col2-set { width:100%; }
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2 { width:100%; float:none; }
.woocommerce-checkout #customer_details,.woocommerce-checkout #order_review { padding:20px; }
.woocommerce-checkout .form-row input.input-text { padding:12px; }

.woocommerce :where(.product, .wc-block-grid__product),
.elementor-widget-woocommerce-products .product,
.jkit-product-grid .product {
	min-width: 0;
	padding: 16px;
	background: var(--eh-surface);
	border: 1px solid var(--eh-border);
	border-radius: var(--eh-radius-card);
	box-shadow: var(--eh-shadow);
	overflow: hidden;
}

.woocommerce :where(.button, button.button, input.button),
.eh-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 20px;
	background: var(--eh-red);
	color: #fff;
	border: 1px solid var(--eh-red);
	border-radius: 10px;
	font-weight: 700;
	text-decoration: none;
}

.eh-button--whatsapp {
	background: var(--eh-whatsapp);
	border-color: var(--eh-whatsapp);
	color: var(--eh-ink);
}

.eh-cart-secondary-actions {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
	margin-top: 14px;
}

.eh-cart-secondary-actions .eh-button { width: 100%; }
.eh-button--continue { background: #fff; color: var(--eh-ink); border-color: var(--eh-ink); }

@media (max-width: 480px) {
	.eh-cart-secondary-actions { grid-template-columns: 1fr; }
}

.eh-request-price,
.woocommerce .price {
	color: var(--eh-red);
	font-weight: 800;
}

.woocommerce :where(table.shop_table, .cart_totals, .woocommerce-checkout-review-order, .woocommerce-billing-fields, .woocommerce-shipping-fields) {
	width: 100%;
	background: var(--eh-surface);
	border: 1px solid var(--eh-border);
	border-radius: var(--eh-radius-card);
}

.woocommerce :where(input, select, textarea) {
	min-height: 46px;
	width: 100%;
	border: 1px solid var(--eh-border);
	border-radius: 8px;
}

/* Four compact, equal cards are deliberate on desktop for both home and shop. */
.eh-main .woocommerce ul.products {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.eh-main .woocommerce ul.products li.product {
	border: 1px solid var(--eh-border);
	border-top: 3px solid var(--eh-red);
	box-shadow: var(--eh-shadow);
}

/* Related products use the same four-card family layout as the archive. */
.single-product .related ul.products,
.single-product .upsells ul.products {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
}

@media (max-width: 900px) {
	.woocommerce :where(.products, .wc-block-grid__products) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 560px) {
	.woocommerce :where(.products, .wc-block-grid__products) {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* WooCommerce's checkout stylesheet loads late, so the payment journey needs
 * a deliberate, higher-specificity brand finish instead of its grey defaults. */
body.woocommerce-cart .eh-main :where(.woocommerce-cart-form, .cart_totals),
body.woocommerce-checkout .eh-main :where(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-checkout-review-order, #payment) {
	background: var(--eh-surface) !important;
	border: 1.5px solid var(--eh-ink) !important;
	border-top: 3px solid var(--eh-red) !important;
	border-radius: 18px !important;
	box-shadow: 6px 6px 0 var(--eh-ink) !important;
	padding: 24px !important;
	margin-bottom: 36px;
}

body.woocommerce-checkout .eh-main #payment {
	border: 1.5px solid var(--eh-ink) !important;
	border-top: 3px solid var(--eh-red) !important;
}

body.woocommerce-checkout .eh-main :where(.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper) {
	display: grid;
	gap: 20px;
}

@media (max-width: 767px) {
	body.woocommerce-cart .eh-main :where(.woocommerce-cart-form, .cart_totals),
	body.woocommerce-checkout .eh-main :where(.woocommerce-billing-fields, .woocommerce-shipping-fields, .woocommerce-checkout-review-order, #payment) {
		padding: 18px !important;
		box-shadow: 4px 4px 0 var(--eh-ink) !important;
	}
}
