.rhr-wpf-wrap{display:grid;grid-template-columns:var(--rhr-sidebar) minmax(0,1fr);gap:var(--rhr-gap);color:var(--rhr-text);font-size:14px;position:relative}.rhr-filter-panel{background:var(--rhr-panel);border:1px solid var(--rhr-border);border-radius:var(--rhr-radius);padding:20px;height:max-content;position:sticky;top:20px}.rhr-filter-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.rhr-filter-head h3{font-size:24px;margin:0}.rhr-mobile-close,.rhr-mobile-filter-btn{display:none}.rhr-filter-section{padding:0 0 20px;margin:0 0 18px;border-bottom:1px solid var(--rhr-border)}.rhr-filter-section label,.rhr-filter-section .rhr-section-title{display:block;font-size:13px;margin-bottom:9px}.rhr-section-title{font-weight:600}.rhr-search-wrap{position:relative}.rhr-search-wrap>span{position:absolute;left:11px;top:8px;color:#9aa5b5;font-size:20px}.rhr-search-wrap input,.rhr-filter-section select,.rhr-price-inputs input{width:100%;height:38px;border:1px solid #cfd8e5;border-radius:4px;background:var(--rhr-input);padding:0 11px;box-sizing:border-box}.rhr-search-wrap input{padding-left:34px}.rhr-options label{display:flex!important;align-items:center;gap:7px;margin:0 0 10px;color:var(--rhr-muted);cursor:pointer}.rhr-options input,.rhr-switch-line input{accent-color:var(--rhr-accent)}.rhr-options em{font-style:normal;font-size:11px;margin-left:2px;opacity:.65}.rhr-price-inputs{display:grid;grid-template-columns:1fr 1fr;gap:12px}.rhr-price-range{position:relative;height:25px;margin-top:10px}.rhr-price-range input{position:absolute;width:100%;left:0;top:0;pointer-events:none;appearance:none;background:transparent}.rhr-price-range input::-webkit-slider-runnable-track{height:3px;background:#cdd7e6}.rhr-price-range input::-webkit-slider-thumb{appearance:none;pointer-events:auto;width:19px;height:19px;border-radius:50%;background:var(--rhr-accent);border:2px solid #fff;box-shadow:0 1px 4px #aaa;margin-top:-8px}.rhr-reset{width:100%;height:40px;border:0;border-radius:var(--rhr-radius);background:var(--rhr-accent);color:var(--rhr-button-text);font-weight:600;cursor:pointer}.rhr-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.rhr-sort{width:190px;height:38px;border:1px solid var(--rhr-border);border-radius:var(--rhr-radius);background:var(--rhr-panel);padding:0 10px}.rhr-results-count{color:var(--rhr-muted)}.rhr-active-filters{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:16px}.rhr-active-filters span{background:color-mix(in srgb,var(--rhr-accent) 12%,white);padding:5px 9px;border-radius:20px;font-size:12px}.rhr-products-grid{display:grid;grid-template-columns:repeat(var(--rhr-cols),minmax(0,1fr));gap:22px}.rhr-product-card{border:1px solid var(--rhr-border);border-radius:var(--rhr-radius);overflow:hidden;background:var(--rhr-panel);transition:transform .2s,box-shadow .2s}.rhr-product-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(0,0,0,.07)}.rhr-product-image{display:block;aspect-ratio:1/1.08;position:relative;background:#f7f7f7;overflow:hidden}.rhr-product-image img{width:100%;height:100%;object-fit:cover;display:block}.rhr-sale-badge{position:absolute;top:0;right:0;background:#ef3340;color:#fff;font-size:11px;padding:4px 6px}.rhr-product-info{padding:12px}.rhr-product-info h3{font-size:15px;line-height:1.35;margin:0 0 7px}.rhr-product-info h3 a{color:var(--rhr-text);text-decoration:none}.rhr-product-price{margin-bottom:10px}.rhr-order-btn{display:inline-block;padding:8px 12px;border-radius:4px;background:var(--rhr-accent);color:var(--rhr-button-text);text-decoration:none;font-size:12px;font-weight:600}.rhr-pagination{display:flex;gap:6px;justify-content:center;margin-top:24px}.rhr-pagination button{width:34px;height:34px;border:1px solid var(--rhr-border);background:#fff;border-radius:4px;cursor:pointer}.rhr-pagination button.active{background:var(--rhr-accent);color:#fff;border-color:var(--rhr-accent)}.rhr-loading{padding:50px;text-align:center;color:var(--rhr-muted);grid-column:1/-1}.rhr-products-grid.is-loading{opacity:.5}.rhr-empty{padding:50px 20px;text-align:center;grid-column:1/-1;color:var(--rhr-muted)}.rhr-search-suggestions{position:absolute;left:0;right:0;top:42px;background:#fff;border:1px solid var(--rhr-border);border-radius:6px;z-index:20;display:none;box-shadow:0 10px 30px rgba(0,0,0,.1);overflow:hidden}.rhr-search-suggestions.show{display:block}.rhr-search-suggestions a{display:flex;align-items:center;gap:9px;padding:8px;text-decoration:none;color:var(--rhr-text);border-bottom:1px solid #f0f0f0}.rhr-search-suggestions a:hover{background:#fafafa}.rhr-search-suggestions img{width:42px;height:42px;object-fit:cover;border-radius:4px}.rhr-search-suggestions small{display:block;color:var(--rhr-muted);margin-top:2px}.rhr-switch-line{display:flex!important;align-items:center;gap:7px}.rhr-preset-soft .rhr-filter-panel,.rhr-preset-soft .rhr-product-card{box-shadow:0 4px 18px rgba(0,0,0,.05);border:0}.rhr-preset-minimal .rhr-filter-panel,.rhr-preset-minimal .rhr-product-card{border-radius:0}.rhr-preset-minimal .rhr-product-card{border-left:0;border-right:0;border-top:0}.rhr-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;max-width:1100px;margin-top:20px}.rhr-admin-grid .rhr-card{background:#fff;border:1px solid #dcdcde;border-radius:10px;padding:20px}.rhr-admin-grid h2{margin-top:0}.rhr-admin-grid label{display:block;margin:12px 0}.rhr-admin-grid input[type=text],.rhr-admin-grid input[type=number],.rhr-admin-grid select{min-height:34px;min-width:180px;margin-left:8px}.rhr-check input{margin-right:6px}.rhr-admin-grid input[type=color]{vertical-align:middle}.rhr-lock{overflow:hidden}
@media(max-width:1100px){.rhr-wpf-wrap{grid-template-columns:minmax(220px,260px) minmax(0,1fr)}.rhr-products-grid{--rhr-cols:2}}
@media(max-width:767px){.rhr-wpf-wrap{display:block}.rhr-mobile-filter-btn{display:flex;width:100%;height:44px;border:1px solid var(--rhr-border);background:var(--rhr-panel);color:var(--rhr-text);border-radius:var(--rhr-radius);align-items:center;justify-content:center;gap:8px;font-weight:600;margin-bottom:14px;cursor:pointer}.rhr-filter-count{background:var(--rhr-accent);color:#fff;border-radius:20px;min-width:20px;height:20px;line-height:20px;font-size:11px}.rhr-filter-panel{position:fixed;left:0;top:0;bottom:0;width:min(88vw,360px);z-index:99999;border-radius:0;overflow:auto;transform:translateX(-105%);transition:transform .25s;padding:20px}.rhr-drawer-open .rhr-filter-panel{transform:translateX(0)}.rhr-mobile-close{display:block;border:0;background:none;font-size:28px;cursor:pointer}.rhr-products-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.rhr-product-info{padding:9px}.rhr-product-info h3{font-size:13px}.rhr-order-btn{padding:7px 10px}.rhr-toolbar{gap:10px}.rhr-sort{width:160px}.rhr-admin-grid{grid-template-columns:1fr}}

/* v1.5 Elementor Product Archive integration.
   The shortcode is only a filter control panel. The Elementor Archive Products
   widget remains in charge of rendering the product grid, result count,
   sorting and pagination. */
.rhr-wpf-wrap.rhr-archive-mode{display:block!important;width:100%;max-width:100%;color:var(--rhr-text)}
.rhr-wpf-wrap.rhr-archive-mode .rhr-filter-panel{width:100%;box-sizing:border-box;position:relative;top:auto;left:auto}
.rhr-wpf-wrap.rhr-archive-mode .rhr-filter-head{margin-bottom:18px}
.rhr-wpf-wrap.rhr-archive-mode .rhr-mobile-filter-btn{display:none}
.rhr-wpf-wrap.rhr-archive-mode .rhr-products-area{display:none!important}
.rhr-wpf-wrap.rhr-archive-mode .rhr-search-suggestions{z-index:999999}
@media(max-width:767px){
  .rhr-wpf-wrap.rhr-archive-mode{display:block!important}
  .rhr-wpf-wrap.rhr-archive-mode>.rhr-mobile-filter-btn{display:flex!important;visibility:visible!important;opacity:1!important;width:100%!important;height:48px!important;margin:0 0 12px!important;position:relative!important;align-items:center!important;justify-content:center!important;gap:8px!important;border:1px solid var(--rhr-border)!important;background:var(--rhr-panel)!important;color:var(--rhr-text)!important;border-radius:var(--rhr-radius)!important;font-weight:600!important;cursor:pointer!important;box-sizing:border-box!important}
  .rhr-wpf-wrap.rhr-archive-mode>.rhr-filter-panel{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(88vw,360px)!important;max-width:360px!important;height:100vh!important;z-index:100000!important;transform:translateX(-105%)!important;background:var(--rhr-panel)!important;overflow:auto!important;visibility:visible!important;box-shadow:8px 0 30px rgba(0,0,0,.12)!important;transition:transform .25s ease!important;border:0!important;border-radius:0!important}
  .rhr-wpf-wrap.rhr-archive-mode.rhr-drawer-open>.rhr-filter-panel{transform:translateX(0)!important}
}

/* v1.6 mobile filter portal. It is independent of Elementor parent-container visibility. */
.rhr-wpf-mobile-portal{display:none}
@media(max-width:767px){
  .rhr-wpf-mobile-portal{display:block;position:relative;z-index:100001}
  .rhr-wpf-mobile-portal .rhr-portal-trigger{display:flex!important;position:fixed!important;left:12px!important;right:12px!important;top:calc(env(safe-area-inset-top, 0px) + 72px)!important;width:auto!important;height:46px!important;margin:0!important;align-items:center!important;justify-content:center!important;gap:8px!important;box-sizing:border-box!important;background:var(--rhr-panel)!important;color:var(--rhr-text)!important;border:1px solid var(--rhr-border)!important;border-radius:var(--rhr-radius)!important;box-shadow:0 5px 18px rgba(0,0,0,.10)!important;font-weight:700!important}
  .rhr-wpf-mobile-portal .rhr-filter-panel{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(88vw,360px)!important;max-width:360px!important;height:100vh!important;z-index:100002!important;box-sizing:border-box!important;overflow:auto!important;background:var(--rhr-panel)!important;border:0!important;border-radius:0!important;transform:translateX(-105%)!important;transition:transform .25s ease!important;box-shadow:8px 0 30px rgba(0,0,0,.16)!important}
  .rhr-wpf-mobile-portal.is-open .rhr-filter-panel{transform:translateX(0)!important}
  body.rhr-wpf-portal-open:after{content:"";position:fixed;inset:0;background:rgba(0,0,0,.38);z-index:100000!important}
  body.rhr-wpf-portal-open .rhr-wpf-mobile-portal{z-index:100003!important}
}

/* v1.7 mobile archive drawer refinement.
   The portal is mounted directly under <body>, so theme/Elementor containers
   cannot clip, overlap or reposition the filter. The trigger lives at the
   bottom of the viewport instead of covering the mobile header/search/logo. */
.rhr-wpf-mobile-portal{display:block!important;position:relative;z-index:100000}
.rhr-wpf-mobile-portal .rhr-portal-trigger{display:flex;position:fixed;left:14px;right:14px;bottom:calc(14px + env(safe-area-inset-bottom,0px));width:auto;max-width:520px;margin:0 auto;height:48px;align-items:center;justify-content:center;gap:8px;box-sizing:border-box;background:var(--rhr-panel,#fff);color:var(--rhr-text,#222);border:1px solid var(--rhr-border,#e7e7e7);border-radius:var(--rhr-radius,6px);box-shadow:0 8px 28px rgba(0,0,0,.16);font-weight:700;cursor:pointer;z-index:100004;padding:0 18px}
.rhr-wpf-mobile-portal .rhr-wpf-mobile-backdrop{position:fixed;inset:0;width:100%;height:100%;padding:0;margin:0;border:0;background:rgba(0,0,0,.42);opacity:0;visibility:hidden;pointer-events:none;z-index:100001;transition:opacity .2s ease,visibility .2s ease}
.rhr-wpf-mobile-portal .rhr-filter-panel{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:min(92vw,390px)!important;max-width:390px!important;height:100dvh!important;min-height:100vh!important;box-sizing:border-box!important;overflow-x:hidden!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;background:var(--rhr-panel,#fff)!important;border:0!important;border-radius:0 16px 16px 0!important;transform:translate3d(-105%,0,0)!important;transition:transform .25s ease!important;box-shadow:12px 0 34px rgba(0,0,0,.18)!important;z-index:100003!important;padding:calc(18px + env(safe-area-inset-top,0px)) 18px calc(24px + env(safe-area-inset-bottom,0px))!important}
.rhr-wpf-mobile-portal.is-open .rhr-filter-panel{transform:translate3d(0,0,0)!important}
.rhr-wpf-mobile-portal.is-open .rhr-wpf-mobile-backdrop{opacity:1;visibility:visible;pointer-events:auto}
.rhr-wpf-mobile-portal .rhr-filter-head{position:sticky;top:calc(-18px - env(safe-area-inset-top,0px));z-index:2;padding:6px 0 14px;background:var(--rhr-panel,#fff)}
.rhr-wpf-mobile-portal .rhr-mobile-close{display:block;width:38px;height:38px;line-height:34px;padding:0;border:1px solid var(--rhr-border,#e7e7e7);border-radius:50%;background:transparent;color:var(--rhr-text,#222);font-size:26px;cursor:pointer}
body.rhr-wpf-portal-open{overflow:hidden!important;overscroll-behavior:none}

/* v1.7.3 mobile archive Filter trigger.
   The generated toolbar is intentionally outside the filter shortcode wrapper
   so Elementor/theme responsive visibility rules cannot hide the Filter action. */
@media(max-width:767px){
  .rhr-mobile-archive-toolbar{
    display:flex!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    width:100%!important;
    margin:0 0 14px!important;
    padding:0!important;
    min-height:40px!important;
    box-sizing:border-box!important;
    clear:both!important;
    position:relative!important;
    z-index:5!important;
  }
  .rhr-mobile-archive-toolbar .rhr-portal-trigger{
    display:inline-flex!important;
    position:relative!important;
    inset:auto!important;
    flex:0 0 auto!important;
    width:auto!important;
    min-width:78px!important;
    max-width:48%!important;
    height:38px!important;
    margin:0!important;
    padding:0 13px!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    box-sizing:border-box!important;
    border:1px solid var(--rhr-border,#e7e7e7)!important;
    border-radius:var(--rhr-radius,6px)!important;
    background:var(--rhr-panel,#fff)!important;
    color:var(--rhr-text,#222)!important;
    box-shadow:none!important;
    font-size:14px!important;
    font-weight:700!important;
    line-height:1!important;
    cursor:pointer!important;
    z-index:6!important;
  }
  .rhr-mobile-archive-toolbar .rhr-filter-count{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:18px!important;
    width:18px!important;
    height:18px!important;
    padding:0!important;
    line-height:18px!important;
    font-size:10px!important;
  }
  .rhr-mobile-archive-toolbar .woocommerce-ordering{
    float:none!important;
    display:block!important;
    flex:1 1 auto!important;
    width:auto!important;
    max-width:58%!important;
    margin:0!important;
    padding:0!important;
  }
  .rhr-mobile-archive-toolbar .woocommerce-ordering select{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:38px!important;
    margin:0!important;
    box-sizing:border-box!important;
  }
  .rhr-wpf-wrap.rhr-archive-mode>.rhr-mobile-filter-btn{display:none!important;}
}

@media(min-width:768px){
  .rhr-mobile-archive-toolbar{display:none!important;}
}
