

.site-footer {
  background: var(--c-footer-bg);
  color: var(--c-footer-text);
  padding: calc(90 * var(--vmin)) 0 calc(40 * var(--vmin));
  overflow: hidden;
}

.site-footer__top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: calc(60 * var(--vmin));
}

.site-footer__columns {
  display: flex;
  gap: calc(110 * var(--vmin));
}

.footer-col__title {
  font-size: calc(15 * var(--vmin));
  font-weight: bold;
  color: var(--c-white);
  margin-bottom: calc(22 * var(--vmin));
}

.footer-col ul li {
  margin-bottom: calc(14 * var(--vmin));
}

.footer-col ul a {
  font-size: calc(13 * var(--vmin));
  color: var(--c-footer-text);
  transition: color 0.25s;
}

.footer-col ul a:hover {
  color: var(--c-white);
}

.footer-brand__logo {
  display: inline-block;
}

.footer-brand__logo img {
  height: calc(30 * var(--vmin));
  width: auto;
}

.footer-brand__qr {
  display: flex;
  align-items: center;
  gap: calc(18 * var(--vmin));
  margin-top: calc(26 * var(--vmin));
}

.footer-brand__qr span {
  font-size: calc(18 * var(--vmin));
  color: var(--c-white);
}

.footer-brand__qr img {
  width: calc(96 * var(--vmin));
  height: auto;
  border-radius: calc(6 * var(--vmin));
}

.site-footer__contact {
  display: flex;
  align-items: flex-start;
  gap: calc(90 * var(--vmin));
  margin-top: calc(90 * var(--vmin));
  font-size: calc(13 * var(--vmin));
  line-height: 1.9;
}

.site-footer__sitemap {
  margin-left: auto;
  color: var(--c-footer-text);
  transition: color 0.25s;
}

.site-footer__sitemap:hover {
  color: var(--c-white);
}

.site-footer__bottom {
  margin-top: calc(26 * var(--vmin));
  padding-top: calc(24 * var(--vmin));
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  font-size: calc(12 * var(--vmin));
}

@media (max-width: 1200px) {
  .site-footer__columns {
    gap: calc(60 * var(--vmin));
  }
}

@media (max-width: 768px) {
  .site-footer {
    padding: calc(60 * var(--vmin)) 0 calc(30 * var(--vmin));
  }

  .site-footer__top {
    flex-direction: column;
    gap: calc(24 * var(--vmin));
  }

  .site-footer__columns {
    width: 100%;
    justify-content: space-between;
    gap: calc(20 * var(--vmin));
  }

  .footer-brand {
    text-align: left;
  }

  .footer-brand__logo img {
    height: calc(24 * var(--vmin));
  }

  .footer-brand__qr {
    margin-top: 0;
  }

  .site-footer__contact {
    flex-direction: column;
    gap: calc(18 * var(--vmin));
    margin-top: calc(50 * var(--vmin));
  }

  .site-footer__sitemap {
    margin-left: 0;
  }
}
