.footer {
  background: var(--color-footer, #000022);
  color: #ffffff;
  text-align: center;
  padding: 2rem 4vw;
  font-size: 0.85rem;
  position: relative;
}

.footer::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 0.0625rem;
  background: linear-gradient(90deg, transparent, rgba(8, 44, 153, 0.4), transparent);
}

.footer__text {
  margin-bottom: 1.4rem;
  color: #ffffff;
  font-size: 0.95em;
  max-width: var(--page-max, 87.5rem);
  margin-left: auto;
  margin-right: auto;
}

.footer__text p {
  margin: 0 0 0.8em;
}

.footer__text p:last-child {
  margin-bottom: 0;
}

.footer__links {
  font-size: 0.95em;
  color: #ffffff;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  align-items: center;
  max-width: var(--page-max, 87.5rem);
  margin-left: auto;
  margin-right: auto;
}

.footer__contacts {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  justify-content: center;
  align-items: center;
}

.footer__links a,
.footer__contacts a,
.footer__address a {
  color: rgba(255, 255, 255, 0.8) !important;
  font-weight: 500 !important;
  transition: color 0.2s ease, transform 0.2s ease;
  position: relative;
  padding: 0 0.4em;
  text-decoration: none !important;
}

.footer__contacts a:not(:last-child)::after {
  content: "";
  position: absolute;
  right: -0.3em;
  top: 50%;
  transform: translateY(-50%);
  width: 1px;
  height: 0.9em;
  background: rgba(255, 255, 255, 0.35);
}

.footer__address {
  width: 100%;
  margin-top: 0.5rem;
}

.footer__address a {
  display: inline-block;
}

.footer__links a:hover,
.footer__links a:focus-visible,
.footer__contacts a:hover,
.footer__contacts a:focus-visible {
  color: #ffffff !important;
  text-decoration: underline dotted !important;
  text-decoration-thickness: 0.125rem;
  text-underline-offset: 0.25rem;
  transform: none;
}
