.footer {
  width: 100%;
  box-sizing: border-box;
  padding: var(--spacing-2xl);
  border-top: 1px solid var(--colors-light);
}

.footer__wrapper {
  width: 55vw;
  margin: 0 auto;
}

.footer__wrapper > * {
  margin-bottom: var(--spacing-2xl);
}

.footer__wrapper > *:last-child {
  margin-bottom: 0;
}

.footer a {
  text-decoration: none;
}

.footer a:hover {
  text-decoration: underline;
}

.footer__logo {
  width: 100%;
}

.footer__links ul {
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}

.footer__links ul li {
  list-style-type: none;
  display: flex;
}

.footer__links ul li::after {
  content: '|';
  display: block;
  padding: 0 var(--spacing-2xs);
  font-family: var(--font-family);
  font-size: var(--font-size-text);
  line-height: var(--line-height-text);
}

.footer__links ul li:last-child::after {
  display: none;
}

.footer__subscribe {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 640px;
  margin: 0 auto;
}

.footer__subscribe input[type="text"] {
  appearance: none;
  border: 0;
  border-radius: 0;
  border-bottom: 1px solid var(--colors-black);
  padding: var(--spacing-2xs);
  
  margin-right: var(--spacing-md);
  width: 100%;
  
  color: var(--colors-black);
}

.footer__subscribe button[type="button"] {
  background-color: var(--colors-light);
  border: 0;
  border-radius: 0;
  padding: var(--spacing-2xs) var(--spacing-xl);
  
  transition: all var(--transition-time) var(--transition-ease);
  
  flex-shrink: 0;
  
  color: var(--colors-black);
}

.footer__subscribe button[type="button"]:hover,
.footer__subscribe button[type="button"]:focus {
  background-color: var(--colors-medium);
  cursor: pointer;
}

.footer__subscribe input[type="text"],
.footer__subscribe button[type="button"] {
  font-family: var(--font-family);
  font-size: var(--font-size-text);
  line-height: var(--line-height-text);
  letter-spacing: var(--letter-spacing-text);
  
  text-transform: uppercase;
}

@media (max-width: 1100px) {
  .footer__subscribe {
    flex-wrap: wrap;
  }
  
  .footer__subscribe input[type="text"] {
    margin-right: 0;
  }
  
  .footer__subscribe button[type="button"] {
    margin-top: var(--spacing-md);
  }
}

@media (max-width: 800px) {
  .footer {
    padding: var(--spacing-2xl) var(--spacing-md);
  }
  
  .footer__wrapper {
    width: 100%;
  }
  
  .footer__links {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--spacing-md);
  }
  
  .footer__links ul {
    display: block;
  }
  
  .footer__links ul li::after {
    display: none;
  }
}

