.footer {
  position: relative;
  z-index: 1;
  border-radius: var(--border-radius-lg) var(--border-radius-lg) 0 0;
  overflow: hidden;
  animation: slide-up linear both;
  animation-timeline: view();
  animation-range: entry 0% entry 50%;
  margin-top: -50px; /* fallback: static overlap for unsupported browsers */

  a {
    color: var(--brand-primary-300);

    &:hover {
      transition: color 0.3s ease;

      &:hover {
        color: #cfeded;
      }
    }
  }
}

.footer-menus {
  padding-block: var(--block-space-sm);
  display: grid;

  @media (min-width: 769px) {
    gap: var(--block-space-sm);
    padding-block: 5rem;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  }
}

.footer-menu-list {
  margin-block: 20px;

  @container (min-width: 769px) {
    margin-block: 28px;
  }

  li {
    &:not(:last-child) {
      margin-bottom: 10px;

      @container (min-width: 769px) {
        margin-bottom: var(--block-space-sm);
      }
    }
  }
}

.footer-top {
  background-color: var(--brand-primary);
  color: var(--background-color);
}

.footer-logo {
  max-width: 110px;
  margin-right: auto;
  flex-shrink: 0;
}

.footer-menu:not(:last-of-type) .footer-menu-title {
  margin-bottom: 1rem;
}

.footer-menu-title {
  font-weight: 500;
  display: block;

  @container (min-width: 769px) {
    font-size: 1.25rem;
  }

  @media (max-width: 768px) {
    border-bottom: 1px solid #fff;
    padding-bottom: 1rem;

    &:not(:nth-last-of-type) {
      margin-bottom: 1rem;
    }
  }

  @media (max-width: 768px) {
    display: flex;
    align-items: center;
    justify-content: center;

    &.active::after {
      transform: rotate(-180deg);
    }

    &:after {
      content: "";
      mask: url("data: image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImN1cnJlbnRDb2xvciIgc3Ryb2tlLXdpZHRoPSIyIiBzdHJva2UtbGluZWNhcD0icm91bmQiIHN0cm9rZS1saW5lam9pbj0icm91bmQiIGNsYXNzPSJsdWNpZGUgbHVjaWRlLWNoZXZyb24tZG93bi1pY29uIGx1Y2lkZS1jaGV2cm9uLWRvd24iPjxwYXRoIGQ9Im02IDkgNiA2IDYtNiIvPjwvc3ZnPg==")
        no-repeat;
      display: inline-block;
      background-size: 100%;
      width: 19px;
      height: 19px;
      transition: transform 0.3s ease;
      vertical-align: middle;
      margin-inline-start: auto;
      -webkit-mask-size: contain;
      mask-size: contain;
      will-change: transform;
      background-color: var(--background-color);
    }
  }
}

.footer-legal-menu {
  margin-bottom: var(--block-space-sm);
  gap: clamp(1rem, 2vw, var(--block-space-sm));

  @container (min-width: 321px) {
    display: flex;
    flex-wrap: wrap;
  }
}

.footer-bottom {
  padding-block: 3rem;
  color: var(--brand-primary-300);
  background-color: var(--brand-primary-800);
}

.footer-bottom-svgs {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  margin-bottom: var(--block-space-sm);
  gap: 3rem;
}

.footer-bottom-copyright {
  font-size: 0.75rem;
}

.footer-compliance {
  display: flex;
  align-items: center;
  gap: 1rem;

  @container (min-width: 769px) {
    border-left: 1px solid var(--brand-primary-600);
    padding-left: var(--block-space-sm) !important;
  }

  .footer-compliance-item {
    width: 60px;
    height: 60px;
  }
}

.socials {
  display: flex;
  gap: 10px;
}

.socials-item {
  a {
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;

    svg path {
      transition: all 0.3s ease;
    }
  }

  &:hover a svg path {
    fill: #cfeded !important;
  }
}

.footer-bottom-info {
  gap: var(--block-space-sm);
  display: grid;

  @container (min-width: 769px) {
    grid-template-columns: 1fr max-content;
  }
}
