/* ==========================================================================
   forminator-itcm.css — makes every Forminator form look like the WPForms forms
   (underlined inputs, grey labels, 60% field width, dark uppercase button).

   Scope: all Forminator custom forms (.forminator-custom-form), except the
   dark sidebar form which uses data-design="flat" and has its own Live CSS.
   To include that one too, delete :not([data-design="flat"]) everywhere.

   Specificity: the two :not(#…) pseudo-classes add two ID selectors, so these
   rules beat Forminator's per-form CSS (which uses one #forminator-module-N)
   regardless of stylesheet load order, and without !important.
   ========================================================================== */

/* --- Base / font ---------------------------------------------------------- */
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) {
	font-family: var(--td_default_google_font_1, 'Open Sans', 'Open Sans Regular', sans-serif);
	font-size: 14px;
	line-height: 21px;
	color: #000;
	background: transparent;
}

/* --- Rows: 10px above/below each field (WPForms .wpforms-field padding) ---- */
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-row {
	margin-bottom: 0;
	padding: 10px 0;
}
/* Rows nested inside a field (name, address, …) sit flush */
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-row .forminator-row {
	padding: 0;
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-row .forminator-row {
	margin-left: 0;
	margin-right: 0;
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-row .forminator-row > .forminator-col {
	margin-bottom: 0;
	padding-left: 0;
	padding-right: 0;
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-row .forminator-row > .forminator-col + .forminator-col {
	margin-top: 10px;
}

/* --- Field wrapper: label above input (undo the site's flex/inline label) -- */
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-field {
	display: block;
	margin: 0;
}

/* --- Labels --------------------------------------------------------------- */
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-label {
	display: inline;
	width: auto;
	margin: 0;
	padding: 0;
	text-align: left;
	font-family: inherit;
	font-size: 13px;
	font-weight: 500;
	line-height: 21px;
	color: #adb3b9;
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-label .forminator-required {
	color: #f00;
	font-weight: 400;
}

/* --- Text-like inputs and textarea: underline only ------------------------ */
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-input,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-textarea {
	display: block;
	width: 100%;
	height: 34px;
	min-height: 0;
	margin: 0;
	padding: 3px 0;
	background-color: #fff;
	border: 0;
	border-bottom: 1px solid #eef0f3;
	border-radius: 0;
	box-shadow: none;
	outline: none;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	line-height: 21px;
	color: #243442;
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-textarea {
	height: 120px;
	min-height: 120px !important; /* Forminator sets min-height inline from "rows" */
	padding: 6px 0;
	line-height: 19.5px;
	resize: vertical;
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-input:hover,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-input:focus,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-input:active,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-textarea:hover,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-textarea:focus,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-textarea:active {
	background-color: #fff;
	border-color: #eef0f3;
	box-shadow: none;
	outline: none;
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-input::placeholder,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-textarea::placeholder {
	color: #757575;
	font-weight: 600;
	opacity: 1;
}

/* --- Dropdowns (select2 closed state) ------------------------------------- */
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-select .select2-selection,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-select2 + .select2 .select2-selection {
	height: 34px;
	background-color: #fff;
	border: 0;
	border-bottom: 1px solid #eef0f3;
	border-radius: 0;
	box-shadow: none;
	font-family: inherit;
	font-size: 15px;
	font-weight: 600;
	color: #243442;
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-select .select2-selection__rendered,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-select2 + .select2 .select2-selection__rendered {
	padding-left: 0;
	font-size: 15px;
	font-weight: 600;
	line-height: 32px;
	color: #243442;
}

/* --- Validation (keep it visible, but on-style) --------------------------- */
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-has_error .forminator-input,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-has_error .forminator-textarea {
	border-bottom-color: #f00;
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-error-message {
	margin: 4px 0 0;
	font-size: 13px;
	color: #f00;
}

/* --- Checkboxes and radios: layout ---------------------------------------- */
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-checkbox,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-radio {
	display: flex;
	align-items: baseline;
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-checkbox__wrapper {
	display: flex;
	align-items: baseline;
}
/* WPForms stacks each option in its own 10px-padded block */
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-field > .forminator-checkbox,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-field > .forminator-radio {
	margin: 0;
	padding: 10px 0;
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-field > .forminator-checkbox:first-child,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-field > .forminator-radio:first-child {
	padding-top: 0;
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-field > .forminator-checkbox:last-child,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-field > .forminator-radio:last-child {
	padding-bottom: 0;
}

/* Checkbox box: 14px, #ccc border, blue tick when checked */
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-checkbox .forminator-checkbox-box {
	flex: 0 0 14px;
	width: 14px;
	height: 14px;
	margin: 0 10px 0 3px;
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 0;
	color: #fff;
	transform: translateY(1px);
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-checkbox .forminator-checkbox-box:before {
	font-size: 10px;
	color: #fff;
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-checkbox input:checked + .forminator-checkbox-box {
	background-color: #0075ff;
	border-color: #0075ff;
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-checkbox input:focus-visible + .forminator-checkbox-box {
	outline: 2px solid #243442;
	outline-offset: 1px;
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-checkbox .forminator-checkbox-box ~ span {
	margin-left: 0;
}

/* Radio bullet: 14px circle, blue dot when checked */
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-radio .forminator-radio-bullet {
	flex: 0 0 14px;
	width: 14px;
	height: 14px;
	margin: 0 10px 0 3px;
	background-color: #fff;
	border: 1px solid #ccc;
	border-radius: 50%;
	box-shadow: none;
	transform: translateY(1px);
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-radio .forminator-radio-bullet:before {
	display: none;
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-radio input:checked + .forminator-radio-bullet {
	background-color: #0075ff;
	border-color: #0075ff;
	box-shadow: inset 0 0 0 2px #fff;
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-radio input:focus-visible + .forminator-radio-bullet {
	outline: 2px solid #243442;
	outline-offset: 1px;
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-radio .forminator-radio-bullet ~ span {
	margin-left: 0;
}

/* Option text */
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-checkbox .forminator-checkbox-label,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-checkbox__label,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-checkbox__label p,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-radio .forminator-radio-label {
	margin: 0;
	padding: 0;
	font-family: inherit;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.3;
	color: #000;
	word-break: break-word;
}

/* GDPR / consent row: label sits above the checkbox line */
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-field-consent {
	margin-top: 10px;
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-field-consent .forminator-label {
	display: block;
	margin-bottom: 4px;
}

/* --- Buttons (submit, multi-step next/back, file upload) ------------------ */
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-row-last {
	margin-top: 10px;
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) button.forminator-button-submit,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) button.forminator-button-next,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) button.forminator-button-back,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) button.forminator-button-upload {
	display: inline-block;
	width: auto;
	min-height: 0;
	margin: 0;
	padding: 10px 30px;
	background-color: #444;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 21px;
	letter-spacing: normal;
	text-align: center;
	text-transform: uppercase;
	color: #fff;
	cursor: pointer;
	transition: 0.3s;
}
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) button.forminator-button-submit:hover,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) button.forminator-button-submit:focus,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) button.forminator-button-submit:active,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) button.forminator-button-next:hover,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) button.forminator-button-next:focus,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) button.forminator-button-next:active,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) button.forminator-button-back:hover,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) button.forminator-button-back:focus,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) button.forminator-button-back:active,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) button.forminator-button-upload:hover,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) button.forminator-button-upload:focus,
html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) button.forminator-button-upload:active {
	background-color: #000;
	color: #fff;
	box-shadow: none;
}

/* --- Desktop (Forminator's grid switches to columns at 783px) ------------- */
@media (min-width: 783px) {
	/* WPForms "medium" fields are 60% wide; the row's -15px margins add 30px */
	html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) > .forminator-row,
	html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-pagination > .forminator-row {
		max-width: calc(60% + 30px);
	}
	/* 40px gap between side-by-side inputs (e.g. First / Last name) */
	html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-row .forminator-row {
		margin-left: -20px;
		margin-right: -20px;
		max-width: none;
	}
	html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-row .forminator-row > .forminator-col {
		padding-left: 20px;
		padding-right: 20px;
	}
	html body .forminator-ui.forminator-custom-form:not([data-design="flat"]):not(#forminator-a):not(#forminator-b) .forminator-row .forminator-row > .forminator-col + .forminator-col {
		margin-top: 0;
	}
}
