.dsig-grid {
	display: grid;
	grid-template-columns: repeat(var(--dsig-cols, 3), 1fr);
	gap: 8px;
}
.dsig-item {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: #eee;
}
.dsig-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .3s ease;
}
.dsig-item:hover img { transform: scale(1.06); }
.dsig-badge {
	position: absolute;
	top: 8px;
	right: 8px;
	color: #fff;
	text-shadow: 0 1px 3px rgba(0,0,0,.6);
	font-size: 18px;
}
.dsig-caption {
	position: absolute;
	inset: auto 0 0 0;
	padding: 24px 10px 10px;
	color: #fff;
	font-size: 13px;
	line-height: 1.3;
	background: linear-gradient(transparent, rgba(0,0,0,.7));
	opacity: 0;
	transition: opacity .25s ease;
}
.dsig-item:hover .dsig-caption { opacity: 1; }
.dsig-follow { text-align: center; margin-top: 12px; }
.dsig-fallback { text-align: center; }
.dsig-error { color: #b32d2e; font-size: 13px; }

@media (max-width: 600px) {
	.dsig-grid { grid-template-columns: repeat(2, 1fr); }
}
