/* Footer styles */
.footer-title { font-weight: 700; margin-bottom: 0.5rem; opacity: 1; }
.menu.menu-compact { display: grid; }

.footer-logo img { max-height: 64px; height: auto; }

/* Apply generic font site-wide as a fallback */
body { font-family: var(--font-generic, var(--font-sans)); }

/* Footer menu link padding reset */
footer .menu :where(li > a) { padding: 0px; line-height: 1.15; }

/* Footer columns left border */
.footer-columns { align-items: stretch; }
.footer-columns > * { border-left: 1px solid var(--color-primary); padding-left: 4rem; height: 100%; display: flex; flex-direction: column; }
@media (max-width: 1023px) {
  /* On 2-column layout, remove border on first column of each row */
  .footer-columns > *:nth-child(2n+1) { border-left: none; padding-left: 0; }
}
@media (min-width: 1024px) {
  /* On 4-column layout, remove border on the first column only */
  .footer-columns { grid-template-columns: 20% 30% 30% 20%; }
  .footer-columns > *:first-child { border-left: none; padding-left: 0; }
  /* Footer social icons vertical on desktop */
  footer .social-icons { margin: 0; flex-direction: column; align-items: flex-start; gap: 0.75rem; }
}

/* Mobile-only styles for the separate mobile footer menu */
@media (max-width: 1023.98px) {
	.mobile-footer-menu {
    width: 100%;
		font-size: 18px;
		line-height: 1.6;
	}

	.mobile-footer-menu :where(li) {
		border-top: 2px solid var(--color-teal);
    padding: 13px 0;
	}

	.mobile-footer-menu :where(li:last-child) {
		border-bottom: 2px solid var(--color-teal);
	}

	.mobile-footer-menu :where(li>a, li>span) {
		display: block;
		padding: 12px 16px;
		white-space: normal;
		word-break: break-word;
	}
} 