/* === BASE === */
body {
  margin: 0;
  background-color: #ffffff;
  overflow: hidden;
  touch-action: none;
}


/* Below is header and footer. */

.floating-title {
  position: fixed;
  top: 20px;
  left: 24px;
  font-family: "ISOCPEUR", sans-serif;
  font-size: 26px;
  color: #4E8DD7;
  text-decoration: none;
  z-index: 9999;
  pointer-events: auto;
}

.floating-title:hover {
  opacity: 0.7;
}

.floating-footer {
  position: fixed;
  bottom: 15px;
  right: 15px; 
  font-family: "ISOCPEUR", sans-serif;
  font-size: 9px;
  color: #4E8DD7;
  z-index: 9999;
  pointer-events: none;
}

/* Above is header and footer. */

.svg-scroll-wrapper {
  width: 100vw;
  height: 100vh;
  overflow: auto;
  cursor: default;
  touch-action: pan-x pan-y;
  -webkit-overflow-scrolling: touch;
  visibility: hidden; /* hidden until centered */
}

.svg-scroll-wrapper.ready {
  visibility: visible;
}

.svg-scroll-wrapper:active {
  cursor: grabbing;
}

.svg-zoom-container {
  display: flex;
  justify-content: center;
  align-items: flex-start;
  transform-origin: center center;
  touch-action: none;
  will-change: transform;
}

.svg-inner-wrapper {
  position: relative;
  width: 100%;
  max-width: 2611px;
  height: auto;
}

.svg-inner-wrapper svg {
  width: 100%;
  height: auto;
  display: block;
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: auto;
}

.under-image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 1;
  mask-image: radial-gradient(circle 100px at var(--x, 50%) var(--y, 50%), white 0%, transparent 80%);
  -webkit-mask-image: radial-gradient(circle 100px at var(--x, 50%) var(--y, 50%), white 0%, transparent 80%);
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  user-select: none;
  -webkit-user-drag: none;
  pointer-events: none;
}

.spotlight-mask {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 5;
  pointer-events: none;
}

/* hover info */
svg#mainScene {
  z-index: 10;
  position: relative;
}

.item-info-img {
  z-index: 20;
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  width: 100%;
  height: auto;
}



/* below is for clickable item-project */
.item-project-img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  z-index: 15;
  display: block; /* <--- This ensures it's visible */
  pointer-events: none;
}


.hover-cursor {
  cursor: pointer;
}


/* clicked mask the light up i want*/
.under-image.masked-by-element {
  mask: url(#clickMask);
  -webkit-mask: url(#clickMask);
  mask-mode: alpha;
  mask-repeat: no-repeat;
  mask-size: 100% 100%;
}





/* === DESKTOP === */
@media (pointer: fine) {
  .svg-zoom-container {
    width: 100%; /* - - enable this if waht it same as viewport widt- - */
    max-width: 2611px;
    /*width: 1440px;   /* fixed desktop width */
    min-width: 1440px; /* forces horizontal scrollbar if viewport < 1440px */

    height: auto;
  }
  .svg-zoom-container svg {
    width: 100%; /* fill the container’s 1440px width */
    height: auto;
  }
}


/* === MOBILE/TABLET === */
@media (pointer: coarse), (hover: none) {
  .svg-zoom-container {
    height: 100vh;
    width: auto;
  }
  .svg-zoom-container svg {
    height: 100vh;
    width: auto;
  }
  .under-image {
    height: 100vh;
    width: auto;
  }
}

/* === Prevent selection/drag globally === */
img, svg {
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
  pointer-events: none;
}