.locaties-lijst{display:grid;gap:15px;margin:40px 0 20px 0}
.filter-container{position:relative;display:inline-block;flex:1}
.filter-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:#e5347b;font-size:14px;z-index:10;pointer-events:none;-webkit-transform:translateY(-50%);-webkit-user-select:none}
.price-filter-icon{position:static;transform:none;-webkit-transform:none}
.price-filter-wrapper{flex:1}
.price-filter-container{display:flex;flex-direction:row;align-items:center;gap:20px;padding:15px;background:#f8f9fa;border:1px solid #e5347b;border-radius:6px;font-size:14px;font-weight:600;color:#333;width:100%;box-shadow:0 2px 4px rgba(0,0,0,.1)}
.slider-container{display:flex;flex-direction:column;gap:8px;flex:1}
.price-labels-with-value{display:flex;justify-content:space-between;width:100%;font-size:12px;color:#666;position:relative}
.price-labels-with-value .price-min{position:absolute;left:0;font-weight:500}
.price-labels-with-value .price-max{position:absolute;right:0;font-weight:500}
.price-labels-with-value #slider-value-display{margin:0 auto;color:#e5347b;font-weight:700;font-size:14px}
#locatie-price-slider{width:100%;height:6px;border-radius:3px;background:#ddd;outline:none;-webkit-appearance:none;appearance:none;cursor:pointer}
#locatie-price-slider::-webkit-slider-track{width:100%;height:6px;border-radius:3px;background:#ddd;border:none}
#locatie-price-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#e5347b;cursor:pointer;border:2px solid #fff;box-shadow:0 2px 4px rgba(0,0,0,.2);margin-top:-7px}
#locatie-price-slider::-moz-range-track{width:100%;height:6px;border-radius:3px;background:#ddd;border:none}
#locatie-price-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#e5347b;cursor:pointer;border:2px solid #fff;box-shadow:0 2px 4px rgba(0,0,0,.2)}
#locatie-provincie-select,#locatie-groep-select{padding:3px 12px 3px 38px;font-size:16px;border:1px solid #dee2e6;border-radius:6px;transition:border-color .3s,box-shadow .3s;width:100%;height:100%;background:#fff;-webkit-appearance:none;-moz-appearance:none;appearance:none;position:relative;z-index:1;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;padding-right:40px;box-sizing:border-box}
#locatie-provincie-select:focus,#locatie-groep-select:focus{border-color:#e5347b;outline:none;box-shadow:0 0 0 3px rgba(229,52,123,.2)}
#locatie-provincie-select:hover,#locatie-groep-select:hover{border-color:#e5347b}
@media (min-width:769px){#locatie-filter-form{display:flex;flex-direction:row;gap:40px;align-items:stretch}.filter-container{flex:1}}
@media (max-width:768px) and (min-width:481px){#locatie-filter-form{display:flex;flex-direction:column;align-items:center;gap:20px}.filter-container{width:375px;flex:none;min-height:40px}.price-filter-container{width:100%}}
@media (max-width:480px){#locatie-filter-form{display:flex;flex-direction:column;align-items:stretch;gap:20px}.filter-container{width:100%;flex:none;min-height:40px}.price-filter-container{width:100%}}
.locaties-lijst-link{display:block;text-decoration:none;color:inherit}
.locaties-lijst-link .locaties-lijst-item{background:#fff;border:1px solid #dee2e6;border-radius:6px;overflow:hidden;transition:all .3s;cursor:pointer;height:100%;color:#495057;font-weight:500;display:flex;flex-direction:column}
.locaties-lijst-image{width:100%;aspect-ratio:4/3;object-fit:cover;background:#f8f9fa}
.locaties-lijst-image-placeholder{width:100%;aspect-ratio:3/2;background:#f8f9fa;display:flex;align-items:center;justify-content:center;color:#6c757d;font-size:14px}
.locaties-lijst-title{padding:15px;text-align:center;flex-grow:1;display:flex;align-items:center;justify-content:center}
.locaties-plaats-label{padding:0 12px 14px;text-align:center;font-size:13px;letter-spacing:.5px;color:#666;text-transform:uppercase}
.locaties-lijst-link:hover .locaties-lijst-item{transform:translateY(-4px);box-shadow:0 4px 20px rgba(0,0,0,.1);border-color:#e5347b}
.locaties-lijst-link:hover .locaties-lijst-title{color:#e5347b}
@media (max-width:640px){.locaties-lijst{grid-template-columns:repeat(1,1fr)}}
@media (min-width:641px) and (max-width:1024px){.locaties-lijst{grid-template-columns:repeat(2,1fr)}}
@media (min-width:1025px){.locaties-lijst{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1201px){.locaties-lijst{grid-template-columns:repeat(4,1fr)}}
@media (min-width:1401px){.locaties-lijst{grid-template-columns:repeat(5,1fr)}}

/* OVERRIDE: make filters stretch full-width on mobile & small tablets */
@media (max-width: 768px) {
  #locatie-filter-form { align-items: stretch; } /* already true <=480, enforce for 481–768 */
  .filter-container { width: 100% !important; }
}

/* OVERRIDE: comfortable touch height for the two selects on mobile */
@media (max-width: 768px) {
  .filter-container { min-height: 56px; } /* from 40px -> 56px */
  #locatie-provincie-select,
  #locatie-groep-select {
    padding: 14px 44px 14px 44px;  /* more vertical padding, keeps icon clear */
    min-height: 52px;              /* reliable tap target on iOS */
    line-height: 1.2;
    display: block;                 /* avoids odd inline height collapse */
    width: 100%;
  }
}

/* === Group Size slider IN THE FILTER SLOT (matching price filter) === */

/* Hide legacy select when the slider feature is enabled */
#locatie-filter-form[data-enable-group-slider="1"] #locatie-groep-select {
  display: none !important;
}

/* The slider wrapper uses the same visual style as the price filter */
#group-size-slider.price-filter-container {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px;
  padding: 15px;
  background: #f8f9fa;
  border: 1px solid #e5347b;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  color: #333;
  width: 100%;
  box-shadow: 0 2px 4px rgba(0,0,0,.1);
}

/* Content column inside the slider (same structure as price slider) */
#group-size-slider .slider-container {
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
}

/* Label row: min (left) — centered value — max (right) */
#group-size-slider .price-labels-with-value {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center; /* hard center the middle value */
  width: 100%;
  font-size: 12px;
  color: #666;
}

#group-size-slider .price-labels-with-value .price-min {
  position: absolute;
  left: 0;
  font-weight: 500;
}
#group-size-slider .price-labels-with-value .price-max {
  position: absolute;
  right: 0;
  font-weight: 500;
}

/* Middle value — highlight like the price slider */
#group-size-badge {
  margin: 0 auto;
  color: #e5347b;
  font-weight: 700;
  font-size: 14px;
}

/* Slider track/thumb (identical to price slider) */
#group-size-input {
  width: 100%;
  height: 6px;
  border-radius: 3px;
  background: #ddd;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
  cursor: pointer;
}
#group-size-input::-webkit-slider-track {
  width: 100%; height: 6px; border-radius: 3px; background: #ddd; border: none;
}
#group-size-input::-webkit-slider-thumb {
  -webkit-appearance: none; appearance: none;
  width: 20px; height: 20px; border-radius: 50%;
  background: #e5347b; cursor: pointer; border: 2px solid #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,.2); margin-top: -7px;
}
#group-size-input::-moz-range-track {
  width: 100%; height: 6px; border-radius: 3px; background: #ddd; border: none;
}
#group-size-input::-moz-range-thumb {
  width: 20px; height: 20px; border-radius: 50%;
  background: #e5347b; cursor: pointer; border: 2px solid #fff;
  box-shadow: 0 2px 4px rgba(0,0,0,.2);
}

/* Only hide by our slider; don't override other filters */
.ds-hidden-by-group { display: none !important; }

/* Mobile: keep same comfortable touch targets already defined above;
   no extra mobile overrides needed here */

   /* === Normalize group + price slider metrics (track height, thumb size, offset) === */
#group-size-input,
#locatie-price-slider { height: 6px !important; }

/* WebKit/Blink (Chrome, Safari, Edge) */
#group-size-input::-webkit-slider-track,
#locatie-price-slider::-webkit-slider-track { height: 6px !important; }
#group-size-input::-webkit-slider-thumb,
#locatie-price-slider::-webkit-slider-thumb {
  width: 20px !important;
  height: 20px !important;
  margin-top: -7px !important; /* aligns thumb center to 6px track */
}

/* Firefox */
#group-size-input::-moz-range-track,
#locatie-price-slider::-moz-range-track { height: 6px !important; }
#group-size-input::-moz-range-thumb,
#locatie-price-slider::-moz-range-
