.bwp-rg-gallery {
	display: grid;
	grid-template-columns: repeat(var(--bwp-rg-columns, 4), 1fr);
	gap: 18px;
	margin: 24px 0;
}
.bwp-rg-item {
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 1px 4px rgba(0,0,0,.08);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.bwp-rg-item img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	object-fit: contain;
}
.bwp-rg-caption {
	padding: 10px 12px;
	text-align: center;
	font-size: 14px;
	font-weight: 600;
	color: #222;
	border-top: 1px solid #eee;
}

@media (max-width: 900px) {
	.bwp-rg-gallery {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 480px) {
	.bwp-rg-gallery {
		grid-template-columns: 1fr;
	}
}

/* ---------------------------------------------------------------
   Scrolling review strip — [bwp_review_scroll]
   A real, natively-scrollable horizontal strip: the visitor can always
   drag/swipe/use the scrollbar themselves, and (when enabled) a small
   script also auto-advances it, pausing while the visitor interacts.
   ------------------------------------------------------------- */
.bwp-rg-scroll-wrap {
	margin: 24px 0;
}
.bwp-rg-scroll-outer {
	overflow-x: auto;
	overflow-y: hidden;
	width: 100%;
	-webkit-overflow-scrolling: touch;
	scroll-behavior: smooth;
	padding-bottom: 14px; /* room so the scrollbar doesn't sit on top of the images */
	scrollbar-width: auto;
	scrollbar-color: #25D366 #e5e5e5;
}
.bwp-rg-scroll-outer::-webkit-scrollbar {
	height: 10px;
}
.bwp-rg-scroll-outer::-webkit-scrollbar-track {
	background: #e5e5e5;
	border-radius: 10px;
}
.bwp-rg-scroll-outer::-webkit-scrollbar-thumb {
	background: #25D366;
	border-radius: 10px;
}
.bwp-rg-scroll-outer::-webkit-scrollbar-thumb:hover {
	background: #1ebd59;
}
.bwp-rg-scroll-track {
	display: flex;
	align-items: stretch;
	gap: 16px;
	width: max-content;
}
.bwp-rg-scroll-item {
	flex: 0 0 auto;
	width: var(--bwp-rg-item-width, 300px);
	background: #fff;
	border-radius: 10px;
	box-shadow: 0 1px 4px rgba(0,0,0,.08);
	overflow: hidden;
	display: block;
}
.bwp-rg-scroll-item img {
	display: block;
	width: 100%;
	height: auto;
	max-width: 100%;
	object-fit: contain;
}
.bwp-rg-scroll-more {
	text-align: center;
	margin-top: 10px;
}
.bwp-rg-scroll-btn {
	display: inline-block;
	padding: 10px 28px;
	background: #25D366;
	color: #fff;
	text-decoration: none;
	font-weight: 600;
	border-radius: 30px;
	transition: opacity .15s ease;
}
.bwp-rg-scroll-btn:hover {
	opacity: .85;
	color: #fff;
}
