:root{
  --wwpfw-accent:#2563EB;
  --wwpfw-accent-text:#fff;
  --wwpfw-text:#1F2937;
  --wwpfw-muted:#64748B;
  --wwpfw-surface:#fff;
  --wwpfw-border:#D9E2EF;
  --wwpfw-active-bg:#EEF4FF;
  --wwpfw-radius:14px;
  --wwpfw-border-width:1px;
  --wwpfw-py:10px;
  --wwpfw-px:12px;
  --wwpfw-panel-pt:12px;
  --wwpfw-panel-pb:12px;
  --wwpfw-gap:8px;
  --wwpfw-option-gap:8px;
  --wwpfw-filter-gap:14px;
  --wwpfw-title-gap:10px;
  --wwpfw-field-gap:9px;
  --wwpfw-sorter-top-offset:0px;
  --wwpfw-option-min-height:34px;
  --wwpfw-control-min-height:38px;
  --wwpfw-shadow:0 8px 22px rgba(15,23,42,.08);
  --wwpfw-title-transform:none;
  --wwpfw-divider-display:block;
}
.wwpfw{box-sizing:border-box;color:var(--wwpfw-text);font-size:14px;line-height:1.35}
.wwpfw *,.wwpfw *:before,.wwpfw *:after{box-sizing:border-box}
.wwpfw-stack{display:block}
.wwpfw-filter,
.wwpfw-sorter{
  background:var(--wwpfw-surface);
  border:var(--wwpfw-border-width) solid var(--wwpfw-border);
  border-radius:var(--wwpfw-radius);
  box-shadow:var(--wwpfw-shadow);
  padding:var(--wwpfw-panel-pt) calc(var(--wwpfw-px) + 2px) var(--wwpfw-panel-pb);
  margin:0 0 var(--wwpfw-filter-gap);
}
.wwpfw-title{
  font-weight:750;
  font-size:13px;
  letter-spacing:.02em;
  text-transform:var(--wwpfw-title-transform);
  margin:0 0 var(--wwpfw-title-gap);
  color:var(--wwpfw-text);
}
.wwpfw-title:after{content:"";display:var(--wwpfw-divider-display);height:1px;background:var(--wwpfw-border);margin-top:calc(var(--wwpfw-title-gap) - 1px)}
.wwpfw-titlebar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 var(--wwpfw-title-gap);padding-bottom:calc(var(--wwpfw-title-gap) - 1px);border-bottom:1px solid var(--wwpfw-border)}
.wwpfw-titlebar .wwpfw-title{margin:0;min-width:0;flex:1}
.wwpfw-titlebar .wwpfw-title:after{display:none!important}
.wwpfw-filter-clear{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:3px 8px;border:var(--wwpfw-border-width) solid var(--wwpfw-border);border-radius:999px;background:rgba(100,116,139,.06);color:var(--wwpfw-muted)!important;text-decoration:none!important;font-size:12px;font-weight:750;line-height:1;white-space:nowrap;transition:background .16s ease,border-color .16s ease,color .16s ease}
.wwpfw-filter-clear:hover{background:var(--wwpfw-active-bg);border-color:var(--wwpfw-accent);color:var(--wwpfw-accent)!important}

