/* ==========================================================================
   Fluent Forms in the Minkom design (ticket dialog, speaker application)
   Overrides Fluent's default skin inside .mk pages only; layout, validation and payments stay Fluent's.
   ========================================================================== */

.mk .fluentform { --ff-gap: 18px; font-family: var(--f), var(--ar), system-ui, sans-serif; color: var(--ink); }
.mk .fluentform .ff-el-group { margin-bottom: var(--ff-gap); }
.mk .fluentform .ff-t-container { gap: var(--ff-gap); }
.mk .fluentform .ff-t-cell { padding: 0 !important; }
.mk .fluentform .ff-el-input--label { margin-bottom: 8px; }
.mk .fluentform .ff-el-input--label label { font-size: 14px; font-weight: 600; color: var(--ink); }
.mk .fluentform .ff-el-is-required.asterisk-right label::after { color: #C0392B; }

.mk .fluentform .ff-el-form-control,
.mk .fluentform select.ff-el-form-control,
.mk .fluentform textarea.ff-el-form-control {
  width: 100%; min-height: 52px; padding: 14px 16px; border: 1.5px solid transparent; border-radius: var(--r-sm);
  background: var(--paper); box-shadow: none; font: 500 16px/1.4 var(--f), var(--ar), system-ui, sans-serif; color: var(--ink);
  transition: border-color .2s;
}
.mk .dlg .fluentform .ff-el-form-control { background: var(--mist); }
.mk .fluentform textarea.ff-el-form-control { min-height: 110px; resize: vertical; }
.mk .fluentform .ff-el-form-control:focus { outline: none; border-color: var(--ink); box-shadow: none; }
.mk .fluentform .ff-el-form-control::placeholder { color: rgba(0, 0, 0, .4); }

.mk .fluentform .ff-el-form-check { margin-bottom: 6px; }
.mk .fluentform .ff-el-form-check-label { display: flex; align-items: flex-start; gap: 10px; font-size: 14px; font-weight: 500; line-height: 1.45; }
.mk .fluentform .ff-el-form-check-input { flex: none; width: 20px; height: 20px; margin: 1px 0 0; accent-color: var(--ink); }
.mk .fluentform .ff-el-help-message { margin-top: 6px; font-size: 13px; font-style: normal; color: var(--soft); }

.mk .fluentform .ff_upload_btn.ff-btn {
  padding: 12px 18px; border: 1.5px dashed rgba(0, 0, 0, .3); border-radius: var(--r-sm); background: var(--paper); color: var(--ink); font-weight: 600;
}

.mk .fluentform .ff-btn-submit,
.mk .fluentform button.ff-btn-submit {
  display: inline-flex; align-items: center; justify-content: center; width: 100%; height: 56px; padding: 0 26px;
  border: 0; border-radius: 999px; background: var(--ink) !important; color: var(--paper) !important;
  font: 600 15px var(--f), system-ui, sans-serif; cursor: pointer; transition: transform .2s;
}
.mk .fluentform .ff-btn-submit:hover { transform: translateY(-2px); }

.mk .fluentform .ff-el-is-error .ff-el-form-control { border-color: #C0392B; }
.mk .fluentform .error, .mk .fluentform .text-danger { margin-top: 6px; font-size: 13px; color: #C0392B; }
.mk .ff-message-success { padding: 20px; border: 0; border-radius: var(--r-md); background: var(--sun); box-shadow: none; font-weight: 600; color: var(--ink); }
.mk .ff-errors-in-stack { margin-top: 12px; color: #C0392B; font-size: 14px; }

/* payment summary (ticket form) */
.mk .fluentform .ff_payment_summary table { width: 100%; border-collapse: collapse; font-size: 14px; }
.mk .fluentform .ff_payment_summary th, .mk .fluentform .ff_payment_summary td { padding: 8px 0; border-bottom: 1px solid var(--line); text-align: left; }
