/* IDEAX Forms — Frontend v1.0.4 */
/* All selectors match class-ideax-forms-renderer.php output */

.ideax-form-wrap *{ box-sizing:border-box; }
.ideax-form-wrap{
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  color:#1e293b; line-height:1.6;
}

/* ── Field wrapper ── */
.ideax-form .ideax-field{
  margin-bottom:20px;
}

/* ── Label ── */
.ideax-field__label{
  display:block; font-size:14px; font-weight:600; margin-bottom:6px; color:#1e293b;
}
.ideax-field__required{ color:#ef4444; margin-left:3px; }

/* ── Inputs ── */
.ideax-input{
  width:100%; padding:10px 14px;
  border:1.5px solid #e2e8f0; border-radius:8px;
  font-size:15px; background:#fff; outline:none;
  transition:border-color .15s,box-shadow .15s;
  -webkit-appearance:none; appearance:none;
}
.ideax-input:focus{
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,.1);
}
textarea.ideax-input{ resize:vertical; min-height:100px; }
.ideax-select-wrap{ position:relative; }
.ideax-select-wrap::after{
  content:'▾'; position:absolute; right:12px; top:50%;
  transform:translateY(-50%); pointer-events:none; color:#94a3b8;
}

/* ── Radio / Checkbox ── */
.ideax-choices{ display:flex; flex-direction:column; gap:8px; }
.ideax-choice{
  display:flex; align-items:center; gap:10px;
  font-size:14px; cursor:pointer; padding:9px 14px;
  border:1.5px solid #e2e8f0; border-radius:8px; transition:all .12s;
}
.ideax-choice:hover{ border-color:#2563eb; background:#eff6ff; }
.ideax-choice input{ accent-color:#2563eb; width:16px; height:16px; }

/* ── Image choice ── */
.ideax-image-choices{ display:flex; flex-wrap:wrap; gap:10px; }
.ideax-image-choice{
  border:2px solid #e2e8f0; border-radius:8px; padding:12px 16px;
  cursor:pointer; text-align:center; transition:all .12s; font-size:13px;
}
.ideax-image-choice:hover{ border-color:#2563eb; }
.ideax-image-choice input{ display:none; }
.ideax-image-choice:has(input:checked){ border-color:#2563eb; background:#eff6ff; color:#2563eb; }

/* ── Rating ── */
.ideax-rating{ display:flex; gap:4px; font-size:30px; color:#e2e8f0; cursor:pointer; }
.ideax-star--hover,.ideax-star--active{ color:#f59e0b; }

/* ── Scale / Range ── */
.ideax-scale-wrap{
  display:flex; align-items:center; gap:10px;
}
.ideax-range{ flex:1; accent-color:#2563eb; height:6px; cursor:pointer; }
.ideax-scale-min,.ideax-scale-max{ font-size:12px; color:#94a3b8; min-width:20px; }
.ideax-scale-val{ font-weight:700; font-size:16px; color:#2563eb; min-width:28px; text-align:center; }

/* ── Signature ── */
.ideax-signature-wrap{
  border:1.5px solid #e2e8f0; border-radius:8px; overflow:hidden; background:#fff;
}
.ideax-signature-canvas{
  display:block; width:100%; height:160px; cursor:crosshair; touch-action:none;
}
.ideax-signature-footer{
  display:flex; justify-content:space-between; align-items:center;
  padding:6px 10px; background:#f8fafc; border-top:1px solid #e2e8f0;
}
.ideax-signature-label{ font-size:12px; color:#94a3b8; }
.ideax-signature-clear{
  font-size:12px; color:#64748b; background:none;
  border:1px solid #e2e8f0; border-radius:5px; cursor:pointer; padding:3px 10px;
}

/* ── File ── */
.ideax-file{ padding:10px; cursor:pointer; }
.ideax-file::file-selector-button{
  background:#eff6ff; border:1px solid #bfdbfe; border-radius:6px;
  color:#2563eb; font-size:12px; padding:4px 10px; cursor:pointer; margin-right:10px;
}

/* ── Help & Error ── */
.ideax-field__help{ display:block; font-size:12px; color:#64748b; margin-top:4px; }
.ideax-field__error{
  display:block; font-size:12px; color:#ef4444; margin-top:4px;
  min-height:16px;
}

/* ── Submit ── */
.ideax-form__submit{ margin-top:24px; }
.ideax-btn--submit{
  display:inline-block; padding:12px 32px;
  background:#2563eb; color:#fff; border:none; border-radius:8px;
  font-size:15px; font-weight:700; cursor:pointer; transition:all .15s;
  letter-spacing:.02em;
}
.ideax-btn--submit:hover{ background:#1d4ed8; transform:translateY(-1px); box-shadow:0 4px 12px rgba(37,99,235,.3); }
.ideax-btn--submit:disabled{ opacity:.6; cursor:default; transform:none; }

/* ── Messages ── */
.ideax-form__messages{
  padding:14px 18px; border-radius:8px; font-size:14px; font-weight:600; margin-top:16px;
}
.ideax-form__messages:empty{ display:none; }
.ideax-form__messages.ideax-success{ background:#dcfce7; color:#15803d; border:1px solid #bbf7d0; }
.ideax-form__messages.ideax-error  { background:#fee2e2; color:#b91c1c; border:1px solid #fecaca; }

/* ── Quiz result ── */
.ideax-quiz-result{ margin-top:14px; padding:14px 18px; background:#f8fafc; border-radius:8px; font-size:14px; }

/* ── Multi-step ── */
.ideax-steps{ display:flex; align-items:center; gap:8px; margin-bottom:16px; }
.ideax-step{
  width:32px; height:32px; border-radius:50%;
  background:#e2e8f0; display:flex; align-items:center; justify-content:center;
  font-size:12px; font-weight:700; color:#64748b; transition:all .2s;
}
.ideax-step--active{ background:#2563eb; color:#fff; }
.ideax-steps__bar{ height:6px; background:#e2e8f0; border-radius:3px; margin-bottom:20px; }
.ideax-steps__fill{ height:100%; background:#2563eb; border-radius:3px; transition:width .3s; }
.ideax-page{ display:none; }
.ideax-page--active{ display:block; }
.ideax-page__nav{ display:flex; gap:12px; margin-top:24px; }
.ideax-btn--next,.ideax-btn--prev{
  padding:10px 24px; border:none; border-radius:8px;
  font-size:14px; font-weight:600; cursor:pointer; transition:all .15s;
}
.ideax-btn--next{ background:#2563eb; color:#fff; }
.ideax-btn--next:hover{ background:#1d4ed8; }
.ideax-btn--prev{ background:#f1f5f9; color:#475569; }
.ideax-btn--prev:hover{ background:#e2e8f0; }

/* ── Section break ── */
.ideax-field--section_break{ border-top:2px solid #e2e8f0; padding-top:16px; margin:24px 0 8px; }
.ideax-field__section-title{ font-size:16px; font-weight:700; margin:0 0 4px; }
.ideax-field__section-desc{ font-size:13px; color:#64748b; margin:0; }
