/* =========================================
   FOOTER
========================================= */

.footer {

    background: var(--surface-container-low);

    border-top: 1px solid rgba(255,255,255,0.06);
}


/* =========================================
   MAIN FOOTER
========================================= */

.footer-container {

    display: grid;

    grid-template-columns: 2fr 1fr 1fr 1fr;

    gap: 60px;

    padding-block: 100px;
}


/* =========================================
   BRAND
========================================= */

.footer-logo {

    display: inline-flex;

    align-items: center;

    gap: 2px;

    font-family: var(--font-heading);

    font-size: 1.6rem;

    font-weight: 800;

    letter-spacing: 0.15em;

    text-transform: uppercase;

    margin-bottom: 24px;
}


.footer-description {

    max-width: 380px;

    margin-bottom: 32px;
}


/* =========================================
   SOCIALS
========================================= */

.footer-socials {

    display: flex;

    align-items: center;

    gap: 16px;
}


.social-circle {

    width: 42px;

    height: 42px;

    display: flex;

    align-items: center;

    justify-content: center;

    border-radius: 999px;

    border: 1px solid rgba(255,255,255,0.12);

    font-size: 11px;

    font-weight: 700;

    letter-spacing: 0.1em;

    transition: var(--transition-medium);
}


.social-circle:hover {

    border-color: var(--brand-crimson);

    color: var(--brand-crimson);

    transform: translateY(-2px);
}


/* =========================================
   LINK COLUMNS
========================================= */

.footer-links-column {

    display: flex;

    flex-direction: column;

    gap: 16px;
}


.footer-links-column h4 {

    font-size: 12px;

    margin-bottom: 16px;

    color: var(--on-surface);

    letter-spacing: 0.15em;
}


.footer-links-column a,
.footer-links-column p {

    color: var(--on-surface-variant);

    font-size: 15px;

    transition: var(--transition-fast);
}


.footer-links-column a:hover {

    color: var(--on-surface);
}


/* =========================================
   FOOTER BOTTOM
========================================= */

.footer-bottom {

    border-top: 1px solid rgba(255,255,255,0.06);

    padding-block: 28px;
}


.footer-bottom-container {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 24px;
}


.footer-bottom p {

    font-size: 13px;

    letter-spacing: 0.08em;

    text-transform: uppercase;
}


.footer-bottom-links {

    display: flex;

    align-items: center;

    gap: 32px;
}


.footer-bottom-links a {

    font-size: 13px;

    color: var(--on-surface-variant);

    transition: var(--transition-fast);
}


.footer-bottom-links a:hover {

    color: var(--on-surface);
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 1024px) {

    .footer-container {

        grid-template-columns: 1fr;

        gap: 48px;

        padding-block: 72px;
    }

    .footer-bottom-container {

        flex-direction: column;

        align-items: flex-start;
    }

    .footer-bottom-links {

        flex-wrap: wrap;

        gap: 20px;
    }

}