/* === Woo Archive Smart Filter – Redesigned === */
:root{--wasf-accent:#2563eb;--wasf-from:0%;--wasf-to:100%}

/* ── Card ── */
.wasf{
  --wasf-accent:#2563eb;
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:0;
  margin:0 0 28px;
  font:inherit;
  color:#1f2937;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
  overflow:hidden;
}
.wasf *{box-sizing:border-box}

/* ── Header ── */
.wasf__head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:14px 18px;
  border-bottom:1px solid #f1f5f9;
  background:linear-gradient(135deg,#f8fafc,#f1f5f9);
}
.wasf__head strong{
  font-size:.95rem;
  color:#0f172a;
  font-weight:700;
}
.wasf__reset{
  min-height:34px!important;
  border:1px solid color-mix(in srgb,var(--wasf-accent) 24%,#cbd5e1);
  border-radius:8px;
  background:color-mix(in srgb,var(--wasf-accent) 8%,#fff)!important;
  color:color-mix(in srgb,var(--wasf-accent) 76%,#334155)!important;
  padding:6px 12px!important;
  font-size:.78rem;
  font-weight:700;
  cursor:pointer;
  box-shadow:0 1px 2px rgba(15,23,42,.05);
  transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease,transform .15s ease;
}
.wasf__reset:hover{
  border-color:var(--wasf-accent);
  color:var(--wasf-accent)!important;
  background:#fff!important;
  box-shadow:0 3px 10px color-mix(in srgb,var(--wasf-accent) 16%,transparent);
  transform:translateY(-1px);
}
.wasf__reset:focus-visible{
  outline:3px solid color-mix(in srgb,var(--wasf-accent) 24%,transparent);
  outline-offset:2px;
}

/* ── Grid ── */
.wasf__grid{
  display:grid;
  gap:0;
  grid-template-columns:1fr;
  padding:0;
}

/* ── Section wrapper (each filter block) ── */
.wasf__field{
  padding:14px 18px;
  border-bottom:1px solid #f1f5f9;
  position:relative;
}
.wasf__field:last-child{border-bottom:none}

.wasf__field>label,
.wasf__field>legend{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:.82rem;
  font-weight:700;
  color:#334155;
  text-transform:none;
  letter-spacing:0;
  margin-bottom:10px;
}

/* ── Divider between major sections ── */
.wasf__divider{
  height:1px;
  background:linear-gradient(90deg,transparent 0%,#e2e8f0 15%,#e2e8f0 85%,transparent 100%);
  margin:0;
}

/* ── Stock Toggle ── */
.wasf__stock{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:14px 18px;
  border-bottom:1px solid #f1f5f9;
  cursor:pointer;
  font-weight:600;
  font-size:.88rem;
  color:#1e293b;
  transition:background .15s ease;
}
.wasf__stock:hover{background:#f8fafc}
.wasf__stock input{position:absolute;opacity:0;width:0;height:0}

/* Toggle track */
.wasf__stock>span{
  width:46px;
  min-width:46px;
  height:26px;
  border-radius:999px;
  background:#cbd5e1;
  position:relative;
  transition:background .25s ease;
  flex-shrink:0;
}
/* Toggle knob */
.wasf__stock>span:after{
  content:"";
  position:absolute;
  top:3px;
  right:3px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.15);
  transition:transform .25s ease;
}
.wasf__stock input:checked+span{
  background:var(--wasf-accent);
}
.wasf__stock input:checked+span:after{
  transform:translateX(-20px);
}

/* ── Price Range ── */
.wasf__prices{
  display:flex;
  justify-content:space-between;
  font-size:.82rem;
  color:#64748b;
  font-variant-numeric:tabular-nums;
  margin-bottom:4px;
  direction:ltr;
}
.wasf__range{
  height:36px;
  position:relative;
  background:#e2e8f0;
  border-radius:6px;
  margin-top:4px;
}
.wasf__range .wasf__range-track{
  position:absolute;
  top:50%;
  left:0;
  right:0;
  height:4px;
  margin-top:-2px;
  background:#e2e8f0;
  border-radius:2px;
  pointer-events:none;
}
.wasf__range .wasf__range-track::before{
  content:"";
  position:absolute;
  top:0;
  bottom:0;
  left:var(--wasf-from,0%);
  right:calc(100% - var(--wasf-to,100%));
  background:var(--wasf-accent);
  border-radius:2px;
  min-width:0;
}
.wasf__range .wasf__range-track::after{
  content:"";
  position:absolute;
  bottom:-8px;
  left:0;
  right:0;
  height:1px;
  background:#d1d5db;
}
.wasf__range input{
  appearance:none;
  position:absolute;
  inset:0;
  width:100%;
  background:none;
  pointer-events:none;
  margin:0;
  direction:rtl;
}
.wasf__range input::-webkit-slider-thumb{
  appearance:none;
  width:22px;
  height:22px;
  border:3px solid var(--wasf-accent);
  background:#fff;
  border-radius:50%;
  pointer-events:auto;
  cursor:grab;
  box-shadow:0 1px 4px rgba(0,0,0,.12);
  transition:box-shadow .15s ease;
  position:relative;
  z-index:2;
}
.wasf__range input::-webkit-slider-thumb:hover{
  box-shadow:0 0 0 6px color-mix(in srgb,var(--wasf-accent) 12%,transparent),0 1px 4px rgba(0,0,0,.12);
}
.wasf__range input::-moz-range-thumb{
  width:16px;
  height:16px;
  border:3px solid var(--wasf-accent);
  background:#fff;
  border-radius:50%;
  pointer-events:auto;
  cursor:grab;
  z-index:2;
}
.wasf__range input::-moz-range-track{
  background:transparent;
  border:0;
  height:4px;
}

/* ── Search Input ── */
.wasf__search{
  width:100%;
  min-height:40px;
  padding:8px 12px;
  border:1px solid #e2e8f0;
  border-radius:10px;
  background:#f8fafc;
  font:inherit;
  font-size:.85rem;
  color:#1e293b;
  transition:border-color .15s ease,box-shadow .15s ease;
  outline:none;
}
.wasf__search:focus{
  border-color:var(--wasf-accent);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--wasf-accent) 10%,transparent);
  background:#fff;
}
.wasf__search::placeholder{color:#94a3b8}

/* ── Choices List (categories, brands) ── */
.wasf__choices{
  max-height:180px;
  overflow:auto;
  display:flex;
  flex-direction:column;
  gap:1px;
  margin-top:6px;
  scrollbar-width:thin;
  scrollbar-color:#cbd5e1 transparent;
}
.wasf__choices::-webkit-scrollbar{width:5px}
.wasf__choices::-webkit-scrollbar-track{background:transparent}
.wasf__choices::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:999px}

.wasf__choices label{
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px 8px;
  cursor:pointer;
  font-size:.85rem;
  color:#334155;
  border-radius:8px;
  transition:background .12s ease;
}
.wasf__choices label:hover{
  background:#f1f5f9;
}

/* Custom checkbox */
.wasf__choices input[type="checkbox"]{
  appearance:none;
  -webkit-appearance:none;
  width:20px;
  height:20px;
  min-width:20px;
  border:2px solid #cbd5e1;
  border-radius:6px;
  background:#fff;
  cursor:pointer;
  position:relative;
  transition:all .15s ease;
  accent-color:var(--wasf-accent);
}
.wasf__choices input[type="checkbox"]:checked{
  background:var(--wasf-accent);
  border-color:var(--wasf-accent);
}
.wasf__choices input[type="checkbox"]:checked::after{
  content:"";
  position:absolute;
  top:2px;
  right:5px;
  width:6px;
  height:10px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}
.wasf__choices input[type="checkbox"]:hover{
  border-color:var(--wasf-accent);
}
.wasf__choices input[type="checkbox"]:focus-visible{
  outline:3px solid color-mix(in srgb,var(--wasf-accent) 25%,transparent);
  outline-offset:1px;
}

/* ── Attribute Choices (dynamically generated) ── */
.wasf__attribute-choices label{
  display:flex;
  align-items:center;
  gap:10px;
  padding:7px 8px;
  cursor:pointer;
  font-size:.85rem;
  color:#334155;
  border-radius:8px;
  transition:background .12s ease;
}
.wasf__attribute-choices label:hover{
  background:#f1f5f9;
}

/* ── Status bar ── */
.wasf__status{
  min-height:18px;
  padding:10px 18px;
  font-size:.8rem;
  color:#94a3b8;
  border-top:1px solid #f1f5f9;
  background:#f8fafc;
}

/* ── Loading overlay ── */
.wasf.is-loading{position:relative;pointer-events:none}
.wasf.is-loading:after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:inherit;
  background:color-mix(in srgb,#fff 70%,transparent);
  backdrop-filter:blur(1px);
}
.wasf.is-loading:before{
  content:"";
  position:absolute;
  z-index:1;
  left:50%;
  top:50%;
  width:30px;
  height:30px;
  margin:-15px;
  border:3px solid color-mix(in srgb,var(--wasf-accent) 15%,transparent);
  border-top-color:var(--wasf-accent);
  border-radius:50%;
  animation:wasf-spin .7s linear infinite
}
@keyframes wasf-spin{to{transform:rotate(360deg)}}

/* ── Reduced motion ── */
@media(prefers-reduced-motion:reduce){
  .wasf *,.wasf:before{transition:none!important;animation:none!important}
}

/* ── Mobile ── */
@media(max-width:480px){
  .wasf{border-radius:10px;margin:0 0 20px}
  .wasf__head{padding:12px 14px}
  .wasf__field{padding:12px 14px}
  .wasf__stock{padding:12px 14px}
  .wasf__status{padding:8px 14px}
}

/* ── Toggle Switch (2-item attributes) ── */
.wasf__toggle-inline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  cursor:pointer;
  min-height:40px;
  padding:2px 0;
}
.wasf__toggle-inline .wasf__toggle-label{
  font-size:.88rem;
  color:#334155;
  font-weight:600;
}
.wasf__toggle-input{
  position:absolute;
  opacity:0;
  width:0;
  height:0;
}
.wasf__toggle-track{
  width:46px;
  min-width:46px;
  height:26px;
  border-radius:999px;
  background:#cbd5e1;
  position:relative;
  transition:background .25s ease;
  flex-shrink:0;
}
.wasf__toggle-knob{
  position:absolute;
  top:3px;
  right:3px;
  width:20px;
  height:20px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.15);
  transition:transform .25s ease;
}
.wasf__toggle-input:checked+.wasf__toggle-track{
  background:var(--wasf-accent);
}
.wasf__toggle-input:checked+.wasf__toggle-track .wasf__toggle-knob{
  transform:translateX(-20px);
}



.wasf__empty{
  display:grid;
  gap:6px;
  padding:18px;
  color:#64748b;
  font-size:.84rem;
  line-height:1.8;
}
.wasf__empty strong{
  color:#334155;
  font-size:.9rem;
  font-weight:750;
}
.wasf__empty span{
  display:block;
}
