
.dz-splitcards {
  --dz-bg: #F7F5F1;
  --dz-fg: #070915;
  --dz-card-1: var(--dz-card-3);
  --dz-card-2: #b2b2b2;
  --dz-card-3: #2f2f2f;

  position: relative;
  width: 100%;
  background: var(--dz-bg);
  color: var(--dz-fg);
font-family: "SilkSerif";
  src: url("./assets/fonts/Silk Serif Light Italic.otf") format("opentype");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

.dz-splitcards * {
  box-sizing: border-box;
}

.dz-splitcards img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.dz-splitcards__title {
  font-size: clamp(2.25rem, 3vw, 4rem);
  font-weight: 500;
  line-height: 1;
  margin: 0;
}

.dz-splitcards__intro,
.dz-splitcards__outro {
  min-height: 10svh;
  padding: 2rem;
  padding-bottom: 250px;
  display: grid;
  place-items: center;
  text-align: center;
}

.dz-splitcards__intro .dz-splitcards__title,
.dz-splitcards__outro .dz-splitcards__title {
  max-width: 30rem;
}

.dz-splitcards__sticky {
  position: relative;
  min-height: 100svh;
  padding: 2rem;
  display: flex;
  justify-content: center;
  align-items: center;
}

.dz-splitcards__stickyHeader {
  position: absolute;
  top: 20%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.dz-splitcards__stickyHeader .dz-splitcards__title {
  text-align: center;
  will-change: transform, opacity;
  transform: translateY(40px);
  opacity: 0;
}

.dz-splitcards__cardContainer {
  position: relative;
  width: 75%;
  display: flex;
  gap: 0px;
  perspective: 1000px;
  transform: translateY(40px);
  will-change: width;
}

.dz-splitcards__card {
  position: relative;
  flex: 1;
  aspect-ratio: 5 / 7;
  transform-style: preserve-3d;
  transform-origin: top;
  will-change: transform;
  /* IMPORTANT: niente overflow hidden qui (può rompere il 3D flip) */
  overflow: visible;
}

#dz-card-1 {
  border-radius: 20px 0 0 20px;
}
#dz-card-3 {
  border-radius: 0 20px 20px 0;
}

.dz-splitcards__cardFront,
.dz-splitcards__cardBack {
  position: absolute;
  inset: 0;
  border-radius: inherit;
  overflow: hidden;

  /* 3D reliability */
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  transform-style: preserve-3d;
}

/* separazione piani per evitare flicker */
.dz-splitcards__cardFront {
  transform: translateZ(1px);
}

.dz-splitcards__cardBack {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;

  transform: rotateY(180deg) translateZ(1px);
  padding: 2rem;
}

.dz-splitcards__cardBack p {
  font-size: clamp(1.25rem, 1.8vw, 2rem);
  font-weight: 500;
  line-height: 1;
  margin: 0;
}

.dz-splitcards__cardBack span {
  position: absolute;
  top: 2rem;
  left: 2rem;
  opacity: 0.4;
}

#dz-card-1 .dz-splitcards__cardBack {
  background-color: var(--dz-card-1);
  color: var(--dz-bg);
}
#dz-card-2 .dz-splitcards__cardBack {
  background-color: var(--dz-card-2);
}
#dz-card-3 .dz-splitcards__cardBack {
  background-color: var(--dz-card-3);
    color: var(--dz-bg);

}

@media (max-width: 1000px) {
  .dz-splitcards__intro .dz-splitcards__title,
  .dz-splitcards__outro .dz-splitcards__title {
    max-width: none;
  }

  .dz-splitcards__sticky {
    min-height: auto;
    padding: 4rem 2rem;
    flex-direction: column;
  }

  .dz-splitcards__stickyHeader {
    position: relative;
    top: auto;
    left: auto;
    transform: none;
    margin-bottom: 4rem;
  }

  .dz-splitcards__stickyHeader .dz-splitcards__title {
    opacity: 1;
    transform: none;
  }

  .dz-splitcards__cardContainer {
    width: 100%;
    flex-direction: column;
    gap: 2rem;
    transform: none;
  }

  .dz-splitcards__card {
    width: 100%;
    max-width: 400px;
    margin: 0 auto;
    border-radius: 20px !important;
  }

  .dz-splitcards__cardBack {
    transform: none !important; /* mobile: niente flip */
  }

  .dz-splitcards__cardFront {
    transform: none !important;
  }
}