/* Mobile shell: preserve native controls and avoid jQuery Mobile widget styling
   inside the mirrored templates. Base styles are the current desktop snapshot. */
.rb-realestate-content{max-width:900px;margin:0 auto;padding:0 12px 85px;text-shadow:none;color:#202b33;background:#fff}.rb-realestate-content *{box-sizing:border-box}.rb-realestate-content a{font-weight:inherit}.rb-realestate-content img{max-width:100%}.rb-realestate-content .re-landing,.rb-realestate-content .re-results,.rb-realestate-content .re-detail,.rb-realestate-content .re-agent-profile{width:100%;padding:18px 0}.rb-realestate-content input,.rb-realestate-content select,.rb-realestate-content textarea{font-size:16px!important;max-width:100%}.rb-realestate-content button,.rb-realestate-content select{min-height:44px}.rb-realestate-content [hidden]{display:none!important}.rb-realestate-content a{overflow-wrap:anywhere}.rb-realestate-nav{display:flex;gap:8px 16px;flex-wrap:wrap;padding:14px 0;border-bottom:1px solid #dce3e5;font:13px 'Open Sans',Arial,sans-serif}.rb-realestate-nav a{color:#8b151b;text-decoration:none;font-weight:700}.rb-realestate-content .re-listings{grid-auto-columns:85%;gap:12px;scroll-padding-inline:0}.rb-realestate-content .re-card-body{padding:15px}.rb-realestate-content .re-card h3,.rb-realestate-content .rr-card h2{font-size:17px}.rb-realestate-content .re-agent,.rb-realestate-content .rr-agent{font-size:12px}.rb-realestate-content .re-badge,.rb-realestate-content .rr-featured{font-size:11px}.rb-realestate-content .rr-grid,.rb-realestate-content .rd-related-grid{grid-template-columns:minmax(0,1fr)}.rb-realestate-content .rr-fields,.rb-realestate-content .re-search-fields{grid-template-columns:minmax(0,1fr)}.rb-realestate-content .rr-sort-form{flex-wrap:wrap}.rb-realestate-content .rr-toolbar{align-items:flex-start;gap:14px;flex-wrap:wrap}.rb-realestate-content .rr-filter-actions{flex-wrap:wrap}.rb-realestate-content .rr-pagination{flex-wrap:wrap}.rb-realestate-content .rr-page-numbers{display:flex;flex-wrap:wrap;gap:5px}.rb-realestate-content .rd-agent-card{top:6px;z-index:10;padding:10px;gap:10px}.rb-realestate-content .rd-agent-card>img{width:42px;height:50px}.rb-realestate-content .rd-agent-identity strong{font-size:14px}.rb-realestate-content .rd-agent-identity span{font-size:11px}.rb-realestate-content .rd-agent-actions{flex-direction:row;flex-wrap:wrap;width:100%;gap:8px 12px;align-items:center}.rb-realestate-content .rd-agent-actions a{font-size:12px}.rb-realestate-content .rd-agent-actions .rd-primary{padding:9px 12px}.rb-realestate-content .rd-section-nav{gap:14px}.rb-realestate-content .rd-contact,.rb-realestate-content #rd-gallery,.rb-realestate-content .rd-section h2{scroll-margin-top:170px}.rb-realestate-content .rd-lightbox{z-index:10000}.rb-realestate-content .rr-inline-ad,.re-mobile-ad{grid-column:1/-1;text-align:center;max-width:100%;margin:18px 0}.rb-realestate-content .adunit{width:300px;max-width:100%;min-height:250px;margin:auto}.rb-realestate-content .rr-ad-slot{width:auto}.rb-realestate-profile-footer{padding:15px;text-align:center;font:13px 'Open Sans',Arial,sans-serif}.rb-realestate-profile-footer button{padding:12px 20px;background:#941c24;color:white;border:0;border-radius:6px;font:inherit}.rb-realestate-profile-footer a{color:#8b151b;margin-right:18px}.rb-realestate-content .ra-actions{gap:14px}.rb-realestate-content .ra-header{gap:14px}.rb-realestate-content .re-intro h1{font-size:29px}.rb-realestate-content .re-search{margin:24px 0}.rb-realestate-content .re-featured-controls button{width:44px;height:44px}.rb-realestate-content .re-search-actions{gap:16px}.rb-realestate-content .re-search-actions button{width:100%}
@media(min-width:600px){.rb-realestate-content .re-listings{grid-auto-columns:calc((100% - 12px)/2)}.rb-realestate-content .rr-grid,.rb-realestate-content .rd-related-grid,.rb-realestate-content .rr-fields,.rb-realestate-content .re-search-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.rb-realestate-content .rd-agent-actions{width:auto;flex-direction:column;align-items:stretch}.rb-realestate-content .rd-contact{scroll-margin-top:150px}}
@media(max-width:360px){.rb-realestate-content .re-categories{grid-template-columns:minmax(0,1fr)}.rb-realestate-content .ra-header{flex-wrap:wrap}}
@media print{.rb-realestate-nav,.rb-realestate-profile-footer,.re-mobile-ad,.rb-realestate-content .adunit{display:none!important}.rb-realestate-content{padding:0}}

/* Override site-wide jQuery Mobile link colors and text shadows within this flow. */
.rb-realestate-page,.rb-realestate-page *,.rb-realestate-page *::before,.rb-realestate-page *::after{text-shadow:none!important}
.rb-realestate-content .re-detail a.rd-primary,.rb-realestate-content .re-detail a.rd-primary:visited,.rb-realestate-content .re-detail a.rd-primary:hover,.rb-realestate-content .re-detail a.rd-primary:active,.rb-realestate-content .re-detail button.rd-primary{color:#fff!important;text-shadow:none!important}
/* Fixed media boxes prevent global height:auto rules and portrait originals from
   making the gallery strip or related listing cards unusually tall. */
.rb-realestate-content .rd-thumbnails{align-items:flex-start;max-height:82px;overflow-y:hidden}
.rb-realestate-content .rd-thumbnail{flex:0 0 92px;width:92px;height:66px;min-height:0;overflow:hidden}
.rb-realestate-content .rd-thumbnail img{display:block;width:88px!important;height:62px!important;max-width:none!important;object-fit:cover}
.rb-realestate-content .rd-related-photo,.rb-realestate-content .rr-photo{position:relative;aspect-ratio:3/2;max-height:260px;overflow:hidden}
.rb-realestate-content .rd-related-photo img,.rb-realestate-content .rr-photo img{position:absolute;inset:0;width:100%!important;height:100%!important;object-fit:cover}
.rb-realestate-content .rd-hero-link{position:relative;aspect-ratio:3/2}
.rb-realestate-content #rd-hero{display:block;width:100%!important;height:100%!important;object-fit:contain}
/* Leaflet tiles/icons have pixel sizes; global responsive-image rules must not resize them. */
.rb-realestate-content .rd-map img.leaflet-tile{width:256px!important;height:256px!important;max-width:none!important;max-height:none!important}
/* jQuery Mobile's overflow-x:hidden implicitly makes overflow-y:auto, trapping
   sticky positioning inside a non-scrolling page wrapper. Clip horizontal excess
   without introducing a scroll container; let the document handle vertical scroll. */
html.rb-realestate-document,html.rb-realestate-document body,.rb-realestate-document .rb-realestate-page{overflow-x:clip!important;overflow-y:visible!important}
.rb-realestate-content .rd-agent-card{position:sticky!important;top:var(--rd-sticky-top,86px);z-index:100;background:#fafcfc}
.rb-realestate-content .rd-contact,.rb-realestate-content #rd-gallery,.rb-realestate-content .rd-section h2{scroll-margin-top:var(--rd-contact-clearance,250px)}
@media print{.rb-realestate-content .rd-agent-card{position:static!important}}
/* Keep the top navigation and property shortcuts on a swipeable single row. */
.rb-realestate-nav,.rb-realestate-content .rd-section-nav{flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;max-width:100%;min-width:0;white-space:nowrap;overscroll-behavior-x:contain;scrollbar-width:thin;padding-bottom:12px}
.rb-realestate-nav>a,.rb-realestate-content .rd-section-nav>a,.rb-realestate-content .rd-section-nav>button{flex:0 0 auto;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center}
.rb-realestate-content .rd-agent-card{padding-right:48px}
.rb-realestate-content .rd-dismiss-agent{position:absolute;top:3px;right:3px;width:40px;height:44px;min-height:44px;padding:0;border:0;border-radius:6px;background:transparent;color:#53636b!important;font-size:26px;line-height:1;cursor:pointer}
.rb-realestate-content .rd-dismiss-agent:hover{background:#e8eeef}
/* Reserve an unshrinkable icon column when long detail headings wrap on phones. */
.rb-realestate-content .rd-detail-group h3,.rb-realestate-content .rd-room-level h3{align-items:flex-start;gap:10px}
.rb-realestate-content .rd-detail-group h3>i,.rb-realestate-content .rd-room-level h3>i{position:static;display:block;flex:0 0 22px;width:22px;min-width:22px;margin:0;line-height:1.4;text-align:center}
