/* Site footer (includes/footer.php). The outer box needs footer.main-footer.site-footer
   plus !important to win over the layered .main-footer rules in app.css; inner sf-* classes
   are not styled anywhere else. */

footer.main-footer.site-footer {
    margin-top: clamp(3rem, 6vw, 4.5rem) !important;
    padding: clamp(2.25rem, 4vw, 3rem) 0 1.5rem !important;
    background: var(--ak-surface-solid) !important;
    border-top: 1px solid var(--ak-border) !important;
    color: var(--ak-text-soft);
    font-size: 0.9rem;
}

.sf-top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 2.6fr);
    gap: clamp(1.75rem, 4vw, 3.5rem);
}

footer.main-footer.site-footer .sf-logo {
    display: inline-block;
    font-family: 'Sora', 'Manrope', system-ui, sans-serif;
    font-weight: 800;
    font-size: 1.05rem;
    letter-spacing: 0.02em;
    color: var(--ak-text);
    text-decoration: none;
}

.sf-brand p {
    margin: 0.75rem 0 0.9rem;
    max-width: 32ch;
    line-height: 1.6;
    color: var(--ak-text-muted);
}

footer.main-footer.site-footer .sf-contact {
    color: var(--ak-text-soft);
    text-decoration: none;
    font-weight: 600;
}

.sf-columns {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
}

.sf-col h2 {
    margin: 0 0 0.85rem;
    font-family: 'Manrope', system-ui, sans-serif;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--ak-text-muted);
}

.sf-col ul,
.sf-legal {
    list-style: none;
    margin: 0;
    padding: 0;
}

.sf-col li + li {
    margin-top: 0.55rem;
}

.site-footer a {
    border: 0;
    padding: 0;
}

footer.main-footer.site-footer .sf-col a,
footer.main-footer.site-footer .sf-legal a {
    color: var(--ak-text-soft);
    text-decoration: none;
}

footer.main-footer.site-footer .sf-col a:hover,
footer.main-footer.site-footer .sf-legal a:hover,
footer.main-footer.site-footer .sf-contact:hover {
    color: var(--ak-brand);
}

.sf-disclaimer {
    margin: clamp(1.75rem, 4vw, 2.5rem) 0 0;
    padding-top: 1.25rem;
    border-top: 1px solid var(--ak-border);
    font-size: 0.8rem;
    line-height: 1.6;
    color: var(--ak-text-muted);
}

.sf-disclaimer strong {
    color: var(--ak-text-soft);
}

.sf-bottom {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 0.75rem 1.5rem;
    margin-top: 1rem;
    font-size: 0.8rem;
    color: var(--ak-text-muted);
}

.sf-legal {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1.25rem;
}

@media (max-width: 900px) {
    .sf-top {
        grid-template-columns: minmax(0, 1fr);
    }

    .sf-columns {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 1.75rem 1.25rem;
    }
}
