/* Animated Gradient Background */
body {
  margin: 0;
  font-family: 'Poppins', sans-serif;
  background: linear-gradient(270deg, #ff6ec4, #7873f5, #42e695, #fdbb2d);
  background-size: 800% 800%;
  animation: gradientShift 18s ease infinite;
  color: #333;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

@keyframes gradientShift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

/* Page title */
.page-title {
  font-size: 2rem;
  text-align: center;
  margin: 20px 0;
  color: #fff;
  text-shadow: 0 4px 8px rgba(0,0,0,0.3);
}

/* Files Container Grid */
#filesContainer {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, fr));
  gap: 20px;
  width: 100%;
  max-width: 1200px;
  margin: 0 auto;
  padding: 20px;
}

/* File Card */
.file-card {
  background: white;
  border-radius: 12px;
  padding: 16px;
  text-align: center;
  box-shadow: 0 8px 20px rgba(0,0,0,0.1);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.file-card:hover {
  transform: translateY(-5px) scale(1.02);
  box-shadow: 0 12px 25px rgba(0,0,0,0.15);
}

/* File Thumbnail */
.file-card img {
  width: 60px;
  height: 60px;
  object-fit: contain;
  margin-bottom: 10px;
}

/* File Name */
.file-card p {
  font-size: 14px;
  margin: 0;
  color: #333;
  word-break: break-word;
}

/* Download Button */
.file-card a {
  margin-top: 10px;
  padding: 6px 12px;
  background: #007bff;
  color: white;
  text-decoration: none;
  font-size: 13px;
  border-radius: 6px;
  transition: background 0.3s ease;
}

.file-card a:hover {
  background: #0056b3;
}

/* Footer */
footer {
  text-align: center;
  color: white;
  margin-top: auto;
  padding: 15px 0;
  font-size: 14px;
}
