.site-footer {
  position: relative;

  margin-top: 3.5rem;
  padding: 5.5rem 6% 2.5rem;

  overflow: visible;

  color: var(--creme);
  background: var(--donkerpaars);
}

.footer__inner {
  width: min(1180px, 100%);
  margin-inline: auto;
}

/* Bovenste rij */

.footer__main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 4rem);
  align-items: center;

  width: 100%;
}

.footer__contact {
  justify-self: start;
  text-align: left;
}

.footer__brand {
  justify-self: center;
}

.footer__brand a {
  display: block;
}

.footer__brand-logo {
  display: block;
  width: clamp(190px, 22vw, 270px);
  height: auto;
  margin: 0;
}

.footer__social {
  justify-self: end;
  text-align: right;
}

.footer__social-list {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;

  margin: 1rem 0 0;
  padding: 0;

  list-style: none;
}

.footer__social-link {
  display: inline-grid;
  place-items: center;

  width: 3rem;
  height: 3rem;

  border-radius: 0.8rem;

  transition:
    transform var(--transition-fast),
    box-shadow var(--transition-fast);
}

.footer__social-link:hover {
  transform: translateY(-0.2rem) scale(1.04);
  box-shadow: 0 0.55rem 1.25rem rgba(0, 0, 0, 0.22);
}

.footer__social-link:focus-visible {
  outline: 3px solid var(--oranje);
  outline-offset: 0.3rem;
}

.footer__social-icon {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

/* Compactere partnerstrook */

.footer__support {
  margin-top: 2.5rem;
  padding-top: 1.75rem;

  border-top: 1px solid rgba(244, 238, 225, 0.3);
}

.footer__support h2 {
  margin-bottom: 1rem;
}

.footer__partner-list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  align-items: center;

  margin: 0;
  padding: 0;

  list-style: none;
}

.footer__partner-list li {
  display: grid;
  place-items: center;

  min-width: 13rem;
  min-height: 7rem;
  max-padding: 0.6rem 0.85rem;

  background: rgba(244, 238, 225, 0.96);
  border-radius: 0.4rem;
  overflow: hidden;
}

.partner-logos-footer__image--zoom {
  transform: scale(2);
  transform-origin: center;
}

.footer__partner-list img {
  display: block;

  width: auto;
  max-width: 7rem;
  height: auto;
  max-height: 8rem;

  object-fit: contain;
}

/* Los embleem op de overgang tussen main en footer */

.footer-emblem {
  position: absolute;
  top: 0;
  left: 50%;
  z-index: 10;

  transform: translate(-50%, -50%);
}

.footer-emblem__background {
  display: flex;
  align-items: center;
  justify-content: center;

  width: 180px;
  height: 180px;

  background-image: url("../images/achtergrond_footer.png");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

.footer-emblem__logo {
  display: block;
  width: 118px;
  height: auto;

  object-fit: contain;
}

/* ========================================
   TABLET EN MOBIEL
   ======================================== */

   @media (max-width: 850px) {
     .site-footer {
       margin-top: 3rem;
       padding: 5rem 6% 2.5rem;
     }

       .footer-emblem__background {
         width: 140px;
         height: 140px;
       }

       .footer-emblem__logo {
         width: 92px;
         height: auto;
       }

     .footer__main {
       grid-template-columns: 1fr;
       gap: 1.75rem;
     }

     .footer__brand {
       order: -1;
     }

     .footer__contact,
     .footer__brand,
     .footer__social {
       justify-self: center;
       text-align: center;
     }

     .footer__social-list {
       justify-content: center;
     }

     .footer__brand-logo {
       width: min(220px, 75vw);
     }

     .footer__support {
       margin-top: 2rem;
     }

     .footer__support h2 {
       text-align: center;
     }

     .footer__partner-list {
       justify-content: center;
     }
   }

   @media (max-width: 520px) {
     .footer__partner-list {
       display: grid;
       grid-template-columns: repeat(2, minmax(0, 1fr));
     }

     .footer__partner-list li {
       min-width: 0;
     }
   }

/* Bij zeer grote tekst worden de partnerlogo's gestapeld */

html:is(
  [data-font-size="150"],
  [data-font-size="175"],
  [data-font-size="200"]
) .footer__main {
  grid-template-columns: 1fr;
}

html:is(
  [data-font-size="150"],
  [data-font-size="175"],
  [data-font-size="200"]
) .footer__contact,
html:is(
  [data-font-size="150"],
  [data-font-size="175"],
  [data-font-size="200"]
) .footer__brand,
html:is(
  [data-font-size="150"],
  [data-font-size="175"],
  [data-font-size="200"]
) .footer__social {
  justify-self: center;
  text-align: center;
}

html:is(
  [data-font-size="175"],
  [data-font-size="200"]
) .footer__partner-list {
  display: grid;
  grid-template-columns: 1fr;
}

/* Minder beweging */

@media (prefers-reduced-motion: reduce) {
  .footer__social-link {
    transition: none;
  }

  .footer__social-link:hover {
    transform: none;
  }

  .footer__partner-list img {
    transition: none;
  }

  .footer__partner-list a:hover img {
    transform: none;
  }
}
