/* ── Image Hover Widget ───────────────────────────────────────────── */

.aew-ih-wrapper {
	position: relative;
	display: block;
	overflow: hidden;
	width: 100%;
	height: 350px;
	text-decoration: none;
}

/* Immagine */
.aew-ih-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
}

.aew-ih-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 400ms ease;
}

/* Overlay */
.aew-ih-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.65);
	transition: opacity 400ms ease, transform 400ms ease;
	z-index: 1;
}

/* Contenuto testo */
.aew-ih-content {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 20px 24px;
	transition: opacity 400ms ease, transform 400ms ease;
}

.aew-ih-pos-top    .aew-ih-content { justify-content: flex-start; }
.aew-ih-pos-center .aew-ih-content { justify-content: center; }
.aew-ih-pos-bottom .aew-ih-content { justify-content: flex-end; }

.aew-ih-title {
	margin: 0 0 8px;
	color: #fff;
}

.aew-ih-description {
	margin: 0;
	color: #f0f0f0;
}

/* ── Effetti ─────────────────────────────────────────────────────── */

/* FADE */
.aew-ih-effect-fade .aew-ih-overlay,
.aew-ih-effect-fade .aew-ih-content {
	opacity: 0;
}

.aew-ih-effect-fade:hover .aew-ih-overlay,
.aew-ih-effect-fade:hover .aew-ih-content {
	opacity: 1;
}

/* SLIDE DAL BASSO */
.aew-ih-effect-slide-up .aew-ih-overlay,
.aew-ih-effect-slide-up .aew-ih-content {
	transform: translateY(100%);
}

.aew-ih-effect-slide-up:hover .aew-ih-overlay,
.aew-ih-effect-slide-up:hover .aew-ih-content {
	transform: translateY(0);
}

/* SLIDE DALL'ALTO */
.aew-ih-effect-slide-down .aew-ih-overlay,
.aew-ih-effect-slide-down .aew-ih-content {
	transform: translateY(-100%);
}

.aew-ih-effect-slide-down:hover .aew-ih-overlay,
.aew-ih-effect-slide-down:hover .aew-ih-content {
	transform: translateY(0);
}

/* SLIDE DA DESTRA */
.aew-ih-effect-slide-left .aew-ih-overlay,
.aew-ih-effect-slide-left .aew-ih-content {
	transform: translateX(100%);
}

.aew-ih-effect-slide-left:hover .aew-ih-overlay,
.aew-ih-effect-slide-left:hover .aew-ih-content {
	transform: translateX(0);
}

/* SLIDE DA SINISTRA */
.aew-ih-effect-slide-right .aew-ih-overlay,
.aew-ih-effect-slide-right .aew-ih-content {
	transform: translateX(-100%);
}

.aew-ih-effect-slide-right:hover .aew-ih-overlay,
.aew-ih-effect-slide-right:hover .aew-ih-content {
	transform: translateX(0);
}

/* ZOOM immagine (overlay sempre visibile, immagine si ingrandisce) */
.aew-ih-effect-zoom .aew-ih-overlay,
.aew-ih-effect-zoom .aew-ih-content {
	opacity: 0;
}

.aew-ih-effect-zoom:hover .aew-ih-overlay,
.aew-ih-effect-zoom:hover .aew-ih-content {
	opacity: 1;
}

.aew-ih-effect-zoom:hover .aew-ih-image img {
	transform: scale(1.1);
}