.wwpfw-options{display:flex;flex-direction:column;gap:var(--wwpfw-option-gap)}
.wwpfw-option{
  display:flex;
  align-items:center;
  gap:var(--wwpfw-field-gap);
  min-height:var(--wwpfw-option-min-height);
  padding:var(--wwpfw-py) var(--wwpfw-px);
  border:var(--wwpfw-border-width) solid transparent;
  border-radius:calc(var(--wwpfw-radius) - 4px);
  color:var(--wwpfw-text);
  text-decoration:none!important;
  background:transparent;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease;
  margin-left:calc(var(--wwpfw-depth,0) * 14px);
}
.wwpfw-option:hover{background:var(--wwpfw-active-bg);border-color:var(--wwpfw-border);color:var(--wwpfw-text);transform:translateY(-1px)}
.wwpfw-option.is-active{background:var(--wwpfw-active-bg);border-color:var(--wwpfw-accent);color:var(--wwpfw-text);font-weight:700}
.wwpfw-mark{
  width:16px;
  height:16px;
  border:1.5px solid var(--wwpfw-border);
  border-radius:4px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 16px;
  background:#fff;
}
.wwpfw-display-radio .wwpfw-mark{border-radius:999px}
.wwpfw-option.is-active .wwpfw-mark{background:var(--wwpfw-accent);border-color:var(--wwpfw-accent)}
.wwpfw-display-checkbox .wwpfw-option.is-active .wwpfw-mark:after,
.wwpfw-filter-simple .wwpfw-option.is-active .wwpfw-mark:after{
  content:"";
  width:8px;
  height:5px;
  border-left:2px solid var(--wwpfw-accent-text);
  border-bottom:2px solid var(--wwpfw-accent-text);
  transform:rotate(-45deg);
  margin-top:-2px;
}
.wwpfw-display-radio .wwpfw-option.is-active .wwpfw-mark:after{content:"";width:6px;height:6px;border-radius:999px;background:var(--wwpfw-accent-text)}
.wwpfw-display-pills .wwpfw-options,.wwpfw-sort-options{flex-direction:row;flex-wrap:wrap}
.wwpfw-display-pills .wwpfw-option,.wwpfw-sort-options .wwpfw-option{border-color:var(--wwpfw-border);border-radius:999px;min-height:32px;padding:7px 12px;margin-left:0}
.wwpfw-display-pills .wwpfw-mark,.wwpfw-sort-options .wwpfw-mark{display:none}
.wwpfw-label{flex:1}
.wwpfw-count{font-size:12px;color:var(--wwpfw-muted);background:rgba(100,116,139,.1);border-radius:999px;padding:2px 7px;font-weight:700}
.wwpfw-option.is-active .wwpfw-count{color:var(--wwpfw-accent)}
.wwpfw-select,.wwpfw input[type="search"],.wwpfw input[type="number"],.wwpfw input[type="text"]{
  width:100%;min-height:var(--wwpfw-control-min-height);border:var(--wwpfw-border-width) solid var(--wwpfw-border);border-radius:calc(var(--wwpfw-radius) - 4px);padding:8px 10px;background:#fff;color:var(--wwpfw-text);box-shadow:none
}
.wwpfw-select:focus,.wwpfw input:focus{outline:none;border-color:var(--wwpfw-accent);box-shadow:0 0 0 3px rgba(37,99,235,.16)}
.wwpfw-inner-search{margin-bottom:var(--wwpfw-title-gap)}
.wwpfw-button,.wwpfw-clear{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:var(--wwpfw-control-min-height);border:none;border-radius:calc(var(--wwpfw-radius) - 4px);background:var(--wwpfw-accent);color:var(--wwpfw-accent-text)!important;text-decoration:none!important;font-weight:750;padding:8px 14px;cursor:pointer}
.wwpfw-button:hover,.wwpfw-clear:hover{filter:brightness(.96);color:var(--wwpfw-accent-text)!important}
.wwpfw-price-row,.wwpfw-search-row{display:flex;align-items:center;gap:var(--wwpfw-option-gap)}
.wwpfw-price-row input{min-width:0}.wwpfw-price-sep{color:var(--wwpfw-muted)}
.wwpfw-price-form,.wwpfw-search-form{display:flex;flex-direction:column;gap:var(--wwpfw-option-gap)}
.wwpfw-search-row .wwpfw-button{flex:0 0 auto}
.wwpfw-active-filters{display:flex;flex-direction:column;align-items:flex-start;gap:12px;flex-wrap:nowrap;margin:0 0 var(--wwpfw-filter-gap)}
.wwpfw-active-title,.wwpfw-sorter-label{font-weight:750;color:var(--wwpfw-text)}
.wwpfw-chip-list{display:flex;align-items:center;gap:8px;flex-wrap:wrap;width:100%}
.wwpfw-chip{display:inline-flex;align-items:center;gap:var(--wwpfw-field-gap);min-height:var(--wwpfw-option-min-height);padding:var(--wwpfw-py) var(--wwpfw-px);border:var(--wwpfw-border-width) solid var(--wwpfw-accent);border-radius:calc(var(--wwpfw-radius) - 4px);background:var(--wwpfw-active-bg);color:var(--wwpfw-text)!important;text-decoration:none!important;font-weight:700;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease}
.wwpfw-chip:hover{background:var(--wwpfw-active-bg);border-color:var(--wwpfw-accent);color:var(--wwpfw-text)!important;transform:translateY(-1px)}
.wwpfw-chip span{display:inline-flex;align-items:center;justify-content:center;color:var(--wwpfw-accent);font-size:18px;line-height:1;font-weight:700}
.wwpfw-clear{background:transparent;color:var(--wwpfw-accent)!important;border:var(--wwpfw-border-width) solid var(--wwpfw-accent)}
.wwpfw-sorter{display:flex;align-items:center;gap:var(--wwpfw-option-gap);flex-wrap:wrap}
.wwpfw-sorter .wwpfw-select{width:auto;min-width:220px;max-width:100%}
.wwpfw-sorter-pills{align-items:flex-start;flex-direction:column}
.wwpfw-clear-button{margin:0 0 var(--wwpfw-filter-gap)}
.wwpfw-notice{border:1px solid #FBBF24;background:#FFFBEB;color:#92400E;border-radius:12px;padding:10px 12px;margin:0 0 var(--wwpfw-filter-gap)}
.wwpfw.is-loading,.woocommerce.is-wwpfw-loading{opacity:.6;pointer-events:none}
.wwpfw-loader{position:fixed;inset:auto 18px 18px auto;z-index:99999;background:var(--wwpfw-accent);color:var(--wwpfw-accent-text);border-radius:999px;padding:9px 14px;box-shadow:var(--wwpfw-shadow);font-weight:750}
.wwpfw-mobile-drawer-shell{display:inline-block}
.wwpfw-drawer{position:fixed;inset:0;z-index:99998;display:none}
.wwpfw-drawer.is-open{display:block}
.wwpfw-drawer-backdrop{position:absolute;inset:0;background:rgba(15,23,42,.42)}
.wwpfw-drawer-panel{position:absolute;background:var(--wwpfw-surface);box-shadow:0 20px 60px rgba(15,23,42,.28);display:flex;flex-direction:column;max-width:420px;width:calc(100% - 34px);max-height:100%;overflow:hidden}
.wwpfw-drawer-right .wwpfw-drawer-panel{right:0;top:0;bottom:0;border-radius:18px 0 0 18px}
.wwpfw-drawer-left .wwpfw-drawer-panel{left:0;top:0;bottom:0;border-radius:0 18px 18px 0}
.wwpfw-drawer-bottom .wwpfw-drawer-panel{left:0;right:0;bottom:0;width:100%;max-width:none;max-height:82vh;border-radius:20px 20px 0 0}
.wwpfw-drawer-head,.wwpfw-drawer-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid var(--wwpfw-border)}
.wwpfw-drawer-foot{border-top:1px solid var(--wwpfw-border);border-bottom:0}
.wwpfw-drawer-body{padding:16px;overflow:auto}
.wwpfw-drawer-close{border:0;background:transparent;font-size:26px;line-height:1;cursor:pointer;color:var(--wwpfw-text)}
@media(max-width:640px){
  .wwpfw-search-row,.wwpfw-price-row,.wwpfw-sorter{align-items:stretch;flex-direction:column}
  .wwpfw-sorter .wwpfw-select{width:100%}
}

