/* Instagram feed grid (theme-native, plugin-free) */

.ig-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--zgb-space-3);
}
.ig-item { margin: 0; }
.ig-link {
	position: relative;
	display: block;
	aspect-ratio: 1;
	overflow: hidden;
	border-radius: var(--zgb-radius-sm);
	background: var(--zgb-cream-deep);
}
.ig-img {
	width: 100%; height: 100%; object-fit: cover;
	transition: transform .6s var(--zgb-ease-settle);
}
.ig-link:hover .ig-img { transform: scale(1.07); }

.ig-overlay {
	position: absolute; inset: 0;
	display: flex; align-items: center; justify-content: center;
	color: #fff; background: rgba(41, 147, 192, .6);
	opacity: 0; transition: opacity var(--zgb-dur-fast) var(--zgb-ease-out);
}
.ig-link:hover .ig-overlay,
.ig-link:focus-visible .ig-overlay { opacity: 1; }

.ig-badge {
	position: absolute; top: 8px; right: 8px;
	color: #fff; font-size: .8rem; line-height: 1;
	text-shadow: 0 1px 3px rgba(0, 0, 0, .5);
	pointer-events: none;
}

.ig-cta { text-align: center; margin-top: var(--zgb-space-6); }

@media (max-width: 768px) {
	.ig-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 480px) {
	.ig-grid { grid-template-columns: repeat(2, 1fr); gap: var(--zgb-space-2); }
}
