/*!
 * RHR WooCommerce Product Filter – frontend styles
 * Version 2.0.1 · Rubel Hasan Rokib
 * Colors come from CSS variables (dashboard → .rhr-scope, Elementor widget → {{WRAPPER}} .rhr-scope).
 */

/* ------------------------------------------------------------------ */
/* Tokens                                                              */
/* ------------------------------------------------------------------ */
.rhr-scope{
  --rhr-accent:#ff5a6e;--rhr-accent-dark:#e5405a;--rhr-text:#1f2430;--rhr-heading:#111827;--rhr-muted:#6b7280;
  --rhr-border:#e7e9ef;--rhr-panel:#fff;--rhr-input:#f6f7fa;--rhr-btn-text:#fff;--rhr-chip:#f3f4f7;
  --rhr-trigger-bg:#111827;--rhr-trigger-text:#fff;--rhr-overlay:rgba(15,23,42,.45);
  --rhr-radius:10px;--rhr-fs:14px;--rhr-sidebar:280px;--rhr-gap:28px;--rhr-cols:3;
  --rhr-shadow:0 1px 2px rgba(16,24,40,.04),0 6px 20px rgba(16,24,40,.06);
  --rhr-shadow-lg:0 24px 60px rgba(16,24,40,.22);
  --rhr-star:#f5a623;
}
.rhr-scope{--rhr-soft:color-mix(in srgb,var(--rhr-accent) 11%,var(--rhr-panel));--rhr-soft-2:color-mix(in srgb,var(--rhr-accent) 22%,var(--rhr-panel))}
@supports not (color:color-mix(in srgb,red 10%,white)){.rhr-scope{--rhr-soft:rgba(255,90,110,.1);--rhr-soft-2:rgba(255,90,110,.2)}}

.rhr-host{display:contents}
.rhr-scope,.rhr-scope *{box-sizing:border-box}
.rhr-scope{color:var(--rhr-text);font-size:var(--rhr-fs);line-height:1.45;-webkit-tap-highlight-color:transparent}
.rhr-scope svg{width:1em;height:1em;display:block;flex:none}
.rhr-scope [hidden]{display:none!important}

