/* New-View 360 Studio viewer layer. Self contained; no V-ART theme dependency. */
.nv360-player-wrap{--nv360-accent:#d10d27;--nv360-panel:rgba(14,21,30,.83);--nv360-fg:#fff;isolation:isolate;position:relative;box-sizing:border-box;font-family:Inter,system-ui,-apple-system,'Segoe UI',sans-serif}
.nv360-theme-light{--nv360-panel:rgba(248,250,252,.9);--nv360-fg:#19212b}
.nv360-player-wrap *{box-sizing:border-box}
.nv360-brandbar{position:absolute;z-index:12;top:12px;left:12px;right:12px;display:flex;align-items:center;justify-content:space-between;gap:10px;pointer-events:none}
.nv360-brandbar-left,.nv360-brandbar-actions{display:flex;align-items:center;gap:8px;pointer-events:auto}
.nv360-brandbar-left{max-width:min(44%,430px);margin-left:47px}
.nv360-brandbar-actions{max-width:56%;justify-content:flex-end}
.nv360-brandbar-left{background:var(--nv360-panel);color:var(--nv360-fg);padding:7px 12px;border-radius:10px;box-shadow:0 4px 20px #0003;min-width:0;backdrop-filter:blur(14px)}
.nv360-brand{font-size:13px;font-weight:900;letter-spacing:-.025em;white-space:nowrap;max-height:30px}.nv360-brand img{display:block;max-width:145px;max-height:32px;object-fit:contain}
.nv360-current-room{font-size:12px;font-weight:600;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;min-width:0;padding-left:10px;border-left:1px solid rgba(150,150,150,.4)}
.nv360-bar-button,.nv360-bar-contact{width:auto;min-width:67px;height:39px;padding:0 12px;flex-shrink:0;display:inline-flex;justify-content:center;align-items:center;font-size:12px;font-weight:700;white-space:nowrap;line-height:1.2;color:var(--nv360-fg)!important;background:var(--nv360-panel)!important;border:1px solid rgba(255,255,255,.14);border-radius:9px;box-shadow:0 5px 20px #0003;cursor:pointer;text-decoration:none!important;backdrop-filter:blur(12px)}
.nv360-bar-contact{font-size:12px;width:auto;padding:0 12px;white-space:nowrap}
.nv360-bar-button:hover,.nv360-bar-button:focus-visible,.nv360-bar-contact:hover{outline:2px solid #fff;outline-offset:2px}
.nv360-floor-panel[hidden]{display:none!important}
.nv360-floor-panel{position:absolute;z-index:18;right:12px;top:62px;max-height:calc(100% - 132px);width:min(370px,calc(100% - 24px));background:#fff;color:#182333;border-radius:12px;padding:14px;box-shadow:0 12px 48px #0008;overflow:auto}
.nv360-floor-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:12px}
.nv360-floor-head .nv360-bar-button{background:#f1f3f5!important;color:#222!important;min-width:0;height:32px;padding:0 11px}
.nv360-floor-image-wrap{position:relative;line-height:0}.nv360-floor-image-wrap>img{width:100%;height:auto;display:block;border-radius:6px}
.nv360-floor-scene{position:absolute;transform:translate(-50%,-50%);width:28px;height:28px;border:2px solid #fff;border-radius:50%;background:#1b2735;color:#fff;line-height:1;font-weight:700;font-size:11px;cursor:pointer;box-shadow:0 2px 7px #0005}
.nv360-floor-scene.is-active{background:var(--nv360-accent);box-shadow:0 0 0 3px #d10d2755}
.nv360-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:18px 0}
.nv360-gallery a{display:block;min-width:0;border-radius:7px;overflow:hidden;background:#f6f6f6}
.nv360-gallery img{display:block;width:100%;height:180px;object-fit:contain}
.nv360-video{margin-top:15px}.nv360-video iframe{width:100%;max-width:100%;aspect-ratio:16/9;height:auto;min-height:200px;display:block;border:0}
.nv360-pdf-link{display:inline-flex;padding:9px 13px;margin:10px 0;border-radius:6px;background:#e9edf0;color:#17222d!important;text-decoration:none;font-weight:700}
.nv360-player .nv360-nadir-patch{background:rgba(255,255,255,.94)!important;background-image:none!important;border:3px solid rgba(255,255,255,.92)!important;border-radius:50%!important;box-shadow:0 2px 12px #0007!important;overflow:hidden!important;pointer-events:none!important;/* Preserve the transform calculated by Pannellum (spherical coordinates). */display:flex!important;align-items:center!important;justify-content:center!important;z-index:7!important;scale:none!important}
.nv360-player .nv360-nadir-patch img{display:block;width:86%;height:86%;object-fit:contain;pointer-events:none}
.nv360-player .nv360-nadir-text{font-size:13px!important;font-weight:900!important;letter-spacing:-.04em;color:#1c2732!important}
.nv360-player .pnlm-hotspot.pnlm-scene{border-color:#fff!important}
.nv360-player .pnlm-hotspot.pnlm-scene:hover{box-shadow:0 0 0 4px color-mix(in srgb,var(--nv360-accent) 32%,transparent)!important}
.nv360-scene-thumb.is-active{border-color:var(--nv360-accent)!important;box-shadow:0 0 0 1px var(--nv360-accent)!important}
.nv360-info-modal-dialog{border-radius:14px!important;box-shadow:0 18px 65px #0008!important}
.nv360-info-html-content img{max-width:100%;height:auto;object-fit:contain}
.nv360-cardboard-launch{position:relative;z-index:15}
/* Compact responsive presentation when embedded within regular pages. */
@media(max-width:700px){
 .nv360-brandbar{top:8px;left:8px;right:8px;gap:4px}
 .nv360-brandbar-left{margin-left:42px;max-width:35%;padding:7px 8px}
 .nv360-brand{font-size:11px}.nv360-brand img{max-width:75px;max-height:25px}
 .nv360-current-room{font-size:11px;padding-left:7px}
 .nv360-brandbar-actions{gap:5px;max-width:62%}.nv360-bar-button{min-width:0;width:auto;height:34px;padding:0 9px;font-size:11px}.nv360-bar-contact{display:inline-flex}.nv360-current-room{display:none}
 .nv360-floor-panel{top:54px;max-height:calc(100% - 110px)}
 .nv360-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.nv360-gallery img{height:125px}
}
@media(prefers-reduced-motion:reduce){.nv360-player-wrap *{scroll-behavior:auto!important;transition-duration:.01ms!important}}

.nv360-player .nv360-transition-hotspot{width:36px!important;height:36px!important;margin-left:-18px!important;margin-top:-18px!important;border:2px solid #fff!important;border-radius:50%!important;box-sizing:border-box!important;background:var(--nv360-accent)!important;background-image:none!important;box-shadow:0 3px 13px #0007!important;cursor:pointer}
.nv360-player .nv360-transition-hotspot:after{content:"➜";position:absolute;inset:0;color:#fff;display:flex;align-items:center;justify-content:center;font:bold 22px/1 system-ui;pointer-events:none}
.nv360-player .nv360-transition-hotspot:hover,.nv360-player .nv360-transition-hotspot:focus-visible{filter:brightness(1.13);outline:2px solid #fff;outline-offset:2px}

/* Keep native Pannellum controls visible at the top left. */
.nv360-player-wrap .nv360-brandbar{z-index:12}
.nv360-player-wrap .nv360-bar-button:focus-visible{outline:2px solid var(--nv360-accent);outline-offset:2px}
@media(max-width:400px){
 .nv360-brandbar-left{max-width:28%}
 .nv360-brandbar-actions{max-width:69%}
 .nv360-brand img{max-width:64px;max-height:22px}
 .nv360-bar-button{padding:0 7px;font-size:10.5px}
}

/* New-View 360 Studio 0.5.5 — mobile controls, per-project contact, nadir */
.nv360-contact-modal[hidden]{display:none!important}
.nv360-contact-modal{position:fixed;inset:0;z-index:999999;display:flex;align-items:center;justify-content:center;padding:18px;background:transparent;color:#19212b}
.nv360-contact-backdrop{position:absolute;inset:0;background:rgba(6,12,20,.74);backdrop-filter:blur(5px)}
.nv360-contact-dialog{position:relative;z-index:1;box-sizing:border-box;width:min(100%,480px);max-height:min(90vh,90dvh);overflow:auto;background:#fff;color:#19212b;border-radius:16px;padding:34px 30px 28px;box-shadow:0 20px 70px #0008;overflow-wrap:anywhere}
.nv360-contact-close{position:absolute;top:10px;right:10px;display:flex;align-items:center;justify-content:center;width:38px;height:38px;background:#eef1f4;border:0;border-radius:50%;font:28px/1 Arial,sans-serif;color:#18212b;cursor:pointer}
.nv360-contact-logo{display:block;max-width:min(240px,75%);max-height:88px;width:auto;height:auto;object-fit:contain;margin:0 0 20px}
.nv360-contact-heading{margin:0 42px 14px 0!important;font:700 clamp(22px,3.5vw,30px)/1.25 system-ui,sans-serif!important;color:#18212b!important}
.nv360-contact-message{white-space:pre-line;font:400 15px/1.7 system-ui,sans-serif!important;margin:0 0 24px;color:#334155}
.nv360-contact-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 18px;border-radius:8px;background:var(--nv360-accent,#ce1930);color:#fff!important;text-decoration:none!important;font:700 14px/1.25 system-ui,sans-serif}
.nv360-contact-link:focus-visible,.nv360-contact-close:focus-visible{outline:3px solid var(--nv360-accent,#ce1930);outline-offset:3px}
.nv360-gyro-toggle[aria-pressed="true"]{border-color:#fff!important;box-shadow:0 0 0 2px var(--nv360-accent),0 5px 20px #0004!important}
.nv360-player .nv360-nadir-patch{transform-origin:center center;will-change:transform}
@media(max-width:700px){
 .nv360-brandbar{align-items:flex-start}
 .nv360-brandbar-left{flex:0 1 auto;max-width:27%;margin-left:40px;overflow:hidden}
 .nv360-brandbar-actions{flex:1 1 auto;max-width:calc(100% - 86px);display:flex;flex-wrap:wrap;gap:5px;align-content:flex-start;justify-content:flex-end}
 .nv360-brandbar-actions .nv360-bar-button,.nv360-brandbar-actions .nv360-bar-contact{display:inline-flex!important;min-height:36px;height:auto;min-width:0;padding:8px 9px;font-size:11px;line-height:1.1}
 .nv360-contact-dialog{padding:26px 20px 22px;border-radius:12px;max-height:calc(100dvh - 24px)}
}
@media(max-width:380px){.nv360-brandbar-left{max-width:24%;margin-left:39px;padding:6px}.nv360-brandbar-actions{max-width:calc(100% - 76px)}.nv360-brandbar-actions .nv360-bar-button,.nv360-brandbar-actions .nv360-bar-contact{padding:7px;font-size:10.5px}}

/* Avoid a duplicate native device-orientation button when custom mobile toggle is visible. */
.nv360-has-gyro-toggle .pnlm-orientation-button{display:none!important}

/* v0.5.7: nadir hotspot is a zero-size spherical anchor. Only its CHILD
   is visually centered. Do not transform the Pannellum hotspot itself. */
.nv360-player .nv360-nadir-patch{
 width:0!important;height:0!important;min-width:0!important;min-height:0!important;
 padding:0!important;margin:0!important;border:0!important;
 border-radius:0!important;background:none!important;box-shadow:none!important;
 overflow:visible!important;display:block!important;pointer-events:none!important;
 transform-origin:initial!important;
}
.nv360-player .nv360-nadir-patch .nv360-nadir-content{
 position:absolute!important;left:0!important;top:0!important;
 transform:translate(-50%,-50%)!important;
 box-sizing:border-box!important;border:3px solid rgba(255,255,255,.92)!important;
 border-radius:50%!important;background:rgba(255,255,255,.96)!important;
 box-shadow:0 3px 12px rgba(0,0,0,.40)!important;
 display:flex!important;align-items:center!important;justify-content:center!important;
 overflow:hidden!important;pointer-events:none!important;
}
.nv360-player .nv360-nadir-patch .nv360-nadir-content img{
 display:block;width:86%!important;height:86%!important;object-fit:contain!important;
}
/* The brand logo doubles as an accessible mobile room-info toggle. */
.nv360-brandbar .nv360-brand{
 appearance:none;-webkit-appearance:none;border:0;background:transparent;
 padding:0;margin:0;color:inherit;display:flex;align-items:center;
 justify-content:center;max-width:100%;font:inherit;
}
.nv360-brandbar .nv360-brand img{max-width:100%;height:auto}
@media(max-width:700px){
 .nv360-brandbar .nv360-brand{cursor:pointer;min-height:28px;max-width:100%}
 .nv360-brandbar .nv360-brand:focus-visible{outline:2px solid #fff;outline-offset:4px;border-radius:4px}
 .nv360-brandbar .nv360-brand[aria-expanded="true"]{opacity:.82}
 .nv360-brandbar .nv360-brand::after{content:none!important}
}

/* v0.5.7: collapsed-by-default room information; open by tapping brand logo.
   Works in both direct / iframe player and the WordPress shortcode viewer. */
@media(max-width:700px){
 .nv360-player-wrap .nv360-scene-caption,
 .nv360-embedded-tour .nv360-scene-caption{
  display:none!important;
  position:absolute!important;
  top:var(--nv360-info-top,95px)!important;bottom:auto!important;
  left:10px!important;right:10px!important;
  width:auto!important;max-width:calc(100% - 20px)!important;
  max-height:min(38dvh,280px)!important;min-height:0!important;
  z-index:19!important;
  overflow:auto!important;-webkit-overflow-scrolling:touch!important;
  padding:12px 14px!important;margin:0!important;
  border-radius:12px!important;
  background:rgba(12,20,29,.94)!important;color:#fff!important;
  box-shadow:0 8px 28px #0008!important;
  backdrop-filter:blur(14px);pointer-events:auto!important;
 }
 .nv360-player-wrap.nv360-mobile-info-open .nv360-scene-caption:not([hidden]){
  display:block!important;
 }
 .nv360-player-wrap .nv360-scene-caption-title{color:#fff!important;font-size:15px!important;margin:0 0 5px!important}
 .nv360-player-wrap .nv360-scene-caption-description{
  color:#fff!important;font-size:13px!important;line-height:1.55!important;
  overflow:visible!important;display:block!important;
  -webkit-line-clamp:unset!important;max-width:100%!important;
 }
}
@media(max-width:700px) and (max-height:470px){
 .nv360-player-wrap .nv360-scene-caption{max-height:28dvh!important}
}
