/* ==========================================
   FOOTER
========================================== */

.footer {

    margin-top: 0;

    padding:
        var(--space-10)
        var(--space-10);

    border-top: 1px solid var(--separator);

}

.footer-container {

    max-width: var(--container-width);

    margin: 0 auto;

}


/* ==========================================
   DOWNLOAD
========================================== */

.footer-download {

    display: flex;
    flex-direction: column;
    align-items: center;

    margin-bottom: 75px;

    user-select: none;

}

.footer-heading {

    margin-bottom: var(--space-6);

}

.store-buttons {

    display: flex;

    gap: var(--space-4);

}

.store-button {

    display: inline-flex;

    transition: opacity .2s ease;

}

.store-button img {

    display: block;

    height: 52px;

}



/* ==========================================
   LINKS
========================================== */

.footer-links {

    display: grid;

    grid-template-columns: repeat(4, 1fr);

    gap: var(--space-10);

    width: 100%;

    margin-bottom: 75px;

    user-select: none;

}

.footer-column {

    display: flex;

    flex-direction: column;

    gap: var(--space-3);

}

.footer-column-title {

    margin-bottom: var(--space-2);

    color: var(--text);

}

.footer-link {

    color: var(--text-60);

    transition: color .2s ease;

}


/* ==========================================
   FOOTER BOTTOM
========================================== */

.footer-bottom {

    display: grid;

    grid-template-columns: 1fr auto 1fr;

    align-items: center;

    margin-top: var(--space-8);

}

.footer-meta {

    justify-self: end;

    display: flex;

    align-items: center;

    gap: 20px;

}


/* ==========================================
   SOCIAL
========================================== */

.footer-social {

    display: flex;

    align-items: center;

    gap: var(--space-6);

}

.social-link {

    display: flex;

    align-items: center;
    justify-content: center;

    color: var(--text);

    transition: color .2s ease;

}

.social-link svg {

    width: 22px;
    height: 22px;

    fill: currentColor;

}


/* ==========================================
   BRAND
========================================== */

.footer-brand-link {

    display: inline-flex;

    align-items: center;

    justify-self: center;

    gap: var(--space-2);

    text-decoration: none;

    color: inherit;

    user-select: none;

}

.footer-logo {

    width: 28px;
    height: 28px;

    display: block;

}

.footer-brand-link .brand-name {

    font-family: var(--font-title);

    font-size: 20px;
    font-weight: 600;

    color: var(--text);

}


/* ==========================================
   COPYRIGHT
========================================== */

.footer-copyright {

    justify-self: end;

    text-align: right;

    color: var(--text-60);

}

/* ==========================================
   LANGUAGE
========================================== */

.footer-language{
    position:relative;
}

.language-selector{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;

    min-width:160px;
    height:46px;

    padding:0 14px;

    border:1px solid transparent;
    border-radius:8px;

    background:var(--component-1);
    color:var(--color-text-primary);

    cursor:pointer;

    transition:.2s;

    user-select: none;
}

.language-selector.open{
    border-color:var(--active-color);
    box-shadow:0 0 0 3px rgb(from var(--color-accent) r g b / 15%);
}

.language-chevron{
    width:18px;
    height:18px;
    transition:.2s;
}

.language-selector.open .language-chevron{
    transform:rotate(180deg);
}

.language-menu{

    position:absolute;
    bottom:calc(100% + 8px);
    right:0;

    width:100%;

    display:flex;
    flex-direction:column;

    background:var(--component-1);

    border:1px solid var(--active-color);

    border-radius:12px;

    overflow:hidden;

    opacity:0;
    visibility:hidden;

    transform:translateY(8px);

    transition:.18s;
}

.language-menu.open{

    opacity:1;
    visibility:visible;
    transform:translateY(0);

}

.language-menu button{

    height:44px;

    padding:0 14px;

    background:none;
    border:none;

    color:inherit;

    text-align:left;

    cursor:pointer;

}