/* CSS for the video mosaic area at the top of the homepage. */

/* Main mosaic container - creates flexible layout with columns */
.video-mosaic {
  display: flex;
  gap: 15px;
  width: 100%;
  min-height: 400px; /* Prevents layout collapse */
}

/* Individual column within mosaic - stacks media boxes vertically */
.v-col {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.media-box {
  position: relative;
  width: 100%;
  background: #1a1a1a; /* Dark placeholder while loading */
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 0.65;
}

/* Ensure both injected types fill the box */
.media-box img,
.media-box video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* Desktop Video Styling */
.media-box video {
  opacity: 0;
  transition: opacity 0.8s ease;
}
.media-box video.playing {
  opacity: 1;
}

@media screen and (max-width: 768px) {
  .video-mosaic {
    gap: 10px;
    padding: 0 10px;
    min-height: unset;
  }
  .v-col .line-2 {
    display: none;
  }
  .media-box {
    aspect-ratio: 0.55;
  }
}

/* Helper classes for the stagger */
.v-col-1 {
  padding-top: 15px;
}
.v-col-2 {
  padding-top: 35px;
}
.v-col-3 {
  padding-top: 10px;
}