/* Theme-proof buttons: every state reads component variables. */
/* :not(#rhr-x) raises specificity above theme rules such as button:not(:hover):not(:active). */
.rhr-scope button[class*="rhr-"]:not(#rhr-x),
.rhr-scope button[class*="rhr-"]:not(#rhr-x):hover,
.rhr-scope button[class*="rhr-"]:not(#rhr-x):focus,
.rhr-scope button[class*="rhr-"]:not(#rhr-x):active{
  display:var(--_d,inline-flex);align-items:center;justify-content:center;gap:var(--_gap,6px);
  margin:0;padding:var(--_pd,0);min-height:0;min-width:0;width:var(--_w,auto);height:var(--_h,auto);
  background:var(--_bg,transparent);color:var(--_fg,inherit);border:var(--_bd,0);border-radius:var(--_rd,0);
  box-shadow:var(--_sh,none);font:inherit;font-size:var(--_fs,inherit);font-weight:var(--_fw,inherit);line-height:1.2;
  text-transform:none;letter-spacing:normal;text-decoration:none;text-shadow:none;outline:0;cursor:pointer;
  transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s,transform .18s;
}
.rhr-scope button[class*="rhr-"]:not(#rhr-x):focus-visible{outline:2px solid var(--rhr-accent);outline-offset:2px}

/* ------------------------------------------------------------------ */
/* Wrapper                                                             */
/* ------------------------------------------------------------------ */
.rhr-wpf-wrap{position:relative;width:100%;max-width:100%}
.rhr-wpf-wrap.rhr-archive-mode{display:block}
.rhr-wpf-wrap.rhr-grid-mode{display:grid;grid-template-columns:var(--rhr-sidebar) minmax(0,1fr);gap:var(--rhr-gap);align-items:start}
.rhr-wpf-wrap.rhr-grid-mode.rhr-d-drawer{grid-template-columns:minmax(0,1fr)}

/* Trigger ("Filters" button) – hidden until a layout needs it. */
.rhr-scope .rhr-trigger{display:none}
.rhr-scope button.rhr-trigger{
  --_d:none;--_pd:0 18px;--_h:44px;--_gap:9px;--_bg:var(--rhr-trigger-bg);--_fg:var(--rhr-trigger-text);
  --_rd:999px;--_fw:600;--_sh:0 6px 18px rgba(16,24,40,.14);white-space:nowrap
}
.rhr-scope button.rhr-trigger:hover{--_sh:0 10px 26px rgba(16,24,40,.2)}
.rhr-scope button.rhr-trigger:active{transform:scale(.97)}
.rhr-trigger-icon{font-size:18px;display:inline-flex}
.rhr-filter-count{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--rhr-accent);color:var(--rhr-btn-text);font-size:11px;font-weight:700;line-height:1}
.rhr-wpf-wrap>.rhr-trigger{margin:0 0 14px}
.rhr-scope.rhr-bar button.rhr-trigger,.rhr-scope.rhr-float button.rhr-trigger{--_d:inline-flex}

/* ------------------------------------------------------------------ */
/* Panel                                                               */
/* ------------------------------------------------------------------ */
.rhr-filter-panel{background:var(--rhr-panel);border:1px solid var(--rhr-border);border-radius:var(--rhr-radius);box-shadow:var(--rhr-shadow);padding:20px;display:flex;flex-direction:column;min-width:0}
.rhr-wpf-wrap.rhr-sticky:not(.rhr-is-mobile)>.rhr-filter-panel{position:sticky;top:calc(var(--rhr-sticky-top,24px) + var(--wp-admin--admin-bar--height,0px));max-height:calc(100vh - 48px);overflow:auto;scrollbar-width:thin}
.rhr-filter-head{display:flex;align-items:center;gap:10px;margin:0 0 6px;padding:0 0 14px;border-bottom:1px solid var(--rhr-border)}
.rhr-scope .rhr-filter-head .rhr-filter-title{margin:0;flex:1;min-width:0;font-family:inherit;font-size:1.2em;font-weight:700;line-height:1.2;letter-spacing:-.01em;color:var(--rhr-heading);text-transform:none}
.rhr-scope button.rhr-reset-link{--_fg:var(--rhr-accent);--_fw:600;--_fs:.86em;--_pd:4px 2px}
.rhr-scope button.rhr-reset-link:hover{--_fg:var(--rhr-accent-dark);text-decoration:underline}
.rhr-scope button.rhr-close{--_d:none;--_w:38px;--_h:38px;--_rd:50%;--_bg:var(--rhr-chip);--_fg:var(--rhr-heading);font-size:18px}
.rhr-scope button.rhr-close:hover{--_bg:var(--rhr-border)}
.rhr-portal button.rhr-close,.rhr-inline-open button.rhr-close{--_d:inline-flex}
.rhr-panel-body{min-width:0}
.rhr-filter-form{margin:0;padding:0;border:0}

/* Footer: only inside the drawer. */
.rhr-panel-foot{display:none;gap:10px;padding:14px 0 0}
.rhr-scope button.rhr-btn{--_h:48px;--_pd:0 18px;--_rd:var(--rhr-radius);--_fw:600;flex:1}
.rhr-scope button.rhr-btn-primary{--_bg:var(--rhr-accent);--_fg:var(--rhr-btn-text);flex:1.6}
.rhr-scope button.rhr-btn-primary:hover{--_bg:var(--rhr-accent-dark)}
.rhr-scope button.rhr-btn-primary.is-pending{--_sh:0 0 0 4px var(--rhr-soft-2)}
.rhr-scope button.rhr-btn-ghost{--_bg:transparent;--_fg:var(--rhr-heading);--_bd:1px solid var(--rhr-border)}
.rhr-scope button.rhr-btn-ghost:hover{--_bd:1px solid var(--rhr-heading)}

/* ------------------------------------------------------------------ */
/* Sections                                                            */
/* ------------------------------------------------------------------ */
.rhr-sec{padding:14px 0;border-bottom:1px solid var(--rhr-border)}
.rhr-sec:last-child{border-bottom:0;padding-bottom:4px}
.rhr-scope .rhr-sec-head,.rhr-scope button.rhr-sec-head{--_d:flex;--_w:100%;--_gap:8px;--_pd:2px 0;display:flex;align-items:center;gap:8px;width:100%;text-align:left;justify-content:flex-start;margin:0 0 12px}
.rhr-section-title{flex:1;font-weight:700;font-size:.93em;color:var(--rhr-heading);letter-spacing:.01em}
.rhr-sec-meta{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--rhr-soft);color:var(--rhr-accent);font-size:11px;font-weight:700}
.rhr-sec-meta:empty{display:none}
.rhr-chev{color:var(--rhr-muted);font-size:16px;display:inline-flex;transition:transform .2s}
.rhr-sec.is-collapsed .rhr-chev{transform:rotate(-90deg)}
.rhr-sec.is-collapsed .rhr-sec-head{margin-bottom:0}
.rhr-sec.is-collapsed .rhr-sec-body{display:none}
.rhr-sec-body{min-width:0}

/* Active filter chips */
.rhr-active{padding:12px 0 14px;border-bottom:1px solid var(--rhr-border)}
.rhr-active-head{font-size:.8em;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--rhr-muted);margin:0 0 9px}
.rhr-active-list{display:flex;flex-wrap:wrap;gap:6px}
.rhr-scope button.rhr-active-chip{--_pd:6px 8px 6px 11px;--_rd:999px;--_bg:var(--rhr-soft);--_fg:var(--rhr-heading);--_fs:.86em;--_fw:500;--_gap:6px;max-width:100%}
.rhr-scope button.rhr-active-chip:hover{--_bg:var(--rhr-soft-2)}
.rhr-active-chip span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rhr-active-chip i{font-style:normal;display:inline-grid;place-items:center;width:17px;height:17px;border-radius:50%;background:var(--rhr-panel);color:var(--rhr-accent);font-size:13px;line-height:1}

/* ------------------------------------------------------------------ */
/* Search                                                              */
/* ------------------------------------------------------------------ */
.rhr-search{position:relative;display:flex;align-items:center}
.rhr-search-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);color:var(--rhr-muted);font-size:17px;pointer-events:none;display:inline-flex}
.rhr-scope .rhr-search input[type="search"][name],
.rhr-scope .rhr-search input[type="search"][name]:focus{
  width:100%;height:46px;margin:0;padding:0 84px 0 40px;border:1px solid var(--rhr-border);border-radius:var(--rhr-radius);
  background:var(--rhr-input);color:var(--rhr-text);font:inherit;font-size:max(16px,1em);box-shadow:none;outline:0;
  -webkit-appearance:none;appearance:none;transition:border-color .18s,box-shadow .18s,background-color .18s
}
.rhr-scope .rhr-search input[type="search"][name]:focus{border-color:var(--rhr-accent);background:var(--rhr-panel);box-shadow:0 0 0 4px var(--rhr-soft)}
.rhr-search input[type="search"]::-webkit-search-cancel-button{-webkit-appearance:none;display:none}
.rhr-search input::placeholder{color:var(--rhr-muted);opacity:.85}
.rhr-scope button.rhr-search-clear{position:absolute;right:46px;top:50%;transform:translateY(-50%);--_w:26px;--_h:26px;--_rd:50%;--_fg:var(--rhr-muted);font-size:14px}
.rhr-scope button.rhr-search-clear:hover{--_bg:var(--rhr-chip);--_fg:var(--rhr-heading)}
.rhr-scope button.rhr-search-go{position:absolute;right:5px;top:50%;transform:translateY(-50%);--_w:36px;--_h:36px;--_rd:calc(var(--rhr-radius) - 3px);--_bg:var(--rhr-accent);--_fg:var(--rhr-btn-text);font-size:17px}
.rhr-scope button.rhr-search-go:hover{--_bg:var(--rhr-accent-dark)}

