/**
 * Site footer (template-parts/site-footer.php)
 * Mobile-first. Tokens only.
 */

.lbb-site-footer {
	background: var(--lbb-surface-sunken);
	border-top: 1px solid var(--lbb-border-subtle);
	padding: var(--lbb-space-12) var(--lbb-space-4) var(--lbb-space-8);
	color: var(--lbb-text-body);
}
.lbb-footer-inner {
	max-width: 1280px;
	margin: 0 auto;
}
.lbb-footer-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: var(--lbb-space-8);
	margin-bottom: var(--lbb-space-10);
}
@media (min-width: 641px) {
	.lbb-footer-grid { padding: 0 var(--lbb-space-6); }
}
@media (min-width: 768px) {
	.lbb-footer-grid {
		grid-template-columns: repeat(4, 1fr);
		gap: var(--lbb-space-10);
	}
}
@media (min-width: 1024px) {
	.lbb-footer-grid { padding: 0 var(--lbb-space-8); }
}
.lbb-footer-title {
	font-size: var(--lbb-text-xs);
	font-weight: var(--lbb-weight-bold);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--lbb-text-muted);
	margin: 0 0 var(--lbb-space-4);
}
.lbb-footer-links {
	list-style: none;
	margin: 0;
	padding: 0;
}
.lbb-footer-links li { margin-bottom: var(--lbb-space-2); }
.lbb-footer-links li:last-child { margin-bottom: 0; }
.lbb-footer-links a {
	color: var(--lbb-text-body);
	font-size: var(--lbb-text-base);
	text-decoration: none;
	transition: color var(--lbb-duration-fast) var(--lbb-ease);
}
.lbb-footer-links a:hover { color: var(--lbb-text-primary); }
.lbb-footer-address {
	font-style: normal;
	font-size: var(--lbb-text-base);
	color: var(--lbb-text-body);
	line-height: 1.6;
	margin: 0 0 var(--lbb-space-4);
}
.lbb-footer-address a {
	color: var(--lbb-text-body);
	text-decoration: none;
	transition: color var(--lbb-duration-fast) var(--lbb-ease);
}
.lbb-footer-address a:hover { color: var(--lbb-text-primary); }
.lbb-footer-socials { display: flex; gap: var(--lbb-space-3); margin-top: var(--lbb-space-3); }
.lbb-footer-socials a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: var(--lbb-radius-md);
	background: var(--lbb-surface-2);
	border: 1px solid var(--lbb-border-subtle);
	color: var(--lbb-text-muted);
	transition: background-color var(--lbb-duration-fast) var(--lbb-ease),
				color var(--lbb-duration-fast) var(--lbb-ease);
}
.lbb-footer-socials a:hover {
	background: var(--lbb-tint-violet-bg);
	color: var(--lbb-tint-violet-fg);
}
.lbb-footer-socials i { font-size: var(--lbb-text-lg); }
.lbb-footer-bottom {
	border-top: 1px solid var(--lbb-border-subtle);
	padding-top: var(--lbb-space-4);
	text-align: center;
}
@media (min-width: 768px) {
	.lbb-footer-bottom { text-align: left; padding: var(--lbb-space-4) var(--lbb-space-6) 0; }
}
@media (min-width: 1024px) {
	.lbb-footer-bottom { padding: var(--lbb-space-4) var(--lbb-space-8) 0; }
}
.lbb-footer-company {
	font-size: var(--lbb-text-sm);
	color: var(--lbb-text-subtle);
	margin: 0 0 var(--lbb-space-4);
}
.lbb-footer-copy {
	font-size: var(--lbb-text-sm);
	color: var(--lbb-text-subtle);
	margin: 0;
	line-height: 1.6;
}
.lbb-footer-copy a { color: var(--lbb-text-muted); text-decoration: none; transition: color var(--lbb-duration-fast) var(--lbb-ease); }
.lbb-footer-copy a:hover { color: var(--lbb-text-primary); }
.lbb-footer-credit { display: block; margin-top: var(--lbb-space-1); }
@media (min-width: 641px) {
	.lbb-footer-credit { display: inline; margin-top: 0; margin-left: var(--lbb-space-2); }
}
