.egs-cylinder-filters {
	width: calc(100% - 12px);
	max-width: none;
	flex: 0 0 auto;
	margin: -10px 0 16px 12px;
	padding-left: 12px;
	border-left: 2px solid #dde3e8;
	border-bottom: 1px solid #e4e9ed;
}

.egs-cylinder-filters[hidden] {
	display: none !important;
}

.egs-cylinder-filters > summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 0 0 10px;
	color: #596575;
	font-family: Poppins, sans-serif !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	cursor: pointer;
	list-style: none;
}

.egs-cylinder-filters > summary::-webkit-details-marker {
	display: none;
}

.egs-cylinder-filters__chevron {
	width: 8px;
	height: 8px;
	border-right: 2px solid #c52635;
	border-bottom: 2px solid #c52635;
	transform: rotate(45deg) translateY(-2px);
	transition: transform .2s ease;
}

.egs-cylinder-filters[open] .egs-cylinder-filters__chevron {
	transform: rotate(225deg) translate(-2px, -1px);
}

.egs-cylinder-filters__body {
	display: block;
	width: 100%;
	padding-bottom: 4px;
}

.egs-cylinder-filters__group {
	display: block;
	width: 100%;
	max-width: none;
	margin-bottom: 15px;
}

.egs-cylinder-filters__group h3 {
	margin: 0 0 7px !important;
	color: #6f7b88 !important;
	font-family: Poppins, sans-serif !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	line-height: 1.35 !important;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.egs-cylinder-filters__group .facetwp-facet {
	margin-bottom: 0;
}

.egs-cylinder-filters__group select {
	width: 100%;
	min-height: 42px;
	padding: 8px 32px 8px 11px;
	border: 1px solid #ccd4da;
	border-radius: 4px;
	background-color: #fff;
	color: #172338;
	font: 500 13px/1.4 Poppins, sans-serif;
}

.egs-cylinder-filters__group .facetwp-radio {
	position: relative;
	margin: 0 0 8px;
	padding: 2px 32px 2px 25px;
	background-image: none !important;
	background-color: transparent !important;
	color: #344255;
	font: 500 13px/1.45 Poppins, sans-serif;
}

.egs-cylinder-filters__group .facetwp-radio::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3px;
	box-sizing: border-box;
	width: 16px;
	height: 16px;
	border: 1px solid #b9c3ca;
	border-radius: 50%;
	background: #fff;
}

.egs-cylinder-filters__group .facetwp-radio.checked::before {
	border: 5px solid #c52635;
}

.egs-cylinder-filters__group .facetwp-radio .facetwp-counter {
	position: absolute;
	right: 0;
	color: #8a96a3;
	font-size: 12px;
}

/* A tall sticky sidebar needs its own scroll area on desktop. */
@media (min-width: 768px) {
	.egs-inventory-root .egs-filter-sidebar {
		max-height: calc(100vh - 48px) !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
		overscroll-behavior: contain;
		scrollbar-gutter: stable;
	}
}

/* Prevent Elementor container rules from creating partial second columns. */
@media (max-width: 767px) {
	.egs-inventory-root .egs-filter-sidebar {
		display: flex !important;
		width: min(94vw, 420px) !important;
		max-width: min(94vw, 420px) !important;
		flex-direction: column !important;
		flex-wrap: nowrap !important;
		align-items: stretch !important;
		overflow-x: hidden !important;
		overflow-y: auto !important;
	}

	.egs-inventory-root .egs-filter-sidebar > *,
	.egs-inventory-root .egs-filter-sidebar .egs-cylinder-filters__body,
	.egs-inventory-root .egs-filter-sidebar .egs-cylinder-filters__group,
	.egs-inventory-root .egs-filter-sidebar .facetwp-facet {
		box-sizing: border-box;
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 auto !important;
		columns: 1 !important;
		column-count: 1 !important;
	}

	.egs-inventory-root .egs-filter-sidebar select,
	.egs-inventory-root .egs-filter-sidebar input {
		box-sizing: border-box;
		max-width: 100% !important;
	}
}
