.pe-image-block {
	display: inline-block;
	position: relative;
}

/* Hover target */
.pe-image-block .pe-image-wrap {
	position: relative;
	overflow: hidden;
	display: inline-block;
}

/* Image */
.pe-image-block .pe-image-wrap img {
	display: block;
	transform-origin: center center;
	transition: transform var(--pe-transition-ms, 300ms) ease,
		box-shadow var(--pe-transition-ms, 300ms) ease;
}

/* Overlay element (base visible, stronger on hover via vars) */
.pe-image-block .pe-image-overlay {
	position: absolute;
	inset: 0;
	pointer-events: none;
	transition: background var(--pe-transition-ms, 300ms) ease;
}

/* Centered text container with your requested padding. [web:92] */
.pe-image-block .pe-image-text {
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	text-align: center;
	padding: 0.4em 0.2em;
	pointer-events: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.15em;
}

/* Allow separate styling of main and sub text (inline via style attr). */
.pe-image-block .pe-image-text-main {
	line-height: 1.2;
}

.pe-image-block .pe-image-text-sub {
	line-height: 1.2;
}

/* Shapes */
.pe-shape-rounded img,
.pe-shape-rounded .pe-image-overlay,
.pe-shape-rounded .pe-image-text,
.pe-shape-rounded {
	border-radius: 12px;
}

.pe-shape-circle img,
.pe-shape-circle .pe-image-overlay,
.pe-shape-circle .pe-image-text,
.pe-shape-circle {
	border-radius: 999px;
}

/* Filters */
.pe-filter-grayscale img {
	filter: grayscale(100%);
}

.pe-filter-sepia img {
	filter: sepia(100%);
}

.pe-filter-blur img {
	filter: blur(3px);
}

/* Hover transform & overlay */
.pe-image-block .pe-image-wrap:hover img {
	transform: scale(var(--pe-hover-scale, 1.05))
		rotate(var(--pe-hover-rotate, 0deg));
}

/* Intensify overlay on hover using CSS variables. [web:62] */
.pe-image-block .pe-image-wrap:hover .pe-image-overlay {
	background: linear-gradient(
		var(--pe-overlay-angle, 135deg),
		var(--pe-overlay-color-hover, rgba(0, 0, 0, 0.6)),
		var(--pe-overlay-color2-hover, rgba(0, 0, 0, 0))
	);
}
