section.filter-buttons {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	width: 100%;
	margin: 0 auto;
	margin-top: clamp(2rem, calc(1.002rem + 2.08vw), 5rem);
	padding-inline: clamp(1rem, calc(-0.666rem + 3.47vw), 6rem);
	gap: clamp(1rem, calc(0.534rem + 0.97vw), 2.4rem);
}

.btn-filter {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: clamp(0.4rem, calc(0.131rem + 0.56vw), 1.2rem)
		clamp(1.2rem, calc(0.802rem + 0.83vw), 2.4rem);
	background-color: white;
	font-size: clamp(1.4rem, calc(1.069rem + 0.69vw), 2.4rem);
	font-weight: 600;
	color: var(--color-primary);
	border: 2px solid var(--color-primary);
	border-radius: 1rem;
	transition: all 0.4s ease;
}
.btn-filter:hover {
	background-color: var(--color-primary);
	color: white;
}

.btn-filter.active {
	background: var(--color-primary);
	color: white;
}

section.all-products {
	width: 90%;
	margin: 0 auto;
}

.product-grid {
	display: grid;
	gap: 2rem;
}

.product-grid .grid-item {
	width: 100%;
	height: 100%;
	opacity: 1;
	transition:
		opacity 0.3s ease,
		transform 0.3s ease;
	transform: scale(1);
}

.all-products .product-grid.bagels {
	grid-template-columns: repeat(5, 1fr);
	margin-top: clamp(2.4rem, calc(1.531rem + 1.81vw), 5rem);
}

.subs {
	margin-top: 5rem;
	grid-template-columns: repeat(3, 1fr);
}
.cookies {
	margin-top: 5rem;
	grid-template-columns: repeat(3, 1fr);
}

section.all-products .grid-item {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20%;
	border-radius: 1rem;
	overflow: hidden;
	cursor: pointer;
	opacity: 1;
	transition:
		opacity 0.4s ease,
		transform 0.4s ease;
	transform: scale(1);
}

.all-products .cookies .grid-item,
.all-products .subs .grid-item {
	padding: 12%;
}

section.all-products .grid-item img {
	margin: 0 auto;
	transition: transform 0.6s ease;
}

.all-products .cookies .grid-item img,
.all-products .subs .grid-item img {
	margin-bottom: clamp(3rem, calc(3.835rem + -1.74vw), 0.5rem);
}

section.all-products .grid-item:hover img {
	transform: scale(1.06);
}

/* Card content overlay */
section.all-products .product-title {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: clamp(1rem, calc(0.333rem + 1.39vw), 3rem) clamp(1rem, calc(0.534rem + 0.97vw), 2.4rem);
	background: linear-gradient(
		to top,
		rgba(0, 48, 135, 0.8) 0%,
		rgba(0, 48, 135, 0.6) 50%,
		transparent 100%
	);
}

section.all-products .product-title h2 {
	color: white;
	font-size: clamp(1.4rem, calc(1.198rem + 0.42vw), 2rem);
	font-weight: 600;
	line-height: 1.3;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5);
	max-width: 100%;
}

.product-grid .grid-item.hidden {
	opacity: 0;
	transform: scale(0.6);
	pointer-events: none;
	position: absolute; /* or use display: none after transition */
	/* display: none; */
}

@media (max-width: 1200px) {
	section.filter-buttons {
		grid-template-columns: repeat(5, 1fr);
	}

	.all-products .product-grid.bagels {
		grid-template-columns: repeat(4, 1fr);
	}
}

@media (max-width: 992px) {
	section.filter-buttons {
		grid-template-columns: repeat(4, 1fr);
	}
	.all-products .product-grid.bagels {
		grid-template-columns: repeat(3, 1fr);
	}
	.subs {
		grid-template-columns: repeat(2, 1fr);
	}
	.cookies {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 768px) {
	section.filter-buttons {
		grid-template-columns: repeat(3, 1fr);
	}
	.all-products .product-grid.bagels {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 576px) {
	.all-products .cookies .grid-item,
	.all-products .subs .grid-item {
		padding: 6%;
	}
}
