/* MWS Image Effects — plain image + reveal overlays (no default chrome) */
.elementor-widget-mws_ew_image_effects,
.elementor-widget-mws_ew_image_effects > .elementor-widget-container {
	background: transparent;
	background-color: transparent;
	background-image: none;
	box-shadow: none;
}

.mws-ew-ife {
	--mws-ew-ife-overlay: #ffffff;
	--mws-ew-ife-aspect: auto;

	position: relative;
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none;
	box-sizing: border-box;
}

.mws-ew-ife *,
.mws-ew-ife *::before,
.mws-ew-ife *::after {
	box-sizing: border-box;
}

.mws-ew-ife__link {
	display: block;
	color: inherit;
	text-decoration: none;
}

.mws-ew-ife__link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.mws-ew-ife__caption {
	display: block;
	margin: 12px 0 0;
	padding: 0;
	font-size: 0.875rem;
	line-height: 1.5;
	color: inherit;
	opacity: 0.75;
	overflow-wrap: break-word;
	word-break: break-word;
	hyphens: auto;
}

.mws-ew-ife__caption a {
	color: inherit;
	text-decoration: underline;
}

.mws-ew-ife__motion {
	position: relative;
	width: 100%;
}

.mws-ew-ife__frame {
	position: relative;
	display: block;
	overflow: hidden;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	line-height: 0;
	perspective: 1400px;
}

.mws-ew-ife__parallax {
	position: relative;
	display: block;
	width: 100%;
}

/* Natural image (default) */
.mws-ew-ife__photo {
	position: relative;
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: top;
	backface-visibility: hidden;
}

/* Optional crop mode */
.mws-ew-ife--cropped .mws-ew-ife__frame {
	aspect-ratio: var(--mws-ew-ife-aspect);
}

.mws-ew-ife--cropped .mws-ew-ife__parallax {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.mws-ew-ife--cropped .mws-ew-ife__photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.mws-ew-ife__ghost {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	opacity: 0;
	pointer-events: none;
	mix-blend-mode: screen;
	backface-visibility: hidden;
}

/* Heavy filters only when the chromatic effect is active. */
.mws-ew-ife[data-effect="chromatic_split"] .mws-ew-ife__ghost--a {
	filter: saturate(4) hue-rotate(-40deg) brightness(1.1);
}

.mws-ew-ife[data-effect="chromatic_split"] .mws-ew-ife__ghost--b {
	filter: saturate(4) hue-rotate(150deg) brightness(1.1);
}

.mws-ew-ife__tile-grid {
	position: absolute;
	inset: 0;
	opacity: 0;
	pointer-events: none;
}

.mws-ew-ife__tile {
	position: absolute;
	width: 33.3334%;
	height: 33.3334%;
	background-size: 300% 300%;
	background-repeat: no-repeat;
}

.mws-ew-ife__strip {
	position: absolute;
	background: var(--mws-ew-ife-overlay);
	opacity: 0;
	pointer-events: none;
}

.mws-ew-ife__strip--horizontal {
	left: 0;
	right: 0;
	height: 10%;
	transform-origin: top;
}

.mws-ew-ife__strip--vertical {
	top: 0;
	bottom: 0;
	width: 10%;
	transform-origin: left;
}

.mws-ew-ife__curtain {
	position: absolute;
	top: 0;
	bottom: 0;
	width: 50%;
	background: var(--mws-ew-ife-overlay);
	opacity: 0;
	pointer-events: none;
}

.mws-ew-ife__curtain--l {
	left: 0;
	transform-origin: left;
}

.mws-ew-ife__curtain--r {
	right: 0;
	transform-origin: right;
}

.mws-ew-ife__spotlight {
	position: absolute;
	inset: -20% -60%;
	background: linear-gradient(
		100deg,
		transparent 40%,
		rgba(255, 255, 255, 0.75) 50%,
		transparent 60%
	);
	opacity: 0;
	pointer-events: none;
	mix-blend-mode: overlay;
	transform: translateX(-120%);
}

.mws-ew-ife:dir(rtl) .mws-ew-ife__spotlight,
:is([dir="rtl"], .rtl) .mws-ew-ife__spotlight {
	transform: translateX(120%);
}

.mws-ew-ife:dir(rtl) .mws-ew-ife__strip--vertical,
:is([dir="rtl"], .rtl) .mws-ew-ife__strip--vertical {
	transform-origin: right;
}

.mws-ew-ife__defs {
	position: absolute;
	width: 0;
	height: 0;
	overflow: hidden;
}

/* Promote layers only while actively animating / scrubbing. */
.mws-ew-ife.is-animating .mws-ew-ife__photo,
.mws-ew-ife.is-animating .mws-ew-ife__tile,
.mws-ew-ife.is-animating .mws-ew-ife__strip,
.mws-ew-ife.is-animating .mws-ew-ife__curtain {
	will-change: transform, opacity;
}

/* Scrub layers only while in view (and motion modes enabled). */
.mws-ew-ife--has-motion.is-in-view .mws-ew-ife__motion,
.mws-ew-ife--has-parallax.is-in-view .mws-ew-ife__parallax {
	will-change: transform;
}

/* Editor / reduced-motion: keep image visible */
.mws-ew-ife.is-static .mws-ew-ife__photo {
	opacity: 1 !important;
	transform: none !important;
	filter: none !important;
	clip-path: none !important;
	-webkit-mask-image: none !important;
	mask-image: none !important;
}

.mws-ew-ife.is-static .mws-ew-ife__ghost,
.mws-ew-ife.is-static .mws-ew-ife__tile-grid,
.mws-ew-ife.is-static .mws-ew-ife__strip,
.mws-ew-ife.is-static .mws-ew-ife__curtain,
.mws-ew-ife.is-static .mws-ew-ife__spotlight {
	opacity: 0 !important;
	visibility: hidden;
}