/* 1.0.3 state, dropdown-checkbox and stronger theme isolation fixes */
.wwpfw-active-filters.is-empty,
.wwpfw-clear-button.is-empty{display:none!important}
.wwpfw-display-checkbox .wwpfw-mark,
.wwpfw-display-dropdown_checkbox .wwpfw-mark,
.wwpfw-filter-simple .wwpfw-mark{border-radius:4px!important}
.wwpfw-display-radio .wwpfw-mark{border-radius:999px!important}
.wwpfw-display-dropdown_checkbox .wwpfw-option.is-active .wwpfw-mark:after{
  content:"";
  width:8px;
  height:5px;
  border-left:2px solid var(--wwpfw-accent-text);
  border-bottom:2px solid var(--wwpfw-accent-text);
  transform:rotate(-45deg);
  margin-top:-2px;
}
.wwpfw-dropdown-check{position:relative;width:100%}
.wwpfw-dropdown-check-toggle{
  width:100%;min-height:var(--wwpfw-control-min-height);border:var(--wwpfw-border-width) solid var(--wwpfw-border);border-radius:calc(var(--wwpfw-radius) - 4px);padding:8px 10px;background:#fff;color:var(--wwpfw-text);box-shadow:none;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;text-align:left;font:inherit
}
.wwpfw-dropdown-check-toggle:focus{outline:none;border-color:var(--wwpfw-accent);box-shadow:0 0 0 3px rgba(37,99,235,.16)}
.wwpfw-dropdown-check-panel{display:none;position:absolute;z-index:30;top:calc(100% + 6px);left:0;right:0;max-height:320px;overflow:auto;background:var(--wwpfw-surface);border:var(--wwpfw-border-width) solid var(--wwpfw-border);border-radius:calc(var(--wwpfw-radius) - 4px);box-shadow:var(--wwpfw-shadow);padding:8px}
.wwpfw-dropdown-check.is-open .wwpfw-dropdown-check-panel{display:block}
.wwpfw-sorter{margin-top:var(--wwpfw-sorter-top-offset,0px)}
.wwpfw-stack > .wwpfw:first-child,
.wwpfw-stack > .wwpfw-filter:first-child,
.wwpfw-stack > .wwpfw-active-filters:first-child{margin-top:0!important}

