.cdv-float {
  --cdv-persp: 1100px;
  --cdv-float-y: 18px;
  --cdv-rot-x: 6deg;
  --cdv-rot-y: -6deg;
  --cdv-rot-z: -1deg;
  --cdv-scale: 1;
  will-change: transform;
  transform: perspective(var(--cdv-persp)) translate3d(0, var(--cdv-float-y), 0)
    rotateX(var(--cdv-rot-x))
    rotateY(var(--cdv-rot-y))
    rotateZ(var(--cdv-rot-z))
    scale(var(--cdv-scale));
  opacity: 0;
  transition-property: transform, opacity;
  transition-duration: 2.4s;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 2.4s cubic-bezier(0.22, 1, 0.36, 1), opacity 2.4s ease !important;
}

.cdv-float-delay-1 {
  transition-delay: 0s;
}

.cdv-float-delay-2 {
  transition-delay: 0.25s;
}

.cdv-float-delay-3 {
  transition-delay: 0.5s;
}

.cdv-float-3d {
  transform-style: preserve-3d;
  opacity: 1;
  transition-property: transform;
  transition-duration: 2.4s;
  transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
}

.cdv-float.is-float-in {
  --cdv-rot-x: 0deg;
  --cdv-rot-y: 0deg;
  --cdv-rot-z: 0deg;
  opacity: 1;
}

.cdv-float.cdv-float-3d.is-float-in {
  opacity: 1;
}

/* Background image fade to solid color (use on container) */
.cdv-bg-fade {
  position: relative;
  background-size: cover;
  background-position: center;
  overflow: hidden;
  isolation: isolate;
}

.cdv-bg-fade::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(
    to bottom,
    rgba(251, 248, 240, 0) 0%,
    rgba(251, 248, 240, 0.08) 80%,
    rgba(251, 248, 240, 0.6) 88%,
    #FBF8F0 100%
  );
}

.cdv-bg-fade > * {
  position: relative;
  z-index: 1;
}

/* Force header above everything */
.elementor-location-header {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999999 !important;
  transform: translateZ(0); /* cria stacking próprio */
  isolation: isolate;
}

/* Evita que elementos transformados passem por cima */
.elementor-location-header,
.elementor-location-header * {
  will-change: auto;
}


@media (max-width: 767px) {
  .cdv-bg-fade::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 0;
    background: linear-gradient(
      to bottom,
      rgba(251, 248, 240, 0) 0%,
      rgba(251, 248, 240, 0.08) 85%,
      rgba(251, 248, 240, 0.6) 89%,
      #FBF8F0 100%
    );
  }
}
