/* ASA footer styles — builds on theme.css tokens (var(--asa-*)). */
/* Brand footer: navy in both themes. */

.asa-footer {
    margin-top: 0;
    padding: 56px 0 0;
    background: var(--asa-navy);
    color: rgba(255, 255, 255, .78);
    font-size: 15px;
    line-height: 1.6;
    text-align: center;
}
html.dark .asa-footer { background: var(--asa-navy-900); border-top: 1px solid rgba(255, 255, 255, .06); }

.asa-footer a { color: rgba(255, 255, 255, .85); text-decoration: none; transition: color .2s var(--asa-ease); }
.asa-footer a:hover { color: var(--asa-mint); }
.asa-footer a:focus-visible { outline: 2px solid var(--asa-mint); outline-offset: 3px; border-radius: 4px; }

.asa-footer__grid { display: grid; gap: 36px; grid-template-columns: 1fr; }

.asa-footer__logo { display: inline-block; height: 40px; width: auto; }
.asa-footer__tagline { margin: 16px 0 0; font-family: var(--asa-font-display); font-size: 1.1rem; color: var(--asa-mint); }
.asa-footer__about { margin: 10px auto 22px; max-width: 42ch; }
.asa-footer .asa-footer__donate { background: var(--asa-mint); color: var(--asa-navy); }
.asa-footer .asa-footer__donate:hover { background: #fff; color: var(--asa-navy); }

.asa-footer__heading {
    margin: 0 0 12px;
    font-family: var(--asa-font);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: #fff;
}
.asa-footer ul { margin: 0; padding: 0; list-style: none; }
.asa-footer__col li a { display: inline-flex; align-items: center; min-height: 44px; }
.asa-footer__contact li { display: flex; align-items: center; justify-content: center; gap: 10px; min-height: 44px; }
.asa-footer__contact .asa-icon { color: var(--asa-mint); }
.asa-footer__contact li a, .asa-footer__contact li span { overflow-wrap: anywhere; }

.asa-footer__social { display: flex; justify-content: center; gap: 10px; margin-top: 12px; }
.asa-footer__social a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    border: 1px solid rgba(255, 255, 255, .22);
}
.asa-footer__social a:hover { background: var(--asa-mint); border-color: var(--asa-mint); color: var(--asa-navy); }

.asa-footer__bottom { margin-top: 40px; padding: 20px 0; border-top: 1px solid rgba(255, 255, 255, .12); font-size: 14px; color: rgba(255, 255, 255, .6); }
.asa-footer__bottom p { margin: 0; }

@media (min-width: 768px) {
    .asa-footer { text-align: left; padding-top: 72px; }
    .asa-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; }
    .asa-footer__brand { grid-column: 1 / -1; }
    .asa-footer__about { margin-left: 0; }
    .asa-footer__contact li { justify-content: flex-start; }
    .asa-footer__social { justify-content: flex-start; }
}
@media (min-width: 1200px) {
    .asa-footer__grid { grid-template-columns: 1.6fr 1fr 1fr 1.4fr; }
    .asa-footer__brand { grid-column: auto; }
}
