:root{
  --fl-bg:#ffffff;
  --fl-card:#fff;
  --fl-ink:#0f172a;
  --fl-ink-muted:#6b7280;
  --fl-border:#e5e7eb;
  --fl-brand:#84cc16;
  --fl-brand-dark:#5ea100;
  --fl-pill:#f3f4f6;
}
*{box-sizing:border-box}
body .fl-shop *{font-family:Inter, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif}

.fl-dim{position:fixed;inset:0;background:rgba(0,0,0,.45);opacity:0;pointer-events:none;transition:opacity .25s;z-index:9998}
.fl-dim.is-show{opacity:1;pointer-events:auto}

.fl-shop{max-width:1320px;margin:0 auto;padding:16px;display:grid;grid-template-columns:320px 1fr;gap:24px;color:var(--fl-ink)}
@media (max-width:1024px){.fl-shop{grid-template-columns:1fr}}

.fl-filter-trigger{display:none;align-items:center;gap:8px;border:none;background:var(--fl-brand);color:#fff;border-radius:999px;padding:10px 16px;font-weight:600;cursor:pointer;box-shadow:0 6px 14px rgba(132,204,22,.25)}
.fl-filter-trigger:hover{background:var(--fl-brand-dark)}
@media (max-width:1024px){.fl-filter-trigger{display:inline-flex}}

.fl-filters{background:var(--fl-card);border:1px solid var(--fl-border);border-radius:16px;padding:16px;position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto;box-shadow:0 6px 16px rgba(15,23,42,.06)}
.fl-filters-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.fl-close{display:none;border:1px solid var(--fl-border);background:#fff;border-radius:10px;padding:6px 10px;cursor:pointer}
@media (max-width:1024px){
  .fl-filters{position:fixed;inset:0 auto 0 0;transform:translateX(-105%);transition:transform .25s;width:min(88vw,380px);max-width:380px;max-height:100vh;border-radius:0;top:0;z-index:9999}
  .fl-filters.is-open{transform:translateX(0)}
  .fl-close{display:inline-flex}
}
.fl-filter{margin-bottom:16px}
.fl-filter label{display:flex;justify-content:space-between;align-items:center;font-weight:700;margin-bottom:8px;color:#111827}
.fl-filter input[type="text"],.fl-filter input[type="number"],.fl-filter select{width:100%;border:1px solid var(--fl-border);border-radius:12px;padding:12px 14px;font-size:14px;background:#fff}

/* Price */
.fl-price .fl-range{position:relative;height:28px;margin:8px 4px}
.fl-price .fl-range input[type="range"]{-webkit-appearance:none;appearance:none;position:absolute;width:100%;height:4px;top:12px;background:#e5e7eb;border-radius:999px;pointer-events:none}
.fl-price .fl-range input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;background:var(--fl-brand);border-radius:999px;border:2px solid #fff;box-shadow:0 1px 3px rgba(0,0,0,.15);pointer-events:auto;cursor:pointer}
.fl-price .fl-range-inputs{display:flex;gap:8px;margin-top:8px}
.fl-price .fl-range-inputs .box{display:flex;align-items:center;gap:6px;border:1px solid var(--fl-border);border-radius:12px;padding:10px 12px;flex:1;background:#fff}
.fl-price .fl-range-inputs .box span{color:#6b7280}
.fl-price .hint{display:block;margin-top:6px;color:#6b7280;font-size:12px}

/* Attributes */
.fl-attr-group{border-top:1px dashed var(--fl-border);margin-top:12px;padding-top:6px}
.fl-attr-summary{list-style:none;display:flex;align-items:center;gap:8px;font-size:14px;padding:8px 0;cursor:pointer}
.fl-attr-summary .meta{margin-left:auto;color:var(--fl-ink-muted);font-size:12px}
.fl-attr-terms{max-height:220px;overflow:auto;padding:8px;border:1px solid #f3f4f6;border-radius:12px;background:#fafafa}
.fl-term{display:flex;align-items:center;gap:10px;font-size:14px;margin:6px 0}
.fl-term input[type="checkbox"]{width:18px;height:18px;border:1px solid #cbd5e1;border-radius:6px;appearance:none;background:#fff;position:relative;cursor:pointer}
.fl-term input[type="checkbox"]:checked{background:var(--fl-brand);border-color:var(--fl-brand)}
.fl-term input[type="checkbox"]:checked::after{content:"";position:absolute;left:5px;top:1px;width:5px;height:10px;border:2px solid #fff;border-top:none;border-left:none;transform:rotate(45deg)}
.fl-term-count{margin-left:auto;color:var(--fl-ink-muted);font-size:12px}

/* Apply/Reset */
.fl-actions{display:flex;gap:8px;margin-top:10px}
.fl-actions .apply{flex:1;background:var(--fl-brand);border:1px solid var(--fl-brand);color:#fff;font-weight:800;padding:12px 14px;border-radius:12px;box-shadow:0 8px 18px rgba(132,204,22,.25)}
.fl-actions .apply:hover{background:var(--fl-brand-dark);border-color:var(--fl-brand-dark);color:#fff}
.fl-actions .reset{flex:1;display:inline-flex;align-items:center;justify-content:center;border:1px dashed var(--fl-border);border-radius:12px;color:#334155;background:#fff;text-decoration:none}

/* Topbar */
.fl-topbar{display:flex;align-items:center;gap:16px;margin-bottom:10px}
.fl-count{color:#6b7280}
.fl-controls{margin-left:auto;display:flex;align-items:center;gap:12px}
.fl-controls .sort select{border:1px solid var(--fl-border);border-radius:999px;padding:8px 12px;background:#fff}
.fl-clearall{border:1px dashed var(--fl-border);border-radius:999px;padding:8px 12px;text-decoration:none;color:#334155;background:#fff}

/* Subcategories carousel */
.fl-subcats{margin:6px 0 16px;position:relative;overflow:hidden}
.fl-subcats-row{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;padding:8px 48px;scrollbar-width:thin}
.fl-subcats-row::-webkit-scrollbar{height:8px}
.fl-subcats-row::-webkit-scrollbar-thumb{background:#e5e7eb;border-radius:999px}
.fl-subcat{border:1px solid #eef2f7;border-radius:16px;overflow:hidden;background:#fff;cursor:pointer;transition:box-shadow .2s,border-color .2s;flex:0 0 200px;scroll-snap-align:start}
.fl-subcat:hover{box-shadow:0 8px 24px rgba(16,24,40,.08)}
.fl-subcat.is-active{border-color:var(--fl-brand)}
.fl-subcat .img{background:#f6f7f9;aspect-ratio:4/3;display:flex;align-items:center;justify-content:center}
.fl-subcat img{max-width:100%;max-height:100%;object-fit:contain}
.fl-subcat .name{font-size:13px;font-weight:700;padding:8px 10px;color:#344b09}
.fl-subcat .count{font-size:12px;padding:0 10px 10px;color:#6b7280}
.fl-subcat .ph{color:#9ca3af}
.fl-subcat-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:999px;border:1px solid var(--fl-border);background:#fff;box-shadow:0 2px 8px rgba(16,24,40,.08);display:flex;align-items:center;justify-content:center;cursor:pointer}
.fl-subcat-nav.prev{left:8px}
.fl-subcat-nav.next{right:8px}
.fl-subcat-nav:disabled{opacity:.4;cursor:default}

/* Product card polish (no grid enforced) */
.fl-grid ul.products li.product{display:flex;flex-direction:column;border:1px solid var(--fl-border);border-radius:16px;background:#fff;overflow:hidden;box-shadow:0 1px 2px rgba(16,24,40,.04);transition:box-shadow .2s, transform .2s}
.fl-grid ul.products li.product:hover{box-shadow:0 12px 24px rgba(16,24,40,.10);transform:translateY(-2px)}
.fl-grid ul.products li.product a.woocommerce-LoopProduct-link{display:block;padding:10px 10px 0}
.fl-grid ul.products li.product .woocommerce-loop-product__title{font-size:15px;line-height:1.35;font-weight:700;padding:8px 10px 0;height:44px;overflow:hidden}
.fl-grid ul.products li.product .price{padding:6px 10px 0;color:#14532d;font-weight:800}
/* CTA bar */
.fl-grid ul.products li.product .fl-cta{margin-top:auto;display:flex;gap:10px;align-items:center;justify-content:space-between;padding:10px;border-top:1px solid var(--fl-border);background:#fff}
.fl-grid ul.products li.product .fl-cta .button{flex:1;text-align:center;border-radius:12px;padding:10px 12px;background:var(--fl-brand);border:1px solid var(--fl-brand);color:#fff !important;font-weight:800;box-shadow:0 8px 18px rgba(132,204,22,.25)}
.fl-grid ul.products li.product .fl-cta .button:hover{background:var(--fl-brand-dark);border-color:var(--fl-brand-dark);color:#fff !important}
.fl-grid ul.products li.product .fl-cta .fl-view{flex:1;text-align:center;border:1px solid var(--fl-border);border-radius:12px;padding:10px 12px;text-decoration:none;color:#111827;background:#fff}
.fl-grid ul.products li.product .fl-cta .fl-view:hover{border-color:#cbd5e1}

/* Hide compare/wishlist/quick-view strongly */
body ul.products li.product a[href*="compare"],
body ul.products li.product .compare,
body ul.products li.product a.compare,
body ul.products li.product .yith-wcqv-button,
body ul.products li.product [class*="compare"],
body ul.products li.product .yith-woocompare-open,
body ul.products li.product .yith-woocompare-widget,
body ul.products li.product .yith-woocompare-button,
body ul.products li.product .yith-wcwl-add-to-wishlist,
body ul.products li.product .tinvwl-add-to-wishlist{display:none !important}

/* Load more */
.fl-loadmore-btn{display:block;margin:16px auto;border:1px solid var(--fl-border);background:#fff;border-radius:999px;padding:10px 18px;font-size:14px;cursor:pointer}
.fl-loadmore-btn:hover{border-color:#cbd5e1}
.fl-empty{text-align:center;padding:40px;color:#6b7280}
