/* -------------------------------------------------------------------------
   Site footer.
   ---------------------------------------------------------------------- */

.site-footer {
	background: var(--fb-black);
	color: var(--fb-white);
	font-size: .875rem;
}

.site-footer a { color: var(--fb-white); }

.site-footer a:hover { color: var(--fb-green-dark); }

.site-footer__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	padding-top: 80px;
	padding-bottom: 80px;
}

.footer-col__title {
	margin: 0 0 10px;
	color: var(--fb-white);
	font-size: 1.125rem;
	font-weight: 600;
}

/* The 38%-wide rule under each footer heading. */
.footer-col__title::after {
	content: "";
	display: block;
	width: 38%;
	height: 1px;
	margin-top: 14px;
	background: var(--fb-white);
}

.footer-col__body { color: var(--fb-white); }

.footer-col__body p { margin-bottom: 1.1em; }

.footer-menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.footer-menu li { margin-bottom: 8px; }

.footer-menu a { display: inline-block; }

.footer-social {
	display: flex;
	gap: 8px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
}

.footer-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--fb-black);
	border: 1px solid rgba(255, 255, 255, .25);
	color: var(--fb-green-bright);
	transition: background var(--fb-transition), color var(--fb-transition), border-color var(--fb-transition);
}

.footer-social a:hover {
	background: var(--fb-green-bright);
	border-color: var(--fb-green-bright);
	color: var(--fb-white);
}

.footer-badge {
	width: 180px;
	height: auto;
	margin-top: 24px;
	border-radius: var(--fb-radius);
}

/* --- Newsletter -------------------------------------------------------- */
.footer-newsletter {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 16px;
}

.footer-newsletter input[type="email"] {
	flex: 1 1 180px;
	border-color: transparent;
}

.footer-newsletter .fb-btn { flex: 0 0 auto; }

.footer-newsletter .fb-btn:hover,
.footer-newsletter .fb-btn:focus {
	background: var(--fb-green-dark);
	border-color: var(--fb-green-dark);
	color: var(--fb-white);
}

.footer-newsletter__msg {
	flex: 1 0 100%;
	margin: 0;
	font-size: .8125rem;
}

.footer-newsletter__msg--ok { color: var(--fb-green-bright); }

.footer-newsletter__msg--error { color: #ff9c7d; }

/* --- Bottom bar -------------------------------------------------------- */
.site-footer__bottom {
	padding: 18px 0;
	border-top: 1px solid rgba(255, 255, 255, .15);
	font-size: .875rem;
	text-align: center;
}

/* --- USP bar ----------------------------------------------------------- */
.fb-usp-bar {
	padding: 26px 0;
	border-top: 1px solid var(--fb-grey-300);
	border-bottom: 1px solid var(--fb-grey-300);
	background: var(--fb-white);
}

.fb-usp {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	margin: 0;
	padding: 0;
	list-style: none;
}

.fb-usp__item {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 4px 20px;
	border-right: 1px solid var(--fb-grey-300);
}

.fb-usp__item:last-child { border-right: 0; }

.fb-usp__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	flex: none;
	border-radius: var(--fb-radius);
	background: var(--fb-grey-200);
	color: var(--fb-orange);
}

.fb-usp__body { display: flex; flex-direction: column; }

.fb-usp__title { font-size: .875rem; font-weight: 600; }

.fb-usp__text { color: var(--fb-text-muted); font-size: .8125rem; }

@media (max-width: 1024px) {
	.fb-usp { grid-template-columns: repeat(2, 1fr); gap: 18px 0; }

	.fb-usp__item:nth-child(2n) { border-right: 0; }
}

@media (max-width: 560px) {
	.fb-usp { grid-template-columns: 1fr; }

	.fb-usp__item { border-right: 0; padding: 4px 0; }
}

/* --- Responsive -------------------------------------------------------- */
@media (max-width: 1024px) {
	.site-footer__grid {
		grid-template-columns: repeat(2, 1fr);
		padding-top: 50px;
		padding-bottom: 50px;
	}
}

@media (max-width: 600px) {
	.site-footer__grid { grid-template-columns: 1fr; gap: 34px; }

	.site-footer__bottom { font-size: .625rem; }
}
