/* =========================================
   Facetbox – White background (no box border)
   ========================================= */

.facetbox {
  font-size: clamp(0.5rem, 0.8rem + 0.2vw, 1rem);
  color: #1a1a1a;
  background: #ffffff;
  border: 0 !important;
  box-shadow: none;
}

.facetbox,
.facetbox * {
  box-sizing: border-box;
}

.facetbox {
  overflow: hidden;
}

.facetbox .facetwp-facet {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  min-width: 0;
}

/* ---------- Checkboxes ---------- */

.facetbox .facetwp-facet.facetwp-type-checkboxes .facetwp-checkbox {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0.45rem 0.75rem;
  margin: 0;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.18);
  border-radius: 6px;
  cursor: pointer;
  line-height: 1.3;
  transition: background-color 0.15s ease, box-shadow 0.15s ease, transform 0.08s ease, border-color 0.15s ease;
}

.facetbox .facetwp-facet.facetwp-type-checkboxes .facetwp-checkbox:hover {
  background: rgba(198, 152, 30, 0.08);
  border-color: rgba(198, 152, 30, 0.65);
  box-shadow: 0 0 0 2px rgba(198, 152, 30, 0.14);
}

.facetbox .facetwp-facet.facetwp-type-checkboxes .facetwp-display-value {
  padding-left: 0.4rem;
  color: #1a1a1a;
}

/* ---------- Slider ---------- */

.facetbox .facetwp-facet.facetwp-type-slider {
  display: grid !important;
  grid-template-columns: 1fr auto !important;
  grid-template-rows: auto auto !important;
  row-gap: 0.15rem !important;
  column-gap: 0.75rem !important;
  align-items: center !important;
  padding: 0.25rem 0 0.35rem !important;
  font-size: 0.85rem;
}

.facetbox .facetwp-facet.facetwp-type-slider > .facetwp-slider,
.facetbox .facetwp-facet.facetwp-type-slider > :has(.noUi-target) {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  width: 100% !important;
}

.facetbox .facetwp-facet.facetwp-type-slider > .facetwp-slider-label {
  grid-column: 1 / 2 !important;
  grid-row: 2 !important;
  justify-self: start !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #1a1a1a !important;
  line-height: 1.2 !important;
  width: auto !important;
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
}

