.budget-filter { border:0; padding:0; margin:0; min-width:0; --budget-low:0%; --budget-high:100%; }
.budget-filter legend { padding:0; margin-bottom:12px; font-size:14px; }
.budget-filter__fields { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:8px; align-items:center; }
.budget-filter__amount { position:relative; min-width:0; }
.budget-filter__amount .field__input { width:100%; min-width:0; padding:12px 23px 12px 9px; font-size:13px; appearance:textfield; }
.budget-filter__amount input::-webkit-inner-spin-button { appearance:none; }
.budget-filter__currency { position:absolute; right:8px; top:50%; transform:translateY(-50%); color:#aaa; font-size:12px; pointer-events:none; }
.budget-filter__slider { height:30px; position:relative; margin:8px 10px 0; }
.budget-filter__slider::before { content:""; position:absolute; left:0; right:0; top:13px; height:4px; border-radius:4px; background:linear-gradient(to right,#555 0 var(--budget-low),#e20935 var(--budget-low) var(--budget-high),#555 var(--budget-high) 100%); }
.budget-filter__slider input { position:absolute; left:0; top:0; width:100%; height:30px; padding:0; margin:0; appearance:none; background:transparent; pointer-events:none; border:0; }
.budget-filter__slider input::-webkit-slider-thumb { appearance:none; width:20px; height:20px; border:4px solid #e20935; border-radius:50%; background:#fff; pointer-events:auto; cursor:grab; }
.budget-filter__slider input::-moz-range-thumb { width:12px; height:12px; border:4px solid #e20935; border-radius:50%; background:#fff; pointer-events:auto; cursor:grab; }
.budget-filter__slider input:focus-visible { outline:none; }
.budget-filter__slider input:focus-visible::-webkit-slider-thumb { box-shadow:0 0 0 3px #c89d5a; }
.budget-filter__limits { display:flex; justify-content:space-between; gap:8px; font-size:11px; color:#aaa; }
#filter-model:disabled { opacity:.55; }

#selection-form .selection__fields { grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start; }
#selection-form .selection__fields > .button { align-self:center; width:100%; margin-top:28px; }
#selection-form .field, #selection-form .select-control { min-width:0; }
#selection-form .field__input, #selection-form .select-control { width:100%; }
@media(max-width:1100px) { #selection-form .selection__fields { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:600px) { #selection-form .selection__fields { grid-template-columns:minmax(0,1fr); } #selection-form .selection__fields > .button { margin-top:0; } }
