.flip-card {
  perspective: 1000px;
  width: 100%;
  position: relative;
}

.flip-card-inner {
  position: relative;
  width: 100%;
  transition: transform 0.6s;
  transform-style: preserve-3d;  /* REQUIRED */
}

.flip-card:hover .flip-card-inner {
  transform: rotateY(180deg);
}

/* FRONT defines the height */
.flip-card-front {
  position: relative;    /* IMPORTANT: stays in normal flow */
  backface-visibility: hidden;
  transform: rotateY(0deg);
  z-index: 2;            /* Stays above back when not flipped */
}

/* BACK overlays the front */
.flip-card-back {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  transform: rotateY(180deg);
  z-index: 1;
}
