/**
 * ClothB2B Child — WooCommerce layer.
 *
 * Restyles the Shop loop, single product, category/archive header, breadcrumb,
 * result count, ordering, pagination and tabs. Loaded only on WooCommerce pages
 * (conditional enqueue in functions.php). CSS-first to avoid WC template drift;
 * structural tweaks (single-product summary order, price/rating removal) are done
 * via hooks in inc/woocommerce.php.
 *
 * Catalog mode: prices are emptied by the mu-plugin; the !important kills below
 * are the last-line defense so a stray price never shows.
 */

/* ============ Hard kills (catalog mode) ============ */
.woocommerce li.product .price,
.woocommerce-page li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price {
	display: none !important;
}

/* ============ Archive / Shop / category header ============ */
.woocommerce-products-header,
.woocommerce.archive .page-title-bar,
.ast-archive-description {
	background: var(--cb-bg-alt);
	border-bottom: 1px solid var(--cb-line);
	padding: var(--cb-s-7) var(--cb-gutter);
	text-align: center;
	margin-bottom: var(--cb-s-6);
}
.woocommerce-products-header h1,
.woocommerce.archive .page-title,
.ast-archive-description .page-title {
	font-size: var(--cb-fs-h1);
	color: var(--cb-ink);
	margin: 0 0 var(--cb-s-2);
}
.term-description,
.woocommerce-products-header .term-description {
	color: var(--cb-muted);
	max-width: 640px;
	margin: 0 auto;
	font-size: var(--cb-fs-sm);
}

/* Breadcrumb. */
.woocommerce .woocommerce-breadcrumb,
.woocommerce-page .woocommerce-breadcrumb {
	font-size: var(--cb-fs-xs);
	color: var(--cb-muted);
	margin-bottom: var(--cb-s-5);
}
.woocommerce-breadcrumb a { color: var(--cb-ink); }

/* Result count + ordering toolbar. */
.woocommerce .woocommerce-result-count {
	color: var(--cb-muted);
	font-size: var(--cb-fs-sm);
}
.woocommerce .woocommerce-ordering select {
	padding: var(--cb-s-2) var(--cb-s-3);
	border: 1px solid var(--cb-line);
	border-radius: var(--cb-radius);
	font: inherit;
	font-size: var(--cb-fs-sm);
	color: var(--cb-text);
	background: #fff;
}

/* ============ Product loop grid ============ */
.woocommerce ul.products,
.woocommerce-page ul.products {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--cb-s-5);
	margin: 0 0 var(--cb-s-6);
	padding: 0;
	list-style: none;
}
/* Override WC's per-item width (it sets via .columns-N classes). */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #fff;
	border: 1px solid var(--cb-line);
	border-radius: var(--cb-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow var(--cb-dur) var(--cb-ease), transform var(--cb-dur) var(--cb-ease);
}
.woocommerce ul.products li.product:hover {
	box-shadow: var(--cb-shadow-lg);
	transform: translateY(-4px);
}

/* Image link. */
.woocommerce ul.products li.product a,
.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
	display: block;
	text-decoration: none;
}
.woocommerce ul.products li.product a img {
	margin: 0;
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	background: var(--cb-warm-200);
	transition: transform var(--cb-dur-slow) var(--cb-ease);
}
.woocommerce ul.products li.product:hover a img { transform: scale(1.05); }

/* Title. */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	padding: 0;
	font-size: var(--cb-fs-sm);
	font-weight: 700;
	letter-spacing: var(--cb-tracking-wide);
	text-transform: uppercase;
	color: var(--cb-ink);
	padding: var(--cb-s-4) var(--cb-s-4) 0;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title:hover { color: var(--cb-accent); }

/* Inquire button (mu-plugin now ships the .cb-inquire-loop class, no inline style). */
.woocommerce ul.products li.product .cb-inquire-loop {
	display: block;
	margin: var(--cb-s-3) var(--cb-s-4) var(--cb-s-4);
	padding: var(--cb-s-2) var(--cb-s-4);
	font-size: var(--cb-fs-xs);
	font-weight: 700;
	letter-spacing: var(--cb-tracking-wider);
	text-transform: uppercase;
	text-align: center;
	text-decoration: none;
	color: #fff;
	background: var(--cb-ink);
	border: 0;
	border-radius: var(--cb-radius-pill);
	transition: background-color var(--cb-dur) var(--cb-ease), transform var(--cb-dur) var(--cb-ease);
}
.woocommerce ul.products li.product .cb-inquire-loop:hover {
	background: var(--cb-accent);
	color: #fff;
	transform: translateY(-1px);
}

/* Loop rating hidden (catalog focus). */
.woocommerce ul.products li.product .star-rating { display: none; }

