/* Keep footer information compact and aligned with the storefront content. */
.gmtools-clean-footer .gmtools-footer-grid {
	align-items: start;
	column-gap: 40px;
	grid-template-columns: minmax(0, 1.3fr) minmax(260px, 1fr) minmax(220px, 1fr);
	padding: 30px 24px;
	row-gap: 24px;
}

.gmtools-footer-grid > section {
	min-width: 0;
}

.gmtools-footer-brand p {
	margin-bottom: 0;
	max-width: 44ch;
}

.gmtools-clean-footer .gmtools-footer-links ul {
	display: grid;
	gap: 0 20px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gmtools-clean-footer .gmtools-footer-links li {
	margin: 0;
}

.gmtools-footer-links a {
	align-items: center;
	display: inline-flex;
	min-height: 36px;
}

.gmtools-footer-contact p:last-child {
	margin-bottom: 0;
}

/* Leave a comfortable, short gap between the product controls and the footer. */
body .gmtools-shop-page {
	padding-bottom: 24px;
}

body .gmtools-front-page {
	padding-bottom: 28px;
}

.gmtools-shop-page .gm-product-loader {
	margin-bottom: 0;
	padding-bottom: 12px;
}

@media (max-width: 991px) {
	.gmtools-clean-footer .gmtools-footer-grid {
		column-gap: 32px;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.gmtools-footer-brand {
		grid-column: 1 / -1;
	}
}

@media (max-width: 600px) {
	.gmtools-clean-footer .gmtools-footer-grid {
		grid-template-columns: minmax(0, 1fr);
		padding: 26px 14px;
		row-gap: 24px;
	}

	.gmtools-clean-footer .gmtools-footer-links a {
		min-height: 44px;
	}

	.gmtools-clean-footer h2 {
		margin-bottom: 10px;
	}

	body .gmtools-shop-page,
	body .gmtools-front-page {
		padding-bottom: 20px;
	}
}
