.banner-v3__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 30px;
  grid-auto-flow: dense;
}

.banner-v3__card-3d {
  position: relative;
  width: fit-content;
  height: fit-content;
  margin: auto;
}

.banner-v3__card-3d__img {
  background-size: cover;
  background-position: 50% 50%;
  /* overflow: hidden; */
}

.banner-v3__card-3d__left,
.banner-v3__card-3d__right {
  position: absolute;
  top: 0;
  width: 30px;
  height: 100%;
  background-color: #dbdbdb;
}

.banner-v3__card-3d__left {
  left: 0;
  transform-origin: 100% 50%;
  transform: translateX(-100%) rotateY(-90deg);
  background-size: cover;
  background-positon: 0 50%;
}

.banner-v3__card-3d__left:after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 9;
  background-color: #000;
  opacity: 0.7;
}

.banner-v3__card-3d__right {
  right: 0;
  transform-origin: 0 50%;
  transform: translateX(100%) rotateY(90deg);
}

.banner-v3__card-3d__top,
.banner-v3__card-3d__bottom {
  position: absolute;
  left: 0;
  height: 30px;
  width: 100%;
  background-color: #dbdbdb;
}

.banner-v3__card-3d__top {
  top: 0;
  transform-origin: 50% 100%;
  transform: translateY(-100%) rotateX(90deg);
}

.banner-v3__card-3d__bottom {
  bottom: 0;
  transform-origin: 50% 0;
  transform: translateY(100%) rotateX(-90deg);
}

.banner-v3__card-3d__text {
  position: relative;
  text-align: center;
  bottom: -1rem;
  color: rgba(var(--color-foreground));
  font-size: 1.8rem;
}