/*
 * KRS base styling for Forminator forms.
 * Matches the Formidable "IRMAA 2025 Style" preset the old forms used.
 * Applies to every Forminator form on the site; a form that needs its own look
 * (the IRMAA funnels) overrides these via .forminator-custom-form-<id>.
 *
 * Source of truth: KRS_Website/theme/assets/krs-forminator.css (deployed to the child theme).
 */

.forminator-ui.forminator-custom-form {
	--krs-font: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	--krs-title-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--krs-text: #000232;
	--krs-option-text: #1D2939;
	--krs-border: #D0D5DD;
	--krs-accent: #8765B2;
	--krs-accent-hover: #75539f;
	--krs-required: #F04438;
	--krs-radius: 8px;
	--krs-shadow: 0 1px 2px 0 rgba(18, 18, 23, 0.05);
	--krs-focus-ring: 0 0 0 3px rgba(135, 101, 178, 0.18);

	font-family: var(--krs-font) !important;
	color: var(--krs-text);
	font-size: 16px;
	max-width: 100%;
	margin: 0;
}

/* Form title + intro (rendered by the converter as the first HTML block) */
.forminator-ui.forminator-custom-form .krs-form-title {
	font-family: var(--krs-title-font);
	font-size: 35px;
	font-weight: 500;
	line-height: 1.2;
	color: var(--krs-text);
	margin: 10px 0 60px;
}
.forminator-ui.forminator-custom-form .krs-form-description,
.forminator-ui.forminator-custom-form .krs-form-description p {
	font-family: var(--krs-font);
	font-size: 16px;
	line-height: 1.5;
	color: var(--krs-text);
	margin: 0 0 10px;
}

/* Rows / spacing */
.forminator-ui.forminator-custom-form .forminator-row {
	margin-bottom: 20px !important;
}
.forminator-ui.forminator-custom-form .forminator-row-last {
	margin-bottom: 0 !important;
}

/* Labels */
.forminator-ui.forminator-custom-form .forminator-label {
	font-family: var(--krs-font) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	line-height: 1.3 !important;
	color: var(--krs-text) !important;
	padding: 5px 0 !important;
	margin: 0 0 4px !important;
}
.forminator-ui.forminator-custom-form .forminator-required {
	color: var(--krs-required) !important;
	font-weight: 400;
}

/* Field descriptions (help text under a field) */
.forminator-ui.forminator-custom-form .forminator-description {
	font-family: var(--krs-font) !important;
	font-size: 14px !important;
	color: #000 !important;
	opacity: 0.8;
	margin-top: 6px !important;
}

