.footer {
    display: flex;
    flex-direction: column;

    .wrapper_footer_main {
        background: var(--dark-footer);
        padding: 40px 0;
        border: 1px solid var(--dark-blue);

        .footer__main {
            display: flex;
            justify-content: space-between;
            gap: 60px;

            @media (max-width: 992px) {
                flex-direction: column;
                gap: 40px;
            }

            .footer__agency {
                flex: 0.2;
                max-width: 200px;

                >p {
                    margin-top: 25px;
                    font-size: 14px;
                }

                * {
                    color: var(--white) !important;
                }
            }

            .footer__menu {
                display: flex;
                flex-wrap: wrap;
                flex: 0.8;

                @media (max-width: 768px) {
                    flex-direction: column;
                    gap: 20px;
                }

                .menu__footer {
                    width: 100%;
                    margin: 0;
                    padding: 0;
                    display: grid;
                    width: 100%;
                    gap: 20px 15px;
                    grid-template-columns: repeat(2, 1fr);

                    @media (min-width: 992px) {
                        grid-template-columns: repeat(4, 1fr);
                    }

                    li,
                    a {
                        color: var(--white) !important;
                        list-style: none !important;

                        &:before {
                            display: none !important;
                        }

                        &.adherer {
                            &>a {
                                padding: 7px 25px;
                                background: var(--red);
                                display: flex;
                                gap: 5px;
                                align-items: center;
                                position: relative;
                                width: fit-content;

                                &:after {
                                    content: url(../img/chevron_down.svg);
                                    display: inline-block;
                                    transform: rotate(-90deg);
                                    width: 8px;
                                    height: 15px;
                                    position: relative;
                                    transition: var(--transition);
                                    right: 0px;
                                }
                            }
                        }
                    }

                    li.current-page-ancestor,
                    li.current-menu-item {
                        >a {
                            color: var(--gold) !important;
                        }
                    }

                    li {
                        &:hover {
                            >a {
                                color: var(--gold) !important;
                            }
                        }
                    }

                    >li {
                        &:before {
                            display: none;
                        }

                        .sub-menu {
                            display: none !important;
                        }
                    }
                }
            }
        }

        .footer__last {
            width: 100%;
            margin-top: 30px;
            background: rgba(44, 52, 98, 0.24);
            border-radius: var(--border-radius);
            padding: 14px 32px;
            text-align: center;
            box-shadow: 0 4px 24px rgba(0, 0, 0, 0.16);

            p {
                color: var(--white) !important;
                margin: 0;
            }

            p,
            a {
                font-size: 12px;
            }
        }
    }

    .wrapper_footer_socials {
        background: var(--dark-blue);
        padding: 40px 0;

        h4 {
            color: var(--white) !important;
            margin: 0 !important;
        }

        &>.container {
            display: flex;
            justify-content: space-between;
            flex-direction: column;
            gap: 15px;

            @media (min-width: 768px) {
                flex-direction: row;
            }

            .socials_wrapper {
                display: flex;
                flex-direction: column;
                justify-content: space-between;
                max-height: fit-content;
                gap: 15px;
                align-items: start;
                text-align: left;

                @media (min-width: 768px) {
                    align-items: end;
                    text-align: right;
                }

                .socials__item {
                    &:has([data-social="mail"]) {
                        display: none !important;
                    }

                    a {
                        width: 30px;
                        height: 30px;
                    }
                }
            }
        }

        .gform-body {
            .ginput_container.ginput_container_email {
                height: 45px;
            }
        }

        .gform-footer {
            display: none !important;
        }

        .gform_confirmation_message {
            color: var(--white) !important;
        }
    }
}

/* ==== Modal newsletter (newsletter form moved out of footer) ==== */
.modal {
    position: fixed;
    inset: 0;
    z-index: 9999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}

.modal.is-open {
    display: flex;
}

.modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 53, 95, 0.7);
    cursor: pointer;
}

.modal__dialog {
    position: relative;
    background: var(--dark-blue);
    color: var(--white);
    border-radius: 18px;
    padding: 40px 40px 30px;
    max-width: 540px;
    width: 100%;
    max-height: calc(100vh - 60px);
    overflow-y: auto;
    z-index: 1;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4);
}

.modal__dialog h3 {
    margin: 0 0 20px;
    color: var(--white);
    font-size: 1.4rem;
}

.modal__dialog legend,
.modal__dialog label,
.modal__dialog .gfield_label,
.modal__dialog .gfield_consent_label,
.modal__dialog .gform_legacy_markup_wrapper legend,
.modal__dialog .gform_wrapper legend,
.modal__dialog .gform_wrapper label {
    color: var(--white) !important;
}

.modal__close {
    position: absolute;
    top: 10px;
    right: 14px;
    background: transparent;
    border: 0;
    color: var(--white);
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
    padding: 6px 10px;
    opacity: 0.85;
    transition: opacity 0.2s;
}

.modal__close:hover {
    opacity: 1;
}

body.modal-open {
    overflow: hidden;
}

.newsletter__open {
    margin-top: 10px;
    cursor: pointer;
    background: #e30613 !important;
    border: 0 !important;
    color: var(--white) !important;
}

.newsletter__open:hover {
    background: #b80510 !important;
}

