.pine-blog-posts-grid {
	display: grid;
	/* Column count: Elementor control `columns` (desktop / tablet / mobile). Fallback matches previous default. */
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}
/* Parallax-only (desktop >1024px): avoid fighting viewport reveal (opacity + transform duration). */
@media (min-width: 1025px) {
	.pine-blog-posts[data-disorder="yes"]:not([data-pine-reveal="yes"]) .pine-post-item {
		transition: transform .4s ease;
	}
}
.pine-post-thumb { display: block; overflow: hidden; }
.pine-post-thumb img { width: 100%; height: auto; display: block; }
.pine-post-title { margin: 8px 0; font-size: 34px; line-height: 1.15; }
.pine-post-date { opacity: .72; margin-top: 8px; }
.pine-post-categories { margin-bottom: 10px; text-transform: uppercase; font-size: 12px; letter-spacing: .08em; }
.pine-post-readmore { display: inline-block; margin-top: 12px; }

@media (min-width: 1025px) {
	.pine-blog-posts[data-disorder="yes"] .pine-post-item.parallax-bottom,
	.pine-blog-posts[data-disorder="yes"] .pine-post-item.parallax-top {
		will-change: transform;
	}
}

.pine-blog-slider .pine-blog-posts-grid { display: flex; gap: 0; }
.pine-blog-slider .pine-post-item { height: auto; }
.pine-blog-pagination { margin-top: 18px; position: relative; }

/* Disorder / stagger parallax off at tablet widths and below (matches JS). */
@media (max-width: 1024px) {
	.pine-blog-posts[data-disorder="yes"]:not([data-pine-reveal="yes"]) .pine-post-item {
		transition: none;
	}
	.pine-blog-posts[data-disorder="yes"] .pine-post-item.parallax-bottom,
	.pine-blog-posts[data-disorder="yes"] .pine-post-item.parallax-top {
		will-change: auto;
		transform: none !important;
	}
}

.pine-blog-posts[data-pine-reveal="yes"] .pine-post-item {
	transition-property: opacity, transform;
	transition-duration: var(--pine-reveal-duration, 650ms);
	transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: 0ms;
}

.pine-blog-posts[data-pine-reveal="yes"] .pine-post-item.pine-reveal-pending {
	opacity: 0;
	will-change: transform, opacity;
	pointer-events: none;
}

.pine-blog-posts[data-pine-reveal="yes"][data-pine-reveal-effect="fade_up"] .pine-post-item.pine-reveal-pending {
	transform: translate3d(0, var(--pine-reveal-distance, 22px), 0);
}

.pine-blog-posts[data-pine-reveal="yes"][data-pine-reveal-effect="slide_up"] .pine-post-item.pine-reveal-pending {
	transform: translate3d(0, calc(var(--pine-reveal-distance, 22px) * 1.35), 0);
}

/* Same transform list for start/end so duration/easing apply reliably. */
.pine-blog-posts[data-pine-reveal="yes"][data-pine-reveal-effect="zoom_in"] .pine-post-item.pine-reveal-pending {
	transform: translate3d(0, var(--pine-reveal-distance, 22px), 0) scale3d(0.92, 0.92, 1);
}

.pine-blog-posts[data-pine-reveal="yes"][data-pine-reveal-effect="zoom_in"] .pine-post-item.pine-reveal-in {
	opacity: 1;
	transform: translate3d(0, 0, 0) scale3d(1, 1, 1);
}

.pine-blog-posts[data-pine-reveal="yes"][data-pine-reveal-effect="fade_up"] .pine-post-item.pine-reveal-in,
.pine-blog-posts[data-pine-reveal="yes"][data-pine-reveal-effect="slide_up"] .pine-post-item.pine-reveal-in {
	opacity: 1;
	transform: translate3d(0, 0, 0);
}