.rhr-suggest{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:50;background:var(--rhr-panel);border:1px solid var(--rhr-border);border-radius:var(--rhr-radius);box-shadow:var(--rhr-shadow-lg);overflow:hidden;max-height:min(420px,60vh);overflow-y:auto}
.rhr-scope a.rhr-sg-item{display:flex;align-items:center;gap:11px;padding:9px 11px;color:var(--rhr-text);text-decoration:none;border-bottom:1px solid var(--rhr-border)}
.rhr-scope a.rhr-sg-item:hover,.rhr-scope a.rhr-sg-item.is-active{background:var(--rhr-soft);color:var(--rhr-text)}
.rhr-sg-item img,.rhr-sg-noimg{width:46px;height:46px;border-radius:calc(var(--rhr-radius) - 3px);object-fit:cover;flex:none;background:var(--rhr-chip)}
.rhr-sg-text{display:flex;flex-direction:column;min-width:0;gap:2px}
.rhr-sg-title{font-weight:600;color:var(--rhr-heading);font-size:.93em;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.rhr-sg-title mark{background:var(--rhr-soft-2);color:inherit;padding:0 1px;border-radius:3px}
.rhr-sg-price{font-size:.86em;color:var(--rhr-accent);font-weight:600}
.rhr-sg-price del{color:var(--rhr-muted);font-weight:400;margin-right:4px}
.rhr-sg-price ins{text-decoration:none}
.rhr-sg-stock{font-size:.78em;color:var(--rhr-muted)}
.rhr-sg-status{display:flex;align-items:center;gap:8px;padding:14px;color:var(--rhr-muted);font-size:.9em}
.rhr-scope button.rhr-sg-all{--_d:flex;--_w:100%;--_pd:12px;--_fg:var(--rhr-accent);--_fw:600;--_fs:.9em;justify-content:center}
.rhr-scope button.rhr-sg-all:hover{--_bg:var(--rhr-soft)}
.rhr-sg-all em{font-style:normal;background:var(--rhr-soft);border-radius:999px;padding:1px 7px;font-size:.85em}
.rhr-spin{width:15px;height:15px;border-radius:50%;border:2px solid var(--rhr-border);border-top-color:var(--rhr-accent);animation:rhr-spin .7s linear infinite;display:inline-block}
@keyframes rhr-spin{to{transform:rotate(360deg)}}

/* ------------------------------------------------------------------ */
/* Checkbox lists & category tree                                      */
/* ------------------------------------------------------------------ */
.rhr-scope ul.rhr-terms,.rhr-scope ul.rhr-children{list-style:none;margin:0;padding:0}
.rhr-scope .rhr-terms li{margin:0;padding:0;list-style:none;position:relative}
.rhr-scope .rhr-terms li::before,.rhr-scope .rhr-terms li::marker{content:none}
.rhr-scope label.rhr-check{display:flex;align-items:center;gap:10px;margin:0;padding:7px 36px 7px 0;cursor:pointer;color:var(--rhr-text);font-weight:400;font-size:1em;line-height:1.3;border-radius:6px;position:relative}
.rhr-scope label.rhr-check:hover .rhr-term-name{color:var(--rhr-heading)}
.rhr-scope .rhr-check input,.rhr-scope .rhr-chip input,.rhr-scope .rhr-switch input,.rhr-scope .rhr-radio input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.rhr-box{width:19px;height:19px;flex:none;border:1.5px solid color-mix(in srgb,var(--rhr-muted) 55%,var(--rhr-panel));border-radius:6px;background:var(--rhr-panel);position:relative;transition:background-color .15s,border-color .15s,box-shadow .15s}
.rhr-box::after{content:"";position:absolute;left:5.5px;top:2px;width:5px;height:10px;border:solid var(--rhr-btn-text);border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transition:transform .15s}
.rhr-check input:checked+.rhr-box{background:var(--rhr-accent);border-color:var(--rhr-accent)}
.rhr-check input:checked+.rhr-box::after{transform:rotate(45deg) scale(1)}
.rhr-check input:focus-visible+.rhr-box{box-shadow:0 0 0 4px var(--rhr-soft-2)}
.rhr-term-name{flex:1;min-width:0;color:var(--rhr-text);transition:color .15s}
.rhr-check input:checked~.rhr-term-name{color:var(--rhr-heading);font-weight:600}
.rhr-count{font-style:normal;font-size:.78em;color:var(--rhr-muted);background:var(--rhr-chip);border-radius:999px;padding:2px 8px;min-width:26px;text-align:center;line-height:1.4}
.rhr-terms>.rhr-term>label.rhr-check{padding-right:36px}
.rhr-term:not(.has-children)>label.rhr-check{padding-right:0}
.rhr-term.is-current>label .rhr-term-name{color:var(--rhr-accent);font-weight:600}
.rhr-term.is-current>label .rhr-term-name::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--rhr-accent);margin-left:7px;vertical-align:middle}
.rhr-scope button.rhr-tree-toggle{position:absolute;right:0;top:4px;--_w:28px;--_h:28px;--_rd:7px;--_fg:var(--rhr-muted);font-size:15px}
.rhr-scope button.rhr-tree-toggle:hover{--_bg:var(--rhr-chip);--_fg:var(--rhr-heading)}
.rhr-tree-toggle svg{transition:transform .2s}
.rhr-term.is-open>.rhr-tree-toggle svg{transform:rotate(180deg)}
.rhr-scope ul.rhr-children{display:none;margin:2px 0 4px 9px;padding-left:14px;border-left:1.5px solid var(--rhr-border)}
.rhr-term.is-open>ul.rhr-children{display:block}
.rhr-term.rhr-extra{display:none}
.rhr-sec-body.show-all .rhr-term.rhr-extra{display:block}
.rhr-scope button.rhr-more{--_pd:8px 0 0;--_fg:var(--rhr-accent);--_fw:600;--_fs:.88em}
.rhr-scope button.rhr-more:hover{--_fg:var(--rhr-accent-dark)}
.rhr-more span{color:var(--rhr-muted);font-weight:400}

