/**
 * Shop / product category archive — dark B2B card grid.
 * Replaces WooCommerce layout CSS (theme dequeues WC general/layout).
 * Version: 2.3.12
 */

.b2b-shop-archive{
	--shop-accent:#ff6b00;
	--shop-accent-rgb:255,107,0;
	--shop-bg:#0a0a0f;
	--shop-card:#12121a;
	--shop-card-hover:#161622;
	--shop-border:rgba(255,255,255,0.08);
	--shop-text:#e8e8e8;
	--shop-muted:#a0a0a0;
	--shop-radius:12px;
	padding:28px 0 56px;
	background:
		radial-gradient(circle at 12% 0%,rgba(var(--shop-accent-rgb),0.12),transparent 32%),
		radial-gradient(circle at 88% 8%,rgba(78,163,255,0.08),transparent 28%),
		var(--shop-bg);
	min-height:50vh;
	color:var(--shop-text);
}

.b2b-shop-container{
	width:100%;
	max-width:min(var(--b2b-canvas,1560px),100%);
	margin:0 auto;
	padding:0 var(--b2b-canvas-pad,24px);
	box-sizing:border-box;
}

/* Breadcrumbs / WC notices outside shop container — same canvas */
.woocommerce-breadcrumb,
nav.woocommerce-breadcrumb,
.b2b-content > .woocommerce-notices-wrapper{
	width:100%;
	max-width:min(var(--b2b-canvas,1560px),100%);
	margin-left:auto;
	margin-right:auto;
	padding-left:var(--b2b-canvas-pad,24px);
	padding-right:var(--b2b-canvas-pad,24px);
	box-sizing:border-box;
}
.woocommerce-breadcrumb,
nav.woocommerce-breadcrumb{
	padding-top:16px;
	padding-bottom:0;
	font-size:0.9rem;
	color:var(--shop-muted,#a0a0a0);
}

.b2b-shop-header{
	margin:0 0 28px;
	padding-bottom:18px;
	border-bottom:1px solid var(--shop-border);
}

.b2b-shop-title,
.woocommerce-products-header__title.page-title{
	margin:0 0 10px;
	font-size:clamp(1.6rem,3vw,2.25rem);
	font-weight:800;
	letter-spacing:-0.02em;
	color:var(--shop-text);
	line-height:1.2;
}

.b2b-shop-header .term-description,
.b2b-shop-header .woocommerce-products-header__description,
.woocommerce-products-header p{
	margin:0;
	max-width:72ch;
	color:var(--shop-muted);
	font-size:0.95rem;
	line-height:1.55;
}

/* Toolbar: result count + ordering */
.b2b-shop-archive .woocommerce-result-count{
	color:var(--shop-muted);
	font-size:0.88rem;
	margin:0 0 16px;
}

.b2b-shop-archive .woocommerce-ordering{
	margin:0 0 20px;
}

.b2b-shop-archive .woocommerce-ordering select{
	background:var(--shop-card);
	color:var(--shop-text);
	border:1px solid var(--shop-border);
	border-radius:8px;
	padding:8px 12px;
	font-size:0.88rem;
}

.b2b-shop-archive .woocommerce-notices-wrapper:empty{display:none}

/* Kill list bullets / theme-compat dump leftovers */
.b2b-shop-archive ul.products,
.b2b-shop-archive ul.products li,
.woocommerce ul.products,
.woocommerce-page ul.products{
	list-style:none !important;
	margin:0 !important;
	padding:0 !important;
}

.b2b-shop-archive ul.products li::marker,
.woocommerce ul.products li::marker{
	content:none;
}

#sidebar,
#secondary,
.widget-area,
aside.sidebar,
.b2b-shop-archive ~ #sidebar,
body.woocommerce-page #sidebar,
body.tax-product_cat #sidebar,
body.post-type-archive-product #sidebar{
	display:none !important;
}

/* Product grid */
.b2b-shop-archive ul.products,
.woocommerce ul.products,
.woocommerce-page ul.products{
	display:grid !important;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:22px;
	width:100%;
	clear:both;
}

.b2b-shop-archive ul.products::before,
.b2b-shop-archive ul.products::after,
.woocommerce ul.products::before,
.woocommerce ul.products::after{
	display:none !important;
	content:none !important;
}

.b2b-shop-archive ul.products li.product,
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
	width:100% !important;
	max-width:none !important;
	float:none !important;
	margin:0 !important;
	padding:0 !important;
	display:flex;
	flex-direction:column;
	background:linear-gradient(180deg,rgba(255,255,255,0.06),rgba(255,255,255,0.02));
	border:1px solid var(--shop-border);
	border-radius:var(--shop-radius);
	overflow:hidden;
	box-shadow:0 16px 40px rgba(0,0,0,0.28);
	transition:border-color .2s ease,transform .2s ease,background .2s ease;
}

.b2b-shop-archive ul.products li.product:hover,
.woocommerce ul.products li.product:hover{
	border-color:rgba(var(--shop-accent-rgb),0.45);
	background:var(--shop-card-hover);
	transform:translateY(-3px);
}

