:root {
  --card-height: 300px;
  --card-border-radius: 0px;
  --transition-duration: 0.4s;
  --overlay-normal: rgba(0, 0, 0, 0.2);
  --overlay-hover: rgba(0, 0, 0, 0.6);
}

.editors-pick-list {
  display: flex;
  flex-direction: column;
  gap: 1.2rem; /* Add some space between cards */
  justify-items: stretch;
  align-items: stretch;
  height: auto;
  min-height: 0;
}

.editors-pick-card {
  position: relative;
  height: var(--card-height);
  width: 100%;
  min-width: 0;
  overflow: hidden;
  cursor: pointer;
  transition: all var(--transition-duration) ease;
}

.editors-pick-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transition: all var(--transition-duration) ease;
}

.editors-pick-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--overlay-normal);
  transition: background var(--transition-duration) ease;
}

.editors-pick-card:hover .editors-pick-overlay {
  background: var(--overlay-hover);
}

.editors-pick-content {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 1.5rem;
  color: white;
  z-index: 2;
}

/* Adjusted title positioning and hover animation for smoother subtitle appearance */
.editors-pick-title {
  font-size: 1.3rem;
  font-weight: bold;
  line-height: 1.3;
  text-shadow: 0 2px 8px rgba(0, 0, 0, 0.7);
  color: white;
  margin: 0;
  transition: transform var(--transition-duration) cubic-bezier(0.4, 0, 0.2, 1);
  transform: translateY(0);
}

/* Title moves up less (40px) to make room for subtitle */
.editors-pick-card:hover .editors-pick-title {
  transform: translateY(-80px);
}

/* Subtitle slides up on hover. left/right mirror the parent padding so text
   stays within the card bounds. */
.editors-pick-description {
  position: absolute;
  bottom: 1.5rem;
  left: 1.5rem;
  right: 1.5rem;
  transform: translateY(50px);
  opacity: 0;
  transition: transform var(--transition-duration) cubic-bezier(0.4, 0, 0.2, 1),
    opacity var(--transition-duration) cubic-bezier(0.4, 0, 0.2, 1);
  margin: 0;
}

.editors-pick-card:hover .editors-pick-description {
  transform: translateY(0);
  opacity: 1;
}

.editors-pick-description p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.4;
  color: rgba(255, 255, 255, 0.95);
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.7);
}

@media (max-width: 768px) {
  .editors-pick-list {
    gap: 1rem;
  }

  .editors-pick-card {
    --card-height: 240px;
    height: var(--card-height);
  }

  .editors-pick-title {
    font-size: 1.1rem;
    /* No translate — subtitle is always visible below */
    transform: none !important;
  }

  /* On touch/mobile the subtitle is always visible — no hover-only animation */
  .editors-pick-description {
    position: static;
    transform: none !important;
    opacity: 1 !important;
    margin-top: 0.5rem;
    left: auto;
    right: auto;
    bottom: auto;
  }

  .editors-pick-description p {
    font-size: 0.85rem;
  }
}
