/* Detail actions live beside the summary rather than anchoring the sheet. */
body .property-window .property-actions:empty{display:none!important}
body .property-window .property-overview>.property-secondary-actions{display:flex;justify-content:flex-start;gap:10px;margin:12px 0;padding:4px 0;border:0}
body .property-window .property-overview>.property-secondary-actions .property-utility{flex-direction:row;gap:7px;min-width:76px;font-size:13px;border-radius:999px;background:#f1f5f9;padding:8px 12px}
body .property-window .property-overview>.property-contact{display:none}
body :is(.property-window,.reels-contact-window) .property-message-card{margin:22px 0;padding:20px;border:1px solid #dfe9f2;border-radius:20px;background:#f6faff}
body :is(.property-window,.reels-contact-window) .property-message-card h3{font-size:22px;font-weight:800;margin:0 0 14px}
body :is(.property-window,.reels-contact-window) .property-message-card p{font-size:14px;line-height:1.6}
body :is(.property-window,.reels-contact-window) .property-message-card form{display:grid;gap:12px}
body :is(.property-window,.reels-contact-window) .property-message-card label{display:grid;gap:7px;font-size:14px;font-weight:500}
body :is(.property-window,.reels-contact-window) .property-message-card textarea{font-size:16px;line-height:1.6;min-height:110px;resize:vertical}
body :is(.property-window,.reels-contact-window) .property-message-card input{font-size:16px}
body :is(.property-window,.reels-contact-window) .property-message-card .primary{justify-self:start;border-radius:999px;margin-top:6px}
body :is(.property-window,.reels-contact-window) .property-message-card .property-message-note{font-size:12px;color:#5e7183}
body :is(.property-window,.reels-contact-window) .property-message-card .property-message-status{font-weight:600;color:#2459a6;min-height:0}
body .property-window .property-message-status:empty{display:none}
body .property-window .property-education{padding:16px;background:#edf5ff;border:1px solid #d2e4fb;border-radius:16px;margin-bottom:18px}
body .property-window .property-education h4{display:flex;align-items:center;gap:9px;margin:0 0 14px;font-size:18px;font-weight:800;color:#173f69}
body .property-window .property-education .nearby-row{background:#fff;border:0}
body .property-window .property-education .nearby-type{color:#346598;font-weight:600}
body .property-window .property-education .nearby-label{flex:1}
body .property-window .property-education .nearby-row strong{font-size:16px}
/* One ordered media sequence, with 360 tours directly after the first photo. */
.property-inline-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;direction:ltr;scrollbar-width:thin;height:clamp(280px,54dvh,560px)}
.property-media-item{position:relative;margin:0;scroll-snap-align:start;min-width:0}
.property-inline-gallery>.property-media-item{flex:0 0 100%;height:100%}
.property-media-item>button{display:block;position:relative;padding:0;margin:0;width:100%;height:100%;cursor:zoom-in}
.property-media-item img{display:block;width:100%;height:100%;object-fit:cover}
.property-media-item figcaption{position:absolute;bottom:12px;right:12px;border-radius:99px;background:#fffD;color:#234860;font-size:12px;padding:4px 10px;pointer-events:none}
.property-360-badge{position:absolute;inset:auto 12px 12px auto;display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:4px 11px;border:1px solid #ffffffa6;border-radius:999px;background:#f4f9ffcc;color:#284c69;font-size:14px;line-height:1.3;font-weight:600;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 7px #102d411a;pointer-events:none}
.property-media-lightbox{position:fixed;inset:0;margin:0;padding:0;width:100vw;max-width:none;height:100dvh;max-height:none;border:0;background:#10141c;color:#fff;overflow:hidden}
.property-media-lightbox::backdrop{background:#10141c}
.media-view-track{display:flex;overflow-x:auto;overflow-y:hidden;width:100%;height:100%;scroll-snap-type:x mandatory;overscroll-behavior:contain;scrollbar-width:none;touch-action:pan-x pinch-zoom}
.media-view-slide{flex:0 0 100%;min-width:0;height:100%;display:flex;align-items:center;justify-content:center;scroll-snap-align:start;scroll-snap-stop:always}
.media-view-slide>img{display:block;width:100%;height:100%;object-fit:contain;user-select:none}
.media-view-close,.media-view-prev,.media-view-next{position:absolute;z-index:4;display:grid;place-items:center;border:1px solid #fff5;background:#eef5ffe0;color:#1b3248;box-shadow:0 3px 14px #0004;border-radius:50%;width:44px;height:44px;font-size:32px;line-height:1;padding:0}
.media-view-close{top:max(12px,env(safe-area-inset-top));left:12px}
.media-view-prev,.media-view-next{top:50%;transform:translateY(-50%)}
.media-view-prev{left:12px}.media-view-next{right:12px}
.media-view-prev:disabled,.media-view-next:disabled{opacity:.25}
.media-view-count{position:absolute;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);font-size:13px;background:#0008;padding:6px 14px;border-radius:99px}
.media-view-slide .panorama-gallery{display:flex;flex-direction:column;width:100%;height:100%;padding:70px 0 55px;background:#141d2a;color:#fff}
.media-view-slide .panorama-stage{flex:1;height:auto;min-height:160px}
.media-view-slide .panorama-heading{justify-content:center;padding:6px 12px;font-size:13px}
.media-view-slide .panorama-controls{justify-content:center;font-size:12px;background:#1e2e43;color:#fff;padding:10px}
.media-view-slide .panorama-controls button{color:#19344b;background:#eef4fa;border:1px solid #ccd8e5;padding:8px 16px;border-radius:999px;font-weight:600}
@media(max-width:760px){
 body .mobile-property-view .property-inline-gallery{display:none}
 body .mobile-property-view .property-photo-feed>.property-media-item{margin-bottom:3px}
 body .mobile-property-view .property-photo-feed .property-media-item>button{height:auto}
 body .mobile-property-view .property-detail-sheet{max-height:calc(100% - 64px)}
 body .mobile-property-view .property-detail-sheet[data-snap=peek] .property-heading{gap:5px}
 body .mobile-property-view .property-detail-sheet[data-snap=peek] .property-heading>.price{font-size:30px}
 body .mobile-property-view .property-detail-sheet[data-snap=peek] .property-heading .specs{font-size:15px}
 body .mobile-property-view .property-message-card{padding:18px}
}
/* Subtle elevation preserves the existing translucent controls. */
body .mobile-map-toolbar>button,body .mobile-map-toolbar .toolbar-map-style>summary,body .mobile-map-toolbar .area-controls #area-draw,body .map-tools>.icon-btn{box-shadow:0 4px 10px #17344e29,0 1px 3px #17344e1a}
body .property-window .property-photo-tools,body .property-window>.modal-close{box-shadow:0 4px 14px #142e432b,0 1px 3px #142e431a}
body .map-navigation-dock>button>svg{filter:drop-shadow(0 2px 2px #17344e24)}
body .account-floating-dock>button>svg{filter:drop-shadow(0 2px 2px #17344e24)}

/* Compact tools sit physically left of the visible summary, inset by body padding. */
body .property-window .property-overview{position:relative}
body .property-window .property-overview>.property-heading{padding-left:78px;min-height:88px}
body .property-window .property-overview>.property-secondary-actions{position:absolute;top:0;left:0;width:66px;display:flex;flex-direction:column;align-items:stretch;gap:4px;margin:0;padding:0;border:0}
body .property-window .property-overview>.property-secondary-actions .property-utility{display:flex;flex-direction:column;gap:2px;min-width:0;min-height:40px;width:66px;padding:3px 4px;border:0;background:transparent;color:#526b7f;font-size:10px;line-height:1.2;border-radius:10px}
body .property-window .property-overview>.property-secondary-actions .property-utility svg{width:19px;height:19px}
body .property-window .property-overview>.property-secondary-actions .property-utility:hover{background:#edf3f9}
body .property-window .property-overview>.property-secondary-actions #detail-compare[aria-pressed=true]{background:#e6f0fc;color:#125bea}
@media(max-width:360px){
 body .mobile-property-view .property-overview>.property-heading{padding-left:64px}
 body .mobile-property-view .property-overview>.property-secondary-actions,body .mobile-property-view .property-overview>.property-secondary-actions .property-utility{width:56px}
 body .mobile-property-view .property-heading .specs,body .mobile-property-view .property-detail-sheet[data-snap=peek] .property-heading .specs{font-size:13px;gap:6px 8px}
 body .mobile-property-view .property-heading .specs svg{width:16px;height:16px}
 body .mobile-property-view .property-detail-sheet[data-snap=peek] .property-heading>.price{font-size:28px}
}

/* Author display rules must not override the viewer's hidden loading controls. */
.panorama-gallery [hidden]{display:none!important}
.media-view-prev svg,.media-view-next svg{width:24px;height:24px;transform:none}
body .mobile-property-view .property-mini-map-frame{position:relative;isolation:isolate}
body .mobile-property-view .property-mini-map.leaflet-container{display:block}
body .mobile-property-view .property-map-open{position:absolute;z-index:800;top:12px;left:12px;min-height:40px;padding:8px 15px;border:1px solid #ffffffd9;border-radius:999px;background:#f8fcfff0;color:#214c75;font-size:13px;font-weight:600;box-shadow:0 3px 12px #183e5826;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
body .mobile-property-view .property-map-open:hover{background:#e6f0ff}

/* Persistent, high contrast delivery feedback in both property and reels contact forms. */
body .property-message-card .property-message-status:not(:empty){display:flex;align-items:flex-start;gap:12px;padding:16px;margin:4px 0;border:2px solid #91b5ed;border-radius:18px;background:#edf4ff;color:#174d98;box-shadow:0 4px 14px #102f5010;text-align:start}
body .property-message-card .property-message-status[data-state=success]{background:#e8f7ef;border-color:#66ad85;color:#155b35}
body .property-message-card .property-message-status[data-state=error]{background:#fff0ef;border-color:#d98a83;color:#982d26}
body .property-message-card .property-message-status strong{display:block;font-size:20px;font-weight:800;line-height:1.4;margin-bottom:5px}
body .property-message-card .property-message-status div>span{display:block;font-size:15px;font-weight:500;line-height:1.6}
body .property-message-card .message-status-icon{display:grid;place-items:center;flex:0 0 34px;height:34px;border:2px solid currentColor;border-radius:50%;font-size:23px;font-weight:800;line-height:1}
body .property-message-card .property-message-status[data-state=sending] .message-status-icon{animation:message-sending-spin 1.2s linear infinite}
body .property-message-card .property-message-status:empty{display:none}
@keyframes message-sending-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){body .property-message-card .property-message-status[data-state=sending] .message-status-icon{animation:none}}

/* Direct contact uses the same readable composer in cards and Reels. */
body .reels-contact-window{width:min(520px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow-y:auto;border-radius:28px;background:#fff;box-shadow:0 18px 70px #081b3840}
body .reels-contact-host{padding:52px 22px 24px}body .reels-contact-host>h2{font-size:27px;font-weight:800;margin:0 0 5px;color:#19364a}.reels-contact-address{font-size:17px;font-weight:600;color:#5d7187;margin:0 0 18px}
body .reels-contact-host .property-message-card{padding:18px;margin-top:18px;border-radius:22px;background:#f5f8fd;border:1px solid #e2eaf4}
body :is(.property-window,.reels-contact-window) .property-message-card label{font-size:16px;font-weight:700;gap:9px}
body :is(.property-window,.reels-contact-window) .property-message-card :is(textarea,input){width:100%;box-sizing:border-box;padding:13px 15px;background:white;border:1px solid #ccd9e8;border-radius:16px;color:#19364a;font:inherit;font-size:16px;line-height:1.6}
body :is(.property-window,.reels-contact-window) .property-message-card textarea{min-height:145px}
body :is(.property-window,.reels-contact-window) .property-message-card :is(textarea,input):focus-visible{outline:2px solid #1256ec;outline-offset:2px}
body .reels-contact-window .property-message-card .primary{width:100%;justify-content:center;min-height:48px;background:#1256ec;color:#fff;font-size:18px;font-weight:800;border-radius:999px}
body .broker-property-link{display:flex;flex-direction:row;align-items:center;gap:14px;width:100%;padding:16px;text-align:start;background:#f5f8ff;border:1px solid #dce7f5;border-radius:20px;color:#19364a}
body .broker-property-link .broker-contact-avatar{width:64px;height:64px;flex:0 0 64px;border-radius:50%;object-fit:cover;background:#e3edff;color:#1256ec}.broker-contact-initial{display:grid;place-items:center;font-size:28px;font-weight:800}
.broker-contact-copy{display:grid;gap:3px;min-width:0}.broker-contact-copy>strong{font-size:20px}.broker-contact-copy>span:first-child,.broker-contact-copy>small{font-size:13px;color:#62768a}.broker-contact-copy .broker-contact-open{color:#1256ec;font-size:14px;font-weight:700;margin-top:4px}
@media(max-width:380px){body .reels-contact-host{padding-inline:16px}body .reels-contact-host .property-message-card{padding:14px}}
