.card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;

  background-color: #fff; /* o transparent se preferisci */
  border: 1px solid #ccc;
  border-radius: 12px;
  padding: 20px;
  text-align: center;
  height: 300px;

  background-size: cover;
  background-position: center;
  background-image: none; /* inizialmente nessuno */
  transition: color 0.3s ease, background-image 0s ease 0.3s; /* delay per evitare flicker */
}



.card-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform 0.4s ease;
  will-change: transform;
}


.card:hover .card-inner {
  transform: translateY(-30px);
}

.card .image-wrapper {
  position: relative;
  width: 53px;
  height: 53px;
  margin: 0 auto 10px;
}

.card .image-wrapper img {
  width: 53px;
  height: 53px;
  object-fit: contain;
  position: absolute;
  top: 0;
  left: 0;
  transition: opacity 0.4s ease;
}

.card .image-hover {
  opacity: 0;
}

.card:hover .image-normal {
  opacity: 0;
}

.card:hover .image-hover {
  opacity: 1;
}

.card h3 {
  margin: 10px 0;
  font-size: 16px;
  transition: color 0.3s ease;
  letter-spacing: 0;
}

.card-description {
  font-size: 14px;
  opacity: 0;
  transition: opacity 0.4s ease;
  position: absolute;
  bottom: 20px;
  color: inherit;
}

.card:hover .card-description {
  opacity: 1;
}

.card:hover {
  color: #fff;
}


/* Overlay scuro all'hover */
.card-bg-overlay {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0,0,0,0.5), rgba(0,0,0,0.5));
  opacity: 0;
  transition: opacity 0.3s ease;
  z-index: 1;
}

.card:hover .card-bg-overlay {
  opacity: 1;
}

/* Contenuto sopra overlay */
.card-inner,
.card-description {
  position: relative;
  z-index: 2;
}

.card:hover {
  background-image: var(--card-bg-url);
  color: #fff;
  transition-delay: 0s;
}

.card-bg-image {
  position: absolute;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 0.5s ease;
  z-index: 0;
}

.card:hover .card-bg-image {
  opacity: 1;
}
