.footer {
  display: grid;
  grid-template-columns:
    minmax(var(--grid-padding), 1fr) repeat(
      var(--grid-columns),
      minmax(0, calc(var(--max-content-width) / var(--grid-columns)))
    )
    minmax(var(--grid-padding), 1fr);
}

.footer > * {
  grid-column: 2/-2;
}

.footer--dark {
  padding-block: 3rem;
  color: white;
  background-color: var(--clr-black);
}

.footer--dark a {
  color: white;
}

.footer--dark .textmedia__image {
  width: unset;
  aspect-ratio: unset;
  object-fit: unset;
  border-radius: unset;
}

.footer .component {
  padding-block: 1.5rem;
}

.footer__copyright {
  padding-block: 1.5rem;
  text-align: center;
  border-top: 1px solid hsl(0, 0%, 15%);
  font-size: 0.875rem;
}

.footer--dark .heading:nth-child(1):after {
  margin-block: 1rem;
}

@media (min-width: 768px) {
  .footer__col:nth-child(1) {
    grid-column: 2/6;
  }

  .footer__col:nth-child(2) {
    grid-column: 7/9;
  }

  .footer__col:nth-child(3) {
    grid-column: 9/11;
  }

  .footer__col:nth-child(4) {
    grid-column: 11/14;
  }
}
