/* ========================================
   FOOTER
======================================== */

.site-footer {
  position: relative;

  width: 100%;

  margin-top: 120px;

  background: linear-gradient(
    180deg,
    rgba(10, 12, 18, 0.45),
    rgba(4, 6, 10, 0.55)
  );

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);

  border-top: 1px solid rgba(255, 255, 255, 0.04);

  box-shadow:
    0 -10px 30px rgba(77, 184, 255, 0.04),
    0 -25px 60px rgba(0, 0, 0, 0.35),
    inset 0 1px 0 rgba(255, 255, 255, 0.04);

  overflow: hidden;
}

/* GLOWING TOP BORDER - 3/4 WIDTH */

.site-footer::before {
  content: "";

  position: absolute;

  top: 0;
  left: 50%;

  transform: translateX(-50%);

  width: 75%;
  max-width: 1100px;

  height: 2px;

  background: linear-gradient(
    90deg,
    transparent,
    rgba(77, 184, 255, 0.9),
    #ffffff,
    rgba(77, 184, 255, 0.9),
    transparent
  );

  box-shadow:
    0 0 12px rgba(77, 184, 255, 0.45),
    0 0 24px rgba(77, 184, 255, 0.2);
}

/* FOOTER CONTENT */

.footer-links,
.footer-copyright {
  max-width: 960px;
  margin: 0 auto;

  position: relative;
  z-index: 2;
}

/* LINKS AREA */

.footer-links {
  padding: 70px 20px 45px;

  text-align: center;
}

.footer-links h3 {
  margin-bottom: 30px;

  font-family: "Acme", sans-serif;
  font-size: 2rem;

  color: #ffffff;
}

/* MODERN TEXT LINKS */

.footer-nav {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;

  gap: 28px;
}

.footer-nav a {
  position: relative;

  color: rgba(255, 255, 255, 0.75);

  text-decoration: none;

  padding: 6px 0;

  font-size: 1rem;
  font-weight: 600;

  transition: color 0.25s ease;
}

.footer-nav a::after {
  content: "";

  position: absolute;

  left: 0;
  bottom: -3px;

  width: 0;
  height: 1px;

  background: #4db8ff;

  box-shadow: 0 0 8px rgba(77, 184, 255, 0.6);

  transition: width 0.25s ease;
}

.footer-nav a:hover {
  color: #ffffff;
}

.footer-nav a:hover::after {
  width: 100%;
}

/* COPYRIGHT */

.footer-copyright {
  padding: 28px 20px 35px;

  display: flex;
  justify-content: center;
  align-items: center;

  text-align: center;

  font-size: 1.05rem;
  font-weight: 500;

  color: rgba(255, 255, 255, 0.75);

  border-top: 1px solid rgba(77, 184, 255, 0.12);
}

/* MOBILE */

@media (max-width: 768px) {
  .site-footer::before {
    width: 85%;
  }

  .footer-links {
    padding: 50px 20px 35px;
  }

  .footer-nav {
    gap: 18px;
  }

  .footer-nav a {
    font-size: 1rem;
  }

  .footer-copyright {
    font-size: 1rem;
  }
}
