.catalog-filter-open, .catalog-filter-header { display:none; }
.filter-feedback { margin:0; color:#616775; font-size:12px; line-height:1.5; }
.filter-feedback:empty { display:none; }
.filter-check.is-disabled { color:#9599a3; cursor:not-allowed; }
.filter-check.is-disabled span { opacity:.45; background:#f1f2f5; }
.filter-check:has(input:focus-visible) span { outline:2px solid #394aa8; outline-offset:3px; }
.filter-submit:disabled, .filter-submit:disabled:hover { background:#e5e7ed; color:#767c8b; cursor:default; }
.shredder-filters .dual-range::before {
  left:8.5px;
  right:8.5px;
  background:linear-gradient(to right, #e2e3e7 0%, #e2e3e7 var(--range-start, 0%), #394aa8 var(--range-start, 0%), #394aa8 var(--range-end, 100%), #e2e3e7 var(--range-end, 100%), #e2e3e7 100%);
  pointer-events:none;
}
.shredder-filters .dual-range input[type="range"]:focus-visible { outline:2px solid #394aa8; outline-offset:3px; border-radius:8px; }
.shredder-filters {
  display:flex;
  flex-direction:column;
  max-height:calc(100vh - var(--catalog-filter-offset, 140px) - 20px);
  max-height:calc(100dvh - var(--catalog-filter-offset, 140px) - 20px);
  padding:0;
  overflow:hidden;
}
.shredder-filters [data-smart-filter] { display:flex; flex-direction:column; flex:1 1 auto; min-height:0; gap:0; overflow:hidden; }
.catalog-filter-fields { flex:1 1 auto; min-height:0; padding:22px 20px 6px; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; scrollbar-width:thin; scrollbar-color:#aeb8ca transparent; }
.catalog-filter-fields::-webkit-scrollbar { width:6px; }
.catalog-filter-fields::-webkit-scrollbar-thumb { border:1px solid #fff; border-radius:999px; background:#aeb8ca; }
.catalog-filter-fields:focus-visible { outline:2px solid #394aa8; outline-offset:-3px; }
.catalog-filter-fields .filter-details-body { max-height:none; overflow:visible; }
.shredder-filters .filter-actions { display:grid; grid-template-columns:1fr; flex:0 0 auto; gap:10px; margin:0; padding:14px 20px; border-top:1px solid #e5e7ed; background:#fff; box-shadow:0 -6px 16px #141a3208; }
.shredder-filters .filter-submit { cursor:pointer; }
.shredder-filters .filter-submit:disabled { cursor:default; }
.catalog-filter-backdrop[hidden] { display:none; }
.catalog-filter-backdrop { position:fixed; inset:0; z-index:1190; background:#141a32a6; touch-action:none; }
@media (min-width:901px) {
  .catalog-filter-ready .shredder-filters { z-index:20; }
}
@media (max-width:900px) {
  .catalog-filter-ready .catalog-filter-open { display:flex; align-items:center; justify-content:center; gap:9px; width:100%; min-height:46px; padding:10px 20px; border:1px solid #394aa8; border-radius:10px; background:#fff; color:#394aa8; font:inherit; font-size:14px; font-weight:600; cursor:pointer; }
  .catalog-filter-open span:not(:empty) { display:inline-flex; align-items:center; justify-content:center; min-width:22px; height:22px; padding:0 5px; box-sizing:border-box; border-radius:20px; background:#394aa8; color:#fff; font-size:12px; }
  .catalog-filter-ready .shredder-filters { display:none; }
  .catalog-filter-ready .shredder-filters.is-open { display:flex; flex-direction:column; position:fixed; z-index:1200; inset:0 0 0 auto; top:0; width:min(100%, 440px); max-width:100%; max-height:none; height:100%; height:100dvh; box-sizing:border-box; padding:0; border-radius:0; background:#fff; overflow:hidden; box-shadow:-8px 0 40px #141a3226; }
  .shredder-filters.is-open .catalog-filter-header { display:flex; align-items:center; justify-content:space-between; flex-shrink:0; gap:12px; padding:14px 18px; padding-top:max(14px, env(safe-area-inset-top)); border-bottom:1px solid #e5e7ed; }
  .catalog-filter-header h2 { margin:0; color:#292d39; font-size:20px; }
  .catalog-filter-header button { display:grid; place-items:center; flex-shrink:0; width:44px; height:44px; padding:0; border:0; border-radius:8px; background:#f1f2f7; color:#394aa8; font-size:30px; line-height:1; cursor:pointer; }
  .shredder-filters.is-open .catalog-filter-fields { padding:18px 18px 6px; }
  .shredder-filters.is-open .filter-details summary { min-height:44px; align-items:center; }
  .shredder-filters.is-open .filter-details-body { padding:6px 0; }
  .shredder-filters.is-open .filter-check { min-height:42px; font-size:14px; }
  .shredder-filters.is-open .filter-details { margin-bottom:8px; padding-bottom:8px; border-bottom:1px solid #eceef3; }
  .shredder-filters.is-open .filter-actions { padding:14px 18px; padding-bottom:max(14px, env(safe-area-inset-bottom)); }
  .shredder-filters.is-open .filter-submit { min-height:46px; font-size:14px; }
  .shredder-filters.is-open .filter-actions a { display:grid; place-items:center; min-height:34px; }
  .shredder-filters.is-open .heleos-filter-range input { font-size:16px; }
}
