/**
 * Shop archive — grid, product cards, filters/sorting bar.
 * Portrait product-card layout inspired by Zalando / About You.
 */

.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--bz-space-6) var(--bz-space-5);
	margin: var(--bz-space-6) 0;
}

.woocommerce ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	float: none;
	position: relative;
}

/* ---- Card shell ---- */
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
	display: block;
	color: inherit;
}

.woocommerce ul.products li.product .bz-card-media,
.woocommerce ul.products li.product a img {
	border-radius: var(--bz-radius-md);
	overflow: hidden;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	background: var(--bz-surface-alt);
	width: 100%;
	transition: transform var(--bz-duration-slow) var(--bz-ease);
}

.woocommerce ul.products li.product {
	overflow: visible;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
	overflow: hidden;
	border-radius: var(--bz-radius-md);
}

.woocommerce ul.products li.product:hover img {
	transform: scale(1.045);
}

/* Second image on hover (WooCommerce supports data-o_src swap via core JS) */
.woocommerce ul.products li.product a img + img {
	position: absolute;
	inset: 0;
	opacity: 0;
	transition: opacity var(--bz-duration-base) var(--bz-ease);
}
.woocommerce ul.products li.product:hover a img + img { opacity: 1; }

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product h2,
.woocommerce-loop-category__title {
	font-family: var(--bz-font-body);
	font-size: var(--bz-fs-sm);
	font-weight: 500;
	color: var(--bz-ink);
	margin: var(--bz-space-3) 0 var(--bz-space-1);
	line-height: var(--bz-lh-normal);
}

.woocommerce ul.products li.product .price {
	font-family: var(--bz-font-body);
	font-size: var(--bz-fs-sm);
	color: var(--bz-ink);
	font-weight: 600;
}
.woocommerce ul.products li.product .price del {
	color: var(--bz-muted);
	font-weight: 400;
	opacity: 0.8;
	margin-right: var(--bz-space-2);
}
.woocommerce ul.products li.product .price ins {
	text-decoration: none;
	color: var(--bz-sale);
}

/* Star rating */
.woocommerce ul.products li.product .star-rating {
	font-size: var(--bz-fs-xs);
	margin: var(--bz-space-1) 0;
	color: var(--bz-gold);
}

/* Sale / new badges */
.woocommerce span.onsale {
	position: absolute;
	top: var(--bz-space-3);
	left: var(--bz-space-3);
	min-height: auto;
	min-width: auto;
	background: var(--bz-ink);
	color: #fff;
	font-size: var(--bz-fs-xs);
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	border-radius: var(--bz-radius-pill);
	padding: 0.3em 0.9em;
	line-height: 1.6;
	right: auto;
	margin: 0;
	z-index: 2;
}

/* Quick add-to-cart button — appears on hover on desktop, always visible on touch */
.woocommerce ul.products li.product .add_to_cart_button,
.woocommerce ul.products li.product a.button {
	display: block;
	width: 100%;
	margin-top: var(--bz-space-3);
	text-align: center;
	font-size: var(--bz-fs-xs);
	padding: 0.75em 1em;
}

.woocommerce ul.products li.product .added_to_cart {
	display: block;
	text-align: center;
	font-size: var(--bz-fs-xs);
	margin-top: var(--bz-space-2);
}

/* ---- Toolbar: result count + ordering ---- */
.woocommerce-notices-wrapper + .woocommerce-top,
.woocommerce-result-count,
.woocommerce-ordering {
	font-size: var(--bz-fs-sm);
}

.woocommerce .nv-woo-cart-shortcode ~ .woocommerce-result-count,
.woocommerce-result-count {
	color: var(--bz-muted);
}

.woocommerce-ordering select {
	border-radius: var(--bz-radius-pill);
	padding: 0.6em 2em 0.6em 1.2em;
	font-size: var(--bz-fs-xs);
}

.bz-shop-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--bz-space-4);
	padding: var(--bz-space-4) 0;
	border-bottom: 1px solid var(--bz-border);
	margin-bottom: var(--bz-space-2);
	flex-wrap: wrap;
}

/* ---- Sidebar filters (price filter widget, layered nav) ---- */
.widget_price_filter .price_slider_amount .button {
	float: none;
	padding: 0.55em 1.4em;
	font-size: var(--bz-fs-xs);
}
.widget_layered_nav ul,
.widget_product_categories ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.widget_layered_nav ul li,
.widget_product_categories ul li {
	padding: var(--bz-space-2) 0;
	border-bottom: 1px solid var(--bz-border);
	font-size: var(--bz-fs-sm);
}
.widget-title,
.widgettitle {
	font-family: var(--bz-font-display);
	font-size: var(--bz-fs-md);
	margin-bottom: var(--bz-space-3);
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul {
	border: none;
	gap: var(--bz-space-2);
	display: flex;
}
.woocommerce nav.woocommerce-pagination ul li {
	border: none;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border: 1px solid var(--bz-border-strong);
	border-radius: var(--bz-radius-pill);
	min-width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--bz-ink);
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--bz-ink);
	color: #fff;
	border-color: var(--bz-ink);
}

/* ---- Empty state ---- */
.woocommerce-info.woocommerce-no-products-found {
	text-align: center;
	padding: var(--bz-space-8) var(--bz-space-5);
}

/* ---- Shop layout with optional sidebar (see inc/woocommerce.php) ---- */
.woocommerce-page .container:has(.shop-sidebar) {
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: var(--bz-space-8);
	align-items: start;
}
.shop-sidebar .widget { margin-bottom: var(--bz-space-6); }
