/* 3. Grade de Publicações (também usada nas listagens) */
.rr-grade { scroll-margin-top: 24px; }
.rr-grade__head { margin-bottom: 32px; text-align: center; }
.rr-grade__sub { margin: 8px 0 0; font-size: 13px; line-height: 1.5; color: var(--rr-muted); }
.rr-grade__grid { display: grid; grid-template-columns: repeat(var(--rr-cols, 3), minmax(0, 1fr)); gap: 48px 32px; }
.rr-card--text { padding-top: 4px; }
.rr-card--text .rr-card__kicker { margin-top: 0; }

.rr-pagination { margin-top: 36px; }
.rr-pagination ul { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; margin: 0; padding: 0; list-style: none; }
.rr-pagination a, .rr-pagination span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 8px;
	border: 1px solid var(--rr-border);
	background: var(--rr-white);
	color: var(--rr-dark);
	font-size: 13px;
	font-weight: 600;
}
.rr-pagination a:hover { border-color: var(--rr-primary); color: var(--rr-primary); }
.rr-pagination .is-current { border-color: var(--rr-primary); background: var(--rr-primary); color: var(--rr-white); }
.rr-pagination .rr-pagination__wide { padding: 0 18px; }
.rr-pagination .rr-pagination__gap { border-color: transparent; background: transparent; }

@media (max-width: 1023px) {
	.rr-grade__grid { --rr-cols: 2; }
}
@media (max-width: 767px) {
	.rr-grade__grid { --rr-cols: 1; gap: 40px; }
	.rr-grade__head { margin-bottom: 32px; }
	.rr-pagination ul { gap: 6px; }
	.rr-pagination a, .rr-pagination span { min-width: 38px; height: 40px; padding: 0 6px; }
	.rr-pagination .rr-pagination__wide { padding: 0 12px; }
	.rr-light-title { font-size: 28px; }
}