.b2b-shop-archive ul.products li.product a,
.woocommerce ul.products li.product a{
	text-decoration:none;
	color:inherit;
}

.b2b-shop-archive ul.products li.product a img,
.woocommerce ul.products li.product a img,
.b2b-shop-archive .woocommerce-LoopProduct-link img{
	width:100%;
	height:auto;
	aspect-ratio:1 / 1;
	object-fit:cover;
	display:block;
	background:#151820;
	margin:0;
	border:0;
}

.b2b-shop-archive ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.b2b-shop-archive ul.products li.product h2,
.b2b-shop-archive ul.products li.product h3{
	font-size:1rem !important;
	font-weight:700 !important;
	line-height:1.35 !important;
	margin:14px 16px 8px !important;
	padding:0 !important;
	color:var(--shop-text) !important;
}

.b2b-shop-archive ul.products li.product .price,
.woocommerce ul.products li.product .price{
	display:block;
	margin:0 16px 12px;
	color:var(--shop-accent);
	font-weight:700;
	font-size:0.95rem;
}

.b2b-shop-archive ul.products li.product .price del{
	color:var(--shop-muted);
	opacity:0.75;
	font-weight:500;
	margin-right:6px;
}

.b2b-shop-archive ul.products li.product .button,
.b2b-shop-archive ul.products li.product a.button,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	margin:auto 16px 16px;
	padding:10px 16px;
	border-radius:8px;
	background:var(--shop-accent);
	color:#fff !important;
	font-weight:700;
	font-size:0.88rem;
	border:1px solid var(--shop-accent);
	text-align:center;
	line-height:1.2;
	transition:filter .15s ease,box-shadow .15s ease;
	box-shadow:0 8px 20px rgba(var(--shop-accent-rgb),0.22);
}

.b2b-shop-archive ul.products li.product .button:hover,
.woocommerce ul.products li.product .button:hover{
	filter:brightness(1.08);
	color:#fff !important;
}

.b2b-shop-archive .onsale{
	position:absolute;
	top:12px;
	left:12px;
	z-index:2;
	background:var(--shop-accent);
	color:#fff;
	font-size:0.72rem;
	font-weight:800;
	padding:4px 10px;
	border-radius:999px;
	letter-spacing:0.04em;
	text-transform:uppercase;
}

.b2b-shop-archive ul.products li.product{
	position:relative;
}

/* Pagination */
.b2b-shop-archive .woocommerce-pagination{
	margin:36px 0 0;
	text-align:center;
}

.b2b-shop-archive .woocommerce-pagination ul{
	display:inline-flex;
	flex-wrap:wrap;
	gap:8px;
	list-style:none;
	margin:0;
	padding:0;
}

.b2b-shop-archive .woocommerce-pagination ul li{
	list-style:none;
	margin:0;
	padding:0;
}

.b2b-shop-archive .woocommerce-pagination ul li a,
.b2b-shop-archive .woocommerce-pagination ul li span{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-width:40px;
	height:40px;
	padding:0 12px;
	border-radius:8px;
	border:1px solid var(--shop-border);
	background:var(--shop-card);
	color:var(--shop-text);
	font-weight:700;
	font-size:0.88rem;
	text-decoration:none;
}

.b2b-shop-archive .woocommerce-pagination ul li span.current,
.b2b-shop-archive .woocommerce-pagination ul li a:hover{
	border-color:var(--shop-accent);
	color:#fff;
	background:rgba(var(--shop-accent-rgb),0.2);
}

.b2b-shop-archive .woocommerce-info,
.b2b-shop-archive .woocommerce-message,
.b2b-shop-archive .woocommerce-error{
	background:var(--shop-card);
	border:1px solid var(--shop-border);
	border-left:3px solid var(--shop-accent);
	color:var(--shop-text);
	padding:14px 18px;
	border-radius:8px;
}

/* Responsive grid */
@media(max-width:1200px){
	.b2b-shop-archive ul.products,
	.woocommerce ul.products,
	.woocommerce-page ul.products{
		grid-template-columns:repeat(3,minmax(0,1fr));
		gap:18px;
	}
}

@media(max-width:820px){
	.b2b-shop-container{padding:0 16px}
	.woocommerce-breadcrumb,
	nav.woocommerce-breadcrumb,
	.b2b-content > .woocommerce-notices-wrapper{padding-left:16px;padding-right:16px}
	.b2b-shop-archive{padding:20px 0 40px}
	.b2b-shop-archive ul.products,
	.woocommerce ul.products,
	.woocommerce-page ul.products{
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:14px;
	}
	.b2b-shop-archive ul.products li.product .woocommerce-loop-product__title,
	.woocommerce ul.products li.product .woocommerce-loop-product__title{
		font-size:0.92rem !important;
		margin:12px 12px 6px !important;
	}
	.b2b-shop-archive ul.products li.product .button,
	.woocommerce ul.products li.product .button{
		margin:auto 12px 12px;
		padding:9px 12px;
		font-size:0.82rem;
	}
}

@media(max-width:420px){
	.b2b-shop-archive ul.products,
	.woocommerce ul.products,
	.woocommerce-page ul.products{
		grid-template-columns:1fr;
	}
}
