/* Flexbox sticky footer — robust to footer height (replaces the old
   absolute-position + fixed body-margin hack). Body is a column flex
   container; the #wrap region grows to fill, pinning the footer to the
   bottom on short pages without overlapping content on tall ones. */

body {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

#wrap {
  flex: 1 0 auto;
}

footer {
  flex-shrink: 0;
  background-color: #1F2A22; /* deep green-tinted charcoal */
  color: #E9EFE9;
  padding: 56px 0 32px;
}

footer a { color: #E9EFE9; }
footer a:hover { color: #fff; }

#logo-footer { max-height: 56px; width: auto; }

/* Multi-column footer */
.footer-heading {
  font-size: 0.85rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: #A9C3AE;
  margin-bottom: 0.75rem;
}
.footer-links { list-style: none; padding: 0; margin: 0; }
.footer-links li { margin-bottom: 0.4rem; }
.footer-links a { text-decoration: none; opacity: 0.9; }
.footer-links a:hover { opacity: 1; }
.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  margin-top: 2rem;
  padding-top: 1.25rem;
  font-size: 0.875rem;
  opacity: 0.8;
}