/* ------------------------------------------------------------------ */
/* Chips & swatches                                                    */
/* ------------------------------------------------------------------ */
.rhr-chips{display:flex;flex-wrap:wrap;gap:8px}
.rhr-scope label.rhr-chip{display:inline-flex;margin:0;cursor:pointer;position:relative;font-weight:400}
.rhr-chip-inner{display:inline-flex;align-items:center;gap:7px;min-height:38px;min-width:44px;justify-content:center;padding:0 14px;border:1.5px solid var(--rhr-border);border-radius:calc(var(--rhr-radius) - 2px);background:var(--rhr-panel);color:var(--rhr-text);font-size:.92em;font-weight:500;line-height:1;transition:border-color .15s,background-color .15s,color .15s,box-shadow .15s}
.rhr-chip:hover .rhr-chip-inner{border-color:color-mix(in srgb,var(--rhr-accent) 45%,var(--rhr-border))}
.rhr-chip input:checked+.rhr-chip-inner{border-color:var(--rhr-accent);background:var(--rhr-soft);color:var(--rhr-heading);font-weight:600;box-shadow:inset 0 0 0 .5px var(--rhr-accent)}
.rhr-chip input:focus-visible+.rhr-chip-inner{box-shadow:0 0 0 4px var(--rhr-soft-2)}
.rhr-chip .rhr-count{background:transparent;padding:0;min-width:0}
.rhr-swatches .rhr-chip-inner{padding:0 12px 0 6px;border-radius:999px;min-height:36px}
.rhr-dot{width:24px;height:24px;border-radius:50%;flex:none;border:1px solid rgba(0,0,0,.12);box-shadow:inset 0 0 0 2px var(--rhr-panel);background:var(--rhr-chip)}
.rhr-chip.rhr-no-color .rhr-dot{display:none}
.rhr-chip.rhr-no-color .rhr-chip-inner{padding:0 14px}

