/* Shared controls and content. Mobile layout refinements are scoped below. */
.agent-search-row{display:flex;align-items:center;gap:10px}.agent-search-row .search{flex:1;min-width:0}.agent-login-shortcut{display:inline-flex!important;align-items:center;justify-content:center;gap:6px;min-height:46px;padding:8px 12px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-size:12px;white-space:nowrap}.agent-login-shortcut svg{width:20px;height:20px}.agent-search-examples{font-size:11px!important;color:var(--muted);margin:6px 0 16px!important;line-height:1.4}
.contact-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;border-bottom:1px solid var(--line);margin-bottom:22px}.contact-tabs button{min-height:52px;padding:10px 5px;font-size:13px;line-height:1.3;border-bottom:3px solid transparent}.contact-tabs button[aria-selected=true]{background:var(--surface);border-bottom-color:var(--navy);font-weight:600}.contact-tabs button:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.contact-page .formwrap>h1{margin:0}.contact-page .field{margin-bottom:17px}
.amenity-categories{display:grid;gap:20px;padding:16px 0}.amenity-categories h3{font-size:14px;font-weight:600;letter-spacing:0;margin:0 0 10px}.amenity-categories .amenities{margin:0;gap:8px 12px}.amenity-categories .amenities label{min-height:36px;line-height:1.3}.amenities-envelope>summary{display:flex;align-items:center;justify-content:space-between}.amenities-envelope>summary svg{width:16px;height:16px}.minimum-preference{border-bottom:1px solid var(--line);padding-bottom:14px}.preference-required{font-size:14px;font-weight:600;align-items:center;margin:0 0 10px}.preference-required input{width:18px;height:18px}.preference-caption{font-size:11px;display:block;margin-bottom:7px;color:var(--muted)}.preference-tabs{display:flex;gap:4px}.preference-tabs button{flex:1;min-width:0;min-height:44px;border:1px solid var(--line);border-radius:7px;font-size:12px;padding:7px 4px;background:var(--paper);display:flex;align-items:center;justify-content:center;gap:3px}.preference-tabs button svg{width:12px;height:12px;opacity:0}.preference-tabs button.accepted{background:var(--surface);border-color:#9baebd}.preference-tabs button.accepted svg{opacity:1}.preference-tabs button.active{background:var(--navy);border-color:var(--navy);color:var(--paper)}.preference-includes{font-size:11px;color:var(--muted);line-height:1.5;margin-top:8px}.outdoor-types{border:0;padding:0;margin:0}.outdoor-types legend{font-size:13px;font-weight:600;margin-bottom:7px}.outdoor-types>p{font-size:11px;margin:0 0 7px;color:var(--muted)}
.modal-panel.filter-panel{padding:24px;position:relative}.filter-panel>.modal-head{position:sticky;top:0;z-index:30;height:0;min-height:0;margin:0;overflow:visible;display:block}.filter-panel .close-modal{position:absolute;right:-9px;top:-12px;width:44px;height:44px;border-radius:50%;background:var(--navy);color:var(--paper);box-shadow:0 2px 8px #19324d25;display:flex;align-items:center;justify-content:center}.filter-panel .close-modal svg{width:20px;height:20px}.filter-panel>.multi-select:first-of-type>legend{padding-right:44px}.filter-panel .access-section{margin-top:18px}.floor-menu{width:100%;margin:10px 0 16px;position:relative}.floor-menu>summary{min-height:46px;padding:12px;display:flex;align-items:center;justify-content:space-between;border:1px solid var(--line);border-radius:7px;font-size:13px;background:var(--paper);list-style:none}.floor-menu .toolbar-menu{position:relative;inset:auto;box-shadow:none;border:0;padding:8px 0 0;display:grid;grid-template-columns:1fr 1fr;gap:5px}.floor-menu .multi-choice{font-size:12px;padding:7px;min-height:38px}.bedroom-menu{min-width:0;position:relative}.bedroom-menu>summary{min-height:46px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;list-style:none;border:1px solid var(--line);border-radius:7px;background:var(--paper);padding:12px;white-space:nowrap}.bedroom-menu>summary svg{width:15px;height:15px}.bedroom-menu .toolbar-menu{min-width:180px}.bedroom-menu .multi-choice{font-size:12px}
.experience-medal{display:inline-flex;position:relative;vertical-align:middle;flex:none}.trophy-badge{width:36px;height:38px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:50%;padding:2px;background:transparent;opacity:1}.trophy-badge svg{width:32px;height:34px;stroke:none;overflow:visible}.trophy-badge svg>path:first-child{fill:currentColor}.trophy-badge svg>path:nth-child(2){stroke:currentColor}.trophy-badge text{font-family:Arial,sans-serif;font-size:6px;font-weight:700;fill:#fff;stroke:none;letter-spacing:0}.trophy-bronze{color:#a86d3e;background:radial-gradient(circle at 35% 25%,#fff5e4,#e5c6a042 65%,transparent 66%)}.trophy-silver{color:#7a8c9e;background:radial-gradient(circle at 35% 25%,#fff,#b9c7d742 65%,transparent 66%)}.trophy-gold{color:#b8932e;background:radial-gradient(circle at 35% 25%,#fff9d8,#e8cc7942 65%,transparent 66%)}.experience-tooltip{position:absolute;right:0;top:100%;width:205px;z-index:40;padding:10px 12px;border-radius:7px;background:var(--navy);color:var(--paper);font-size:12px;line-height:1.5;box-shadow:0 3px 14px #19324d25}.agent-name-line{display:flex;align-items:center;gap:7px}.agent-name-line h1,.agent-name-line h3{min-width:0}
.agent-panel .agent-contact-row{display:flex;align-items:center;gap:4px;margin-top:6px}.agent-panel .agent-contact-row .contact-actions{flex:1;min-width:0;margin:0;gap:2px;display:flex;justify-content:space-around}.agent-panel .agent-contact-row .contact-actions>button,.agent-panel .agent-contact-row .contact-actions>a{flex:0 1 40px;width:40px;height:44px;min-height:44px;margin:0;padding:0}.agent-panel .agent-contact-row .inline-agent-tools{display:flex;flex:none;align-items:center;gap:1px;flex-wrap:nowrap;margin:0}.agent-panel .inline-agent-tools button{width:42px;min-height:44px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:9px;line-height:1.1;text-decoration:none}.agent-panel .inline-agent-tools svg{width:15px;height:15px}.agent-panel .inline-agent-tools span{max-width:42px;text-align:center}.agent-panel .contact-actions .profile-plus{display:none}
@media(max-width:760px), (max-width:1000px) and (max-height:500px) and (orientation:landscape){
 .contact-page .contact-tabs{margin:0 0 18px}.contact-tabs button{font-size:12px;padding:8px 4px}.agent-search-examples{font-size:10px!important}.agent-login-shortcut{padding:8px 9px;gap:5px}.agent-panel .agent-name-line h1{font-size:25px}.agent-panel .agent-name-line h3{font-size:17px}
 .simple-property .listing-card-bar{display:grid;grid-template-columns:minmax(88px,1fr) minmax(68px,.85fr) minmax(108px,1.3fr);gap:3px;margin-top:10px;background:var(--surface);border-radius:9px;padding:3px;align-items:stretch}.listing-card-bar>.card-bar-specs{display:flex;align-content:center;align-items:center;justify-content:center;gap:4px 8px;flex-wrap:wrap;min-height:44px;padding:3px}.card-bar-specs>span{display:inline-flex;align-items:center;gap:4px;font-size:12px;white-space:nowrap}.card-bar-specs b{font-weight:400}.card-bar-specs svg{width:16px;height:16px}.card-bar-specs .card-furnished{width:100%;justify-content:center;font-size:9px;line-height:1.1;color:var(--navy);font-weight:600}.simple-property .listing-card-bar>.card-details-link,.simple-property .listing-card-bar>.card-contact-toggle{display:flex;align-items:center;justify-content:center;gap:4px;padding:5px 3px;border:0;border-radius:7px;background:var(--navy);color:var(--paper);font-size:11px;line-height:1.2;min-height:44px;text-decoration:none;margin:0}.listing-card-bar>a svg,.listing-card-bar>button svg{width:13px;height:13px;stroke-width:1.8}.simple-property .listing-card-bar>a:active,.simple-property .listing-card-bar>button:active{background:var(--paper);color:var(--navy);outline:1px solid var(--navy)}
 body:not(:has(.home)) .page.listing-detail{padding-top:8px}.listing-detail .detail-top{margin-bottom:4px}.listing-detail .detail-top .back{font-size:11px;min-height:34px;margin:0}.listing-detail .listing-overview{gap:12px}.listing-detail .detail-actions{gap:20px;padding:3px 0;min-height:35px}.listing-detail .detail-actions button{font-size:11px;min-height:34px}.listing-detail .listing-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 10px;align-items:start;padding:0}.listing-detail .listing-summary>.eyebrow{grid-column:1;grid-row:1;margin:0;font-size:10px}.listing-detail .listing-summary>h1{grid-column:1;grid-row:2;font-size:21px;line-height:1.2;margin:0}.listing-detail .listing-address{grid-column:1;font-size:14px;line-height:1.4;margin:0}.listing-detail .location-note{grid-column:1;font-size:10px;margin:0}.listing-detail .summary-price{grid-column:2;grid-row:1/5;display:flex;flex-direction:column;gap:2px;align-items:flex-end;margin:0;padding:0}.listing-detail .summary-price strong{font-size:25px;line-height:1.15}.listing-detail .summary-price>span{font-size:9px}.listing-detail .summary-price .no-fee{font-size:9px;padding:3px 5px}.listing-detail .summary-price .no-fee svg{width:11px;height:11px}.listing-detail .home-specs,.listing-detail .lease-highlights,.listing-detail .utility-chips{grid-column:1/-1;margin:5px 0 0;gap:6px}.listing-detail .home-specs{padding:9px}.listing-detail .highlight{font-size:11px;padding:4px 6px;gap:5px}.listing-detail .highlight svg{width:16px;height:16px}.listing-detail .utility-chip{padding:8px 10px;gap:6px}.listing-detail .utility-chip>svg{width:17px;height:17px}.listing-detail .utility-chip strong,.listing-detail .utility-chip span{font-size:11px}.listing-detail .listing-information{gap:13px;margin-top:15px}.listing-detail .detail-description h2,.listing-detail .amenity-section h2{font-size:17px;margin-bottom:8px}.listing-detail .detail-description p{font-size:13px;line-height:1.65}.listing-detail .amenity-section{margin-top:14px}.listing-detail .amenity-chips{gap:6px;margin-top:8px}.listing-detail .listing-more>summary{font-size:13px;padding:11px 12px;min-height:44px}.listing-detail .listing-detail-panels{gap:9px}.listing-detail .listing-disclaimer{margin-top:14px;font-size:10px;padding:10px 12px}.listing-detail .listing-disclaimer p{font-size:10px;line-height:1.5}
 .filter-panel .filter-pair{gap:8px 12px}.filter-panel .field{font-size:11px;margin-bottom:12px}.filter-panel .field select{min-height:44px;margin-top:5px;padding:9px 10px;font-size:14px}.filter-panel .amenities{grid-template-columns:1fr 1fr}.filter-panel .amenities label{font-size:12px}.filter-panel .access-section>.filter-pair{margin-top:10px}.profile-filter-bar>.bedroom-menu{flex:1}.profile-filter-bar{overflow:visible!important}.trophy-badge{width:32px;height:34px}.trophy-badge svg{width:29px;height:31px}
}

/* The complete track is a generous drag target; native ranges remain keyboard accessible. */
.rent-slider{touch-action:pan-y;cursor:ew-resize;isolation:isolate}.rent-slider::before{content:"";position:absolute;inset:-7px -8px;z-index:4;background:transparent}.rent-slider input[type=range]{pointer-events:none!important}.rent-slider input[type=range]::-webkit-slider-thumb{pointer-events:none!important}.rent-slider input[type=range]::-moz-range-thumb{pointer-events:none!important}.rent-slider-track{left:15px;right:15px}.toolbar-rent .rent-slider-track{left:13px;right:13px}.rent-values{min-height:30px}.rent-amounts input{font-variant-numeric:tabular-nums;font-size:16px!important}

.access-pricing{font-size:12px!important;color:var(--muted);margin:0 0 12px!important}.access-login-tabs{display:flex;border-bottom:1px solid var(--line);margin-bottom:20px}.access-login-tabs a{flex:1;display:flex;justify-content:center;align-items:center;min-height:46px;font-size:13px;border-bottom:2px solid transparent}.access-login-tabs a.active{border-color:var(--navy);font-weight:600}
/* Keep the three listing sections consistent and restore breathing room within panels. */
.trophy-badge,.trophy-bronze,.trophy-silver,.trophy-gold{background:transparent!important}.trophy-gold{color:#99791f}.trophy-silver{color:#6c8194}.experience-tooltip{width:190px;max-width:calc(100vw - 16px)}
.landscape-control-toggle{display:none}
@media(max-width:760px), (max-width:1000px) and (max-height:500px) and (orientation:landscape){
 .listing-detail .listing-summary{padding:14px 16px}
 .simple-property .card-body{padding:16px 18px 14px}
 .simple-property .listing-card-bar{background:transparent;padding:0;gap:4px}
 .simple-property .listing-card-bar>.card-bar-specs,.simple-property .listing-card-bar>.card-details-link,.simple-property .listing-card-bar>.card-contact-toggle{background:var(--surface);color:var(--navy);border:1px solid var(--line);border-radius:8px;min-height:46px;padding:6px 4px;font-size:11px}
 .simple-property .listing-card-bar>.card-details-link:active,.simple-property .listing-card-bar>.card-contact-toggle:active{background:var(--navy);color:var(--paper)}
}
/* Short landscapes get a full-height reading/browsing canvas with reversible controls. */
@media(max-width:1000px) and (max-height:500px) and (orientation:landscape){
 body{--header:48px;--bottom:0px}
 .landscape-control-toggle:not([hidden]){display:inline-flex;position:fixed;right:12px;bottom:calc(8px + env(safe-area-inset-bottom));z-index:45;min-height:40px;padding:8px 13px;border:1px solid #ffffff55;border-radius:22px;background:var(--navy,#19324d);color:var(--paper,#f6f5ef);font-size:12px;box-shadow:0 2px 10px #19324d25}
 .modal-open .landscape-control-toggle{display:none!important}
 body:not(.landscape-controls-open){--header:0px;--bottom:0px;padding-bottom:0!important}
 body:not(.landscape-controls-open)>header,body:not(.landscape-controls-open)>.bottom-nav,body:not(.landscape-controls-open)>.site-legal-footer,body:not(.landscape-controls-open) .listings-page .filter-bar,body:not(.landscape-controls-open) .profile-filter-bar,body:not(.landscape-controls-open) .active-filters,body:not(.landscape-controls-open) .portal-header,body:not(.landscape-controls-open) .portal-mobile-nav,body:not(.landscape-controls-open) .portal-footer{display:none!important}
 body:not(:has(.home)) .page{padding:10px 18px 54px;max-width:none;min-height:100dvh}
 body:not(.landscape-controls-open):not(:has(.home)) .page.listings-page{padding-top:8px}
 .cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
 .listing-gallery.gallery-card{aspect-ratio:1.9}
 .desktop-nav{display:none!important}
 body>header{height:48px;min-height:48px;padding:6px 16px}
 .brand{--brand-size:22px}
 .bottom-nav{display:flex;position:fixed;left:0;right:0;bottom:24px;height:54px;background:var(--paper);z-index:30;justify-content:space-around;padding:3px 8px}
 .bottom-nav a{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:3px;min-width:72px;font-size:10px;padding:3px 8px}
 .bottom-nav a svg{width:21px;height:21px}
 .site-legal-footer{position:fixed;left:0;right:0;bottom:0;height:24px;background:var(--paper);display:flex;justify-content:center;align-items:center;gap:12px;font-size:10px;padding:0}
 .landscape-controls-open .landscape-control-toggle{bottom:86px}
 .listings-page .filter-bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 48px;gap:8px;padding:8px;display:grid}
 .listings-page .toolbar-rent{grid-column:1/-1;grid-row:2}
 .portal-main{padding:12px 20px 54px;min-height:100dvh}
 body:not(.landscape-controls-open):has(.photo-home) #main{inset:0!important}
 body.landscape-controls-open:has(.photo-home) #main{inset:48px 0 78px!important}
}

.agent-filter-open{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:9px 13px;border:1px solid var(--line);border-radius:8px;background:var(--surface);color:var(--navy);font-size:12px;flex:none}.agent-filter-open svg{width:20px;height:20px}.agent-filter-open:active,.agent-filter-open[aria-pressed=true]{background:var(--navy);color:var(--paper)}.agent-active-count{font-size:11px;font-weight:400;color:var(--muted);white-space:nowrap}.agent-active-filters:empty{display:none}.agent-filter-panel{max-width:440px}.agent-filter-panel>.field:first-of-type{padding-top:24px}
