/* WC Native Faceted Filters – minimal styles */
.wcnf-wrap { font-size: 14px; }
.wcnf-filters { border: 1px solid #e5e5e5; padding: 12px; border-radius: 8px; }
.wcnf-filters .wcnf-group { margin-bottom: 12px; }
.wcnf-filters .wcnf-group h3 { margin: 0 0 8px; font-size: 14px; }
.wcnf-term { display:flex; align-items:center; gap:6px; margin: 4px 0; }
.wcnf-term .count { opacity: .7; font-size: 12px; }

.wcnf-grid { position: relative; }
.wcnf-grid.aria-live { outline: none; }
.wcnf-products { display: grid; gap: 16px; }
.wcnf-products.columns-2 { grid-template-columns: repeat(2, minmax(0,1fr)); }
.wcnf-products.columns-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
.wcnf-products.columns-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }

.wcnf-card { border:1px solid #eee; border-radius:8px; padding:12px; background:#fff; }
.wcnf-card .title { font-size: 14px; margin: 6px 0; }
.wcnf-card .title a { color:#000; text-decoration:none; }
.wcnf-card .title a:hover { text-decoration: underline; }

/* Spinner overlay (non-blocking when hidden) */
.wcnf-spinner {
  position:absolute;
  inset:0;
  display:none;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.3);
  z-index:5;
  pointer-events:none; /* allow clicks when hidden */
}
.wcnf-grid.loading .wcnf-spinner { 
  display:flex; 
  pointer-events:auto; /* block only while loading */ 
}

.wcnf-error { background:#ffecec; color:#900; padding:8px; border-radius:6px; margin:8px 0; }

.wcnf-pagination { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; align-items:center; }
.wcnf-pagination a, .wcnf-pagination span { padding:6px 10px; border:1px solid #ddd; border-radius:6px; text-decoration:none; }
.wcnf-pagination .current { background:#222; color:#fff; border-color:#222; }

/* --- Enhancements --- */
.wcnf-search {
  width: 100%;
  padding: 10px 12px;
  border: 1px solid #cfcfcf;
  border-radius: 6px;
  outline: none;
  background: #fff;
}
.wcnf-search:focus {
  border-color: #111;
  box-shadow: 0 0 0 2px rgba(0,0,0,0.06);
}

/* Active filter bar */
.wcnf-active-bar {
  display:none;
  align-items:center;
  gap:8px;
  padding:10px;
  border:1px solid #e5e5e5;
  border-radius:8px;
  background:#fafafa;
  margin:0 0 12px 0;
}
.wcnf-chips { display:flex; flex-wrap:wrap; gap:8px; }
.wcnf-chip {
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid #ddd;
  background:#fff;
  font-size:13px;
}
.wcnf-chip .wcnf-chip-remove {
  cursor:pointer;
  border:none;
  background:transparent;
  line-height:1;
  font-size:14px;
}
.wcnf-clear-all {
  margin-left:auto;
  padding:6px 10px;
  border-radius:6px;
  border:1px solid #ddd;
  background:#fff;
  cursor:pointer;
}
.wcnf-clear-all:hover { background:#f2f2f2; }
