/* WallCatcher Winkel, filters 0.9.14. Zelfde uitstraling als snippet 112
   (YITH), zodat de overstap niet opvalt behalve in snelheid. Groen #9aa285,
   donker #7d8a6a voor kleine tekst op wit. */

.wcw-f {
	margin: 0 0 24px;
	font-size: 14px;
	color: #444;
}

/* ── Kop ── */
.wcw-f-kop {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	padding-bottom: 12px;
	margin-bottom: 4px;
	border-bottom: 2px solid #1a1a1a;
}
.wcw-f-titel {
	font-size: 20px;
	font-weight: 700;
	color: #1a1a1a;
}
/* Het thema heeft eigen regels voor links en koppen in de zijbalk die van
   eenvoudige klassen winnen ("Wis alles" groot en tegen "Filters" aan,
   gezien door Dennis 2 okt). Daarom hier met #secondary en !important. */
#secondary .wcw-f .wcw-f-kop {
	display: flex !important;
	align-items: baseline !important;
	justify-content: space-between !important;
	gap: 12px;
}
#secondary .wcw-f .wcw-f-kop .wcw-f-titel {
	font-size: 20px !important;
	line-height: 1.2 !important;
}
#secondary .wcw-f .wcw-f-kop .wcw-f-wis {
	margin-left: auto !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	line-height: 1.2 !important;
	color: #7d8a6a !important;
	text-decoration: underline !important;
	text-underline-offset: 2px;
	white-space: nowrap;
}
#secondary .wcw-f .wcw-f-kop .wcw-f-wis:hover { color: #1a1a1a !important; }
#secondary .wcw-f .wcw-f-kop .wcw-f-wis[hidden] { display: none !important; }
/* Baymard: "Wis alles" hoort bij het overzicht van gekozen filters boven de
   producten, op elk scherm. In de kop van de zijbalk alleen zonder
   JavaScript (dan is er geen overzicht). */
#secondary .wcw-f.wcw-f--js .wcw-f-kop .wcw-f-wis { display: none !important; }

/* ── Groepen ── */
.wcw-f-groep {
	border: 0;
	margin: 0;
	padding: 0 0 12px;
	min-width: 0;
}
.wcw-f-groeptitel {
	display: block;
	width: 100%;
	float: left; /* legend gedraagt zich dan als blok */
	padding: 14px 0 8px;
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	color: #1a1a1a;
	border-top: 1px solid #e5e5e5;
}
.wcw-f-groep:first-of-type .wcw-f-groeptitel { border-top: 0; }
.wcw-f-opties {
	clear: both;
	list-style: none;
	margin: 0;
	padding: 0;
}

