html, body {
  margin: 0;
  overflow: hidden;
  background: black;
  height: 100%;
  width: 100%;
  cursor: none;
}

.viewport {
  position: absolute;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100vw;
  overflow: hidden;
}

.frame_shadow{
  position: fixed;
  top: 0;
  left: 0;
  box-shadow: 0px 0px 50.6px -2px #77ff62 inset;
  width: 100vw;
  height: 100vh;
}

.world {
  position: absolute;
  top: 0;
  left: 0;
  width: 200vw;
  height: 200vh;
} 

.logo{
  width: 100%;
}
.link{
  width: 10%;
  margin-left: 45%;
  position: fixed;
  z-index: 10000;
}

.photo-container.loaded {
  opacity: 2;
  filter: blur(60px) brightness(1.2);
}

.photo {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 5%;
}

.photo-container1 {
  margin-top: 5%; 
  margin-left: 20%; 
  width: 10%;
  position: absolute;
  filter: blur(15px) brightness(1.2);
  transition: filter 0.6s ease, box-shadow 0.6s ease, transform 0.6s ease;
  pointer-events: auto; /* ВАЖНО: позволяет наведению работать */
  box-shadow: 0 0 20% rgba(255, 255, 255, 0.3);
}
.photo-container1:hover {
  cursor: pointer;
  filter: blur(0px) brightness(1.6);
  transform: scale(1.03);
}
.photo-container1:hover .photo-info {
  opacity: 1;
  transform: translateY(0);
}

.photo-container2 {
  margin-top: 18%; 
  margin-left: 44%; 
  width: 10%;
  position: absolute;
  filter: blur(15px) brightness(1.2);
  transition: filter 0.6s ease, box-shadow 0.6s ease, transform 0.6s ease;
  pointer-events: auto; /* ВАЖНО: позволяет наведению работать */
  box-shadow: 0 0 30px rgba(255, 255, 255, 0.3);
}
.photo-container2:hover {
  cursor: pointer;
  filter: blur(0px) brightness(1.6);
  transform: scale(1.03);
}
.photo-container2:hover .photo-info {
  opacity: 1;
  transform: translateY(0);
}

.photo-container3 {
  margin-top: 25%; 
  margin-left: 10%; 
  width: 10%;
  position: absolute;
  filter: blur(15px) brightness(1.2);
  transition: filter 0.6s ease, box-shadow 0.6s ease, transform 0.6s ease;
  pointer-events: auto; /* ВАЖНО: позволяет наведению работать */
  box-shadow: 0 0 30px rgba(255, 255, 255, 0.3);
}
.photo-container3:hover {
  cursor: pointer;
  filter: blur(0px) brightness(1.6);
  transform: scale(1.03);
}
.photo-container3:hover .photo-info {
  opacity: 1;
  transform: translateY(0);
}

.photo-container4 {
  position: absolute;
  margin-top: -3%; 
  margin-left: 4%; 
  width: 10%;
  filter: blur(15px) brightness(1.2);
  transition: filter 0.6s ease, box-shadow 0.6s ease, transform 0.6s ease;
  pointer-events: auto; /* ВАЖНО: позволяет наведению работать */
  box-shadow: 0 0 30px rgba(255, 255, 255, 0.3);
}
.photo-container4:hover {
  cursor: pointer;
  filter: blur(0px) brightness(1.6);
  transform: scale(1.03);
}
.photo-container4:hover .photo-info {
  opacity: 1;
  transform: translateY(0);
}

.photo-container5 {
  position: absolute;
  margin-top: 40%; 
  margin-left: 40%; 
  width: 10%;
  filter: blur(15px) brightness(1.2);
  transition: filter 0.6s ease, box-shadow 0.6s ease, transform 0.6s ease;
  pointer-events: auto; /* ВАЖНО: позволяет наведению работать */
  box-shadow: 0 0 30px rgba(255, 255, 255, 0.3);
}
.photo-container5:hover {
  cursor: pointer;
  filter: blur(0px) brightness(1.6);
  transform: scale(1.03);
}
.photo-container5:hover .photo-info {
  opacity: 1;
  transform: translateY(0);
}

