.property-stage{display:grid;grid-template-columns:38% 62%;min-height:650px;background:#fff}
body.property-page .site-shell{padding-top:var(--header-height)}
.property-summary{display:flex;flex-direction:column;align-items:flex-start;padding:36px 42px 45px max(var(--layout-gutter),calc((100vw - var(--layout-max))/2));min-width:0}
.property-summary .breadcrumbs{font-size:12px;gap:8px;margin-bottom:28px;flex-wrap:wrap}
.property-tags{display:flex;flex-wrap:wrap;gap:9px;margin-bottom:20px}.property-tags span{background:#e9f4ff;color:#1f679f;padding:8px 13px;border-radius:6px;font-size:13px}.property-tags span:first-child{background:#168ac8;color:#fff}
.property-summary h1{font-family:IFC,'Segoe UI',sans-serif;font-size:clamp(28px,2.6vw,46px);font-weight:650;letter-spacing:-.035em;line-height:1.2;overflow-wrap:anywhere}
.property-address{display:flex;align-items:flex-start;gap:7px;font-size:14px;margin-top:18px;color:#7690a5}.property-address .icon{width:18px;height:18px;margin-top:3px}.property-reference{font-size:13px;color:#5a7d99;margin-top:9px}
.property-summary .detail-actions{display:flex;justify-content:flex-start;flex-wrap:wrap;margin-top:24px;gap:8px}.property-summary .detail-actions .btn{font-size:13px;padding:12px 13px;border-radius:7px}
.property-price-block{margin-top:auto;padding-top:45px;width:100%}.property-price-block small{font-size:15px;color:#6c87a0;display:block;margin-bottom:9px}.property-price-block strong{font-size:clamp(25px,2.4vw,42px);line-height:1.3;font-weight:600;color:#173955;display:block;overflow-wrap:anywhere}
.property-viewer{position:relative;min-width:0;min-height:650px;background:#e3edf5;isolation:isolate;overflow:hidden}
.property-main-photo{position:absolute;inset:0;width:100%;height:100%;padding:0;border:0;background:#e3edf5;cursor:zoom-in}.property-main-photo img{width:100%;height:100%;object-fit:cover;object-position:center}
.property-photo-arrows{position:absolute;top:46%;left:22px;right:22px;display:flex;justify-content:space-between;pointer-events:none}.property-photo-arrows[hidden]{display:none}.property-photo-arrows button{pointer-events:auto;background:#10334edb;color:white;border:0;width:48px;height:54px;border-radius:8px;font-size:34px;line-height:1}
.property-thumbnails{position:absolute;top:22px;bottom:100px;right:22px;display:flex;flex-direction:column;gap:10px;overflow-y:auto;scrollbar-width:thin;max-width:88px;padding:3px}
.property-thumbnails button{display:block;flex-shrink:0;padding:0;width:78px;height:73px;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#eaf4ff;opacity:.8}.property-thumbnails img{height:100%;width:100%;object-fit:cover}.property-thumbnails button[aria-pressed=true]{border-color:#fff;outline:2px solid #178ccc;opacity:1}.property-thumbnails button:hover{opacity:1}
.property-photo-tools{position:absolute;bottom:22px;left:22px;right:22px;display:flex;align-items:center;gap:10px;flex-wrap:wrap;pointer-events:none}.property-photo-tools>*{pointer-events:auto}.property-photo-tools .btn{background:#10334ee6;border:0;color:#fff;border-radius:7px;font-size:13px;padding:13px 16px}.property-photo-tools [data-property-photo-status]{margin-left:auto;padding:8px 12px;background:#10334ebf;color:#fff;border-radius:6px;font-size:12px}
.property-sections{position:sticky;top:var(--header-height);z-index:15;background:#f8fbfff5;backdrop-filter:blur(14px);border-bottom:1px solid #dce8f2}.property-sections>div{width:var(--layout-width);max-width:var(--layout-max);margin:auto;display:flex;gap:36px;overflow-x:auto;scrollbar-width:thin}.property-sections a{padding:20px 0;font-size:14px;font-weight:600;white-space:nowrap;border-bottom:2px solid transparent}.property-sections a:hover,.property-sections a:focus-visible{color:#168ac8;border-bottom-color:#168ac8}
.property-page [id^=property-]{scroll-margin-top:calc(var(--header-height) + 85px)}
.property-page .detail-layout>.panel,.property-page .panel{border-radius:20px;background:#fff;box-shadow:none;border:1px solid #e2edf5}
.property-page .contact-panel{max-height:none;overflow:visible;align-self:start}.property-page .contact-panel textarea{overflow:hidden;resize:none}
.property-page .panel h2{font-family:IFC,'Segoe UI',sans-serif;font-size:27px;font-weight:650;letter-spacing:-.025em}.property-page .panel p,.property-page .description{line-height:1.85}
.property-page .detail-facts{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 18px}.property-page .detail-facts strong{font-size:15px}.property-page .detail-facts small{font-size:12px}.property-page .detail-facts>div{min-width:0}.property-page .detail-facts strong{overflow-wrap:anywhere}
@media(max-width:1100px){.property-stage{grid-template-columns:40% 60%;min-height:580px}.property-summary{padding-right:25px}.property-viewer{min-height:580px}.property-thumbnails{max-width:68px;right:16px}.property-thumbnails button{width:60px;height:60px}.property-page .detail-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.property-photo-tools{left:16px;right:16px}.property-photo-tools .btn{font-size:12px;padding:11px 12px}}
@media(max-width:700px){.property-stage{grid-template-columns:1fr;min-height:0}.property-summary{padding:26px 20px 30px}.property-summary .breadcrumbs{margin-bottom:20px}.property-summary h1{font-size:29px}.property-price-block{padding-top:26px}.property-price-block strong{font-size:28px}.property-viewer{min-height:410px}.property-thumbnails{top:14px;bottom:105px;right:12px;gap:8px}.property-thumbnails button{width:50px;height:50px;border-radius:6px}.property-photo-arrows{left:12px;right:12px;top:45%}.property-photo-arrows button{width:37px;height:45px;font-size:28px}.property-photo-tools{bottom:14px;left:12px;right:12px;gap:7px}.property-photo-tools .btn{font-size:11px;padding:11px}.property-photo-tools [data-property-photo-status]{font-size:11px}.property-sections>div{gap:24px}.property-sections a{font-size:12px;padding:16px 0}.property-page .panel h2{font-size:25px}.property-page .detail-facts{gap:22px 12px}.property-page .detail-facts strong{font-size:14px}}
.property-photo-arrows{right:120px}@media(max-width:1100px){.property-photo-arrows{right:92px}}@media(max-width:700px){.property-photo-arrows{right:76px}}
html.virtual-visit-open{overflow:hidden}
#virtual-visit-dialog{position:fixed;inset:0;width:calc(100% - 48px);height:calc(100dvh - 48px);max-width:1600px;max-height:none;margin:auto;padding:0;border:1px solid #82bce64d;border-radius:14px;background:#0b2338;color:#fff;overflow:hidden}
#virtual-visit-dialog[open]{display:grid;grid-template-rows:auto minmax(0,1fr)}
#virtual-visit-dialog::backdrop{background:#041526df;backdrop-filter:blur(12px)}
.virtual-visit-header{display:flex;justify-content:space-between;align-items:center;gap:22px;padding:18px 23px;border-bottom:1px solid #aacfea26}
.virtual-visit-header>div:first-child{min-width:0}.virtual-visit-header p{font-size:9px;letter-spacing:.17em;color:#9ed7ff;margin:0 0 6px}.virtual-visit-header h2{font-size:14px;font-weight:500;color:#fff;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.virtual-visit-actions{display:flex;align-items:center;gap:20px;flex-shrink:0}.virtual-visit-actions>a{display:flex;align-items:center;gap:8px;font-size:10px;color:#bddff7}.virtual-visit-actions>a .icon{width:14px;height:14px;transform:rotate(-35deg)}.virtual-visit-actions button{display:grid;place-items:center;width:38px;height:38px;color:#d6ecff;background:transparent;border:1px solid #aed1ee44;border-radius:50%;cursor:pointer}.virtual-visit-actions button:hover{background:#28658f}.virtual-visit-actions button .icon{width:19px;height:19px}
.virtual-visit-stage{position:relative;min-height:0;background:#081a2b}.virtual-visit-stage iframe{display:block;width:100%;height:100%;border:0;background:#fff}.virtual-visit-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:17px;background:#0b2338;color:#b9dcf6;font-size:12px;pointer-events:none}.virtual-visit-loading>span{width:32px;height:32px;border:2px solid #b1d9f32e;border-top-color:#9ed7ff;border-radius:50%;animation:virtual-visit-spin .8s linear infinite}
@keyframes virtual-visit-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){#virtual-visit-dialog{width:100%;height:100dvh;max-width:none;margin:0;border:0;border-radius:0}.virtual-visit-header{padding:14px 15px;gap:12px}.virtual-visit-header h2{font-size:11px;max-width:52vw}.virtual-visit-header p{font-size:8px}.virtual-visit-actions{gap:10px}.virtual-visit-actions>a{font-size:9px;max-width:70px;line-height:1.4}.virtual-visit-actions button{width:34px;height:34px}.virtual-visit-actions>a .icon{display:none}}
@media(prefers-reduced-motion:reduce){.virtual-visit-loading>span{animation:none}}
/* Every photo has a thumbnail; scrolling stays inside the strip. */
.property-thumbnails{width:94px;max-width:94px;overflow-y:auto;overflow-x:hidden;padding:5px 8px 5px 5px;scrollbar-width:thin;scrollbar-color:#87c9f3 #123c5b55;scroll-snap-type:y proximity;overscroll-behavior-y:contain;border-radius:10px;background:#09294228}
.property-thumbnails button{scroll-snap-align:start;flex:0 0 73px}
.property-thumbnails::-webkit-scrollbar{width:5px;height:5px}.property-thumbnails::-webkit-scrollbar-thumb{background:#87c9f3;border-radius:8px}.property-thumbnails::-webkit-scrollbar-track{background:#123c5b55;border-radius:8px}
.property-thumbnails:focus-visible{outline:2px solid #b5e4ff;outline-offset:2px}
@media(min-width:701px) and (max-width:1100px){.property-thumbnails{width:78px;max-width:78px}.property-thumbnails button{flex-basis:60px}}
@media(max-width:700px){
 body.property-page .property-viewer{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:clamp(280px,75vw,390px) 80px auto;min-height:0;overflow:hidden}
 .property-main-photo{position:relative;inset:auto;grid-column:1;grid-row:1;min-height:0;width:100%;height:100%}
 .property-photo-arrows{top:calc(clamp(280px,75vw,390px)/2 - 22px);left:12px;right:12px}
 .property-thumbnails{position:relative;inset:auto;grid-column:1;grid-row:2;display:flex;flex-direction:row;align-items:center;gap:9px;width:auto;max-width:none;height:80px;padding:9px 13px 10px;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;overscroll-behavior-x:contain;overscroll-behavior-y:auto;touch-action:pan-x pan-y;background:#14344e;border-radius:0}
 .property-thumbnails button{width:65px;height:55px;flex:0 0 65px;border-radius:6px;scroll-snap-align:start}
 body.property-page .property-photo-tools{position:relative;inset:auto;grid-column:1;grid-row:3;max-width:none;width:100%;padding:12px;gap:8px;background:#e9f3fa;align-items:center;flex-wrap:wrap}
 .property-photo-tools .btn{font-size:11px;padding:10px 12px;min-height:40px}
}
