.wpcf7 br,
.wpcf7-spinner{
    display: none;
}

.wpcf7 form{
    display: flex;
    flex-direction: column;
    gap: 22px;
    max-width: 480px;
}

.wpcf7 form p{
    width: 100%;
}

.wpcf7 form p label{
    display: flex;
    flex-direction: column;
    gap: 8px;
    font-family: 'Basis', sans-serif;
    font-size: 16px;
}

.wpcf7 form p label,
.wpcf7 form p label *{
    width: 100%;
}

.wpcf7 form p label input,
.wpcf7 form p label textarea,
.wpcf7 form p label select{
    display: block;
    outline: none;
    border: solid 1px #000;
    border-radius: 8px;
    height: 44px;
    resize: none;
    padding: 12px;
}

.wpcf7 form p label select {
    appearance: none;
    background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="13.717" height="8.573" viewBox="0 0 13.717 8.573"><path id="Tracé_38088" data-name="Tracé 38088" d="M0,0,6.859,6.859,0,13.717H1.715L8.573,6.859,1.715,0Z" transform="translate(13.717) rotate(90)"/></svg>');
    background-repeat: no-repeat;
    background-position: right 20px center;
}

.wpcf7 form p label input,
.wpcf7 form p label textarea,
.wpcf7 form p label select,
.wpcf7 form p label select option,
.wpcf7 form p label input::placeholder,
.wpcf7 form p label textarea::placeholder,
.wpcf7 form p label select::placeholder,
.wpcf7 form p label select option::placeholder{
    color: #000;
    font-family: 'Basis', sans-serif;
    font-size: 16px;
    line-height: 19px;
}

.wpcf7 form p label input:focus,
.wpcf7 form p label textarea:focus,
.wpcf7 form p label select:focus{
    border: solid 1px var(--primary);
}

.wpcf7 form p label .wpcf7-form-control-wrap{
    position: relative;
}

.wpcf7 form p label .wpcf7-form-control-wrap::after{
    content: "Optionnel";
    height: fit-content;
    width: fit-content;
    display: block;
    position: absolute;
    font-size: 14px;
    line-height: 16px;
    right: 0px;
    top: -25px;
    color: #545D63;
}

.wpcf7 form p label .wpcf7-form-control-wrap:has(input[aria-required="true"])::after,
.wpcf7 form p label .wpcf7-form-control-wrap:has(textarea[aria-required="true"])::after,
.wpcf7 form p label .wpcf7-form-control-wrap:has(select[aria-required="true"])::after{
    display: none;
}

.wpcf7 form p label textarea{
    height: 170px;
}

.wpcf7-not-valid-tip{
    font-size: 14px;
    margin-top: 2px;
    color: #dc3232;
}

.wpcf7 form .wpcf7-submit{
    display: block;
    width: 100%;
    background-color: #000;
    color: #fff;
    transition: 300ms ease;
    font-family: 'Basis', sans-serif;
    font-size: 16px;
    border-radius: 8px;
    border: none;
    padding: 12px;
    text-align: center;
    cursor: pointer;
}

.wpcf7 form .wpcf7-submit:hover{
    background-color: var(--primary);
    transition: 300ms ease;
}

.wpcf7 form.invalid .wpcf7-response-output, 
.wpcf7 form.unaccepted .wpcf7-response-output, 
.wpcf7 form.payment-required .wpcf7-response-output{
    border: solid 1px #dc3232 !important;
    font-size: 16px;
    line-height: 22px;
    padding: 12px 25px;
    margin: 0px;
}