/* Footer */

.site-footer {

    position: relative;
    padding: 56px 0 40px;
    border-top: 1px solid rgba(214, 180, 106, 0.10);
    background: rgba(5, 5, 5, 0.45);
}

.footer-container {

    width: min(100% - 2 * var(--container-padding), var(--container-width-wide));
    display: grid;
    gap: 36px;
}

.footer-top {

    display: grid;
    grid-template-columns: minmax(0, 1.2fr) auto minmax(0, 1fr);
    grid-template-areas:
        "brand brand brand"
        "tagline nav status";
    align-items: end;
    gap: 14px 48px;
}

.footer-brand {

    grid-area: brand;
    justify-self: center;
    display: inline-flex;
    align-items: baseline;
    width: fit-content;
    font-family: var(--font-display);
    font-size: 1.45rem;
    font-weight: 800;
    letter-spacing: -0.04em;
    text-decoration: none;
    transition: filter var(--transition-normal);
}

.footer-brand:hover {
    filter:
        drop-shadow(0 0 10px rgba(194, 59, 59, 0.35))
        drop-shadow(0 0 18px rgba(214, 180, 106, 0.28));
}

.footer-tagline {

    grid-area: tagline;
    margin: 0;
    max-width: 280px;
    color: var(--color-text-secondary);
    font-size: 0.95rem;
    line-height: 1.6;
}

.footer-nav {

    grid-area: nav;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 4px 28px;
    padding-top: 2px;
}

.footer-nav-link {

    position: relative;
    display: inline-block;
    padding-block: 10px;
    color: var(--color-text-secondary);
    font-size: 0.95rem;
    font-weight: 600;
    text-decoration: none;
    transition: color var(--transition-fast);
}

.footer-nav-link::after {

    content: "";
    position: absolute;
    left: 0;
    bottom: 4px;
    width: 100%;
    height: 2px;
    background: linear-gradient(
        90deg,
        var(--color-gold-dark),
        var(--color-gold-light)
    );
    transform: scaleX(0);
    transform-origin: right;
    transition: transform var(--transition-normal);
}

.footer-nav-link:hover {
    color: var(--color-text-primary);
}

.footer-nav-link:hover::after {
    transform: scaleX(1);
    transform-origin: left;
}

.footer-status {

    grid-area: status;
    justify-self: end;
    align-self: end;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    color: var(--color-text-muted);
    font-size: 0.82rem;
    letter-spacing: 0.02em;
}

.footer-status-dot {

    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: #3ecf8e;
    box-shadow: 0 0 0 4px rgba(62, 207, 142, 0.12);
}

.footer-bottom {

    display: grid;
    gap: 18px;
    justify-items: center;
    text-align: center;
}

.footer-line {

    width: 100%;
    height: 1px;
    border-radius: 999px;
    background: linear-gradient(
        90deg,
        var(--color-brand-red) 0%,
        #d47a4a 38%,
        var(--color-gold) 72%,
        var(--color-gold-light) 100%
    );
    opacity: 0.85;
}

.footer-copy {

    color: var(--color-text-muted);
    font-size: 0.82rem;
    letter-spacing: 0.02em;
}

.legal-footer-links {

    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 24px;
}

.legal-footer-links a {

    color: var(--color-text-muted);
    font-size: 0.85rem;
    font-weight: 700;
    text-decoration: none;
    transition: color var(--transition-fast);
}

.legal-footer-links a:hover,
.legal-footer-links a[aria-current="page"] {

    color: var(--color-gold-light);
}

@media (max-width: 900px) {

    .footer-top {
        grid-template-columns: 1fr;
        grid-template-areas:
            "brand"
            "tagline"
            "nav"
            "status";
        align-items: center;
        justify-items: center;
        gap: 20px;
        text-align: center;
    }

    .footer-brand {
        justify-self: center;
    }

    .footer-tagline {
        max-width: 280px;
    }

    .footer-nav {
        justify-content: center;
        padding-top: 0;
    }

    .footer-status {
        justify-self: center;
        align-self: center;
    }
}

@media (max-width: 600px) {

    .site-footer {
        padding: 44px 0 32px;
    }

    .footer-nav {
        gap: 4px 20px;
    }
}
