.woocommerce .woocommerce-breadcrumb { margin-bottom: 24px; color: var(--ndk-muted); font-size: 14px; }
.woocommerce .woocommerce-breadcrumb a { color: var(--ndk-muted); }
.woocommerce .woocommerce-breadcrumb a:hover { color: var(--ndk-primary); }
.woocommerce-products-header { margin-bottom: 34px; }
.woocommerce-products-header__title.page-title { margin-bottom: 12px; }
.term-description { max-width: 780px; color: var(--ndk-muted); }
.woocommerce .woocommerce-result-count { margin: 12px 0 28px; color: var(--ndk-muted); }
.woocommerce .woocommerce-ordering { margin: 0 0 28px; }
.woocommerce .woocommerce-ordering select { min-width: 240px; min-height: 46px; padding-right: 38px; border-color: var(--ndk-border); }
.woocommerce ul.products { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(24px, 3vw, 36px) 24px; margin: 0; padding: 0; list-style: none; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product, .woocommerce-page ul.products li.product { position: relative; width: auto; min-width: 0; display: flex; float: none; flex-direction: column; align-items: stretch; margin: 0; padding: 0 0 14px; overflow: hidden; border: 1px solid var(--ndk-border); border-radius: var(--ndk-radius-md); background: #fff; transition: transform var(--ndk-transition), border-color var(--ndk-transition), box-shadow var(--ndk-transition); }
.woocommerce ul.products li.product:hover { border-color: #d5d5d5; box-shadow: var(--ndk-shadow); transform: translateY(-4px); }
.woocommerce ul.products li.product > a.woocommerce-LoopProduct-link { display: flex; flex: 1; flex-direction: column; }
.ndk-product-image-frame { aspect-ratio: 1 / 1; display: grid; place-items: center; margin-bottom: 10px; overflow: hidden; padding: 18px; background: #f7f7f7; }
.ndk-product-image-frame img, .woocommerce ul.products li.product a img { width: 100%; height: 100%; margin: 0; object-fit: contain; object-position: center; transition: transform 300ms ease; }
.woocommerce ul.products li.product:hover .ndk-product-image-frame img { transform: scale(1.035); }
.woocommerce span.onsale { position: absolute; top: 18px; right: -42px; left: auto; z-index: 4; width: 150px; min-width: 0; min-height: 28px; display: grid; place-items: center; margin: 0; padding: 5px 10px; border-radius: 0; background: var(--ndk-primary); color: #fff; font-size: 12px; font-weight: 700; line-height: 1; transform: rotate(45deg); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { min-height: 52px; margin: 0; padding: 0 20px; color: var(--ndk-ink); font-family: var(--ndk-heading); font-size: 17px; font-weight: 600; line-height: 1.5; }
.woocommerce ul.products li.product .price { min-height: 34px; margin: 0; padding: 0 20px; color: var(--ndk-primary); font-size: 18px; font-weight: 600; }
.woocommerce ul.products li.product .price del { margin-right: 5px; color: #999; font-size: 14px; font-weight: 400; opacity: 1; }
.woocommerce ul.products li.product .price ins { color: var(--ndk-primary); text-decoration: none; }
.ndk-from { color: var(--ndk-muted); font-size: 14px; font-weight: 400; }
.woocommerce ul.products li.product .button { display: block; min-height: 42px; align-self: stretch; margin: 12px 16px 4px; padding: 9px 14px; border: 1px solid var(--ndk-primary); border-radius: var(--ndk-pill); background: var(--ndk-primary); color: #fff; font-size: 13px; font-weight: 600; letter-spacing: .04em; line-height: 1.6; text-align: center; text-transform: uppercase; transition: background var(--ndk-transition), border-color var(--ndk-transition), transform var(--ndk-transition); }
.woocommerce ul.products li.product .button:hover { border-color: var(--ndk-primary-hover); background: var(--ndk-primary-hover); color: #fff; transform: translateY(-1px); }
.woocommerce ul.products li.product .added_to_cart { margin: 10px 20px 0; color: var(--ndk-primary); font-weight: 600; }
.woocommerce nav.woocommerce-pagination { margin-top: 55px; }
.woocommerce nav.woocommerce-pagination ul { display: flex; justify-content: center; gap: 8px; border: 0; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 42px; height: 42px; display: grid; place-items: center; padding: 0; border: 1px solid var(--ndk-border); border-radius: 50%; background: #fff; color: var(--ndk-ink); }
.woocommerce nav.woocommerce-pagination ul li span.current, .woocommerce nav.woocommerce-pagination ul li a:hover { border-color: var(--ndk-primary); background: var(--ndk-primary); color: #fff; }
.woocommerce .woocommerce-no-products-found { padding-block: 50px; text-align: center; }

/* WooCommerce's smallscreen stylesheet forces li.product to width:48% + float,
   which shrinks cards inside our grid columns. Neutralise it everywhere. */
body.ndk-storefront .woocommerce ul.products li.product,
body.ndk-storefront .woocommerce-page ul.products li.product,
body.ndk-storefront.woocommerce ul.products li.product,
body.ndk-storefront.woocommerce-page ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
}
