
/* Base layout */
.cvaf-wrap{display:flex;flex-direction:column;gap:14px}
.cvaf-row{display:flex;flex-direction:column;gap:8px}
.cvaf-row label{font-weight:600}
.cvaf-actions{display:flex;gap:12px;align-items:center}
.cvaf-actions button{cursor:pointer}
.cvaf-clear{text-decoration:none}

/* Hide native selects when enhanced */
.cvaf-select-hidden{position:absolute!important;left:-9999px!important;opacity:0!important;width:1px!important;height:1px!important;overflow:hidden!important}

/* Swatches */
.cvaf-swatches{display:flex;flex-wrap:wrap;gap:10px}
.cvaf-swatch{
  width:22px;height:22px;border-radius:50%;
  border:1px solid rgba(0,0,0,.15);
  cursor:pointer;
  background: #dbdbdb;
  box-shadow:0 0 0 0 rgba(0,0,0,0);
}
.cvaf-swatch[aria-pressed="true"]{outline:2px solid rgba(0,0,0,.35); outline-offset:2px}

/* Sizes */
.cvaf-sizes{display:flex;flex-wrap:wrap;gap:8px}
.cvaf-size{
  min-width:34px;height:30px;padding:0 10px;
  border:1px solid rgba(0,0,0,.15);
  background:#fff;border-radius:6px;
  cursor:pointer;font-weight:600;
}
.cvaf-size[aria-pressed="true"]{border-color:rgba(0,0,0,.5)}

/* Price slider upgraded by JS */
.cvaf-range{position:relative;height:34px}
.cvaf-range-track{position:absolute;left:0;right:0;top:15px;height:4px;background:rgba(0,0,0,.15);border-radius:999px}
.cvaf-range-fill{position:absolute;top:0;bottom:0;left:0;right:0;background:rgba(0,0,0,.35);border-radius:999px}
.cvaf-range input[type="range"]{position:absolute;left:0;right:0;top:0;width:100%;height:34px;background:transparent;pointer-events:auto;-webkit-appearance:none;appearance:none}
.cvaf-range input[type="range"]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.35);cursor:pointer}
.cvaf-range input[type="range"]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#fff;border:1px solid rgba(0,0,0,.35);cursor:pointer}
.cvaf-range-label{font-weight:600}

/* Active filters */
.cvaf-active{display:flex;flex-wrap:wrap;gap:8px}
.cvaf-chip{display:inline-flex;gap:8px;align-items:center;padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.06)}
.cvaf-chip a{color:inherit;text-decoration:none;font-weight:700}

/* Rating stars: uses Font Awesome star (\f005) */
.cvaf-stars{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.cvaf-star{
  width:30px;height:30px;border-radius:6px;
  border:1px solid rgba(0,0,0,.15);
  background:#fff;cursor:pointer;
  position:relative;
}
.cvaf-star::before{
  content:"\f005";
  font-family:"Font Awesome 5 Free";
  font-weight:900;
  font-size:16px;
  line-height:30px;
  display:block;
  text-align:center;
  color: rgba(0,0,0,.35);
}
.cvaf-star[aria-pressed="true"]::before{color: rgba(0,0,0,.85)}
.cvaf-star-clear{
  width:30px;height:30px;border-radius:6px;
  border:1px solid rgba(0,0,0,.15);
  background:#fff;cursor:pointer;font-weight:900;
}

/* Results basic grid (if you use ajax results container) */
.cvaf-results-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px}
.cvaf-product a{text-decoration:none;color:inherit;display:block}
.cvaf-title{margin-top:8px;font-weight:600}

/* Smooth, no-jump AJAX loading for Avada Post Cards column */
.cvaf-results.cvaf-loading{
  opacity:.55;
  pointer-events:none;
  transition:opacity .18s ease;
}
.cvaf-results{transition:opacity .18s ease;}


/* Categories (checkbox tree) */
.cvaf-row-cat .cvaf-cat-tree{display:block;margin-top:6px;}
.cvaf-cat-level{margin-left:0;}
.cvaf-cat-level-1{margin-left:14px;}
.cvaf-cat-level-2{margin-left:28px;}
.cvaf-cat-item{display:flex;align-items:center;gap:8px;margin:6px 0;cursor:pointer;}
.cvaf-cat-item input{width:16px;height:16px;}
.cvaf-cat-name{font-size:14px;line-height:1.2;}
