.udi-grid-container {
	display: grid;
	gap: 20px;
	width: 100%;
}

.udi-grid-cols-1 .udi-grid-container { grid-template-columns: 1fr; }
.udi-grid-cols-2 .udi-grid-container { grid-template-columns: repeat(2, 1fr); }
.udi-grid-cols-3 .udi-grid-container { grid-template-columns: repeat(3, 1fr); }
.udi-grid-cols-4 .udi-grid-container { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 768px) {
	.udi-grid-cols-3 .udi-grid-container,
	.udi-grid-cols-4 .udi-grid-container {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 480px) {
	.udi-grid-cols-2 .udi-grid-container,
	.udi-grid-cols-3 .udi-grid-container,
	.udi-grid-cols-4 .udi-grid-container {
		grid-template-columns: 1fr;
	}
}

.udi-item {
	background: #fff;
	border: 1px solid #eee;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 2px 10px rgba(0,0,0,0.05);
	display: flex;
	flex-direction: column;
}

.udi-image-wrapper {
	position: relative;
	width: 100%;
	height: 200px;
	background: #fafafa;
}

.udi-image-wrapper img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.udi-badge {
	position: absolute;
	top: 10px;
	right: 10px;
	background: #e74c3c;
	color: #fff;
	padding: 4px 10px;
	font-size: 12px;
	font-weight: bold;
	border-radius: 4px;
}

.udi-item-content {
	padding: 15px;
	flex-grow: 1;
}

.udi-item-type {
	margin: 0 0 10px 0;
	font-size: 16px;
	color: #333;
}

.udi-description {
	margin: 0;
	font-size: 14px;
	color: #666;
	line-height: 1.5;
}