/* Final layout refinements shared by the rental browse and detail views. */
.quicksearch:focus-within{outline:3px solid #bf6552;outline-offset:3px}
.card{display:flex;flex-direction:column;transition:box-shadow .18s ease,border-color .18s ease}
.cardbody{display:flex;flex-direction:column;flex:1}
.cardbottom{margin-top:auto;padding-top:18px}
.cardtitle{overflow-wrap:anywhere}.cardaddress{overflow-wrap:anywhere}
.cover{height:auto;aspect-ratio:4/3;flex-shrink:0}
.cover .photo-gallery{position:absolute;inset:0}
.photo-gallery>img{object-position:center}
.gallery-large>img{object-fit:contain;background:#edf1f3}
.gallery-large .gallery-thumbs{scrollbar-width:thin}
.cover-retouch{max-width:calc(100% - 110px);font-size:10px}
.gallery-count{max-width:100px}
.status{line-height:1.5;font-size:12px}.status.unavailable .pulse{background:#a86b26}
.detailbody h2{font-size:clamp(26px,3vw,34px);line-height:1.25}
.detailbody h3{line-height:1.4;overflow-wrap:anywhere}
.detailchips{margin:16px 0}.detailbuttons a{display:flex;align-items:center;justify-content:center;min-height:48px}
.filterbar{display:none}.filterbar.is-open{display:grid;position:fixed;z-index:90;background:white;box-shadow:0 16px 64px #18395126}
.sheethead{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;font-size:20px}
.sheethead button{display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:50%;background:#f0f5f5;color:var(--ink)}
.apply-filters{display:block;border:0;border-radius:9px;background:var(--blue);color:white;min-height:48px;font-weight:700}
.filters-open{overflow:hidden}.clear{border:1px solid var(--line);border-radius:9px;min-height:48px}
.new-filter:has(input:disabled){opacity:.55}
@media(min-width:761px){
 .filterbar.is-open{width:min(620px,calc(100vw - 48px));left:50%;top:50%;transform:translate(-50%,-50%);margin:0;border-radius:20px;padding:24px;grid-template-columns:1fr 1fr;gap:18px;max-height:85dvh;overflow:auto}
 .filterbar .searchfield,.filterbar .new-filter{grid-column:1/-1}
 .header .nav{gap:20px}.header .nav a{padding:12px 0}
}
@media(hover:hover){.card:hover{border-color:#bad2cf;box-shadow:0 8px 24px #163d360d}.cardbottom .view:hover{background:#243b53}}
@media(max-width:1000px) and (min-width:761px){.header{gap:10px;padding:0 18px}.header .nav{gap:12px;font-size:12px}.maintenance-link span{display:none}.wordmark{font-size:18px}}
@media(max-width:760px){
 .header{gap:7px}.header .brand{min-width:0}.wordmark{white-space:nowrap;font-size:17px}
 .header .menu{display:grid;place-items:center;background:white;border:1px solid var(--line);border-radius:9px;padding:0;width:44px;flex:0 0 44px}
 .header .nav.open{position:absolute;display:flex;flex-direction:column;top:100%;left:12px;right:12px;gap:0;padding:8px;background:white;border:1px solid var(--line);border-radius:0 0 14px 14px;box-shadow:0 12px 30px #18395120}
 .header .nav.open a{padding:14px 16px;font-size:15px;border-radius:8px;min-height:48px}
 .header .language-setting select{max-width:112px;font-size:12px;min-height:44px}
 .maintenance-link{min-width:44px;min-height:44px}.maintenance-link span{display:none}.maintenance-link svg{width:18px;height:18px}
 .matchright{justify-content:flex-end}.sortlabel select{max-width:190px;font-size:14px}.cards{gap:20px}
 .gallery-large{height:330px;padding-bottom:64px}.gallery-large>img{height:266px}.gallery-large>button{top:133px}
 .filterbar.is-open{gap:16px}.maptools{max-width:calc(100% - 72px)}
 .max-message{overflow-wrap:anywhere}
}
@media(max-width:360px){.wordmark{font-size:15px}.brandmark{width:30px!important}.header .language-setting select{max-width:100px}.header{padding-left:8px;padding-right:8px;gap:4px}}
@media(prefers-reduced-motion:reduce){.card{transition:none}}

/* Consistent outlined controls and calmer listing surfaces. */
.icon{width:20px;height:20px;display:inline-block;vertical-align:middle;flex-shrink:0;overflow:visible}
.heart.active{--heart-fill:currentColor}
.heart,.photo-gallery>button,.dialogclose,#maxClose,.expand-map{display:grid;place-items:center;padding:0;line-height:1;min-width:44px;min-height:44px;border:1px solid #dce5e7;box-shadow:0 2px 8px #142d4512;color:#274550;background:#fff}
.photo-gallery>button .icon{width:20px;height:20px}.photo-gallery>button{border-radius:50%;width:44px;height:44px}
.heart{z-index:3}.pill{max-width:calc(100% - 76px);line-height:1.3;padding:7px 10px}
.specs{gap:10px 16px;align-items:center;line-height:1.4}.specs>span{gap:6px}.specs .icon{color:#587177;width:18px;height:18px}
.cardbody{padding:18px}.cardtitle{font-size:15px;line-height:1.5}.cardaddress{line-height:1.6}
.cardprice{line-height:1.2}.cardprice>span{margin-left:3px;font-size:12px}
.cardbottom{gap:10px}.cardbottom>a,.cardbottom .view{border-radius:10px}
.mobile-nav button{gap:5px}.mobile-nav button[aria-current=page]{background:#edf5f5;color:#243b53}.mobile-nav .icon{width:22px;height:22px}
.maptools button,.map-style button{font-weight:600}.map-style button[aria-pressed=true]{background:#243b53}
.filter-toggle .icon{width:19px;height:19px}.quick-beds button[aria-pressed=true]{background:#edf5f5;border-color:#9fc5c3;color:#00676d}
#maxPanel #maxClose{font-size:16px;border-radius:50%;flex-shrink:0}
.max-home{min-width:0;text-align:left}.max-home>span{min-width:0;overflow-wrap:anywhere}
.max-tools summary{list-style-position:inside}.max-settings summary{gap:8px}
.resource-links{gap:4px 24px}.resource-links a{min-height:40px;display:flex;align-items:center}
@media(max-width:760px){.cardbody{padding:16px}.specs{font-size:13px}.cardtitle{font-size:16px}.maptools{gap:8px}.mobile-nav{box-shadow:0 -3px 18px #18395108}}

.card[data-home]{cursor:pointer;touch-action:pan-y}.card button,.price-marker{touch-action:manipulation}

/* Map controls occupy their own space instead of covering pins and listing counts. */
.map-control-dock{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 16px;background:#fff;border-top:1px solid var(--line);flex-shrink:0;position:relative;z-index:6}
.map-control-dock .maptools,.map-control-dock .map-style{position:static;inset:auto;transform:none;margin:0;max-width:none;box-shadow:none;border-radius:12px;flex-shrink:0}
.map-control-dock .maptools{padding:3px;gap:8px}.map-control-dock .map-style{padding:3px}
.map-control-dock .max-helper{position:relative;inset:auto;z-index:8;margin-left:auto;flex:0 0 64px}
.map-control-dock .max-launcher,.map-control-dock .max-launcher .max-sprite{width:64px;height:64px}
.map-control-dock .max-bubble{display:none!important}.map-control-dock .max-panel{bottom:76px}
.map-control-dock #mapNote:not(:empty){bottom:100%;max-width:260px;white-space:normal}
.map-is-expanded .map-control-dock .max-helper{display:block}
.leaflet-bottom.leaflet-right .leaflet-control-zoom{margin-bottom:30px}
.card-max{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:8px 10px;margin-top:16px;border:1px solid #d8e7e4;border-radius:12px;background:#f1f8f6;color:#195c5c;text-align:left;font-size:13px;font-weight:600}
.card-max img{object-fit:contain;flex-shrink:0}.card-max span:last-child{margin-left:auto}.max-recommended{border-color:#243b53;box-shadow:0 0 0 2px #243b531a}
/* Keep Max and his summary together, directly below the property photos. */
#detail[open],#detail:not(.max-chatting)[open],#detail.max-chatting[open]{display:block;max-width:780px;width:calc(100% - 32px);height:auto;max-height:92dvh;overflow:auto;background:white;border-radius:18px;padding:0;overscroll-behavior:contain}
#detail #detailContent,#detail:not(.max-chatting) #detailContent,#detail.max-chatting #detailContent{max-height:none;overflow:visible;padding-bottom:0;box-shadow:none;border-radius:0}
#detail .dialogclose,#detail:not(.max-chatting) .dialogclose,#detail.max-chatting .dialogclose{position:sticky;top:10px;float:right;right:auto;margin:10px 12px -54px 0;z-index:20}
#detail #detailContent>.max-property{display:grid;grid-template-columns:84px minmax(0,1fr);align-items:start;gap:12px;position:relative;inset:auto;width:auto;margin:16px 20px 0;padding:14px;background:#eff7f5;border:1px solid #d6e7e2;border-radius:14px;pointer-events:auto}
#detail .max-property-toggle{position:static;align-self:start;margin:0;padding:0;width:84px}
#detail .max-property-toggle .max-sprite{width:84px;height:92px;flex-basis:84px;filter:none}
#detail .max-property-copy{width:auto;max-width:none;min-width:0;padding:0;border:0;background:none;box-shadow:none;border-radius:0}
#detail .max-property-copy:after{display:none}#detail .max-property-copy strong{font-size:14px}#detail .max-property-copy p{font-size:14px;line-height:1.5;margin:6px 0 8px}#detail .max-property-copy small{font-size:10px;display:block}#detail .max-property-copy .max-map-button{width:auto;min-height:40px;padding:8px 12px;font-size:12px;border:1px solid #c6dbd6;border-radius:8px;background:white!important}
#detail #detailContent>.max-property.chatting{display:block;padding:0;margin:0;border:0}
#detail #maxPanel{position:fixed;inset:4dvh auto auto 50%;transform:translateX(-50%);width:min(620px,96vw);height:92dvh;max-height:92dvh;z-index:30;background:white}
#detail.max-chatting>.dialogclose{visibility:hidden}
/* The selected suggestion stays out of clusters; Max is anchored above its price. */
.price-marker.max-map-pick{overflow:visible!important}.price-marker>.max-map-companion{position:absolute;bottom:38px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:0;width:90px;min-width:0;height:auto;padding:0;border:0;background:transparent!important;box-shadow:none;pointer-events:none}
.price-marker>.max-map-companion:after{display:none}.max-map-companion>.max-sprite{width:78px;height:78px;padding:0;border:0;box-shadow:none;border-radius:0;background-color:transparent}
.max-map-companion>small{display:block;padding:3px 7px;background:white;border:1px solid #c4dcd5;border-radius:6px;color:#243b53;font-size:10px;line-height:14px;font-weight:700}
.price-marker.max-map-pick>span:last-child{border:2px solid #243b53;color:#243b53;background:white}.max-home-result>.max-map-button{border:0;border-top:1px solid #d8e4e1;border-radius:0;min-height:44px;margin-top:0!important;font-size:13px}
@media(max-width:760px){
 .map-control-dock{display:grid;grid-template-columns:minmax(0,1fr) 60px;gap:5px 8px;padding:7px 10px}.map-control-dock .maptools{grid-column:1;grid-row:1;justify-content:flex-start;gap:8px;font-size:11px}.map-control-dock .map-style{grid-column:1;grid-row:2;justify-self:start;border:0;padding:0;gap:4px}.map-control-dock .map-style button{min-height:36px;padding:6px 12px}.map-control-dock .maptools button,.map-control-dock .maptools label{min-height:40px}.map-control-dock .max-helper{grid-column:2;grid-row:1/3;align-self:center;margin:0}.map-control-dock .max-launcher,.map-control-dock .max-launcher .max-sprite{width:60px;height:66px}
 .matches{align-items:center}.matchright{min-width:0}.rentals{padding-top:16px}.status{margin-bottom:10px}
 #detail[open],#detail:not(.max-chatting)[open],#detail.max-chatting[open]{width:100%;max-width:none;height:100dvh;max-height:100dvh;margin:0;border-radius:0;padding-bottom:env(safe-area-inset-bottom)}
 #detail #detailContent>.max-property{grid-template-columns:64px minmax(0,1fr);margin:12px 12px 0;gap:10px;padding:12px}#detail .max-property-toggle{width:64px}#detail .max-property-toggle .max-sprite{width:64px;height:76px;flex-basis:64px}#detail .detailbody{padding:20px 16px}#detail .detailbody h3{margin:12px 0;font-size:19px;line-height:1.35}#detail .detailbody p{font-size:14px;margin:12px 0}
 #detail #maxPanel{left:0;right:0;top:var(--max-viewport-top,0px);transform:none;width:100%;height:var(--max-viewport-height,100dvh);max-height:none;border-radius:0}
}

.maptop:has(.max-helper.is-open){z-index:80}

/* Max's home is the screen corner; map visits are reserved for recommendations. */
@media(max-width:760px){.map-control-dock{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px;padding:8px 10px}.map-control-dock .map-style{margin-left:auto}}

#detail .max-property-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}#detail .max-property-actions button{flex:1 1 130px;width:auto;min-height:44px;margin:0!important;padding:10px 12px;border-radius:9px;font-size:14px;font-weight:700;line-height:1.35}#detail .max-property-actions .max-chat-button{background:#243b53;color:white;border:1px solid #243b53}#detail .max-property-actions .max-chat-button:focus-visible{outline:3px solid #e4ad41;outline-offset:2px}
/* One bounded chat scroll area; the composer never shares its overflow. */
:is(#maxPanel,#detail #maxPanel) .max-conversation{display:flex!important;flex:1 1 0!important;min-height:0!important;overflow:hidden!important}
:is(#maxPanel,#detail #maxPanel) .max-conversation>.max-chat{height:auto!important;flex:1 1 0;min-height:0!important;max-height:none!important;overflow-y:auto;scroll-behavior:auto;overflow-anchor:none;overscroll-behavior:contain}
:is(#maxPanel,#detail #maxPanel) form{position:relative;z-index:2;flex-shrink:0;border-top:2px solid #243b53;background:white}
:is(#maxPanel,#detail #maxPanel) textarea{font-size:16px!important;scroll-behavior:auto}
.max-home-context{flex:0 0 auto;display:flex;flex-wrap:wrap;gap:6px;padding:10px 14px;border-bottom:1px solid #243b53;background:white}.max-home-context strong{flex:1 0 100%;font-size:12px;line-height:1.4;color:#243b53}.max-home-context button{min-height:36px;padding:6px 12px;border:0;border-radius:7px;background:#243b53;color:white;font-size:12px;font-weight:600}.max-home-context button:last-child{background:#286fa9}
:is(#maxPanel,#detail #maxPanel) .max-home{flex-direction:row!important;align-items:center;gap:10px;padding:10px}.max-home .max-view-label{color:#243b53!important;font-weight:700;margin-top:8px!important}
:is(#maxPanel,#detail #maxPanel) .max-home>img{width:80px!important;height:86px!important;object-fit:cover;flex-shrink:0}:is(#maxPanel,#detail #maxPanel) .max-home strong{font-size:15px}:is(#maxPanel,#detail #maxPanel) .max-home small{font-size:12px}
@media(max-width:760px){body.max-chat-open{overscroll-behavior:none}#detail.max-chatting{overflow:hidden!important}:is(#maxPanel,#detail #maxPanel){box-sizing:border-box;padding-bottom:0!important;transition:none!important}:is(#maxPanel,#detail #maxPanel) .max-conversation{contain:layout paint}:is(#maxPanel,#detail #maxPanel) form{padding:8px 10px calc(8px + env(safe-area-inset-bottom))}:is(#maxPanel,#detail #maxPanel) textarea{min-height:48px;height:48px;max-height:96px}.max-keyboard-open :is(#maxPanel,#detail #maxPanel) form{padding-bottom:8px}.max-keyboard-open .max-home-context{padding:6px 10px;gap:4px}.max-keyboard-open .max-home-context strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}}

/* Max palette: ocean teal, deep navy, restrained chimney-coral accents. */
:root{--blue:#243b53;--ink:#20384b;--muted:#6b7d87;--line:#e3e9ec;--surface:#fff;--ocean:#243b53;--navy:#20384b;--coral:#b94e3c}
body,.header,.rentals,.map-toolbar,.map-control-dock,.compactfooter,.mobile-nav,.filterbar,.card,.detailbody{background:#fff;color:var(--ink)}
.header{border-bottom:1px solid var(--line)}.wordmark b{color:var(--ocean)}
.header .menu{background:var(--navy);color:#fff;border:0}.maintenance-link{background:var(--ocean);color:#fff;border:0}.header .language-setting select{background:#fff;color:var(--ink);border:1px solid var(--line)}
.map-toolbar{border-bottom:1px solid var(--line)}.map-toolbar .quicksearch{border:1px solid #d6e1e5;background:#fff;box-shadow:0 2px 8px #20384b08}.map-toolbar .quicksearch button{background:var(--ocean);color:#fff}.map-toolbar .filter-toggle{background:var(--navy);color:#fff;border:0}.filter-toggle .icon{color:#fff}
.quick-beds button{background:#fff;color:var(--ink);border:1px solid var(--line)}.quick-beds button[aria-pressed=true]{background:var(--ocean);border-color:var(--ocean);color:#fff}
.map-control-dock{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.map-control-dock .maptools,.map-control-dock .map-style{background:#fff;border:0;box-shadow:none}.map-control-dock .maptools button,.map-control-dock .map-style button[aria-pressed=true]{background:var(--ocean);color:#fff}.expand-map{background:var(--navy);color:#fff;border:0}
.matches{border-bottom:1px solid var(--line);padding-bottom:14px}.status{color:var(--muted)}.pulse{background:var(--ocean);box-shadow:none}
.card{border:1px solid #e6ecee;box-shadow:0 4px 18px #20384b09}.cardprice{color:var(--navy)}.cardbottom{border-top:1px solid var(--line);margin-top:16px}.cardbottom .view{background:var(--ocean);color:#fff;border:0}.cardbottom>a{background:var(--navy);color:#fff;border:0}
.specs>span,.specs>span:nth-child(2),.specs>span:nth-child(3){background:#fff;color:#526b79;border:0;padding:0;border-radius:0}.specs .icon,.specs>span:nth-child(2) .icon,.specs>span:nth-child(3) .icon{color:var(--ocean)}
.heart{color:var(--coral);background:#fff;border:0;box-shadow:0 2px 8px #20384b16}.heart.active{background:var(--coral);color:#fff}.pill{background:var(--navy);color:#fff;border:0}
.mobile-nav{background:#fff;border-top:1px solid var(--line)}.mobile-nav button .icon{color:var(--ocean)}.mobile-nav #navSaved .icon{color:var(--coral)}.mobile-nav button[aria-current=page]{background:var(--ocean);color:#fff}.mobile-nav button[aria-current=page] .icon{color:#fff}
.detailchips span,.detailchips span:nth-child(2),.detailchips span:nth-child(3),.detailchips span:nth-child(4){background:#fff;color:var(--ink);border:0;border-left:2px solid #d7e2e7;border-radius:0;padding:4px 10px}
#detail #detailContent>.max-property{background:#fff;border:1px solid var(--line);border-left:3px solid var(--ocean)}.detailbuttons{border-top:1px solid var(--line);padding-top:16px}.detailbuttons a{background:var(--ocean);color:#fff;border:0}.detailbuttons a+a{background:var(--navy);color:#fff;border:0}
#detail .max-property-actions .max-chat-button{background:var(--ocean);border:0;color:#fff}#detail .max-property-copy .max-map-button{background:var(--navy)!important;color:#fff!important;border:0}
.photo-gallery>button,.dialogclose{background:#fff;color:var(--navy);border:0;box-shadow:0 2px 12px #20384b1a}.compactfooter{border-top:1px solid var(--line)}.max-bubble{background:#fff;color:var(--ink);border:1px solid var(--line)}
.max-home-context{border-bottom:1px solid var(--line)}.max-home-context strong{color:var(--navy)}.max-home-context button{background:var(--ocean)}.max-home-context button:last-child{background:var(--navy)}:is(#maxPanel,#detail #maxPanel) form{border-top:1px solid var(--line)}.max-home-result{border-color:var(--line)}
.max-helper{bottom:12px}@media(max-width:760px){.max-helper{bottom:calc(64px + env(safe-area-inset-bottom))}.guide-page .max-helper{bottom:10px}}
/* The application action stays at the top of the property. */
#detail .detail-topbar{position:sticky;top:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;background:#fff;border-bottom:1px solid #e3e9ec}
#detail .detail-topbar #detailApply{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 24px;background:#b94e3c;color:#fff;border-radius:9px;font-weight:700;font-size:15px}
#detail .detail-topbar .dialogclose,#detail:not(.max-chatting) .detail-topbar .dialogclose,#detail.max-chatting .detail-topbar .dialogclose{position:static;float:none;margin:0;flex-shrink:0;visibility:visible}
#detail.max-chatting .detail-topbar{display:none}.max-home-context .max-apply-link{min-height:36px;padding:6px 12px;background:#b94e3c;color:white;border:0;border-radius:7px;font-size:12px;font-weight:700;width:auto;margin:0;display:flex;align-items:center}
