/* Footer columns, legal links and floating contact button. */
.footer {
	padding: 7rem 0 2rem;
}

.footer h2 {
	max-width: 900px;
}

.footer-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 3rem;
	margin: 6rem 0;
}

.footer-grid p {
	margin: 0.6rem 0;
}

.footer ul {
	padding: 0;
	list-style: none;
}

.footer-bottom {
	border-top: 1px solid #ffffff55;
	padding-top: 2rem;
	display: flex;
	justify-content: space-between;
	gap: 2rem;
}

.whatsapp {
	position: fixed;
	right: 1rem;
	bottom: 1rem;
	z-index: var(--z-floating);
	border-radius: 100px;
	padding: 0.8rem 1rem;
	background: #075e3b;
	color: #fff;
	text-decoration: none;
	font-weight: bold;
}
.whatsapp svg { display: none; width: 28px; height: 28px; }

/* Social links and compact footer on narrow screens. */
.footer-socials {
	display: flex;
	gap: 0.75rem;
	margin-top: 1.5rem;
}

.footer-socials a {
	display: grid;
	place-items: center;
	width: 2.75rem;
	height: 2.75rem;
	border: 1px solid #ffffff80;
	border-radius: 50%;
}

.footer-socials svg {
	width: 1.2rem;
	height: 1.2rem;
	fill: currentColor;
}

.footer-socials a:hover {
	background: #fff;
	color: var(--navy-900);
}

@media (max-width: 800px) {
	.whatsapp { display: grid; place-items: center; width: 56px; height: 56px; padding: 0; border-radius: 50%; }
	.whatsapp svg { display: block; }
	.whatsapp span { display: none; }
	body { padding-bottom: 5.5rem; }
	.menu-open .whatsapp {
		display: none;
	}

	.footer-grid {
		grid-template-columns: 1fr;
	}

	.footer-bottom {
		display: block;
	}
}