/* ------------------------------------------------------------------ */
/* Price                                                               */
/* ------------------------------------------------------------------ */
.rhr-price{padding:2px 2px 0}
.rhr-range{position:relative;height:30px;margin:0 0 12px}
.rhr-range-track{position:absolute;left:0;right:0;top:50%;height:5px;margin-top:-2.5px;border-radius:999px;background:var(--rhr-border)}
.rhr-range-fill{position:absolute;top:0;bottom:0;left:0;right:0;border-radius:999px;background:var(--rhr-accent)}
.rhr-scope .rhr-range input[type="range"]{position:absolute;left:0;top:0;width:100%;height:30px;margin:0;padding:0;background:transparent;border:0;box-shadow:none;pointer-events:none;-webkit-appearance:none;appearance:none;z-index:3;outline:0}
.rhr-range input[type="range"]::-webkit-slider-runnable-track{height:30px;background:transparent;border:0}
.rhr-range input[type="range"]::-moz-range-track{height:30px;background:transparent;border:0}
.rhr-range input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;pointer-events:auto;width:22px;height:22px;margin-top:4px;border-radius:50%;background:var(--rhr-panel);border:2.5px solid var(--rhr-accent);box-shadow:0 2px 8px rgba(16,24,40,.18);cursor:grab}
.rhr-range input[type="range"]::-moz-range-thumb{pointer-events:auto;width:17px;height:17px;border-radius:50%;background:var(--rhr-panel);border:2.5px solid var(--rhr-accent);box-shadow:0 2px 8px rgba(16,24,40,.18);cursor:grab}
.rhr-range input[type="range"]:active::-webkit-slider-thumb{cursor:grabbing;box-shadow:0 0 0 7px var(--rhr-soft-2)}
.rhr-range input[type="range"]:focus-visible::-webkit-slider-thumb{box-shadow:0 0 0 6px var(--rhr-soft-2)}
.rhr-price-inputs{display:flex;align-items:center;gap:8px}
.rhr-scope .rhr-price-inputs label{flex:1;min-width:0;display:flex;align-items:center;margin:0;height:42px;padding:0 10px;border:1px solid var(--rhr-border);border-radius:calc(var(--rhr-radius) - 2px);background:var(--rhr-input);transition:border-color .18s,box-shadow .18s}
.rhr-scope .rhr-price-inputs label:focus-within{border-color:var(--rhr-accent);box-shadow:0 0 0 4px var(--rhr-soft);background:var(--rhr-panel)}
.rhr-cur{color:var(--rhr-muted);font-size:.9em;margin-right:4px}
.rhr-scope .rhr-price-inputs input[type="number"][name],
.rhr-scope .rhr-price-inputs input[type="number"][name]:focus{flex:1;min-width:0;width:100%;height:40px;margin:0;padding:0;border:0;background:transparent;box-shadow:none;outline:0;color:var(--rhr-text);font:inherit;font-size:max(16px,1em);font-weight:600;-moz-appearance:textfield;appearance:textfield}
.rhr-price-inputs input::-webkit-outer-spin-button,.rhr-price-inputs input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.rhr-price-inputs input::placeholder{color:var(--rhr-muted);font-weight:400}
.rhr-dash{color:var(--rhr-muted)}

