/* =============================================================
   Site Footer
   ============================================================= */

.site-footer {
  background-color: var(--background-primary);
  display: flex;
  flex-direction: column;
  gap: var(--spacing-page-margins);   /* 120px */
  align-items: flex-end;
  padding: var(--spacing-xxl) var(--spacing-page-margins);
}

.footer-main {
  display: flex;
  align-items: flex-end;
  gap: var(--spacing-xxxxl);          /* 64px */
  width: 100%;
}

/* Brand column */
.footer-brand {
  display: flex;
  flex-direction: column;
  gap: 15px;
  flex: 1 0 0;
  min-width: 0;
}

.footer-tagline {
  font-family: var(--font-family);
  font-size: var(--type-body-size);
  font-weight: var(--type-body-weight);
  line-height: var(--type-body-line-height);
  color: var(--text-primary);
}

.footer-social {
  display: flex;
  align-items: center;
  gap: 13px;
  padding-top: var(--spacing-l);
}

.footer-social-icon {
  width: var(--spacing-xl);
  height: var(--spacing-xl);
  display: block;
}

/* Link groups */
.footer-link-group {
  display: flex;
  flex-direction: column;
  gap: var(--spacing-l);
  flex-shrink: 0;
}

.footer-link-group__title {
  font-family: var(--font-family);
  font-size: var(--type-button-m-size);
  font-weight: var(--type-button-m-weight);
  line-height: var(--type-button-m-line-height);
  color: var(--text-primary);
}

.footer-link {
  font-family: var(--font-family);
  font-size: var(--type-body-size);
  font-weight: var(--type-body-weight);
  line-height: var(--type-interactive-line-height);
  color: var(--text-footer-links-default);
  text-decoration: none;
  transition: color .15s;
}

.footer-link:hover:not(:active) {
  color: var(--text-footer-links-hover);
  font-weight: var(--type-body-weight);
}

.footer-link:active {
  color: var(--text-footer-links-pressed);
  font-weight: var(--type-body-weight);
}

/* Copyright */
.footer-copyright {
  font-family: var(--font-family);
  font-size: var(--type-labels-size);
  font-style: var(--type-labels-style);
  font-weight: var(--type-labels-weight);
  line-height: var(--type-labels-line-height);
  color: var(--text-labels-default);
  white-space: nowrap;
}

/* Mobile */
@media (max-width: 768px) {
  .site-footer { padding: var(--spacing-xl) var(--spacing-l); gap: var(--spacing-xl); align-items: flex-start; }
  .footer-main { flex-direction: column; align-items: flex-start; gap: var(--spacing-xl); }
  .footer-copyright { white-space: normal; }
}