.case-studies-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr); /* Default 3 columns */
	gap: 30px;
	width: 100%;
	margin: 0 auto;
	padding: 20px 0;
}

/* Responsive breakpoints */
@media screen and (max-width: 1024px) {
	.case-studies-grid {
		grid-template-columns: repeat(2, 1fr); /* 2 columns on tablets */
		gap: 20px;
	}
}

@media screen and (max-width: 767px) {
	.case-studies-grid {
		grid-template-columns: 1fr; /* Single column on mobile */
		gap: 15px;
	}
}

/* Grid item styles */
.case-studies-grid .elementor-template {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
}

/* Animation for hover effects */
.case-studies-grid .elementor-template {
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.case-studies-grid .elementor-template:hover {
	transform: translateY(-5px);
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

/* Equal height handling */
.case-studies-grid img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Grid layout override when columns control is used */
.case-studies-grid[data-columns='1'] {
	grid-template-columns: 1fr;
}

.case-studies-grid[data-columns='2'] {
	grid-template-columns: repeat(2, 1fr);
}

.case-studies-grid[data-columns='3'] {
	grid-template-columns: repeat(3, 1fr);
}

.case-studies-grid[data-columns='4'] {
	grid-template-columns: repeat(4, 1fr);
}

/* Responsive overrides for custom column settings */
@media screen and (max-width: 1024px) {
	.case-studies-grid[data-columns='4'],
	.case-studies-grid[data-columns='3'] {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 767px) {
	.case-studies-grid[data-columns] {
		grid-template-columns: 1fr;
	}
}

/* Loading state */
.case-studies-grid.loading {
	opacity: 0.5;
	pointer-events: none;
}

/* Empty state */
.case-studies-grid:empty {
	min-height: 200px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #f5f5f5;
	border-radius: 4px;
}

.case-studies-grid:empty::after {
	content: 'No case studies found';
	color: #666;
	font-size: 16px;
}
