@keyframes smokeRise {
  0% {
    transform: scale(0.5) translateY(0) rotate(0deg);
    opacity: 0;
    filter: blur(0px) brightness(1);
  }

  30% {
    transform: scale(1) translateY(-30vh) rotate(var(--rotation-end, 0deg));
    opacity: 1;
  }

  100% {
    transform: scale(1.5) translateY(-100vh) rotate(100deg);
    opacity: 0;
    filter: blur(2.5px) brightness(2);
  }
}

#vii-smoke-container {
  position: fixed;
  inset: 0;
  z-index: 0 !important; /* Always at the very back */
}

.smoke-texture {
  position: absolute;
  animation-name: smokeRise;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  animation-iteration-count: 1;
  pointer-events: none;
  mix-blend-mode: screen;
  transform-origin: center;
  will-change: transform, opacity;
}

footer,
button,
.button,
figure,
.wp-block-image,
.wp-block-button,
.widget_vii_social_widget,
.vii-swiper,
.wp-block-column,
.wp-block-cover,
.astra-shop-thumbnail-wrap {
  position: relative;
  z-index: 20 !important; /* higher than smoke */
}
header,
.ast-mobile-header-content {
  position: relative;
  z-index: 22 !important; /* higher than smoke and other elements */
}
