.hero-visual{position:relative;width:calc(100% + 48px);margin:43px -24px 0}
.hero-visual .hero-image{width:100%;margin:0;height:clamp(192px,22.8vw,330px);object-position:center center}
.mls-search-panel{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:calc(100% - 48px);max-width:1120px;z-index:12;background:rgb(255 255 255 / 15%);color:var(--ink);padding:16px;border-radius:20px;box-shadow:0 12px 40px #0002;text-align:left}
.mls-search-heading{position:absolute;bottom:calc(100% + 14px);left:16px;right:16px;color:#fff;text-shadow:0 2px 8px #0009}
.mls-search-heading h2{font-size:28px;line-height:1.15;letter-spacing:-1px;margin:0}
#xp-search-container{position:relative;font-size:16px}
#xp-search-container .xp-search-list{display:grid;grid-template-columns:1fr 1.4fr 1.1fr repeat(3,.7fr) 1.2fr;list-style:none;padding:0;margin:0;gap:8px}
#xp-search-container .xp-search-list>li{list-style:none;min-width:0;border:1px solid #d8d8dd;border-radius:10px;background:#fff}
#xp-search-container .xp-search-list>li>a{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:44px;padding:10px 26px 10px 12px;font-size:14px;font-weight:600;color:#1d1d1f;line-height:1.4;white-space:nowrap}
#xp-search-container .xp-search-list>li:not(.xp-search-button)>a:after{content:'⌄';position:absolute;right:10px;top:50%;transform:translateY(-50%);font-size:18px}
#xp-search-container .xp-search-list>li.active{border-color:var(--blue)}
#xp-search-container .xp-search-list>.xp-search-button{background:var(--red);border-color:var(--red)}
#xp-search-container .xp-search-list>.xp-search-button>a{padding:12px;color:#fff;align-items:center;white-space:nowrap}
#xp-search-container .xp-search-list>.xp-search-button:hover{background:var(--red-hover)}
#xp-search-container .dropdown-container{display:none;position:absolute;z-index:2;background:#fff;padding:18px;border:1px solid #d8d8dd;border-radius:12px;box-shadow:0 10px 30px #0002;max-width:100%;max-height:min(420px,55vh);overflow:auto;margin-top:8px}
#xp-search-container .dropdown-container.active{display:block}
#xp-search-container .dropdown-item{display:none;gap:16px}
#xp-search-container .dropdown-item.active{display:flex}
#xp-search-container .dropdown-column{min-width:120px;flex:1}
#xp-search-container .dropdown-column.wide{min-width:155px}
#xp-search-container h2{font-size:16px;letter-spacing:normal;text-transform:none;line-height:1.4;margin:0 0 10px;font-weight:600}
#xp-search-container .options{margin:0;padding:0;list-style:none;min-width:100px;flex:1}
#xp-search-container .options.long{max-height:280px;overflow:auto}
#xp-search-container .options li{padding:10px 12px;min-height:42px;line-height:1.4;font-size:14px;cursor:pointer;border-radius:6px;white-space:nowrap}
#xp-search-container .options li:hover{background:#eef3fb}
#xp-search-container .options li.selected{background:#003da5;color:#fff}
#xp-search-container a:focus-visible,#xp-search-container li:focus-visible{outline:3px solid var(--blue);outline-offset:2px}
#xp-search-container.mls-pending .xp-search-list{display:flex;justify-content:flex-end}
#xp-search-container.mls-pending .xp-search-list>li:not(.xp-search-button){display:none}
.mls-search-status{font-size:14px;margin:12px 0 0;color:var(--muted)}.mls-search-status:empty{display:none}
@media(max-width:1000px){.hero-visual .hero-image{min-height:216px}#xp-search-container .xp-search-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:701px) and (max-width:1000px){#xp-search-container .xp-search-button{grid-column:span 2}.mls-search-heading{color:var(--ink);text-shadow:none}}
@media(max-width:700px){.hero-visual{width:100%;margin:12px 0 0}.hero-visual .hero-image{height:184px}.mls-search-panel{position:relative;top:auto;left:auto;transform:none;width:100%;padding:12px}.mls-search-heading{position:static;margin-bottom:12px;color:var(--ink);text-shadow:none}.mls-search-heading h2{font-size:26px}#xp-search-container .xp-search-list{grid-template-columns:repeat(2,minmax(0,1fr))}#xp-search-container .dropdown-container{left:0!important;right:0;max-height:260px;padding:12px}#xp-search-container .dropdown-column,#xp-search-container .dropdown-column.wide{min-width:0}#xp-search-container .dropdown-item.active{gap:8px}#xp-search-container .options li{white-space:normal;padding:10px 8px}#xp-search-container .options.long{max-height:210px}}

#xp-search-container .mls-number-field{padding:10px 12px;display:flex;flex-direction:column;justify-content:center;min-height:44px}
#xp-search-container .visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
#xp-search-container .mls-number-field input{width:100%;min-width:0;border:0;padding:0;background:transparent;font:inherit;font-size:14px;line-height:1.4;color:var(--ink)}
#xp-search-container .mls-number-field:focus-within{outline:3px solid var(--blue);outline-offset:2px}
#xp-search-container .mls-number-field input:focus{outline:0}

#xp-search-container .mls-number-field input::placeholder{color:var(--ink);font-weight:600;opacity:1}
#xp-search-container .xp-search-list>li:not(.xp-search-button)>a{display:block;overflow:hidden;text-overflow:ellipsis}

/* Content-sized desktop controls share one row, including Advanced options. */
.mls-search-panel{max-width:1200px;width:max-content;max-width:min(1200px,calc(100% - 48px))}
#xp-search-container .xp-search-list{display:flex;gap:8px;align-items:stretch;flex-wrap:wrap}
#xp-search-container .xp-search-list>li{flex:0 0 auto;width:var(--field-width,auto)}
#xp-search-container .xp-search-list>li>a{min-height:44px;box-sizing:border-box;white-space:nowrap}
#xp-search-container .xp-search-list>.xp-search-button>a{padding:12px 16px}
.mls-width-measure{position:absolute;visibility:hidden;white-space:nowrap;pointer-events:none}
.mls-advanced{font-size:14px;color:var(--ink)}
.mls-advanced summary{display:flex;align-items:center;gap:7px;list-style:none;cursor:pointer;min-height:44px;padding:10px 12px;font-weight:600;line-height:1.4;white-space:nowrap;box-sizing:border-box}
.mls-advanced summary::-webkit-details-marker{display:none}
.mls-advanced summary:after{content:'⌄';font-size:18px;line-height:1;transition:transform .18s}
.mls-advanced[open] summary:after{transform:rotate(180deg)}
.advanced-count{border-radius:50%;background:#003da5;color:white;font-size:12px;min-width:18px;height:18px;text-align:center;line-height:18px}
.advanced-count[hidden]{display:none}
.mls-advanced-panel{position:absolute;top:calc(100% + 8px);right:0;width:440px;max-width:100%;max-height:min(520px,65vh);overflow:auto;z-index:3;padding:20px;background:#fff;border:1px solid #d8d8dd;border-radius:12px;box-shadow:0 12px 36px #0003;animation:advanced-reveal .18s ease-out}
@keyframes advanced-reveal{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.mls-advanced-panel fieldset{padding:0;margin:0 0 18px;border:0;min-width:0}
.mls-advanced-panel legend{font-size:16px;font-weight:600;margin-bottom:10px;padding:0}
.mls-advanced-panel legend span{font-size:14px;color:#64646b;font-weight:400}
#xp-search-container .mls-number-field input{width:100%;padding:10px 12px;border:1px solid #c9cdd4;border-radius:8px;background:#fff;color:#1d1d1f;font:inherit;font-size:16px;min-height:44px;box-sizing:border-box}
#xp-search-container .mls-number-field{padding:0;gap:6px}
#xp-search-container .mls-number-field label{font-size:14px;font-weight:600}
#xp-search-container .mls-number-field:focus-within{outline:0}
#xp-search-container .mls-number-field input::placeholder{color:#74747a;font-weight:400}
.mls-advanced-hint{font-size:14px;line-height:1.45;margin:8px 0 16px;color:#64646b}
.advanced-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;border-top:1px solid #e7e7eb;padding-top:14px}
.advanced-actions button{font:inherit;font-weight:600;cursor:pointer;min-height:44px;border:0;border-radius:8px;padding:10px 14px}
.advanced-clear{color:#003da5;background:transparent}.advanced-done{color:#fff;background:#1d1d1f}
#xp-search-container :is(summary,select,input,button):focus-visible{outline:3px solid var(--blue);outline-offset:2px}
#xp-search-container [aria-invalid=true]{border-color:#b91432}
.mls-search-status:not(:empty){background:#fff;padding:10px 12px;border-radius:8px;color:#a4132d;max-width:100%}
@media(min-width:701px) and (max-width:1100px){
 .mls-search-panel{width:calc(100% - 24px);max-width:calc(100% - 24px)}
 #xp-search-container .xp-search-list{flex-wrap:wrap}
}
@media(max-width:700px){
 .mls-search-panel{width:100%;max-width:100%}
 #xp-search-container .xp-search-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
 #xp-search-container .xp-search-list>li{width:auto}
 #xp-search-container .xp-search-list>li:first-child{grid-column:1/-1}
 #xp-search-container .xp-search-list>li:first-child>a{white-space:normal;text-overflow:clip;overflow:visible}
 #xp-search-container .xp-search-list>.xp-search-button{grid-column:auto}
 .mls-advanced summary{padding:10px 8px;justify-content:center;font-size:13px;gap:4px}
 .mls-advanced-panel{position:absolute;width:100%;padding:16px;max-height:65vh}
}
@media(prefers-reduced-motion:reduce){.mls-advanced-panel{animation:none}.mls-advanced summary:after{transition:none}}
.hero .mls-advanced-hint{font-size:14px;line-height:1.45;margin:8px 0 16px;color:#64646b}

/* Compact two-handle ranges keep the advanced panel short. */
.mls-advanced-panel .size-slider{margin-bottom:14px}
.mls-advanced-panel .size-slider legend{margin-bottom:0}
.size-slider-track{position:relative;height:36px;isolation:isolate}
.size-slider-rail{position:absolute;left:12px;right:12px;top:16px;height:4px;background:#e2e2e7;border-radius:4px;pointer-events:none}
.size-slider-fill{position:absolute;left:var(--range-start,0%);right:calc(100% - var(--range-end,100%));height:100%;border-radius:4px;background:var(--red)}
#xp-search-container .size-slider-track input[type=range]{position:absolute;inset:0;width:100%;height:36px;margin:0;padding:0;border:0;border-radius:0;background:transparent;appearance:none;-webkit-appearance:none;pointer-events:none;outline:0;box-shadow:none}
.size-slider-track input::-webkit-slider-runnable-track{height:4px;background:transparent}
.size-slider-track input::-moz-range-track{height:4px;background:transparent}
.size-slider-track input::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:24px;height:24px;margin-top:-10px;border:2px solid var(--red);border-radius:50%;background:white;box-shadow:0 1px 4px #0002;pointer-events:auto;cursor:grab;touch-action:pan-y}
.size-slider-track input::-moz-range-thumb{width:20px;height:20px;border:2px solid var(--red);border-radius:50%;background:white;box-shadow:0 1px 4px #0002;pointer-events:auto;cursor:grab;touch-action:pan-y}
.size-slider-track input:active::-webkit-slider-thumb{cursor:grabbing}
.size-slider-track input:active::-moz-range-thumb{cursor:grabbing}
.size-slider-track input:focus-visible::-webkit-slider-thumb{outline:3px solid var(--blue);outline-offset:3px}
.size-slider-track input:focus-visible::-moz-range-thumb{outline:3px solid var(--blue);outline-offset:3px}
.size-slider-values{display:flex;justify-content:space-between;gap:12px;font-size:14px;line-height:20px;color:#64646b;font-variant-numeric:tabular-nums}

/* Size controls to their longest display label with tighter, balanced padding. */
#xp-search-container .xp-search-list{gap:6px}
#xp-search-container .xp-search-list>li>a{padding-left:10px;padding-right:24px}
#xp-search-container .xp-search-list>li:not(.xp-search-button)>a:after{right:8px}
#xp-search-container .xp-search-list>.xp-search-button>a{padding-left:12px;padding-right:12px}
.mls-advanced summary{padding-left:10px;padding-right:10px;gap:5px}

/* Fit the longest label, with compact padding and wrapping on narrow screens. */
.mls-search-panel{padding:7px;border-radius:14px;width:max-content;max-width:calc(100% - 24px)}
#xp-search-container .xp-search-list{gap:4px}
#xp-search-container .xp-search-list>li{max-width:190px}
#xp-search-container .xp-search-list>li>a{font-size:13px;min-height:42px;padding:10px 20px 10px 8px;line-height:1.25;white-space:normal!important;text-overflow:clip!important;overflow:visible!important;overflow-wrap:break-word}
#xp-search-container .xp-search-list>li:not(.xp-search-button)>a:after{right:6px;font-size:16px}
#xp-search-container .xp-search-list>.xp-search-button>a{padding:10px}
.mls-advanced summary{min-height:42px;padding:10px 8px;font-size:13px;gap:3px}
#xp-search-container .options li{white-space:normal;overflow-wrap:break-word}
@media(max-width:700px){.mls-search-panel{width:100%;max-width:100%;padding:10px}#xp-search-container .xp-search-list{display:flex;flex-wrap:wrap}#xp-search-container .xp-search-list>li{width:var(--field-width,auto);max-width:100%}.mls-search-heading{margin-bottom:10px}}

/* Align all three mobile search rows to the same responsive width. */
@media(max-width:700px){
 #xp-search-container:not(.mls-pending) .xp-search-list{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:100%;gap:6px}
 #xp-search-container .xp-search-list>li{width:auto;min-width:0;grid-column:span 2}
 #xp-search-container .xp-search-list>li:first-child,
 #xp-search-container .xp-search-list>li:nth-child(2),
 #xp-search-container .xp-search-list>.mls-advanced-item,
 #xp-search-container .xp-search-list>.xp-search-button{grid-column:span 3}
 #xp-search-container .xp-search-list>li:first-child>a{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 #xp-search-container .xp-search-list>.xp-search-button>a{white-space:normal;text-align:center;overflow-wrap:break-word;height:100%}
 #xp-search-container .mls-advanced summary{height:100%;white-space:normal}
}
