/* music.css */
@import url('/fonts.css');
@import url('/tailwind.css');
@import url('/app/global.css');

.all-uploads-container {
  max-width: 100%;
  max-height: 100%;
  
  display: flex;
  flex-direction: column;
  align-items: center;

  margin: 0 auto;
}

.sub-title-music {
  background-color: #000;
  color: #fff !important;
  padding: 4px 10px;
  text-decoration: none;
  font-weight: 500;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
  line-height: 1;
  
  /* Remove all browser default outlines and borders */
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}

.all-uploads-title {
  text-align: center;
  font-family: var(--font-inter);
  font-weight: 700;
  font-size: 3rem;

  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
}

.video-grid {
  display: grid;
  justify-content: center;
  /* grid-template-columns: repeat(2, 1fr); */
  grid-template-columns: repeat(auto-fit, minmax(0, 24rem)); /*orig was 4 grids 19rem*/
  gap: 1.5rem;
  width: 80vw;
  /* margin-left: auto;
  margin-right: auto; */
}

.video-container {
  display: flex;
  flex-direction: column;
  border-radius: .75rem;
  overflow: hidden;
  position: relative;
  box-shadow: none; /* Explicitly remove any drop shadows */
  transition: none; /* Remove any transitions/animations */
  transform: none; /* Prevent any transform */
}

/* Remove hover effects */
.video-container:hover {
  transform: none;
  animation: none;
  box-shadow: none;
  filter: none;
  opacity: 1;
  scale: 1;
}

/* Thumbnail styling - LARGER SIZE */
.thumbnail-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  /* Standard 16:9 aspect ratio for YouTube videos */
  /* padding-top: 56.25%; */
  overflow: hidden;
  background-color: #f5f5f5;
  cursor: pointer;
  transition: none; /* Remove any transitions/animations */
  border-radius: .75rem; /* Rounded corners on all sides */
  transform: none; /* Prevent any transform */
}

/* Dark overlay and play text on hover - ADAPTED FOR MUSIC PAGE */
.thumbnail-wrapper::after {
  content: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='white' width='64' height='64'%3E%3Cpath fill-rule='evenodd' d='M4.5 5.653c0-1.427 1.529-2.33 2.779-1.643l11.54 6.347c1.295.712 1.295 2.573 0 3.286L7.28 19.99c-1.25.687-2.779-.217-2.779-1.643V5.653Z' clip-rule='evenodd'/%3E%3C/svg%3E");
  font-family: var(--font-inter);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0);
  transition: all 0.3s ease;
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 500;
  font-size: 1rem;
  border-radius: 1rem;
  z-index: 1;
  opacity: 0;
  pointer-events: none; /* Add this - prevents blocking clicks */
}

/* Show and animate the overlay on hover */
.thumbnail-wrapper:hover::after {
  background: rgba(0, 0, 0, 0.6);
  opacity: 1;
}

.thumbnail-wrapper a {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  transition: none; /* Prevent any transitions on the anchor */
}

/* Remove hover effects on anchor tag */
.thumbnail-wrapper a:hover {
  transform: none;
  filter: none;
  scale: 1;
  opacity: 1;
}

.thumbnail {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: none;
  transform: none;
}

/* Remove hover effects on thumbnail */
.thumbnail:hover {
  transform: none;
  scale: 1;
  filter: none;
  opacity: 1;
}

/* Duration badge */
.duration-badge {
  position: absolute;
  bottom: 0.5rem;
  right: 0.5rem;
  background: rgba(0, 0, 0, 0.7);
  color: white;
  padding: 0.15rem 0.4rem;
  border-radius: 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
  z-index: 3;
}

/* Video title styling - COMPLETELY SEPARATE FROM THUMBNAIL */
.video-title {
  text-align: center;
  font-size: 1.1rem;
  font-weight: 600;
  /* margin: 0.75rem 0 0.5rem; */
  margin: .5rem 0 0rem;
  padding: 0 0.5rem;
  line-height: 1.3;
  color: var(--text-primary);
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  background: transparent;
  position: relative;
  cursor: pointer;
}

/* Fix for the video title links */
.video-title a {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  transition: none;
  cursor: pointer;
}

.video-title a:hover {
  transform: none;
  scale: 1;
  filter: none;
  opacity: 1;
}

/* No videos message */
.no-videos {
  grid-column: 1 / -1;
  text-align: center;
  padding: 2rem;
  background: #f9f9f9;
  border-radius: var(--border-radius);
  color: var(--text-secondary);
  font-size: 1rem;
}

/* Footer styling */
footer {
  margin-top: 2rem;
  text-align: center;
  color: var(--text-secondary);
  font-size: 0.8rem;
}

.caching-info {
  font-style: italic;
  color: #999;
}







/* music.php Responsive Design */

/* Desktop | 1281px - 1440px  */
@media (max-width: 1280px) {
  /* None, coded on macbook m1 pro */
}

/* Medium Laptop/Desktop | 1515px - 1920px */
@media (max-width: 1515px) {
 /* None, coded on macbook m1 pro */
}

