.site-footer {
  border-bottom: 4px solid #e5e5e5;
  padding: 0;
  color: #fff;
  background: #000;
  font-family: Inter, Arial, sans-serif;
}

.site-footer a {
  color: inherit;
  text-decoration: none;
}

.footer-legal {
  box-sizing: border-box;
  width: min(1480px, calc(100% - 80px));
  display: grid;
  grid-template-columns: minmax(270px, 1fr) minmax(270px, 1fr) minmax(390px, 1.45fr) minmax(170px, .62fr);
  align-items: start;
  column-gap: clamp(28px, 2.4vw, 48px);
  margin: 0 auto;
  padding: 48px 0 56px;
  background: #000;
}

.footer-legal > div {
  min-width: 0;
  display: flex;
  flex-direction: column;
  color: rgba(255, 255, 255, .8);
  font-size: 16px;
  line-height: 26px;
}

.footer-legal b {
  padding-bottom: 16px;
  color: #fff;
  font-size: 16px;
  line-height: 18px;
}

.footer-legal a:hover { color: #d7a03d; }
.footer-primary-links { display: grid; grid-template-columns: max-content max-content; justify-content: space-between; gap: 20px; }
.footer-primary-links > span { display: flex; flex-direction: column; }
.footer-primary-links a { white-space: nowrap; }
.footer-socials { display: flex; flex-direction: row; gap: 24px; margin-top: 24px; }
.footer-socials a { width: 24px; height: 24px; display: inline-flex; align-items: center; justify-content: center; border-radius: 7px; color: #111; background: #fff; }
.footer-socials svg { width: 20px; height: 20px; fill: currentColor; }
.footer-socials a:hover { color: #fff; background: #d7a03d; }
.footer-skolkovo { width: 130px; display: block; margin-top: 20px; }
.footer-skolkovo img { width: 130px; height: auto; display: block; }
.footer-payment { text-align: center; }
.payment-marks { display: grid; justify-content: center; gap: 16px; }
.payment-marks > div { min-height: 24px; display: flex; align-items: center; justify-content: center; gap: 16px; }
.payment-marks span { color: #fff; font-size: 22px; font-weight: 950; font-style: italic; letter-spacing: 0; }
.payment-marks .mir-mark { color: #43ae62; font-style: normal; }
.payment-marks .sberpay-mark { border-radius: 13px; padding: 1px 8px; color: #fff; background: #27c937; font-size: 12px; font-style: normal; }
.mastercard-mark, .maestro-mark { position: relative; width: 33px; height: 20px; display: inline-block; }
.mastercard-mark::before, .mastercard-mark::after, .maestro-mark::before, .maestro-mark::after { position: absolute; top: 2px; width: 20px; height: 20px; border-radius: 50%; content: ""; opacity: .96; }
.mastercard-mark::before, .maestro-mark::before { left: 1px; background: #e33128; }
.mastercard-mark::after { right: 1px; background: #f4a31c; }
.maestro-mark::after { right: 1px; background: #159bd7; }
.footer-supplier { width: 128px; display: block; margin: 2px auto 0; }
.footer-supplier img { width: 128px; height: auto; display: block; }

@media (max-width: 1279px) {
  .footer-legal {
    width: min(760px, calc(100% - 48px));
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 40px 64px;
    padding: 42px 0 50px;
  }
  .footer-legal > div { width: 100%; }
  .footer-payment { text-align: left; }
  .payment-marks { justify-content: start; }
  .footer-supplier { margin-inline: 0; }
}

@media (max-width: 680px) {
  .footer-legal { width: 380px; max-width: calc(100% - 40px); display: block; padding: 40px 0 60px; }
  .footer-legal > div { width: 100%; align-items: center; margin: 0 auto; text-align: center; font-size: 14px; line-height: 22px; }
  .footer-legal > div:first-child { width: 244px; }
  .footer-legal > div:nth-child(2) { width: 235px; margin-top: 24px; }
  .footer-legal > div:nth-child(3) { width: 340px; max-width: 100%; margin-top: 24px; }
  .footer-legal > .footer-payment { width: 156px; margin-top: 24px; }
  .footer-primary-links, .footer-socials, .payment-marks { justify-content: center; }
  .footer-primary-links { grid-template-columns: max-content max-content; }
  .footer-supplier { margin-inline: auto; }
}
