/* Search essentials stay together; the outcome stays in view. */
#filters-dialog{width:min(680px,calc(100vw - 32px));padding:0;overflow:hidden;border-radius:24px;max-height:calc(100dvh - 40px)}
#filters-dialog[open]{display:flex;flex-direction:column}
#filters-dialog .search-dialog-top{padding:26px 30px 20px;margin:0;align-items:flex-start;flex:none;border-bottom:1px solid #e8ebf1}
#filters-dialog .filter-eyebrow{font-size:9px;font-weight:750;letter-spacing:1.7px;color:#69778d;margin-bottom:10px}
#filters-dialog h2{font-size:28px;line-height:1.15;letter-spacing:-.9px}
#filters-dialog .filter-intro{font-size:12px;line-height:1.6;color:#717b8c;margin-top:10px;max-width:460px}
#filters-dialog .search-dialog-top .round-button{display:grid;place-items:center;width:44px;height:44px;min-width:44px;padding:0;color:#25355d;background:#f4f6f9;border-color:transparent;line-height:0}
#filters-dialog .round-button .icon{display:block;width:18px;height:18px}
#filters-form{display:flex;flex-direction:column;overflow:hidden;min-height:0}
.filter-scroll{overflow:auto;padding:24px 30px 8px;overscroll-behavior:contain;scrollbar-width:thin;min-height:0}
#filters-dialog fieldset{margin:0;padding:0 0 24px;border:0}
#filters-dialog fieldset+fieldset{border-top:1px solid #e9edf3;padding-top:23px}
#filters-dialog legend{float:left;width:100%;display:flex;align-items:center;gap:9px;margin:0 0 18px;font-size:15px;letter-spacing:-.2px}
#filters-dialog legend+.filter-pair,#filters-dialog legend+.price-currency-field,#filters-dialog legend+label{clear:both}
#filters-dialog legend>.icon{width:20px;height:20px;color:#5c6f91;stroke-width:1.6}
#filters-dialog legend small{margin-left:auto;font-size:10px;letter-spacing:.2px;color:#758095}
#filters-dialog label{font-size:11px;color:#5f6b7e;line-height:1.5}
#filters-dialog input:not([type=checkbox]),#filters-dialog select{border:1px solid #dce1eb;border-radius:11px;background:#f6f7fa;min-height:48px;font-size:14px;color:#1c2d52;line-height:1.3;padding:12px 13px;margin-top:7px}
#filters-dialog select{padding-right:30px}
#filters-dialog input:disabled{opacity:.55;cursor:not-allowed}
#filters-dialog input[aria-invalid=true]{border-color:#ba4545;background:#fff7f7}
#filters-dialog .filter-pair{gap:14px}
#filters-dialog .filter-space-fields{display:grid;grid-template-columns:1fr 1fr;gap:17px 14px;clear:both}
#filters-dialog .filter-space-fields>label:last-child{grid-column:1/-1}
#filters-dialog .filter-space-fields small{display:block;font-size:9px;font-weight:400;color:#8490a1;margin-top:5px}
#filters-dialog .filter-currency-help{font-size:10px;line-height:1.6;color:#778296;margin:10px 0 16px}
.budget-presets{display:flex;flex-wrap:wrap;gap:7px;margin-top:13px}
.budget-presets button{border:1px solid #dce2ec;border-radius:30px;background:#fff;color:#4b5c78;padding:9px 12px;min-height:40px;font-size:10px;font-weight:650}
.budget-presets button:hover{background:#eef2f8}
.budget-presets button[aria-pressed=true]{background:#e9edf8;border-color:#919fc5;color:var(--navy)}
#filter-context{display:flex;align-items:flex-start;gap:8px;padding:12px 13px;margin-bottom:22px;background:#eef2f8;border-radius:10px;color:#5f708e;font-size:11px;line-height:1.5}
#filter-context>.icon{flex:none;width:16px;height:16px}
#filter-context span{overflow-wrap:anywhere}
#filters-dialog .filter-collections>label{min-height:48px;padding:12px 14px;border:1px solid #e2e6ee;border-radius:11px;margin-top:8px;font-size:12px}
#filters-dialog .filter-collections>label:has(input:checked){background:#f0f3fb;border-color:#a5b1d0}
#filters-dialog .filter-collections input{width:19px;height:19px;flex:none;margin:0 2px 0 0}
#filters-dialog .search-dialog-bottom{flex:none;display:grid;grid-template-columns:1fr auto;gap:15px 20px;padding:18px 30px 22px;margin:0;border-top:1px solid #e3e8f1;background:#fff;box-shadow:0 -8px 22px #1d2a4c05}
#filter-preview{grid-column:1/-1;display:flex;align-items:center;gap:12px;min-width:0}
#filter-preview>.icon{width:21px;height:21px;color:#4f668c;flex:none}
#filter-preview strong{display:block;color:#1f3157;font-size:14px;font-weight:750;line-height:1.4}
#filter-preview small{display:block;color:#7b8698;font-size:10px;line-height:1.5;margin-top:3px}
#filter-preview.is-empty>.icon{color:#8b7050}
#filters-dialog #filters-error{font-size:11px;margin:0;color:#a33333;grid-column:1/-1}
#filters-dialog #filters-error:empty{display:none}
#filters-dialog #clear-more-filters{justify-self:start;text-decoration:none;font-size:11px;color:#637491;gap:8px}
#clear-more-filters .icon{width:15px;height:15px}
#filters-dialog #apply-filters{min-height:48px;padding:13px 20px;font-size:12px;gap:10px}
#filter-submit-count{display:grid;place-items:center;min-width:24px;min-height:24px;padding:3px 6px;border-radius:20px;background:#ffffff26;font-size:10px;line-height:1}
#apply-filters:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:560px){
 #filters-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);border-radius:20px}
 #filters-dialog .search-dialog-top{padding:21px 20px 17px;gap:12px}
 #filters-dialog h2{font-size:23px;letter-spacing:-.6px}
 #filters-dialog .filter-intro{font-size:11px;line-height:1.5}
 .filter-scroll{padding:20px 20px 4px}
 #filters-dialog input:not([type=checkbox]),#filters-dialog select{font-size:16px}
 #filters-dialog .search-dialog-bottom{padding:15px 20px max(18px,env(safe-area-inset-bottom));gap:12px}
 #filter-preview strong{font-size:13px}#filter-preview small{font-size:9px}
 #filters-dialog #apply-filters{font-size:11px;padding:12px 14px}
 #filters-dialog #clear-more-filters{font-size:10px;max-width:100px;text-align:left}
 .budget-presets button{min-height:44px;padding-inline:11px}
}
@media(max-width:360px){
 #filters-dialog .search-dialog-top,#filters-dialog .filter-scroll,#filters-dialog .search-dialog-bottom{padding-inline:15px}
 #filters-dialog h2{font-size:21px}
 #filters-dialog .filter-pair{gap:10px}
 #filters-dialog fieldset:first-of-type .filter-pair{grid-template-columns:1fr}
 #filters-dialog .search-dialog-bottom{grid-template-columns:minmax(0,1fr);gap:10px;padding-top:12px;padding-bottom:max(10px,env(safe-area-inset-bottom))}
 #filters-dialog #apply-filters{grid-row:2;width:100%;min-width:0;justify-content:center}
 #filters-dialog #clear-more-filters{grid-row:3;justify-self:center;max-width:none;min-height:30px;white-space:nowrap}
}
