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

.site-footer {
  background-color: #030712;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
  font-family: 'Poppins', sans-serif;
  padding: 3.2rem 3rem 2rem;
}

/* ——— Three-column flex row ——— */

.footer-inner {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 2rem !important;
  max-width: 960px !important;
  margin: 0 auto !important;
}

/* ——— Brand: logo + tagline ——— */

.footer-brand {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0.55rem !important;
  flex-shrink: 0;
}

/* Logo — sizing forced via HTML attrs + inline style; these just ensure no override undoes it */
.footer-brand img {
  display: block !important;
  max-width: 120px !important;
  width: 120px !important;
  height: auto !important;
  opacity: 0.9;
}

.footer-tagline {
  font-size: 0.72rem !important;
  font-weight: 300 !important;
  letter-spacing: 0.1em !important;
  color: rgba(255, 255, 255, 0.22) !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 1.4 !important;
}

/* ——— Social icons ——— */

.footer-socials {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 1.6rem !important;
}

.footer-socials li {
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
}

/* Strip ALL template circle/border styling from icon anchors */
.footer-social-link,
.footer-social-link:hover,
.footer-social-link:focus,
.footer-social-link:visited,
.footer-social-link:active {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: auto !important;
  min-width: 0 !important;
  height: auto !important;
  border: none !important;
  outline: none !important;
  border-radius: 0 !important;
  background: none !important;
  background-color: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  text-decoration: none !important;
  line-height: 1 !important;
}

.footer-social-link {
  color: rgba(255, 255, 255, 0.28) !important;
  transition: color 0.22s ease, transform 0.22s ease;
  font-size: 16px !important;
}

.footer-social-link:hover {
  color: rgba(96, 165, 250, 0.85) !important;
  transform: translateY(-2px);
}

/* Silence any ::before pseudo from template that could draw a circle */
.footer-social-link::before {
  display: inline !important;
  width: auto !important;
  height: auto !important;
  border: none !important;
  background: none !important;
  border-radius: 0 !important;
  line-height: 1 !important;
  margin: 0 !important;
}

/* ——— Contact ——— */

.footer-contact {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-end !important;
  gap: 0.3rem !important;
  flex-shrink: 0;
}

.footer-contact-email {
  font-size: 0.85rem !important;
  font-weight: 300 !important;
  color: rgba(255, 255, 255, 0.5) !important;
  text-decoration: none !important;
  letter-spacing: 0.03em !important;
  transition: color 0.22s ease;
  display: block !important;
}

.footer-contact-email:hover {
  color: rgba(96, 165, 250, 0.85) !important;
  border-bottom: none !important;
}

.footer-contact-phone {
  font-size: 0.76rem !important;
  font-weight: 300 !important;
  color: rgba(255, 255, 255, 0.2) !important;
  letter-spacing: 0.05em !important;
  display: block !important;
}

/* ——— Separator ——— */

.footer-sep {
  border: none !important;
  border-top: none !important;
  height: 1px;
  background: linear-gradient(
    to right,
    transparent,
    rgba(255, 255, 255, 0.07) 20%,
    rgba(255, 255, 255, 0.07) 80%,
    transparent
  );
  margin: 2rem auto 1.6rem;
  max-width: 960px;
}

/* ——— Bottom row ——— */

.footer-bottom {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  max-width: 960px;
  margin: 0 auto;
  gap: 1rem;
  flex-wrap: wrap;
}

.footer-links {
  display: flex !important;
  align-items: center !important;
  gap: 0.65rem !important;
  margin: 0 !important;
  padding: 0 !important;
}

.footer-links a {
  font-size: 0.76rem !important;
  font-weight: 300 !important;
  letter-spacing: 0.1em !important;
  color: rgba(255, 255, 255, 0.32) !important;
  text-decoration: none !important;
  border-bottom: none !important;
  transition: color 0.22s ease;
}

.footer-links a:hover {
  color: rgba(255, 255, 255, 0.72) !important;
  border-bottom: none !important;
}

.footer-copy {
  font-size: 0.74rem !important;
  font-weight: 300 !important;
  letter-spacing: 0.05em !important;
  color: rgba(255, 255, 255, 0.18) !important;
  margin: 0 !important;
}

/* =============================================
   RESPONSIVE
   ============================================= */

@media screen and (max-width: 860px) {
  .footer-inner {
    flex-wrap: wrap !important;
    justify-content: flex-start !important;
    gap: 2rem 3rem !important;
  }

  .footer-socials {
    order: 3;
    width: 100%;
    justify-content: flex-start !important;
  }

  .footer-contact {
    align-items: flex-end !important;
  }
}

@media screen and (max-width: 580px) {
  .site-footer {
    padding: 2.5rem 1.5rem 1.8rem;
  }

  .footer-inner {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 1.8rem !important;
  }

  .footer-contact {
    align-items: flex-start !important;
  }

  .footer-bottom {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 0.5rem;
  }

  /* Increase social icon tap targets to ~36px without changing visual size */
  .footer-social-link {
    padding: 10px !important;
  }

  .footer-socials {
    gap: 0.1rem !important;
  }
}
