/*
 * Lurex Smart Filter – stílusok.
 *
 * FONTOS: 992px és az alatt (mobil / tablet) EBBŐL A FÁJLBÓL SEMMI ÚJ NEM
 * VÁLTOZIK a korábbi off-canvas ("Szűrés" gomb + lecsúszó panel) viselkedésén.
 * Az új oldalsávos elrendezés kizárólag >=993px szélességnél jelenik meg
 * (lásd a "DESKTOP OLDALSÁV" szakaszt lent), utána a .lsf-sidebar mobil nézetben
 * display:none, tehát a régi UI-t semmi nem takarja el / nem torzítja.
 *
 * Színek: szándékosan nincs itt kemény márkaszín (kivéve a meglévő
 * --lsf-accent változó, ami eddig is a Lurex Filter admin beállításból jött).
 * A szöveg/keret színek a category-archive.css-ben már használt semleges
 * tónusokat követik (#111111 / #e2e2e2 / #777777), hogy illeszkedjen a
 * Shoptimizer testreszabóban beállított colorokhoz.
 */

/* ---------- Meglévő off-canvas (mobil) – változatlan ---------- */

.lsf-toolbar{margin:var(--lsf-button-offset) 0 18px;display:flex;align-items:center;gap:12px}
.lsf-open-button{display:inline-flex;align-items:center;justify-content:center;padding:12px 18px;border:0;background:var(--lsf-accent);color:#fff;border-radius:0;font-weight:700;cursor:pointer;line-height:1}
.lsf-drawer{position:fixed;inset:0;z-index:999999;display:none}
.lsf-drawer.is-open{display:block}
.lsf-drawer-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.lsf-drawer-panel{position:absolute;top:0;left:0;width:min(460px,92vw);height:100%;background:#fff;display:flex;flex-direction:column;box-shadow:0 0 30px rgba(0,0,0,.18)}
.lsf-drawer-header{display:flex;align-items:center;justify-content:space-between;padding:16px 18px;border-bottom:1px solid #eee}
.lsf-close-button{border:0;background:none;font-size:28px;line-height:1;cursor:pointer}
.lsf-drawer-body{padding:16px 18px;overflow:auto;height:100%}
.lsf-loading{font-weight:600}
.lsf-group{padding:0 0 18px;margin:0 0 18px;border-bottom:1px solid #eee}
.lsf-group:last-child{margin-bottom:0;border-bottom:0}
.lsf-group-title{margin:0 0 12px;font-size:18px;font-weight:700}
.lsf-options{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px}
.lsf-option{display:flex;align-items:flex-start;gap:8px;min-height:28px}
.lsf-option label{cursor:pointer;display:flex;align-items:center;gap:8px}
.lsf-color-chip{display:inline-block;width:18px;height:18px;border:1px solid #d7d7d7;flex:0 0 18px}
.lsf-price-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:10px}
.lsf-range-wrap{margin-bottom:12px}
.lsf-range-top{display:flex;justify-content:space-between;gap:12px;margin-bottom:10px}
.lsf-range-box{min-width:88px;padding:6px 8px;border:1px solid #d9d9d9;background:#fff;text-align:center;font-weight:700;line-height:1.2}
.lsf-range-prefix{display:block;font-size:11px;font-weight:600;color:#777;margin-bottom:4px;text-transform:uppercase}
.lsf-dual-slider{position:relative;height:34px;margin-bottom:12px}
.lsf-dual-slider-track{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%);height:6px;background:#111;border-radius:999px}
.lsf-dual-slider-range{position:absolute;top:50%;transform:translateY(-50%);height:6px;background:var(--lsf-accent);border-radius:999px;left:0;width:0}
.lsf-dual-slider input[type="range"]{position:absolute;left:0;top:0;width:100%;height:34px;margin:0;pointer-events:none;-webkit-appearance:none;appearance:none;background:none}
.lsf-dual-slider input[type="range"]::-webkit-slider-runnable-track{height:6px;background:transparent}
.lsf-dual-slider input[type="range"]::-moz-range-track{height:6px;background:transparent}
.lsf-dual-slider input[type="range"]::-webkit-slider-thumb{pointer-events:auto;-webkit-appearance:none;appearance:none;width:24px;height:24px;border-radius:50%;background:var(--lsf-accent);border:0;cursor:pointer;margin-top:-9px;position:relative;z-index:3}
.lsf-dual-slider input[type="range"]::-moz-range-thumb{pointer-events:auto;width:24px;height:24px;border-radius:50%;background:var(--lsf-accent);border:0;cursor:pointer;position:relative;z-index:3}
.lsf-footer-actions{position:sticky;bottom:-16px;background:#fff;padding-top:14px;border-top:1px solid #eee;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lsf-btn{display:inline-flex;justify-content:center;align-items:center;padding:14px 16px;border-radius:0;text-decoration:none;border:0;cursor:pointer;font-weight:700}
.lsf-btn-primary{background:var(--lsf-accent);color:#fff}
.lsf-btn-secondary{background:#f4f4f4;color:#111}

@media (max-width: 767px){
    .lsf-toolbar{margin:0 0 18px}
    .lsf-drawer-panel{width:100vw}
    .lsf-options{grid-template-columns:1fr 1fr}
}

/* ---------- DESKTOP OLDALSÁV (ÚJ, csak >=993px) ---------- */

@media (max-width: 992px){
    .lsf-sidebar{
        display: none !important;
    }
    /* .lsf-shop-layout / .lsf-main-col mobilon egyszerű blokk marad, nem grid */
}

@media (min-width: 993px){
    body.tax-product_cat .lsf-shop-layout,
    body.post-type-archive-product .lsf-shop-layout {
        display: grid;
        grid-template-columns: 272px minmax(0, 1fr);
        align-items: start;
        gap: 36px;
    }

    body.tax-product_cat .lsf-main-col,
    body.post-type-archive-product .lsf-main-col {
        min-width: 0;
    }

    /* A mobil "Szűrés" gomb desktopon feleslegessé válik, az oldalsáv veszi át a helyét. */
    body.tax-product_cat .lsf-open-button,
    body.post-type-archive-product .lsf-open-button {
        display: none !important;
    }

    body.tax-product_cat .lsf-toolbar:empty,
    body.post-type-archive-product .lsf-toolbar:empty {
        display: none !important;
    }

    /*
     * v1.2.5 – A korábbi belső görgetősáv (max-height + overflow-y:auto +
     * egyedi scrollbar) megszűnt: az oldalsáv most a lap normál
     * görgetésével mozog együtt, nincs saját, elkülönülő görgetése/sávja.
     * A "position: sticky" marad, hogy asztali nézeten görgetéskor a
     * szűrő a látható területen maradjon, amíg a doboz alja el nem éri a
     * terméklista alját.
     */
    body.tax-product_cat .lsf-sidebar,
    body.post-type-archive-product .lsf-sidebar {
        position: sticky;
        top: 24px;
        padding-right: 10px;
        font-size: 14px;
        color: #111111;
    }
}

.lsf-sidebar-form{display:flex;flex-direction:column}

.lsf-acc{border-bottom:1px solid #e6e6e6;padding:14px 0}
.lsf-acc:first-child{padding-top:0}

.lsf-acc-head{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    border:0;
    background:none;
    padding:0;
    margin:0;
    cursor:pointer;
    font-size:13px;
    font-weight:700;
    letter-spacing:.03em;
    text-transform:uppercase;
    color:#111111;
    text-align:left;
}

.lsf-acc-head-static{cursor:default}

.lsf-acc-caret{
    width:10px;
    height:10px;
    flex:0 0 10px;
    border-right:2px solid #444444;
    border-bottom:2px solid #444444;
    transform:rotate(45deg);
    transition:transform .15s ease;
    margin-top:-4px;
}

.lsf-acc.is-open > .lsf-acc-head .lsf-acc-caret{
    transform:rotate(-135deg);
    margin-top:2px;
}

.lsf-acc-body{display:none;margin-top:14px}
.lsf-acc-body[data-open="1"]{display:block}

.lsf-cat-list{display:flex;flex-direction:column;gap:2px}

.lsf-cat-row,
.lsf-checkbox-row{
    display:flex;
    align-items:center;
    gap:10px;
    padding:6px 2px;
    text-decoration:none;
    color:#111111;
    font-size:14px;
    line-height:1.3;
    cursor:pointer;
}

.lsf-cat-row:hover,
.lsf-checkbox-row:hover{
    color:#111111;
    text-decoration:none;
}

.lsf-checkbox-row input[type="checkbox"]{
    position:absolute;
    opacity:0;
    width:18px;
    height:18px;
    margin:0;
    cursor:pointer;
}

.lsf-cat-box{
    width:16px;
    height:16px;
    flex:0 0 16px;
    border:1px solid #b9b9b9;
    background:#ffffff;
    position:relative;
}

.lsf-cat-row.is-checked .lsf-cat-box,
.lsf-checkbox-row.is-checked .lsf-cat-box{
    border-color:#111111;
    background:#111111;
}

.lsf-cat-row.is-checked .lsf-cat-box::after,
.lsf-checkbox-row.is-checked .lsf-cat-box::after{
    content:"";
    position:absolute;
    left:4px;
    top:1px;
    width:4px;
    height:8px;
    border-right:2px solid #ffffff;
    border-bottom:2px solid #ffffff;
    transform:rotate(40deg);
}

.lsf-cat-name{flex:1 1 auto}

.lsf-cat-row.is-checked .lsf-cat-name,
.lsf-checkbox-row.is-checked .lsf-cat-name{font-weight:700}

.lsf-cat-count{
    flex:0 0 auto;
    color:#8a8a8a;
    font-size:13px;
}

.lsf-switch-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    cursor:pointer;
    font-size:14px;
    color:#111111;
}

.lsf-switch{
    position:relative;
    display:inline-block;
    width:40px;
    height:22px;
    flex:0 0 40px;
}

.lsf-switch input{
    position:absolute;
    opacity:0;
    width:100%;
    height:100%;
    margin:0;
    cursor:pointer;
}

.lsf-switch-slider{
    position:absolute;
    inset:0;
    background:#d9d9d9;
    border-radius:999px;
    transition:background .15s ease;
}

.lsf-switch-slider::before{
    content:"";
    position:absolute;
    left:2px;
    top:2px;
    width:18px;
    height:18px;
    background:#ffffff;
    border-radius:50%;
    transition:transform .15s ease;
    box-shadow:0 1px 2px rgba(0,0,0,.25);
}

.lsf-switch input:checked + .lsf-switch-slider{background:var(--lsf-accent);}
.lsf-switch input:checked + .lsf-switch-slider::before{transform:translateX(18px);}

.lsf-rating-list{display:flex;flex-direction:column;gap:8px}

.lsf-rating-row{
    display:flex;
    align-items:center;
    gap:10px;
    cursor:pointer;
    font-size:14px;
}

.lsf-rating-row input{
    width:16px;
    height:16px;
    margin:0;
    accent-color:#111111;
    cursor:pointer;
}

.lsf-rating-stars{flex:1 1 auto;line-height:1}
.lsf-rating-stars .star-rating{font-size:14px}

.lsf-sidebar-clear{
    margin-top:18px;
    padding:12px 16px;
    border:1px solid #111111;
    background:#ffffff;
    color:#111111;
    font-weight:700;
    font-size:13px;
    letter-spacing:.03em;
    text-transform:uppercase;
    cursor:pointer;
    text-align:center;
}

.lsf-sidebar-clear:hover{
    background:#111111;
    color:#ffffff;
}


/* ==================================================
   v1.3.139 – Mobil szűrő gomb/panel kattinthatóság javítás
   ================================================== */
@media (max-width: 992px) {
    .lsf-open-button {
        position: relative !important;
        z-index: 50 !important;
        pointer-events: auto !important;
        cursor: pointer !important;
        touch-action: manipulation !important;
    }

    #lsf-drawer.lsf-drawer,
    .lsf-drawer {
        z-index: 9999999 !important;
        pointer-events: none !important;
    }

    #lsf-drawer.lsf-drawer.is-open,
    .lsf-drawer.is-open {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        pointer-events: auto !important;
    }

    #lsf-drawer .lsf-drawer-backdrop,
    #lsf-drawer .lsf-drawer-panel {
        pointer-events: auto !important;
    }

    body.lsf-drawer-open {
        overflow: hidden !important;
    }
}

