/* Public rental pages only. Keep agency tools and the rest of the website intact. */
.rental-simple { --muted:#485f58; background:#f8faf8; }
.rental-simple .housing-main { max-width:1460px; padding-top:28px; }
.rental-simple .housing-header { padding:20px 5%; }
.rental-simple .housing-header nav { font-size:16px; }
.rental-simple .housing-header nav a { padding:8px 0; }
.rental-simple .button { min-height:50px; display:inline-flex; justify-content:center; align-items:center; border-radius:8px; font-size:17px; font-weight:600; box-shadow:none; transition:background .15s; }
.rental-simple .button:hover,.rental-simple .button:active { transform:none; box-shadow:none; background:#244d43; }
.rental-simple .button.secondary:hover { color:white; }
.rental-simple .catalog-hero { display:block; padding:0 0 22px; }
.rental-simple .catalog-hero h1 { font-size:clamp(30px,3.2vw,44px); letter-spacing:-.03em; font-weight:600; margin:0 0 10px; }
.rental-simple .catalog-hero>p { max-width:none; margin:0; font-size:18px; line-height:1.5; }
.rental-simple .catalog-layout { display:block; }
.simple-search { position:relative; background:#edf2ee; border:1px solid #d4dfd6; padding:20px 24px 12px; border-radius:12px; }
.essential-filters { display:grid; grid-template-columns:1fr 1fr 1fr auto; align-items:end; gap:16px; }
.simple-search label { font-size:16px; margin:0; color:var(--ink); }
.simple-search input:not([type=checkbox]),.simple-search select { background:white; min-height:50px; font-size:16px; margin-top:7px; }
.extra-filters { margin-top:12px; }
.extra-filters summary { cursor:pointer; padding:10px 0; min-height:44px; font-size:16px; width:fit-content; font-weight:600; }
.extra-filters summary span { font-weight:400; color:var(--muted); }
.extra-fields { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:20px; padding:20px 0 12px; border-top:1px solid #c9d6cd; }
.extra-fields .check-label { grid-column:1/-1; }
.extra-fields>.button { grid-column:1/-1; justify-self:start; }
.simple-inclusions { grid-column:1/-1; border:0; padding:0; margin:0; display:grid; grid-template-columns:repeat(3,1fr); gap:8px 16px; }
.simple-inclusions legend { font-weight:600; margin-bottom:10px; }
.simple-inclusions .check-label { grid-column:auto; min-height:40px; }
.simple-search input[type=checkbox] { width:22px; height:22px; accent-color:var(--ink); }
.clear-filters { display:inline-flex; padding:8px 0; min-height:44px; align-items:center; font-size:15px; text-underline-offset:4px; }
.simple-search { display:flex; flex-wrap:wrap; column-gap:24px; }
.essential-filters { width:100%; }
.extra-filters { flex:1; min-width:0; }
.clear-filters { margin-top:12px; align-self:flex-start; }
.rental-simple .results-toolbar { gap:20px; padding:22px 0 16px; scroll-margin-top:15px; }
.rental-simple .results-toolbar>p { font-size:20px; font-weight:600; }
.map-shortcut { margin-left:auto; min-height:44px; display:inline-flex; align-items:center; font-size:16px; text-underline-offset:4px; }
.rental-simple .results-toolbar label,.rental-simple .results-toolbar select { font-size:16px; }
.rental-simple .results-toolbar select { min-height:44px; }
.rental-simple #search-feedback:empty { display:none; }
.rental-simple .catalog-cards { grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.rental-simple .catalog-cards .listing-card { animation:none; transform:none; transition:border-color .15s; border-radius:12px; box-shadow:none; }
.rental-simple .catalog-cards .listing-card:hover { transform:none; box-shadow:none; border-color:#809d8d; }
/* A real link covers the card; photo controls and booking remain separate targets. */
.rental-simple .catalog-cards .listing-card { position:relative; isolation:isolate; cursor:pointer; }
.rental-simple .catalog-cards h2 a::after { content:""; position:absolute; inset:0; z-index:2; border-radius:12px; }
.rental-simple .catalog-cards h2 a:focus-visible { outline:none; }
.rental-simple .catalog-cards h2 a:focus-visible::after { outline:3px solid var(--gold); outline-offset:-3px; }
.rental-simple .catalog-cards .photo-carousel,.rental-simple .catalog-cards .card-actions { position:relative; z-index:3; }
.rental-simple .catalog-cards .card-media { overflow:visible; }
.rental-simple .catalog-cards .photo-carousel { border-radius:12px 12px 0 0; }
.rental-simple .catalog-cards .promotion-badge { z-index:4; }
.rental-simple .is-card .photo-stage,.rental-simple .card-media>.photo-placeholder { aspect-ratio:1.9; }
.rental-simple .is-card .gallery-arrow { width:44px; height:44px; font-size:32px; }
.rental-simple .is-card .quick-view { min-height:40px; padding:8px 12px; font-size:13px; }
.rental-simple .is-card .gallery-count { font-size:13px; padding:6px 10px; }
.rental-simple .promotion-badge { font-size:13px; font-weight:600; top:12px; left:12px; }
.rental-simple .catalog-cards .listing-copy { padding:18px 20px; }
.rental-simple .catalog-cards .rental-price { font-size:32px; margin:0 0 10px; }
.rental-simple .catalog-cards .rental-price small { font-size:16px; }
.rental-simple .catalog-cards h2 { font-size:21px; font-weight:600; line-height:1.3; margin:0 0 4px; }
.rental-simple .listing-location { font-size:16px; margin-bottom:10px; }
.rental-simple .catalog-cards .property-facts { font-size:16px; }
.rental-simple .catalog-cards .availability { font-size:15px; margin:8px 0 12px; }
.rental-simple .catalog-cards .card-actions { padding:0; margin-top:auto; }
.rental-simple .catalog-cards .card-actions .visit-button { width:100%; min-height:52px; font-size:18px; opacity:1; visibility:visible; }
.rental-simple .card-actions .listing-link { min-height:44px; margin:6px 0 0; padding:8px 0; border:0; font-size:16px; justify-content:center; text-decoration:underline; text-underline-offset:4px; }
.rental-simple .card-actions svg { display:none; }
.rental-simple .public-agent { gap:10px; padding:12px 0 0; margin:8px 0 0; border:0; border-top:1px solid var(--line); }
.rental-simple .public-agent img,.rental-simple .public-agent .agent-avatar { width:38px; height:38px; }
.rental-simple .public-agent .agent-avatar { padding:8px; }
.rental-simple .public-agent span:not(.agent-avatar) { font-size:13px; line-height:1.4; }
.rental-simple .public-agent strong { font-size:15px; }
.rental-simple .empty-results { min-height:220px; padding:30px; }
.rental-simple .back-link { display:inline-block; padding:8px 0; font-size:16px; }
.rental-simple .detail-heading .rental-price { font-size:40px; }
.rental-simple .rental-detail .detail-heading { margin-top:16px; }
.rental-simple .detail-top-cta { display:none; }
.rental-simple .visit-panel h2 { font-size:28px; font-weight:600; }
.rental-simple .visit-panel>p:not(.eyebrow):not(.availability) { font-size:17px; }
.rental-simple .visit-panel>.button { font-size:18px; }
.rental-simple .detail-description>h2 { font-size:27px; font-weight:600; }
.rental-simple .mobile-booking-bar { position:fixed; z-index:15; bottom:0; left:0; right:0; display:flex; align-items:center; justify-content:space-between; gap:20px; padding:12px max(5%,calc((100vw - 1300px)/2)) max(12px,env(safe-area-inset-bottom)); background:#fff; border-top:1px solid #b9cabe; box-shadow:0 -4px 16px #1537320c; }
.rental-simple .mobile-booking-bar .rental-price { margin:0; font-size:26px; gap:3px 8px; }
.rental-simple .mobile-booking-bar .rental-price small { font-size:14px; }
.rental-simple .mobile-booking-bar .rental-price del { font-size:16px; }
.rental-simple .mobile-booking-bar>div>span { display:block; font-size:14px; color:var(--muted); }
.rental-simple .mobile-booking-bar>.button { min-width:230px; font-size:18px; min-height:54px; }
.rental-simple .housing-main:has(.rental-detail) .housing-footer { padding-bottom:120px; }
.rental-simple .rental-detail { padding-bottom:0; }
.rental-simple .photo-dialog .dialog-actions { position:sticky; bottom:0; z-index:5; background:white; border-top:1px solid var(--line); }
.rental-simple .photo-dialog .dialog-actions .button { font-size:16px; }
.rental-simple .photo-dialog .dialog-close { width:44px; height:44px; }
.rental-simple .booking-heading { margin:12px 0 24px; }
.rental-simple .booking-heading h1 { font-size:clamp(30px,3.2vw,42px); font-weight:600; margin:10px 0; }
.rental-simple .booking-heading>p:last-child { font-size:18px; max-width:none; }
.rental-simple .booking-layout { grid-template-columns:minmax(230px,.65fr) minmax(0,1.5fr); gap:24px; }
.rental-simple .booking-property { border-radius:10px; padding:22px; }
.rental-simple .booking-property .public-agent { margin:14px 0; padding:12px 0; }
.rental-simple .booking-property .public-agent img { width:38px; height:38px; }
.rental-simple .booking-main { border-radius:10px; }
.rental-simple .booking-steps li { font-size:15px; }
.rental-simple .booking-main h2 { font-size:25px; font-weight:600; line-height:1.3; }
.rental-simple .booking-main label,.rental-simple .booking-main .hint,.rental-simple .booking-message { font-size:16px; }
.rental-simple .booking-slot { font-size:18px; min-height:52px; }
.rental-simple .booking-day { font-size:18px; }
.rental-simple .booking-facts { font-size:15px; margin:14px 0; }
.rental-simple .booking-date-arrow { font-family:Arial,sans-serif; }
.rental-simple .lb-statistics-manage { position:static; display:block; min-height:44px; margin:0 auto 24px; }
.rental-simple:has(.rental-detail) .lb-statistics-manage { margin-bottom:120px; }
@media(max-width:1050px) {
 .rental-simple .catalog-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .essential-filters { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .extra-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .rental-simple .booking-layout { grid-template-columns:1fr; }
 .rental-simple .booking-property { position:static; margin:0; }
 .rental-simple .booking-property>.eyebrow { display:none; }
 .rental-simple .booking-property>.rental-price { margin:0 0 8px; font-size:28px; }
 .rental-simple .booking-property h2 { font-size:22px; }
 .rental-simple .booking-property .booking-facts { display:none; }
}
@media(max-width:640px) {
 .rental-simple .housing-main { padding:22px 5% 0; }
 .rental-simple .housing-header { padding:14px 5% 10px; }
 .rental-simple .housing-header nav { gap:16px; margin-top:6px; font-size:14px; }
 .rental-simple .catalog-hero { padding-bottom:18px; }
 .rental-simple .catalog-hero>p { font-size:16px; max-width:330px; }
 .simple-search { padding:16px; }
 .extra-filters { flex-basis:100%; }
 .clear-filters { margin-top:0; }
 .essential-filters { gap:12px; }
 .essential-filters label:first-child,.essential-filters>.button { grid-column:1/-1; }
 .essential-filters label { font-size:14px; }
 .extra-filters summary { font-size:15px; }
 .extra-filters summary span { display:none; }
 .extra-fields { gap:16px; }
 .simple-inclusions { grid-template-columns:1fr; }
 .extra-fields label { font-size:15px; }
 .rental-simple .results-toolbar { flex-wrap:wrap; gap:4px 12px; padding:18px 0 12px; }
 .rental-simple .results-toolbar>p { font-size:18px; }
 .map-shortcut { font-size:15px; }
 .rental-simple .results-toolbar label { width:100%; justify-content:space-between; }
 .rental-simple .catalog-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
 .rental-simple .catalog-cards .listing-copy { padding:12px 10px; min-width:0; }
 .rental-simple .catalog-cards .rental-price { font-size:23px; letter-spacing:-.03em; gap:3px 5px; }
 .rental-simple .catalog-cards .rental-price small { font-size:12px; }
 .rental-simple .catalog-cards .rental-price del { font-size:13px; }
 .rental-simple .catalog-cards h2 { font-size:16px; line-height:1.35; }
 .rental-simple .catalog-cards .listing-location { font-size:14px; line-height:1.4; margin-bottom:8px; overflow-wrap:anywhere; }
 .rental-simple .catalog-cards .property-facts { font-size:13px; gap:3px 7px; }
 .rental-simple .catalog-cards .property-facts span+span { padding-left:7px; }
 .rental-simple .catalog-cards .availability { font-size:13px; line-height:1.4; }
 .rental-simple .catalog-cards .card-actions .visit-button { min-height:52px; font-size:15px; padding:9px 7px; line-height:1.25; }
 .rental-simple .catalog-cards .card-actions .listing-link { font-size:13px; min-height:44px; text-align:center; }
 .rental-simple .catalog-cards .is-card .photo-stage,.rental-simple .catalog-cards .card-media>.photo-placeholder { aspect-ratio:4/3; }
 .rental-simple .catalog-cards .is-card .gallery-arrow { width:44px; height:44px; font-size:29px; }
 .rental-simple .catalog-cards .gallery-arrow.previous { left:3px; }
 .rental-simple .catalog-cards .gallery-arrow.next { right:3px; }
 .rental-simple .catalog-cards .is-card .gallery-count { font-size:11px; padding:2px 7px; left:8px; bottom:6px; }
 .rental-simple .catalog-cards .promotion-badge { font-size:11px; padding:3px 7px; left:6px; top:6px; max-width:calc(100% - 12px); }
 .rental-simple .public-agent.is-compact { gap:6px; align-items:flex-start; }
 .rental-simple .public-agent.is-compact img,.rental-simple .public-agent.is-compact .agent-avatar { width:24px; height:24px; }
 .rental-simple .public-agent.is-compact .agent-avatar { padding:4px; }
 .rental-simple .public-agent.is-compact span:not(.agent-avatar) { display:none; }
 .rental-simple .public-agent.is-compact strong { display:inline; font-size:14px; }
 .rental-simple .mobile-booking-bar { padding:10px 5% max(10px,env(safe-area-inset-bottom)); gap:12px; }
 .rental-simple .mobile-booking-bar .rental-price { font-size:22px; }
 .rental-simple .mobile-booking-bar .rental-price del { display:none; }
 .rental-simple .mobile-booking-bar .rental-price small { font-size:12px; }
 .rental-simple .mobile-booking-bar>div>span { display:none; }
 .rental-simple .mobile-booking-bar>.button { min-width:0; font-size:16px; min-height:52px; padding:12px 16px; }
 .rental-simple .booking-main { padding:20px 16px; }
 .rental-simple .booking-steps { gap:6px; }
 .rental-simple .booking-steps li { font-size:12px; gap:5px; }
 .rental-simple .booking-main h2 { font-size:23px; }
 .rental-simple .booking-slots { grid-template-columns:repeat(2,minmax(0,1fr)); }
 .rental-simple .dialog-actions { padding:12px; gap:8px; }
 .rental-simple .photo-dialog .dialog-actions .button { padding:10px 12px; font-size:15px; }
}