/* Small Laptop/Desktop | 1024px - 1280px */
@media (max-width: 1024px) {
  .video-grid {
    grid-template-columns: repeat(auto-fit, minmax(0, 20rem)) !important;
    gap: 1.25rem !important;
    width: 90vw !important;
  }
  
  .all-uploads-title {
    font-size: 2.5rem !important;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  
  .video-title {
    font-size: 1rem !important;
    margin: 0.5rem 0 0rem !important;
  }
}

/* Mobile Small Portrait (Normal) | up to 480px */
/* S20+, iPhone 12, iPhone 13 */
@media (max-width: 480px) and (orientation: portrait) {
  .pt-music {
    margin-top: 1.5rem;
  }

  .video-grid {
    grid-template-columns: repeat(1, minmax(0, 20rem)) !important;
    gap: 1rem !important;
    width: 95vw !important;
  }
  
  .all-uploads-title {
    font-size: 2rem !important;
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }

  .text-6xl {
    font-size: 2rem !important;
  }
  
  .sub-title-music {
    font-size: 0.9rem !important;
    padding: 3px 8px !important;
  }
  
  .video-title {
    font-size: 0.9rem !important;
    margin: 0.4rem 0 0rem !important;
    padding: 0 0.25rem !important;
  }
  
  .duration-badge {
    font-size: 0.7rem !important;
    padding: 0.1rem 0.3rem !important;
  }
  
  .thumbnail-wrapper::after {
    font-size: 0.85rem !important;
  }
}

/* Mobile Small Landscape (Seitlich gehlaten) | up to 950px */
/* S20+, iPhone 14, iPhone 15 Pro in Landscape (Seitlich gehlaten) */
@media (max-width: 950px) and (orientation: landscape) {
  .video-grid {
    grid-template-columns: repeat(2, minmax(0, 18rem)) !important;
    gap: 1rem !important;
    width: 95vw !important;
  }
  
  .all-uploads-title {
    font-size: 2.25rem !important;
    padding-top: 0.75rem !important;
    padding-bottom: 0.75rem !important;
  }
  
  .sub-title-music {
    font-size: 0.95rem !important;
    padding: 3px 9px !important;
  }
  
  .video-title {
    font-size: 0.95rem !important;
    margin: 0.45rem 0 0rem !important;
    padding: 0 0.35rem !important;
  }
  
  .duration-badge {
    font-size: 0.72rem !important;
    padding: 0.12rem 0.35rem !important;
  }
}

/* Mobile Large Portrait (Normal) | 481px - 600px */
/* iPhone 14 Pro Max, Pixel 7 Pro, larger phones */
@media (min-width: 481px) and (max-width: 600px) and (orientation: portrait) {
  .video-grid {
    grid-template-columns: repeat(1, minmax(0, 22rem)) !important;
    gap: 1.25rem !important;
    width: 95vw !important;
  }
  
  .all-uploads-title {
    font-size: 2.25rem !important;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  
  .sub-title-music {
    font-size: 1rem !important;
    padding: 4px 9px !important;
  }
  
  .video-title {
    font-size: 1rem !important;
    margin: 0.5rem 0 0rem !important;
    padding: 0 0.4rem !important;
  }
  
  .duration-badge {
    font-size: 0.74rem !important;
    padding: 0.14rem 0.38rem !important;
  }
}

/* Tablet Portrait (Normal) | 601px - 1024px */
@media (min-width: 601px) and (max-width: 1024px) and (orientation: portrait) {
  .video-grid {
    grid-template-columns: repeat(2, minmax(0, 18rem)) !important;
    gap: 1.25rem !important;
    width: 90vw !important;
  }
  
  .all-uploads-title {
    font-size: 2.75rem !important;
    padding-top: 1rem !important;
    padding-bottom: 1rem !important;
  }
  
  .sub-title-music {
    font-size: 1rem !important;
    padding: 4px 10px !important;
  }
  
  .video-title {
    font-size: 1.05rem !important;
    margin: 0.6rem 0 0rem !important;
    padding: 0 0.4rem !important;
  }
  
  .duration-badge {
    font-size: 0.75rem !important;
    padding: 0.15rem 0.4rem !important;
  }
}

/* Tablet Landscape (Seitlich gehlaten) | 951px - 1366px */
@media (min-width: 951px) and (max-width: 1366px) and (orientation: landscape) {
  .video-grid {
    grid-template-columns: repeat(3, minmax(0, 20rem)) !important;
    gap: 1.35rem !important;
    width: 85vw !important;
  }
  
  .all-uploads-title {
    font-size: 2.75rem !important;
    padding-top: 1.15rem !important;
    padding-bottom: 1.15rem !important;
  }
  
  .sub-title-music {
    font-size: 1rem !important;
    padding: 4px 10px !important;
  }
  
  .video-title {
    font-size: 1.05rem !important;
    margin: 0.65rem 0 0rem !important;
    padding: 0 0.45rem !important;
  }
  
  .duration-badge {
    font-size: 0.75rem !important;
    padding: 0.15rem 0.4rem !important;
  }
}