.footer {
    display: flex;
    flex-direction: column;
    gap: var(--ast-space-3xl);
    padding-top: var(--ast-layout-section-spacious);
}

.footer-newsletter .container {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: var(--ast-gap-xs);
    padding: var(--ast-padding-card-2xl) var(--ast-padding-card-xl);
    border-radius: var(--ast-radius-m);
    background: var(--ast-color-bg-subtle);
}

.newsletter-info-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--ast-space-m);
    grid-column-end: span 6;
}

.newsletter-title {
    font-size: var(--ast-typography-size-heading-xl);
    line-height: var(--ast-typography-line-heading-xl);
    letter-spacing: -1rem;
    color: var(--ast-color-text-primary);
}

.newsletter-text {
    font-size: var(--ast-typography-size-body-m);
    line-height: var(--ast-typography-line-body-m);
    color: var(--ast-color-text-tertiary);
}

.newsletter-form-block {
    grid-column-end: span 6;
}

.subscribe-form {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--ast-space-l);
}

.subscribe-form .ip_cell {
    width: 100%;
    margin-bottom: 0;
}

.subscribe-form-input {
    display: flex;
    align-items: flex-start;
    gap: var(--ast-space-s);
    align-self: stretch;
}

.subscribe-form .checkboxes {
    max-width: 386rem;
    width: 100%;
}

.footer-menu-section .container {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: var(--ast-gap-xl) var(--ast-gap-xs);
}

.footer-contacts-block {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--ast-space-s);
    grid-column-end: span 6;
}

.footer-column-title {
    font-size: var(--ast-typography-size-label-m);
    line-height: var(--ast-typography-line-label-m);
    color: var(--ast-color-text-muted);
}

.footer-contacts-column {
    display: flex;
    flex-direction: column;
    gap: var(--ast-space-l);
}

.footer-contact-mail {
    font-size: var(--ast-typography-size-heading-l);
    line-height: var(--ast-typography-line-heading-l);
    letter-spacing: -0.64rem;
    color: var(--ast-color-text-primary);
    text-decoration: none;
}

.socs_box2 {
    display: flex;
    align-items: flex-start;
    gap: var(--ast-space-xs);
    align-self: stretch;
}

.socs_box2 .soc-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40rem;
    height: 40rem;
    aspect-ratio: 1/1;
    border-radius: var(--ast-radius-full);
    overflow: hidden;
}

.footer-menu-block {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 32rem var(--ast-gap-xs);
    grid-column-end: span 6;
}

.footer-menu-column {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
    gap: var(--ast-space-s);
    padding: 0 var(--ast-padding-card-s) 0 0;
    list-style: none;
    grid-column-end: span 4;
}

.footer-menu-column a {
    font-size: var(--ast-typography-size-label-l);
    line-height: var(--ast-typography-line-label-l);
    text-decoration: none;
}

.footer-legal {
    padding-bottom: var(--ast-padding-card-l);
}

.footer-legal .container {
    border-top: var(--ast-border-width-thin) solid var(--ast-color-border-subtle);
}

.footer-cookie {
    margin: 20rem 0;
    padding: 20rem var(--ast-padding-card-m);
    border-radius: var(--ast-radius-xs);
    background: var(--ast-color-bg-subtle);
    border-radius: var(--ast-radius-xs);
    font-size: var(--ast-typography-size-body-s);
    line-height: var(--ast-typography-line-body-s);
    color: var(--ast-color-text-muted);
}

.footer-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: var(--ast-gap-s);
    font-size: var(--ast-typography-size-label-m);
    line-height: var(--ast-typography-line-label-m);
    color: var(--ast-color-text-tertiary);
}

.footer-legal-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--ast-gap-s);
    margin-left: auto;
}

.footer-legal-link {
    font-size: var(--ast-typography-size-label-m);
    line-height: var(--ast-typography-line-label-m);
    color: var(--ast-color-text-tertiary);
    text-decoration: none;
}

@media (max-width: 1024px) {
    footer {
        padding-left: var(--ast-layout-gutter);
        padding-right: var(--ast-layout-gutter);
    }

    .footer-menu-column {
        grid-column-end: span 6;
    }

    .footer-menu-column:last-child {
        grid-column-end: span 12;
    }
}

@media (max-width: 640px) {
    .footer-newsletter {
        padding-left: 0;
        padding-right: 0;
    }

    .footer-newsletter .container {
        padding: var(--ast-layout-section-compact) var(--ast-layout-gutter);
    }

    .newsletter-info-block,
    .newsletter-form-block {
        grid-column-end: span 12;
    }

    .subscribe-form-input {
        flex-direction: column;
    }

    .subscribe-form-input .button {
        width: 100%;
    }

    .footer-contacts-block,
    .footer-menu-block,
    .footer-menu-column {
        grid-column-end: span 12;
    }

    .footer-menu-block {
        gap: var(--ast-gap-xl);;
    }

    .footer-menu-column {
        padding-right: 0;
    }

    .footer-legal {
        padding-bottom: var(--ast-layout-section-compact);
    }

    .footer-row {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--ast-gap-l);
    }

    .footer-legal-links {
        flex-direction: column;
        align-items: flex-start;
        gap: 8rem;
        margin-left: 0;
        order: -1;
    }
}