.vgc-728-wrapper {
	display: flex;
	justify-content: center;
	width: 100%;
}

.vgc-728-grid {
	display: flex;
	flex-wrap: wrap;
	justify-content: center; /* Center items on the last row */
	gap: var(--vgc-728-gap, 20px);
	width: 100%;
}

.vgc-728-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	/* Calculate width based on columns and gap */
	width: calc( (100% / var(--vgc-728-cols, 3)) - (var(--vgc-728-gap, 20px) * (var(--vgc-728-cols, 3) - 1) / var(--vgc-728-cols, 3)) );
	box-sizing: border-box;
}

.vgc-728-link {
	text-decoration: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	color: inherit;
	transition: transform 0.3s ease;
	width: 100%;
	cursor: pointer;
}

.vgc-728-link:hover {
	transform: translateY(-5px);
}

.vgc-728-image-wrap {
	position: relative;
	width: 100%;
	padding-top: 75%; /* 4:3 Aspect Ratio (3/4 = 0.75) */
	overflow: hidden;
	background-color: #f0f0f0;
}

.vgc-728-image {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.vgc-728-hover-video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	z-index: 1;
}

.vgc-728-link:hover .vgc-728-hover-video {
	opacity: 1;
}

.vgc-728-title {
	margin: 10px 0 0 0;
	padding: 0;
	font-size: 1.2rem;
	font-weight: 600;
	text-align: center;
	color: #333;
	transition: color 0.3s ease;
	width: 100%;
}