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


.footer {

    background: #111318;

    color: #fff;

    padding: 90px 0 30px;

    position: relative;

}


.footer::before {

    content: "";

    position: absolute;

    top: 0;

    left: 0;

    width: 100%;

    height: 2px;

    background: linear-gradient(90deg,
            transparent,
            var(--primary),
            transparent);

}



.footer-grid {

    display: grid;

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

    gap: 50px;

}



/* BRAND */


.footer-logo {

    display: flex;

    align-items: center;

    gap: 15px;

    margin-bottom: 25px;

}


.footer-logo img {

    width: 65px;

    height: 65px;

    border-radius: 50%;

    object-fit: cover;

}


.footer-logo h2 {

    font-family: "Cormorant Garamond", serif;

    font-size: 2rem;

}


.footer-logo span {

    color: var(--primary);

    letter-spacing: 4px;

    font-size: .7rem;

}



.footer-brand p {

    color: rgba(255, 255, 255, .65);

    line-height: 1.9;

    max-width: 350px;

}



/* SOCIAL */

.footer-socials {

    display: flex;

    gap: 14px;

    margin-top: 30px;

}


.footer-socials a {

    width: 42px;

    height: 42px;

    border-radius: 50%;

    display: flex;

    align-items: center;

    justify-content: center;

    background: rgba(255, 255, 255, .08);

    color: #fff;

    transition: .35s ease;

    font-size: 1rem;

}


.footer-socials a:hover {

    background: var(--primary);

    color: #fff;

    transform: translateY(-5px);

}


.footer-socials a:hover {

    color: var(--primary);

}



/* COLUMNS */


.footer-column {

    display: flex;

    flex-direction: column;

    gap: 15px;

}



.footer-column h3 {

    font-family: "Cormorant Garamond", serif;

    font-size: 1.5rem;

    margin-bottom: 15px;

    color: #fff;

}



.footer-column a,

.footer-column p {

    color: rgba(255, 255, 255, .65);

    transition: .3s;

    line-height: 1.8;

}



.footer-column a:hover {

    color: var(--primary);

}




/* BOTTOM */


.footer-bottom {

    margin-top: 70px;

    padding-top: 25px;

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

    display: flex;

    justify-content: space-between;

    color: rgba(255, 255, 255, .5);

}



.footer-bottom div {

    display: flex;

    gap: 25px;

}


.footer-bottom a:hover {

    color: var(--primary);

}



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

@media (max-width:700px) {

    .footer {

        padding: 70px 0 25px;

    }

    .footer-grid {

        grid-template-columns: 1fr;

        gap: 40px;

        text-align: center;

    }

    /* Brand */

    .footer-logo {

        justify-content: center;

        margin-bottom: 18px;

    }

    .footer-logo img {

        width: 58px;
        height: 58px;

    }

    .footer-logo h2 {

        font-size: 1.7rem;

    }

    .footer-logo span {

        font-size: .65rem;
        letter-spacing: 3px;

    }

    .footer-brand p {

        max-width: 100%;
        font-size: .92rem;
        line-height: 1.8;
        margin: auto;

    }

    .footer-socials {

        justify-content: center;

        margin-top: 22px;

        gap: 12px;

    }

    .footer-socials a {

        width: 40px;
        height: 40px;
        font-size: .95rem;

    }

    /* Columns */

    .footer-column {

        gap: 12px;

    }

    .footer-column h3 {

        font-size: 1.45rem;

        margin-bottom: 8px;

    }

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

        font-size: .92rem;

        line-height: 1.8;

    }

    /* Bottom */

    .footer-bottom {

        margin-top: 45px;

        padding-top: 20px;

        flex-direction: column;

        align-items: center;

        text-align: center;

        gap: 14px;

        font-size: .85rem;

    }

    .footer-bottom div {

        flex-wrap: wrap;

        justify-content: center;

        gap: 18px;

    }

}