/* 1.0.4 sorter/result-count merge and duplicate-proof layout */
.wwpfw-sorter{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:var(--wwpfw-option-gap);
  flex-wrap:wrap;
}
.wwpfw-result-count{
  color:var(--wwpfw-text);
  font-weight:650;
  line-height:1.35;
}
.wwpfw-sorter-control{
  display:flex;
  align-items:center;
  gap:var(--wwpfw-option-gap);
  flex-wrap:wrap;
  margin-left:auto;
}
.wwpfw-sorter-control .wwpfw-select{width:auto;min-width:220px;max-width:100%}
.wwpfw-sorter-pills .wwpfw-sorter-control{align-items:flex-start;flex-direction:column;margin-left:0}
.wwpfw-auto-sorter{margin-top:0!important}
@media(max-width:640px){
  .wwpfw-sorter{align-items:stretch;flex-direction:column}
  .wwpfw-sorter-control{align-items:stretch;flex-direction:column;margin-left:0;width:100%}
  .wwpfw-sorter-control .wwpfw-select{width:100%}
}

/* 1.0.5 sorter alignment, configurable result placement and empty wrapper cleanup */
:root{
  --wwpfw-sorter-gap:12px;
  --wwpfw-sorter-select-width:260px;
  --wwpfw-sorter-panel-pt:12px;
  --wwpfw-sorter-panel-pb:12px;
  --wwpfw-sorter-panel-px:16px;
  --wwpfw-sorter-select-height:44px;
  --wwpfw-sorter-select-font-size:14px;
  --wwpfw-sorter-select-offset-y:0px;
  --wwpfw-sorter-result-font-size:14px;
  --wwpfw-sorter-label-font-size:14px;
}
.wwpfw-sorter{
  gap:var(--wwpfw-sorter-gap, var(--wwpfw-option-gap));
  align-items:center;
  min-height:54px;
}
.wwpfw-sorter-control{
  gap:var(--wwpfw-sorter-gap, var(--wwpfw-option-gap));
  align-items:center;
}
.wwpfw-sorter-label,
.wwpfw-result-count{display:inline-flex;align-items:center;min-height:38px;margin:0}
.wwpfw-sorter-control .wwpfw-select{min-width:var(--wwpfw-sorter-select-width,260px)}
.wwpfw-sorter-layout-compact{justify-content:flex-start}
.wwpfw-sorter-layout-compact .wwpfw-sorter-control{order:1;margin-left:0}
.wwpfw-sorter-layout-compact .wwpfw-result-count{order:2;margin-left:0}
.wwpfw-sorter-layout-stacked{align-items:stretch;flex-direction:column;justify-content:flex-start}
.wwpfw-sorter-layout-stacked .wwpfw-sorter-control{margin-left:0;width:100%;justify-content:flex-start}
.wwpfw-sorter-layout-stacked .wwpfw-result-count{width:100%}
.wwpfw-result-position-right .wwpfw-result-count{order:2;margin-left:auto}
.wwpfw-result-position-right .wwpfw-sorter-control{order:1;margin-left:0}
.wwpfw-result-position-top .wwpfw-result-count{order:1;width:100%}
.wwpfw-result-position-top .wwpfw-sorter-control{order:2;margin-left:0;width:100%;justify-content:flex-start}
.wwpfw-result-position-bottom .wwpfw-sorter-control{order:1;margin-left:0;width:100%;justify-content:flex-start}
.wwpfw-result-position-bottom .wwpfw-result-count{order:2;width:100%}
.wwpfw-empty-wrapper{display:none!important}
.widget:has(> .wwpfw-active-filters.is-empty),
.widget:has(> .wwpfw-clear-button.is-empty),
.widget_block:has(> .wwpfw-active-filters.is-empty),
.widget_block:has(> .wwpfw-clear-button.is-empty),
.wp-block-legacy-widget:has(> .wwpfw-active-filters.is-empty),
.wp-block-legacy-widget:has(> .wwpfw-clear-button.is-empty){display:none!important}
@media(max-width:640px){
  .wwpfw-sorter-control .wwpfw-select{min-width:0;width:100%}
  .wwpfw-result-position-right .wwpfw-result-count{margin-left:0}
}

