.cellapp-filters {
	--cellapp-filters-accent: var(--bs-link-color, #c40409);
	--cellapp-filters-accent-hover: var(--bs-link-hover-color, #9d0307);
	font-size: 0.95rem;
}

.cellapp-filters.is-loading {
	opacity: 0.5;
	pointer-events: none;
	cursor: progress;
}

.cellapp-filters__found {
	margin-bottom: 0.75rem;
	color: #6c757d;
}

.cellapp-filters__title {
	font-weight: 700;
	margin-bottom: 0.5rem;
}

.cellapp-filters__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.375rem;
	list-style: none;
	margin: 0 0 0.75rem;
	padding: 0;
}

.cellapp-filters__chip {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	padding: 0.2rem 0.6rem;
	border: 1px solid var(--cellapp-filters-accent);
	border-radius: 1rem;
	color: var(--cellapp-filters-accent);
	text-decoration: none;
	font-size: 0.85rem;
	line-height: 1.4;
}

.cellapp-filters__chip:hover,
.cellapp-filters__chip:focus-visible {
	background: var(--cellapp-filters-accent);
	color: #fff;
}

.cellapp-filters__chip--reset {
	border-color: #6c757d;
	color: #6c757d;
}

.cellapp-filters__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cellapp-filters__list .cellapp-filters__list {
	padding-left: 1.25rem;
}

.cellapp-filters__row {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	padding: 0.2rem 0;
}

.cellapp-filters__row input {
	flex: none;
	margin-top: 0.3em;
	accent-color: var(--cellapp-filters-accent);
	cursor: pointer;
}

.cellapp-filters__row input:disabled {
	cursor: default;
}

.cellapp-filters__row label {
	flex: 1;
	cursor: pointer;
}

.cellapp-filters__row label a {
	color: var(--cellapp-filters-accent);
	text-decoration: none;
}

.cellapp-filters__row label a:hover {
	color: var(--cellapp-filters-accent-hover);
	text-decoration: underline;
}

.cellapp-filters__count {
	color: #6c757d;
	margin-left: 0.25rem;
}

.cellapp-filters__toggle {
	flex: none;
	width: 1.5rem;
	height: 1.5rem;
	padding: 0;
	border: 0;
	background: none;
	color: #6c757d;
	line-height: 1;
	cursor: pointer;
	display: none;
}

.cellapp-filters__toggle::before {
	content: "\2212";
	font-size: 1.1rem;
}

.cellapp-filters__toggle[aria-expanded="false"]::before {
	content: "+";
}

.cellapp-filters.is-ready .cellapp-filters__toggle {
	display: inline-block;
}

.cellapp-filters.is-ready .is-collapsed > .cellapp-filters__list {
	display: none;
}