/* ── Een optie ── */
.wcw-f-optie {
	margin: 0;
	padding: 0;
	border-radius: 6px;
	transition: background .2s ease;
}
.wcw-f-optie:hover { background: rgba(154, 162, 133, .08); }
.wcw-f-optie label {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 7px 6px;
	margin: 0;
	cursor: pointer;
	line-height: 1.35;
	position: relative;
}
.wcw-f-optie input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
	margin: 0;
	pointer-events: none;
}
.wcw-f-naam { flex: 1 1 auto; color: #444; transition: color .2s ease; }
.wcw-f-optie:hover .wcw-f-naam,
.wcw-f-optie.is-gekozen .wcw-f-naam { color: #1a1a1a; }
.wcw-f-optie.is-gekozen .wcw-f-naam { font-weight: 600; }
.wcw-f-aantal {
	flex: 0 0 auto;
	font-size: 12px;
	color: #8a8a8a;
	min-width: 2ch;
	text-align: right;
	font-variant-numeric: tabular-nums;
}

/* Geen resultaat bij deze keuze: zichtbaar maar niet te kiezen */
.wcw-f-optie.is-leeg label { cursor: default; }
.wcw-f-optie.is-leeg { opacity: .38; }
.wcw-f-optie.is-leeg:hover { background: none; }

/* Toetsenbord */
.wcw-f-optie input:focus-visible + .wcw-f-vak,
.wcw-f-optie input:focus-visible + .wcw-f-vorm,
.wcw-f-optie input:focus-visible + .wcw-f-beeld {
	outline: 2px solid #7d8a6a;
	outline-offset: 2px;
}

/* Vinkje */
.wcw-f-vak {
	flex: 0 0 17px;
	width: 17px;
	height: 17px;
	border: 1.5px solid #ccc;
	border-radius: 3px;
	background: #fff;
	transition: all .2s ease;
}
.wcw-f-optie:hover .wcw-f-vak { border-color: #9aa285; box-shadow: 0 0 0 3px rgba(154, 162, 133, .12); }
.wcw-f-optie.is-gekozen .wcw-f-vak {
	background: #9aa285 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M13 4.5 6.5 11 3 7.5' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 13px no-repeat;
	border-color: #9aa285;
}

/* Vorm: het silhouet zelf, leeg of gevuld */
.wcw-f-vorm {
	flex: 0 0 auto;
	display: inline-block;
	box-sizing: border-box;
	border: 1.5px solid #9aa285;
	background: #fff;
	border-radius: 2px;
	transition: background .2s ease, transform .2s ease;
	margin: 0 6px 0 2px;
}
.wcw-f-vorm--rond      { width: 22px; height: 22px; border-radius: 50%; }
.wcw-f-vorm--ovaal     { width: 15px; height: 24px; border-radius: 999px; margin: 0 9px 0 5px; }
.wcw-f-vorm--organisch { width: 22px; height: 22px; border-radius: 60% 40% 55% 45% / 45% 55% 40% 60%; }
.wcw-f-vorm--staand    { width: 16px; height: 23px; margin: 0 9px 0 5px; }
.wcw-f-vorm--liggend   { width: 24px; height: 17px; margin: 0 5px 0 1px; }
.wcw-f-vorm--vierkant  { width: 20px; height: 20px; margin: 0 7px 0 3px; }
.wcw-f-vorm--panorama  { width: 28px; height: 12px; margin: 0 3px 0 -1px; }
.wcw-f-optie:hover .wcw-f-vorm { transform: scale(1.08); }
.wcw-f-optie.is-gekozen .wcw-f-vorm { background: #9aa285; }

/* Kleurtoon: het plaatje */
.wcw-f-beeld {
	flex: 0 0 28px;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	object-fit: cover;
	border: 1.5px solid rgba(0, 0, 0, .12);
	transition: transform .2s ease;
}
.wcw-f-optie:hover .wcw-f-beeld { transform: scale(1.08); }
.wcw-f-optie.is-gekozen .wcw-f-beeld { outline: 2px solid #9aa285; outline-offset: 2px; }

/* ── "Toon N werken": alleen op de telefoon (en zonder JavaScript) ── */
.wcw-f-toon { margin-top: 12px; }
.wcw-f-toonknop {
	display: block;
	width: 100%;
	padding: 14px 18px;
	border: 0;
	border-radius: 8px;
	background: #9aa285;
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: background .2s ease;
}
.wcw-f-toonknop:hover { background: #7d8a6a; }
.wcw-f--js .wcw-f-toon { display: none; }

@media (max-width: 992px) {
	.wcw-f--js .wcw-f-toon {
		display: block;
		position: sticky;
		bottom: 0;
		margin: 12px -4px 0;
		padding: 12px 4px calc(12px + env(safe-area-inset-bottom));
		background: linear-gradient(to bottom, rgba(255, 255, 255, 0), #fff 30%);
	}
	.wcw-f-optie label { padding: 10px 6px; } /* grotere tikvlakken */
}

/* ── Gekozen filters boven het raster ── */
.wcw-f-chips {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0 0 18px;
}
.wcw-f-chips[hidden] { display: none; }
.wcw-f-totaal {
	font-size: 14px;
	font-weight: 600;
	color: #1a1a1a;
	margin-right: 4px;
}
.wcw-f-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 6px 10px 6px 12px;
	border: 1px solid #c9cdbd;
	border-radius: 999px;
	background: #f4f5f0;
	color: #333;
	font-size: 13px;
	line-height: 1.2;
	cursor: pointer;
	transition: background .2s ease, border-color .2s ease;
}
.wcw-f-chip:hover { background: #e9ebe2; border-color: #9aa285; }
.wcw-f-chipx { font-size: 16px; line-height: 1; color: #7d8a6a; }
.wcw-f-chip--wis {
	background: none;
	border-color: transparent;
	color: #7d8a6a;
	text-decoration: underline;
	text-underline-offset: 2px;
	padding-left: 4px;
}
.wcw-f-chip--wis:hover { background: none; border-color: transparent; color: #1a1a1a; }

/* ── Telefoon: gekozen filters compact over meerdere regels, aantal werken
   op een eigen regel erboven (Dennis 2 okt). ── */
@media (max-width: 992px) {
	.wcw-f-chip { padding: 5px 9px 5px 11px; font-size: 13px; }
	.wcw-f-totaal { flex: 0 0 100%; margin: 0 0 2px; }
}

/* ── Plek van de labels in de flex-opbouw van snippet 150: na titel,
   aantal en sorteren (1-4), vóór het raster (20) ── */
body.wcpr #main > .wcw-f-chips { order: 15; flex: 0 0 100%; }

/* ── Laden: smalle balk boven het raster, raster licht gedimd (niet wazig) ── */
body.wcpr #main > .wcw-f-laadbalk { order: 16; flex: 0 0 100%; }
.wcw-f-laadbalk {
	position: relative;
	height: 3px;
	margin: 0 0 14px;
	border-radius: 3px;
	background: rgba(154, 162, 133, .18);
	overflow: hidden;
	visibility: hidden;
}
.wcw-f-laadbalk span {
	position: absolute;
	top: 0;
	bottom: 0;
	left: -40%;
	width: 40%;
	border-radius: 3px;
	background: #9aa285;
}
#main.wcw-laden > .wcw-f-laadbalk { visibility: visible; }
#main.wcw-laden > .wcw-f-laadbalk span { animation: wcw-laad 1.1s ease-in-out infinite; }
@keyframes wcw-laad {
	0%   { left: -40%; }
	100% { left: 100%; }
}
#main > .columns-3 { transition: opacity .2s ease; }
#main.wcw-laden > .columns-3 { opacity: .7; pointer-events: none; }

/* ── Telefoonknop van het thema: aantal gekozen filters ── */
.wcw-f-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	margin-left: 6px;
	border-radius: 999px;
	background: #fff;
	color: #7d8a6a;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
}
.wcw-f-badge[hidden] { display: none; }

@media (prefers-reduced-motion: reduce) {
	.wcw-f-optie, .wcw-f-vak, .wcw-f-vorm, .wcw-f-beeld, #main > .columns-3, .wcw-f-chip { transition: none; }
}

/* ── Telefoon (Baymard): Filters en Sorteren blijven in beeld bij scrollen,
   direct onder de vaste header (--wcw-f-top meet het script). Zwaarder dan
   de "position: relative !important" uit snippet 150. ── */
@media (max-width: 992px) {
	html body.wcpr #main > a.mobile-filter.shoptimizer-mobile-toggle,
	html body.wcpr #main > .shoptimizer-sorting > .woocommerce-ordering {
		position: sticky !important;
		top: calc(var(--wcw-f-top, 60px) + 8px) !important;
		z-index: 30;
		box-shadow: 0 2px 10px rgba(0, 0, 0, .06) !important;
	}
}
