/* SW_Filter&SmartSearch_Flowers v2.1 */
.swf-filter { position: relative; margin-bottom: 20px; }
.swf-filter__panel { background: #fff; border: 1px solid #eee; border-radius: 8px; padding: 16px; }
.swf-filter__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; font-size: 16px; }
.swf-filter__total { font-size: 13px; margin-bottom: 10px; }
.swf-filter__group { margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px solid #f0f0f0; }
.swf-filter__group-title { font-weight: 600; margin-bottom: 8px; color: #444; }
.swf-filter__values label { display: flex; gap: 8px; align-items: center; font-weight: normal; cursor: pointer; margin: 4px 0; }
.swf-filter__value.disabled { opacity: 0.45; pointer-events: none; }
.swf-count { color: #999; font-style: normal; }
.swf-filter__price, .swf-filter__rose { display: grid; gap: 8px; }
.swf-filter__price--slider { gap: 0; }
.swf-price-slider__labels { display: flex; justify-content: space-between; font-size: 12px; color: #888; margin-bottom: 6px; }
.swf-price-slider__track { position: relative; height: 28px; }
.swf-price-slider__range {
  position: absolute; top: 50%; left: 0; width: 100%; height: 4px; margin-top: -2px;
  background: #d4739a; border-radius: 2px; pointer-events: none;
}
.swf-price-slider__track::before {
  content: ''; position: absolute; top: 50%; left: 0; right: 0; height: 4px; margin-top: -2px;
  background: #e8dce2; border-radius: 2px;
}
.swf-price-slider__track input[type="range"] {
  position: absolute; top: 0; left: 0; width: 100%; height: 28px; margin: 0; padding: 0;
  background: transparent; pointer-events: none; -webkit-appearance: none; appearance: none;
}
.swf-price-slider__track input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none; pointer-events: all; width: 18px; height: 18px; border-radius: 50%;
  background: #fff; border: 2px solid #d4739a; cursor: pointer; box-shadow: 0 1px 3px rgba(0,0,0,.15);
}
.swf-price-slider__track input[type="range"]::-moz-range-thumb {
  pointer-events: all; width: 18px; height: 18px; border-radius: 50%;
  background: #fff; border: 2px solid #d4739a; cursor: pointer; box-shadow: 0 1px 3px rgba(0,0,0,.15);
}
.swf-price-slider__track .swf-price-range-min { z-index: 3; }
.swf-price-slider__track .swf-price-range-max { z-index: 4; }
.swf-price-slider__selected {
  display: flex; justify-content: center; align-items: center; gap: 8px;
  margin-top: 8px; font-size: 14px; font-weight: 600; color: #444;
}
.swf-price-slider__sep { color: #999; font-weight: normal; }
.swf-filter__apply { margin-top: 8px; }
.swf-quick-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 10px; }
.swf-quick-tag { border-radius: 16px; }
.swf-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 12px; }
.swf-chip { background: #f3e8ee; color: #6b3a55; border-radius: 14px; padding: 2px 8px; font-size: 12px; }
.swf-chip button { border: 0; background: transparent; cursor: pointer; padding: 0 2px; }
.swf-loader { display: none; height: 3px; background: linear-gradient(90deg, #e8b4cb, #d4739a, #e8b4cb); background-size: 200% 100%; animation: swf-load 1s linear infinite; margin-top: 8px; border-radius: 2px; }
.swf-filter.swf-loading .swf-loader { display: block; }
.swf-filter.swf-loading .swf-filter__apply { opacity: 0.6; pointer-events: none; }
@keyframes swf-load { 0% { background-position: 0 0; } 100% { background-position: 200% 0; } }
.swf-filter--revolution .swf-filter__panel { border: none; }
.swf-filter--revolution .box-heading { display: flex; justify-content: space-between; }
.swf-filter--mobile-drawer .swf-filter__toggle { width: 100%; margin-bottom: 10px; }
.swf-filter--mobile-drawer .swf-filter__overlay { display: none; }
@media (max-width: 767px) {
  .swf-filter--mobile-drawer .swf-filter__panel {
    position: fixed; top: 0; left: -100%; width: 85%; max-width: 320px; height: 100%;
    z-index: 10050; overflow-y: auto; transition: left .25s ease; box-shadow: 2px 0 12px rgba(0,0,0,.15);
  }
  .swf-filter--mobile-drawer.swf-filter--open .swf-filter__panel { left: 0; }
  .swf-filter--mobile-drawer.swf-filter--open .swf-filter__overlay {
    display: block; position: fixed; inset: 0; background: rgba(0,0,0,.35); z-index: 10040;
  }
}
