/*
 * Fluent Forms styled to sit where the old builder forms were: labels above,
 * half-width fields where the old form used 50% columns, inherit fonts/colours.
 */
.ct-form:not(.ct-form--skin) .fluentform { font-family: inherit; }
.ct-form:not(.ct-form--skin) .fluentform fieldset { display: flex; flex-wrap: wrap; column-gap: 20px; row-gap: 16px; border: 0; margin: 0; padding: 0; min-width: 0; }
.ct-form:not(.ct-form--skin) .fluentform fieldset > * { width: 100%; }
.ct-form:not(.ct-form--skin) .fluentform .ff-el-group { margin: 0; flex: 1 1 100%; }
.ct-form:not(.ct-form--skin) .fluentform .ff-el-group.ct-w-50 { flex: 1 1 calc(50% - 10px); max-width: calc(50% - 10px); }
.ct-form:not(.ct-form--skin) .fluentform .ff-el-group.ct-w-33 { flex: 1 1 calc(33.333% - 14px); max-width: calc(33.333% - 14px); }
.ct-form:not(.ct-form--skin) .fluentform .ff-el-group.ct-w-25 { flex: 1 1 calc(25% - 15px); max-width: calc(25% - 15px); }
@media (max-width: 767px) {
	.ct-form:not(.ct-form--skin) .fluentform .ff-el-group.ct-w-50, .ct-form:not(.ct-form--skin) .fluentform .ff-el-group.ct-w-33, .ct-form:not(.ct-form--skin) .fluentform .ff-el-group.ct-w-25 { flex-basis: 100%; max-width: 100%; }
}
.ct-form:not(.ct-form--skin) .fluentform .ff-el-input--label label { font-family: inherit; font-weight: 500; color: inherit; margin-bottom: 6px; display: inline-block; }
.ct-form:not(.ct-form--skin) .fluentform .ff-el-form-control {
	font-family: inherit; font-size: 15px; line-height: 1.4; color: #1f2124;
	background-color: #fff; border: 1px solid #69727d; border-radius: 3px;
	min-height: 40px; padding: 8px 16px; box-shadow: none; width: 100%;
}
.ct-form:not(.ct-form--skin) .fluentform textarea.ff-el-form-control { min-height: 110px; resize: vertical; }
.ct-form:not(.ct-form--skin) .fluentform .ff-el-form-control:focus { outline: 0; border-color: #1f2124; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1); }
.ct-form:not(.ct-form--skin) .fluentform .ff-el-form-check { margin-bottom: 4px; }
.ct-form:not(.ct-form--skin) .fluentform .ff-el-form-check-label { font-weight: 400; }
.ct-form:not(.ct-form--skin) .fluentform .ff_submit_btn_wrapper { margin-top: 4px; }
.ct-form:not(.ct-form--skin) .fluentform .ff-btn-submit {
	font-family: inherit; font-weight: 600; font-size: 16px; padding: 14px 32px; border-radius: 6px; border: 1px solid #000;
	background-color: #d0021b; color: #fff; cursor: pointer; transition: transform .2s, box-shadow .2s;
}
.ct-form:not(.ct-form--skin) .fluentform .ff-btn-submit:hover { transform: translate(-4px, -4px); box-shadow: 4px 4px 0 rgba(0, 0, 0, 1); }
.ct-form .ff-message-success { border: 0; box-shadow: none; padding: 12px 0; font-family: inherit; }
.ct-form:not(.ct-form--skin) .fluentform .ff-el-section-break { flex-basis: 100%; }
.ct-form:not(.ct-form--skin) .fluentform .ff-el-section-break .ff-el-section-title { font-size: 20px; font-weight: 700; margin: 0 0 8px; }
.ct-form:not(.ct-form--skin) .fluentform .ff-el-section-break hr { display: none; }
.ct-form .ct-form-steps-nav button { font: inherit; padding: 10px 24px; border-radius: 6px; border: 1px solid #000; background: #fff; cursor: pointer; }
.ct-form .ct-form-steps-nav .ct-step-next { background: #000; color: #fff; }

/* Skinned forms: Fluent markup carrying the old form classes; the ported per-form CSS does the styling. */
.ct-form--skin .fluentform { font-family: inherit; }
.ct-form--skin .fluentform fieldset { border: 0; padding: 0; min-width: 0; min-inline-size: 0; }
.ct-form--skin .fluentform .ff-el-group { margin-bottom: 0; }
.ct-form--skin .fluentform .ff-el-input--content:not(.ct-field-subgroup):not(.ct-select-wrapper) { display: contents; }
.ct-form--skin .fluentform .ff-el-form-control { width: 100%; max-width: 100%; }
.ct-form--skin .fluentform .ff-el-form-check { margin: 0; }
.ct-form--skin .fluentform .ff-el-form-check-label { display: inline-flex; align-items: center; gap: .4em; font-weight: inherit; cursor: pointer; }
.ct-form--skin .fluentform .ff-el-section-break { flex-basis: 100%; }
.ct-form--skin .fluentform .ff-el-section-break .ff-el-section-title { display: none; }
.ct-form--skin .fluentform .ff-el-section-break hr { display: none; }
.ct-form--skin .fluentform .ff-btn-submit { cursor: pointer; }
.ct-form--skin .fluentform .ff-el-is-error .ct-field { border-color: #d63638; }
.ct-form--skin .fluentform .error { font-size: 12px; color: #d63638; flex-basis: 100%; margin-top: 4px; }
.ct-form--skin .ct-form-steps-nav { display: flex; justify-content: space-between; flex-basis: 100%; flex-wrap: wrap; }
.ct-form--skin .ct-form-steps-nav .e-form__buttons__wrapper { width: auto; flex: 0 0 auto; }
.ct-form--skin .ct-form-steps-nav button { cursor: pointer; }
