/* BOSQUE ALTO / IMMERSIVE 360 LUXURY INTERFACE V3 */
.tour-lux{position:relative;width:100%;background:#101b17;color:#f7f4ea;isolation:isolate}
.lux-stage{position:relative;width:100%;height:100svh;min-height:500px;overflow:hidden;background:#17261e;isolation:isolate}
.lux-stage:fullscreen,.lux-stage:-webkit-full-screen{height:100dvh;min-height:0;width:100vw}
.lux-view{position:absolute;inset:0;width:100%;height:100%;z-index:1;background:#253c2d}
#viewer>.pnlm-container{width:100%;height:100%;border:0!important}
#viewer .pnlm-render-container{background:#203a2b}
.lux-vignette{position:absolute;inset:0;z-index:2;pointer-events:none;background:linear-gradient(180deg,rgba(6,18,13,.58) 0%,rgba(7,20,15,.1) 18%,rgba(9,17,12,0) 41%,rgba(8,19,14,.1) 63%,rgba(4,14,11,.77) 100%),linear-gradient(90deg,rgba(9,20,14,.33),transparent 55%);transition:background .7s}
.lux-stage:not(.started) .lux-vignette{background:transparent}
.lux-hud{position:absolute;z-index:8;pointer-events:none}
.lux-hud a,.lux-hud button{pointer-events:auto}
.lux-hud-top{top:0;left:0;right:0;padding:clamp(17px,2.6vw,39px) clamp(20px,5vw,90px);display:flex;justify-content:space-between;align-items:start;gap:15px}
.lux-hud-brand{display:flex;align-items:center;gap:11px;letter-spacing:.16em;font-size:12px;font-weight:700;color:#fff;line-height:1.14;text-shadow:0 1px 10px #0006}
.lux-hud-brand small{display:block;font-size:9px;font-weight:400;letter-spacing:.17em;margin-top:6px}
.lux-monogram{display:grid;place-items:center;border:1px solid #ffffffb8;width:42px;height:42px;font:italic 20px Georgia,serif;letter-spacing:-.08em}
.lux-upper-right{display:flex;align-items:center;gap:20px}
.lux-live{display:flex;gap:9px;align-items:center;font-size:9px;letter-spacing:.2em;font-weight:700;color:#f5eee0;text-shadow:0 1px 10px #0006;white-space:nowrap}
.lux-led{height:7px;width:7px;border-radius:50%;background:#b9e9ad;box-shadow:0 0 14px #7edf75}
.lux-iconbtn{color:#f6f3ea;background:#071f1994;border:1px solid #ffffff6c;width:41px;height:41px;font-size:24px;display:grid;place-items:center;line-height:1;transition:background .2s}
.lux-iconbtn:hover,.lux-iconbtn:focus-visible{background:#f6f3ea;color:#203a2d}
.lux-room-info{left:clamp(25px,5vw,90px);top:clamp(105px,19svh,200px);max-width:min(460px,52vw);transition:opacity .5s,transform .5s}
.lux-stage:not(.started) .lux-room-info{opacity:0;transform:translateY(-15px)}
.lux-eyebrow{font-size:10px;letter-spacing:.22em;font-weight:700;color:#e5d6b7;text-shadow:0 1px 10px #0007}
.lux-room-info h3{font-family:"Playfair Display",Georgia,serif;font-size:clamp(50px,5.2vw,91px);font-weight:400;letter-spacing:-.06em;line-height:1.03;margin:14px 0 19px;text-shadow:0 4px 24px #0008}
.lux-room-info h3 em{color:#ebd8b5}
.lux-room-info p{font-size:12px;line-height:1.9;max-width:260px;color:#efeee2;text-shadow:0 2px 12px #000e}
.lux-hud-bottom{left:clamp(23px,5vw,90px);right:clamp(23px,5vw,90px);bottom:clamp(66px,11svh,100px);display:flex;align-items:end;justify-content:space-between;gap:25px}
.lux-rail-label{display:block;font-size:9px;letter-spacing:.19em;color:#d7d6c9;font-weight:700;margin-bottom:15px}
.lux-rooms{display:flex;align-items:center;gap:8px}
.lux-room{border:1px solid #ffffff91;color:#f8f7ed;background:#0a211ab0;min-width:194px;min-height:60px;padding:0 15px;display:flex;align-items:center;gap:11px;text-align:left;font-size:13px;letter-spacing:.01em;transition:background .25s,color .25s,border-color .25s;backdrop-filter:blur(12px)}
.lux-room-n{color:#cdcbaf;font-size:11px;letter-spacing:.05em}
.lux-room-arrow{margin-left:auto;font-size:16px}
.lux-room.active,.lux-room:hover{background:#f4f1e8;border-color:#f4f1e8;color:#153629}.lux-room.active .lux-room-n,.lux-room:hover .lux-room-n{color:#7d8b75}
.lux-right-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:end}
.lux-tools{background:#0b261eb8;color:#f7f5e8;border:1px solid #f4f1e977;padding:17px 21px;font-size:10px;letter-spacing:.13em;font-weight:700;text-transform:uppercase;backdrop-filter:blur(10px);white-space:nowrap}
.lux-tools:hover,.lux-tools:focus-visible{background:#f5f1e8;color:#1c3527}
.lux-hint{left:clamp(23px,5vw,90px);right:clamp(23px,5vw,90px);bottom:clamp(17px,3svh,30px);display:flex;align-items:end;justify-content:space-between;gap:30px;font-size:9px;letter-spacing:.1em;font-weight:500;color:#cbd6c5;text-shadow:0 2px 7px #001}
.lux-hint #tourStatus{color:#f8f4e9;font-size:10px;letter-spacing:0}
.lux-sourcebar{min-height:60px;background:#132820;color:#c1cfc1;display:flex;align-items:center;justify-content:space-between;gap:25px;padding:18px clamp(23px,5vw,90px);font-size:10px;letter-spacing:.12em;font-weight:600}
.lux-sourcebar a{color:#f6f2e4;text-decoration:underline;text-underline-offset:5px}
.lux-sourcebar a:hover{color:#dfc7a0}
.lux-splash{position:absolute;inset:0;display:grid;place-items:center;background:linear-gradient(90deg,#071914b5,#07191475),url('/assets/360-sala-premium-mobile.jpg') center/cover no-repeat;overflow:hidden}
.lux-splash-inner{text-align:center;display:flex;flex-direction:column;align-items:center;gap:15px;padding:80px 25px 120px;max-width:870px;color:#fff}
.lux-circle{border:1px solid #ffffffcf;border-radius:50%;height:104px;width:104px;display:grid;place-items:center;font:300 37px Manrope,sans-serif;letter-spacing:-.1em;transform:rotate(-5deg);margin-bottom:15px}.lux-circle span{font-size:17px;position:absolute;right:23px;top:20px}
.lux-overline{font-size:10px;font-weight:700;letter-spacing:.28em;color:#f0e5cd}
.lux-splash h2{font-size:clamp(59px,8.6vw,129px);line-height:1.02;letter-spacing:-.065em;margin:0;color:#fff}.lux-splash h2 em{color:#e5d1aa}
.lux-splash p{font-size:13px;color:#f3f3e9;line-height:1.9;max-width:420px}
.lux-enter{background:#f5f1e9;border:0;color:#1d3b2d;min-width:245px;padding:19px 23px;display:flex;align-items:center;justify-content:space-between;gap:20px;text-transform:uppercase;letter-spacing:.13em;font-weight:700;font-size:11px;box-shadow:0 13px 40px #0003;cursor:pointer}
.lux-enter:hover{background:#e4d4bb}.lux-splash small{font-size:10px;letter-spacing:.02em;color:#d6dbd0}
.lux-stage:not(.started) .lux-hud-bottom{opacity:.0;pointer-events:none}
.lux-stage:not(.started) .lux-hint{opacity:.0}
.lux-map{position:absolute;z-index:14;right:clamp(18px,5vw,90px);bottom:clamp(155px,23svh,225px);width:min(350px,calc(100vw - 35px));background:#f5f4e9;color:#1d392c;padding:27px;box-shadow:0 25px 90px #0007}
.lux-map[hidden]{display:none}
.lux-map-top{display:flex;align-items:center;justify-content:space-between;gap:10px;letter-spacing:.14em;font-size:11px}
.lux-map-top button{font-size:25px;background:none;border:0;color:#183527}
.lux-map p{font-size:12px;line-height:1.75;color:#657669}
.lux-map-rooms{display:grid;gap:10px;margin:25px 0}.lux-map-rooms button{text-align:left;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:17px 14px;border:1px solid #c0cbbf;background:#fff;color:#193729;font-size:12px}
.lux-map-rooms button:hover{background:#dae4d5}.lux-map-rooms strong{font-size:13px}.lux-map-dots{display:block;text-align:center;color:#7e9381;letter-spacing:.55em}
.lux-map small{font-size:10px;color:#708577}
.lux-stage .pnlm-container{width:100%;height:100%}
.lux-stage .pnlm-about-msg{display:none}
.lux-stage .pnlm-panorama-info{display:none!important}
.lux-stage .pnlm-controls-container{left:18px!important;top:43%!important}
.lux-stage .pnlm-zoom-controls,.lux-stage .pnlm-fullscreen-toggle-button{border-radius:0!important;opacity:.85;background:#f4f0e5d9!important;box-shadow:none!important}
.lux-stage .pnlm-hotspot.pnlm-scene{border:1px solid white;border-radius:50%;box-shadow:0 0 0 8px #ffffff27,0 10px 20px #0008;background:#f7f4eec9!important;width:35px;height:35px;animation:luxpulse 2s ease-in-out infinite}
@keyframes luxpulse{50%{box-shadow:0 0 0 14px #ffffff08,0 10px 20px #0008}}
body.lux-in-view .topbar{transform:translateY(-102%);pointer-events:none}
.topbar{transition:transform .35s ease}
@media(max-width:900px){.lux-hud-bottom{bottom:75px}.lux-room{min-width:150px}.lux-tools{padding:16px}.lux-contact{display:none}.lux-room-info{top:130px}.lux-room-info h3{font-size:70px}}
@media(max-width:620px){.lux-stage{height:100svh;min-height:540px}.lux-hud-top{top:0;padding:24px 21px}.lux-monogram{width:36px;height:36px}.lux-hud-brand{font-size:10px}.lux-hud-brand small{font-size:8px}.lux-live{font-size:8px;letter-spacing:.11em}.lux-upper-right{gap:9px}.lux-iconbtn{width:37px;height:37px;font-size:21px}
.lux-room-info{top:105px;left:22px;right:22px;max-width:calc(100vw - 44px)}.lux-room-info h3{font-size:clamp(45px,12vw,60px);margin:7px 0}.lux-room-info p{font-size:10px;line-height:1.55;max-width:200px}
.lux-hud-bottom{left:19px;right:19px;bottom:83px;display:block}.lux-rail-label{font-size:8px;margin-bottom:11px}.lux-select-area{max-width:100%}.lux-rooms{display:grid;grid-template-columns:1fr 1fr;gap:6px}.lux-room{min-width:0;padding:9px 10px;min-height:53px;gap:7px;font-size:11px;letter-spacing:-.01em}.lux-room-n{font-size:9px}.lux-room-arrow{display:none}
.lux-right-actions{justify-content:start;margin-top:9px}.lux-tools{padding:11px 13px;font-size:9px}.lux-hint{left:19px;right:19px;bottom:19px;font-size:8px;line-height:1.5;display:block}.lux-hint span:last-child{display:none}
.lux-sourcebar{display:grid;grid-template-columns:1fr auto;padding:18px 19px;gap:11px;font-size:9px}.lux-sourcebar span{grid-column:1/-1}.lux-splash-inner{padding:70px 21px 70px;gap:11px}.lux-circle{width:77px;height:77px;font-size:27px;margin:0}.lux-circle span{font-size:12px;right:17px;top:14px}.lux-overline{font-size:8px}.lux-splash h2{font-size:clamp(58px,14vw,90px)}.lux-splash p{font-size:11px;max-width:290px}.lux-enter{min-width:235px;padding:16px 19px}.lux-splash small{font-size:9px;max-width:285px}.lux-map{right:12px;left:12px;bottom:169px;width:auto;padding:20px}.lux-stage .pnlm-controls-container{left:8px!important;top:37%!important}
}
@media(prefers-reduced-motion:reduce){.lux-room,.lux-room-info,.lux-vignette{transition:none!important}.lux-stage .pnlm-hotspot.pnlm-scene{animation:none!important}}

/* Native room-to-room hotspots, replacing invisible custom default sprites. */
.lux-stage .pnlm-hotspot-base.lux-scene-marker{width:44px;height:44px;margin:-22px 0 0 -22px;display:grid;place-items:center;border-radius:50%;background:rgba(245,242,230,.95);border:2px solid #fff;box-shadow:0 0 0 7px #ffffff31,0 8px 25px #0008;cursor:pointer;animation:luxpulse 2.8s ease-in-out infinite}
.lux-stage .pnlm-hotspot-base.lux-scene-marker:before{content:'↗';color:#163827;font-size:24px;font-family:Manrope,Arial,sans-serif;line-height:1}
.lux-stage .pnlm-hotspot-base.lux-scene-marker:hover{background:#d9c6a4;transform:scale(1.08)}
.lux-stage .pnlm-hotspot-base.lux-scene-marker span{font:600 12px Manrope,Arial,sans-serif!important;color:#17382b!important;background:#f8f6e8f2!important;padding:10px 13px!important;border:0!important;border-radius:0!important;box-shadow:0 6px 24px #0003!important}
@media(prefers-reduced-motion:reduce){.lux-stage .pnlm-hotspot-base.lux-scene-marker{animation:none!important}}

/* v4 / Persistent apartment-view minimap */
.lux-minimap{position:absolute;right:clamp(18px,5vw,88px);top:clamp(115px,16svh,160px);z-index:13;width:238px;background:rgba(246,245,237,.94);color:#1b382c;border:1px solid #f7f4e0c7;box-shadow:0 13px 48px #03130b66;backdrop-filter:blur(14px);font-family:Manrope,Arial,sans-serif;overflow:hidden;transition:opacity .35s,transform .35s}
.lux-stage:not(.started) .lux-minimap{opacity:0;transform:translateY(-9px);pointer-events:none}
.mini-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:13px 12px 11px 15px;border-bottom:1px solid #bdcabc}
.mini-head span{display:block;color:#718376;letter-spacing:.16em;font-size:8px;font-weight:700}
.mini-head strong{display:block;font-size:10px;letter-spacing:.06em;font-weight:700;margin-top:5px}
.mini-head button{width:25px;height:25px;background:#e3e7de;border:1px solid #b5c2b4;color:#234532;cursor:pointer;font-size:18px;line-height:18px}
.mini-body{padding:11px 12px 12px}.mini-body[hidden]{display:none}
#miniSvg{display:block;width:100%;height:auto;background:#f4f4ea;border:1px solid #d8ded4}
.mini-svg-caption{font-size:10px;fill:#546e59;font-weight:700;font-family:Manrope,Arial,sans-serif}
.mini-node-buttons{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:9px 0}
.mini-node{border:1px solid #bdc9b9;background:transparent;color:#36533f;padding:9px 5px;font-size:10px;font-weight:700;text-align:center;cursor:pointer}
.mini-node.active,.mini-node:hover{background:#1f4433;border-color:#1f4433;color:white}
.mini-bearing{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-top:10px}
.mini-bearing span:first-child{font-size:11px;font-weight:800;color:#254731;letter-spacing:.08em;font-variant-numeric:tabular-nums}
.mini-bearing span:last-child{font-size:7px;letter-spacing:.04em;color:#758573}
.mini-body small{display:block;color:#859185;font-size:8px;line-height:1.45;margin-top:6px}
.lux-stage .pnlm-panorama-info{display:none!important}
@media(max-width:900px){.lux-minimap{width:195px;top:120px;right:18px}.mini-body{padding:8px}.mini-head{padding:10px 9px}.mini-head strong{font-size:9px}.mini-node{padding:7px 3px}.mini-body small{font-size:7px}}
@media(max-width:620px){
 .lux-minimap{top:clamp(255px,34svh,310px);right:10px;width:148px;background:rgba(246,245,237,.93)}
 .mini-head{padding:9px 7px}.mini-head strong{font-size:8px}.mini-head span{font-size:7px}.mini-head button{width:22px;height:22px;font-size:15px}
 .mini-body{padding:6px}.mini-node{font-size:9px;padding:6px 2px}.mini-node-buttons{gap:4px;margin:5px 0}
 .mini-bearing{margin-top:6px}.mini-bearing span:first-child{font-size:9px}.mini-bearing span:last-child{display:none}.mini-body small{font-size:7px}
 .lux-room-info{max-width:calc(100vw - 160px)}.lux-room-info h3{font-size:clamp(39px,10vw,55px)}
}
@media(max-width:380px){.lux-minimap{width:137px}.lux-room-info{max-width:calc(100vw - 149px)}.lux-room-info h3{font-size:40px}}

