/* Page contact : formulaire redessiné (carte, trois étapes, choix regroupés, champs encadrés). Noms des champs et JavaScript inchangés. */
.contact-page{align-items:start}
.contact-phone{font-size:15px;color:#1f3327}

.inquiry-form.cf{padding:clamp(24px,3vw,40px);border:1px solid #1f33271f;border-radius:20px;background:#faf6ee;box-shadow:0 30px 60px -45px #1f332780}
.cf-step{display:flex;align-items:flex-start;gap:14px;margin-bottom:20px}
.cf-n{flex:none;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:#2f4a37;color:#fff;font-size:13px;font-weight:600}
.cf-h{margin:2px 0 0;font-size:19px;line-height:1.3;letter-spacing:-.015em;font-weight:600;color:#1f3327}
.cf-sub{margin:4px 0 0;font-size:14px;line-height:1.5;color:#4f5b52}
.cf-block{padding-bottom:30px;margin-bottom:30px;border-bottom:1px solid #1f33271f}

/* Choix */
.inquiry-form.cf fieldset{margin:0;padding:0;border:0;min-width:0}
.inquiry-form.cf fieldset.cf-block{padding:0 0 30px;margin:0 0 30px;border-bottom:1px solid #1f33271f}
.cf-feature{position:relative;display:block;margin-bottom:18px;cursor:pointer}
.cf-feature input,.inquiry-form.cf .interest-options input{position:absolute;opacity:0;width:1px;height:1px}
.cf-feature>span{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 16px;padding:16px 18px;border:1px solid #7c867e;border-radius:14px;background:#fff}
.cf-feature strong{font-size:16px;font-weight:600;color:#1f3327}
.cf-feature small{grid-column:1;font-size:14px;color:#4f5b52}
.cf-feature i{grid-column:2;grid-row:1/3;width:20px;height:20px;border-radius:50%;border:1.5px solid #7c867e;background:#fff}
.cf-feature input:checked+span{border:2px solid #2f4a37;padding:15px 17px;background:#eef2ec}
.cf-feature input:checked+span i{border:6px solid #2f4a37}
.cf-feature input:focus-visible+span{outline:3px solid #2f4a37;outline-offset:3px}
.cf-group{margin-top:16px}
.cf-group>p{margin:0 0 10px;font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:#4f5b52}
.inquiry-form.cf .interest-options{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.inquiry-form.cf .interest-options label{cursor:pointer}
.inquiry-form.cf .interest-options span{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid #7c867e;border-radius:999px;background:#fff;font-size:14px;font-weight:500;color:#1f3327;transition:background .15s,border-color .15s}
.inquiry-form.cf .interest-options label:hover span{border-color:#2f4a37}
.inquiry-form.cf .interest-options input:checked+span{background:#1f3327;border-color:#1f3327;color:#fff}
.inquiry-form.cf .interest-options input:checked+span::before{content:"";width:10px;height:6px;border-left:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-2px) rotate(-45deg)}
.inquiry-form.cf .interest-options input:focus-visible+span{outline:3px solid #2f4a37;outline-offset:3px}

/* Champs */
.inquiry-form.cf .form-row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.inquiry-form.cf .form-row>label,.inquiry-form.cf .cf-block>label{display:grid;gap:8px;margin:0;font-size:14px;line-height:1.4;font-weight:600;color:#1f3327}
.inquiry-form.cf .form-row:last-child{margin-bottom:0}
.inquiry-form.cf .cf-opt{font-weight:400;color:#4f5b52}
.inquiry-form.cf input:not([type=radio]),.inquiry-form.cf textarea{width:100%;min-height:48px;padding:12px 14px;border:1px solid #7c867e;border-radius:10px;background:#fff;color:#1f3327;font:inherit;font-size:16px;font-weight:400;line-height:1.4}
.inquiry-form.cf textarea{min-height:110px;resize:vertical}
.inquiry-form.cf input::placeholder,.inquiry-form.cf textarea::placeholder{color:#6b756d}
.inquiry-form.cf input:not([type=radio]):hover,.inquiry-form.cf textarea:hover{border-color:#4f5b52}
.inquiry-form.cf input:not([type=radio]):focus,.inquiry-form.cf textarea:focus{outline:none;border-color:#2f4a37;box-shadow:0 0 0 3px #2f4a3740}
.inquiry-form.cf input:not([type=radio]):user-invalid,.inquiry-form.cf textarea:user-invalid{border-color:#b8301a;box-shadow:0 0 0 3px #b8301a26}

/* Envoi */
.inquiry-form.cf>.button{width:100%;min-height:54px;margin-top:0;font-size:16px;border-radius:999px}
.inquiry-form.cf .form-note{margin:14px 0 0;font-size:13px;line-height:1.55;color:#4f5b52;text-align:center}

@media (max-width:980px){
  .inquiry-form.cf{padding:24px 20px;border-top:1px solid #1f33271f}
}
@media (max-width:640px){
  .inquiry-form.cf .form-row{grid-template-columns:1fr}
  .inquiry-form.cf .interest-options span{font-size:14px;padding:0 14px}
  .cf-h{font-size:18px}
}
@media (prefers-reduced-motion:reduce){.inquiry-form.cf .interest-options span{transition:none}}

.cf-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.inquiry-form.cf .cf-block>label{display:block}
