/* UI sits above the native player; panorama gestures and hotspots stay native. */
.app{position:fixed;inset:0;z-index:30;pointer-events:none;background:transparent;overflow:visible}.app .tour{background:transparent;pointer-events:none}.app button,.app a,.app nav,.app .filmstrip,.app .room-card,.app .welcome{pointer-events:auto}.app .sidebar{pointer-events:auto}.topbar{pointer-events:none}.floating-brand,.top-actions{pointer-events:auto}.skin-dialog,#help-dialog{z-index:80}.opening{z-index:70}.skin-rail{z-index:35}#preloadContainer{pointer-events:none}#viewer:focus-visible{outline:0}.intro-photo{background-image:url('assets/fachada.jpg')}.intro-content h1{font-family:Manrope,Arial,sans-serif}.scene-transition{pointer-events:none}html,body{font-size:16px}#viewer{touch-action:none}body .fill-viewport{width:auto;height:auto}.room-card p{max-width:330px}.room-card h2{max-width:420px}dialog button{touch-action:manipulation}
@supports(padding:env(safe-area-inset-bottom)){.skin-rail{bottom:calc(25px + env(safe-area-inset-bottom))}.topbar{top:calc(25px + env(safe-area-inset-top))}}
@media(max-width:760px){.skin-rail{bottom:calc(18px + env(safe-area-inset-bottom))}.contact-cta{bottom:calc(24px + env(safe-area-inset-bottom))}.topbar{top:calc(16px + env(safe-area-inset-top))}.bottom{bottom:calc(90px + env(safe-area-inset-bottom))}.room-card{bottom:calc(183px + env(safe-area-inset-bottom))}.view-controls{bottom:calc(184px + env(safe-area-inset-bottom))}}

.cinematic-opening .intro-content{position:absolute;left:clamp(30px,7vw,112px);top:clamp(30px,7vh,85px);margin:0;justify-self:start;align-self:start}.cinematic-opening .intro-photo{inset:0}.cinematic-opening .intro-shade{inset:0}
@media(max-width:760px){.cinematic-opening .intro-content{position:relative;left:auto;top:auto;margin:27px 24px 75px}.cinematic-opening .intro-photo{inset:0 0 42%}}
@media(max-height:500px) and (min-width:600px){.cinematic-opening .intro-content{position:absolute;left:6vw;top:28px;margin:0}.cinematic-opening .intro-photo{inset:0}}
@media(max-width:760px){.room-card{bottom:calc(98px + env(safe-area-inset-bottom))}.view-controls{bottom:calc(99px + env(safe-area-inset-bottom))}}
@media(max-height:500px) and (min-width:600px){.room-card{bottom:20px}.view-controls{bottom:20px}}

