.tour-client{--tour-accent:#c79a57;position:relative;width:100%;height:100%;min-height:300px;background:#111d2c;color:#fff;font-family:Arial,sans-serif;overflow:hidden}
.client-pano,.pano-canvas,.pano-hotspots{position:absolute;inset:0;width:100%;height:100%}
.pano-canvas{display:block;touch-action:none;cursor:grab}
.pano-canvas:active{cursor:grabbing}
.pano-hotspots{pointer-events:none}
.pano-status{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background:#102032e6;padding:15px 24px;border-radius:12px;max-width:85%;text-align:center;color:white}
.pano-hotspot{position:absolute;transform:translate(-50%,-50%);pointer-events:auto;display:flex;flex-direction:column;align-items:center;gap:7px;background:none;border:0;color:#fff;cursor:pointer;white-space:nowrap}
.pano-hotspot[hidden]{display:none}
.pano-hotspot span{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#ffffffed;color:#18283a;box-shadow:0 0 0 7px #ffffff35,0 4px 14px #0004;font:bold 22px Georgia}
.pano-hotspot em{font:12px Arial;background:#102032ba;border-radius:5px;padding:5px 9px;max-width:180px;overflow:hidden;text-overflow:ellipsis}
.pano-hotspot .hotspot-marker{transform:perspective(400px) rotateX(var(--hotspot-rotation-x,0deg)) rotateY(var(--hotspot-rotation-y,0deg)) rotateZ(var(--hotspot-rotation,0deg));transform-origin:center}
.pano-hotspot.marker-arrow .hotspot-marker,.pano-hotspot.marker-dot .hotspot-marker,.pano-hotspot.marker-custom .hotspot-marker{width:52px;height:52px;border-radius:0;background:transparent;color:#fff;box-shadow:none}
.hotspot-dot{width:100%;height:100%;filter:drop-shadow(0 2px 3px #0007);animation:hotspot-arrow-pulse 1.6s ease-in-out infinite}
.hotspot-custom-image{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 2px 3px #0006);user-select:none}
.hotspot-arrow{width:100%;height:100%;filter:drop-shadow(0 2px 3px #0009);transform-origin:center;animation:hotspot-arrow-pulse 1.6s ease-in-out infinite}
@keyframes hotspot-arrow-pulse{0%,100%{transform:scale(.85);opacity:.78}50%{transform:scale(1.12);opacity:1}}
@media(prefers-reduced-motion:reduce){.hotspot-arrow,.hotspot-dot{animation:none}}
.client-header{position:absolute;left:0;right:0;top:0;padding:25px 30px;display:flex;align-items:center;background:linear-gradient(#071222a8,transparent);pointer-events:none}
.client-brand{display:flex;align-items:center;gap:14px;font-size:18px;font-weight:600;max-width:85%;text-shadow:0 2px 8px #0008}
.client-brand img{width:48px;height:48px;object-fit:contain}
.client-controls{position:absolute;right:max(24px,env(safe-area-inset-right));bottom:max(24px,env(safe-area-inset-bottom))}
.client-controls button{pointer-events:auto;width:42px;height:42px;border:1px solid #ffffff35;background:#142236b8;color:white;border-radius:10px;font-size:24px;cursor:pointer}
.client-controls button:focus-visible{outline:2px solid white;outline-offset:3px}
.client-notice{position:absolute;bottom:80px;right:24px;background:#142236dc;color:#fff;padding:12px 16px;border-radius:9px;font-size:12px;max-width:calc(100% - 48px);pointer-events:none}
.client-notice[hidden]{display:none}
.client-popup{position:absolute;inset:0;background:#08152280;display:grid;place-items:center;z-index:5;padding:24px;backdrop-filter:blur(6px)}
.client-popup section{position:relative;background:#fff;color:#203044;padding:32px;border-radius:18px;max-width:480px;max-height:80%;overflow:auto;box-shadow:0 20px 80px #0005}
.client-popup button{position:absolute;top:8px;right:10px;border:0;background:none;color:#203044;font-size:28px;cursor:pointer}
.client-popup p{line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}
.client-popup h2{font-size:22px;margin-top:0}
.pano-detail-status{position:absolute;top:90px;left:50%;transform:translateX(-50%);background:#122334d9;color:#fff;padding:9px 14px;border-radius:7px;font:11px Arial;max-width:85%;text-align:center;pointer-events:none}
.pano-detail-status[hidden]{display:none}
@media(max-width:600px){.client-header{padding:18px}.client-brand{font-size:14px}.client-controls{bottom:max(18px,env(safe-area-inset-bottom));right:max(18px,env(safe-area-inset-right))}.client-controls button{width:38px;height:38px;font-size:22px}}
.client-nav-toggle{position:absolute;top:100px;left:24px;width:42px;height:42px;display:grid;place-items:center;border:1px solid #ffffff30;border-radius:10px;background:#142236dc;color:#fff;font:24px Arial;cursor:pointer;z-index:2;backdrop-filter:blur(12px)}
.client-nav-toggle:focus-visible,.client-nav-item:focus-visible{outline:2px solid #fff;outline-offset:3px}
.client-nav{position:absolute;top:154px;left:24px;width:260px;max-width:calc(100% - 48px);max-height:calc(100% - 180px);padding:21px 14px 14px;background:#112337e8;border:1px solid #ffffff25;border-radius:14px;box-shadow:0 10px 40px #0002;backdrop-filter:blur(18px);overflow:auto;z-index:2}
.client-nav[hidden]{display:none}
.client-nav h2{color:#ffffffa8;font-size:11px;letter-spacing:1.2px;margin:0 10px 18px;font-weight:500;overflow-wrap:anywhere}
.client-nav-items{display:grid;gap:7px}
.client-nav-item{display:flex;align-items:center;gap:13px;width:100%;border:1px solid transparent;border-radius:9px;padding:13px 12px;color:#ffffffc9;background:transparent;text-align:left;font:12px Arial;line-height:1.6;cursor:pointer}
.client-nav-item small{font-size:9px;color:#ffffff50;flex-shrink:0}
.client-nav-item span{overflow-wrap:anywhere;min-width:0}
.client-nav-item:hover{background:#ffffff0a}
.client-nav-item.active{background:#ffffff13;border-color:#ffffff20;color:#fff;box-shadow:inset 3px 0 var(--tour-accent)}
.client-nav-item.active small{color:var(--tour-accent)}
.client-nav-item:disabled{opacity:.4;cursor:default}
@media(max-width:600px){.client-nav-toggle{top:90px;left:18px}.client-nav{top:143px;left:18px;width:240px;max-width:calc(100% - 36px);max-height:calc(100% - 210px)}}
.layout-figma{font-family:'Be Vietnam Pro',Arial,sans-serif;--layout-red:#600000;--layout-gold:#e5bf46}
.layout-figma .client-header{height:30%;padding:0 45px;align-items:flex-start;background-size:100% 100%;background-repeat:no-repeat;gap:13px;box-sizing:border-box}
.layout-figma .client-back{margin-top:65px;flex:0 0 187px;height:50px;border:1px solid #ffffffe6;border-radius:25px;background:linear-gradient(#ffffff40,transparent);color:white;font:600 16px Arial;cursor:pointer;pointer-events:auto}
.layout-figma .client-back:disabled{opacity:.65;cursor:default}
.layout-figma .client-scene-heading{display:flex;align-items:center;gap:19px;margin-top:55px;min-width:0;max-width:calc(100% - 380px)}
.layout-figma .client-divider{transform:rotate(90deg);flex-shrink:0;margin-inline:-31px}
.client-scene-copy{min-width:0}.client-scene-copy h1{font-size:32px;letter-spacing:-1.28px;margin:0 0 5px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}.client-scene-copy p{font-size:16px;font-weight:600;color:var(--layout-gold);margin:0;overflow-wrap:anywhere}
.layout-figma .client-brand{position:absolute;right:35px;top:132px;font-size:12px;max-width:240px}.layout-figma .client-brand span{display:none}.layout-figma .client-brand img{width:42px;height:42px}
.layout-figma .client-controls{top:65px;right:5.6%;bottom:auto;display:flex;gap:6px;z-index:3}.layout-figma .client-controls button{width:52px;height:52px;border:1px solid #969696;border-radius:50%;background:transparent;display:grid;place-items:center}.client-music-toggle.active{background:#730000!important}.client-music-toggle:not(.active) img{opacity:.6}.client-controls .client-music-toggle{display:inline-grid;place-items:center}
.client-info-wrapper{position:absolute;left:35px;top:21.76%;bottom:14%;width:500px;max-width:calc(100% - 70px);z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:19px;pointer-events:none}
.client-info-panel{background:white;color:#100f0f;border-radius:10px;padding:34px 33px;box-sizing:border-box;width:100%;flex:1;min-height:0;overflow:auto;pointer-events:auto}.client-info-panel h2{font-size:32px;font-weight:600;letter-spacing:-1.28px;color:var(--layout-red);margin:0 0 5px;line-height:1.25;overflow-wrap:anywhere}.client-info-subtitle{color:#866a11;font:600 16px Arial;margin:0 0 19px;overflow-wrap:anywhere}.client-info-body{font-size:16px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;margin:20px 0 0}
.client-info-toggle,.client-strip-toggle{display:flex;align-items:center;justify-content:center;gap:16px;height:50px;flex-shrink:0;border:1px solid white;border-radius:25px;padding:0 22px;color:white;font:600 16px Arial;background:linear-gradient(#0008,#ffffff05);cursor:pointer;pointer-events:auto}.client-info-toggle img{transform:rotate(90deg)}.client-info-toggle[aria-expanded=false] img{transform:rotate(-90deg)}.client-info-panel[hidden]{display:none}.client-info-wrapper:has(.client-info-panel[hidden]){justify-content:flex-end}
.client-scene-navigation{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);max-width:calc(100% - 70px);z-index:3;display:flex;flex-direction:column;align-items:center;gap:16px}.client-scene-strip{display:flex;gap:12px;background:#320000;padding:8px;border-radius:10px;max-width:100%;overflow-x:auto;box-sizing:border-box;scrollbar-width:thin}.client-scene-strip[hidden]{display:none}.client-scene-thumbnail{position:relative;flex:0 0 168.75px;width:168.75px;height:112.5px;overflow:hidden;border:1px solid #878787;border-radius:11.25px;padding:0;background:#142236;color:white;cursor:pointer;text-align:left}.client-scene-thumbnail>img:first-child,.client-thumbnail-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.client-thumbnail-shade{background:#0006}.client-scene-thumbnail>span:not(.client-thumbnail-shade){position:absolute;left:10px;right:8px;bottom:7px;font-size:16px;font-weight:600;letter-spacing:-.64px;line-height:1.2;overflow-wrap:anywhere}.client-scene-thumbnail.active{border:2px solid #ff8c00}.client-scene-thumbnail.active .client-thumbnail-shade{opacity:.2}.client-strip-toggle[aria-expanded=false] img{transform:rotate(180deg)}
.layout-figma .client-nav-toggle{top:135px;left:auto;right:35px}.layout-figma .client-nav{top:190px;left:auto;right:35px;max-height:calc(100% - 370px)}.layout-figma .client-notice{top:128px;bottom:auto;right:5.6%;z-index:4}.layout-figma button:focus-visible{outline:2px solid #ffcc65;outline-offset:3px}
@media(max-width:1400px){.layout-figma .client-header{padding:0 28px;gap:24px}.layout-figma .client-back{margin-top:36px;flex-basis:145px;height:44px}.layout-figma .client-scene-heading{margin-top:30px}.client-scene-copy h1{font-size:26px}.layout-figma .client-controls{top:36px;right:28px}.client-info-wrapper{left:24px;width:min(360px,34vw);top:21.76%;bottom:20%;gap:14px}.client-info-panel{padding:24px}.client-info-panel h2{font-size:26px}.client-scene-navigation{bottom:18px}.client-scene-thumbnail{flex-basis:140px;width:140px;height:94px}.client-info-toggle,.client-strip-toggle{height:44px;font-size:14px}.layout-figma .client-notice{top:95px;right:28px}}
@media(max-width:800px){.layout-figma .client-header{padding:0 16px;gap:20px}.layout-figma .client-back{margin-top:20px;flex-basis:88px;font-size:13px;height:36px}.layout-figma .client-scene-heading{margin-top:16px;max-width:calc(100% - 190px);gap:14px}.client-scene-copy{padding-left:0}.client-scene-copy h1{font-size:20px;letter-spacing:-.5px}.client-scene-copy p{font-size:12px}.layout-figma .client-controls{top:20px;right:16px;gap:5px}.layout-figma .client-controls button{width:36px;height:36px}.layout-figma .client-brand{top:70px;right:16px}.layout-figma .client-divider{display:none}.client-info-wrapper{left:16px;top:18%;bottom:180px;width:320px;max-width:calc(100% - 32px);gap:12px}.client-info-panel{padding:22px}.client-info-panel h2{font-size:23px}.client-info-subtitle,.client-info-body{font-size:14px}.client-scene-navigation{max-width:calc(100% - 32px);width:max-content;bottom:max(16px,env(safe-area-inset-bottom));gap:10px}.client-scene-thumbnail{flex-basis:120px;width:120px;height:80px}.client-scene-thumbnail>span{font-size:13px}.client-info-toggle,.client-strip-toggle{font-size:13px;height:38px;padding:0 16px}.layout-figma .client-nav-toggle{top:80px;right:16px}.layout-figma .client-nav{top:130px;right:16px;max-height:calc(100% - 310px)}.layout-figma .client-notice{top:65px;right:16px;max-width:250px}}
@media(max-width:500px){.layout-figma .client-back{flex-basis:65px;font-size:11px}.layout-figma .client-header{gap:12px}.layout-figma .client-scene-heading{max-width:calc(100% - 148px)}.client-scene-copy h1{font-size:17px}.client-info-wrapper{bottom:172px;top:110px;max-height:55%}.client-scene-strip{gap:8px}.client-info-panel{padding:18px}.client-info-body{line-height:1.55}.client-scene-navigation{width:calc(100% - 32px)}.client-strip-toggle{max-width:100%;font-size:12px}.client-info-toggle{font-size:12px}.layout-figma .client-brand{display:none}}
@media(max-height:550px){.client-info-wrapper{top:100px;bottom:140px}.client-info-panel{padding:16px}.client-info-panel h2{font-size:20px}.client-scene-thumbnail{height:60px}.client-scene-navigation{gap:8px;bottom:10px}}
@font-face{font-family:'Be Vietnam Pro';src:url('./tour-ui/BeVietnamPro-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
@font-face{font-family:'Be Vietnam Pro';src:url('./tour-ui/BeVietnamPro-SemiBold.ttf') format('truetype');font-weight:600;font-style:normal;font-display:swap}
@media(max-width:500px){.client-info-panel{flex:0 1 auto;max-height:calc(100% - 50px)}.layout-figma .client-scene-heading{max-width:calc(100% - 170px)}}
.client-scene-thumbnail.without-thumbnail{background:linear-gradient(135deg,#573635,#271e21)}.client-scene-thumbnail:disabled{opacity:.45;cursor:default}
.layout-figma .client-back{flex-basis:150px;height:40px;font-size:14px;border-radius:20px}
.layout-figma .client-controls button{width:42px;height:42px}
.layout-figma .client-controls button img{transform:scale(.85)}
.layout-figma .client-info-toggle,.layout-figma .client-strip-toggle{height:40px;padding-inline:16px;gap:10px;font-size:14px;border-radius:20px}
@media(max-width:1400px){.layout-figma .client-back{flex-basis:125px;height:38px;font-size:13px}.layout-figma .client-info-toggle,.layout-figma .client-strip-toggle{height:38px;font-size:13px}}
@media(max-width:800px){.layout-figma .client-back{flex-basis:80px;height:34px;font-size:12px}.layout-figma .client-controls button{width:34px;height:34px}.layout-figma .client-info-toggle,.layout-figma .client-strip-toggle{height:34px;padding-inline:12px;gap:8px;font-size:12px}}
@media(max-width:500px){.layout-figma .client-back{flex-basis:60px;font-size:11px}}


/* Fade only the panorama; navigation and audio controls remain usable. */
.client-scene-fade{position:absolute;inset:0;z-index:5;background:#000;opacity:0;pointer-events:none;transition:opacity 450ms ease}
.client-scene-fade.opaque{opacity:1}
.client-changing-scene .client-scene-fade{pointer-events:auto}
.client-changing-scene .pano-hotspots{visibility:hidden}
.client-load-status{display:none!important}
.client-labels-hidden .pano-hotspot em{display:none}
.client-labels-toggle{font-weight:600;font-size:15px}
@media(prefers-reduced-motion:reduce){.client-scene-fade{transition:none}}


/* Figma 5041:5607 / 5041:5727: icon-only collapsed, labelled expanded. */
.layout-figma .client-info-toggle{box-sizing:border-box;height:50px;min-height:50px;border-radius:23px;padding:0 22px;gap:16px;font:600 16px 'Be Vietnam Pro',Arial,sans-serif;letter-spacing:-.64px;background:linear-gradient(183.390528deg,rgba(0,0,0,.48) 11.741%,rgba(255,255,255,0) 379.26%);width:259px;max-width:100%}
.layout-figma .client-info-toggle img.client-info-icon{width:28px;height:28px;flex:none;transform:none}
.layout-figma .client-info-toggle>span{width:169px;text-align:left;flex:none}
.layout-figma .client-info-toggle[aria-expanded=false]{width:51px;padding:0;gap:0;background:linear-gradient(196.745066deg,rgba(0,0,0,.48) 11.741%,rgba(255,255,255,0) 379.26%)}
.layout-figma .client-info-toggle[aria-expanded=false]>span{display:none}


.client-scene-snapshot{position:absolute;inset:0;width:100%;height:100%;z-index:6;opacity:0;pointer-events:none;transition:opacity 700ms ease}
.client-scene-snapshot.visible{opacity:1;transition:none}
.client-controls [data-control="vr"]{font:bold 14px Arial,sans-serif;letter-spacing:.5px}
.client-vr-canvas{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.vr-presenting .client-controls [data-control="vr"]{background:#9b7038;color:white}
.client-changing-scene .client-scene-snapshot{pointer-events:auto}
@media(prefers-reduced-motion:reduce){.client-scene-snapshot{transition:none}}
