/* videogallery.css */

/* Overall Section Styling */
.vg-section {
  padding: 80px 20px;
  background-color: #f9f9f9;
}

/* Container: 4 columns on large screens */
.vg-container {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
  max-width: 1200px;
  margin: 0 auto;
}

/* Video Item — card holding the player + title */
.vg-item {
  display: flex;
  flex-direction: column;
}

/* Video title shown below the player */
.vg-title {
  margin: 12px 0 0;
  font-family: 'Barlow', sans-serif;
  font-size: 0.95rem;
  font-weight: 600;
  color: #141D38;
  line-height: 1.35;
  /* Limit to 2 lines so cards stay roughly equal height */
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.7em;
}

/* Responsive Video Container */
.vg-video {
  position: relative;
  width: 100%;
  padding-top: 56.25%;  /* 16:9 aspect ratio */
  overflow: hidden;
  border-radius: 8px;
  background: #000;
}

/* Video Element Styling */
.vg-video video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* Responsive adjustments: 2 columns on medium screens, 1 column on small screens */
@media (max-width: 1024px) {
  .vg-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 600px) {
  .vg-container {
    grid-template-columns: 1fr;
  }
}
