/* =========================================
   FOOTER (layout, social, links, responsive)
   ========================================= */

/* Base container */
.footer {
  font-size: .95rem;
}

/* Bottom row (default: desktop/tablet) */
.footer-bottom{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .5rem;
  margin-top: .5rem;
  padding-top: .5rem;
  border-top: 1px solid rgba(255,255,255,.15);
}

/* Social icon groups (both class names supported) */
.footer .social,
.footer .social-media-icons{
  display: flex;
  align-items: center;
  gap: .75rem;
}

/* Social icon buttons */
.footer .social a,
.footer .social-media-icons a{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: rgba(255,255,255,.07);
  color: var(--ghbc-light);
  text-decoration: none;
  transition: background-color .15s ease, color .15s ease, transform .15s ease;
}
.footer .social a:hover,
.footer .social a:focus-visible,
.footer .social-media-icons a:hover,
.footer .social-media-icons a:focus-visible{
  background: rgba(255,255,255,.14);
  color: #fff;
  transform: translateY(-1px);
  outline: none;
}

/* Footer link polish */
.footer .footer-link:hover,
.footer .footer-link:focus-visible{
  text-decoration: underline;
}

/* Subtle text helper */
.footer .text-light-50{
  color: rgba(255,255,255,.7);
}

/* Horizontal rule inside footer */
.footer hr{
  margin: .75rem 0;
  opacity: .35;
}

/* =================
   Responsive (≤576)
   ================= */
@media (max-width: 576px){
  .footer .container{
    padding-top: .75rem;
    padding-bottom: .75rem;
  }

  /* Stack the bottom row */
  .footer-bottom{
    flex-direction: column;
    text-align: center;
    gap: .25rem;
  }
  .footer-bottom .copyright{ order: 1; }
  .footer-bottom .back-to-top{ order: 2; }

  /* Admin link visibility on small */
  .admin-login{
    display: block;
    font-size: .95rem;
    margin-top: .25rem;
    text-align: center;
  }
}
