/* Product Image Hover for Elementor */

.pihs {
	display: flex;
	justify-content: center;
}

.pihs-wrap {
	--pihs-speed: 400ms;
	--pihs-zoom: 1.08;
	--pihs-badge-x: 10px;
	--pihs-badge-y: 10px;
	position: relative;
	width: 100%;
	max-width: 100%;
	line-height: 0;
}

.pihs-link {
	display: block;
	position: relative;
	text-decoration: none;
}

.pihs-media {
	position: relative;
	overflow: hidden;
	width: 100%;
}

.pihs-media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity var(--pihs-speed) ease, transform var(--pihs-speed) ease, filter var(--pihs-speed) ease;
	will-change: opacity, transform;
}

.pihs-img--hover {
	position: absolute;
	inset: 0;
	opacity: 0;
	pointer-events: none;
}

/* --- Fade --- */
.pihs--fade.pihs--has-hover:hover .pihs-img--hover {
	opacity: 1;
}

/* --- Fade + zoom --- */
.pihs--zoom-fade.pihs--has-hover .pihs-img--hover {
	transform: scale(1.12);
}

.pihs--zoom-fade.pihs--has-hover:hover .pihs-img--hover {
	opacity: 1;
	transform: scale(1);
}

/* --- Slides --- */
.pihs--slide-left.pihs--has-hover .pihs-img--hover,
.pihs--slide-right.pihs--has-hover .pihs-img--hover,
.pihs--slide-up.pihs--has-hover .pihs-img--hover {
	opacity: 1;
}

.pihs--slide-left.pihs--has-hover .pihs-img--hover {
	transform: translateX(100%);
}

.pihs--slide-right.pihs--has-hover .pihs-img--hover {
	transform: translateX(-100%);
}

.pihs--slide-up.pihs--has-hover .pihs-img--hover {
	transform: translateY(100%);
}

.pihs--slide-left.pihs--has-hover:hover .pihs-img--hover,
.pihs--slide-right.pihs--has-hover:hover .pihs-img--hover,
.pihs--slide-up.pihs--has-hover:hover .pihs-img--hover {
	transform: translate(0, 0);
}

.pihs--slide-left.pihs--has-hover:hover .pihs-img--main {
	transform: translateX(-100%);
}

.pihs--slide-right.pihs--has-hover:hover .pihs-img--main {
	transform: translateX(100%);
}

.pihs--slide-up.pihs--has-hover:hover .pihs-img--main {
	transform: translateY(-100%);
}

/* --- Single image products --- */
.pihs--zoom-single:hover .pihs-img--main {
	transform: scale(var(--pihs-zoom));
}

/* --- Sale badge --- */
.pihs-badge {
	position: absolute;
	z-index: 3;
	line-height: 1;
	padding: 6px 10px;
	font-size: 12px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #fff;
	background-color: #111;
	pointer-events: none;
}

.pihs-badge--top-left {
	top: var(--pihs-badge-y);
	left: var(--pihs-badge-x);
}

.pihs-badge--top-right {
	top: var(--pihs-badge-y);
	right: var(--pihs-badge-x);
}

.pihs-badge--bottom-left {
	bottom: var(--pihs-badge-y);
	left: var(--pihs-badge-x);
}

.pihs-badge--bottom-right {
	bottom: var(--pihs-badge-y);
	right: var(--pihs-badge-x);
}

/* --- Editor notice --- */
.pihs-notice {
	padding: 14px 16px;
	border: 1px dashed #c3c9d1;
	border-radius: 4px;
	color: #5a636e;
	font-size: 13px;
	line-height: 1.5;
	text-align: center;
}

/* --- Touch devices: no hover, keep the featured image clean --- */
@media (hover: none) {
	.pihs-img--hover {
		display: none;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pihs-media img {
		transition-duration: 1ms;
	}
}
