/* Original shop filter layout, refreshed with bright neutral controls. */
/* Keep long selected-category descriptions inside the mobile results card. */
#content-container .shop-results-heading .shop-context-details {
  position: static !important;
  top: auto !important;
  left: auto !important;
  transform: none !important;
  height: auto !important;
  margin: 8px 0 0 !important;
  line-height: 1.5 !important;
  overflow-wrap: anywhere;
}
#content-container .shop-results-context { min-width: 0; }
#content-container #filterCard {
  background: #fff !important;
  border: 1px solid #e4e4e4 !important;
  border-radius: 16px !important;
  box-shadow: 0 6px 22px rgba(30, 30, 25, .07) !important;
}
#filterCard .card-title, #filterCard h5, #filterCard h6 {
  color: #171717 !important;
  font-weight: 650 !important;
}

#filterCard hr { border-color: #dedede; opacity: 1; }
#filterCard .form-check-label { color: #333333 !important; }
#filterCard .form-check-label.text-primary,
#filterCard .form-check-label .text-primary { color: #222222 !important; }
#filterCard .form-check-input {
  width: 16px;
  height: 16px;
  margin-top: 4px;
  border: 1px solid #a3a3a3 !important;
  background-color: #fff !important;
  box-shadow: none !important;
}
#filterCard .form-check-input:checked {
  background-color: #fff !important;
  border-color: #555 !important;
}
#filterCard input[type="checkbox"].form-check-input { border-radius: 3px; }
#filterCard input[type="checkbox"].form-check-input:checked {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23222222' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m3.5 8 3 3 6-6'/%3E%3C/svg%3E") !important;
}
#filterCard input[type="radio"].form-check-input:checked {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3.5' fill='%23222222'/%3E%3C/svg%3E") !important;
}
#filterCard .form-check-input:indeterminate {
  background-color: #fff !important;
  border-color: #555 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath stroke='%23222222' stroke-width='2' stroke-linecap='round' d='M4 8h8'/%3E%3C/svg%3E") !important;
}
#filterCard .category-item .form-check-label,
#filterCard .form-check-label strong { font-weight: 600 !important; }
#filterCard .form-check { border-radius: 6px; }
#filterCard .form-check:hover { background-color: #f5f5f5; }
#filterCard .form-select, #filterCard #featureDropdownBtn {
  color: #222222 !important;
  background-color: #fff !important;
  border: 1px solid #d5d5d5 !important;
  border-radius: 9px !important;
  box-shadow: 0 2px 5px rgba(30, 35, 20, .04) !important;
}
#filterCard #featureDropdownBtn:hover { background-color: #f5f5f5 !important; }
#filterCard #featureDropdownMenu {
  background: #fff;
  border: 1px solid #dddddd;
  box-shadow: 0 8px 22px rgba(30, 35, 20, .1);
}

#filterCard .toggle-arrow { color: #555555; }
#filterCard .sub-category-list .bi { color: #777777 !important; }
#filterCard #priceRange1 { accent-color: #007bff; }
#filterCard #priceRange1::-webkit-slider-runnable-track {
  background: #dbeaff !important; border-radius: 99px;
}
#filterCard #priceRange1::-moz-range-track {
  background: #dbeaff !important; border-radius: 99px;
}
#filterCard #priceRange1::-webkit-slider-thumb {
  background: #007bff !important;
  box-shadow: 0 0 0 3px #007bff18;
}
#filterCard #priceRange1::-moz-range-thumb {
  background: #007bff !important;
  border-color: #007bff !important;
}
#filterCard #priceRange1 + .small { color: #555555; }
#filterCard #priceRange1 + .small strong { color: #007bff !important; }
#filterCard #applyFiltersShop {
  background: #171717 !important;
  border-color: #171717 !important;
  color: #fff !important;
  border-radius: 9px;
}
#filterCard :is(input, select, button):focus-visible {
  outline: 2px solid #777777 !important;
  outline-offset: 3px;
}

/* Text-only category choices; labels retain the existing filter behavior. */
:is(#filterCard, .filter-dropdown-menu) :is(.category-item, .sub-category-item) .form-check-input {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
:is(#filterCard, .filter-dropdown-menu) :is(.category-item, .sub-category-item) .bi { display: none !important; }
:is(#filterCard, .filter-dropdown-menu) :is(.category-item, .sub-category-item) {
  padding-left: 0 !important;
  margin-bottom: 2px;
  background: transparent;
}
:is(#filterCard, .filter-dropdown-menu) :is(.category-item, .sub-category-item) .form-check-label {
  display: block;
  margin-left: 0 !important;
  padding: 6px 9px;
  border-radius: 6px;
  line-height: 1.45;
  cursor: pointer;
  transition: color .15s, background-color .15s;
}
:is(#filterCard, .filter-dropdown-menu) .sub-category-list { padding-left: 12px !important; }
:is(#filterCard, .filter-dropdown-menu) .sub-category-item .form-check-label:hover {
  color: #0769da !important;
  background: #edf5ff;
}
:is(#filterCard, .filter-dropdown-menu) .sub-category-item input:checked + .form-check-label {
  color: #0769da !important;
  font-weight: 600;
  background: #edf5ff;
}
:is(#filterCard, .filter-dropdown-menu) :is(.category-item, .sub-category-item) .form-check-input:focus-visible + .form-check-label {
  outline: 2px solid #2680e8;
  outline-offset: 2px;
}
@media (prefers-reduced-motion: reduce) {
  :is(#filterCard, .filter-dropdown-menu) :is(.category-item, .sub-category-item) .form-check-label { transition: none; }
}
