/* Reset và font mặc định */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  font-family: 'Montserrat', 'Arial', 'Helvetica', sans-serif;
  font-weight: 700;
}

body {
  background: url('img/bg3.png') no-repeat center center fixed;
  background-size: cover;
  min-height: 100vh;
  display: flex;
  justify-content: center;
  align-items: center;
}

.background-overlay {
  width: 100%;
  min-height: 100vh;
  background-color: rgba(0, 0, 0, 0.6);
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 10px;
}

.icon-container {
  width: 900%;
  max-width: 1500px;
  max-height: 700px;
  background-color: #fff;
  padding: 20px;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  overflow-y: auto; /* Cho phép cuộn nếu vượt quá chiều cao */
}

.icon-container h1 {
  margin-bottom: 20px;
  font-size: clamp(1.5rem, 3vw, 2rem);
  color: #333;
  text-align: center;
}

/* Grid chính */
.icon-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr)); /* 5 cột trên mọi kích thước màn hình */
  grid-template-rows: repeat(4, minmax(0, 1fr)); /* 4 hàng */
  gap: 15px;
  width: 100%;
  min-height: 0; /* Đảm bảo lưới không vượt quá container */
}

/* Mỗi icon item */
.icon-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 5px;
  min-height: 0; /* Đảm bảo ô không vượt quá giới hạn */
}

.icon-item img {
  width: 48px; /* Kích thước cố định */
  height: 48px;
  object-fit: contain;
  transition: transform 0.3s ease;
}

.icon-item p {
  font-size: clamp(0.5rem, 1.2vw, 0.8rem);
  color: #444;
  margin-top: 5px;
  text-align: center;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Hiệu ứng khi hover */
.icon-item img:hover {
  transform: scale(1.1);
}

/* Animation Definitions */
@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.2); }
  100% { transform: scale(1); }
}

@keyframes move {
  0%, 100% { transform: translateX(0); }
  50% { transform: translateX(10px); }
}

/* Apply animations to icons */
.icon-item {
  animation: pulse 8s infinite, move 9s infinite;
}

/* Staggered delays for each icon */
.icon-item:nth-child(1) { animation-delay: 0s, 0s; }
.icon-item:nth-child(2) { animation-delay: 0.1s, 0.2s; }
.icon-item:nth-child(3) { animation-delay: 0.2s, 0.4s; }
.icon-item:nth-child(4) { animation-delay: 0.3s, 0.6s; }
.icon-item:nth-child(5) { animation-delay: 0.4s, 0.8s; }
.icon-item:nth-child(6) { animation-delay: 0.5s, 1s; }
.icon-item:nth-child(7) { animation-delay: 0.6s, 1.2s; }
.icon-item:nth-child(8) { animation-delay: 0.7s, 1.4s; }
.icon-item:nth-child(9) { animation-delay: 0.8s, 1.6s; }
.icon-item:nth-child(10) { animation-delay: 0.9s, 1.8s; }
.icon-item:nth-child(11) { animation-delay: 1s, 2s; }
.icon-item:nth-child(12) { animation-delay: 1.1s, 2.2s; }
.icon-item:nth-child(13) { animation-delay: 1.2s, 2.4s; }
.icon-item:nth-child(14) { animation-delay: 1.3s, 2.6s; }
.icon-item:nth-child(15) { animation-delay: 1.4s, 2.8s; }
.icon-item:nth-child(16) { animation-delay: 1.5s, 3s; }
.icon-item:nth-child(17) { animation-delay: 1.6s, 3.2s; }
.icon-item:nth-child(18) { animation-delay: 1.7s, 3.4s; }
.icon-item:nth-child(19) { animation-delay: 1.8s, 3.6s; }
.icon-item:nth-child(20) { animation-delay: 1.9s, 3.8s; }
