/* ==========================================================================
   Contact Form 7 – style repris de Gravity Forms (migration oct. 2026)
   Formulaires : Contact, Recrutement, Questionnaire correspondants,
   Protection des données personnelles.
   Balisage : .cf7gf (.cf7gf-top = labels au-dessus, .cf7gf-left = labels à gauche)
   ========================================================================== */

.cf7gf{font-family:Montserrat,sans-serif;font-size:14px;color:#4a4a4a;max-width:100%}
.cf7gf p{margin:0;padding:0}
.cf7gf br{display:none}
.cf7gf-field{margin:0 0 20px;clear:both}
.cf7gf-label{display:block;font-family:Montserrat,sans-serif;font-size:14px;font-weight:300;color:#4a4a4a;margin:0 0 6px;line-height:1.5}
.cf7gf-req{color:#c02b0a;margin-left:3px}
.cf7gf .wpcf7-form-control-wrap{display:block}

/* Champs */
.cf7gf input[type=text],.cf7gf input[type=email],.cf7gf input[type=tel],.cf7gf input[type=date],.cf7gf select,.cf7gf textarea{background:#fff;color:#999;border:1px solid #eef1f2;border-radius:0;box-shadow:none;font:400 14px Montserrat,sans-serif;padding:5px 4px;height:30px;width:100%;max-width:100%;box-sizing:border-box;margin:0}
.cf7gf select{height:34px;color:#4a4a4a}
.cf7gf textarea{height:160px;padding:6px 8px;font-weight:300;resize:vertical}
.cf7gf input:focus,.cf7gf select:focus,.cf7gf textarea:focus{border-color:#2391b1;outline:none}
.cf7gf input.cf7gf-medium,.cf7gf select.cf7gf-medium{width:50%}
.cf7gf small,.cf7gf .cf7gf-desc{display:block;font-size:11px;color:#4a4a4a;letter-spacing:.5px;margin:3px 0 0}
.cf7gf .cf7gf-desc{font-size:12px;color:#666}

/* Adresse (sous-champs) et colonnes */
.cf7gf-full{display:block;margin-bottom:10px}
.cf7gf-input .cf7gf-half{display:inline-block;width:48%;margin:0 4% 10px 0;vertical-align:top}
.cf7gf-input .cf7gf-half:nth-of-type(even){margin-right:0}
.cf7gf-row{display:flex;gap:4%}
.cf7gf-row>.cf7gf-half{flex:1}
.cf7gf-field.cf7gf-half{width:48%}
.cf7gf-row>.cf7gf-field.cf7gf-half{width:auto}

/* Boutons radio / choix exclusifs (cases rondes comme Gravity Forms) */
.cf7gf .wpcf7-radio,.cf7gf .wpcf7-checkbox{display:flex;flex-wrap:wrap}
.cf7gf .wpcf7-list-item{margin:0 40px 6px 0}
.cf7gf .wpcf7-list-item label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:12px;color:#4a4a4a;font-weight:300;margin:0}
.cf7gf .wpcf7-exclusive-checkbox input[type=checkbox]{-webkit-appearance:none;appearance:none;width:13px;height:13px;margin:0;border:1px solid #767676;border-radius:50%;background:#fff;display:inline-grid;place-content:center;cursor:pointer;flex:0 0 13px}
.cf7gf .wpcf7-exclusive-checkbox input[type=checkbox]::before{content:"";width:7px;height:7px;border-radius:50%;background:#2391b1;transform:scale(0);transition:transform .1s}
.cf7gf .wpcf7-exclusive-checkbox input[type=checkbox]:checked{border-color:#2391b1}
.cf7gf .wpcf7-exclusive-checkbox input[type=checkbox]:checked::before{transform:scale(1)}
.cf7gf-field.cf7gf-4col{margin-bottom:28px}
.cf7gf-4col .cf7gf-label{margin-bottom:10px}
.cf7gf-4col .wpcf7-list-item{flex:0 0 25%;margin:0 0 6px}

/* Consentement RGPD */
.cf7gf-consent{font-size:12px;line-height:1.6;color:#4a4a4a}
.cf7gf-consent .wpcf7-list-item{margin:0}
.cf7gf-consent label{display:flex!important;align-items:flex-start;gap:8px;font-size:12px!important}
.cf7gf-consent input{margin-top:4px}
.cf7gf-consent a{color:#4a4a4a;font-weight:600}

.cf7gf-section{margin:24px 0 16px}
.cf7gf-captcha{margin-top:20px}

/* Bouton d'envoi */
.cf7gf-footer{margin:24px 0 10px}
.cf7gf .wpcf7-submit{background-color:#2391b1;color:#fff;border:0;border-radius:12px;padding:15px 45px;height:auto;font:400 15px Montserrat,sans-serif;cursor:pointer;text-transform:none;transition:opacity .2s}
.cf7gf .wpcf7-submit:hover{opacity:.85}
.cf7gf .wpcf7-spinner{vertical-align:middle}

/* Labels à gauche (Recrutement) */
.cf7gf-left .cf7gf-field{display:flex;align-items:flex-start}
.cf7gf-left .cf7gf-label{flex:0 0 29%;max-width:29%;padding-right:16px;box-sizing:border-box;margin-top:5px;font-weight:600}
.cf7gf-left .cf7gf-input{flex:1;min-width:0}
.cf7gf-left .cf7gf-consent,.cf7gf-left .cf7gf-captcha,.cf7gf-left .cf7gf-footer{display:block}
.cf7gf-left .cf7gf-captcha,.cf7gf-left .cf7gf-footer{margin-left:29%}
.cf7gf-left .wpcf7-list-item{flex:0 0 33%;margin-right:0}
.cf7gf-left input.cf7gf-medium{width:45%}

/* Validation et messages */
.cf7gf .wpcf7-not-valid{border-color:#c02b0a}
.cf7gf .wpcf7-not-valid-tip{font-size:12px;color:#c02b0a;margin-top:4px}
.wpcf7 form .wpcf7-response-output{font-family:Montserrat,sans-serif;font-size:14px;margin:16px 0 0;padding:12px 16px}

/* Questionnaire : affichage conditionnel des questions « Si oui / Si non » */
.cf7gf-survey:not(:has(input[name="q2-site"][value="Oui"]:checked)) .cf7gf-if-q2-oui,
.cf7gf-survey:not(:has(input[name="q9-medimail"][value="Oui"]:checked)) .cf7gf-if-q9-oui,
.cf7gf-survey:not(:has(input[name="q9-medimail"][value="Non"]:checked)) .cf7gf-if-q9-non,
.cf7gf-survey:not(:has(input[name="q10-conseil"][value="Non"]:checked)) .cf7gf-if-q10-non{display:none}

@media (max-width:767px){
	.cf7gf input.cf7gf-medium,.cf7gf-field.cf7gf-half,.cf7gf-left input.cf7gf-medium{width:100%}
	.cf7gf-left .cf7gf-field{display:block}
	.cf7gf-left .cf7gf-label{max-width:none}
	.cf7gf-left .cf7gf-captcha,.cf7gf-left .cf7gf-footer{margin-left:0}
	.cf7gf-4col .wpcf7-list-item{flex:0 0 50%}
	.cf7gf-row{display:block}
}