.photo-container6 {
  position: absolute;
  margin-top: -10%; 
  margin-left: 40%; 
  width: 10%;
  filter: blur(15px) brightness(1.2);
  transition: filter 0.6s ease, box-shadow 0.6s ease, transform 0.6s ease;
  pointer-events: auto; /* ВАЖНО: позволяет наведению работать */
  box-shadow: 0 0 30px rgba(255, 255, 255, 0.3);
}
.photo-container6:hover {
  cursor: pointer;
  filter: blur(0px) brightness(1.6);
  transform: scale(1.03);
}
.photo-container6:hover .photo-info {
  opacity: 1;
  transform: translateY(0);
}

.photo-container7 {
  position: absolute;
  margin-top: 3%; 
  margin-left: -20%; 
  width: 10%;
  filter: blur(15px) brightness(1.2);
  transition: filter 0.6s ease, box-shadow 0.6s ease, transform 0.6s ease;
  pointer-events: auto; /* ВАЖНО: позволяет наведению работать */
  box-shadow: 0 0 30px rgba(255, 255, 255, 0.3);
}
.photo-container7:hover {
  cursor: pointer;
  filter: blur(0px) brightness(1.6);
  transform: scale(1.03);
}
.photo-container7:hover .photo-info {
  opacity: 1;
  transform: translateY(0);
}

.photo-container8 {
  position: absolute;
  margin-top: 20%; 
  margin-left: -8%; 
  width: 10%;
  filter: blur(15px) brightness(1.2);
  transition: filter 0.6s ease, box-shadow 0.6s ease, transform 0.6s ease;
  pointer-events: auto; /* ВАЖНО: позволяет наведению работать */
  box-shadow: 0 0 30px rgba(255, 255, 255, 0.3);
}
.photo-container8:hover {
  cursor: pointer;
  filter: blur(0px) brightness(1.6);
  transform: scale(1.03);
}
.photo-container8:hover .photo-info {
  opacity: 1;
  transform: translateY(0);
}

.photo-info {
  position: absolute;
  bottom: -40px;
  left: 1%;
  width: 100%;
  color: white;
  font-family: sans-serif;
  font-size: 15px;
  text-align: center;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.4s ease, transform 0.4s ease;
  z-index: 3;
}

@media screen and (min-width: 1px) and (max-width: 450px) {
    .photo-container1,
    .photo-container2,
    .photo-container3,
    .photo-container4,
    .photo-container5,
    .photo-container6,
    .photo-container7,
    .photo-container8 {
      position: absolute;
      width: 30vw; /* меньше, но крупнее, чем 6% */
      height: auto;
      transform: translate(-50%, -50%);
    }
  
    .photo-container1 { top: 75%; left: 50%; }
    .photo-container2 { top: 90%; left: 30%; }
    .photo-container3 { top: 65%; left: 50%; }
    .photo-container4 { top: 50%; left: 35%; }
    .photo-container5 { top: 40%; left: 60%; }
    .photo-container6 { top: 60%; left: 60%; }
    .photo-container7 { top: 60%; left: 40%; }
    .photo-container8 { top: 40%; left: 40%; }
  
    .photo-info {
      font-size: 11px;
      text-align: center;
      margin-top: 4px;
    }
  
    .logo {
      width: 60%;
      margin: 0 auto;
    }
  
    .cart-icon {
      width: 10%;
    }
  
    .link {
      width: 25%;
      margin: 0 auto;
    }
    
    .world {
      position: absolute;
      top: 0;
      left: 0;
      width: 150vw;
      height: 150vh;
    } 

    .photo-info {
      position: absolute;
      bottom: -50px;
      left: 1%;
      width: 100%;
      color: white;
      font-family: sans-serif;
      font-size: 10px;
      text-align: center;
      opacity: 0;
      transform: translateY(10px);
      transition: opacity 0.4s ease, transform 0.4s ease;
      z-index: 3;
    }
  }
  