/* Text inputs, textareas, date/time/number/phone/email */
.forminator-ui.forminator-custom-form .forminator-input,
.forminator-ui.forminator-custom-form .forminator-textarea,
.forminator-ui.forminator-custom-form select.forminator-select2 + .select2 .select2-selection,
.forminator-ui.forminator-custom-form .forminator-select2 + .select2-container .select2-selection--single {
	font-family: var(--krs-font) !important;
	font-size: 16px !important;
	color: var(--krs-text) !important;
	background-color: #fff !important;
	border: 1px solid var(--krs-border) !important;
	border-radius: var(--krs-radius) !important;
	box-shadow: var(--krs-shadow) !important;
	padding: 8px 12px !important;
	min-height: 40px;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.forminator-ui.forminator-custom-form .forminator-textarea {
	min-height: 120px;
	line-height: 1.5 !important;
}
.forminator-ui.forminator-custom-form .forminator-input:hover,
.forminator-ui.forminator-custom-form .forminator-textarea:hover {
	border-color: #b9bfc9 !important;
}
.forminator-ui.forminator-custom-form .forminator-input:focus,
.forminator-ui.forminator-custom-form .forminator-textarea:focus,
.forminator-ui.forminator-custom-form .select2-container--open .select2-selection,
.forminator-ui.forminator-custom-form .select2-container--focus .select2-selection {
	border-color: var(--krs-accent) !important;
	box-shadow: var(--krs-shadow), var(--krs-focus-ring) !important;
	outline: none !important;
}
.forminator-ui.forminator-custom-form .forminator-input::placeholder,
.forminator-ui.forminator-custom-form .forminator-textarea::placeholder {
	color: #98A2B3 !important;
	opacity: 1;
}
/* Select2 dropdown inner text and arrow */
.forminator-ui.forminator-custom-form .select2-selection__rendered {
	color: var(--krs-text) !important;
	line-height: 22px !important;
	padding: 0 !important;
}
.forminator-ui.forminator-custom-form .select2-selection__arrow {
	height: 100% !important;
}
.forminator-select-dropdown-container .select2-results__option {
	font-family: "Poppins", sans-serif !important;
	font-size: 15px !important;
	color: #000232 !important;
}
.forminator-select-dropdown-container .select2-results__option--highlighted,
.forminator-select-dropdown-container .select2-results__option[aria-selected="true"] {
	background-color: #f3eef9 !important;
	color: #000232 !important;
}

/* Radio + checkbox options */
.forminator-ui.forminator-custom-form .forminator-radio,
.forminator-ui.forminator-custom-form .forminator-checkbox {
	font-family: var(--krs-font) !important;
	font-size: 16px !important;
	color: var(--krs-option-text) !important;
	margin-bottom: 8px !important;
	align-items: center;
}
.forminator-ui.forminator-custom-form .forminator-radio-label,
.forminator-ui.forminator-custom-form .forminator-checkbox-label {
	font-family: var(--krs-font) !important;
	font-size: 16px !important;
	color: var(--krs-option-text) !important;
	line-height: 1.4 !important;
}
.forminator-ui.forminator-custom-form .forminator-radio-bullet,
.forminator-ui.forminator-custom-form .forminator-checkbox-box {
	border: 1px solid var(--krs-border) !important;
	background-color: #fff !important;
	box-shadow: var(--krs-shadow) !important;
}
.forminator-ui.forminator-custom-form .forminator-checkbox-box {
	border-radius: 4px !important;
}
.forminator-ui.forminator-custom-form .forminator-radio input:checked + .forminator-radio-bullet,
.forminator-ui.forminator-custom-form .forminator-checkbox input:checked + .forminator-checkbox-box {
	border-color: var(--krs-accent) !important;
	background-color: var(--krs-accent) !important;
}
.forminator-ui.forminator-custom-form .forminator-radio input:checked + .forminator-radio-bullet:before {
	background-color: #fff !important;
}
.forminator-ui.forminator-custom-form .forminator-checkbox input:checked + .forminator-checkbox-box:before {
	color: #fff !important;
}
.forminator-ui.forminator-custom-form .forminator-radio input:focus-visible + .forminator-radio-bullet,
.forminator-ui.forminator-custom-form .forminator-checkbox input:focus-visible + .forminator-checkbox-box {
	box-shadow: var(--krs-focus-ring) !important;
}

/* The "basic" design uses native radio/checkbox inputs: size and tint them. */
.forminator-ui.forminator-custom-form .forminator-radio input[type="radio"],
.forminator-ui.forminator-custom-form .forminator-checkbox input[type="checkbox"] {
	accent-color: var(--krs-accent);
	width: 18px !important;
	height: 18px !important;
	margin: 0 10px 0 0 !important;
	flex: 0 0 18px;
	cursor: pointer;
}
.forminator-ui.forminator-custom-form .forminator-radio,
.forminator-ui.forminator-custom-form .forminator-checkbox {
	display: flex !important;
	cursor: pointer;
}

/* Section headings */
.forminator-ui.forminator-custom-form .forminator-field-section .forminator-title {
	font-family: var(--krs-font) !important;
	font-size: 19px !important;
	font-weight: 700 !important;
	color: var(--krs-text) !important;
	margin: 20px 0 0 !important;
}
.forminator-ui.forminator-custom-form .forminator-field-section .forminator-subtitle {
	font-family: var(--krs-font) !important;
	font-size: 14px !important;
	color: var(--krs-text) !important;
}

/* HTML blocks */
.forminator-ui.forminator-custom-form .forminator-field-html,
.forminator-ui.forminator-custom-form .forminator-merge-tags {
	font-family: var(--krs-font);
	color: var(--krs-text);
	font-size: 16px;
	line-height: 1.5;
}

/* File upload */
.forminator-ui.forminator-custom-form .forminator-button-upload {
	font-family: var(--krs-font) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	color: var(--krs-text) !important;
	background: #fff !important;
	border: 1px solid var(--krs-border) !important;
	border-radius: var(--krs-radius) !important;
	box-shadow: var(--krs-shadow) !important;
	padding: 8px 16px !important;
}
.forminator-ui.forminator-custom-form .forminator-button-upload:hover {
	border-color: var(--krs-accent) !important;
	color: var(--krs-accent) !important;
}

/* Submit + pagination buttons */
.forminator-ui.forminator-custom-form .forminator-button-submit,
.forminator-ui.forminator-custom-form .forminator-button-next,
.forminator-ui.forminator-custom-form .forminator-button-back {
	font-family: var(--krs-font) !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	color: #fff !important;
	background-color: var(--krs-accent) !important;
	border: 1px solid var(--krs-accent) !important;
	border-radius: var(--krs-radius) !important;
	box-shadow: var(--krs-shadow) !important;
	padding: 10px 16px !important;
	margin-top: 10px;
	cursor: pointer;
	transition: background-color 0.15s ease;
}
.forminator-ui.forminator-custom-form .forminator-button-submit:hover,
.forminator-ui.forminator-custom-form .forminator-button-next:hover {
	background-color: var(--krs-accent-hover) !important;
	border-color: var(--krs-accent-hover) !important;
}
.forminator-ui.forminator-custom-form .forminator-button-back {
	background-color: #fff !important;
	color: var(--krs-accent) !important;
}

/* Validation + response messages */
.forminator-ui.forminator-custom-form .forminator-error-message {
	font-family: var(--krs-font) !important;
	font-size: 14px !important;
	color: var(--krs-required) !important;
	background: none !important;
	padding: 4px 0 0 !important;
}
.forminator-ui.forminator-custom-form .forminator-has_error .forminator-input,
.forminator-ui.forminator-custom-form .forminator-has_error .forminator-textarea {
	border-color: var(--krs-required) !important;
}
.forminator-ui.forminator-custom-form .forminator-response-message {
	font-family: var(--krs-font) !important;
	font-size: 16px !important;
	border-radius: var(--krs-radius) !important;
}
.forminator-ui.forminator-custom-form .forminator-response-message.forminator-success {
	background-color: #f3eef9 !important;
	color: var(--krs-text) !important;
	border: 1px solid #d9cceb !important;
}

/* Full-width page wrapper used on standalone form pages (Elementor Canvas) */
.krs-form-page {
	padding: 10px;
}
