/* MASTER INDUSTRIA · carcasa común de los visores 3D */
@font-face{font-family:'Barlow Condensed';src:url('./fonts/BarlowCondensed-Bold.woff2') format('woff2');font-weight:700;font-display:swap}
@font-face{font-family:'Barlow Condensed';src:url('./fonts/BarlowCondensed-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
:root{--vs-navy:#0B1F33;--vs-line:rgba(214,228,232,.14);--vs-oro:#FAAF42;--vs-hielo:#D6E4E8;--vs-celeste:#2B9FFD}
html,body{height:100%;width:100%;overflow:hidden}
body{background:var(--vs-navy)!important;color:var(--vs-hielo)}
.vs-stage{position:relative!important;overflow:hidden!important;width:100%!important;height:100%!important;min-height:0!important;background:var(--vs-navy)!important;background-image:none!important;border:1px solid var(--vs-line)!important}
.vs-grid{position:absolute;inset:0;z-index:0;pointer-events:none;background-image:linear-gradient(rgba(214,228,232,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(214,228,232,.06) 1px,transparent 1px);background-size:32px 32px}
.vs-stage canvas{position:relative;z-index:1;display:block;width:100%;height:100%;touch-action:pan-y}
/* estados bespoke de cada widget: fuera */
.cald3d-poster,#loading,.scene-info,.t3d-kicker,.t3d-poster,#caption,#cald3d-hint,.t3d-hint,#hint,.grid-bg,.technical-header,.vs-stage>.loading,.vs-stage>.hint{display:none!important}
/* carga */
.vs-poster{position:absolute;inset:0;z-index:2;display:grid;place-items:center;background:none;font-family:'Barlow Condensed','Arial Narrow',system-ui,sans-serif;font-weight:700;font-size:12.5px;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:rgba(250,175,66,.72);transition:opacity .45s}
.vs-poster.off{opacity:0;pointer-events:none}
/* ayuda de arrastre */
.vs-hint{position:absolute;z-index:5;right:14px;bottom:62px;font-family:'Barlow Condensed','Arial Narrow',system-ui,sans-serif;font-weight:700;font-size:12.5px;line-height:1;letter-spacing:.14em;text-transform:uppercase;color:rgba(250,175,66,.72);pointer-events:none;opacity:0;transition:opacity .5s}
.vs-hint.on{opacity:1}
/* barra de vistas: dentro del borde superior, compacta y uniforme */
.scene-bar,.views,nav:has(>button[data-view]),nav:has(>button[data-v]),nav:has(>button[data-scene]){position:absolute!important;z-index:4!important;left:50%!important;top:12px!important;transform:translateX(-50%)!important;display:flex!important;flex-wrap:nowrap!important;justify-content:center!important;gap:6px!important;width:auto!important;max-width:calc(100% - 24px)!important;overflow-x:auto!important;scrollbar-width:none}
.scene-bar::-webkit-scrollbar,.views::-webkit-scrollbar,nav:has(>button[data-view])::-webkit-scrollbar,nav:has(>button[data-v])::-webkit-scrollbar,nav:has(>button[data-scene])::-webkit-scrollbar{display:none}
.scene-btn,.view,nav>button[data-view],nav>button[data-v],nav>button[data-scene]{position:relative;flex:0 0 auto;appearance:none;border:0;background:rgba(4,13,22,.5);backdrop-filter:blur(4px);color:var(--vs-oro);height:32px;padding:0 14px;font:700 12.5px/1 'Barlow Condensed','Arial Narrow',system-ui,sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;white-space:nowrap;clip-path:polygon(9px 0,100% 0,100% 100%,0 100%,0 9px);transition:color .25s,background .25s}
.scene-btn::before,.view::before,nav>button[data-view]::before,nav>button[data-v]::before,nav>button[data-scene]::before{content:'';position:absolute;inset:0;pointer-events:none;border:1px solid rgba(250,175,66,.55);clip-path:inherit;transition:border-color .25s}
.scene-btn:hover,.view:hover,nav>button[data-view]:hover,nav>button[data-v]:hover,nav>button[data-scene]:hover{color:var(--vs-celeste);background:rgba(43,159,253,.14)}
.scene-btn:hover::before,.view:hover::before,nav>button[data-view]:hover::before,nav>button[data-v]:hover::before,nav>button[data-scene]:hover::before{border-color:var(--vs-celeste)}
.scene-btn[aria-pressed="true"],.scene-btn.active,.view.active,nav>button[data-view].on,nav>button[data-v].on,nav>button[data-scene][aria-pressed="true"]{color:var(--vs-navy);background:var(--vs-oro)}
.scene-btn[aria-pressed="true"]::before,.scene-btn.active::before,.view.active::before,nav>button[data-view].on::before,nav>button[data-v].on::before,nav>button[data-scene][aria-pressed="true"]::before{border-color:var(--vs-oro)}
@media(max-width:560px){.vs-hint,.vs-poster{font-size:10.5px;letter-spacing:.1em}.vs-hint{left:14px;right:auto;text-align:left}.scene-btn,.view,nav>button[data-view],nav>button[data-v],nav>button[data-scene]{height:28px;padding:0 10px;font-size:10.5px;letter-spacing:.1em;clip-path:polygon(7px 0,100% 0,100% 100%,0 100%,0 7px)}}
