/* Page footer — utilities not duplicated in primary nav. */

.app-footer {
    position: relative;
    flex-shrink: 0;
    margin-top: 28px;
    padding: 12px 18px 14px;
    background: linear-gradient(
        180deg,
        rgba(30, 41, 59, 0.45) 0%,
        rgba(20, 28, 42, 0.72) 100%
    );
    border-top: 1px solid var(--border-color);
}

.app-footer::before {
    display: none;
}

.footer-bar {
    position: relative;
    z-index: 1;
    max-width: 1400px;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 18px;
}

.footer-copy {
    margin: 0;
    font-size: 0.875rem;
    color: var(--text-secondary);
}

.footer-extras {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 4px 6px;
    flex: 1 1 auto;
    min-width: min(100%, 14rem);
}

.footer-extras a,
.footer-extras .footer-link-action {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--text-secondary);
    text-decoration: none;
    padding: 4px 10px;
    border-radius: 6px;
    transition: color 0.15s ease, background 0.15s ease;
    white-space: nowrap;
}

.footer-extras a:hover,
.footer-extras a[aria-current="page"] {
    color: var(--primary-color);
    background: rgba(96, 165, 250, 0.08);
}

.footer-extras .footer-link-action {
    font-family: inherit;
    cursor: pointer;
    border: none;
    background: none;
    appearance: none;
    -webkit-appearance: none;
    margin: 0;
}

.footer-extras .footer-link-action:hover {
    color: var(--primary-color);
    background: rgba(96, 165, 250, 0.08);
}

.footer-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    font-size: 0.875rem;
    color: var(--text-secondary);
}

@media (max-width: 640px) {
    .footer-bar {
        flex-direction: column;
        align-items: stretch;
        text-align: center;
    }

    .footer-extras {
        justify-content: center;
    }

    .footer-meta {
        justify-content: center;
    }
}