/* ------------------------------------------------------------------ */
/* Switches & ratings                                                  */
/* ------------------------------------------------------------------ */
.rhr-scope label.rhr-switch{display:flex;align-items:center;gap:11px;margin:0 0 10px;cursor:pointer;position:relative;font-weight:500;color:var(--rhr-text)}
.rhr-scope label.rhr-switch:last-child{margin-bottom:0}
.rhr-switch-ui{width:40px;height:23px;border-radius:999px;background:var(--rhr-border);position:relative;flex:none;transition:background-color .2s}
.rhr-switch-ui::after{content:"";position:absolute;left:2.5px;top:2.5px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(16,24,40,.25);transition:transform .2s}
.rhr-switch input:checked+.rhr-switch-ui{background:var(--rhr-accent)}
.rhr-switch input:checked+.rhr-switch-ui::after{transform:translateX(17px)}
.rhr-switch input:focus-visible+.rhr-switch-ui{box-shadow:0 0 0 4px var(--rhr-soft-2)}
.rhr-ratings{display:flex;flex-direction:column;gap:2px}
.rhr-scope label.rhr-radio{display:flex;align-items:center;gap:10px;margin:0;padding:6px 0;cursor:pointer;position:relative;font-weight:400}
.rhr-radio-ui{width:19px;height:19px;border-radius:50%;border:1.5px solid color-mix(in srgb,var(--rhr-muted) 55%,var(--rhr-panel));flex:none;position:relative;background:var(--rhr-panel)}
.rhr-radio input:checked+.rhr-radio-ui{border-color:var(--rhr-accent)}
.rhr-radio input:checked+.rhr-radio-ui::after{content:"";position:absolute;inset:3.5px;border-radius:50%;background:var(--rhr-accent)}
.rhr-stars{display:inline-flex;gap:2px;font-size:16px}
.rhr-stars i{color:#d6d9e0;display:inline-flex}
.rhr-stars i.on{color:var(--rhr-star)}
.rhr-radio small{color:var(--rhr-muted);font-size:.85em}

/* ------------------------------------------------------------------ */
/* Drawer (portal mounted on <body>)                                   */
/* ------------------------------------------------------------------ */
.rhr-portal{position:fixed;inset:0;z-index:999990;pointer-events:none;visibility:hidden;transition:visibility 0s linear .36s}
.rhr-portal.is-open{visibility:visible;pointer-events:auto;transition:visibility 0s}
.rhr-portal .rhr-backdrop{position:absolute;inset:0;background:var(--rhr-overlay);opacity:0;transition:opacity .3s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}
.rhr-portal.is-open .rhr-backdrop{opacity:1}
.rhr-portal .rhr-filter-panel{
  position:absolute;top:0;bottom:0;right:0;width:min(420px,90vw);max-width:100%;height:100%;
  margin:0;padding:0;border:0;border-radius:var(--rhr-radius) 0 0 var(--rhr-radius);box-shadow:var(--rhr-shadow-lg);
  display:flex;flex-direction:column;overflow:hidden;transform:translate3d(104%,0,0);
  transition:transform .36s cubic-bezier(.32,.72,0,1);will-change:transform
}
.rhr-portal.rhr-side-left .rhr-filter-panel{right:auto;left:0;border-radius:0 var(--rhr-radius) var(--rhr-radius) 0;transform:translate3d(-104%,0,0)}
.rhr-portal.rhr-side-bottom .rhr-filter-panel{top:auto;left:0;right:0;width:100%;height:auto;max-height:88vh;max-height:88dvh;border-radius:calc(var(--rhr-radius) + 8px) calc(var(--rhr-radius) + 8px) 0 0;transform:translate3d(0,104%,0)}
.rhr-portal.is-open .rhr-filter-panel{transform:none}
.rhr-portal .rhr-filter-head{flex:none;margin:0;padding:calc(16px + env(safe-area-inset-top,0px)) 20px 14px;background:var(--rhr-panel)}
.rhr-portal.rhr-side-bottom .rhr-filter-head{padding-top:22px;position:relative}
.rhr-portal.rhr-side-bottom .rhr-filter-head::before{content:"";position:absolute;top:8px;left:50%;width:42px;height:5px;margin-left:-21px;border-radius:999px;background:var(--rhr-border)}
.rhr-portal .rhr-panel-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:0 20px 8px}
.rhr-portal .rhr-panel-foot{display:flex;flex:none;padding:12px 20px calc(12px + env(safe-area-inset-bottom,0px));background:var(--rhr-panel);border-top:1px solid var(--rhr-border);box-shadow:0 -8px 20px rgba(16,24,40,.05)}
.rhr-portal .rhr-reset-link{display:none!important}
.rhr-no-anim,.rhr-no-anim *{transition:none!important}
html.rhr-lock,html.rhr-lock body{overflow:hidden!important}
html.rhr-lock body{touch-action:none}
html.rhr-lock .rhr-portal{touch-action:auto}

