/*
==========================================================
Footer
==========================================================
*/
.footer {
	background: var(--color-background-dark);
	color: var(--color-text-reversed);
	padding: 3rem 5% 2rem;
	text-align: center;
	border-top: 1px solid var(--color-border-strong);
}

.footer-content {
	max-width: 1200px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	gap: 2rem;
}

.footer-links {
	display: flex;
	justify-self: start;
	gap: 2rem;
	list-style: none;
}

.footer-links a {
	color: var(--color-text-reversed-subtle);
	text-decoration: none;
	font-weight: var(--font-weight-regular);
	transition: color 0.3s ease;
}

.footer-links a:hover {
	color: var(--color-heading);
}

.footer-copyright {
	justify-self: center;
	color: var(--color-text-reversed-subtle);
}

.footer-social { justify-self: end; display: flex; align-items: center; gap: 0.6rem; }

.footer-social-link {
    display: inline-flex; width: 2.5rem; height: 2.5rem; align-items: center; justify-content: center;
    border-radius: 50%; background: var(--color-primary); color: var(--color-surface);
    transition: transform 0.2s ease, background-color 0.2s ease;
}

.footer-social-link:hover, .footer-social-link:focus-visible { background: var(--color-accent); color: var(--color-background-dark); transform: translateY(-2px); }

.footer-social-link:focus-visible { outline: 3px solid var(--color-surface); outline-offset: 3px; }
@media (max-width: 940px) { .footer-social { justify-self: center; } }
@media (max-width: 600px) { .contact-actions { flex-direction: column; align-items: stretch; } .contact-actions .button { width: 100%; } }

@media (max-width: 940px) {
	.footer-content {
		grid-template-columns: 1fr;
		text-align: center;
		gap: 1.5rem;
	}
	.footer-links,
	.footer-copyright{
		justify-self: center;
	}

	.footer-links {
		flex-direction: column;
		gap: 1rem;
	}
}
