.woo-ajax-product-filter { flex-basis:22%; font-family:inherit; position:relative; }

.woo-ajax-product-filter .filter-title {
  color:#0d1f3b;font-size:1.2rem;font-weight:700;margin:0 0 1.5rem;
  padding:0 .25rem;border-bottom:2px solid #eceef1;padding-bottom:.75rem;
}

.woo-ajax-product-filter .filter-body{ flex:1;overflow-y:auto;padding:1.75rem 1rem 1.75rem 1.5rem; }
.woo-ajax-product-filter .filter-form{ display:flex;flex-direction:column;gap:1rem; }
.woo-ajax-product-filter .filter-groups-container{ display:flex;flex-direction:column;gap:1rem; }

.woo-ajax-product-filter .filter-group{ border-bottom:1px solid #eceef1;padding:0; }
.woo-ajax-product-filter .filter-group__toggle{
  align-items:center;background:none;border:0;cursor:pointer;display:flex;width:100%;
  justify-content:space-between;padding:.5rem .25rem;
}
.woo-ajax-product-filter .filter-group__toggle h4{ color:#101828;font-size:1.05rem;font-weight:600;margin:0; }
.woo-ajax-product-filter .accordion-icon{
  align-items:center;background:#eef1f6;height:24px;width:24px;border-radius:6px;
  display:flex;justify-content:center;
}
.woo-ajax-product-filter .accordion-icon svg{ width:16px;height:16px;transition:transform .3s ease; }
.woo-ajax-product-filter .filter-group__toggle:hover .accordion-icon{ background:#dfe4eb; }
.woo-ajax-product-filter .filter-group__toggle.is-open .accordion-icon{ background:#d0d5dd; }
.woo-ajax-product-filter .filter-group__toggle.is-open .accordion-icon svg{ transform:rotate(180deg); }

.woo-ajax-product-filter .filter-indicator{
  background:#0d1f3b;border-radius:10px;color:#fff;font-size:.7rem;font-weight:600;
  height:18px;width:18px;display:inline-flex;align-items:center;justify-content:center;
  margin-left:.5rem;min-width:18px;
}

.woo-ajax-product-filter .filter-group__toggle .filter-group__header {
    display: flex;
}

.woo-ajax-product-filter .filter-group__content{
  max-height:0;opacity:0;overflow:hidden;padding-left:.25rem;
  transition:max-height .35s cubic-bezier(.4,0,.2,1), opacity .25s ease;
}
.woo-ajax-product-filter .filter-group.is-open .filter-group__content{ max-height:6000px;opacity:1;padding:.4rem 0 .6rem; }

.woo-ajax-product-filter .filter-option{
  align-items:center;cursor:pointer;display:flex;gap:.8rem;padding:.45rem 12px .45rem 0;
}
.woo-ajax-product-filter .filter-option input{ width:20px;height:20px; }
.woo-ajax-product-filter .filter-option__label{
  color:#344054;display:flex;flex:1;font-size:.97rem;font-weight:500;justify-content:space-between;
}
.woo-ajax-product-filter .filter-option__count{ color:#98a2b3;font-size:.85rem; }
.woo-ajax-product-filter .filter-option:hover .filter-option__label{ color:#1d2939; }

.woo-ajax-product-filter .filter-actions{ display:flex;gap:1rem;padding-top:1.5rem; }
.woo-ajax-product-filter .filter-actions button{
  border-radius:8px;cursor:pointer;flex:1;font-size:.95rem;font-weight:600;
  padding:.9rem;text-align:center;transition:all .2s ease;
}
.woo-ajax-product-filter .filter-clear{ background:#fff;border:1px solid #d0d5dd;color:#667085; }
.woo-ajax-product-filter .filter-clear:hover{ border-color:#98a2b3;color:#344054; }
.woo-ajax-product-filter .filter-apply{ background:#0d1f3b;border:1px solid #0d1f3b;color:#fff; }
.woo-ajax-product-filter .filter-apply:hover{ filter:brightness(1.1); }

.woo-ajax-product-filter .filter-loading{
  align-items:center;backdrop-filter:blur(3px);background:rgba(255,255,255,.92);
  display:flex;flex-direction:column;gap:.75rem;inset:0;justify-content:center;position:fixed;z-index:1200;
}
.woo-ajax-product-filter .filter-loading__spinner{
  width:44px;height:44px;border-radius:50%;
  border:4px solid rgba(0,0,0,.12);border-top-color:rgba(0,0,0,.65);
  animation:wooapf_spin 1s linear infinite;
}
@keyframes wooapf_spin{ to{ transform:rotate(360deg);} }

.woo-ajax-product-filter .price-range-container{ border-bottom:1px solid #eceef1; }
.woo-ajax-product-filter .price-range-title{ color:#0d1f3b;font-size:1.05rem;font-weight:600;letter-spacing:.3px;margin:0 0 1rem; }
.woo-ajax-product-filter .price-slider{ height:80px;width:100%;padding-top:28px;position:relative; }
.woo-ajax-product-filter .slider-track{
  background:#dcdfe6;height:15px;border-radius:10px;width:100%;
  top:50%;position:absolute;transform:translateY(-50%);transition:background .25s ease;
}
.woo-ajax-product-filter input[type="range"]{
  -webkit-appearance:none;appearance:none;background:none;width:100%;
  top:50%;pointer-events:none;position:absolute;transform:translateY(-50%);margin:0;
}
.woo-ajax-product-filter input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;background:#0d1f3b;height:20px;width:20px;border:3px solid #fff;border-radius:50%;
  box-shadow:0 0 0 2px rgba(13,31,59,.15),0 4px 10px rgba(0,0,0,.18);
  cursor:pointer;pointer-events:all;
}
.woo-ajax-product-filter .price-bubble{
  background:#0d1f3b;border-radius:6px;color:#fff;font-size:.78rem;font-weight:600;
  top:-15px;padding:.4rem .7rem;position:absolute;white-space:nowrap;
}
.woo-ajax-product-filter .bubble-min{ left:0; }
.woo-ajax-product-filter .bubble-max{ right:0; }

.woo-ajax-product-filter .filter-skeleton{ padding:1.5rem 0; }
.woo-ajax-product-filter .filter-skeleton-group{ margin-bottom:1.5rem; }
.woo-ajax-product-filter .filter-skeleton-header{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;
}
.woo-ajax-product-filter .skeleton-item{
  background:linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size:200% 100%;animation:skeleton-loading 1.5s infinite;border-radius:4px;
}
.woo-ajax-product-filter .skeleton-title{ height:18px;width:120px; }
.woo-ajax-product-filter .skeleton-icon{ height:16px;width:16px;border-radius:2px; }
.woo-ajax-product-filter .skeleton-option{
  display:flex;align-items:center;gap:12px;margin-bottom:8px;
}
.woo-ajax-product-filter .skeleton-checkbox{ height:16px;width:16px;border-radius:2px; }
.woo-ajax-product-filter .skeleton-label{ height:14px;flex:1; }
.woo-ajax-product-filter .skeleton-count{ height:12px;width:20px; }
.woo-ajax-product-filter .skeleton-slider{ height:20px;width:100%;margin:16px 0; }

@keyframes skeleton-loading{
  0%{ background-position:200% 0; }
  100%{ background-position:-200% 0; }
}

@media (max-width:768px){
  .woo-ajax-product-filter .filter-body{ padding:1rem; }
}
