/* v1.0.6 — No sorting; low-specificity, variable-driven styles for easy overrides */
:root{
  --dwcfs-btn-height: 44px;
  --dwcfs-btn-radius: 12px;
  --dwcfs-btn-border: rgba(0,0,0,.85);
  --dwcfs-btn-bg: #fff;
  --dwcfs-btn-fg: #111;
  --dwcfs-overlay: rgba(0,0,0,.55);
  --dwcfs-divider: rgba(255,255,255,.08);
  --dwcfs-panel-bg: #000;
  --dwcfs-panel-fg: #fff;
}

.dwcfs-wrap{display:flex;justify-content:center;align-items:center;margin:1rem 0;position:relative;z-index:2147483647}
.dwcfs-buttons{display:flex;gap:22px;flex-wrap:wrap;justify-content:center;align-items:center}

.dwcfs-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  height:var(--dwcfs-btn-height); min-width:140px; padding:0 18px;
  border:1.5px solid var(--dwcfs-btn-border); border-radius:var(--dwcfs-btn-radius);
  background:var(--dwcfs-btn-bg); color:var(--dwcfs-btn-fg);
  text-decoration:none; text-transform:uppercase; letter-spacing:.02em; font-weight:700; line-height:1;
  transition:opacity .2s ease, transform .06s ease;
}
.dwcfs-btn:hover{opacity:.9}
.dwcfs-btn:active{transform:scale(.985)}
.dwcfs-icon{width:18px;text-align:center;font-size:16px;line-height:1}

/* Panel with :target fallback */
.dwcfs-panel{position:fixed; inset:0; display:block; pointer-events:none; z-index:2147483647}
.dwcfs-panel-bg{position:absolute; inset:0; background:var(--dwcfs-overlay); opacity:0; transition:opacity .25s ease; border:0; display:block}
.dwcfs-panel.is-open, .dwcfs-panel:target{pointer-events:auto}
.dwcfs-panel.is-open .dwcfs-panel-bg, .dwcfs-panel:target .dwcfs-panel-bg{opacity:1}

.dwcfs-panel-sheet{
  position:absolute; top:0; left:0; height:100%; width:min(560px, 92vw);
  background:var(--dwcfs-panel-bg); color:var(--dwcfs-panel-fg);
  box-shadow:0 10px 30px rgba(0,0,0,.15);
  transform:translateX(-100%); transition:transform .25s ease; display:flex; flex-direction:column;
}
.dwcfs-panel.is-open .dwcfs-panel-sheet, .dwcfs-panel:target .dwcfs-panel-sheet{transform:translateX(0)}

.dwcfs-panel-header{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--dwcfs-divider)}
.dwcfs-panel-header h2{margin:0;font-size:28px;font-weight:800}
.dwcfs-close{background:transparent;border:0;font-size:28px;line-height:1;color:var(--dwcfs-panel-fg);cursor:pointer}

/* Category list with thumbnails */
.dwcfs-catlist, .dwcfs-subcatlist{list-style:none;margin:0;padding:0}
.dwcfs-catlist > li, .dwcfs-subcatlist > li{border-bottom:1px solid var(--dwcfs-divider)}
.dwcfs-subcatlist{padding-left:0}
.dwcfs-cat a{
  display:flex; align-items:center; gap:14px;
  padding:18px 22px; color:var(--dwcfs-panel-fg); text-decoration:none; font-size:20px; font-weight:700;
}
.dwcfs-cat.is-child a{padding-left:46px; font-size:18px; font-weight:600}
.dwcfs-cat a:hover{background:rgba(255,255,255,.06)}
.dwcfs-catthumb{width:28px; height:28px; border-radius:6px; object-fit:cover; background:#222; display:inline-block}
.dwcfs-catthumb--placeholder{background:#222}
.dwcfs-catname{flex:1}
.dwcfs-catcount{opacity:.6; font-weight:600}

.dwcfs-panel-body .woocommerce-widget-layered-nav-list{list-style:none;margin:12px 0 0 0;padding:0}
.dwcfs-panel-body .woocommerce-widget-layered-nav-list__item{border-bottom:1px solid var(--dwcfs-divider)}
.dwcfs-panel-body .woocommerce-widget-layered-nav-list__item a{
  display:flex; align-items:center; gap:14px;
  padding:16px 22px; color:var(--dwcfs-panel-fg); text-decoration:none; font-size:18px; font-weight:600;
}
.dwcfs-panel-body .woocommerce-widget-layered-nav-list__item a:hover{background:rgba(255,255,255,.06)}

.dwcfs-panel-footer{display:flex;gap:.5rem;justify-content:flex-end;flex-wrap:wrap;padding:14px 16px;border-top:1px solid var(--dwcfs-divider)}
.dwcfs-clear, .dwcfs-apply{
  display:inline-flex;align-items:center;justify-content:center;gap:.4rem;
  padding:.6rem 1rem;border-radius:10px;border:1px solid rgba(255,255,255,.25);background:transparent;color:var(--dwcfs-panel-fg);text-decoration:none;cursor:pointer;
}
.dwcfs-apply{font-weight:700}

@media (max-width:480px){
  .dwcfs-btn{min-width:128px}
  .dwcfs-panel-sheet{width:94vw}
}
