.gray-block{
    display: flex;
    /* mobile defaults use CSS variables set inline on the wrapper */
    margin-top: var(--sb-mt-mobile, 0);
    margin-bottom: var(--sb-mb-mobile, 0);
    padding: 4rem 6vw;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
    transition: height .4s ease, margin .4s ease, padding .4s ease;
    & .btn-cta{
        &::before{
            opacity: 0;
            transition: opacity 500ms ease 500ms, transform 500ms ease, height 500ms ease;
        }
        &.is-revealed{
            &::before{
                opacity: 1;
            }
            overflow: visible!important;
        }
    }
    & .gray-block__form{
        & .btn-cta{
            &::before{
                opacity: 1;
            }
        }      
    }
}
@media (min-width: 768px) {
    .gray-block {
        /* desktop defaults use CSS variables set inline on the wrapper */
        margin-top: var(--sb-mt-desktop, 0);
        margin-bottom: var(--sb-mb-desktop, 0);
    }
}
.gray-block.has-bkg::after{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(31, 31, 31, 0.7);
    z-index: 0;
    border-radius: 20px;
}
.gray-block__inner{
    display: flex;
    flex-direction: column;
    gap: 4rem;
    width: 100%;
}
.gray-block.has-bkg .gray-block__inner{
    position: relative;
    z-index: 1;
    color: var(--wp--preset--color--blanc);
}
.gray-block.has-bkg .gray-block__inner *{
    color: var(--wp--preset--color--blanc);
}
.gray-block__head{
    display: flex;
    width: 100%;
    justify-content: space-between;
    align-items: center;
    padding-bottom: 2rem;
}
@media (max-width: 576px) {
    .gray-block__head{
        flex-direction: column;
        align-items: flex-start;
        gap: 2rem;
    }
}
.gray-block__head .btn-cta{
    margin-top: auto;
}
.gray-block__head h2{
    margin: 0;
}
.gray-block__news-list ul{
    display: flex;
    width: 100%;
    justify-content: space-between;
}
@media (max-width: 576px) {
    .gray-block__news-list ul{
        flex-direction: column;
        gap: 1rem;
    }
}
.news-item{
    width: 32%;
    display: flex;
    flex-direction: column;
}
@media (max-width: 576px) {
    .news-item{
        width: 100%;
    }
}
.news-item img{
    width: 100%;
    height: 220px;
    object-fit: cover;
}
@media (min-width: 1800px) {
    .news-item img{
        height: 320px;
    }
}
.news-item h4{
    margin: 0;
    text-overflow: ellipsis;
    overflow: hidden;
    white-space: nowrap;
    font-weight: 600;
    font-size: var(--wp--preset--font-size--m-text);
    text-transform: uppercase;
}
.news-item-date{
    font-size: var(--wp--preset--font-size--s-text);
    margin: 0.5rem 0;
    font-family: "Lexend_Tera", sans-serif;
}
.gray-block__form{
    display: flex;
    width: 100%;
}
@media (max-width: 840px) {
    .gray-block__form{
        flex-direction: column;
        gap: 2rem;
    }
}
.gray-block__form-meta, .gray-block__form-embed{
    display: flex;
    flex-direction: column;
    width: 50%;
    & .btn-cta::before{
        background-color: var(--wp--preset--color--blanc);
    }
}
@media (max-width: 840px) {
    .gray-block__form-meta, .gray-block__form-embed{
        width: 100%;
    }
}
& .gray-block__form-embed{
    display: flex;
    flex-direction: column;
    & .wpcf7{
        display: flex;
        flex-direction: column;
        width: 100%;
        & form{
            display: flex;
            flex-direction: column;
            width: 100%;
            & .contact-form{
                display: flex;
                flex-direction: column;
                width: 100%;
                gap: 2rem;
                & .contact-wrapper, & .textarea-container{
                    display: flex;
                    width: 100%;
                    padding: 0;
                    justify-content: space-between;
                    & p{
                        display: flex;
                        width: 48%;
                        margin: 0.5rem 0;
                        & span{
                            display: flex;
                            flex-direction: column;
                            width: 100%;
                            & input{
                                display: flex;
                                width: 100%;
                                border: 0;
                                border-bottom: 1px solid var(--wp--preset--color--noir);
                                background: var(--wp--preset--color--background);
                                padding: 15px 0px 15px 0px;
                                &.wpcf7-not-valid{
                                    border-bottom: 1px solid red;
                                }
                            }
                            & textarea{
                                display: flex;
                                width: 100%;
                                border: 0;
                                border-bottom: 1px solid var(--wp--preset--color--noir);
                                background: var(--wp--preset--color--background);
                                padding: 0px 0px 15px 0px;
                                height: 150px;
                            }
                        }
                    }
                    &.one-input{
                        & p{
                            width: 100%;
                        }
                    }
                    &.files-upload{
                        & p{
                            width: 100%;
                            gap: 0.5rem;
                        }
                    }
                    &.wrapper-select{
                        flex-direction: column;
                        border-bottom: 0.5px solid var(--wp--preset--color--blanc);
                        & p{
                            display: flex;
                            width: 100%;
                            &:first-child{
                                font-size: var(--wp--preset--font-size--xl-text);
                                justify-content: space-between;
                                align-items: center;
                                & span{
                                    width: 30px!important;
                                    height: 30px;
                                    background: url(../../../assets/svg/qa.svg) no-repeat center center;
                                    filter: invert(1);
                                }
                            }
                            &:hover{
                                cursor: pointer;
                            }
                        }
                        & .wpcf7-form-control-wrap{
                            opacity: 0;
                            position: absolute;
                            pointer-events: none;
                        }
                        & .form-select{
                        display: grid;
                        grid-template-rows: 0fr;
                        transition: grid-template-rows ease .3s;
                        padding: 0;
                        border: none;
                        border-radius: 0;
                            & ul{
                                overflow: hidden;
                                transition: max-height ease .3s;
                                max-height: 0;
                            }
                        }
                        &.active .form-select{
                            grid-template-rows: 1fr;
                        }
                        &.active .form-select ul{
                            max-height: 200px;
                        }
                    }
                }
                & .textarea-container{
                    & p{
                        width: 100%
                    };
                }
                & p {
                    & span{
                        & span.checkbox{
                            display: flex;
                            width: 100%;
                            & .wpcf7-list-item {
                                display: flex;
                                align-items: center;
                                margin: 0;
                                gap: 1rem;
                                user-select: none;
                                position: relative;
                                & input{
                                    position: absolute;
                                    opacity: 0;
                                    /* pointer-events: none; */
                                    left: 0;
                                    z-index: 2;
                                    &:hover{
                                        cursor: pointer;
                                    }
                                }
                                & .checkmark {
                                    width: 12px;
                                    height: 12px;
                                    border: 0.5px solid var(--wp--preset--color--noir);
                                    display: inline-block;
                                    transition: all 0.2s ease;
                                    background-color: transparent;
                                }
                                & input[type="checkbox"]:checked + .checkmark {
                                    background-color: #007bff;
                                    border-color: #007bff;
                                }

                                & .wpcf7-list-item-label{
                                    font-size: var(--wp--preset--font-size--s-title);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
    & p{
        & .contact-form-btn{
            display: flex;
            padding: 0;
            align-items: center;
            color: var(--wp--preset--color--noir);
            width: fit-content;
            font-weight: 500; 
            text-transform: uppercase;
            border: none;
            font-size: var(--wp--preset--font-size--s-title);
            font-family: "Lexend_Tera", sans-serif;
            background-color: transparent;
            transition: font-weight 0.3s ease;
            &:hover{
                cursor: pointer;
                font-weight: 800;
            }
        }
    }
}
.gray-block.has-bkg .gray-block__form-embed {
    &.transparent {
        opacity: 0;
    }
    & .wpcf7{
        & form{
            & .contact-form{
                & .contact-wrapper, & .textarea-container{
                    & p{
                        color: var(--wp--preset--color--blanc);
                        & span{
                            display: flex;
                            flex-direction: column;
                            width: 100%;
                            & input{
                                border-bottom: 0.5px solid var(--wp--preset--color--blanc);
                                background: transparent;
                                &::placeholder{
                                    color: var(--wp--preset--color--blanc);
                                }
                                &.wpcf7-not-valid{
                                    border: 0.5px solid red;
                                }
                            }
                            & textarea{
                                border-bottom: 0.5px solid var(--wp--preset--color--blanc);
                                background: transparent;
                                &::placeholder{
                                    color: var(--wp--preset--color--blanc);
                                }
                                &.wpcf7-not-valid{
                                    border: 0.5px solid red;
                                }
                            }
                        }
                    }
                    &.one-input{
                        & p{
                            width: 100%;
                        }
                    }
                    &.files-upload{
                        display: flex;
                        & p{
                            width: 100%;
                            justify-content: space-between;
                            & span{
                                display: flex;
                                width: 48%;
                                position: relative;
                                & input{
                                    opacity: 0;
                                    position: absolute;
                                    left: 0;
                                    top: 0;
                                    width: 100%;
                                    height: 100%;
                                    cursor: pointer;
                                    z-index: 1;
                                    padding: 0;
                                }
                                &.upload-file-btn{
                                    display: flex;
                                    width: 100%;
                                }
                                &.wpcf7-form-control-wrap{
                                    border-bottom: 0.5px solid var(--wp--preset--color--blanc);
                                    font-size: var(--wp--preset--font-size--m-text);
                                }
                            }
                        }
                        &.main-contact{
                            width: 100%;
                            & p{
                                & span.wpcf7-form-control-wrap{
                                    width: 100%;
                                    align-items: center;
                                    justify-content: center;
                                    padding: 0.5rem;
                                    border: 0.5px solid var(--wp--preset--color--blanc);
                                    & span{
                                        justify-content: center;
                                        align-items: center;
                                    }
                                }
                            }
                        }
                    }
                }
                & p {
                    & span{
                        & span.checkbox{
                            display: flex;
                            width: 100%;
                            & .wpcf7-list-item {
                                display: flex;
                                align-items: center;
                                margin: 0;
                                gap: 1rem;
                                user-select: none;
                                position: relative;
                                & input{
                                    position: absolute;
                                    opacity: 0;
                                    /* pointer-events: none; */
                                    left: 0;
                                    z-index: 2;
                                    &:hover{
                                        cursor: pointer;
                                    }
                                }
                                & .checkmark {
                                    width: 12px;
                                    height: 12px;
                                    border: 0.5px solid var(--wp--preset--color--blanc);
                                    display: inline-block;
                                    transition: all 0.2s ease;
                                    background-color: transparent;
                                }
                                & input[type="checkbox"]:checked + .checkmark {
                                    background-color: #007bff;
                                    border-color: #007bff;
                                }

                                & .wpcf7-list-item-label{
                                    font-size: var(--wp--preset--font-size--s-title);
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
.gray-block.full-width{
    .gray-block__inner{
        .gray-block__form{
            .gray-block__form-meta{
                display: none;
            }
            .gray-block__form-embed{
                width: 100%;
                & .wpcf7 {
                    & form {
                        & .contact-form {
                            & .contact-wrapper, & .textarea-container {
                                & p {
                                    display: flex;
                                    width: 30%;
                                    margin: 0.5rem 0;
                                }
                                @media (max-width: 840px) {
                                    flex-direction: column;
                                    & p {
                                        width: 100%;
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
.wpcf7-not-valid-tip{
    display: flex;
    font-size: var(--wp--preset--font-size--s-text);
    padding-top: 1rem;
}
.wpcf7-response-output{
    background-color: var(--wp--preset--color--blanc);
    color: var(--wp--preset--color--noir)!important;
    border-color: var(--wp--preset--color--blanc)!important;
}