.srOnly{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0,0,0,0);
    white-space:nowrap;
    border:0;
}

.footer{
    color:#111;
    background:#fff;
    border-top:1px solid #e9e9e9;
}

.footerTop{
    border-bottom:1px solid #e9e9e9;
}

.footerTopInner{
    min-height:106px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:45px;
}

.footerNewsletter{
    display:flex;
    align-items:center;
    gap:26px;
}

.footerNewsletter > span{
    color:#111;
    font-size:10px;
    font-weight:600;
    letter-spacing:.18em;
    text-transform:uppercase;
    white-space:nowrap;
}

.footerNewsletterForm{
    width:min(390px, 42vw);
    height:44px;
    display:flex;
    border:1px solid #dcdcdc;
}

.footerNewsletterForm input{
    width:100%;
    min-width:0;
    padding:0 14px;
    color:#111;
    border:0;
    outline:0;
    background:#fff;
    font-size:13px;
}

.footerNewsletterForm input::placeholder{
    color:#8c8c8c;
}

.footerNewsletterForm button{
    width:46px;
    flex:0 0 46px;
    padding:0;
    color:#fff;
    border:0;
    background:#111;
    cursor:pointer;
    transition:background .25s ease;
}

.footerNewsletterForm button:hover{
    background:#444;
}

.footerNewsletterForm button i{
    font-size:13px;
}

.footerSocials{
    display:flex;
    align-items:center;
    gap:7px;
}

.footerSocials a{
    width:37px;
    height:37px;
    display:grid;
    place-items:center;
    color:#222;
    border-radius:50%;
    font-size:16px;
    text-decoration:none;
    transition:color .25s ease, background .25s ease;
}

.footerSocials a:hover{
    color:#fff;
    background:#111;
}

.footerMain{
    padding:73px 0 0;
}

.footerGrid{
    display:grid;
    grid-template-columns:1.35fr repeat(4, 1fr);
    gap:40px;
    padding-bottom:70px;
}

.footerBrand{
    max-width:270px;
}

.footerLogo{
    display:inline-block;
    margin-bottom:19px;
    color:#111;
    font-size:20px;
    font-weight:400;
    letter-spacing:5px;
    line-height:1.2;
    text-decoration:none;
    text-transform:uppercase;
}

.footerBrand p{
    margin:0 0 25px;
    color:#777;
    font-size:13px;
    line-height:1.75;
}

.footerColumn h3{
    margin:3px 0 20px;
    color:#111;
    font-size:10px;
    font-weight:600;
    letter-spacing:.18em;
    text-transform:uppercase;
}

.footerColumn a{
    display:block;
    width:max-content;
    max-width:100%;
    margin-bottom:12px;
    color:#747474;
    font-size:13px;
    line-height:1.45;
    text-decoration:none;
    transition:color .2s ease, transform .2s ease;
}

.footerColumn a:hover{
    color:#111;
    transform:translateX(4px);
}

.footerCurrency{
    position:relative;
    display:inline-flex;
}

.footerCurrency::after{
    position:absolute;
    top:50%;
    right:13px;
    width:6px;
    height:6px;
    content:"";
    border-right:1px solid #111;
    border-bottom:1px solid #111;
    pointer-events:none;
    transform:translateY(-65%) rotate(45deg);
}

.footerCurrency select{
    height:40px;
    padding:0 34px 0 13px;
    color:#111;
    border:1px solid #d9d9d9;
    border-radius:0;
    outline:0;
    appearance:none;
    -webkit-appearance:none;
    background:#fff;
    cursor:pointer;
    font-size:11px;
    font-weight:600;
    letter-spacing:.08em;
}

.footerBottom{
    min-height:72px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    color:#8a8a8a;
    border-top:1px solid #e9e9e9;
    font-size:11px;
    letter-spacing:.03em;
}

.footerBottomLinks{
    display:flex;
    align-items:center;
    gap:20px;
}

.footerBottom a{
    color:#777;
    text-decoration:none;
    transition:color .2s ease;
}

.footerBottom a:hover{
    color:#111;
}

#footerNewsletterForm{
    position:relative;
}

#footerNewsletterForm .footerNewsletterMessage{
    position:absolute;
    top:calc(100% + 12px);
    left:0;
    width:100%;
    margin:0;
    text-align:center;
    font-size:11px;
    letter-spacing:.04em;
}

#footerNewsletterForm .footerNewsletterMessage.isSuccess{
    color:#5f7863;
}

#footerNewsletterForm .footerNewsletterMessage.isError{
    color:#b54a4a;
}

@media(max-width:1050px){

    .footerGrid{
        grid-template-columns:1.4fr repeat(3, 1fr);
    }

    .footerBrand{
        grid-row:span 2;
    }

}

@media(max-width:760px){

    .footerTopInner{
        min-height:auto;
        flex-direction:column;
        align-items:flex-start;
        gap:24px;
        padding-top:30px;
        padding-bottom:30px;
    }

    .footerNewsletter{
        width:100%;
        flex-direction:column;
        align-items:flex-start;
        gap:13px;
    }

    .footerNewsletterForm{
        width:100%;
    }

    .footerSocials{
        width:100%;
        justify-content:flex-start;
    }

    .footerMain{
        padding-top:48px;
    }

    .footerGrid{
        grid-template-columns:repeat(2, minmax(0, 1fr));
        gap:42px 25px;
        padding-bottom:52px;
    }

    .footerBrand{
        grid-column:1 / -1;
        grid-row:auto;
        max-width:360px;
    }

}

@media(max-width:460px){

    .footerGrid{
        grid-template-columns:1fr 1fr;
        gap:34px 20px;
    }

    .footerLogo{
        font-size:18px;
        letter-spacing:4px;
    }

    .footerColumn a{
        font-size:12px;
    }

    .footerBottom{
        min-height:auto;
        flex-direction:column;
        align-items:flex-start;
        padding:22px 0;
    }
}