/* Image Hover Swap for Elementor */
.ihs-wrap{
	position:relative;
	display:inline-block;
	max-width:100%;
	overflow:hidden;
	line-height:0;
	vertical-align:top;
	--ihs-dur:.4s;
	--ihs-fit:cover;
}
.ihs-link{display:block;width:100%;height:100%;}
.ihs-img{display:block;width:100%;max-width:100%;object-fit:var(--ihs-fit);}
.ihs-front{position:relative;z-index:1;height:auto;}
.ihs-hover{position:absolute;top:0;left:0;width:100%;height:100%;z-index:2;}
.ihs-front,.ihs-hover{
	transition:transform var(--ihs-dur) ease, opacity var(--ihs-dur) ease;
	will-change:transform,opacity;
}

/* Esconde a imagem da frente no hover (garante a troca limpa, mesmo com PNG transparente) */
.ihs-wrap:hover .ihs-front{opacity:0;}
.ihs-effect-flip:hover .ihs-front{opacity:1;} /* no flip a frente gira, não some */

/* ---- FADE ---- */
.ihs-effect-fade .ihs-hover{opacity:0;}
.ihs-effect-fade:hover .ihs-hover{opacity:1;}

/* ---- ZOOM IN ---- */
.ihs-effect-zoom-in .ihs-hover{opacity:0;}
.ihs-effect-zoom-in:hover .ihs-hover{opacity:1;}
.ihs-effect-zoom-in:hover .ihs-front,
.ihs-effect-zoom-in:hover .ihs-hover{transform:scale(1.1);}

/* ---- ZOOM OUT ---- */
.ihs-effect-zoom-out .ihs-hover{opacity:0;transform:scale(1.1);}
.ihs-effect-zoom-out:hover .ihs-hover{opacity:1;transform:scale(1);}

/* ---- SLIDE ---- */
.ihs-effect-slide-up .ihs-hover{transform:translateY(100%);}
.ihs-effect-slide-up:hover .ihs-hover{transform:translateY(0);}
.ihs-effect-slide-down .ihs-hover{transform:translateY(-100%);}
.ihs-effect-slide-down:hover .ihs-hover{transform:translateY(0);}
.ihs-effect-slide-left .ihs-hover{transform:translateX(100%);}
.ihs-effect-slide-left:hover .ihs-hover{transform:translateX(0);}
.ihs-effect-slide-right .ihs-hover{transform:translateX(-100%);}
.ihs-effect-slide-right:hover .ihs-hover{transform:translateX(0);}
/* no slide a frente não precisa sumir (a de hover cobre); mantém visível p/ revelar */
.ihs-effect-slide-up:hover .ihs-front,
.ihs-effect-slide-down:hover .ihs-front,
.ihs-effect-slide-left:hover .ihs-front,
.ihs-effect-slide-right:hover .ihs-front{opacity:1;}

/* ---- FLIP 3D ---- */
.ihs-effect-flip{perspective:1000px;overflow:visible;}
.ihs-effect-flip .ihs-front,
.ihs-effect-flip .ihs-hover{backface-visibility:hidden;}
.ihs-effect-flip .ihs-hover{transform:rotateY(180deg);}
.ihs-effect-flip:hover .ihs-front{transform:rotateY(180deg);}
.ihs-effect-flip:hover .ihs-hover{transform:rotateY(360deg);}

/* ---- ROTATE ---- */
.ihs-effect-rotate .ihs-hover{opacity:0;transform:rotate(-8deg) scale(1.06);}
.ihs-effect-rotate:hover .ihs-hover{opacity:1;transform:rotate(0) scale(1);}

@media (prefers-reduced-motion: reduce){
	.ihs-front,.ihs-hover{transition-duration:.001ms !important;}
}
