/**
 * Roshan Gallery - Grid Layout Enhancement
 * Strict user control over images per row and rows per page.
 */

.roshan-gallery--layout-grid:not(.roshan-gallery--mode-slider) .roshan-gallery__grid,
.roshan-gallery--mode-grid .roshan-gallery__grid {
	display: grid !important;
	grid-template-columns: repeat(var(--rg-cols-desktop, 4), minmax(0, 1fr)) !important;
	gap: var(--rg-gap-y, 16px) var(--rg-gap-x, 16px) !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	overflow-x: visible !important;
	flex-wrap: wrap !important;
}

.roshan-gallery--mode-grid .roshan-gallery__item,
.roshan-gallery--layout-grid:not(.roshan-gallery--mode-slider) .roshan-gallery__item {
	flex: none !important;
	max-width: 100% !important;
	width: 100% !important;
	min-width: 0 !important;
}

.roshan-gallery--cols-autofit .roshan-gallery__grid {
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
}

/* Laptop Responsive (max 1200px) */
@media (max-width: 1200px) {
	.roshan-gallery--layout-grid .roshan-gallery__grid {
		grid-template-columns: repeat(var(--rg-cols-laptop, var(--rg-cols-desktop, 4)), minmax(0, 1fr)) !important;
	}
}

/* Tablet Responsive (max 900px) */
@media (max-width: 900px) {
	.roshan-gallery--layout-grid .roshan-gallery__grid {
		grid-template-columns: repeat(var(--rg-cols-tablet, 2), minmax(0, 1fr)) !important;
	}
}

/* Mobile Responsive (max 600px) */
@media (max-width: 600px) {
	.roshan-gallery--layout-grid .roshan-gallery__grid {
		grid-template-columns: repeat(var(--rg-cols-mobile, 1), minmax(0, 1fr)) !important;
		gap: calc(var(--rg-gap-y, 16px) * 0.75) calc(var(--rg-gap-x, 16px) * 0.75) !important;
	}
}
