/* Parallax Background */
.parallax-bg {
  position: relative;
  min-height: 100vh;
  width: 100%;
  z-index: 0;
  overflow: hidden;
  display: block; /* Ensures ::before and ::after render */
}

/* Dynamic Background Layer */
.parallax-bg::before {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -2;
  pointer-events: none;
  opacity: 1;
  transition: background-image 0.5s ease-in-out;
}

/* Day/Night & Weather Variants */
.parallax-bg.day::before {
  background-image: url('/assets/day-scene.png');
}

.parallax-bg.night::before {
  background-image: url('/assets/night-scene.png');
}

.parallax-bg.rain::before {
  background-image: url('/assets/rain-scene.png');
}

.parallax-bg.snow::before {
  background-image: url('/assets/snow-scene.png');
}

.parallax-bg.storm::before {
  background-image: url('/assets/storm-scene.png');
}

/* Optional Overlay */
.parallax-bg::after {
  content: "";
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.5);
  z-index: -1;
  pointer-events: none;
}