/* === Container with Fixed 3 Columns === */
.album-list-container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--spacing-xl);                /* 30px */
  padding: var(--spacing-xl) 0;
  width: 100%;
}

/* === Album Tile === */
.album-tile {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: var(--bg-color);
  border-radius: var(--radius-lg);       /* 16px */
  box-shadow:
    0.5rem 0.5rem 1rem var(--dark-shadow),
   -0.5rem -0.5rem 1rem var(--light-shadow);
  transition: box-shadow 0.3s ease;
  padding: var(--spacing-lg);            /* 20px */
  min-height: 31.25rem;                  /* 500px */
  overflow: hidden;
  cursor: pointer;
}

.album-tile:hover,
.album-tile:focus-within {
  box-shadow:
    inset 0.5rem 0.5rem 1rem var(--dark-shadow),
    inset -0.5rem -0.5rem 1rem var(--light-shadow);
  outline: none;
}

/* === Album Cover === */
.album-cover {
  width: 100%;
  height: 16.25rem;                      /* 260px */
  object-fit: cover;
  border-radius: var(--radius-lg);       /* 16px */
  margin-bottom: var(--spacing-lg);      /* 20px */
  background-color: var(--bg-color);
  box-shadow:
    0.5rem 0.5rem 1rem var(--dark-shadow),
   -0.5rem -0.5rem 1rem var(--light-shadow);
}

/* === Overlay for Info & Actions === */
.album-overlay {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  gap: 0.9375rem;                        /* 15px */
  width: 100%;
  flex: 1;
}

.album-info {
  flex: none;
}

.album-title {
  font-size: var(--font-2xl);             /* 1.5rem */
  font-weight: 700;
  margin-bottom: var(--spacing-sm);      /* 10px */
  color: var(--text-color);
  text-shadow:
    0.0625rem 0.0625rem 0.125rem var(--dark-shadow),
   -0.0625rem -0.0625rem 0.125rem var(--light-shadow);
}

.album-artist,
.album-date {
  font-size: var(--font-xl);           /* 1rem */
  color: #555;
  text-shadow:
    0.0625rem 0.0625rem 0.09375rem var(--dark-shadow),
   -0.0625rem -0.0625rem 0.09375rem var(--light-shadow);
}

/* === Action Buttons === */
.album-actions {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: var(--spacing-sm);                /* 10px */
  margin-top: var(--spacing-sm);
}

.album-actions .btn {
  display: flex;
  align-items: center;
  background: var(--bg-color);
  border: none;
  border-radius: var(--radius-md);       /* 12px */
  padding: 0.75rem 1.25rem;              /* 12px 20px */
  font-size: var(--font-xl);             /* 14px */
  color: var(--text-color);
  box-shadow:
    0.375rem 0.375rem 0.75rem var(--dark-shadow),
   -0.375rem -0.375rem 0.75rem var(--light-shadow);
  transition: box-shadow 0.2s ease-in-out, color 0.2s ease-in-out;
  cursor: pointer;
  user-select: none;
  text-decoration: none;
}

.album-actions .btn:hover,
.album-actions .btn:focus {
  box-shadow:
    inset 0.25rem 0.25rem 0.5rem var(--dark-shadow),
    inset -0.25rem -0.25rem 0.5rem var(--light-shadow);
  outline: none;
  color: var(--accent, #31C5F4); /* Use your accent color on hover/focus */
}

/* === Responsive Grid Columns === */
@media (max-width: 992px) {
  .album-list-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 576px) {
  .album-list-container {
    grid-template-columns: 1fr;
  }

  .album-tile {
    padding: var(--spacing-md);          /* 16px */
    min-height: auto;
  }

  .album-actions {
    justify-content: center;
  }

  .album-cover {
    height: auto;
    max-height: 17.5rem;                 /* 280px */
  }
}

/* === Album Icons === */
.album-icon {
  width: 50px;
  height: 50px;
  margin-right: 8px;
  vertical-align: middle;
  filter: brightness(0.3); /* Dark icon by default */
  transition: filter 0.3s ease;
}

/* Show full color icon on hover, focus, or active */
.album-actions .btn:hover .album-icon,
.album-actions .btn:focus .album-icon,
.album-actions .btn:active .album-icon {
  filter: none;
}
