/* ==========================================================================
   COMPONENT: Footer
   ========================================================================== */

.site-footer {
  position: relative;
  background: var(--footer-background-color);
  color: var(--text-on-dark-muted);
  font-size: 0.95rem;

  a {
    text-decoration: none;

    &:hover {
      color: var(--primary-color);
    }
  }

  h3 {
    margin-bottom: 18px;
    font-size: 0.85rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--text-on-dark);
  }

  ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .footer-main {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 1.2fr;
    gap: 48px;
    padding-block: 72px 56px;
  }

  .footer-brand {
    img {
      width: 220px;
      margin-bottom: 20px;
    }

    .footer-tagline {
      font-family: var(--font-heading);
      font-size: 1.15rem;
      font-weight: 600;
      color: var(--text-on-dark);
    }
  }

  .footer-social {
    display: flex;
    gap: 10px;
    margin-top: 20px;

    a {
      display: grid;
      place-items: center;
      width: 42px;
      height: 42px;
      font-size: 1.1rem;
      color: var(--text-on-dark);
      border: 1px solid var(--border-on-dark);
      border-radius: 50%;

      &:hover {
        border-color: var(--primary-color);
      }
    }
  }

  .footer-links li + li {
    margin-top: 10px;
  }

  .footer-visit {
    li {
      display: flex;
      gap: 12px;
      align-items: flex-start;
    }

    li + li {
      margin-top: 16px;
    }

    i {
      margin-top: 3px;
      color: var(--primary-color);
    }

    strong {
      display: block;
      color: var(--text-on-dark);
    }

    .footer-phone {
      font-family: var(--font-heading);
      font-size: 1.3rem;
      font-weight: 700;
      color: var(--text-on-dark);
    }
  }

  .footer-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    padding-block: 26px;
    background: linear-gradient(var(--border-on-dark), var(--border-on-dark)) top center / calc(100% - 2 * var(--gutter)) 1px no-repeat;

    span {
      margin-right: 6px;
      font-size: 0.8rem;
      font-weight: 700;
      letter-spacing: 0.12em;
      text-transform: uppercase;
    }

    img {
      height: 48px;
      width: auto;
      padding: 6px 10px;
      background: white;
      border-radius: var(--radius);
    }
  }

  .footer-bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px;
    padding-block: 22px;
    font-size: 0.85rem;
    background: linear-gradient(var(--border-on-dark), var(--border-on-dark)) top center / calc(100% - 2 * var(--gutter)) 1px no-repeat;

    ul {
      display: flex;
      flex-wrap: wrap;
      gap: 22px;
    }
  }
}

@media (max-width: 1000px) {
  .site-footer .footer-main {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 640px) {
  .site-footer {
    .footer-main {
      grid-template-columns: 1fr;
      gap: 36px;
    }

    .footer-bottom {
      flex-direction: column;
      align-items: center;
      text-align: center;

      ul {
        justify-content: center;
      }
    }
  }
}
