.laf-filter {
	--laf-accent: #e90020;
	--laf-border: #454545;
	color: #292929;
	font: inherit;
}
.laf-filter .laf-panel {
	border: 1px solid var(--laf-border);
	padding: 22px;
	margin: 0 0 20px;
}
.laf-filter .laf-heading { margin: 0; padding: 0; font: inherit; }
.laf-filter .laf-toggle {
	display: flex; align-items: center; justify-content: space-between; gap: 16px;
	width: 100%; padding: 0 0 16px; margin: 0 0 18px;
	background: transparent; color: #111; border: 0; border-bottom: 1px solid #aaa;
	font: inherit; font-size: 20px; font-weight: 700; text-align: left; cursor: pointer;
}
.laf-filter .laf-arrow {
	display: grid; place-items: center; flex: 0 0 36px; height: 38px;
	background: var(--laf-accent);
}
.laf-filter .laf-arrow::after {
	content: ""; width: 0; height: 0; border-left: 6px solid transparent;
	border-right: 6px solid transparent; border-bottom: 7px solid white;
}
.laf-filter [aria-expanded="false"] .laf-arrow::after { transform: rotate(180deg); }
.laf-filter ul { list-style: none !important; padding: 0 !important; margin: 0 !important; }
.laf-filter .laf-tree ul {
	border-left: 1px solid #e4e4e4; margin: 14px 0 0 !important; padding-left: 28px !important;
}
.laf-filter li { margin: 0 0 14px; padding: 0; line-height: 1.4; }
.laf-filter li:last-child { margin-bottom: 0; }
.laf-filter label { display: flex; align-items: flex-start; gap: 12px; cursor: pointer; font-size: 20px; }
.laf-filter input[type="checkbox"] {
	appearance: none; -webkit-appearance: none; position: relative; flex: 0 0 20px;
	width: 20px; height: 20px; margin: 4px 0 0; padding: 0;
	border: 1px solid #b9bec3; border-radius: 0; background: #fff; cursor: pointer;
}
.laf-filter input[type="checkbox"]:checked { background: var(--laf-accent); border-color: var(--laf-accent); }
.laf-filter input[type="checkbox"]:checked::after {
	content: ""; position: absolute; width: 6px; height: 12px; border: solid white;
	border-width: 0 2px 2px 0; left: 6px; top: 1px; transform: rotate(40deg);
}
.laf-filter :focus-visible { outline: 2px solid var(--laf-accent); outline-offset: 4px; }
.laf-filter .laf-reset, .laf-filter .laf-retry {
	border: 0; background: transparent; color: #333; text-decoration: underline;
	font: inherit; cursor: pointer; padding: 4px 0;
}
.laf-filter .laf-status { font-size: 14px; line-height: 1.5; padding: 0; margin: 8px 0; }
.laf-filter [hidden] { display: none !important; }
.laf-loading { opacity: .5; pointer-events: none; transition: opacity .15s; }
@media (max-width: 767px) {
	.laf-filter .laf-panel { padding: 18px; }
	.laf-filter label { font-size: 18px; }
}
