/* Photos and facts stay in normal flow, with compact actions below. */
body .property-window .property-media{flex-shrink:0}
body .property-window .property-body{padding-top:16px!important}
body .property-window .property-swipe-zone{margin-top:0;padding-top:0}
body .property-window .property-meta{position:relative;min-height:44px;display:flex;align-items:center;padding-left:52px;margin-bottom:4px}
body .property-window .property-share{position:absolute;left:0;top:0;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;padding:10px;border:0;border-radius:12px;background:transparent;color:#2b619d;box-shadow:none}
body .property-window .property-share svg{width:22px;height:22px}
body .property-window .property-share:hover{background:#e2edfa80}
body .property-window .property-secondary-actions{display:flex;align-items:center;flex-wrap:wrap;gap:4px 16px;margin:4px 0 12px;padding:4px 0;border-block:1px solid #b6cbd342}
body .property-window .property-utility{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:40px;padding:4px 7px;border:0;border-radius:10px;background:transparent;color:#526d80;font-size:12px;line-height:1.3}
body .property-window .property-utility svg{width:18px;height:18px}
body .property-window .property-utility:hover{background:#e2edfa80;color:#2459a6}
body .property-window #detail-compare[aria-pressed=true]{color:#125bea;background:#e6f0fc}
body .property-window .property-compare-link{color:#125bea;font-weight:600}
body .property-window .property-secondary-actions [hidden]{display:none!important}
body .property-window .property-listing-note{font-size:11px;line-height:1.6;margin:8px 0 12px;padding:0;background:transparent;color:#7a6950}
body .property-window>.property-actions{justify-content:space-between;gap:12px;padding:8px 20px;padding-bottom:max(8px,env(safe-area-inset-bottom));background:#edf4fbeb;min-height:60px}
body .property-window .property-actions .property-finance{flex:0 1 auto;min-height:40px;padding:8px 16px;border-radius:999px;font-size:13px;line-height:1.3;gap:7px}
body .property-window .property-finance svg{width:18px;height:18px}
body .property-window #detail-save,body .property-window #detail-save.saved{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;padding:8px;border:0;border-radius:0;background:transparent;box-shadow:none;color:#d83954}
body .property-window #detail-save svg{width:28px;height:28px;fill:none}
body .property-window #detail-save[aria-pressed=true] svg{fill:currentColor}
body .property-window #detail-save:hover svg{color:#bb2843}
@media(max-width:760px){
 body .property-window>.property-actions{padding-inline:14px}
 body .property-window .property-body{padding-top:12px!important}
 body .property-window .property-swipe-nav{font-size:11px;margin-bottom:2px}
 body .property-window .property-swipe-hint{font-size:11px;margin:2px 0 8px}
}

/* An edge-to-edge photo header with its controls directly over the image. */
body .property-window .property-scroll{padding-top:6px}
body .property-window .property-media{position:relative}
body .property-window .property-body,
body .property-window .property-media:has(.gallery:not([hidden])) + .property-body{margin-inline:0;margin-top:0;border-inline:0;border-radius:0;box-shadow:none}
body .property-window .media-tabs{position:absolute;z-index:10;top:12px;left:50%;transform:translateX(-50%);display:flex;gap:2px;padding:3px;max-width:calc(100% - 112px);border:1px solid #ffffffb3;border-radius:999px;background:#f5faffdb;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 2px 10px #14365712}
body .property-window .media-tabs button{min-height:32px;padding:5px 12px;border-radius:999px;font-size:12px;line-height:1.2;white-space:nowrap}
body .property-window>.modal-close{top:14px;inset-inline-end:auto;left:10px;right:auto;margin:0;width:38px;height:38px;min-height:38px;padding:9px;border-radius:50%;background:#f5faffdc;box-shadow:0 2px 10px #14365712}
body .property-window .photo-fullscreen{top:12px;right:10px;width:38px;height:38px;border-radius:50%}
body .property-window .panorama-gallery{display:flex;flex-direction:column}
body .property-window .panorama-stage{order:0;height:clamp(260px,43dvh,420px)}
body .property-window .panorama-heading{order:1;font-size:11px;justify-content:center}
body .property-window .panorama-controls{order:2}
body .property-window .panorama-rooms{order:3}
/* Slim photo arrows replace the large previous/next text pill on every screen. */
:is(.property-window,.photo-lightbox) .photo-gallery .photo-arrow{display:flex;position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:36px;height:44px;align-items:center;justify-content:center;padding:0;border:1px solid #ffffff99;border-radius:999px;background:#f5faffe0;color:#234c6c;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:0 2px 9px #14365716}
:is(.property-window,.photo-lightbox) .photo-arrow-prev{left:10px}
:is(.property-window,.photo-lightbox) .photo-arrow-next{right:10px}
:is(.property-window,.photo-lightbox) .photo-gallery .photo-arrow:disabled{opacity:.32;cursor:default}
:is(.property-window,.photo-lightbox) .photo-gallery .photo-arrow:hover:not(:disabled){background:#fff}
:is(.property-window,.photo-lightbox) .photo-navigation{top:auto;bottom:12px;padding:4px 10px;border-radius:999px;min-height:24px;box-shadow:none;background:#f5faffd4}
:is(.property-window,.photo-lightbox) .photo-navigation [data-photo-step]{display:none}
:is(.property-window,.photo-lightbox) .photo-counter{font-size:11px;min-width:30px}
/* Finance, Compare, Hide and Like share one compact footer row. */
body .property-window>.property-actions{flex-wrap:nowrap;gap:6px;padding-inline:12px}
body .property-window .property-actions .property-secondary-actions{display:flex;flex:1;justify-content:center;flex-wrap:nowrap;gap:2px;margin:0;padding:0;border:0}
body .property-window .property-actions .property-utility{flex-direction:column;gap:2px;min-width:44px;min-height:44px;max-width:64px;padding:3px 5px;font-size:10px;text-align:center}
body .property-window .property-actions .property-finance{flex-shrink:0;padding:8px 12px;font-size:12px;gap:5px}
body .property-window .property-overview>.property-compare-link[hidden]{display:none!important}
@media(max-width:360px){body .property-window .property-actions .property-finance{padding-inline:9px;font-size:11px}body .property-window>.property-actions{gap:3px;padding-inline:8px}}

/* Mobile: a full viewport of vertical photos, with a draggable facts sheet. */
@media(max-width:760px){
 body .modal-backdrop:has(.mobile-property-view){padding:0;align-items:stretch}
 body .modal.property-window.mobile-property-view{position:fixed;inset:0;margin:0;width:100%;max-width:none;height:100dvh;max-height:100dvh;border:0;border-radius:0;background:#e8eff3;box-shadow:none;overflow:hidden}
 body .mobile-property-view .property-scroll{height:100%;padding:0;overflow:hidden;flex:1}
 body .mobile-property-view .property-media{height:100%;width:100%}
 body .mobile-property-view .gallery.photo-gallery{display:none!important}
 body .mobile-property-view .property-photo-feed{height:100%;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;touch-action:pan-y;scrollbar-width:none;padding-bottom:calc(var(--detail-sheet-peek,220px) + 16px);scroll-snap-type:y proximity;scroll-padding-top:0;-webkit-overflow-scrolling:touch}
 body .mobile-property-view .property-photo-feed::-webkit-scrollbar{display:none}
 body .mobile-property-view .property-photo-feed figure{position:relative;margin:0 0 3px;scroll-snap-align:start}
 body .mobile-property-view .property-photo-feed .property-media-item img{display:block;width:100%;height:auto;min-height:40dvh;max-height:75dvh;object-fit:cover;user-select:none}
 body .mobile-property-view .property-photo-feed figcaption{position:absolute;bottom:12px;right:12px;padding:4px 10px;border:1px solid #ffffff80;border-radius:999px;background:#f6faffc9;backdrop-filter:blur(12px);color:#244963;font-size:11px}
 body .mobile-property-view .property-photo-feed:focus-visible{outline:2px solid #125bea;outline-offset:-3px}
 body .mobile-property-view>.modal-close{top:max(12px,env(safe-area-inset-top));z-index:50;width:42px;height:42px;background:#f4f9ffe0}
 body .mobile-property-view .media-tabs{top:max(14px,env(safe-area-inset-top));z-index:40}
 body .mobile-property-view .property-media:has(.panorama-gallery:not([hidden])) .property-photo-feed{display:none}
 body .mobile-property-view .panorama-gallery[hidden]{display:none!important}
 body .mobile-property-view .panorama-gallery:not([hidden]){height:calc(100% - var(--detail-sheet-height,220px));padding-top:60px;overflow:auto}
 body .mobile-property-view .panorama-stage{flex:1;min-height:180px;height:auto}
 body .mobile-property-view .property-detail-sheet{position:absolute;inset:auto 0 0;z-index:35;height:var(--detail-sheet-height,220px);max-height:calc(100% - 64px);display:flex;flex-direction:column;border:1px solid #ffffffd9;border-bottom:0;border-radius:24px 24px 0 0;background:#f4f8fced;backdrop-filter:blur(24px);-webkit-backdrop-filter:blur(24px);box-shadow:0 -6px 26px #12324a26;overflow:hidden;transition:height .24s ease}
 body .mobile-property-view .property-detail-sheet.is-dragging{transition:none}
 body .mobile-property-view .property-detail-grip{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;flex:0 0 34px;min-height:34px;width:100%;padding:5px 0 1px;touch-action:none;user-select:none;cursor:grab;color:#526f85}
 body .mobile-property-view .property-detail-grip>span{width:46px;height:4px;border-radius:999px;background:#9aafc0}
 body .mobile-property-view .property-detail-grip small{font-size:10px;line-height:1.2}
 body .mobile-property-view .property-body{flex:1;min-height:0;width:100%;padding:0 16px 16px!important;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;background:transparent}
 body .mobile-property-view .property-detail-sheet[data-snap=peek] .property-body{overflow:hidden}
 body .mobile-property-view .property-swipe-zone{display:flex;flex-direction:column}
 body .mobile-property-view .property-swipe-zone>.property-overview{order:0}
 body .mobile-property-view .property-swipe-zone>.property-meta{order:1}
 body .mobile-property-view .property-swipe-nav{order:2}
 body .mobile-property-view .property-swipe-hint{order:3}
 body .mobile-property-view .property-heading{display:flex;flex-direction:column;align-items:flex-start;gap:1px}
 body .mobile-property-view .property-heading>.price{order:-1;font-size:26px;line-height:1.2}
 body .mobile-property-view .detail-title{font-size:16px;line-height:1.35;margin:3px 0}
 body .mobile-property-view .property-location{font-size:12px;margin:1px 0 4px}
 body .mobile-property-view .specs{gap:5px;margin:6px 0 12px;font-size:12px}
 body .mobile-property-view .specs>span{padding:0 5px;background:transparent;border:0;border-inline-end:1px solid #b8cbd7;border-radius:0}
 body .mobile-property-view .property-detail-sheet[data-snap=peek] .property-location{display:none}
 body .mobile-property-view .property-detail-sheet[data-snap=peek] .specs>span:last-child{display:none}
 body .mobile-property-view .property-detail-sheet>.property-actions{position:static;display:flex;align-items:center;flex:0 0 auto;flex-wrap:nowrap;justify-content:space-between;gap:6px;margin:0;padding:5px 12px max(5px,env(safe-area-inset-bottom));background:#edf4fbe6;border-top:1px solid #fff;max-height:none;overflow:visible}
 body .mobile-property-view .property-detail-sheet .property-meta{padding-left:48px}
 body .mobile-property-view .property-location-card{margin:14px 12px 0;padding:14px;border-radius:22px;background:#f4f9fff2;direction:inherit;color:#234860;scroll-snap-align:start}
 body .mobile-property-view .property-location-card h3{margin:0 0 10px;font-size:17px}
 body .mobile-property-view .property-mini-map{height:210px;border-radius:14px;overflow:hidden;display:grid;place-items:center;background:#e0eaf2;font-size:13px}
 body .mobile-property-view .property-mini-map .leaflet-control-attribution{font-size:10px}
 body .mobile-property-view .property-location-card p{font-size:12px;margin:8px 0}
 body .mobile-property-view .property-location-card>button{min-height:40px;font-size:13px}
 body .mobile-property-view .property-photo-empty{display:grid;place-items:center;min-height:38dvh;padding:60px 24px;background:#dce8f0;color:#46677d}
}
@media(prefers-reduced-motion:reduce){body .mobile-property-view .property-detail-sheet{transition:none}}

@media(max-width:760px){body .mobile-property-view .property-detail-sheet.is-dragging{backdrop-filter:none;-webkit-backdrop-filter:none;background:#f4f8fc}}
