/* Sitewide footer -- built 2026-09-20. Replaces GeneratePress's footer. Sits on --bg-alt with a
   divider, same 1200px column + 16px gutters as the header. Link colors are set on every state
   (hover/focus/visited) because GP's global a:hover beats class-only colors. */
.mg-footer { background: var(--bg-alt); border-top: 1px solid var(--line-soft); color: var(--ink); font-family: var(--font-body); margin-top: var(--space-xl); }
.mg-footer-inner { max-width: 1200px; margin: 0 auto; padding: var(--space-lg) var(--space-md) var(--space-md); box-sizing: border-box; }
.mg-footer-cols { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-lg) var(--space-md); }
.mg-footer-nap { grid-column: 1 / -1; }
.mg-footer-logo { display: inline-block; margin-bottom: var(--space-md); }
.mg-footer-logo img { display: block; width: 72px; height: auto; }
.mg-footer address { font-style: normal; font-size: 15px; line-height: 1.7; }
.mg-footer-hours { display: block; font-size: 14px; line-height: 1.6; color: var(--ink-soft); margin: var(--space-sm) 0; }
.mg-footer-h { font-family: var(--font-heading); font-weight: 700; font-size: 20px; line-height: 1.1; letter-spacing: 0.04em; text-transform: uppercase; color: var(--ink); margin: 0 0 var(--space-md); }
.mg-footer ul { list-style: none; margin: 0; padding: 0; }
.mg-footer li { margin: 0 0 var(--space-sm); }
.mg-footer a, .mg-footer a:visited { color: var(--ink); text-decoration: none; font-size: 15px; }
.mg-footer a:hover, .mg-footer a:focus, .mg-footer a:active { color: var(--ink); text-decoration: underline; text-decoration-color: var(--accent); text-underline-offset: 3px; }
.mg-footer a:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; border-radius: var(--radius-sm); }
.mg-footer-bar { margin-top: var(--space-lg); padding-top: var(--space-md); border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: var(--space-sm); }
.mg-footer-copy { margin: 0; font-size: 13px; color: var(--ink-soft); }
.mg-footer-legal { display: flex; flex-wrap: wrap; gap: var(--space-sm) var(--space-md); }
.mg-footer .mg-footer-legal a, .mg-footer .mg-footer-legal a:visited { font-size: 13px; color: var(--ink-soft); }
.mg-footer .mg-footer-legal a:hover, .mg-footer .mg-footer-legal a:focus { color: var(--ink); }
@media (min-width: 640px) {
	.mg-footer-cols { gap: var(--space-lg); }
}
@media (min-width: 992px) {
	.mg-footer-cols { grid-template-columns: 1.4fr 1fr 1.1fr 1fr; }
	.mg-footer-nap { grid-column: auto; }
	.mg-footer-bar { flex-direction: row; justify-content: space-between; align-items: center; }
}