.vcw-card {
	position: relative;
	min-width: 0;
	background: #ffffff;
	border-radius: 25px;
	overflow: hidden;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.08);
	transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.4s ease;
	/* No fixed height anywhere in this file on purpose — the card's total
	   height is always just image height + however tall .vcw-body's content
	   (heading + description) turns out to be. More text = taller card,
	   automatically, no extra option needed. */
}

.vcw-card.vcw-hover-lift:hover {
	transform: translateY(-8px);
	box-shadow: 0 20px 34px rgba(0, 0, 0, 0.16);
}

/* ---------- Image ---------- */
.vcw-image-wrap {
	position: relative;
	width: 100%;
	overflow: hidden;
	background: transparent; /* Default transparent so PNG images/icons show no box.
	                             Override via Style > Image > Background Color if you
	                             want a placeholder color while images load. */
}

.vcw-image-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.6s ease;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
}

.vcw-card.vcw-hover-zoom:hover .vcw-image-wrap img {
	transform: scale(1.08);
}

/* ---------- Body panel ---------- */
.vcw-body {
	position: relative;
	text-align: center;
	transition: background 0.4s ease;
}

/* ---------- Icon badge ---------- */
.vcw-icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1), background 0.4s ease;
}

.vcw-card.vcw-hover-icon:hover .vcw-icon {
	transform: scale(1.12) rotate(8deg);
}

/* Font-icon mode */
.vcw-icon i {
	display: block;
}

/* Custom image-icon mode — no forced background/box behind it, so a
   transparent PNG just floats on whatever the badge background is set to
   (which itself can be turned off in Style > Icon Badge). */
.vcw-icon img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* ---------- Heading / description ---------- */
.vcw-heading {
	margin: 0 0 12px 0;
	line-height: 1.2;
}

.vcw-description {
	margin: 0 auto;
}
