.le-cpu-filter{position:relative;margin:0 0 1rem}

/* Neutral trigger: avoid global theme primary-button colors such as the red shown in V3.0. */
button.le-cpu-filter-toggle{
	-webkit-appearance:none!important;
	appearance:none!important;
	display:inline-flex!important;
	align-items:center!important;
	justify-content:center!important;
	gap:8px!important;
	min-height:44px!important;
	padding:9px 14px!important;
	border:1px solid rgba(0,0,0,.18)!important;
	border-radius:8px!important;
	background:#fff!important;
	background-image:none!important;
	color:#222!important;
	box-shadow:none!important;
	text-transform:none!important;
	letter-spacing:normal!important;
	font:inherit!important;
	font-weight:600!important;
	cursor:pointer!important
}
button.le-cpu-filter-toggle:hover,
button.le-cpu-filter-toggle:focus{
	background:#f7f7f7!important;
	color:#111!important;
	border-color:rgba(0,0,0,.28)!important
}

.le-cpu-filter-overlay{position:fixed;inset:0;z-index:999998;background:rgba(0,0,0,.42);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}
.le-cpu-filter.is-open .le-cpu-filter-overlay{display:block;opacity:1;visibility:visible}
.le-cpu-filter-drawer{position:fixed;top:0;right:0;bottom:0;z-index:999999;width:min(400px,92vw);background:#fff;box-shadow:-12px 0 34px rgba(0,0,0,.18);transform:translateX(105%);visibility:hidden;transition:transform .2s ease,visibility .2s ease;overflow:hidden}
.le-cpu-filter.is-open .le-cpu-filter-drawer{transform:translateX(0);visibility:visible}
.le-cpu-filter-header{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:10px 18px;border-bottom:1px solid rgba(0,0,0,.12)}
.le-cpu-filter-close{width:40px;height:40px;border:0;background:transparent!important;color:inherit!important;box-shadow:none!important;font-size:30px;line-height:1;cursor:pointer}
.le-cpu-filter-form{display:flex;flex-direction:column;height:calc(100vh - 58px)}
.le-cpu-filter-fields{flex:1 1 auto;display:grid;align-content:start;gap:16px;padding:18px;overflow-y:auto}
.le-cpu-filter-field{display:grid;gap:6px}
.le-cpu-filter-field>span{font-size:12px;font-weight:600}
.le-cpu-filter-field select,.le-cpu-filter-field input{width:100%;min-height:46px;box-sizing:border-box;margin:0}
.le-cpu-price-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.le-cpu-filter-actions{display:grid;grid-template-columns:1fr 2fr;gap:10px;padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid rgba(0,0,0,.12);background:#fff}

/* Stable action buttons: do not depend on theme hover state for visibility. */
.le-cpu-filter-actions .button{
	-webkit-appearance:none!important;
	appearance:none!important;
	display:flex!important;
	align-items:center!important;
	justify-content:center!important;
	min-height:48px!important;
	margin:0!important;
	text-align:center!important;
	text-decoration:none!important;
	box-shadow:none!important;
	cursor:pointer!important;
	font:inherit!important;
	font-weight:600!important
}
button.le-cpu-filter-reset{
	background:#f3f3f3!important;
	background-image:none!important;
	color:#222!important;
	border:1px solid rgba(0,0,0,.18)!important
}
button.le-cpu-filter-reset:hover,
button.le-cpu-filter-reset:focus{
	background:#e9e9e9!important;
	color:#111!important
}
button.le-cpu-filter-apply{
	background:#111!important;
	background-image:none!important;
	color:#fff!important;
	border:1px solid #111!important
}
button.le-cpu-filter-apply:hover,
button.le-cpu-filter-apply:focus{
	background:#2a2a2a!important;
	color:#fff!important;
	border-color:#2a2a2a!important
}

body.le-cpu-filter-open{overflow:hidden}
.le-cpu-filter-status{position:fixed;right:16px;bottom:16px;z-index:1000001;padding:11px 14px;border:1px solid rgba(0,0,0,.12);border-radius:8px;background:rgba(255,255,255,.97);box-shadow:0 6px 28px rgba(0,0,0,.14);font-size:14px;font-weight:600}
.le-cpu-filter-status[hidden]{display:none!important}

/* Loading only: V3.3 does not impose any grid/card layout. */
.woocommerce ul.products.le-cpu-grid-loading{opacity:.5;pointer-events:none;transition:opacity .15s ease}
.le-cpu-no-products{list-style:none!important;width:100%!important;padding:2rem 0!important}

.le-cpu-pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin:1.5rem 0}
.le-cpu-pagination button{min-width:38px;height:38px;border:1px solid rgba(0,0,0,.14);border-radius:6px;background:#fff;color:#222;cursor:pointer}
.le-cpu-pagination button.is-current{background:#111;color:#fff;border-color:#111}

@media(max-width:767px){
	button.le-cpu-filter-toggle{width:100%!important;min-height:46px!important}
	.le-cpu-filter-drawer{top:auto;left:0;right:0;bottom:0;width:100%;max-height:min(82vh,720px);border-radius:18px 18px 0 0;box-shadow:0 -10px 35px rgba(0,0,0,.18);transform:translateY(105%)}
	.le-cpu-filter.is-open .le-cpu-filter-drawer{transform:translateY(0)}
	.le-cpu-filter-header{min-height:54px;padding:10px 16px}
	.le-cpu-filter-form{height:auto;max-height:calc(82vh - 54px)}
	.le-cpu-filter-field select,.le-cpu-filter-field input{min-height:48px;font-size:16px}
	.le-cpu-price-row{grid-template-columns:1fr}
	.le-cpu-filter-status{inset:auto 12px 12px;text-align:center}
}

@media(prefers-reduced-motion:reduce){
	.le-cpu-filter-overlay,.le-cpu-filter-drawer,.woocommerce ul.products.le-cpu-grid-loading{transition:none!important}
}
