/* Local, lazy-loaded room viewer. Shares the CHUC site's palette. */
.sala-3d-card{display:grid;grid-template-columns:minmax(220px,.9fr) minmax(0,1.1fr);grid-column:1/-1;gap:0;overflow:hidden;margin-top:24px;border:1px solid var(--line,#d9e2dc);border-radius:13px;background:var(--surface,#fff);color:var(--text,var(--ink,#183538));text-align:left}
#visita-virtual{scroll-margin-top:calc(var(--nav-height,124px) + 24px)}
.sala-3d-preview{position:relative;display:block;min-width:0;overflow:hidden;background:var(--cream,#edf1e9);text-decoration:none;color:var(--text,var(--ink,#183538))}
.sala-3d-preview img{display:block;width:100%;height:100%;min-height:220px;max-height:330px;object-fit:cover;object-position:center;transition:transform .25s ease}
.sala-3d-preview:hover img{transform:scale(1.025)}
.sala-3d-preview:focus-visible{outline:3px solid var(--teal,#21766f);outline-offset:-4px}
.sala-3d-copy{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:0;padding:26px 29px}
.sala-3d-copy>.sala-3d-badge,.sala-3d-copy>span:first-child{display:inline-flex;align-items:center;gap:7px;font-size:10px;font-weight:700;line-height:1.4;letter-spacing:.09em;text-transform:uppercase;color:var(--teal,#21766f)}
.sala-3d-copy>.sala-3d-badge::before,.sala-3d-copy>span:first-child::before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex:none}
.sala-3d-copy h4{font-family:inherit;font-size:24px;font-weight:600;line-height:1.18;letter-spacing:-.45px;margin:10px 0 12px;color:var(--text,var(--ink,#183538))}
.sala-3d-copy p{max-width:49ch;margin:0 0 13px;font-size:14px;line-height:1.65;color:var(--muted,#526b6b)}
.sala-3d-copy p.sala-3d-note{font-size:11px;line-height:1.55;margin-top:2px}
.sala-3d-launch{display:inline-flex;align-items:center;justify-content:center;gap:13px;min-height:46px;margin-top:3px;padding:12px 17px;border:1px solid var(--petrol,#123c40);border-radius:8px;background:var(--petrol,#123c40);color:#fff;font-family:inherit;font-size:13px;font-weight:600;line-height:1.4;text-decoration:none;cursor:pointer;transition:background .18s ease,border-color .18s ease}
.sala-3d-launch:hover{background:var(--petrol-2,#184a4e);border-color:var(--petrol-2,#184a4e);color:#fff}
.sala-3d-launch:focus-visible{outline:3px solid var(--amber,#efc17d);outline-offset:4px}
.sala-3d-launch svg{width:17px;height:17px;flex:none}
body.sala-3d-open{overflow:hidden}
#sala-3d-dialog{display:none;position:fixed;inset:0;width:min(1500px,96vw);height:min(950px,94dvh);max-width:96vw;max-height:94dvh;margin:auto;padding:0;overflow:hidden;border:1px solid var(--line,#d9e2dc);border-radius:15px;background:var(--surface,#fff);color:var(--text,var(--ink,#183538));box-shadow:0 24px 90px #061f2c66}
#sala-3d-dialog[open]{display:flex;flex-direction:column}
#sala-3d-dialog::backdrop{background:rgba(8,31,35,.82)}
.sala-3d-toolbar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:18px;flex:none;min-height:72px;padding:16px 21px;border-bottom:1px solid var(--line,#d9e2dc);background:var(--surface,#fff)}
.sala-3d-toolbar h2{margin:0;font-size:19px;font-weight:650;line-height:1.3;letter-spacing:-.3px;color:var(--text,var(--ink,#183538))}
.sala-3d-toolbar p{margin:5px 0 0;font-size:11px;line-height:1.5;color:var(--muted,#526b6b)}
.sala-3d-toolbar>.sala-3d-actions{display:flex;align-items:center;gap:10px;flex:none}
.sala-3d-toolbar a.sala-3d-open{font-size:11px;font-weight:600;line-height:1.5;white-space:nowrap;color:var(--teal,#21766f);text-decoration:underline;text-underline-offset:3px}
#sala-3d-close{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:44px;min-height:40px;padding:8px 13px;flex:none;border:1px solid var(--line,#d9e2dc);border-radius:8px;background:var(--surface,#fff);color:var(--text,var(--ink,#183538));font-family:inherit;font-size:12px;font-weight:600;line-height:1.4;cursor:pointer}
#sala-3d-close:hover{background:var(--cream,#edf1e9);border-color:var(--teal,#21766f)}
#sala-3d-dialog :is(button,a,iframe):focus-visible{outline:3px solid var(--amber,#efc17d);outline-offset:3px}
.sala-3d-frame-host{display:flex;position:relative;flex:1 1 auto;min-height:0;overflow:hidden}
#sala-3d-frame{display:block;width:100%;height:100%;min-height:0;flex:1 1 0;border:0;background:var(--cream,#edf1e9)}
#sala-3d-loading{position:absolute;z-index:2;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:30px;background:var(--surface,#fff);color:var(--muted,#526b6b);font-size:14px;line-height:1.65;text-align:center;pointer-events:none}
#sala-3d-loading[hidden]{display:none!important}
#sala-3d-loading::before{content:"";width:27px;height:27px;border:2px solid var(--line,#d9e2dc);border-top-color:var(--teal,#21766f);border-radius:50%;animation:sala-3d-spin 1.1s linear infinite}
#sala-3d-loading a{color:var(--teal,#21766f);pointer-events:auto;font-size:12px;text-underline-offset:3px}
@keyframes sala-3d-spin{to{transform:rotate(360deg)}}
[data-theme=dark] .sala-3d-copy>.sala-3d-badge,[data-theme=dark] .sala-3d-copy>span:first-child,[data-theme=dark] .sala-3d-toolbar a.sala-3d-open{color:var(--teal-light,#8ad4bc)}
[data-theme=dark] .sala-3d-launch{background:#276e63;border-color:#488d7d}
[data-theme=dark] .sala-3d-launch:hover{background:#338172;border-color:#61a993}
@media(max-width:850px){.sala-3d-card{grid-template-columns:minmax(200px,.85fr) minmax(0,1.15fr)}.sala-3d-copy{padding:22px}.sala-3d-copy h4{font-size:22px}.sala-3d-copy p{font-size:13px}.sala-3d-toolbar{gap:12px;padding:13px 16px}.sala-3d-toolbar h2{font-size:17px}.sala-3d-toolbar>.sala-3d-actions{gap:8px}}
@media(max-width:600px){.sala-3d-card{grid-template-columns:1fr;margin-top:20px}.sala-3d-preview img{height:auto;min-height:0;max-height:none;aspect-ratio:16/10}.sala-3d-copy{padding:22px}.sala-3d-copy h4{font-size:23px}.sala-3d-copy p{font-size:14px}.sala-3d-launch{width:100%;margin-top:6px}.sala-3d-toolbar{align-items:flex-start;flex-wrap:wrap;min-height:94px;padding:12px}.sala-3d-toolbar h2{font-size:16px}.sala-3d-toolbar p{font-size:10px;max-width:40ch}.sala-3d-toolbar>div:first-child{flex:1;min-width:0}.sala-3d-toolbar>.sala-3d-actions{align-items:flex-end;flex-direction:column-reverse;gap:6px}.sala-3d-toolbar a.sala-3d-open{font-size:10px}#sala-3d-close{padding:8px 10px;font-size:11px}#sala-3d-dialog{width:98vw;max-width:98vw;height:96dvh;max-height:96dvh;border-radius:10px}#sala-3d-loading{inset:0;font-size:13px}}
@media(prefers-reduced-motion:reduce){.sala-3d-preview img,.sala-3d-launch{transition:none}.sala-3d-preview:hover img{transform:none}#sala-3d-loading::before{animation:none}}
@media print{#sala-3d-dialog,.sala-3d-launch{display:none!important}.sala-3d-card{break-inside:avoid;box-shadow:none}.sala-3d-preview img{max-height:180px;min-height:0}.sala-3d-copy{padding:16px}.sala-3d-copy h4{font-size:17px}}
