.sp-filter-anchor{padding-bottom:18px;box-sizing:border-box}
.sp-filter-toolbar{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(130px,190px);align-items:center;gap:14px;background:#fff;padding:10px 0;margin:0;box-sizing:border-box;z-index:990}
.sp-filter-toolbar.is-stuck{position:fixed;top:var(--sp-toolbar-top);left:var(--sp-toolbar-left);width:var(--sp-toolbar-width);box-shadow:0 5px 15px #39256312;border-bottom:1px solid #eee7f8;margin:0}
.sp-filter-toolbar .woocommerce-result-count{margin:0!important;padding:0!important;float:none!important;text-align:center;font-style:normal!important;font-size:13px;line-height:1.4}
.sp-filter-toolbar .woocommerce-ordering{margin:0!important;float:none!important;min-width:0;width:100%}
.sp-filter-toolbar .nice-select{display:none!important}
.sp-filter-toolbar select.orderby,.sp-filter-toolbar .sp-filter-open{display:block!important;background:#faf8fe!important;color:#58319a!important;border:1px solid #e5dcf2!important;border-radius:10px!important;height:42px!important;font:inherit!important;font-size:13px!important;box-sizing:border-box;padding:0 12px!important;max-width:100%;width:100%;box-shadow:none!important}
.sp-filter-toolbar .sp-filter-open{cursor:pointer;width:auto;min-width:78px}
.sp-filter-toolbar :focus-visible,#sp-filter-dialog :focus-visible{outline:2px solid #794acf;outline-offset:3px}
.sp-filter-ready #mobile-trigger-sidebar{display:none!important}
/* ShopPilot filters are a left-anchored drawer, not a centered floating dialog. */
#sp-filter-dialog{
  position:fixed!important;
  inset:0 auto 0 0!important;
  margin:0!important;
  box-sizing:border-box;
  border:0;
  border-right:1px solid #e5dcf2;
  border-radius:0 18px 18px 0;
  padding:0;
  width:min(400px,calc(100vw - 24px));
  max-width:100vw;
  max-height:100dvh;
  height:100dvh;
  background:#fff;
  box-shadow:16px 0 38px #20133530;
  overflow-x:hidden;
  overflow-y:auto;
  overscroll-behavior:contain;
  color:#30233f;
}
#sp-filter-dialog::backdrop{background:#24153266}
#sp-filter-dialog .sp-filter-dialog-head{position:sticky;top:0;z-index:3;background:#faf8fe;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;border-bottom:1px solid #e5dcf2}
#sp-filter-dialog h2{font-size:19px;line-height:1.3;margin:0}
#sp-filter-dialog .sp-filter-close{background:transparent;border:0;color:#58319a;font-size:20px;width:36px;height:36px;cursor:pointer}
#sp-filter-dialog .sp-filter-fields{padding:22px}
#sp-filter-dialog .widget{margin:0 0 26px;float:none;width:100%;box-sizing:border-box}
#sp-filter-dialog .title{font-weight:700;margin-bottom:14px}
#sp-filter-dialog ul{list-style:none;margin:0;padding:0}
#sp-filter-dialog li{margin:8px 0}
.sp-filter-modal-open{overflow:hidden}
@media(max-width:767px){.sp-filter-ready>aside.sidebar{display:none!important}.sp-filter-toolbar{gap:8px;grid-template-columns:76px minmax(0,1fr) minmax(110px,140px)}.sp-filter-toolbar .woocommerce-result-count{font-size:11px}.sp-filter-toolbar select.orderby,.sp-filter-toolbar .sp-filter-open{font-size:12px!important;padding:0 8px!important}}
@media(max-width:360px){.sp-filter-toolbar{grid-template-columns:68px minmax(0,1fr) 112px;gap:5px}.sp-filter-toolbar .sp-filter-open{min-width:0}}

/* Keep one scroll container in the drawer instead of nested widget scrollbars. */
#sp-filter-dialog .sp-filter-dialog-head{
  padding-top:max(18px,env(safe-area-inset-top))!important;
}
#sp-filter-dialog .sp-filter-close{
  min-width:44px;
  min-height:44px;
}
#sp-filter-dialog .sp-filter-fields{
  padding-bottom:max(22px,env(safe-area-inset-bottom));
}
#sp-filter-dialog .widget :is(.woocommerce-widget-layered-nav-list,.product-categories),
#sp-filter-dialog .widget :is(.rh-scrollable,.scrollable,.mCustomScrollBox){
  max-height:none!important;
  overflow:visible!important;
}

