.filter_head{ display:flex; align-items:center; justify-content:space-between; padding:.8rem 1rem; }
.filter_reset{ background:transparent; border:1px solid #ccc; font-size:11px; padding:3px 10px; border-radius:20px; cursor:pointer; }

.filter_group{ border-bottom:1px solid #e2e2e2; }
.filter_group_title{ display:flex; align-items:center; justify-content:space-between; padding:.6rem 1rem; font-weight:600; font-size:13px; cursor:pointer; user-select:none; }
.filter_arrow{ font-size:12px; color:#999; transition:transform .2s; }
.ks-group.collapsed .filter_arrow{ transform:rotate(180deg); }
.ks-group.collapsed .filter_group_body{ display:none; }
.filter_group_body{ padding:.4rem 1rem .7rem; display:flex; flex-direction:column; gap:3px; }
.filter_group_body--scroll{ max-height:160px; overflow-y:auto; }

.filter_checkbox_row{ display:flex; align-items:center; gap:8px; font-size:13px; cursor:pointer; padding:3px 0; }
.filter_checkbox_row input[type="checkbox"]{ display:none; }
.filter_checkbox_box{ width:16px; height:16px; border:1.5px solid #ccc; border-radius:3px; position:relative; background:#fff; }
.filter_checkbox_row input:checked ~ .filter_checkbox_box{ background:#0F6E56; border-color:#0F6E56; }
.filter_checkbox_row input:checked ~ .filter_checkbox_box::after{ content:''; position:absolute; left:3px; top:1px; width:8px; height:5px; border-left:2px solid #fff; border-bottom:2px solid #fff; transform:rotate(-45deg); }
.filter_count{ margin-left:auto; font-size:11px; color:#999; }

.filter_price_inputs{ display:flex; align-items:center; gap:6px; margin-bottom:10px; }
.filter_price_input{ width:76px; padding:4px 6px; font-size:12px; border:1px solid #ccc; border-radius:6px; text-align:center; }
.filter_slider{ position:relative; padding:6px 0; }
.filter_slider_track{ position:relative; height:4px; background:#e2e2e2; border-radius:2px; }
.filter_slider_fill{ position:absolute; height:100%; background:#1D9E75; border-radius:2px; top:0; }
.filter_range{ position:absolute; width:100%; top:-6px; height:16px; -webkit-appearance:none; appearance:none; background:transparent; pointer-events:none; }
.filter_range::-webkit-slider-thumb{ -webkit-appearance:none; width:16px; height:16px; background:#0F6E56; border:2px solid #fff; border-radius:50%; cursor:pointer; pointer-events:all; box-shadow:0 1px 4px rgba(0,0,0,.2); }
.filter_range::-moz-range-thumb{ width:16px; height:16px; background:#0F6E56; border:2px solid #fff; border-radius:50%; cursor:pointer; pointer-events:all; }

.shop_sort{ font-size:13px; padding:5px 10px; border:1px solid #e2e2e2; border-radius:8px; cursor:pointer; }
.mobile_filter_btn{ display:none; align-items:center; gap:5px; padding:6px 14px; background:#0F6E56; color:#fff; border:none; border-radius:8px; cursor:pointer; }

.filter_chips{ display:flex; flex-wrap:wrap; gap:6px; margin-bottom:.5rem; }
.filter_chip{ display:inline-flex; align-items:center; gap:4px; background:#E1F5EE; color:#0F6E56; font-size:12px; padding:3px 10px 3px 12px; border-radius:20px; border:1px solid #1D9E75; }
.filter_chip button{ background:none; border:none; cursor:pointer; color:#0F6E56; }

.shop_view_list{ display:flex; flex-direction:column; gap:10px; }
.shop_view_list .product_listing{ flex-direction:row; align-items:center; }

.load_more_wrap{ text-align:center; margin-top:1.5rem; }
.load_more_btn{ padding:11px 38px; background:#fff; border:2px solid #0F6E56; color:#0F6E56; font-weight:600; border-radius:8px; cursor:pointer; }
.load_more_btn:hover{ background:#0F6E56; color:#fff; }
.loading_spinner{ display:flex; align-items:center; justify-content:center; gap:8px; color:#0F6E56; }

.ks-overlay{ display:none; position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:999; }
.ks-overlay.open{ display:block; }

@media (max-width: 900px){
  #ks-sidebar{ position:fixed; left:-100%; top:0; height:100%; z-index:1000; overflow-y:auto; transition:left .25s; background:#fff; }
  #ks-sidebar.open{ left:0; }
  .mobile_filter_btn{ display:flex; }
}
.ks-sidebar-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: .8rem 1rem;
  background: #03786c;
  color: #fff;
  font-weight: 600;
  font-size: 13px;
  position: sticky;
  top: 0;
  z-index: 2;
}
.filter-paddings{
    padding: 15px;
}
.ks-reset-btn{
    background: transparent;
    border: none;
    color: white;
}