/* Testimonials grid — mirrors four-boxs card layout (4 / 2 / 1 columns). */

.review-box.four-boxs .row {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	grid-auto-rows: auto;
	gap: var(--block-gap, 0.5in) 24px;
	margin: 0 !important;
	align-items: start;
}

.review-box.four-boxs .row > .col {
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: stretch;
	align-self: start;
	text-align: center;
}

/* Uniform square image boxes — same size in every column/row */
.review-box.four-boxs .review-image-frame,
.review-box.four-boxs .col > p:has(img) {
	position: relative;
	width: 100% !important;
	max-width: 100% !important;
	aspect-ratio: 1 / 1;
	height: auto;
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	flex: 0 0 auto;
	overflow: hidden;
	box-sizing: border-box;
	background-color: #fff;
}

.review-box.four-boxs .review-image-frame img,
.review-box.four-boxs .col > p:has(img) img {
	position: absolute;
	inset: 0;
	display: block !important;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 0 !important;
	object-fit: cover !important;
	object-position: center center;
}

.review-box.four-boxs .review-quote,
.review-box.four-boxs .review-quote :is(p, li) {
	color: var(--color-text, #5a5a5a);
	line-height: var(--line-height-body, 1.75);
	margin: 0;
	font-family: 'DM Sans', sans-serif;
	flex: 1 1 auto;
}

.review-box.four-boxs .review-image-frame + .review-quote,
.review-box.four-boxs .col > p:has(img) + .review-quote {
	margin-top: 25px !important;
}

.review-box.four-boxs .review-quote + .who {
	margin-top: 16px !important;
	flex: 0 0 auto;
}

.review-box.four-boxs .who {
	display: block;
	width: 100%;
	color: var(--color-black, #1a1a1a);
	font-family: var(--font-heading, 'Playfair Display', Georgia, serif);
	font-weight: 700 !important;
	margin: 0;
	flex: 0 0 auto;
}

.review-box.four-boxs .who strong {
	display: block;
	font-weight: 700 !important;
}

.review-box.four-boxs .review-logo {
	margin-top: 12px !important;
	margin-bottom: 0 !important;
	flex: 0 0 auto;
}

.review-box.four-boxs .client-logo {
	display: block;
	width: auto;
	max-width: 120px;
	max-height: 48px;
	margin: 0 auto;
	object-fit: contain;
}

@media (min-width: 768px) and (max-width: 992px) {
	.review-box.four-boxs .row {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 767px) {
	.review-box.four-boxs .row {
		grid-template-columns: 1fr;
		gap: var(--block-gap, 0.5in);
	}

	.review-box.four-boxs .review-quote,
	.review-box.four-boxs .review-quote :is(p, li),
	.review-box.four-boxs .who {
		text-align: center;
		width: 100%;
	}

	.review-box.four-boxs .client-logo {
		margin-left: auto;
		margin-right: auto;
	}
}
