/* Le conteneur Elementor garde la grille en fond */
.rpz-has-multibg {
  position: relative;
  overflow: hidden;
}

/* Contenu au-dessus de la mosaïque */
.rpz-has-multibg .e-con-inner,
.rpz-has-multibg > .elementor-container,
.rpz-has-multibg > .elementor-widget-wrap {
  position: relative;
  z-index: 2;
}

/* MASONRY via colonnes CSS */
.rpz-multibg {
  position: absolute;
  inset: 0;
  z-index: -1;
  /* Masonry = colonnes */
  column-count: var(--rpz-cols, 5);
  gap: var(--rpz-gap, 10px);
  pointer-events: none;
  opacity: var(--rpz-opacity, 1);
  overflow: hidden; /* évite les débordements latéraux */
  padding: 0 var(--rpz-gap, 10px);
  display: flex;
}

/* Chaque élément occupe la largeur de sa colonne et interdit la cassure */
.rpz-multibg__item {
  display: block;             /* plein width de la colonne */
  break-inside: avoid;        /* pas de coupure entre colonnes */
  margin: 0;
  /* border-radius: 20px; */
  /* overflow: hidden; */
}

/* Les images se scalent en largeur, hauteur auto (masonry naturel) */
.rpz-multibg__item img {
  display: block;
  width: 100%;
  height: auto;
  transform: translateZ(0);
  border-radius: 20px !important;
}

/* Effet de scroll : les colonnes deviennent des conteneurs empilés */
.rpz-multibg--scroll {
  will-change: transform;
  transform-style: preserve-3d;
  overflow: hidden;
}

.rpz-multibg__col {
  display: flex;
  flex-direction: column;
  gap: var(--rpz-gap, 10px);
  transition: transform 0.05s linear;
}