/* 1.0.9 faceted availability */
.wwpfw-option.is-disabled{
  opacity:.42;
  cursor:not-allowed!important;
  filter:grayscale(.25);
}
.wwpfw-option.is-disabled .wwpfw-count{opacity:.7}
.wwpfw-select option:disabled{color:#94A3B8}

/* 1.0.11 disabled facet options are rendered inert server-side and guarded in JS. */
.wwpfw-option.is-disabled:hover{background:transparent;border-color:transparent;transform:none}
.wwpfw-display-pills .wwpfw-option.is-disabled:hover{border-color:var(--wwpfw-border)}


/* 1.0.13 panel padding and sorter vertical alignment */
.wwpfw-filter,
.wwpfw-sorter{
  padding-top:var(--wwpfw-panel-pt, calc(var(--wwpfw-py) + 2px));
  padding-bottom:var(--wwpfw-panel-pb, calc(var(--wwpfw-py) + 2px));
}
.wwpfw-sorter{
  align-items:center!important;
}
.wwpfw-sorter-control{
  align-items:center!important;
}
.wwpfw-sorter-label,
.wwpfw-result-count{
  display:inline-flex;
  align-items:center;
  min-height:var(--wwpfw-control-min-height);
  line-height:1.2;
  margin:0;
}
.wwpfw-sorter-control .wwpfw-select{
  height:var(--wwpfw-control-min-height);
  min-height:var(--wwpfw-control-min-height);
  line-height:1.2;
  padding-top:0;
  padding-bottom:0;
  vertical-align:middle;
}
@media(max-width:640px){
  .wwpfw-sorter-control{align-items:stretch!important}
}


/* 1.0.15 responsive sorter spacing and sizing */
.wwpfw-sorter{
  padding:var(--wwpfw-sorter-panel-pt, var(--wwpfw-panel-pt)) var(--wwpfw-sorter-panel-px, calc(var(--wwpfw-px) + 2px)) var(--wwpfw-sorter-panel-pb, var(--wwpfw-panel-pb));
  gap:var(--wwpfw-sorter-gap, var(--wwpfw-option-gap));
}
.wwpfw-sorter-control{gap:var(--wwpfw-sorter-gap, var(--wwpfw-option-gap))}
.wwpfw-sorter-control .wwpfw-select{
  width:auto;
  min-width:var(--wwpfw-sorter-select-width,260px);
  height:var(--wwpfw-sorter-select-height, var(--wwpfw-control-min-height));
  min-height:var(--wwpfw-sorter-select-height, var(--wwpfw-control-min-height));
  font-size:var(--wwpfw-sorter-select-font-size,14px);
  transform:translateY(var(--wwpfw-sorter-select-offset-y,0px));
}
.wwpfw-result-count{font-size:var(--wwpfw-sorter-result-font-size,14px)}
.wwpfw-sorter-label{font-size:var(--wwpfw-sorter-label-font-size,14px)}
