.filter-controls {
	background-color: var(--background-light);
	padding: 20px;
	border-radius: 12px;
	margin-bottom: 20px;
}

.filter-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 15px;
}

.filter-tag {
	background-color: var(--background-dark);
	border: 1px solid var(--border-color);
	color: var(--text-primary);
	padding: 6px 12px;
	border-radius: 15px;
	font-size: 0.85rem;
	transition: all 0.3s ease;
	cursor: pointer;
}

.filter-tag:hover,
.filter-tag.active {
	background-color: var(--accent-color);
	border-color: var(--accent-color);
	color: white;
}

@media (max-width: 768px) {
	.filter-controls {
		padding: 15px;
	}
}

/* ==========================================
   Accessibility
   ========================================== */

.filter-controls:focus-within {
    box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.1);
}

.filter-tag:focus {
    outline: 2px solid var(--accent-color);
    outline-offset: 2px;
}

.filter-sort select:focus {
    box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.2);
}

/* Screen reader only text */
.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}