/* File: /assets/css/components/footer.css
   Owner: EC
   Purpose: Site footer layout and link treatment
   Version: 1.0
   Updated: 2025-11-09
   Notes (ALCOA-C):
     - Theme-aware: uses background/surface/border tokens
     - Respects global link policy (no underline)
*/

.footer {
  background: var(--color-surface);
  color: var(--color-body);
  border-top: var(--border-width) solid var(--color-border);
}

.footer__inner {
  width: min(100% - 2rem, var(--container-max));
  margin-inline: auto;
  padding-block: var(--space-6);
  display: grid;
  gap: var(--grid-gap);
}

/* Grid regions (stack on mobile, columns on larger screens) */
.footer__grid {
  display: grid;
  gap: var(--grid-gap);
}
@media (min-width: 48rem) {
  .footer__grid {
    grid-template-columns: 2fr 1fr 1fr;
  }
}

.footer__heading {
  margin: 0 0 .5rem 0;
  color: var(--color-heading);
  font-family: var(--font-sans-tight);
  font-weight: var(--weight-semibold);
}

/* Nav-style list in footer */
.footer__list {
  list-style: none;
  padding: 0; margin: 0;
  display: grid; gap: 0.35rem;
}
.footer__link {
  color: var(--color-link);
  text-decoration: none;
}
.footer__link:hover   { color: var(--color-link-hover); }
.footer__link:visited { color: var(--color-link-visited); }

/* Meta row */
.footer__meta {
  margin-top: var(--space-6);
  padding-top: var(--space-3);
  border-top: var(--border-width) solid var(--color-border);
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  align-items: center;
  justify-content: space-between;
  font-size: var(--text-small-size);
  opacity: 0.95;
}

/* Social icons use currentColor */
.footer__icon { width: 1.1rem; height: 1.1rem; color: currentColor; }
