.gb360-tour { width: var(--gb360-width, 100%); height: var(--gb360-height, 600px); max-width: 100%; position: relative; background: #111; overflow: hidden; }
.gb360-tour--autoheight { aspect-ratio: 9 / 16; }
.gb360-tour--fullwidth { width: 100vw; max-width: 100vw; left: 50%; margin-left: -50vw; transform: translateX(var(--gb360-fullwidth-shift, 0px)); }
.gb360-tour .pnlm-render-container canvas { filter: brightness(var(--gb360-brightness, 100%)) contrast(var(--gb360-contrast, 100%)) saturate(var(--gb360-saturation, 100%)); }
.gb360-flat-overlay { position: absolute; inset: 0; z-index: 10; display: grid; place-items: center; background: #111; opacity: 0; transition: opacity var(--gb360-slide-duration, 600ms) ease; }
.gb360-flat-overlay[hidden] { display: none; }
.gb360-flat-stage { position: relative; max-width: 100%; max-height: 100%; background: #000; }
.gb360-flat-stage video { display: block; width: 100%; height: 100%; object-fit: contain; }
.gb360-flat-stage img { display: block; width: 100%; height: 100%; object-fit: contain; filter: brightness(var(--gb360-brightness, 100%)) contrast(var(--gb360-contrast, 100%)) saturate(var(--gb360-saturation, 100%)); }
.gb360-flat-stage--cover { overflow: hidden; }
.gb360-flat-stage--cover img, .gb360-flat-stage--cover video { object-fit: cover; }
.gb360-flat-hotspot { position: absolute; z-index: 2; visibility: visible; }
.gb360-slide-controls { position: absolute; z-index: 21; bottom: 12px; left: 50%; transform: translateX(-50%); display: flex; gap: 6px; }
.gb360-slide-controls button { border: 1px solid #fff9; border-radius: 7px; min-width: 38px; min-height: 34px; background: #151515d9; color: #fff; cursor: pointer; font: 600 15px Arial, sans-serif; }
.gb360-slide-controls button:disabled { opacity: .4; cursor: default; }
.gb360-slide-controls button:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.gb360-tour .gb360-hotspot { width: 1px; height: 1px; background: transparent; border: 0; }
.gb360-marker { position: absolute; left: 0; top: 0; display: flex; flex-direction: column; align-items: center; gap: 4px; transform: translate(-50%, -50%); border: 0; padding: 0; background: transparent; color: #fff; text-decoration: none; cursor: pointer; font: 700 14px/1.2 Arial, sans-serif; text-align: center; width: max-content; max-width: none; filter: drop-shadow(0 2px 3px #0009); }
.gb360-marker:focus-visible { outline: 3px solid #fff; outline-offset: 4px; }
.gb360-marker img { display: block; width: auto; height: auto; object-fit: contain; pointer-events: none; }
.gb360-marker .gb360-sign { width: min(calc(130px * var(--gb360-sign-scale, 1)), 60vw); max-width: 60vw; max-height: calc(60px * var(--gb360-sign-scale, 1)); }
.gb360-marker .gb360-arrow { width: min(calc(72px * var(--gb360-arrow-scale, 1)), 45vw); max-width: 45vw; max-height: calc(72px * var(--gb360-arrow-scale, 1)); }
.gb360-label { max-width: min(calc(130px * var(--gb360-sign-scale, 1)), 60vw); background: rgba(0,0,0,.82); border-radius: 5px; padding: calc(6px * var(--gb360-sign-scale, 1)) calc(9px * var(--gb360-sign-scale, 1)); font-size: calc(14px * var(--gb360-sign-scale, 1)); white-space: normal; }
.gb360-default-arrow { display: grid; place-items: center; width: calc(52px * var(--gb360-arrow-scale, 1)); height: calc(52px * var(--gb360-arrow-scale, 1)); border-radius: 50%; background: #151515; border: 2px solid #fff; font-size: calc(30px * var(--gb360-arrow-scale, 1)); }
.gb360-music-control { position: absolute; z-index: 20; bottom: 12px; right: 12px; display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #fff9; border-radius: 50%; padding: 0; background: #151515d9; color: #fff; font: 700 18px/1 Arial, sans-serif; cursor: pointer; }
.gb360-music-control[hidden] { display: none; }
.gb360-music-control:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
.gb360-video-control { position: absolute; z-index: 20; bottom: 12px; left: 12px; border: 1px solid #fff9; border-radius: 7px; padding: 8px 11px; background: #151515d9; color: #fff; font: 600 13px/1.2 Arial, sans-serif; cursor: pointer; }
.gb360-video-control[hidden] { display: none; }
.gb360-video-control:focus-visible { outline: 3px solid #fff; outline-offset: 2px; }
@media (max-width: 767px) {
  .gb360-tour { height: min(var(--gb360-height, 600px), 70vh); min-height: 330px; }
  .gb360-tour--autoheight { height: auto; min-height: 0; }
  .gb360-tour--screenheight { height: 100vh; height: 100dvh; }
  .gb360-slide-controls { bottom: 54px; }
  .gb360-marker { font-size: 12px; }
  .gb360-marker .gb360-sign { width: min(calc(94px * var(--gb360-sign-scale, 1)), 60vw); max-height: calc(44px * var(--gb360-sign-scale, 1)); }
  .gb360-marker .gb360-arrow { width: min(calc(52px * var(--gb360-arrow-scale, 1)), 45vw); max-height: calc(52px * var(--gb360-arrow-scale, 1)); }
  .gb360-label { max-width: min(calc(94px * var(--gb360-sign-scale, 1)), 60vw); padding: calc(4px * var(--gb360-sign-scale, 1)) calc(6px * var(--gb360-sign-scale, 1)); font-size: calc(12px * var(--gb360-sign-scale, 1)); }
  .gb360-default-arrow { width: calc(42px * var(--gb360-arrow-scale, 1)); height: calc(42px * var(--gb360-arrow-scale, 1)); font-size: calc(23px * var(--gb360-arrow-scale, 1)); }
}
