/* ── Footer shell ───────────────────────────────────────────────────────── */
footer {
    width: 100%;
    background: var(--navy);
    border-top: 1px solid var(--glass-border);
    display: flex;
    flex-direction: column;
}

/* ── Footer sections ────────────────────────────────────────────────────── */
footer > section {
    display: flex;
    flex-direction: column;
    min-height: auto;
    height: auto;
    background: transparent;
    padding: 1.5rem;
    border-bottom: 1px solid var(--border);
    scroll-snap-align: none;
    padding-bottom: 1.5rem;
}
footer > section:first-of-type {
    height: auto;
    min-height: auto;
}
footer > section:last-of-type {
    border-bottom: none;
}

/* Section heading */
footer > section > h2 {
    font-family: var(--font-heading);
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--blue);
    margin-bottom: 0.85rem;
    padding-bottom: 0.5rem;
    border-bottom: 1px solid var(--border);
    height: auto;
    text-align: left;
}

/* Section text */
footer > section > span {
    font-size: 0.85rem;
    color: rgba(255, 255, 255, 0.48);
    line-height: 1.65;
    height: auto;
    width: 100%;
    padding: 0;
}
footer > section > span a {
    color: var(--blue) !important;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.2s;
}
footer > section > span a:hover { color: #fff !important; }

/* Link list */
footer > section > .wrapper {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    height: auto;
    width: 100%;
    padding: 0;
}
footer > section > .wrapper > a {
    color: rgba(255, 255, 255, 0.48);
    text-transform: uppercase;
    font-weight: 700;
    font-size: 0.75rem;
    letter-spacing: 0.06em;
    text-decoration: none;
    padding: 0.2rem 0;
    transition: color 0.2s;
    width: auto;
    margin: 0;
}
footer > section > .wrapper > a:hover { color: #ffffff; }

/* ── Copyright bar ──────────────────────────────────────────────────────── */
footer > .copyright {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
    padding: 1.1rem 1.5rem;
    background: rgba(0, 0, 0, 0.25);
    min-height: auto;
    width: 100%;
    grid-row-start: unset;
    grid-column-start: unset;
    grid-column-end: unset;
    align-items: flex-start;
}
footer > .copyright > span {
    font-size: 0.72rem;
    color: rgba(255, 255, 255, 0.28);
    line-height: 1.5;
    width: 100%;
}

/* ── Desktop: 3-column row ──────────────────────────────────────────────── */
@media (min-width: 1024px) {
    footer {
        flex-direction: row;
        flex-wrap: wrap;
    }
    footer > section {
        flex: 1;
        border-bottom: none;
        border-right: 1px solid var(--border);
        padding: 2rem;
    }
    footer > section:last-of-type { border-right: none; }
    footer > .copyright {
        width: 100%;
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
    footer > .copyright > span { width: auto; }
}
