.psf-wrap{
    width:100%;
    font-size:14px;
    line-height:1.4;
    color:#333;
    position:relative;
    box-sizing:border-box;
}
.psf-wrap *{box-sizing:border-box}
.psf-body{display:block}
.psf-mobile-head,.psf-mobile-overlay{display:none}
.psf-section{padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid #ececec}
.psf-title{margin:0 0 11px;font-size:14px;font-weight:700;color:#2f2f2f;display:flex;align-items:center;justify-content:space-between;gap:8px}
.psf-collapsible{cursor:pointer;user-select:none}
.psf-chevron{font-size:16px;line-height:1;transition:transform .18s ease}
.psf-section.is-collapsed .psf-chevron{transform:rotate(-90deg)}
.psf-section.is-collapsed .psf-options{display:none}
.psf-options{display:flex;flex-direction:column;gap:7px}
.psf-scroll-options{max-height:230px;overflow:auto;padding-right:5px;scrollbar-width:thin}
.psf-option{display:grid;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;gap:7px;color:#4d4d4d;cursor:pointer;margin:0}
.psf-option:hover{color:#0b74de}
.psf-option input{position:absolute;opacity:0;pointer-events:none}
.psf-box{width:14px;height:14px;border:1px solid #c8c8c8;background:#fff;display:inline-block}
.psf-option input:checked + .psf-box{border-color:#0b74de;background:#0b74de;box-shadow:inset 0 0 0 3px #fff}
.psf-count{font-size:12px;color:#8a8a8a;white-space:nowrap}
.psf-empty{font-size:13px;color:#888}

/* Hierarhične kategorije */
.psf-category-scroll{max-height:360px;overflow:auto;padding-right:4px;scrollbar-width:thin}
.psf-category-tree{list-style:none!important;margin:0!important;padding:0!important}
.psf-category-tree .psf-category-tree{margin:3px 0 2px 13px!important;padding-left:10px!important;border-left:1px solid #e6e6e6}
.psf-category-item{list-style:none!important;margin:0!important;padding:0!important}
.psf-category-link{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;padding:5px 4px;color:#4d4d4d!important;text-decoration:none!important;border-radius:3px}
.psf-category-link:hover{color:#0b74de!important;background:#f7f9fb}
.psf-category-item.is-active > .psf-category-link{color:#0b74de!important;font-weight:700;background:#f3f8fd}

/* Cena – dvojni drsnik */
.psf-price-values{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 12px;font-size:13px;color:#555}
.psf-price-range{--psf-min-pct:0%;--psf-max-pct:100%;height:28px;position:relative;margin:0 7px}
.psf-range-track{position:absolute;left:0;right:0;top:12px;height:4px;border-radius:99px;background:#e4e4e4;overflow:hidden}
.psf-range-selected{position:absolute;top:0;bottom:0;left:var(--psf-min-pct);right:calc(100% - var(--psf-max-pct));background:#0b74de}
.psf-price-input{position:absolute;left:0;top:3px;width:100%;height:22px;margin:0;padding:0;background:transparent;appearance:none;-webkit-appearance:none;pointer-events:none;outline:none}
.psf-price-input::-webkit-slider-runnable-track{height:4px;background:transparent;border:0}
.psf-price-input::-moz-range-track{height:4px;background:transparent;border:0}
.psf-price-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid #0b74de;box-shadow:0 1px 3px rgba(0,0,0,.18);pointer-events:auto;cursor:pointer;margin-top:-7px}
.psf-price-input::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid #0b74de;box-shadow:0 1px 3px rgba(0,0,0,.18);pointer-events:auto;cursor:pointer}
.psf-price-min{z-index:2}.psf-price-max{z-index:3}

.psf-actions{padding-top:2px}
.psf-clear{display:inline-flex;align-items:center;justify-content:center;min-width:100px;height:36px;padding:0 18px;background:#0b74de;color:#fff!important;text-decoration:none!important;border-radius:3px;font-size:12px;font-weight:700;opacity:.55;pointer-events:none}
.psf-clear.is-active{opacity:1;pointer-events:auto}
.psf-mobile-toggle{display:none;border:0!important;background:transparent!important;color:#0b74de!important;box-shadow:none!important;text-decoration:none!important}
.psf-filter-icon{width:22px;height:22px;display:inline-block;position:relative;flex:0 0 22px}
.psf-filter-icon:before{content:"";position:absolute;left:2px;top:2px;width:16px;height:16px;border:2px solid #0b74de;border-top:0;border-right:0;transform:rotate(-45deg) skew(-8deg,-8deg);border-radius:1px}
.psf-wrap.is-loading:after{content:"";position:absolute;inset:0;background:rgba(255,255,255,.58);z-index:5}
.psf-products-loading{opacity:.55;pointer-events:none;transition:opacity .15s ease}
.psf-admin-note{padding:10px 12px;background:#fff8e5;border-left:4px solid #dba617}

@media (max-width:767px){
    html.psf-offcanvas-open,body.psf-offcanvas-open{overflow:hidden!important}
    .psf-mobile-toggle{display:flex}
    .psf-mobile-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:999990;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
    .psf-body{display:block!important;position:fixed;z-index:999999;top:0;right:0;width:min(88vw,390px);height:100dvh;max-height:100dvh;overflow-y:auto;margin:0;padding:0 18px 22px;background:#fff;box-shadow:-12px 0 35px rgba(0,0,0,.18);transform:translateX(105%);transition:transform .24s ease;-webkit-overflow-scrolling:touch}
    .psf-wrap.is-mobile-open .psf-mobile-overlay{opacity:1;visibility:visible}
    .psf-wrap.is-mobile-open .psf-body{transform:translateX(0)}
    .psf-mobile-head{display:flex;position:sticky;top:0;z-index:3;align-items:center;justify-content:space-between;height:58px;margin:0 -18px 18px;padding:0 18px;background:#fff;border-bottom:1px solid #e9e9e9}
    .psf-mobile-head strong{font-size:16px}
    .psf-mobile-close{width:36px;height:36px;padding:0;border:0;background:transparent;font-size:29px;line-height:1;color:#333;cursor:pointer}
    .psf-category-scroll{max-height:none;overflow:visible}
    .psf-scroll-options{max-height:260px}
    .psf-wrap.is-loading:after{display:none}
}


/* Mobilna skupna vrstica: filter + razvrščanje */
@media (max-width:767px){
    .psf-wrap.psf-toggle-relocated{
        position:absolute!important;
        width:0!important;
        height:0!important;
        min-height:0!important;
        margin:0!important;
        padding:0!important;
        border:0!important;
        overflow:visible!important;
    }
    .psf-mobile-toggle{
        display:inline-flex!important;
        width:auto!important;
        height:40px!important;
        min-height:40px!important;
        padding:0 10px 0 0!important;
        margin:0!important;
        align-items:center!important;
        justify-content:flex-start!important;
        gap:7px!important;
        border:0!important;
        background:transparent!important;
        color:#0b74de!important;
        border-radius:0!important;
        font-size:14px!important;
        font-weight:700!important;
        line-height:1!important;
        white-space:nowrap!important;
        cursor:pointer!important;
    }
    .psf-mobile-toggle span{color:#0b74de!important}
    .psf-mobile-toggle:hover,.psf-mobile-toggle:focus,.psf-mobile-toggle:focus-visible,.psf-mobile-toggle:active{
        background:transparent!important;
        border:0!important;
        color:#0b74de!important;
        outline:none!important;
    }
    .psf-filter-icon{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;flex:0 0 20px}
    .psf-filter-icon:before{display:none!important}
    .psf-filter-icon svg{display:block;width:20px;height:20px;fill:none;stroke:#0b74de;stroke-width:1.9;stroke-linejoin:round;vector-effect:non-scaling-stroke}

    .psf-mobile-controls{
        display:flex!important;
        align-items:center!important;
        width:100%!important;
        min-width:0!important;
        margin:10px 0 14px!important;
        padding:0!important;
        gap:8px!important;
        background:transparent!important;
    }
    .psf-mobile-controls .psf-mobile-toggle{
        flex:0 0 auto!important;
        border-right:1px solid #e1e4e8!important;
        padding-right:10px!important;
    }
    .psf-mobile-controls .woocommerce-ordering{
        display:flex!important;
        align-items:center!important;
        flex:1 1 auto!important;
        min-width:0!important;
        margin:0!important;
        padding:0!important;
        float:none!important;
        gap:7px!important;
    }
    .psf-mobile-controls .woocommerce-ordering:before{
        content:"Razvrsti po";
        display:block;
        flex:0 0 auto;
        margin:0;
        color:#666;
        font-size:13px;
        font-weight:400;
        white-space:nowrap;
    }
    .psf-mobile-controls .woocommerce-ordering select{
        flex:1 1 auto!important;
        min-width:0!important;
        width:100%!important;
        max-width:none!important;
        height:40px!important;
        margin:0!important;
        padding:0 28px 0 9px!important;
        border:1px solid #dfe3e8!important;
        border-radius:8px!important;
        background-color:#fff!important;
        color:#333!important;
        font-size:13px!important;
        line-height:40px!important;
        box-shadow:none!important;
    }
}
@media (max-width:380px){
    .psf-mobile-controls{gap:6px!important}
    .psf-mobile-controls .psf-mobile-toggle{padding-right:8px!important;gap:5px!important;font-size:13px!important}
    .psf-mobile-controls .woocommerce-ordering{gap:5px!important}
    .psf-mobile-controls .woocommerce-ordering:before{font-size:12px}
    .psf-mobile-controls .woocommerce-ordering select{font-size:12px!important;padding-left:7px!important}
}

/* Desktop: bolj pregleden in sodoben stranski filter */
@media (min-width:768px){
    .psf-wrap{
        width:100%;
        padding:16px 16px 14px;
        background:#fff;
        border:1px solid #e7ebef;
        border-radius:10px;
        box-shadow:0 3px 14px rgba(20,34,50,.06);
        font-size:14px;
        line-height:1.45;
    }
    .psf-body{display:block}
    .psf-section{
        padding:0 0 16px;
        margin:0 0 16px;
        border-bottom:1px solid #edf0f3;
    }
    .psf-section:last-of-type{margin-bottom:12px}
    .psf-title{
        margin:0 0 10px;
        font-size:15px;
        font-weight:700;
        color:#202b36;
        letter-spacing:0;
    }
    .psf-chevron{font-size:14px;color:#6f7b86}
    .psf-options{gap:7px}
    .psf-scroll-options{
        max-height:245px;
        padding-right:5px;
        scrollbar-color:#cfd6dd transparent;
    }
    .psf-option{
        grid-template-columns:18px minmax(0,1fr) auto;
        gap:7px;
        min-height:25px;
        color:#4f5963;
        font-size:13px;
    }
    .psf-option:hover{color:#0b74de}
    .psf-box{
        width:15px;
        height:15px;
        border:1px solid #cbd2d9;
        border-radius:3px;
    }
    .psf-option input:checked + .psf-box{
        border-color:#0b74de;
        background:#0b74de;
        box-shadow:inset 0 0 0 3px #fff;
    }
    .psf-count{
        min-width:24px;
        text-align:right;
        font-size:12px;
        color:#929ba4;
    }
    .psf-category-scroll{
        max-height:430px;
        padding-right:5px;
        scrollbar-color:#cfd6dd transparent;
    }
    .psf-category-tree .psf-category-tree{
        margin:2px 0 2px 10px!important;
        padding-left:10px!important;
        border-left:1px solid #e5e9ed;
    }
    .psf-category-link{
        gap:8px;
        padding:5px 6px;
        min-height:27px;
        border-radius:5px;
        color:#505a64!important;
        font-size:13px;
        transition:background .12s ease,color .12s ease;
    }
    .psf-category-link:hover{
        color:#0b74de!important;
        background:#f3f7fb;
    }
    .psf-category-item.is-active > .psf-category-link{
        color:#0969c7!important;
        font-weight:700;
        background:#eaf4ff;
    }
    .psf-price-values{
        margin-bottom:10px;
        font-size:12px;
        font-weight:600;
        color:#5f6974;
    }
    .psf-price-range{
        height:34px;
        margin:0 8px 2px;
    }
    .psf-range-track{
        top:14px;
        height:6px;
        border-radius:999px;
        background:#e6ebf0;
        box-shadow:inset 0 1px 2px rgba(31,41,55,.08);
    }
    .psf-range-selected{
        background:#0b74de;
        border-radius:999px;
    }
    .psf-price-input{
        top:4px;
        height:26px;
    }
    .psf-price-input::-webkit-slider-runnable-track{height:6px}
    .psf-price-input::-moz-range-track{height:6px}
    .psf-price-input::-webkit-slider-thumb{
        width:20px;
        height:20px;
        margin-top:-7px;
        border:3px solid #0b74de;
        background:#fff;
        box-shadow:0 2px 6px rgba(11,116,222,.24),0 1px 2px rgba(0,0,0,.12);
        transition:transform .12s ease,box-shadow .12s ease;
    }
    .psf-price-input::-moz-range-thumb{
        width:20px;
        height:20px;
        border:3px solid #0b74de;
        background:#fff;
        box-shadow:0 2px 6px rgba(11,116,222,.24),0 1px 2px rgba(0,0,0,.12);
        transition:transform .12s ease,box-shadow .12s ease;
    }
    .psf-price-input::-webkit-slider-thumb:hover{
        transform:scale(1.08);
        box-shadow:0 3px 8px rgba(11,116,222,.30),0 1px 3px rgba(0,0,0,.14);
    }
    .psf-price-input::-moz-range-thumb:hover{
        transform:scale(1.08);
        box-shadow:0 3px 8px rgba(11,116,222,.30),0 1px 3px rgba(0,0,0,.14);
    }
    .psf-actions{padding-top:0}
    .psf-clear{
        display:flex;
        width:100%;
        min-width:0;
        height:38px;
        padding:0 14px;
        border:1px solid #0b74de;
        border-radius:6px;
        background:#fff;
        color:#0b74de!important;
        font-size:12px;
        font-weight:700;
        text-transform:none;
        letter-spacing:0;
        opacity:.45;
        transition:background .15s ease,color .15s ease,opacity .15s ease;
    }
    .psf-clear.is-active{
        opacity:1;
        pointer-events:auto;
    }
    .psf-clear.is-active:hover{
        background:#0b74de;
        color:#fff!important;
    }
}

/* Desktop price slider – explicit overrides to beat theme/browser range styles */
@media (min-width:768px){
  .psf-wrap .psf-price-range{
    height:38px!important;
    margin:2px 10px 4px!important;
  }
  .psf-wrap .psf-range-track{
    top:15px!important;
    height:8px!important;
    border-radius:999px!important;
    background:#e9edf2!important;
    box-shadow:inset 0 1px 2px rgba(0,0,0,.08)!important;
    overflow:visible!important;
  }
  .psf-wrap .psf-range-selected{
    top:0!important;
    bottom:0!important;
    height:8px!important;
    border-radius:999px!important;
    background:#0876df!important;
  }
  .psf-wrap input.psf-price-input{
    top:4px!important;
    height:30px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
    -webkit-appearance:none!important;
    appearance:none!important;
  }
  .psf-wrap input.psf-price-input::-webkit-slider-runnable-track{
    height:8px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  .psf-wrap input.psf-price-input::-webkit-slider-thumb{
    -webkit-appearance:none!important;
    appearance:none!important;
    width:22px!important;
    height:22px!important;
    margin-top:-7px!important;
    border-radius:50%!important;
    border:3px solid #0876df!important;
    background:#fff!important;
    box-shadow:0 2px 7px rgba(0,0,0,.22)!important;
    cursor:pointer!important;
  }
  .psf-wrap input.psf-price-input::-moz-range-track{
    height:8px!important;
    background:transparent!important;
    border:0!important;
    box-shadow:none!important;
  }
  .psf-wrap input.psf-price-input::-moz-range-thumb{
    width:22px!important;
    height:22px!important;
    border-radius:50%!important;
    border:3px solid #0876df!important;
    background:#fff!important;
    box-shadow:0 2px 7px rgba(0,0,0,.22)!important;
    cursor:pointer!important;
  }
}
