.site-footer {
  background-color: var(--color-charcoal);
  color: var(--color-white);
  font-family: var(--font-body);
}

/* links */
.site-footer a {
  color: var(--color-white);
  text-decoration: none;
}

.site-footer a:hover {
  color: var(--color-accent);
  text-decoration: underline;
}

/* =========================
   FOOTER LAYOUT
========================= */
.footer-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: 3rem 1.5rem;

  display: grid;
  grid-template-columns: 1.2fr 1.3fr 1.5fr;
  gap: 2.5rem;

  align-items: stretch;
}

/* =========================
   BRAND COLUMN (UPDATED)
========================= */
.footer-brand {
  display: flex;
  flex-direction: column;

  /* KEY CHANGE: push everything toward bottom */
  justify-content: flex-end;

  height: 100%;
  gap: 0.75rem; /* keeps logo and socials tight */
}

.footer-logo-link {
  display: inline-block;
}

.footer-logo {
  max-width: 240px;
  height: auto;
  display: block;
}

/* socials now sit directly under logo */
.footer-socials {
  display: flex;
  gap: 1.25rem;
}

.footer-socials a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 1.5rem;
  transition: 0.2s ease, transform 0.2s ease;
  color: var(--color-accent);
}

.footer-socials a:hover {
  color: var(--color-white);
  transform: translateY(-1.5px);
}

/* =========================
   CONTACT COLUMN
========================= */
.footer-contact h3 {
  font-size: 1rem;
  margin-bottom: 1rem;
  font-weight: 600;
}

.contact-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.contact-list li {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  font-size: 0.95rem;
  line-height: 1.6;
}

.contact-list i {
  font-size: 1.1rem;
  color: var(--color-accent);
  flex-shrink: 0;
}

.contact-list strong {
  font-weight: 600;
}

.contact-list a {
  color: var(--color-white);
}

.contact-list a:hover {
  color: var(--color-offwhite);
  text-decoration: underline;
}

/* =========================
   MAP COLUMN
========================= */
.footer-map {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}

.footer-map h3 {
  font-size: 1rem;
  margin: 0 0 1rem 0;
  font-weight: 600;
}

.map-wrapper {
  border-radius: 10px;
  overflow: hidden;
  display: block;
}

.footer-map iframe {
  width: 100%;
  height: 180px;
  border: 0;
  display: block;
  border-radius: 10px;
}

/* =========================
   FOOTER BOTTOM
========================= */
.footer-bottom {
  border-top: 1px solid rgba(255, 255, 255, 0.15);
  padding: 1rem 1.5rem;
  text-align: center;
  font-size: 0.85rem;
  color: rgba(255, 255, 255, 0.75);
}

/* =========================
   MOBILE
========================= */
@media (max-width: 900px) {
  .footer-container {
    grid-template-columns: 1fr;
  }

  .footer-brand {
    justify-content: flex-start;
    align-items: center;
  }

  .footer-map {
    justify-content: flex-start;
  }

  .footer-socials {
    justify-content: flex-start;
    gap: 2rem;
  }

  .footer-socials a{
    font-size: 1.8rem;
  }

  .footer-map iframe {
    height: 220px;
  }
}