.ajax-fade-in {
	opacity: 0;
	transform: translateY(20px);
	transition: opacity 0.3s ease, transform 0.3s ease;
}
.ajax-fade-in.show {
	opacity: 1;
	transform: translateY(0);
}
#infinite-loader {
	text-align: center;
	padding: 20px;
}
.loader-spinner {
	margin: 0 auto;
	width: 30px;
	height: 30px;
	border: 4px solid #ccc;
	border-top-color: #3ba8a5;
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
}
@keyframes spin {
	to { transform: rotate(360deg); }
}


.fade-in-once[data-load="initial"] {
	opacity: 1;
	transform: none;
	transition: none;
}

.posts-wrapper {display: grid; grid-template-columns: 1fr 1fr 1fr;}