/* Site footer (slim, seamless with the page) + "all caught up" divider. */
.site-footer {
	clear: both;
	margin: 36px 0 -50px; /* cancels body's 50px bottom padding so it sits flush */
	color: #7b8794;
	font-size: 13px;
	line-height: 1.5;
}
.site-footer a { color: #7b8794; text-decoration: none; }
.site-footer a:hover { color: #e74c3c; }
.site-footer-inner {
	max-width: 1200px; margin: 0 auto; padding: 16px 24px 20px;
	border-top: 1px solid rgba(0,0,0,.07);
}
.site-footer-bottom {
	display: flex; justify-content: space-between; align-items: center;
	gap: 6px 24px; flex-wrap: wrap;
}
.site-footer-legal { display: flex; flex-wrap: wrap; gap: 4px 20px; }

/* "You're all caught up": tick centred on a hairline that fades out to both sides */
.site-footer-caught {
	display: flex; flex-direction: column; align-items: center; gap: 4px;
	max-width: 720px; margin: 0 auto; padding: 8px 24px 28px; text-align: center;
}
.site-footer-caught[hidden] { display: none; }
.site-footer-caught-mark {
	position: relative; width: 100%; display: flex; justify-content: center;
	margin-bottom: 8px;
}
.site-footer-caught-mark:before,
.site-footer-caught-mark:after {
	content: ""; position: absolute; top: 50%; height: 1px; width: calc(50% - 28px);
}
.site-footer-caught-mark:before { left: 0;  background: linear-gradient(to right, transparent, rgba(0,0,0,.16)); }
.site-footer-caught-mark:after  { right: 0; background: linear-gradient(to left,  transparent, rgba(0,0,0,.16)); }
.site-footer-caught-icon {
	width: 30px; height: 30px; line-height: 30px; border-radius: 50%;
	background: #e74c3c; color: #fff; font-size: 15px;
	box-shadow: 0 0 0 6px rgba(231,76,60,.12);
}
.site-footer-caught strong { color: #404040; font-size: 15px; }
.site-footer-caught span:last-child { font-size: 13px; }

/* the empty pin-grid end marker no longer needs any room */
.no-results:has(> .container > span.widget-paginator:empty) { padding: 0; margin: 0; min-height: 0; }

/* Login / register sit on a photo background: keep the footer readable there. */
body.body-user-login .site-footer,
body.body-user-forgotten .site-footer,
body.body-user-register .site-footer {
	position: relative; z-index: 1; margin-top: 0;
	background: rgba(255,255,255,.88);
}
body.body-user-login .site-footer-inner,
body.body-user-forgotten .site-footer-inner,
body.body-user-register .site-footer-inner { border-top: 0; padding-top: 12px; padding-bottom: 12px; }

/* Small legal links at the bottom of the left menu */
.sidebar .sidebar-legal { padding: 14px 18px 18px; border-top: 1px solid #eee; margin-top: 8px; }
.sidebar .sidebar-legal a {
	display: inline-block; padding: 2px 0; margin-right: 12px;
	font-size: 12px; color: #8a96a3; background: none !important;
}
.sidebar .sidebar-legal a:hover { color: #e74c3c; }

@media (max-width: 640px) {
	.site-footer-inner { padding: 14px 16px 18px; }
	.site-footer-bottom { flex-direction: column; align-items: flex-start; }
}