/* Native WooCommerce categories, with an independent 44px toggle target. */
#rh_woo_mbl_sidebar .sp-categories-enhanced,
#sp-filter-dialog .sp-categories-enhanced{
  margin:0;
  padding:0;
}
#rh_woo_mbl_sidebar .sp-categories-enhanced li.cat-parent,
#sp-filter-dialog .sp-categories-enhanced li.cat-parent{
  position:relative;
}
#rh_woo_mbl_sidebar .sp-categories-enhanced li.cat-parent > a,
#sp-filter-dialog .sp-categories-enhanced li.cat-parent > a{
  display:block;
  padding-right:48px!important;
  min-height:44px;
  box-sizing:border-box;
  align-content:center;
}
#rh_woo_mbl_sidebar .sp-categories-enhanced .sp-category-toggle,
#sp-filter-dialog .sp-categories-enhanced .sp-category-toggle{
  position:absolute;
  inset:0 0 auto auto;
  display:flex;
  justify-content:center;
  align-items:center;
  width:44px;
  min-height:44px;
  border:0;
  border-radius:8px;
  background:transparent;
  color:#6B3BC5;
  cursor:pointer;
  font-size:25px;
  line-height:1;
  box-shadow:none;
}
#rh_woo_mbl_sidebar .sp-category-toggle[aria-expanded="true"] span,
#sp-filter-dialog .sp-category-toggle[aria-expanded="true"] span{
  transform:rotate(180deg);
}
#rh_woo_mbl_sidebar .sp-categories-enhanced ul.children[hidden],
#sp-filter-dialog .sp-categories-enhanced ul.children[hidden]{
  display:none!important;
}
#rh_woo_mbl_sidebar .sp-categories-enhanced ul.children,
#sp-filter-dialog .sp-categories-enhanced ul.children{
  position:static!important;
  margin:0 0 8px 12px!important;
  padding:0 0 0 13px!important;
  border-left:1px solid #E8DCF6;
}
#rh_woo_mbl_sidebar .sp-categories-enhanced li.current-cat > a,
#sp-filter-dialog .sp-categories-enhanced li.current-cat > a{
  color:#6B3BC5!important;
  font-weight:700;
}
#rh_woo_mbl_sidebar .sp-category-toggle:focus-visible,
#sp-filter-dialog .sp-category-toggle:focus-visible{
  outline:2px solid #6B3BC5!important;
  outline-offset:2px;
}
@media(max-width:767px){
  #sp-filter-dialog{width:min(370px,calc(100vw - 18px));border-radius:0 14px 14px 0}
  #sp-filter-dialog .sp-filter-fields{padding:18px}
}

/* Lock native modal presentation to the left viewport edge.
 * REHub/browser dialog styling must not recenter the mobile/tablet drawer. */
@media (max-width: 767px) {
  dialog#sp-filter-dialog:modal,
  dialog#sp-filter-dialog[open] {
    position: fixed !important;
    top: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    right: auto !important;
    margin: 0 !important;
    transform: none !important;
    translate: none !important;
    box-sizing: border-box !important;
    width: min(390px, calc(100vw - 18px)) !important;
    max-width: calc(100vw - 18px) !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    border-radius: 0 14px 14px 0 !important;
  }
  #sp-filter-dialog .sp-filter-fields {
    box-sizing: border-box;
    width: 100%;
    overflow-x: hidden;
  }
}
@media (max-width: 420px) {
  dialog#sp-filter-dialog:modal,
  dialog#sp-filter-dialog[open] {
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    border-radius: 0 12px 12px 0 !important;
  }
}

/* One scroll region only: REHub's brand widgets otherwise get their own
   scrollbars inside the mobile filter dialog (visually nested scrolling). */
@media (max-width: 767px) {
  dialog#sp-filter-dialog .widget_brand_nav .wc-brand-list-layered-nav-product_brand,
  dialog#sp-filter-dialog .widget_layered_nav .woocommerce-widget-layered-nav-list,
  dialog#sp-filter-dialog .widget :is(ul.product-categories, ul.children) {
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    overscroll-behavior: auto;
  }
  dialog#sp-filter-dialog .sp-filter-close {
    flex: 0 0 44px;
    min-width: 44px !important;
    min-height: 44px !important;
  }
}
