:root { --intlabs-gb-gap: 24px; }

.intlabs-gb-category-grid { width: 100%; }
.intlabs-gb-category-grid .intlabs-gb-grid {
	list-style: none;
	margin: 0; padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--intlabs-gb-gap);
}

/* Fallback for 2x3 when fewer items */
.intlabs-gb-category-grid.items-6 .intlabs-gb-grid { grid-template-columns: repeat(3, 1fr); }

@media (max-width: 1024px) {
	.intlabs-gb-category-grid .intlabs-gb-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 768px) {
	.intlabs-gb-category-grid .intlabs-gb-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
	.intlabs-gb-category-grid .intlabs-gb-grid { grid-template-columns: 1fr; }
}

.intlabs-gb-grid-item { background: #fff; border: 1px solid #e5e5e5; border-radius: 8px; overflow: hidden; }
.intlabs-gb-grid-link { display: flex; flex-direction: column; align-items: center; text-decoration: none; color: inherit; padding: 20px; height: 100%; }
.intlabs-gb-grid-thumb { display: block; width: 100%; text-align: center; }
.intlabs-gb-grid-thumb img { max-width: 100%; height: auto; object-fit: contain; }
.intlabs-gb-grid-title { display: block; margin-top: 12px; font-weight: 600; font-size: 1.1rem; text-align: center; }

.intlabs-gb-notice { padding: 12px 16px; background: #fff3cd; border: 1px solid #ffeeba; border-radius: 4px; }
