/* R MKT — logo 3D flutuante fixa à direita, movimento suave */

.rmkt-logo3d-float {
  position: fixed;
  right: clamp(16px, 3vw, 44px);
  top: 62%;
  z-index: 10050;
  width: min(340px, 32vw);
  height: min(340px, 32vw);
  pointer-events: none;
  overflow: visible;
  transform: translateY(-50%);
  opacity: 0.84;
}

.rmkt-logo3d-float-inner {
  position: relative;
  width: 100%;
  height: 100%;
  animation: rmktLogo3dBob 10s ease-in-out infinite;
}

.rmkt-logo3d-shadow {
  position: absolute;
  left: 50%;
  bottom: 2%;
  z-index: 0;
  width: 62%;
  height: 14%;
  pointer-events: none;
  border-radius: 50%;
  background: rgba(8, 22, 18, 0.2);
  filter: blur(32px);
  transform: translate(-50%, 56px);
}

.rmkt-logo3d-float-glow {
  position: absolute;
  inset: 8%;
  z-index: 0;
  pointer-events: none;
  background: radial-gradient(
    circle,
    rgba(142, 182, 155, 0.22) 0%,
    rgba(142, 182, 155, 0.08) 45%,
    transparent 72%
  );
  filter: blur(36px);
  animation: rmktLogo3dGlow 8s ease-in-out infinite;
}

.rmkt-logo3d-canvas {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  background: transparent !important;
  pointer-events: auto;
  cursor: grab;
  touch-action: none;
  user-select: none;
  -webkit-user-select: none;
  overflow: visible;
  filter:
    drop-shadow(0 36px 52px rgba(8, 22, 18, 0.2))
    drop-shadow(0 18px 28px rgba(8, 22, 18, 0.12));
}

.rmkt-logo3d-canvas.is-dragging {
  cursor: grabbing;
}

.rmkt-logo3d-canvas canvas {
  display: block;
  width: 100% !important;
  height: 100% !important;
  background: transparent !important;
}

@keyframes rmktLogo3dBob {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-6px); }
}

@keyframes rmktLogo3dGlow {
  0%, 100% {
    opacity: 0.55;
    transform: scale(1);
  }
  50% {
    opacity: 0.75;
    transform: scale(1.03);
  }
}

@media (max-width: 960px) {
  .rmkt-logo3d-float {
    right: clamp(8px, 2vw, 12px);
    top: 58%;
    width: min(210px, 38vw);
    height: min(210px, 38vw);
  }

  .rmkt-logo3d-shadow {
    width: 58%;
    filter: blur(26px);
    transform: translate(-50%, 42px);
  }
}

@media (max-width: 520px) {
  .rmkt-logo3d-float {
    width: min(180px, 40vw);
    height: min(180px, 40vw);
  }
}

@media (prefers-reduced-motion: reduce) {
  .rmkt-logo3d-float-inner,
  .rmkt-logo3d-float-glow {
    animation: none !important;
  }
}

/* ── Hero logo3d: textos centralizados H + V ── */

body.rmkt-logo3d .hero.hero-poster.hero-logo3d {
  min-height: 100svh;
  display: flex;
  flex-direction: column;
}

body.rmkt-logo3d .hero.hero-poster .hero-inner.hero-logo3d-inner {
  flex: 1;
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: none;
  margin-inline: 0;
  min-height: calc(100svh - clamp(72px, 10vh, 96px));
  padding:
    clamp(96px, 12vh, 120px)
    clamp(24px, 5vw, 48px)
    clamp(108px, 14vh, 136px) !important;
  box-sizing: border-box;
  text-align: center;
}

body.rmkt-logo3d .hero-logo3d-inner .hero-poster-copy {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  max-width: min(720px, 94vw);
  margin-inline: auto;
  text-align: center;
}

body.rmkt-logo3d .hero-logo3d-inner .hero-poster-top,
body.rmkt-logo3d .hero-logo3d-inner .hero-poster-bottom {
  align-items: center;
  text-align: center;
  width: 100%;
}

body.rmkt-logo3d .hero-logo3d-inner .hero-poster-question,
body.rmkt-logo3d .hero-logo3d-inner .hero-poster-shout,
body.rmkt-logo3d .hero-logo3d-inner .hero-poster-cta {
  text-align: center;
  margin-inline: auto;
}

body.rmkt-logo3d .hero-logo3d-inner .hero-poster-separator {
  margin-inline: auto;
}

body.rmkt-logo3d .hero.hero-poster.hero-logo3d .hero-poster-glow {
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}

body.rmkt-logo3d .hero-poster-anim {
  animation-delay: calc(0.55s + (var(--i, 0) * 0.2s));
}

body.rmkt-logo3d .hero-poster-cta-line:first-child {
  animation-delay: calc(1.35s + (var(--i, 5) * 0.2s));
}

body.rmkt-logo3d .hero-poster-cta-line--main {
  animation-delay: calc(1.55s + (var(--i, 5) * 0.2s));
}

body.rmkt-logo3d .hero-poster .hero-badge {
  animation-delay: calc(1.75s + var(--badge-i, 0) * 0.12s);
}

@media (max-width: 960px) {
  body.rmkt-logo3d .hero.hero-poster .hero-inner.hero-logo3d-inner {
    min-height: calc(100svh - 64px);
    padding:
      clamp(88px, 14vh, 108px)
      clamp(20px, 4vw, 28px)
      clamp(96px, 16vh, 120px) !important;
  }

  body.rmkt-logo3d .hero-logo3d-inner .hero-poster-copy {
    max-width: min(640px, 96vw);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.rmkt-logo3d .hero-poster-anim,
  body.rmkt-logo3d .hero-poster-cta-line,
  body.rmkt-logo3d .hero-poster .hero-badge {
    animation-delay: 0s !important;
  }
}