/* Mobile toolbar created above the product grid */
.rhr-scope.rhr-bar{display:flex;align-items:center;gap:10px;width:100%;margin:0 0 16px;padding:0;clear:both;position:relative;z-index:5}
.rhr-bar[hidden]{display:none!important}
.rhr-scope.rhr-bar button.rhr-trigger{--_h:44px;flex:none}
.rhr-bar .woocommerce-ordering{float:none!important;flex:1 1 auto;min-width:0;margin:0!important;padding:0}
.rhr-bar .woocommerce-ordering select{width:100%!important;max-width:100%;height:44px;margin:0;padding:0 34px 0 14px;border:1px solid var(--rhr-border);border-radius:999px;background-color:var(--rhr-panel);color:var(--rhr-text);font-size:max(16px,.95em)}

/* Floating trigger */
.rhr-scope.rhr-float{position:fixed;left:0;right:0;bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:999980;display:flex;justify-content:center;pointer-events:none}
.rhr-scope.rhr-float button.rhr-trigger{pointer-events:auto;--_h:48px;--_pd:0 22px;--_sh:0 12px 30px rgba(16,24,40,.28)}
html.rhr-lock .rhr-float{opacity:0;pointer-events:none}

/* Inline (non-drawer) mobile layout */
.rhr-wpf-wrap.rhr-inline-open>.rhr-filter-panel{display:flex;margin-bottom:16px}