#rotate{display:none!important}#vr-toggle{display:grid;place-items:center}#vr-toggle[aria-pressed=true]{background:#d71324;color:#fff}.app.in-vr .topbar,.app.in-vr .skin-rail,.app.in-vr .room-card{display:none}.app.in-vr .view-controls>button:not(#vr-toggle),.app.in-vr .view-controls>span{display:none}
#vr-toggle{display:none}.view-controls>span{display:none}
@media(max-width:760px){#vr-toggle{display:grid}.view-controls>span{display:block}}

/* Panorama information appears for five seconds on each native scene entry. */
.app .room-card{transition:left .56s cubic-bezier(.16,1,.3,1),opacity .45s ease,transform .45s cubic-bezier(.16,1,.3,1),visibility 0s;opacity:1;transform:translateY(0);visibility:visible}
.app .room-card.room-card-hidden{opacity:0;transform:translateY(10px);visibility:hidden;pointer-events:none;transition:left .56s cubic-bezier(.16,1,.3,1),opacity .45s ease,transform .45s cubic-bezier(.16,1,.3,1),visibility 0s .45s}
@media(prefers-reduced-motion:reduce){.app .room-card,.app .room-card.room-card-hidden{transition:none;transform:none}}

/* Release compatibility: visible viewport, safe areas and touch, without changing the desktop skin. */
html{height:100%;height:-webkit-fill-available}html,body{width:100%;overscroll-behavior:none;-webkit-text-size-adjust:100%}
body{height:100%;height:100svh;height:100dvh}
.app{height:100%;height:100svh;height:100dvh;min-height:0}
.cinematic-opening{height:100%;height:100svh;height:100dvh;-webkit-overflow-scrolling:touch}
.skin-dialog,#help-dialog{max-height:calc(100svh - 32px);max-height:calc(100dvh - 32px);overscroll-behavior:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}
.app.panel-open .view-controls,.app.panel-open .room-card,.app.panel-open .skin-rail,.app.panel-open .topbar{visibility:hidden;pointer-events:none}
button[hidden]{display:none!important}
@media(max-width:760px),(pointer:coarse){
 .top-actions .glass,.view-controls button,.room-card .step-controls button,.skin-rail button,.skin-rail a,.panel-close,.close-dialog:not(.primary){min-width:44px;min-height:44px;touch-action:manipulation}
 .top-actions .glass{width:44px;height:44px}.view-controls button,.room-card .step-controls button{width:44px;height:44px}
 .skin-rail button,.skin-rail a{width:44px;height:44px;flex-shrink:0}
 .intro-links a,.intro-links button,.location-social a{min-height:44px;touch-action:manipulation}
 .skin-dialog,#help-dialog{backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 12px 35px #0002}
 dialog::backdrop{backdrop-filter:none;-webkit-backdrop-filter:none}
 .intro-photo{animation:none}.floating-brand{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
 .topbar{left:calc(16px + env(safe-area-inset-left));right:calc(16px + env(safe-area-inset-right));top:calc(16px + env(safe-area-inset-top))}
 .skin-rail{left:calc(16px + env(safe-area-inset-left));right:calc(78px + env(safe-area-inset-right));bottom:calc(18px + env(safe-area-inset-bottom))}
 .contact-cta{right:calc(20px + env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom))}
 .room-card{left:calc(16px + env(safe-area-inset-left));max-width:calc(100% - 80px - env(safe-area-inset-left) - env(safe-area-inset-right))}
 .view-controls{right:calc(16px + env(safe-area-inset-right))}
 .intro-content{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}
 .intro-bottom{bottom:calc(20px + env(safe-area-inset-bottom))}
}
@media(pointer:coarse) and (min-width:761px) and (min-height:501px){
 .skin-rail{left:calc(22px + env(safe-area-inset-left));right:auto;top:calc(25px + env(safe-area-inset-top));bottom:calc(25px + env(safe-area-inset-bottom));width:73px;height:auto;flex-direction:column}
 .topbar{left:calc(123px + env(safe-area-inset-left))}.room-card{left:calc(123px + env(safe-area-inset-left))}
}
@media(max-height:500px) and (min-width:600px){
 .skin-rail{left:calc(14px + env(safe-area-inset-left));right:auto;top:calc(12px + env(safe-area-inset-top));bottom:calc(12px + env(safe-area-inset-bottom));height:auto;width:62px;overflow-y:auto}
 .topbar{left:calc(95px + env(safe-area-inset-left));top:calc(12px + env(safe-area-inset-top))}
 .room-card{left:calc(95px + env(safe-area-inset-left));bottom:calc(20px + env(safe-area-inset-bottom));max-width:calc(100% - 175px - env(safe-area-inset-left) - env(safe-area-inset-right))}
 .view-controls{bottom:calc(20px + env(safe-area-inset-bottom))}
}
@media(max-width:370px){.floating-brand{padding:7px 9px}.floating-brand img{width:103px}.top-actions{gap:4px}.topbar{gap:8px}}

@media(pointer:coarse) and (max-height:500px){#vr-toggle{display:grid}.view-controls>span{display:block}}
