.pkg-sidebar-filter {
	position: sticky;
	top: 20px;
}

.pkg-panel-heading {
	margin: 0 0 16px;
}

.pkg-result-count {
	margin: 0 0 16px;
	font-size: 14px;
}

.pkg-filter-group {
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.pkg-group-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	background: none;
	border: none;
	cursor: pointer;
	padding: 12px 0;
	font: inherit;
	text-align: left;
}

.pkg-group-toggle-icon {
	transition: transform 0.2s ease;
}

.pkg-filter-group.is-open .pkg-group-toggle-icon {
	transform: rotate(180deg);
}

.pkg-group-body {
	padding-bottom: 12px;
}

.pkg-option {
	display: flex;
	align-items: center;
	gap: 8px;
	cursor: pointer;
}

.pkg-select,
.pkg-text-input,
.pkg-range-input {
	width: 100%;
	box-sizing: border-box;
	padding: 8px 10px;
}

.pkg-range-fields {
	display: flex;
	align-items: center;
	gap: 8px;
}

.pkg-range-fields .pkg-range-input {
	width: auto;
	flex: 1;
}

.pkg-filter-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: 16px;
}

.pkg-apply-btn {
	border: none;
	cursor: pointer;
	padding: 10px 20px;
}

.pkg-clear-all {
	text-decoration: underline;
	cursor: pointer;
}

.pkg-sidebar-filter.pkg-loading {
	opacity: 0.6;
	pointer-events: none;
}

.pkg-mobile-toggle {
	display: none;
	align-items: center;
	gap: 8px;
	border: none;
	cursor: pointer;
	padding: 10px 16px;
	width: 100%;
}

/* --- Mobile: slide-out panel --- */
@media ( max-width: 767px ) {
	.pkg-mobile-slide_out .pkg-mobile-toggle {
		display: flex;
	}

	.pkg-mobile-slide_out .pkg-filter-panel-inner {
		position: fixed;
		top: 0;
		left: 0;
		bottom: 0;
		width: 85%;
		max-width: 340px;
		background: #fff;
		z-index: 9999;
		overflow-y: auto;
		padding: 20px;
		transform: translateX( -100% );
		transition: transform 0.25s ease;
		box-shadow: 2px 0 12px rgba( 0, 0, 0, 0.15 );
	}

	.pkg-mobile-slide_out.pkg-panel-open .pkg-filter-panel-inner {
		transform: translateX( 0 );
	}

	.pkg-mobile-slide_out {
		position: static;
	}

	/* --- Mobile: move above grid (static block) --- */
	.pkg-mobile-above_grid {
		position: static;
	}

	/* --- Mobile: stay sidebar — no overrides, keeps desktop layout --- */
}
