/* FOOTER (dark, 4 columns) */

.footer-main.section {
  padding-block: var(--space-2xl);
  border-top: 1px solid var(--color-border-dark);
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1.3fr 0.9fr;
  gap: var(--space-2xl);
  align-items: start;
}

.footer-grid--3 {
  grid-template-columns: 1.6fr 1fr 1.3fr;
}

.footer-brand {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-md);
}

.footer-brand a {
  display: inline-block;
}

.footer-tagline {
  font-weight: var(--font-semibold);
  color: var(--color-brand-amber);
}

.footer-desc {
  max-width: 20rem;
  font-size: 0.9rem;
  line-height: 1.6;
  color: var(--color-on-dark-soft);
}

.footer-heading {
  margin-bottom: var(--space-md);
  font-size: 0.8rem;
  font-weight: var(--font-bold);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #ffffff;
}

.footer-nav ul,
.footer-contact ul {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  font-size: 0.9rem;
}

.footer-nav a,
.footer-contact a {
  color: var(--color-on-dark-soft);
  transition: color 0.2s ease;
}

.footer-nav a:hover,
.footer-contact a:hover {
  color: var(--color-brand-amber);
}

.footer-contact li {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
  color: var(--color-on-dark-soft);
}

.footer-contact .icon {
  margin-top: 0.1rem;
  color: var(--color-brand-green-light);
}

.footer-social-list {
  display: flex;
  gap: var(--space-sm);
}

.footer-social-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid #ffffff;
  border-radius: 50%;
  color: #ffffff;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

.footer-social-link:hover {
  color: var(--color-bg-dark);
  background-color: var(--color-brand-amber);
  border-color: var(--color-brand-amber);
}

.footer-bottom {
  padding: var(--space-md) var(--navbar-padding-x);
  color: var(--color-on-dark-soft);
  font-size: 0.85rem;
  background-color: var(--color-bg-dark);
  border-top: 1px solid var(--color-border-dark);
}

.footer-bottom .section-container {
  display: flex;
  justify-content: space-between;
  gap: var(--space-md);
  flex-wrap: wrap;
}

@media (max-width: 1024px) {
  .footer-grid,
  .footer-grid--3 {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-xl);
  }

  .footer-brand {
    grid-column: 1 / -1;
  }
}

@media (max-width: 768px) {
  .footer-bottom {
    padding: var(--space-md);
  }
}

@media (max-width: 640px) {
  .footer-grid,
  .footer-grid--3 {
    grid-template-columns: 1fr;
  }

  .footer-bottom .section-container {
    flex-direction: column;
    text-align: center;
  }
}
