.footer__bottom {
  align-items: center;
  gap: 16px 32px;
}

.footer__legal {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
  flex: 1 1 auto;
}

.copyright-text {
  display: block;
  color: var(--black, #272727);
  opacity: 0.5;
  font-size: 0.83em;
  line-height: 1.5;
}

.footer-privacy {
  display: inline-flex;
  align-items: center;
  max-width: 100%;
  color: var(--black, #272727);
  font-size: 0.83em;
  font-weight: 500;
  line-height: 1.45;
  text-decoration: none;
  border-bottom: 1px solid rgba(39, 39, 39, 0.25);
  transition: color 0.25s ease, border-color 0.25s ease, opacity 0.25s ease;
}

.footer-privacy:hover,
.footer-privacy:focus-visible {
  color: #ed770b;
  border-color: rgba(237, 119, 11, 0.55);
  outline: none;
}

.footer-privacy:active {
  opacity: 0.85;
}

@media (min-width: 768px) {
  .footer__legal {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 14px;
  }

  .footer__legal .copyright-text::after {
    content: "";
    display: inline-block;
    width: 4px;
    height: 4px;
    margin-left: 14px;
    border-radius: 50%;
    background: rgba(39, 39, 39, 0.35);
    vertical-align: middle;
  }

  .footer-privacy {
    max-width: min(100%, 420px);
  }
}

@media (max-width: 767px) {
  .footer__bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .footer-privacy {
    font-size: 13px;
  }

  .softvill {
    align-self: flex-start;
  }
}
