.af-footer-main { font-size: 14px; line-height: 1.4; border-block-start: 1px solid #c5dce8; padding: 64px clamp(24px, 5vw, 100px) 36px; background: #fff url('../images/soroka-footer-swoosh-background.gif') no-repeat right top / auto 100%; }
.af-footer-columns { gap: 6%; margin: 0; align-items: center; }
.af-footer-columns > .wp-block-column:first-child { flex-basis: 36%; }
.af-footer-columns > .wp-block-column:nth-child(2) { text-align: center; flex-basis: 28%; }
.af-footer-columns > .wp-block-column:last-child { flex-basis: 30%; }
.af-footer-main h2 { color: #006cab; text-transform: uppercase; font-size: 14px; margin-block: 32px 12px; }
.af-footer-main p { font-size: 14px; line-height: 1.4; margin-block: 0; }
.af-footer-main a { color: #122b49; text-decoration: none; }
.af-footer-main a:hover { text-decoration: underline; }
.af-badges { flex-wrap: nowrap; justify-content: center; gap: 20px; margin-block-end: 32px; }
.af-badges figure { flex: 1; min-width: 0; margin: 0; }
.af-footer-main .wp-block-social-links { justify-content: space-between; gap: 12px; font-size: clamp(28px, 2.7vw, 48px); margin-block: 0 48px; }
.af-footer-links { gap: 24px; margin: 0; }
.af-footer-links .wp-block-column { border-inline-start: 1px solid #9bb1c5; padding-inline-start: 24px; }
.af-footer-links p + p { margin-block-start: 20px; }
.af-footer-bar { font-size: 12px; line-height: 1.4; color: #707070; border-block-start: 1px solid #c5dce8; gap: 24px; padding: 16px clamp(24px, 5vw, 100px); justify-content: space-between; margin-block: 0; }
.af-footer-bar p { font-size: 12px; margin: 0; }
.af-footer-bar a { text-decoration: none; }
.af-footer-bar .af-copyright { flex: 1; }
.af-back-to-top a { position: relative; display: grid; place-items: center; width: 48px; height: 48px; background: #006cab; color: #fff; font-size: 0; line-height: 1; padding: 0; box-sizing: border-box; text-decoration: none; }
@media (max-width: 1000px) {
 .af-footer-columns { flex-direction: column; align-items: stretch; gap: 40px; }
 .af-footer-main .af-logo { max-width: 480px; }
 .af-footer-columns > .wp-block-column:nth-child(2) { text-align: start; }
 .af-badges { max-width: 420px; }
 .af-footer-main .wp-block-social-links { max-width: 360px; margin-block-end: 24px; }
 .af-footer-links { max-width: 480px; }
 .af-footer-bar { flex-wrap: wrap; }
 .af-footer-bar .af-copyright { flex-basis: 100%; }
}
@media (max-width: 480px) {
 .af-footer-links { flex-direction: column; gap: 20px; }
}

.af-badges img { display: block; width: auto; max-width: 100%; height: auto; max-height: 145px; margin-inline: auto; object-fit: contain; }

/* Absolute centering keeps the decorative icon independent of the saved text node. */
.af-back-to-top a::before { content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 18px; height: 12px; background: currentColor; -webkit-mask: url('../images/triangle-up.svg') center / contain no-repeat; mask: url('../images/triangle-up.svg') center / contain no-repeat; }
.af-back-to-top.af-floating { position: fixed; right: max(20px, env(safe-area-inset-right)); bottom: max(20px, env(safe-area-inset-bottom)); z-index: 900; margin: 0; opacity: 0; visibility: hidden; transform: translateY(8px); pointer-events: none; transition: opacity 180ms ease, transform 180ms ease, visibility 180ms; }
.af-back-to-top.af-floating.af-visible { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
.af-back-to-top.af-floating a { box-shadow: 0 3px 12px rgb(18 43 73 / 18%); transition: background-color 150ms ease; }
.af-back-to-top.af-floating a:hover { background-color: #122b49; }
.af-back-to-top.af-floating a:focus-visible { outline: 3px solid #122b49; outline-offset: 4px; }
@media (prefers-reduced-motion: reduce) {
 .af-back-to-top.af-floating, .af-back-to-top.af-floating a { transition: none; transform: none; }
}

.af-badges img[src$="guidestar.png"], .af-badges img[src$="placeholders/guidestar.svg"] { max-width: min(100%, 90px); }
.af-badges img[src$="charity-navigator.png"], .af-badges img[src$="placeholders/charity-navigator.svg"] { max-width: min(100%, 65px); }

.af-footer-main .af-logo { max-width: 240px; }

.af-footer-main .af-footer-links a:hover { color: #67903c; text-decoration: none; }
