/* Shared catalog cards: never target the main single-product summary or cart rows. */
body :is(.e-loop-item.product,ul.products > li.product,.wc-block-grid__product) { --ng-card-green:#14533f; position:relative; display:flex; flex-direction:column; min-width:0; padding:0 !important; border:1px solid #dce4df !important; border-radius:10px !important; overflow:hidden; background:#fff !important; text-align:left; box-shadow:0 2px 6px #173f3008; cursor:pointer; }
body :is(.e-loop-item.product,ul.products > li.product,.wc-block-grid__product):hover { border-color:#bd973e !important; box-shadow:0 5px 16px #173f3014; }
body :is(.e-loop-item.product,ul.products > li.product,.wc-block-grid__product) a:focus-visible { outline:3px solid #bd973e; outline-offset:-3px; }
/* Flatten the two existing Elementor loop wrappers without rebuilding YITH controls. */
body .e-loop-item.product > .e-con,body .e-loop-item.product > .e-con > .e-con-inner { display:contents !important; }
body .e-loop-item.product .elementor-widget-theme-post-featured-image { order:0; width:100% !important; margin:0 !important; padding:0 !important; }
body .e-loop-item.product .elementor-widget-theme-post-featured-image a { display:block; aspect-ratio:1; background:#f5f7f5; }
body .e-loop-item.product .elementor-widget-theme-post-featured-image img { display:block; width:100% !important; height:100% !important; aspect-ratio:1; object-fit:contain !important; border-radius:0 !important; margin:0 !important; }
body .e-loop-item.product .elementor-widget-woocommerce-product-title { order:10; width:auto !important; margin:14px 16px 10px !important; padding:0 !important; text-align:left !important; }
body .e-loop-item.product .product_title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; min-height:3.2em; margin:0 !important; font-size:18px !important; line-height:1.6 !important; font-weight:500 !important; color:#213c32 !important; overflow-wrap:anywhere; }
body .e-loop-item.product .product_title a { color:inherit; }
body .e-loop-item.product [data-e-type="widget"].e-paragraph-base,body .e-loop-item.product .elementor-widget-rating { display:none !important; }
body .e-loop-item.product .elementor-widget-woocommerce-product-price { order:20; width:auto !important; margin:auto 16px 0 !important; padding:6px 0 10px !important; text-align:left !important; }
body :is(.e-loop-item.product,ul.products > li.product,.wc-block-grid__product) .price { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px; margin:0; color:#14533f !important; font-size:24px !important; font-weight:700 !important; line-height:1.45 !important; }
body :is(.e-loop-item.product,ul.products > li.product,.wc-block-grid__product) .price del { order:2; color:#6b756f !important; opacity:1 !important; font-size:15px !important; font-weight:400 !important; }
body :is(.e-loop-item.product,ul.products > li.product,.wc-block-grid__product) .price ins { order:1; color:#14533f !important; background:none !important; font-weight:700 !important; text-decoration:none; }
body :is(.e-loop-item.product,ul.products > li.product,.wc-block-grid__product) .price ins,body :is(.e-loop-item.product,ul.products > li.product,.wc-block-grid__product) .price :is(.amount,bdi) { font-size:inherit !important; }
body .e-loop-item.product .elementor-widget-yith_wcwl_add_to_wishlist { position:static !important; order:30; width:auto !important; margin:0 16px 16px !important; padding:0 !important; transform:none !important; }
body :is(.e-loop-item.product,ul.products > li.product) .yith-add-to-wishlist-button-block { display:flex; width:100%; padding:0 !important; margin:0 !important; }
body :is(.e-loop-item.product,ul.products > li.product,.wc-block-grid__product) .yith-wcwl-add-to-wishlist-button { display:flex !important; align-items:center; justify-content:center; width:100%; min-height:50px; padding:10px 8px !important; margin:0 !important; border:1px solid #14533f !important; border-radius:6px !important; background:#14533f !important; color:#fff !important; font-size:17px !important; font-weight:600; line-height:1.5; text-decoration:none !important; box-sizing:border-box; }
body :is(.e-loop-item.product,ul.products > li.product,.wc-block-grid__product) .yith-wcwl-add-to-wishlist-button--added { background:#fff4d7 !important; color:#644200 !important; border-color:#bd973e !important; }
body :is(.e-loop-item.product,ul.products > li.product,.wc-block-grid__product) .yith-wcwl-add-to-wishlist-button { min-height:50px !important; height:auto !important; flex-shrink:0; }
body :is(.e-loop-item.product,ul.products > li.product,.wc-block-grid__product) .yith-wcwl-add-to-wishlist-button svg { display:none; }
body .e-loop-item.product .elementor-widget-icon-box.elementor-absolute { order:0; position:absolute !important; top:10px !important; right:10px !important; left:auto !important; width:auto !important; margin:0 !important; padding:5px 10px !important; border:1px solid #dac080; border-radius:5px; background:#fff4d7 !important; z-index:2; }
body .e-loop-item.product .elementor-widget-icon-box.elementor-absolute .elementor-icon-box-title { margin:0; color:#644200 !important; font-size:14px !important; line-height:1.5; }
/* Native WooCommerce related / upsell / shortcode grids. */
body ul.products > li.product > .woocommerce-loop-image-link { display:block; width:100%; aspect-ratio:1; margin:0; background:#f5f7f5; }
body ul.products > li.product > .woocommerce-loop-image-link img { width:100%; height:100%; aspect-ratio:1; object-fit:contain; margin:0; }
body ul.products > li.product .product-details { flex:1; display:flex; flex-direction:column; padding:14px 16px 16px !important; }
body ul.products > li.product .woocommerce-loop-product__title { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:2; overflow:hidden; min-height:3.2em; margin:0 0 10px !important; padding:0; font-size:18px !important; font-weight:500; line-height:1.6; color:#213c32; }
body ul.products > li.product .price { margin:auto 0 12px; }
body ul.products > li.product .product-action-wrap { position:static !important; padding:0; margin:0; opacity:1 !important; transform:none !important; }
body :is(.e-loop-item.product,ul.products > li.product,.wc-block-grid__product) :is(.add_to_cart_button,.ajax_add_to_cart,.added_to_cart,.wc-block-grid__product-add-to-cart) { display:none !important; }
body .e-loop-item.product .elementor-widget-woocommerce-product-add-to-cart { display:none !important; }
body ul.products > li.product .onsale { top:10px; right:10px; left:auto; min-height:0; padding:5px 10px; border-radius:5px; background:#fff4d7; color:#644200; font-size:14px; line-height:1.5; }
.ng-catalog-sort { display:flex; flex-wrap:wrap; align-items:center; gap:12px; padding:16px; margin:0 0 20px; background:#edf1ee; border:1px solid #dde5df; border-radius:8px; color:#213c32; font-size:18px; scroll-margin-top:170px; }
.ng-sort-options { display:flex; gap:10px; }
.ng-sort-help { flex-basis:100%; margin:0 !important; font-size:16px; color:#42594e; }
.ng-catalog-sort .ng-sort-option { display:flex; justify-content:center; align-items:center; min-height:50px; padding:10px 20px; background:#fff; border:1px solid #d4ddd6; border-radius:5px; color:#213c32; text-decoration:none; font-weight:500; }
.ng-catalog-sort .ng-sort-option.is-active { background:#14533f; color:#fff; border-color:#14533f; box-shadow:inset 0 -3px #bd973e; }
.ng-catalog-sort .ng-price-sort { margin:0; }
.ng-catalog-sort select { min-height:50px; min-width:180px; border:1px solid #d4ddd6; border-radius:5px; background-color:#fff; color:#213c32; padding:10px 34px 10px 14px; font:inherit; }
.ng-sort-pages { margin-left:auto; display:flex; align-items:center; gap:8px; white-space:nowrap; font-size:16px; }
.ng-sort-pages > span:first-child { margin-right:8px; }
.ng-sort-pages a,.ng-sort-pages .ng-page-disabled { display:flex; align-items:center; justify-content:center; min-width:48px; min-height:50px; border:1px solid #d4ddd6; border-radius:5px; background:#fff; font-size:32px; line-height:1; text-decoration:none; color:#14533f; }
.ng-sort-pages .ng-page-disabled { color:#9aa49c; background:#f8faf8; }
.ng-catalog-sort a:focus-visible,.ng-catalog-sort select:focus-visible { outline:3px solid #bd973e; outline-offset:2px; }
@media(max-width:767px) {
 body .e-loop-item.product .elementor-widget-woocommerce-product-title { margin:12px 10px 8px !important; }
 body .e-loop-item.product .product_title,body ul.products > li.product .woocommerce-loop-product__title { font-size:16px !important; }
 body .e-loop-item.product .elementor-widget-woocommerce-product-price { margin:auto 10px 0 !important; min-height:70px; }
 body .e-loop-item.product .elementor-widget-yith_wcwl_add_to_wishlist { margin:0 10px 12px !important; }
 body ul.products > li.product .product-details { padding:12px 10px !important; }
 body :is(.e-loop-item.product,ul.products > li.product,.wc-block-grid__product) .price { font-size:21px !important; }
 body :is(.e-loop-item.product,ul.products > li.product,.wc-block-grid__product) .yith-wcwl-add-to-wishlist-button { font-size:16px !important; }
 .ng-catalog-sort { gap:10px; padding:12px; font-size:16px; }
 .ng-sort-label { width:100%; }
 .ng-sort-options { width:100%; display:grid; grid-template-columns:0.8fr 1.4fr 1.4fr; }
 .ng-catalog-sort .ng-sort-option { padding:10px 6px; }
 .ng-price-sort { flex:1; }
 .ng-catalog-sort select { min-width:0; width:100%; }
 .ng-sort-pages { margin-left:0; width:100%; justify-content:flex-end; }
}
