/* 3D fold instead of skew. Face height stays true, and angle 0 becomes a flat single row. */
.ggpw-isometric-left {
  left: var(--ggpw-iso-seam-shift);
  transform-origin: 100% 50%;
  transform: rotateY(var(--ggpw-iso-angle));
  border-right: 0;
}

.ggpw-isometric-right {
  left: calc(50% + var(--ggpw-iso-seam-shift));
  transform-origin: 0 50%;
  transform: rotateY(calc(var(--ggpw-iso-angle) * -1));
  border-left: 0;
}

.ggpw-isometric-side::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 20;
}

.ggpw-isometric-left::after { background: linear-gradient(to right, rgba(0,0,0,.18), rgba(0,0,0,.02)); }
.ggpw-isometric-right::after { background: linear-gradient(to left, rgba(255,255,255,.13), rgba(255,255,255,.01)); }

.ggpw-isometric-track {
  position: absolute;
  inset: 0 auto 0 0;
  height: 100%;
  width: max-content;
  display: flex;
  flex-wrap: nowrap;
  gap: 0 !important;
  will-change: transform;
}

.ggpw-isometric-cube .ggpw-card {
  position: relative;
  flex: 0 0 auto;
  top: 0;
  height: 100%;
  width: 100%;
  min-width: 100%;
  border-radius: 0;
  margin: 0 !important;
  transform: none !important;
  box-shadow: none;
}

.ggpw-isometric-cube .ggpw-card-link {
  width: 100%;
  min-width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 0;
}

.ggpw-isometric-cube .ggpw-card-image {
  width: 100%;
  min-width: 100%;
  flex: 1 1 auto;
  overflow: hidden;
}

.ggpw-isometric-cube .ggpw-card-image img {
  width: 100% !important;
  height: 100% !important;
  min-width: 100%;
  object-fit: cover !important;
  display: block;
}

.ggpw-isometric-cube .ggpw-card-body {
  flex: 0 0 auto;
  display: flex !important;
  flex-direction: column;
  visibility: visible !important;
  opacity: 1 !important;
  position: relative;
  z-index: 5;
}
