.gbc-gallery-wrap { margin: 1em 0; }
.gbc-gallery-grid {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr));
}
.gbc-gallery-grid.gbc-cols-1 { grid-template-columns: 1fr; }
.gbc-gallery-grid.gbc-cols-2 { grid-template-columns: repeat(2, 1fr); }
.gbc-gallery-grid.gbc-cols-3 { grid-template-columns: repeat(3, 1fr); }
.gbc-gallery-grid.gbc-cols-4 { grid-template-columns: repeat(4, 1fr); }
.gbc-gallery-grid.gbc-cols-5 { grid-template-columns: repeat(5, 1fr); }
.gbc-gallery-grid.gbc-cols-6 { grid-template-columns: repeat(6, 1fr); }
@media (max-width: 1024px) {
	.gbc-gallery-grid.gbc-cols-4,
	.gbc-gallery-grid.gbc-cols-5,
	.gbc-gallery-grid.gbc-cols-6 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.gbc-gallery-grid.gbc-cols-2,
	.gbc-gallery-grid.gbc-cols-3,
	.gbc-gallery-grid.gbc-cols-4,
	.gbc-gallery-grid.gbc-cols-5,
	.gbc-gallery-grid.gbc-cols-6 { grid-template-columns: 1fr; }
}
.gbc-gallery-item .gbc-grid-link {
	display: block;
	aspect-ratio: 420/315;
	line-height: 0;
}
.gbc-gallery-item .gbc-grid-link img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.25s ease;
}
.gbc-gallery-item .gbc-grid-link:hover img { transform: scale(1.03); }
.gbc-no-images { color: #646970; }
.gbc-lightbox {
	position: fixed; inset: 0; z-index: 999999;
	background: rgba(0,0,0,0.9);
	display: flex; align-items: center; justify-content: center;
	opacity: 0; visibility: hidden;
	transition: opacity 0.25s ease, visibility 0.25s ease;
}
.gbc-lightbox[aria-hidden="false"].gbc-open { opacity: 1; visibility: visible; }
.gbc-lightbox-content { max-width: 95vw; max-height: 95vh; display: flex; align-items: center; justify-content: center; }
.gbc-lightbox-content img { max-width: 100%; max-height: 95vh; width: auto; height: auto; object-fit: contain; }
.gbc-lightbox-close, .gbc-lightbox-prev, .gbc-lightbox-next {
	position: absolute;
	border: none;
	width: 48px; height: 48px;
	font-size: 28px; line-height: 1; cursor: pointer;
	display: flex; align-items: center; justify-content: center; padding: 0;
	transition: background 0.2s ease, transform 0.2s ease;
}
.gbc-lightbox-close {
	top: 16px; right: 16px; font-size: 36px;
	background: rgba(255,255,255,0.15); color: #fff;
}
.gbc-lightbox-close:hover { background: rgba(255,255,255,0.25); }
/* Prev/next arrows: dark circular buttons, visible when lightbox opens */
.gbc-lightbox-prev, .gbc-lightbox-next {
	top: 50%;
	width: 52px; height: 52px;
	background: rgba(60,60,60,0.85);
	color: #fff;
	border-radius: 50%;
	font-size: 24px;
	box-shadow: 0 2px 12px rgba(0,0,0,0.4);
}
.gbc-lightbox-prev {
	left: 20px;
	transform: translateY(-50%);
}
.gbc-lightbox-next {
	right: 20px;
	transform: translateY(-50%);
}
.gbc-lightbox-prev:hover, .gbc-lightbox-next:hover {
	background: rgba(80,80,80,0.95);
	transform: translateY(-50%) scale(1.05);
}
body.gbc-lightbox-active { overflow: hidden; }

/* Pagination */
.gbc-pagination { margin-top: 1.5em; }
.gbc-pagination-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35em;
	list-style: none;
	margin: 0;
	padding: 0;
}
.gbc-pagination-list li { margin: 0; }
.gbc-pagination-list a,
.gbc-pagination-list .gbc-pagination-current {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.25em;
	height: 2.25em;
	padding: 0 0.5em;
	border-radius: 4px;
	font-size: 0.95rem;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}
.gbc-pagination-list a {
	background: #e8e8e8;
	color: #333;
}
.gbc-pagination-list a:hover {
	background: #d0d0d0;
	color: #111;
}
.gbc-pagination-list .gbc-pagination-current {
	background: #333;
	color: #fff;
	font-weight: 600;
}
.gbc-pagination-prev,
.gbc-pagination-next { padding: 0 0.75em; }

/* Filterable gallery – filter buttons (All, Kitchens, etc.) */
.gbc-gallery-filterable .gbc-filter-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	row-gap: 8px;
	margin: 0 0 20px 0;
	padding: 0;
	align-items: center;
}

.gbc-filter-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 18px;
	margin: 0;
	border: none;
	border-radius: 5px;
	background: #e8e8e8;
	color: #555;
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}

.gbc-filter-btn:hover {
	background: #ddd;
	color: #333;
}

.gbc-filter-btn.active {
	background: #00AFEF;
	color: #fff;
}

.gbc-filter-btn.active:hover {
	background: #00AFEF;
	color: #fff;
	opacity: 0.9;
}

/* Filterable grid – hide items by category (JS toggles visibility) */
.gbc-gallery-filterable .gbc-gallery-item {
	transition: opacity 0.25s ease, visibility 0.25s ease;
}

.gbc-gallery-filterable .gbc-gallery-item.gbc-hidden,
.gbc-gallery-filterable .gbc-gallery-item.gbc-pagination-hidden {
	display: none !important;
}

.gbc-gallery-filterable .gbc-filterable-pagination {
	margin-top: 1.5em;
}

.gbc-gallery-filterable .gbc-filterable-pagination .gbc-pagination-list a {
	text-decoration: none;
}
