/* ── Faceted Filters ─────────────────────────────────────────── */
.hsk-filters {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	padding: var(--space-5) 0;
	margin-bottom: var(--space-6);
	border-bottom: 1px solid var(--color-border);
	align-items: center;
}

.hsk-filter-group {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	flex-wrap: wrap;
}

.hsk-filter-label {
	font-size: var(--text-sm);
	font-weight: 600;
	color: var(--color-text-muted);
	white-space: nowrap;
}

/* Pill buttons */
.hsk-filter-pill {
	display: inline-block;
	padding: var(--space-2) var(--space-4);
	border: 1px solid var(--color-border);
	border-radius: 999px;
	font-size: var(--text-sm);
	font-weight: 500;
	color: var(--color-text-muted);
	background: var(--color-bg);
	text-decoration: none;
	cursor: pointer;
	transition: border-color var(--trans-fast), background var(--trans-fast), color var(--trans-fast);
	white-space: nowrap;
}
.hsk-filter-pill:hover {
	border-color: var(--color-accent);
	color: var(--color-accent);
	background: var(--color-bg-soft);
}
.hsk-filter-pill.is-active {
	background: var(--color-accent);
	border-color: var(--color-accent);
	color: #fff;
}

/* Select dropdown filter */
.hsk-filter-select {
	padding: var(--space-2) var(--space-4);
	border: 1px solid var(--color-border);
	border-radius: var(--radius-md);
	font-size: var(--text-sm);
	font-family: var(--font-base);
	color: var(--color-text);
	background: var(--color-bg);
	cursor: pointer;
	appearance: auto;
	transition: border-color var(--trans-fast);
}
.hsk-filter-select:focus { border-color: var(--color-accent); }
.hsk-filter-select:hover { border-color: var(--color-accent); }

/* Active filter tags (selected) */
.hsk-active-filters {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-bottom: var(--space-4);
}
.hsk-active-tag {
	display: inline-flex;
	align-items: center;
	gap: var(--space-2);
	padding: var(--space-1) var(--space-3);
	background: var(--color-bg-soft);
	border: 1px solid var(--color-border-strong);
	border-radius: 999px;
	font-size: var(--text-sm);
	font-weight: 500;
	color: var(--color-text-muted);
}
.hsk-active-tag__remove {
	font-size: 1rem;
	color: var(--color-text-faint);
	cursor: pointer;
	line-height: 1;
	text-decoration: none;
	transition: color var(--trans-fast);
}
.hsk-active-tag__remove:hover { color: var(--color-danger); }

/* Reset link */
.hsk-filter-reset {
	margin-left: auto;
	font-size: var(--text-sm);
	color: var(--color-text-faint);
	text-decoration: underline;
	cursor: pointer;
}
.hsk-filter-reset:hover { color: var(--color-accent); }

/* Filter area loading state */
.hsk-results-area { position: relative; }
.hsk-results-area.is-loading::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(255,255,255,.6);
	z-index: 5;
}
.hsk-results-area.is-loading .hsk-loading { display: block; }
