/* =========================================================================
   GENERIC GRID UTILITIES (used across many sections)
   ========================================================================= */
.grid { display: grid; }
.gap-3 { gap: 0.75rem; }
.gap-4 { gap: 1rem; }
.gap-5 { gap: 1.25rem; }
.grid-2 { grid-template-columns: 1fr; }
.grid-3 { grid-template-columns: 1fr; }
.grid-4 { grid-template-columns: 1fr; }
.grid-bonuses { grid-template-columns: 1fr; }
.cols-icons { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 768px) {
	.grid-2 { grid-template-columns: repeat(2, 1fr); }
	.grid-3 { grid-template-columns: repeat(2, 1fr); }
	.grid-4 { grid-template-columns: repeat(2, 1fr); }
	.cols-icons { grid-template-columns: repeat(4, 1fr); }
}
@media (min-width: 1024px) {
	.grid-3 { grid-template-columns: repeat(3, 1fr); }
	.grid-4 { grid-template-columns: repeat(4, 1fr); }
	.grid-bonuses { grid-template-columns: repeat(3, 1fr); }
}

/* Section header with side action (Bonuses, Blog) */
.head-row { display: flex; flex-direction: column; gap: 1.5rem; margin-bottom: 3.5rem; }
@media (min-width: 768px) { .head-row { flex-direction: row; align-items: flex-end; justify-content: space-between; } }