.facetbox .facetwp-facet.facetwp-type-slider > .facetwp-reset,
.facetbox .facetwp-facet.facetwp-type-slider > a.facetwp-reset,
.facetbox .facetwp-facet.facetwp-type-slider > button.facetwp-reset {
  grid-column: 2 / 3 !important;
  grid-row: 2 !important;
  justify-self: end !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: none !important;
  box-shadow: none !important;
  width: auto !important;
  float: none !important;
  clear: none !important;
  font-size: 0.8rem !important;
  line-height: 1.2 !important;
  color: #c6981e !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

.facetbox .facetwp-facet.facetwp-type-slider br {
  display: none !important;
}

.facetbox .facetwp-facet.facetwp-type-slider .facetwp-reset:hover {
  text-decoration: underline !important;
}

.facetbox .facetwp-facet.facetwp-type-slider .noUi-target {
  height: 6px;
  margin: 0;
  background: rgba(0, 0, 0, 0.12);
  border: none;
  box-shadow: none;
}

.facetbox .facetwp-facet.facetwp-type-slider .noUi-connect {
  background: #c6981e;
}

.facetbox .facetwp-facet.facetwp-type-slider .noUi-handle {
  width: 14px;
  height: 14px;
  top: -4px;
  border-radius: 3px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  background: #ffffff;
  box-shadow: 0 1px 2px rgba(0,0,0,0.25);
}

.facetbox .facetwp-facet.facetwp-type-slider .noUi-handle::before,
.facetbox .facetwp-facet.facetwp-type-slider .noUi-handle::after {
  display: none;
}

/* ---------- Search ---------- */

.facetbox .facetwp-facet.facetwp-type-search {
  margin: 0;
  padding: 0.25rem 0 0.1rem;
}

.facetbox .facetwp-facet.facetwp-type-search .facetwp-search-wrap {
  position: relative;
  width: 100%;
}

.facetbox .facetwp-facet.facetwp-type-search .facetwp-search {
  width: 100% !important;
  display: block;
  background: #ffffff !important;
  border: 1px solid rgba(0, 0, 0, 0.18) !important;
  border-radius: 6px !important;
  color: #1a1a1a !important;
  padding: 0.72rem 2.6rem 0.72rem 0.9rem !important;
  line-height: 1.1 !important;
  box-shadow: 0 1px 6px rgba(0,0,0,0.12) !important;
  outline: none !important;
}

.facetbox .facetwp-facet.facetwp-type-search .facetwp-search::placeholder {
  color: rgba(0, 0, 0, 0.55) !important;
}

.facetbox .facetwp-facet.facetwp-type-search .facetwp-search:focus {
  border-color: rgba(198, 152, 30, 0.95) !important;
  box-shadow: 0 0 0 2px rgba(198, 152, 30, 0.18), 0 2px 10px rgba(0,0,0,0.14) !important;
}

.facetbox .facetwp-facet.facetwp-type-search .facetwp-btn {
  position: absolute;
  right: 0.8rem;
  top: 50%;
  transform: translateY(-50%);
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  width: 1.35rem;
  height: 1.35rem;
  opacity: 1;
}

.facetbox .facetwp-facet.facetwp-type-search .facetwp-btn:before {
  color: #c6981e;
  font-size: 1.15rem;
  text-shadow: none;
}

.facetbox .facetwp-facet.facetwp-type-search input.facetwp-search:-webkit-autofill {
  -webkit-text-fill-color: #1a1a1a !important;
  box-shadow: 0 0 0px 1000px #ffffff inset !important;
}

/* prevent overflow */
.facetbox .facetwp-facet.facetwp-type-search,
.facetbox .facetwp-facet.facetwp-type-search .facetwp-search-wrap {
  width: 100% !important;
  max-width: 100% !important;
}

.facetbox .facetwp-facet.facetwp-type-search,
.facetbox .facetwp-facet.facetwp-type-search * {
  min-width: 0 !important;
}

.facetbox,
.facetbox .fusion-column-wrapper {
  min-width: 0 !important;
}

/* ---------- Proximity / Location ---------- */

.facetbox .facetwp-facet.facetwp-type-proximity {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0.5rem;
  width: 100%;
  max-width: 100%;
}

.facetbox .facetwp-facet.facetwp-type-proximity .facetwp-location-wrap,
.facetbox .facetwp-facet.facetwp-type-proximity .facetwp-radius-wrap {
  position: relative;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.facetbox .facetwp-facet.facetwp-type-proximity input.facetwp-location,
.facetbox .facetwp-facet.facetwp-type-proximity select.facetwp-radius {
  width: 100% !important;
  max-width: 100% !important;
  height: 44px;
  padding: 0 0.9rem;
  border-radius: 6px;
  border: 1px solid rgba(0, 0, 0, 0.18);
  background: #ffffff;
  color: #1a1a1a;
  outline: none;
  box-shadow: 0 1px 6px rgba(0,0,0,0.12);
}

.facetbox .facetwp-facet.facetwp-type-proximity input.facetwp-location {
  padding-right: 3rem;
}

.facetbox .facetwp-facet.facetwp-type-proximity input.facetwp-location::placeholder {
  color: rgba(0, 0, 0, 0.55);
}

.facetbox .facetwp-facet.facetwp-type-proximity input.facetwp-location:focus,
.facetbox .facetwp-facet.facetwp-type-proximity select.facetwp-radius:focus {
  border-color: rgba(198, 152, 30, 0.95);
  box-shadow: 0 0 0 2px rgba(198, 152, 30, 0.18), 0 2px 10px rgba(0,0,0,0.14);
}

.facetbox .facetwp-facet.facetwp-type-proximity select.facetwp-radius {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 2.25rem;
  background-image:
    linear-gradient(45deg, transparent 50%, rgba(0,0,0,0.55) 50%),
    linear-gradient(135deg, rgba(0,0,0,0.55) 50%, transparent 50%);
  background-position:
    calc(100% - 1.15rem) 50%,
    calc(100% - 0.85rem) 50%;
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}

.facetbox .facetwp-facet.facetwp-type-proximity .facetwp-icon {
  right: 0.85rem;
  top: 50%;
  transform: translateY(-50%);
  opacity: 0.9;
}

.facetbox .facetwp-facet.facetwp-type-proximity .facetwp-icon:before {
  color: rgba(0, 0, 0, 0.5);
}

.facetbox .facetwp-facet.facetwp-type-proximity .facetwp-icon:hover:before {
  color: #c6981e;
}

@media (max-width: 520px) {
  .facetbox .facetwp-facet.facetwp-type-proximity input.facetwp-location,
  .facetbox .facetwp-facet.facetwp-type-proximity select.facetwp-radius {
    height: 42px;
    padding: 0 0.8rem;
  }
}

.facetbox,
.facetbox .fusion-column-wrapper,
.facetbox .facetwp-facet {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.facetbox {
  overflow: hidden !important; /* hard stop for any bleed */
}

.facetbox .facetwp-facet.facetwp-type-slider,
.facetbox .facetwp-facet.facetwp-type-slider > .facetwp-slider,
.facetbox .facetwp-facet.facetwp-type-slider > :has(.noUi-target),
.facetbox .facetwp-facet.facetwp-type-slider .noUi-target {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

.facetbox .facetwp-facet.facetwp-type-slider .noUi-target,
.facetbox .facetwp-facet.facetwp-type-slider .noUi-base,
.facetbox .facetwp-facet.facetwp-type-slider .noUi-connects,
.facetbox .facetwp-facet.facetwp-type-slider .noUi-connect {
  box-sizing: border-box !important;
  max-width: 100% !important;
}

.facetbox .facetwp-facet.facetwp-type-slider .noUi-target {
  padding: 0 8px !important;
}

.facetbox .facetwp-facet.facetwp-type-proximity,
.facetbox .facetwp-facet.facetwp-type-proximity .facetwp-location-wrap,
.facetbox .facetwp-facet.facetwp-type-proximity .facetwp-radius-wrap {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

.facetbox .facetwp-facet.facetwp-type-proximity input.facetwp-location,
.facetbox .facetwp-facet.facetwp-type-proximity select.facetwp-radius {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

.facetbox .facetwp-facet.facetwp-type-proximity * {
  max-width: 100% !important;
}

.facetbox .facetwp-facet.facetwp-type-slider,
.facetbox .facetwp-facet.facetwp-type-proximity {
  padding-left: 2px !important;
  padding-right: 2px !important;
}

.facetbox .facetwp-facet.facetwp-type-checkboxes .facetwp-checkbox.checked,
.facetbox .facetwp-facet.facetwp-type-checkboxes .facetwp-checkbox.facetwp-active {
  background: rgba(198, 152, 30, 0.14) !important;
  border-color: rgba(198, 152, 30, 0.95) !important;
  box-shadow: 0 0 0 2px rgba(198, 152, 30, 0.16) !important;
}

.facetbox .facetwp-facet.facetwp-type-checkboxes .facetwp-checkbox.checked .facetwp-display-value,
.facetbox .facetwp-facet.facetwp-type-checkboxes .facetwp-checkbox.facetwp-active .facetwp-display-value {
  color: #1a1a1a !important;
  font-weight: 600;
}

.facetbox .facetwp-facet.facetwp-type-checkboxes .facetwp-checkbox.checked::before,
.facetbox .facetwp-facet.facetwp-type-checkboxes .facetwp-checkbox.facetwp-active::before {
  content: "";
  display: block;
  width: 4px;
  height: 1.15em;
  background: #c6981e;
  margin-right: 0.55rem;
  flex: 0 0 4px;
}

.facetbox .facetwp-facet.facetwp-type-checkboxes .facetwp-checkbox {
  gap: 0.2rem;
}

.facetbox .facetwp-facet.facetwp-type-radio {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  margin: 0;
  padding: 0;
  min-width: 0;
}

.facetbox .facetwp-facet.facetwp-type-radio .facetwp-radio {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 0.45rem 0.75rem;
  margin: 0;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.18);
  border-radius: 6px;
  cursor: pointer;
  line-height: 1.3;
  transition: background-color 0.15s ease, box-shadow 0.15s ease, transform 0.08s ease, border-color 0.15s ease;
  gap: 0.2rem;
}

.facetbox .facetwp-facet.facetwp-type-radio .facetwp-radio:hover {
  background: rgba(198, 152, 30, 0.08);
  border-color: rgba(198, 152, 30, 0.65);
  box-shadow: 0 0 0 2px rgba(198, 152, 30, 0.14);
}

.facetbox .facetwp-facet.facetwp-type-radio .facetwp-display-value {
  padding-left: 0.4rem;
  color: #1a1a1a;
}

.facetbox .facetwp-facet.facetwp-type-radio .facetwp-radio.checked,
.facetbox .facetwp-facet.facetwp-type-radio .facetwp-radio.facetwp-active {
  background: rgba(198, 152, 30, 0.14) !important;
  border-color: rgba(198, 152, 30, 0.95) !important;
  box-shadow: 0 0 0 2px rgba(198, 152, 30, 0.16) !important;
}

.facetbox .facetwp-facet.facetwp-type-radio .facetwp-radio.checked .facetwp-display-value,
.facetbox .facetwp-facet.facetwp-type-radio .facetwp-radio.facetwp-active .facetwp-display-value {
  color: #1a1a1a !important;
  font-weight: 600;
}

.facetbox .facetwp-facet.facetwp-type-radio .facetwp-radio.checked::before,
.facetbox .facetwp-facet.facetwp-type-radio .facetwp-radio.facetwp-active::before {
  content: "";
  display: block;
  width: 4px;
  height: 1.15em;
  background: #c6981e;
  margin-right: 0.55rem;
  flex: 0 0 4px;
}
