/* -------------------------------------------------------- */
/* 🔹 Footer                                                */
/* -------------------------------------------------------- */

.site-footer {
  margin-top: auto;
  padding-top: var(--website-section-spacing);
  padding-bottom: var(--space-xl);
}

/* Separator line — as ::before so padding-top guarantees
   space above the line even when margin-top: auto is zero */
.site-footer::before {
  content: '';
  display: block;
  height: 1px;
  background-color: var(--color-outline);
  margin-bottom: var(--space-xxxl);
}

.site-footer__inner {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-xxxl);
}



/* Link columns */
.site-footer__columns {
  display: flex;
  gap: var(--space-xxxl);
}

.site-footer__column-title {
  font-size: var(--text-title-medium);
  font-weight: var(--text-title-weight);
  color: var(--color-primary);
  margin-bottom: var(--space-m);
}

.site-footer__column-links {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-s);
}

.site-footer__link {
  font-size: var(--text-body-medium);
  color: var(--color-on-surface-variant);
  text-decoration: none;
  transition: color 0.15s ease;
}

.site-footer__link:hover {
  color: var(--color-primary);
  text-decoration: none;
}

/* Bottom bar — copyright left, legal centered */
.site-footer__bottom {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: var(--space-xl);
  font-size: var(--text-body-small);
  color: var(--color-on-surface-variant);
}

.site-footer__copyright {
  position: absolute;
  left: 0;
}

.site-footer__bottom-links {
  display: flex;
  gap: var(--space-l);
  list-style: none;
}

.site-footer__bottom-link {
  font-size: var(--text-body-small);
  color: var(--color-on-surface-variant);
  text-decoration: none;
}

.site-footer__bottom-link:hover {
  color: var(--color-primary);
}


/* -------------------------------------------------------- */
/* 🔹 Responsive                                            */
/* -------------------------------------------------------- */

@media (max-width: 480px) {
  .site-footer__bottom {
    flex-direction: column;
    gap: var(--space-s);
    text-align: center;
  }

  .site-footer__copyright {
    position: static;
  }

  .site-footer__bottom-links {
    justify-content: center;
  }
}
