footer {
    clear: both;
    background: var(--footer-background-color);
}

body:not(.single-product) footer .blocks section:first-of-type {
    border-top: solid 1px var(--border-color);
}

/* USP Section */

footer .block-usp {
    padding: 40px 0;
    border-bottom: solid 1px var(--border-color);
}

/* Footer Top & Bottom */

footer section.footer-top {
    padding: 40px 0;
    border-bottom: solid 1px var(--border-color);
}

footer section.footer-bottom {
    padding: 40px 0;
}

footer section.footer-top .footer-top-inner {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 40px;
}

footer .footer-title {
    font-weight: 700;
    margin-bottom: 15px;
    font-size: 18px;
}

footer ul.footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
    line-height: 1.6;
}

footer ul.footer-menu li a {
    text-decoration: none;
    color: var(--text-color);
    border-bottom: solid 1px transparent;
    transition: .1s all;
}

footer ul.footer-menu li a:hover {
    color: var(--black-color);
    border-color: var(--black-color);
}

footer .footer-bottom-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}

footer .footer-bottom-column {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 40px;
}

footer .footer-bottom-column .payments svg {
    max-width: 280px;
    width: 100%;
}

footer .footer-bottom-column .additionals {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
}

footer .footer-bottom-column .additionals a {
    display: flex;
}

footer .footer-bottom-column .additionals img {
    object-fit: contain;
}

footer .footer-bottom-column .additionals a img {
    width: 100px;
}

footer .footer-bottom-column .additionals a.findsmiley img {
    width: 35px;
}

footer .footer-bottom-column:last-of-type {
    justify-content: flex-end;
}

.footer-column a {
    text-decoration: none;
    color: var(--black-color);
}

@media (max-width:1100px) {
    footer section.footer-top .footer-top-inner {
        grid-template-columns: repeat(2, 1fr);
    }

    footer .additionals>img {
        max-width: 280px;
    }

    footer .additionals a img {
        max-width: 100px;
    }

    footer .additionals a:nth-child(2) img {
        max-width: 35px;
    }
}

@media (max-width:1024px) {
    footer .footer-bottom-inner {
        flex-direction: column-reverse;
        justify-content: center;
        align-items: center;
        gap: 40px;
    }
}

@media (max-width:768px) {
    footer section.footer-top .footer-top-inner {
        grid-template-columns: repeat(1, 1fr);
    }

    footer .footer-bottom-column {
        font-size: 14px;
        flex-direction: column;
    }

    footer .container {
        padding: 0 20px;
    }

    footer .footer-bottom-column .additionals {
        justify-content: center;
    }
}