.wccbt-banner {
	margin: 0 0 1.25rem;
	padding: 0;
}

.wccbt-banner__row {
	display: grid;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	align-items: stretch;
}

.wccbt-banner__row + .wccbt-banner__row {
	margin-top: 0.75rem;
}

.wccbt-banner__cell {
	margin: 0;
	padding: 0;
	min-width: 0;
}

.wccbt-banner__cell--text {
	display: flex;
	flex-direction: column;
}

.wccbt-banner__cell--valign-top {
	justify-content: flex-start;
}

.wccbt-banner__cell--valign-middle {
	justify-content: center;
}

.wccbt-banner__cell--valign-bottom {
	justify-content: flex-end;
}

.wccbt-banner__text {
	text-align: left;
	width: 100%;
}

.wccbt-banner__text > :first-child {
	margin-top: 0;
}

.wccbt-banner__text > :last-child {
	margin-bottom: 0;
}

.wccbt-banner__image-wrap {
	text-align: center;
}

.wccbt-banner__image,
.wccbt-banner__image-wrap img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
	object-fit: contain;
}

.wccbt-banner__image-wrap--scale-fit {
	width: 100%;
}

.wccbt-banner__image-wrap--scale-fit .wccbt-banner__image-link {
	display: block;
	width: 100%;
}

.wccbt-banner__image--scale-fit,
.wccbt-banner__image-wrap--scale-fit img {
	width: 100%;
	max-width: 100%;
	height: auto;
	object-fit: contain;
}

.wccbt-banner__product {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.5rem;
}

.wccbt-banner__product-thumb {
	display: block;
	line-height: 0;
}

.wccbt-banner__product-image {
	max-width: 100%;
	height: auto;
}

.wccbt-banner__product-title {
	font-weight: 600;
	text-decoration: none;
}

.wccbt-banner__product-button {
	display: inline-block;
}

@media (max-width: 768px) {
	.wccbt-banner__row--stack-1 {
		grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
	}

	.wccbt-banner__row--stack-2 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}
