/*
 * Forminator forms styled like the former Formidable forms.
 *
 * Values come from the live Formidable rendering (style "Formidable Style"):
 * labels 15px #344054, required star #F04438, fields 14px #1D2939 on white with
 * a 1px #D0D5DD border, 8px radius, 8px 12px padding, 40px high, 20px between
 * fields, blue button #4199FD.
 *
 * Specificity: Forminator generates #forminator-module-ID.forminator-design--default
 * rules per form. ":not(#presby)" counts as an id, so these rules win without
 * !important and without knowing the form id.
 */

.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) {
	--presby-text: #1d2939;
	--presby-label: #344054;
	--presby-muted: #667085;
	--presby-border: #d0d5dd;
	--presby-focus: #4199fd;
	--presby-error: #f04438;
	--presby-radius: 8px;
}

/*
 * Rows: 20px between two fields and a 25px gap between columns (the two Name
 * inputs), like Formidable. Forminator's grid adds 30px under every column,
 * which made multi-column fields taller than single ones.
 */
.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .forminator-row {
	margin-right: -12.5px;
	margin-bottom: 20px;
	margin-left: -12.5px;
}

.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .forminator-row > .forminator-col,
.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .forminator-field-name > .forminator-col {
	margin-bottom: 0;
	padding-right: 12.5px;
	padding-left: 12.5px;
}

/* Name sub-fields wrap on narrow screens: keep 20px between the stacked inputs. */
@media (max-width: 782px) {
	.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .forminator-field-name > .forminator-col:not(:last-child) {
		margin-bottom: 20px;
	}
}

.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .forminator-field {
	margin-bottom: 0;
}

/* Labels. */
.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .forminator-label {
	display: block;
	margin: 0;
	padding: 0;
	color: var(--presby-label);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.65;
}

.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .forminator-required {
	color: var(--presby-error);
	font-weight: 700;
}

/* Sub-labels and descriptions ("First name", "Last name", help text). */
.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .forminator-description,
.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .forminator-label--info {
	margin: 0;
	color: var(--presby-muted);
	font-size: 12px;
	font-weight: 400;
}

/* Text fields, textarea and the closed state of the dropdown. */
.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .forminator-input,
.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .forminator-textarea,
.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .select2-container .select2-selection {
	box-sizing: border-box;
	width: 100%;
	min-height: 40px;
	padding: 8px 12px;
	border: 1px solid var(--presby-border);
	border-radius: var(--presby-radius);
	background-color: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
	color: var(--presby-text);
	font-size: 14px;
	font-weight: 400;
}

.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .forminator-textarea {
	min-height: 137px;
}

.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .select2-container .select2-selection .select2-selection__rendered {
	padding: 0;
	color: var(--presby-text);
	font-size: 14px;
	line-height: 22px;
}

/* Dropdown (select2): keep the closed box at 40px, like Formidable's native select. */
.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .select2-container .select2-selection--single {
	align-items: center;
	height: 40px;
}

.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .select2-container .select2-selection--single .select2-selection__arrow {
	width: auto;
	height: auto;
}

/* Focus and error states. */
.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .forminator-input:focus,
.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .forminator-textarea:focus,
.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .select2-container--open .select2-selection {
	border-color: var(--presby-focus);
	outline: 0;
}

.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .forminator-has_error .forminator-input,
.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .forminator-has_error .forminator-textarea,
.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .forminator-has_error .select2-selection {
	border-color: var(--presby-error);
}

.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .forminator-error-message {
	color: var(--presby-error);
	font-size: 14px;
}

/* Submit button. */
.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .forminator-button-submit {
	min-width: 0;
	margin: 10px 0;
	padding: 8px 16px;
	border: 1px solid #4199fd;
	border-radius: var(--presby-radius);
	background-color: #4199fd;
	color: #fff;
	font-size: 14px;
	font-weight: 400;
	line-height: 20px;
}

.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .forminator-button-submit:hover,
.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .forminator-button-submit:focus,
.forminator-ui.forminator-custom-form.forminator-design--default:not(#presby) .forminator-button-submit:active {
	border-color: #3680d3;
	background-color: #3680d3;
	color: #fff;
}