/* Products area loading state (archive AJAX) */
.rhr-loading{position:relative;opacity:.45;pointer-events:none;transition:opacity .2s}
.rhr-loading::after{content:"";position:absolute;left:50%;top:60px;width:34px;height:34px;margin-left:-17px;border-radius:50%;border:3px solid rgba(0,0,0,.08);border-top-color:var(--rhr-accent,#ff5a6e);animation:rhr-spin .7s linear infinite;z-index:20}
html.rhr-busy{cursor:progress}

/* ------------------------------------------------------------------ */
/* Standalone grid mode                                                */
/* ------------------------------------------------------------------ */
.rhr-products-area{min-width:0;transition:opacity .2s}
.rhr-products-area.rhr-is-loading{opacity:.45;pointer-events:none}
.rhr-grid-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px}
.rhr-results-count{color:var(--rhr-muted);font-size:.93em}
.rhr-scope select.rhr-sort{height:42px;min-width:180px;margin:0;padding:0 34px 0 14px;border:1px solid var(--rhr-border);border-radius:var(--rhr-radius);background-color:var(--rhr-panel);color:var(--rhr-text);font:inherit}
.rhr-wpf-wrap .rhr-products-grid ul.products{display:grid!important;grid-template-columns:repeat(var(--rhr-cols),minmax(0,1fr))!important;gap:22px!important;margin:0!important;padding:0!important}
.rhr-wpf-wrap .rhr-products-grid ul.products::before,.rhr-wpf-wrap .rhr-products-grid ul.products::after{display:none!important}
.rhr-wpf-wrap .rhr-products-grid ul.products li.product{width:auto!important;margin:0!important;float:none!important}
.rhr-wpf-wrap.rhr-grid-mode .rhr-products-area{container-type:inline-size}
@container (max-width:760px){.rhr-wpf-wrap .rhr-products-grid ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}}
@container (max-width:340px){.rhr-wpf-wrap .rhr-products-grid ul.products{grid-template-columns:minmax(0,1fr)!important}}
.rhr-pagination{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin:26px 0 0}
.rhr-scope button.rhr-page{--_w:40px;--_h:40px;--_rd:var(--rhr-radius);--_bd:1px solid var(--rhr-border);--_bg:var(--rhr-panel);--_fw:600}
.rhr-scope button.rhr-page:hover{--_bd:1px solid var(--rhr-accent);--_fg:var(--rhr-accent)}
.rhr-scope button.rhr-page.is-active{--_bg:var(--rhr-accent);--_fg:var(--rhr-btn-text);--_bd:1px solid var(--rhr-accent)}
.rhr-page-gap{display:inline-grid;place-items:center;width:24px;color:var(--rhr-muted)}

/* ------------------------------------------------------------------ */
/* Presets                                                             */
/* ------------------------------------------------------------------ */
.rhr-preset-soft .rhr-filter-panel{border-color:transparent;box-shadow:0 2px 6px rgba(16,24,40,.04),0 16px 40px rgba(16,24,40,.08)}
.rhr-preset-soft .rhr-sec{border-bottom-style:dashed}
.rhr-preset-soft .rhr-chip-inner{border-color:transparent;background:var(--rhr-chip)}
.rhr-preset-minimal .rhr-wpf-wrap>.rhr-filter-panel,.rhr-wpf-wrap.rhr-preset-minimal>.rhr-filter-panel{border:0;box-shadow:none;padding:0;background:transparent;border-radius:0}
.rhr-preset-minimal .rhr-chip-inner{border-radius:0}
.rhr-preset-minimal .rhr-box{border-radius:3px}
.rhr-preset-bold .rhr-filter-panel{border-width:2px;border-color:var(--rhr-heading)}
.rhr-preset-bold .rhr-section-title{text-transform:uppercase;letter-spacing:.08em;font-size:.8em}
.rhr-preset-bold .rhr-chip-inner{border-width:2px;border-radius:999px}
.rhr-preset-bold .rhr-filter-title{text-transform:uppercase;letter-spacing:.04em}

/* Elementor editor: show everything inline so it can be styled */
.rhr-wpf-wrap.rhr-editor>.rhr-filter-panel{display:flex!important}

@media (prefers-reduced-motion:reduce){
  .rhr-scope *,.rhr-portal .rhr-filter-panel,.rhr-portal .rhr-backdrop{transition:none!important;animation-duration:.01ms!important}
}
@media (max-width:480px){
  .rhr-portal:not(.rhr-side-bottom) .rhr-filter-panel{width:min(400px,92vw)}
}
