.v2-footer,
.v2-footer * {
    box-sizing: border-box;
}

.v2-footer {
    width: 100%;
    margin: 0;
    padding: 24px 120px;
    overflow: clip;
    background: #202124;
    color: rgba(247, 248, 250, 0.8);
    font-family: "Inter", Arial, sans-serif;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
}

.v2-footer__inner {
    display: flex;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    flex-direction: column;
    gap: 62px;
}

.v2-footer__content {
    display: grid;
    width: 100%;
    min-width: 0;
    grid-template-columns: minmax(280px, 2.2fr) minmax(110px, 0.65fr) minmax(100px, 0.65fr) minmax(220px, 1.35fr);
    grid-template-areas: "company about blog contacts";
    align-items: stretch;
    gap: 32px;
}

.v2-footer__company {
    grid-area: company;
}

.v2-footer__contacts {
    grid-area: contacts;
}

.v2-footer__nav--about {
    grid-area: about;
}

.v2-footer__nav--blog {
    grid-area: blog;
}

.v2-footer__company,
.v2-footer__contacts {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: space-between;
}

.v2-footer__company-name,
.v2-footer__legal,
.v2-footer__details,
.v2-footer__group-title,
.v2-footer__contact-list,
.v2-footer__copyright {
    margin: 0;
}

.v2-footer__company-name,
.v2-footer__group-title,
.v2-footer__nav-link--heading {
    color: #f7f8fa;
    font-weight: 600;
}

.v2-footer__company-name,
.v2-footer__legal,
.v2-footer__details,
.v2-footer__contact-link,
.v2-footer__nav-link,
.v2-footer__policy-link {
    overflow-wrap: anywhere;
    word-break: normal;
}

.v2-footer__legal {
    display: flex;
    flex-direction: column;
}

.v2-footer__details {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
    color: inherit;
    font-style: normal;
}

.v2-footer__detail,
.v2-footer__contact-link {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    gap: 8px;
}

.v2-footer__detail > span,
.v2-footer__contact-link > span {
    min-width: 0;
}

.v2-footer__detail:last-child {
    max-width: 327px;
}

.v2-footer__icon {
    width: 20px;
    height: 20px;
    max-width: none;
    flex: 0 0 20px;
}

.v2-footer__nav {
    min-width: 0;
}

.v2-footer__nav--about {
    align-self: start;
}

.v2-footer__nav-list {
    display: flex;
    margin: 0;
    padding: 0;
    flex-direction: column;
    gap: 4px;
    list-style: none;
}

.v2-footer__nav-link,
.v2-footer__contact-link {
    color: #f7f8fa;
    text-decoration: none;
}

.v2-footer__nav-link:hover,
.v2-footer__contact-link:hover {
    color: #fff;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.v2-footer__nav-link:focus-visible,
.v2-footer__contact-link:focus-visible,
.v2-footer__policy-link:focus-visible {
    border-radius: 2px;
    outline: 3px solid #68a8ff;
    outline-offset: 3px;
}

.v2-footer__contacts {
    gap: 8px;
}

.v2-footer__contact-group {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
}

.v2-footer__group-title {
    font-size: 14px;
    line-height: 1.4;
}

.v2-footer__contact-list {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 4px;
}

.v2-footer__contact-link {
    color: rgba(247, 248, 250, 0.8);
}

.v2-footer__bottom {
    display: flex;
    width: 100%;
    min-width: 0;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
}

.v2-footer__policies {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
}

.v2-footer__policy-link {
    min-height: 22px;
    display: inline-flex;
    padding: 0 0 0.5px;
    border: 0;
    align-items: flex-start;
    appearance: none;
    background: transparent;
    color: rgba(247, 248, 250, 0.8);
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    font-weight: 400;
    line-height: 1.4;
    text-align: left;
    text-decoration: underline;
    text-decoration-skip-ink: none;
    text-underline-offset: 2px;
}

.v2-footer__cookie-settings {
    color: rgba(247, 248, 250, 0.8);
}

.v2-footer__policy-link:hover {
    color: #fff;
}

@media (max-width: 1023px) {
    .v2-footer {
        padding-right: 32px;
        padding-left: 32px;
    }

    .v2-footer__content {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-areas:
            "company contacts"
            "about blog";
        gap: 32px;
    }

    .v2-footer__nav--about {
        align-self: start;
    }

    .v2-footer__bottom,
    .v2-footer__policies {
        align-items: flex-start;
    }

    .v2-footer__bottom {
        flex-direction: column-reverse;
    }

    .v2-footer__policies {
        flex-wrap: wrap;
        justify-content: flex-start;
    }
}

@media (max-width: 600px) {
    .v2-footer {
        padding: 34px 16px;
    }

    .v2-footer__inner {
        gap: 40px;
    }

    .v2-footer__content {
        display: flex;
        padding-bottom: 2px;
        flex-direction: column;
        gap: 23px;
    }

    .v2-footer__company {
        gap: 1px;
        margin-bottom: 2px;
    }

    .v2-footer__contacts {
        gap: 24px;
    }

    .v2-footer__nav--about {
        margin-bottom: 2px;
    }

    .v2-footer__details {
        width: 100%;
    }

    .v2-footer__detail:last-child {
        width: min(327px, 100%);
    }

    .v2-footer__bottom {
        gap: 14px;
    }

    .v2-footer__policies {
        flex-direction: column;
        gap: 14px;
    }

}
