/* Gradient-blob footer: 4 link columns, app badges, copyright. */

/* "Before Footer" note/announcement strip (Settings › Misc): a quiet text band
   directly above the footer — footnotes (the live partnerships' ¹ network
   note), announcements. The section isn't rendered at all when empty. */
.before-footer {
  padding: var(--space-4) 0;
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--color-text-soft);
}

.before-footer p {
  margin: 0 0 0.5em;
}

.before-footer p:last-child {
  margin-bottom: 0;
}

.before-footer sup {
  line-height: 0; /* superscript markers must not open up the line box */
}

.site-footer {
  margin-top: auto;
  padding-top: 40px;
  font-size: 1.0625rem; /* ~17px — match the live footer (larger than body) */
}

.site-footer__columns {
  display: grid;
  /* Count-agnostic tracks: every column gets an equal share of the full row —
     main's 4 columns render exactly as before; the partnerships' 3 columns
     spread evenly across the width instead of leaving a fourth-track hole. */
  grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
  gap: var(--space-5);
}

.site-footer__title {
  font-family: var(--font-body);
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--color-on-band);
  margin-bottom: var(--space-3);
}

.site-footer__title--badges {
  margin-top: var(--space-5);
}

.site-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
}

.site-footer__links li {
  margin-bottom: 12px; /* 32px row rhythm, measured on reference */
  line-height: 1.45;
}

.site-footer__links a {
  color: var(--color-on-band);
  opacity: 0.92;
}

.site-footer__links a:hover {
  opacity: 1;
}

.site-footer__badges {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--space-2);
}

.site-footer__badges img {
  height: 34px;
  width: auto;
}

.site-footer__copyright {
  text-align: center;
  margin: var(--space-7) 0 0;
  padding-block: var(--space-4);
  font-size: 0.8125rem;
  opacity: 0.85;
}

@media (max-width: 1024px) {
  .site-footer__columns {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 575px) {
  .site-footer__columns {
    grid-template-columns: 1fr;
  }
}
