/* Category Page Hero */
.nl-category-page {
	padding-bottom: 80px;
}
.nl-category-hero {
	background: linear-gradient(135deg, var(--nl-cream) 0%, #fff 100%);
	padding: 60px 0;
	margin-bottom: 40px;
}
.nl-category-hero__inner {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 40px;
	align-items: center;
}
.nl-category-hero__content h1 {
	font-size: 48px;
	margin-bottom: 16px;
	color: var(--nl-ink);
}
.nl-category-hero__content p {
	font-size: 18px;
	color: var(--nl-muted);
	line-height: 1.6;
}
.nl-category-hero__image img {
	border-radius: 12px;
	box-shadow: 0 20px 40px rgba(0,0,0,0.08);
	width: 100%;
}

/* Filter Bar */
.nl-filter-bar {
	max-width: 1200px;
	margin: 0 auto 32px auto;
	padding: 16px 24px;
	background: #fff;
	border: 1px solid var(--nl-border);
	border-radius: 8px;
	position: sticky;
	top: 0;
	z-index: 100;
	box-shadow: 0 4px 6px rgba(0,0,0,0.05);
}
.nl-filter-bar__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.nl-filter-bar__inner .woocommerce-result-count {
	margin: 0;
	color: var(--nl-muted);
	font-size: 14px;
}
.nl-filter-bar__inner .woocommerce-ordering {
	margin: 0;
}
.nl-filter-bar__inner .woocommerce-ordering select {
	padding: 8px 16px;
	border: 1px solid var(--nl-border);
	border-radius: 4px;
	font-size: 14px;
	font-family: 'Inter', sans-serif;
	background: #fff;
}

/* Product Grid Adjustments */
.nl-product-grid {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}
/* archive-product.php wraps the WooCommerce loop in its own Tailwind grid
   div (.grid.lg:grid-cols-4) — the <ul class="products"> WooCommerce prints
   is just ONE child of that grid, so giving the <ul> its own display:grid
   created a nested one-cell grid (all 5 products squeezed into a single
   quarter-width column). Neutralizing the outer grid and making ul.products
   itself display:grid produced a reproducible (even on a clean browser
   profile) auto-placement quirk where row 1 started at column 2 instead of
   column 1. Flexbox sidesteps grid auto-placement entirely and is simpler
   for a fixed-width wrapping card row, so used here instead. */
.grid.grid-cols-1:has(> ul.products) {
	display: block !important;
}
ul.products {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 32px !important;
}
ul.products li.product {
	width: calc(25% - 24px) !important;
	flex: 0 0 calc(25% - 24px) !important;
	margin: 0 !important;
	text-align: center;
	border: 1px solid var(--nl-border);
	border-radius: 8px;
	padding: 24px 16px !important;
	background: #fff;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
ul.products li.product:hover {
	transform: translateY(-8px);
	box-shadow: 0 20px 40px rgba(0,0,0,0.1);
}
ul.products li.product img {
	margin-bottom: 24px !important;
	max-height: 250px;
	object-fit: contain;
}
ul.products li.product .woocommerce-loop-product__title {
	font-size: 18px !important;
	color: var(--nl-ink) !important;
	margin-bottom: 8px !important;
	font-family: 'Montserrat', sans-serif !important;
}
ul.products li.product .price {
	color: var(--nl-muted) !important;
	font-size: 16px !important;
	margin-bottom: 24px !important;
}
ul.products li.product .button {
	width: 100%;
	background-color: #075954 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 8px !important;
	font-weight: 600 !important;
	text-transform: uppercase;
	letter-spacing: .03em;
	font-size: 13px !important;
	padding: 12px 16px !important;
}
ul.products li.product .button:hover { background-color: #075954 !important; }

/* Educational Content */
.nl-category-education {
	max-width: 1200px;
	margin: 80px auto 0 auto;
	padding: 0 24px;
	text-align: center;
}
.nl-category-education h2 {
	font-size: 32px;
	margin-bottom: 16px;
}
.nl-category-education p {
	color: var(--nl-muted);
	font-size: 18px;
	margin-bottom: 40px;
}

@media (max-width: 992px) {
	ul.products li.product {
		width: calc(50% - 16px) !important;
		flex: 0 0 calc(50% - 16px) !important;
	}
	.nl-category-hero__inner {
		grid-template-columns: 1fr;
	}
}
@media (max-width: 576px) {
	ul.products li.product {
		width: 100% !important;
		flex: 0 0 100% !important;
	}
	.nl-filter-bar__inner {
		flex-direction: column;
		gap: 16px;
	}
}
