/* Rental data and templates are independent; colours and surfaces match Quiet Listings. */
.rentals-preview { --rental-ink:#10213a; --rental-muted:#65788f; --rental-blue:#0b58bf; --rental-line:#dfe8f3; color:var(--rental-ink); background:#f4f7fb; padding-bottom:48px; }
.rentals-preview * { box-sizing:border-box; }
.rentals-preview a { color:inherit; }
.rentals-preview .property-search-page-header { overflow:visible; }
.rentals-preview .property-search-header-content { max-width:none; }
.rental-eyebrow { display:flex; align-items:center; gap:9px; text-transform:uppercase; font-size:11px; font-weight:700; letter-spacing:.1em; margin:0 0 12px; color:#46617f; }
.rental-filters { position:relative; }
.rental-filters .row > [class*="col-"] { padding-inline:calc(var(--bs-gutter-x,1.5rem) * .5); }
.rental-filters .property-header-clear-link a { color:#52627d; }
.rental-filters .property-header-clear-link a:hover { color:#173b6d; }
.rental-filters ul { color:#a22f24; }
@media(min-width:576px) {
 .rental-filters .row > .col-sm-6 { width:50%; max-width:50%; flex:0 0 50%; }
}
@media(min-width:768px) {
 .rental-filters .row > .col-md-6 { width:50%; max-width:50%; flex:0 0 50%; }
 .rental-filters .row > .col-md-3 { width:25%; max-width:25%; flex:0 0 25%; }
}
@media(min-width:992px) {
 .rental-filters .row > .col-lg-3 { width:25%; max-width:25%; flex:0 0 25%; }
}
.rental-availability-toggle { display:flex; align-items:center; gap:8px; font-size:13px; color:#2a3b58; }
.rental-availability-toggle input { width:17px; height:17px; accent-color:var(--rental-blue); }
.rental-availability-toggle label { margin:0; }
.rental-button { display:inline-flex; align-items:center; justify-content:center; gap:22px; min-height:44px; padding:12px 20px; border:0; border-radius:12px; background:linear-gradient(135deg,#0b58bf,#0a3d86); color:#fff!important; font-size:13px; font-weight:700; text-decoration:none!important; cursor:pointer; }
.rental-button:hover { background:#0a3d86; }
.rental-button:focus-visible,.rentals-preview a:focus-visible { outline:3px solid #89aee0; outline-offset:3px; }
.rental-results-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin:30px 0 20px; }
.rental-results-heading h2 { font-size:25px; font-weight:700; letter-spacing:-.025em; margin:0; }
.rental-results-heading>p { text-align:right; font-size:11px; line-height:1.8; color:var(--rental-muted); margin:0; }
.rental-card-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.rental-card { border:1px solid var(--rental-line); border-radius:28px; background:#fff; overflow:hidden; box-shadow:0 20px 40px #0e1f3914; transition:box-shadow .2s,transform .2s; display:flex; flex-direction:column; }
.rental-card:hover,.rental-card:focus-within { transform:translateY(-4px); box-shadow:0 28px 48px #0e1f391f; }
.rental-card-image { display:block; position:relative; aspect-ratio:4/3; background:#e8eef6; overflow:hidden; }
.rental-card-image img { width:100%; height:100%; object-fit:cover; transition:transform .2s; }
.rental-card:hover .rental-card-image img { transform:scale(1.025); }
.rental-image-label { position:absolute; left:14px; top:14px; background:#0a3d86e8; border-radius:20px; padding:5px 10px; color:#fff; font-size:10px; font-weight:650; }
.rental-no-photo { display:grid; place-items:center; height:100%; color:#718198; font-size:13px; }
.rental-card-body { padding:18px 20px 0; flex:1; display:flex; flex-direction:column; }
.rental-card-price { font-size:20px; font-weight:700; letter-spacing:-.03em; margin-bottom:10px; color:#10213a; }
.rental-card-price>span { font-size:12px; font-weight:450; letter-spacing:0; color:var(--rental-muted); }
.rental-card h3 { font-size:16px; line-height:1.4; min-height:45px; margin:0 0 7px; font-weight:650; }
.rental-card h3 a { text-decoration:none; }
.rental-card-type { font-size:12px; color:var(--rental-muted); margin-bottom:12px; }
.rental-amenities { display:flex; gap:18px; color:var(--rental-muted); font-size:13px; margin:8px 0 16px; }
.rental-amenities strong { color:var(--rental-ink); font-weight:650; }
.rental-card-footer { display:flex; justify-content:space-between; gap:10px; border-top:1px solid #e7edf5; padding:14px 0; margin-top:auto; font-size:12px; color:var(--rental-muted); }
.rental-card-footer a { color:var(--rental-blue); font-weight:650; text-decoration:none; }
.rental-empty { grid-column:1/-1; text-align:center; padding:48px 20px; border:1px dashed #ccd9e8; border-radius:20px; background:#fff; }
.rental-empty h2 { font-size:24px; }
.rental-empty p { font-size:14px; color:var(--rental-muted); }
.rental-pagination { display:flex; justify-content:center; align-items:center; gap:25px; margin:32px 0; font-size:13px; }
.rental-pagination a { padding:10px 15px; border:1px solid var(--rental-line); border-radius:10px; background:#fff; text-decoration:none; }
.rental-data-note { display:grid; grid-template-columns:220px 1fr; gap:24px; border-top:1px solid var(--rental-line); margin-top:36px; padding-top:22px; font-size:12px; }
.rental-data-note p { margin:0; max-width:790px; color:var(--rental-muted); line-height:1.8; }
/* Detail presentation shares the existing property-detail surfaces and responsive ordering. */
.rental-detail-page { color:#10213a; }
.rental-detail-page .property-detail-media-card #rentalCarousel { margin:-1rem -1rem 0; }
.rental-detail-page .property-detail-carousel-frame { aspect-ratio:16/10; }
.rental-detail-page .property-detail-carousel-frame img { height:100%; object-fit:cover; }
.rental-detail-page #rentalCarousel .carousel-item { background:#eaf0f8; }
.rental-detail-page .property-detail-placeholder { min-height:330px; }
.rental-detail-page .property-surface-card { margin-bottom:16px; overflow:hidden; }
.rental-detail-page .card-title { color:#17314f; font-weight:700; }
.rental-detail-page .rental-description { font-size:14px; line-height:1.8; color:#53677f; overflow-wrap:anywhere; }
.rental-detail-page .property-detail-address { font-weight:600; }
.rental-detail-page .price-value small { font-size:13px; color:#647991; font-weight:500; }
.rental-detail-page .rental-current-pill { background:#0b58bf!important; }
.rental-photo-counter { position:absolute; right:16px; bottom:14px; z-index:3; background:#10213acc; color:white; border-radius:20px; padding:6px 11px; font-size:12px; pointer-events:none; }
/* Clear the legacy global fixed dimensions so the shared 4:3 flex sizing applies. */
.rental-thumbnail { width:auto; height:auto; min-width:0; }
.rental-thumbnail:focus-visible { outline:2px solid #0b58bf; outline-offset:2px; }
.rental-image-note { font-size:10px; line-height:1.6; }
.rental-suburb-boundary { display:grid; gap:5px; line-height:1.3; background:linear-gradient(135deg,#f5f9ff,#eaf2fc); border:1px solid #cfdef1; border-radius:16px; padding:12px; margin-top:10px; }
.rental-boundary-label { color:#416081; font-size:11px; font-weight:650; }
.rental-suburb-boundary>strong { color:#163c70; font-size:22px; letter-spacing:-.025em; }
.rental-suburb-boundary>strong small { color:#637d9b; font-size:12px; font-weight:500; }
.rental-boundary-track { position:relative; height:8px; border-radius:10px; margin:5px 5px; background:linear-gradient(90deg,#bed7f6,#0b58bf); }
.rental-boundary-marker { position:absolute; top:50%; transform:translate(-50%,-50%); width:15px; height:15px; background:#fff; border:3px solid #0a2b5f; border-radius:50%; box-shadow:0 0 0 3px #ffffff80; }
.rental-suburb-boundary>p { font-size:11px; line-height:1.35; color:#4e6885; margin:0; }
.rental-suburb-boundary>small { font-size:10px; line-height:1.35; color:#73859b; }
.rental-summary-facts { font-size:12px; margin:18px 0; }
.rental-summary-facts>div { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid #e7edf6; }
.rental-summary-facts dt { font-weight:400; color:#667b93; }
.rental-summary-facts dd { margin:0; font-weight:600; text-align:right; }
.rental-agent-card { scroll-margin-top:100px; }
.rental-agent-info { display:flex; gap:12px; padding:14px; border:1px solid #d7e3f0; background:#f8fbff; border-radius:14px; margin-top:12px; }
.rental-agent-avatar,.rental-agent-photo { display:flex; align-items:center; justify-content:center; width:48px; height:48px; flex:0 0 48px; border-radius:50%; background:#e3edfa; color:#315d93; object-fit:cover; }
.rental-agent-copy { display:flex; flex-direction:column; gap:5px; min-width:0; }
.rental-agent-copy>strong { font-size:13px; color:#17314f; }
.rental-agent-copy>span { font-size:11px; color:#6d8098; }
.rental-agent-actions { display:flex; flex-wrap:wrap; gap:8px; margin-top:4px; }
.rental-agent-actions a { color:#174578; background:#eaf2fc; border:1px solid #d1e0f3; border-radius:16px; padding:5px 8px; font-size:11px; font-weight:600; text-decoration:none; }
.rental-agency-link { display:flex; gap:10px; align-items:center; justify-content:center; min-height:44px; margin-top:15px; padding:10px 12px; background:#f8fbff; color:#17314f; border:1px solid #d7e3f0; border-radius:14px; font-size:12px; font-weight:700; text-decoration:none; }
.rental-agent-card .text-muted.small { font-size:11px; line-height:1.7; }
.rental-history-card .archived-record-tree__title { font-size:14px; line-height:1.5; }
.rental-history-card .archived-record-tree__detail { font-size:12px; line-height:1.7; }
.rental-insights-cards>div>div { height:100%; border-radius:16px!important; background:#f9fbfe; border-color:#dce7f4!important; }
.rental-insights-cards span { display:block; color:#6a7f98; font-size:12px; margin-bottom:7px; }
.rental-insights-cards strong { color:#16385f; font-size:21px; font-weight:700; }
.rental-market-footnote { font-size:10px; color:#7b8ca1; margin-top:15px; }
.rental-similar-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.rental-related-card { border-radius:18px; overflow:hidden; border:1px solid #e0e8f3; }
.rental-related-image { position:relative; display:block; height:180px; background:#eaf0f8; }
.rental-related-image img { width:100%; height:100%; object-fit:cover; }
.rental-related-badge { position:absolute; top:10px; left:10px; color:#fff; background:#0b58bfd9; border-radius:20px; padding:4px 9px; font-size:10px; }
.rental-related-card .card-body { padding:16px; }
.rental-related-price { font-size:20px; font-weight:700; color:#10213a; margin-bottom:10px; }
.rental-related-price small { font-size:11px; font-weight:400; color:#6c7e93; }
.rental-related-card h3 { font-size:13px; line-height:1.5; }
.rental-related-card a { color:#17314f; text-decoration:none; }
.rental-related-features { display:flex; gap:16px; color:#607b9c; font-size:12px; }
.rental-gallery-modal .modal-content { background:#0e1b2c; color:white; }
.rental-gallery-modal .modal-header { border-bottom:1px solid #ffffff20; }
.rental-gallery-modal .modal-body { padding:0; overflow:hidden; }
.rental-gallery-modal .carousel-item img { object-fit:contain; }
.rental-gallery-modal .carousel-control-prev-icon,.rental-gallery-modal .carousel-control-next-icon { background-color:#0c233bb0; border-radius:50%; padding:20px; background-size:50%; }
@media(max-width:991.98px) {
 .rental-card-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .rental-detail-page .property-detail-sidebar-card .card-body { padding:18px; }
 .rental-detail-page .property-detail-sidebar-column { width:100%; }
 .rental-detail-page .property-detail-main-column .card { width:100%; }
 .rental-detail-page .property-detail-feature-pills { display:flex; flex-wrap:wrap; gap:8px; }
 .rental-similar-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:620px) {
 .rental-button { flex:1; }
 .rental-results-heading { align-items:start; flex-direction:column; gap:12px; }
 .rental-results-heading>p { text-align:left; }
 .rental-card-grid { grid-template-columns:1fr; gap:20px; }
 .rental-card h3 { min-height:0; }
 .rental-card-footer { font-size:11px; }
 .rental-data-note { grid-template-columns:1fr; gap:10px; }
 .rental-pagination { gap:12px; font-size:12px; }
 .rental-detail-page .breadcrumb { font-size:11px; }
 .rental-detail-page .property-detail-media-card .card-body { padding:10px; }
 .rental-detail-page .property-detail-media-card #rentalCarousel { margin:-10px -10px 0; }
 .rental-detail-page .property-detail-carousel-frame { aspect-ratio:4/3; }
 .rental-detail-page .property-surface-card { border-radius:20px; }
 .rental-detail-page .card-body { padding:18px; }
 .rental-insights-cards strong { font-size:18px; }
 .rental-similar-grid { grid-template-columns:1fr; }
 .rental-related-image { height:210px; }
 .rental-detail-page .property-detail-market-insights .card-body { padding:18px; }
}

/* Shared property search control appearance, scoped to rental filters. */
.rental-filters .multi-select { position: relative; }
.rental-filters .multi-select > .form-select { width: 100%; text-align: left; min-height: 44px; }
.rental-filters .multi-select-menu { position: absolute; top: 100%; left: 0; right: 0; z-index: 1050; background: #fff; border: 1px solid #dee2e6; border-radius: .5rem; box-shadow: 0 8px 20px rgba(0,0,0,.1); max-height: 300px; overflow-y: auto; padding: .5rem 0; }
.rental-filters .multi-select .dropdown-item { display: flex; align-items: center; gap: .5rem; padding: .5rem .75rem; cursor: pointer; white-space: normal; }
.rental-filters .multi-select input[type=checkbox] { width: 1rem; height: 1rem; min-height: 0; flex-shrink: 0; }
.rental-filters #location_suggestions { z-index: 1050; max-height: 320px; overflow-y: auto; box-shadow: 0 8px 20px rgba(0,0,0,.1); }
.rental-filters #location_suggestions .dropdown-item { white-space: normal; }
.rental-filters .selected-location { display: inline-flex; align-items: center; border: 0; cursor: pointer; white-space: normal; text-align: left; font: inherit; font-size: .75rem; padding: .25rem .5rem; min-height:1.5rem; border-radius:.375rem; background-color:#0d6efd!important; color:#fff; line-height:1.5; }
.rental-filters .selected-location .btn-close { width:1em; height:1em; min-height:0; font-size:.6rem; margin-left:.25rem; padding:0; opacity:.8; }
.rental-filters #selected_locations { display:flex; flex-wrap:wrap; gap:0; }
.rental-filters .selected-location:focus-visible { outline:2px solid #0d6efd; outline-offset:2px; }
@media(prefers-reduced-motion:reduce) { .rental-card,.rental-card-image img { transition:none; } }
