/* ═══════════════════════════════════════════════════════════════════
   FORMULAIRE ZOHO — section #dossier
   ═══════════════════════════════════════════════════════════════════ */
/* ── FORMULAIRE ZOHO ── */
.zf-form { max-width:860px; margin:0 auto; }
.zf-group { margin-bottom:44px; }
.zf-group-sep { width:100%; height:1px; background:linear-gradient(to right,var(--c-teal),transparent); margin:0 0 40px; opacity:.25; }
.zf-group-title { font-size:.62rem; letter-spacing:.18em; text-transform:uppercase; color:var(--c-teal); margin-bottom:28px; display:flex; align-items:center; gap:12px; }
.zf-group-title::before { content:''; display:block; width:20px; height:1px; background:var(--c-teal); }
.zf-grid { display:grid; grid-template-columns:1fr 1fr; gap:18px 32px; }
@media(max-width:700px){ .zf-grid { grid-template-columns:1fr; } }
.zf-field { display:flex; flex-direction:column; gap:8px; }
.zf-field label { font-size:.78rem; color:rgba(221,232,240,.6); letter-spacing:.05em; }
.zf-field label em { color:var(--c-teal); margin-left:2px; font-style:normal; }
.zf-input,.zf-textarea {
  background:var(--c-surface); border:1px solid rgba(0,220,180,.15); border-radius:4px;
  color:var(--c-text); font-size:.9rem; padding:12px 16px; width:100%; box-sizing:border-box;
  transition:border-color .2s,box-shadow .2s; font-family:inherit; outline:none;
}
.zf-input:focus,.zf-textarea:focus { border-color:var(--c-teal); box-shadow:0 0 0 3px rgba(0,220,180,.08); }
.zf-input::placeholder,.zf-textarea::placeholder { color:rgba(221,232,240,.2); }
.zf-textarea { min-height:120px; resize:vertical; }
.zf-select {
  background:var(--c-surface); border:1px solid rgba(0,220,180,.15); border-radius:4px;
  color:var(--c-text); font-size:.9rem; padding:12px 40px 12px 16px; width:100%; box-sizing:border-box;
  transition:border-color .2s,box-shadow .2s; font-family:inherit; outline:none;
  cursor:pointer; appearance:none; -webkit-appearance:none; -moz-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%2300DCB4' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right 16px center;
}
.zf-select:focus { border-color:var(--c-teal); box-shadow:0 0 0 3px rgba(0,220,180,.08); }
.zf-select option { background:var(--c-surface); color:var(--c-text); }
.zf-radio-group { display:flex; gap:10px; flex-wrap:wrap; }
.zf-radio-card { position:relative; }
.zf-radio-card input[type=radio] { position:absolute; opacity:0; width:0; height:0; }
.zf-radio-card label {
  display:block; padding:10px 24px; border:1px solid rgba(0,220,180,.18); border-radius:4px;
  cursor:pointer; font-size:.83rem; color:rgba(221,232,240,.55); transition:all .2s;
  background:var(--c-surface); user-select:none;
}
.zf-radio-card input[type=radio]:checked + label {
  border-color:var(--c-teal); color:var(--c-teal);
  background:rgba(0,220,180,.06); box-shadow:0 0 14px rgba(0,220,180,.08);
}
.zf-radio-card label:hover { border-color:rgba(0,220,180,.4); color:var(--c-text); }
.zf-submit { margin-top:40px; text-align:center; }
.zf-submit button {
  background:var(--c-teal); color:var(--c-bg); border:none; border-radius:4px;
  padding:16px 52px; font-size:.95rem; font-weight:700; letter-spacing:.07em;
  cursor:pointer; transition:transform .2s,box-shadow .2s; font-family:inherit;
}
.zf-submit button:hover { transform:translateY(-2px); box-shadow:0 0 36px rgba(0,220,180,.35); }
