/* Flawless Shop – shop filter sidebar. Loaded only on shop / category / search pages. */
.fs-shop-layout{display:grid;grid-template-columns:var(--fs-filter-w,260px) minmax(0,1fr);gap:40px;align-items:start;margin-top:8px}
.fs-shop-main{min-width:0}
.fs-shop-main ul.products{--fs-cols:var(--fs-cols-f,3)}
.fs-results{position:relative;transition:opacity .2s}
.fs-results.is-loading{opacity:.45;pointer-events:none}
.fs-results.is-loading::after{content:"";position:absolute;left:50%;top:120px;width:28px;height:28px;margin-left:-14px;border:3px solid var(--fs-line);border-top-color:var(--fs-primary);border-radius:50%;animation:fs-spin .7s linear infinite}

/* Sidebar (desktop: sticky column) */
.fs-filters{position:sticky;top:24px;max-height:calc(100vh - 48px);display:flex;flex-direction:column;background:#fff;outline:0}
body.admin-bar .fs-filters{top:56px}
.fs-filters__head{display:none}
.fs-filters__form{display:flex;flex-direction:column;min-height:0;flex:1}
.fs-filters__body{overflow-y:auto;overscroll-behavior:contain;padding-right:8px;scrollbar-width:thin;scrollbar-color:#cfc6c0 transparent}
.fs-filters__foot{padding-top:12px}
.fs-filters__show{display:none}
.fs-filters__clear{display:block;margin:8px auto 0;padding:0;border:0;background:none;color:var(--fs-ink);font:inherit;font-size:14px;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.fs-filters__clear[hidden],.fs-filters__apply[hidden]{display:none}

/* Groups */
.fs-fgroup{border-bottom:1px solid var(--fs-line)}
.fs-fgroup__title{margin:0;font:inherit;text-transform:none}
.fs-fgroup__toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:14px 0;border:0;background:none;color:var(--fs-ink);font:400 18px/1 var(--fs-font-head);text-transform:uppercase;letter-spacing:.01em;cursor:pointer}
.fs-fgroup__toggle .fs-icon{transition:transform .2s var(--fs-ease)}
.fs-fgroup__toggle[aria-expanded=false] .fs-icon{transform:rotate(-90deg)}
.fs-fgroup__panel{padding:0 0 16px}
.fs-fgroup:not(.is-open) .fs-fgroup__panel{display:none}

/* Checkbox rows */
.fs-flist,.fs-ftree{list-style:none;margin:0;padding:0}
.fs-flist li{margin:0}
.fs-check{display:flex;align-items:center;gap:10px;padding:5px 0;font-size:16px;line-height:1.2;cursor:pointer;flex:1;min-width:0}
.fs-check input{position:absolute;opacity:0;width:1px;height:1px}
.fs-check__box{flex:none;width:18px;height:18px;border:1px solid #8b7568;border-radius:4px;background:#fff;position:relative;transition:background-color .15s,border-color .15s}
.fs-check input:checked+.fs-check__box{background:var(--fs-primary);border-color:var(--fs-primary)}
.fs-check input:checked+.fs-check__box::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.fs-check input:focus-visible+.fs-check__box{outline:2px solid var(--fs-primary);outline-offset:2px}
.fs-check__label{flex:1;min-width:0}
.fs-check__count{flex:none;color:var(--fs-muted);font-size:14px}
.fs-check__sub{font-size:14px;color:var(--fs-muted)}
.fs-check .fs-stars{font-size:14px}

/* Category tree */
.fs-ftree__row{display:flex;align-items:center;gap:4px}
.fs-ftree__toggle{display:flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;border:0;background:none;color:var(--fs-ink);cursor:pointer;flex:none}
.fs-ftree__toggle .fs-icon{transition:transform .2s var(--fs-ease)}
.fs-ftree__toggle[aria-expanded=true] .fs-icon{transform:rotate(180deg)}
.fs-ftree__children{margin:0 0 4px 9px;padding-left:14px;border-left:1px solid var(--fs-line)}
.fs-ftree__children[hidden]{display:none}

/* Price */
.fs-price{padding:6px 4px 0}
.fs-price__track{position:relative;height:22px}
.fs-price__track::before{content:"";position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;background:var(--fs-line);border-radius:2px}
.fs-price__fill{position:absolute;top:50%;height:3px;margin-top:-1.5px;background:var(--fs-primary);border-radius:2px}
.fs-price__r{position:absolute;left:0;top:0;width:100%;height:22px;margin:0;background:none;pointer-events:none;-webkit-appearance:none;appearance:none}
.fs-price__r::-webkit-slider-thumb{-webkit-appearance:none;pointer-events:auto;width:18px;height:18px;border-radius:50%;background:#fff;border:2px solid var(--fs-primary);cursor:grab;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.fs-price__r::-moz-range-thumb{pointer-events:auto;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--fs-primary);cursor:grab}
.fs-price__r::-webkit-slider-runnable-track{background:none}
.fs-price__r::-moz-range-track{background:none}
.fs-price__r:focus-visible::-webkit-slider-thumb{outline:2px solid var(--fs-primary);outline-offset:2px}
.fs-price__vals{display:flex;align-items:center;gap:8px;margin-top:12px}
.fs-price__vals label{display:flex;align-items:center;gap:4px;flex:1;min-width:0;height:36px;padding:0 10px;border:1px solid #cfc6c0;border-radius:8px;font-size:15px}
.fs-price__vals input{width:100%;min-width:0;border:0;background:none;padding:0;font:inherit;color:var(--fs-ink);-moz-appearance:textfield}
.fs-price__vals input::-webkit-outer-spin-button,.fs-price__vals input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* Toolbar + chips (inside results) */
.fs-ftoolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.fs-ftoolbar:empty{display:none}
.fs-ftoolbar__btn{display:none;align-items:center;gap:8px;height:38px;padding:0 16px;border:1px solid var(--fs-ink);border-radius:999px;background:#fff;color:var(--fs-ink);font:600 14px var(--fs-font-body);text-transform:uppercase;cursor:pointer}
.fs-ftoolbar__badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--fs-primary);color:#fff;font-size:11px}
.fs-chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}
.fs-chip{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 12px;border:0;border-radius:999px;background:var(--fs-beige);color:var(--fs-ink);font:inherit;font-size:14px;cursor:pointer}
.fs-chip:hover{background:#e8dcc7}
.fs-chip--clear{background:none;text-decoration:underline;text-underline-offset:3px;padding:0 4px}
.fs-shop-main .woocommerce-result-count{margin-top:10px}

/* Tablet / mobile: the same element becomes an off-canvas drawer */
@media (max-width:1024px){
  .fs-shop-layout{display:block}
  .fs-ftoolbar__btn{display:inline-flex}
  .fs-shop-main ul.products{--fs-cols:3}
  .fs-filters{position:fixed;top:0;left:0;bottom:0;z-index:9999;width:min(88vw,380px);max-height:none;padding:0;box-sizing:border-box;transform:translateX(-100%);visibility:hidden;transition:transform .34s var(--fs-ease),visibility 0s linear .34s;box-shadow:0 0 40px rgba(0,0,0,.2)}
  body.admin-bar .fs-filters{top:32px}
  .fs-filters.is-open{transform:none;visibility:visible;transition-delay:0s}
  .fs-filters__head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--fs-line)}
  .fs-filters__title{margin:0;font-size:22px}
  .fs-filters__body{padding:0 18px}
  .fs-filters__foot{padding:12px 18px 16px;border-top:1px solid var(--fs-line);background:#fff}
  .fs-filters__show{display:flex}
  .fs-filters__apply:not([hidden])+.fs-filters__show{display:none}
}
@media (max-width:768px){.fs-shop-main ul.products{--fs-cols:2}}
@media (prefers-reduced-motion:reduce){.fs-filters,.fs-results,.fs-fgroup__toggle .fs-icon,.fs-ftree__toggle .fs-icon{transition:none}.fs-results.is-loading::after{animation-duration:2s}}
