/* Seuil d’arrivée sous l’élément précédent */
:root { --sticky-gap: 24; --fx-width: 360px; } /* en px */

/* Même structure que ta version actuelle */
.sticky-dynamic {
  will-change: transform;
  transition: transform .25s ease; /* anim des réajustements de pile */
}

.sticky-dynamic.is-fixed {
  position: fixed !important;
  top: 50vh;
  left: var(--fx-left, 0px);
  width: var(--fx-width, auto);
  transform: translateY(calc(-50% - var(--off, 0px)));
  z-index: calc(1000 - var(--order, 0)); /* j=0 (haut de pile) au-dessus */
  pointer-events: none;
}

.sticky-dynamic-spacer { height: var(--spacer-h, 0px); }

@media (max-width: 767px) {
  .sticky-dynamic.is-fixed { position: static !important; top:auto; left:auto; width:auto; transform:none; }
  .sticky-dynamic-spacer { display:none !important; }
}

@media (min-width: 767px) {
	.sticky-dynamic.is-fixed{
		margin-left: -10px;
    }		
}