/* ---------- Winkel-filterbalk (categorie + maat) ---------- */
.lf-shop-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: 18px;
	margin: 0 0 32px;
	padding: 16px 20px;
	background: #FFFFFF;
	border: 1px solid var(--lf-line);
}

.lf-shop-filters__field {
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 180px;
}

.lf-shop-filters__field label {
	font-family: var(--lf-font-body);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.4px;
	text-transform: uppercase;
	color: var(--lf-muted);
}

.lf-shop-filters__field select {
	appearance: none;
	-webkit-appearance: none;
	width: 100%;
	padding: 10px 34px 10px 12px;
	border: 1px solid var(--lf-line);
	background: #FFFFFF url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%231A1A1A' stroke-width='1.4' fill='none' fill-rule='evenodd'/%3E%3C/svg%3E") no-repeat right 12px center;
	color: var(--lf-ink);
	font-family: var(--lf-font-body);
	font-size: 13px;
	line-height: 1.2;
	min-height: 42px;
	cursor: pointer;
}

.lf-shop-filters__field select:focus {
	outline: 2px solid var(--lf-sage);
	outline-offset: 1px;
}

.lf-shop-filters noscript button {
	min-height: 42px;
	padding: 0 18px;
	border: none;
	background: var(--lf-sage);
	color: #FFFFFF;
	font-family: var(--lf-font-body);
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}

.lf-shop-filters__reset {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	font-family: var(--lf-font-body);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.2px;
	color: var(--lf-muted);
	text-decoration: underline;
	text-underline-offset: 3px;
	white-space: nowrap;
}

.lf-shop-filters__reset:hover {
	color: var(--lf-sage);
}

.lf-shop-filters.is-loading {
	opacity: 0.6;
	pointer-events: none;
}

/* ---------- Mobiel: compacte, één-hands bedienbare filterbalk ---------- */
@media (max-width: 640px) {
	.lf-shop-filters {
		flex-wrap: nowrap;
		gap: 10px;
		margin: 0 0 20px;
		padding: 12px 14px;
		overflow-x: hidden;
	}

	.lf-shop-filters__field {
		min-width: 0;
		flex: 1 1 0;
	}

	.lf-shop-filters__field select {
		padding: 10px 28px 10px 10px;
		font-size: 12.5px;
		min-height: 44px; /* touch target */
	}

	.lf-shop-filters__reset {
		flex: 0 0 auto;
		min-height: 44px;
		font-size: 0;
		width: 44px;
		justify-content: center;
	}

	.lf-shop-filters__reset::before {
		content: "\2715"; /* × */
		font-size: 16px;
		line-height: 1;
	}
}
