.contact-wrap { display: flex; flex-wrap: wrap; gap: 30px; }
.contact-texte { flex: 1; min-width: 300px; text-align: justify; }
.contact-form { flex: 0 0 350px; max-width: 100%; }
.contact-form input, .contact-form select, .contact-form textarea { width: 100%; }
.contact-form .bouton { width: 100%; padding: 12px; font-size: 18px; font-weight: bold; background-color: #BD0E36; color: #FFF; border-radius: 4px; transition: all .3s; }
.contact-form .bouton:hover { background-color: #ED1144; }

.form-error { color: #FFF; background: #BD0E36; padding: 12px 18px; border-radius: 5px; margin: 15px 0; font-weight: bold; }
.form-consent { font-size: 13px; line-height: 1.4; margin: 12px 0; }
.form-consent input { width: auto !important; margin-right: 8px; vertical-align: top; }
.form-consent label { display: inline-block; width: calc(100% - 30px); }
.form-consent a { color: #BD0E36; text-decoration: underline; }
input[type="checkbox"] { transform: scale(1.8); }

#map_canvas { width: 100%; height: 400px; margin: 30px 0; }

@media (max-width: 768px) {
    .contact-wrap { flex-direction: column; }
    .contact-form { flex: 1 1 auto; }
    #map_canvas { height: 300px; }
}