/* ============ Single product ============ */
.woocommerce div.product,
.woocommerce-page div.product {
	position: relative;
}
.woocommerce div.product .product_title {
	font-size: var(--cb-fs-h1);
	font-weight: 800;
	color: var(--cb-ink);
	margin-bottom: var(--cb-s-3);
}
.woocommerce div.product .woocommerce-product-details__short-description {
	color: var(--cb-text);
	line-height: var(--cb-lh-body);
	margin-bottom: var(--cb-s-5);
}
.woocommerce div.product .woocommerce-product-details__short-description p { margin: 0 0 var(--cb-s-3); }

/* Product meta / category line. */
.woocommerce div.product .product_meta {
	font-size: var(--cb-fs-sm);
	color: var(--cb-muted);
	border-top: 1px solid var(--cb-line);
	padding-top: var(--cb-s-4);
	margin-top: var(--cb-s-5);
}
.woocommerce div.product .product_meta span { display: block; margin-bottom: var(--cb-s-2); }
.woocommerce div.product .product_meta a { color: var(--cb-ink); text-decoration: underline; }

/* Single-product Inquire button (.cb-inquire-single). */
.woocommerce div.product .cb-inquire-single {
	display: inline-flex;
	align-items: center;
	gap: var(--cb-s-2);
	margin-top: var(--cb-s-4);
	padding: var(--cb-s-4) var(--cb-s-7);
	font-size: var(--cb-fs-sm);
	font-weight: 700;
	letter-spacing: var(--cb-tracking-wider);
	text-transform: uppercase;
	text-decoration: none;
	color: #fff;
	background: var(--cb-accent);
	border: 0;
	border-radius: var(--cb-radius-pill);
	box-shadow: var(--cb-shadow-sm);
	transition: background-color var(--cb-dur) var(--cb-ease), transform var(--cb-dur) var(--cb-ease);
}
.woocommerce div.product .cb-inquire-single:hover {
	background: var(--cb-accent-hover);
	color: #fff;
	transform: translateY(-1px);
}

/* Gallery. */
.woocommerce div.product .woocommerce-product-gallery {
	border: 1px solid var(--cb-line);
	border-radius: var(--cb-radius-lg);
	overflow: hidden;
	background: var(--cb-bg-alt);
}
.woocommerce div.product .woocommerce-product-gallery img {
	border-radius: 0;
}
.woocommerce .flex-control-thumbs li img {
	border-radius: var(--cb-radius-sm);
	opacity: 0.7;
	transition: opacity var(--cb-dur) var(--cb-ease);
}
.woocommerce .flex-control-thumbs li img.flex-active,
.woocommerce .flex-control-thumbs li img:hover { opacity: 1; }

/* Tabs. */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	padding: 0;
	margin: 0 0 var(--cb-s-5);
	border-bottom: 1px solid var(--cb-line);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	border: 0;
	background: transparent;
	margin: 0 var(--cb-s-4) -1px 0;
	padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-size: var(--cb-fs-sm);
	font-weight: 700;
	letter-spacing: var(--cb-tracking-wide);
	text-transform: uppercase;
	color: var(--cb-muted);
	padding: var(--cb-s-3) 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--cb-ink); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid var(--cb-accent); }

.woocommerce div.product .woocommerce-tabs .panel {
	border: 1px solid var(--cb-line);
	border-radius: var(--cb-radius);
	padding: var(--cb-s-5);
	margin-bottom: var(--cb-s-6);
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
	font-size: var(--cb-fs-h4);
	margin-bottom: var(--cb-s-3);
}

/* Related / upsell. */
.woocommerce .related.products h2,
.woocommerce .upsells.products h2 {
	font-size: var(--cb-fs-h2);
	text-align: center;
	margin-bottom: var(--cb-s-6);
}

/* ============ Pagination ============ */
.woocommerce nav.woocommerce-pagination ul {
	border: 0;
	display: flex;
	gap: var(--cb-s-2);
	justify-content: center;
	margin: var(--cb-s-6) 0;
}
.woocommerce nav.woocommerce-pagination ul li {
	border: 0 !important;
}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 var(--cb-s-3);
	border: 1px solid var(--cb-line) !important;
	border-radius: var(--cb-radius) !important;
	background: #fff !important;
	color: var(--cb-ink) !important;
	font-size: var(--cb-fs-sm);
	font-weight: 600;
	text-decoration: none;
	transition: all var(--cb-dur) var(--cb-ease);
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--cb-ink) !important;
	color: #fff !important;
	border-color: var(--cb-ink) !important;
}

/* ============ Notices ============ */
.woocommerce .woocommerce-message,
.woocommerce .woocommerce-info,
.woocommerce-page .woocommerce-message,
.woocommerce-page .woocommerce-info {
	border-top-color: var(--cb-accent);
	background: var(--cb-earth-50);
	border-radius: var(--cb-radius);
}
.woocommerce .woocommerce-message::before,
.woocommerce .woocommerce-info::before { color: var(--cb-accent); }

/* ============ Responsive ============ */
@media (max-width: 1024px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr); }
	/* Single product: WC stacks gallery + summary naturally here. */
}
@media (max-width: 480px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr); gap: var(--cb-s-3); }
}
