/* Enhanced interactive model, limited to this component; protects old site styles. */
.immersive3d{width:100%;border-radius:17px;overflow:hidden;border:1px solid rgba(213,173,111,.38);background:#0b233b;color:#fff;box-shadow:0 20px 50px rgba(4,20,40,.22)}
.immersive3d-top{position:relative;z-index:5;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;padding:13px 16px;background:linear-gradient(120deg,#0c213a,#193653);border-bottom:1px solid #d2a96e55}
.immersive-title{display:flex;align-items:center;gap:9px}.immersive-title strong{display:block;color:#f9ebd7;font-size:14px;font-weight:900}.immersive-title small{display:block;font-size:10px;color:#bccbd9;margin-top:3px;line-height:1.5}.live-dot{width:9px;height:9px;border-radius:50%;background:#69cc9b;box-shadow:0 0 0 4px #69cc9b22;flex-shrink:0}
.immersive-commands{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.scene-tool{border:1px solid rgba(214,183,124,.42);background:rgba(255,255,255,.08);color:#f3e6d0;border-radius:7px;padding:7px 9px;font-size:11px;font-weight:750;white-space:nowrap;cursor:pointer}.scene-tool:hover{border-color:#eecb8d;background:#233e58}
.immersive3d-frame{position:relative;height:490px;background:radial-gradient(ellipse at 50% 40%,#eff5ef 0,#d8e5e5 45%,#bad4e2 100%);overflow:hidden;isolation:isolate}
.immersive3d-canvas{position:absolute;inset:0;width:100%;height:100%;z-index:2}.harir-three-canvas{width:100%;height:100%;display:block;touch-action:none;outline:none}
.harir3d-splash{position:absolute;inset:0;z-index:3;background:#152e47;transition:opacity .55s ease, visibility .55s ease}.harir3d-splash.gone{opacity:0;visibility:hidden;pointer-events:none}
.splash-photo{position:absolute;inset:0;background:linear-gradient(0deg,rgba(4,26,49,.8),rgba(4,26,49,.08)),url('assets/harir-building.webp') center/cover no-repeat;filter:saturate(.97)}
.splash-info{position:absolute;inset:auto 15px 45px 15px;background:rgba(9,34,57,.89);border:1px solid #c5a57477;padding:16px;display:flex;gap:12px;align-items:center;border-radius:12px;backdrop-filter:blur(7px)}.splash-info strong{font-size:14px}.splash-info small{display:block;font-size:11px;color:#cad5df;margin-top:5px}.splash-spinner{width:25px;height:25px;border:3px solid #fff5;border-top-color:#f0c880;border-radius:50%;animation:spin-3d 1.2s linear infinite;flex:0 0 25px}@keyframes spin-3d{to{transform:rotate(360deg)}}
.harir3d-blocks{position:absolute;z-index:4;right:15px;top:15px;left:15px;display:flex;gap:6px;justify-content:center;pointer-events:none}
.harir3d-block{pointer-events:auto;background:rgba(8,30,49,.86);border:1px solid #dcc09a8f;border-radius:8px;color:#fff;font-size:11px;padding:8px 13px;backdrop-filter:blur(5px);font-weight:800;box-shadow:0 5px 15px #081c3240;cursor:pointer}
.harir3d-block.active{background:#d0a666;color:#071a31;border-color:#fce5b7}
.harir3d-hint{position:absolute;bottom:12px;left:12px;z-index:4;background:#0a213ac9;color:#f6eddc;font-size:10px;font-weight:700;padding:9px 12px;border:1px solid #efd2a54d;border-radius:50px;pointer-events:none;backdrop-filter:blur(4px)}.harir3d-hint i{display:inline-block;width:3px;height:3px;border-radius:50%;background:#e3c389;margin:0 6px;vertical-align:middle}
.immersive3d-legend{display:flex;gap:15px;align-items:center;flex-wrap:wrap;padding:11px 15px;background:#0b233d;font-size:11px;color:#eee4d6;border-top:1px solid #d0ac7557}.legend-light{display:inline-block;vertical-align:middle;width:10px;height:10px;border-radius:50%;margin-left:4px;box-shadow:0 0 0 3px #ffffff0c}.legend-light.free{background:#4fc190}.legend-light.sold{background:#e77d77}.model-disclaimer{flex:1;color:#c2cddd;font-size:10px;line-height:1.6}
.harir3d-popup{position:absolute;z-index:5;bottom:12px;right:13px;max-width:315px;min-width:260px;width:calc(100% - 26px);padding:15px;background:rgba(10,30,48,.96);border:1px solid #ddbb86;border-radius:14px;box-shadow:0 16px 35px #04132388;color:#fff;backdrop-filter:blur(10px)}
.harir3d-popup.hidden{display:none}.harir-popup-header{display:flex;justify-content:space-between;align-items:start;gap:8px}.harir-popup-header small{color:#bfcfe0;font-size:10px}.harir-popup-header h4{margin:0;color:#ffdf9c;font-family:Arial,sans-serif;font-size:31px}.harir-popup-close{font:normal 26px Arial;background:#ffffff19;border:0;border-radius:6px;color:#fff;cursor:pointer;width:31px;height:31px}.harir-popup-meta{display:flex;gap:9px;align-items:center;flex-wrap:wrap;font-size:11px;color:#dde6e5}.harir-popup-meta .status-pill{padding:4px 9px;font-size:10px}
.harir-popup-prices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:12px 0}.harir-popup-prices>div{background:#ffffff14;border:1px solid #f0c77c21;border-radius:8px;padding:8px 5px;text-align:center}.harir-popup-prices small{font-size:9px;color:#cbd4de;display:block;margin-bottom:4px}.harir-popup-prices b{font-size:15px;color:#f7d99e;direction:ltr;display:block}
.harir-popup-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.harir-popup-btn{text-decoration:none;text-align:center;border-radius:8px;padding:10px 5px;font-size:11px;font-weight:900}.harir-popup-btn.gold{color:#112c41;background:#e2b975}.harir-popup-btn.wa{color:white;background:#18865a}
.three-fallback{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;background:#0b2641ce;padding:25px}.three-fallback h3{font-size:19px}.three-fallback p{font-size:13px;line-height:1.7}
.immersive3d:fullscreen{border-radius:0;display:flex;flex-direction:column}.immersive3d:fullscreen .immersive3d-frame{flex:1;height:auto}.immersive3d:fullscreen .immersive3d-top{padding:17px 25px}
@media (min-width: 1080px){.immersive3d-frame{height:555px}}
@media (max-width: 700px){.immersive3d-top{padding:11px 10px}.immersive-title strong{font-size:12px}.immersive-title small{font-size:9px}.scene-tool{padding:7px 9px;font-size:11px}.scene-tool span{display:none}.immersive3d-frame{height:470px}.harir3d-blocks{top:9px;right:9px;left:9px;gap:5px}.harir3d-block{font-size:10px;padding:8px 9px}.harir3d-hint{left:8px;bottom:7px;font-size:9px;padding:7px 9px}.harir3d-popup{right:9px;bottom:35px;width:calc(100% - 18px);max-width:320px;min-width:0;padding:12px}.model-disclaimer{flex-basis:100%;font-size:9px}.immersive3d-legend{gap:10px;padding:10px}.harir-popup-prices b{font-size:13px}}
@media (prefers-reduced-motion: reduce){.harir3d-splash{transition:none}.splash-spinner{animation:none}}

.harir3d-error{position:absolute;z-index:7;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;background:#09243dcc;color:#fff;padding:22px;backdrop-filter:blur(3px)}.harir3d-error.hidden{display:none}.harir3d-error strong{font-size:18px;color:#ffe0a5}.harir3d-error p{font-size:12px;line-height:1.7}.harir3d-error .btn{margin-top:10px}

/* 2026-10-30: explicit architectural orientation and legible dimensional legend */
.three-geography{flex:1 1 100%;color:#ffe7b7;font-size:11px;font-weight:800;line-height:1.8;text-align:right}.model-disclaimer{flex-basis:100%}.harir3d-block:focus-visible{outline:3px solid #ffedb5;outline-offset:2px}@media(max-width:700px){.three-geography{font-size:10px}.immersive3d-frame{height:500px}}

/* Clear floor selector reduces marker clutter without changing database. */
.harir3d-floors{position:absolute;z-index:4;top:57px;right:12px;left:12px;display:flex;justify-content:center;align-items:center;gap:5px;flex-wrap:wrap;pointer-events:none}
.harir3d-floors span{color:#fff;background:#112c44e8;padding:6px 9px;font-size:10px;border-radius:7px;pointer-events:none}
.harir3d-floor{pointer-events:auto;background:#153451dd;border:1px solid #dab88375;border-radius:7px;color:#f5e8cf;font-size:11px;min-width:31px;padding:7px 9px;font-weight:800;cursor:pointer}
.harir3d-floor.active{background:#e8c387;color:#10253e;border-color:#f4ddb0}
.harir3d-floor:focus-visible{outline:3px solid #ffe6a8;outline-offset:2px}
@media(max-width:650px){.harir3d-floors{top:51px;right:5px;left:5px;gap:4px}.harir3d-floors span{font-size:9px;padding:5px}.harir3d-floor{font-size:10px;min-width:29px;padding:6px 7px}.harir3d-popup{bottom:21px}.immersive3d-frame{height:510px}}

.harir-gallery-modal{position:fixed;z-index:1000;inset:0;background:#03101bcf;display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(5px)}
.harir-gallery-modal.hidden{display:none}.gallery-open{overflow:hidden}.harir-gallery-dialog{width:min(1040px,100%);height:min(90vh,900px);background:#10273d;border:1px solid #e5bd82;border-radius:16px;overflow:auto;box-shadow:0 30px 80px #0008;color:#f4e8d4}
.harir-gallery-header{padding:18px 21px;display:flex;justify-content:space-between;gap:15px;align-items:flex-start;border-bottom:1px solid #d8b47a50}.harir-gallery-header strong{font-size:18px;display:block}.harir-gallery-header small{color:#b7c8d4;font-size:11px;display:block;margin-top:7px;line-height:1.8}.harir-gallery-close{background:#ffffff19;border:1px solid #ffffff44;border-radius:8px;color:#fff;font-size:17px;cursor:pointer;padding:9px 15px}
.harir-gallery-grid{padding:17px;display:grid;grid-template-columns:repeat(2,1fr);gap:13px}.harir-gallery-grid a{text-decoration:none;display:block;background:#0d2033;border:1px solid #ffffff29;border-radius:11px;overflow:hidden;color:#e8d4b5}.harir-gallery-grid img{width:100%;height:220px;object-fit:cover;display:block}.harir-gallery-grid span{padding:8px 12px;display:block;font-size:12px}
@media(max-width:680px){.harir-gallery-grid{grid-template-columns:1fr}.harir-gallery-grid img{height:auto;aspect-ratio:1.75}.harir-gallery-header strong{font-size:14px}}

/* v3: accessible, thumb-sized 3D camera controls; does not change architecture. */
.harir3d-viewbar{position:absolute;z-index:4;left:10px;right:10px;top:102px;display:flex;align-items:center;justify-content:center;gap:5px;pointer-events:none;direction:rtl}
.harir3d-viewbar span{font-size:10px;color:#fff7e7;font-weight:900;background:#0b273ddc;padding:8px 6px;border-radius:9px;white-space:nowrap}
.harir3d-viewbar button{pointer-events:auto;border:1px solid #e3c69a99;background:rgba(8,33,53,.91);color:#fff1d7;cursor:pointer;font-size:11px;font-weight:850;min-height:36px;min-width:44px;padding:6px 10px;border-radius:9px;box-shadow:0 4px 12px #00182b40;touch-action:manipulation}
.harir3d-viewbar button.active,.harir3d-viewbar button:active{background:#f1cd8d;color:#082237;border-color:#ffefc2}
.harir3d-camera-buttons{position:absolute;z-index:4;top:157px;left:11px;display:flex;flex-direction:column;gap:6px;direction:ltr}
.harir3d-camera-buttons button{display:flex;align-items:center;justify-content:center;border:1px solid #ebce9eaa;background:rgba(8,31,49,.91);color:#fff5e5;font-family:Arial,sans-serif;font-size:24px;line-height:1;font-weight:700;width:44px;height:44px;border-radius:12px;box-shadow:0 5px 14px #041d3888;cursor:pointer;touch-action:manipulation}
.harir3d-camera-buttons button:active{background:#e7bd7d;color:#082237}
.harir3d-viewbar button:focus-visible,.harir3d-camera-buttons button:focus-visible{outline:3px solid #ffe8a8;outline-offset:2px}
@media(max-width:650px){
 .harir3d-viewbar{top:97px;left:4px;right:4px;gap:3px;justify-content:space-between}
 .harir3d-viewbar span{font-size:9px;padding:6px 4px}
 .harir3d-viewbar button{font-size:10px;min-width:0;min-height:38px;flex:1;padding:6px 3px;border-radius:8px}
 .harir3d-camera-buttons{top:155px;left:7px;gap:6px}
 .harir3d-camera-buttons button{width:42px;height:42px}
 .harir3d-hint{right:7px;left:auto;bottom:7px;max-width:calc(100% - 14px);text-align:center}
}
@media(max-width:360px){.harir3d-viewbar span{display:none}.harir3d-viewbar button{font-size:9px}}

.legend-light.reserved{background:#f1c66c}

/* v4 street walkthrough. Controls appear only during guided street view. */
.harir3d-walk-controls{display:none;position:absolute;z-index:6;bottom:12px;left:50%;transform:translateX(-50%);direction:ltr;align-items:center;justify-content:center;gap:6px;padding:7px 9px;background:#0b2943ed;border:1px solid #e6c588;border-radius:14px;box-shadow:0 9px 30px #061627a6;max-width:calc(100% - 16px)}
.immersive3d-frame.walking .harir3d-walk-controls{display:flex}
.harir3d-walk-controls button{touch-action:manipulation;border:1px solid #eacb9c93;color:#ffeac2;background:#25435a;border-radius:9px;min-width:39px;min-height:41px;padding:5px 8px;font-weight:900;font-size:18px;cursor:pointer}
.harir3d-walk-controls button:last-child{font-size:11px;min-width:51px;background:#d7aa64;color:#172534}
.immersive3d-frame.walking .harir3d-hint{bottom:75px;right:10px}
.immersive3d-frame.walking .harir3d-popup{bottom:90px}
@media(max-width:650px){.harir3d-walk-controls{bottom:6px;gap:4px;padding:5px}.harir3d-walk-controls button{min-width:37px;min-height:40px;padding:4px 6px}.immersive3d-frame.walking .harir3d-hint{bottom:67px;left:8px;right:auto}.immersive3d-frame.walking .harir3d-popup{bottom:78px}}
