/* Property submission form (Formidable form #3) — Figma redesign */

#frm_form_3_container {
	--pf-teal: #1593A0;
	--pf-teal-dark: #0F7E8A;
	--pf-orange: #EF7858;
	--pf-gold: #F4BD60;
	--pf-input-bg: #F6F6F6;
	--pf-chip-bg: #FAF8F8;
	--pf-border: #ECECEC;
	--pf-chip-border: #EFEAE8;
	--pf-text: #3F3F3F;
	--pf-label: #4A4A4A;
	--pf-muted: #8C8C8C;
	--pf-radius: 8px;
}

/* ---------- Layout ----------
   Formidable already lays fields out on a 12-col grid and forces
   `grid-column: 1 / span 12 !important` on every field container,
   so per-field placement must also carry !important. */

#frm_form_3_container .frm_fields_container {
	gap: 28px 40px;
	align-items: start;
}

#frm_form_3_container .frm_fields_container > .frm_form_field {
	margin: 0;
}

#frm_field_16_container { order: 1; grid-column: 1 / 7 !important; }
#frm_field_20_container { order: 2; grid-column: 7 / 13 !important; }
#frm_field_21_container { order: 3; grid-column: 1 / 7 !important; }
#frm_field_22_container { order: 4; grid-column: 7 / 13 !important; }
#frm_field_23_container { order: 5; }
#frm_field_24_container { order: 6; grid-column: 1 / 7 !important; }
#frm_field_25_container { order: 7; grid-column: 1 / 7 !important; }
#frm_field_26_container { order: 8; grid-column: 7 / 13 !important; }
#frm_field_28_container { order: 9; grid-column: 1 / 7 !important; }
#frm_field_27_container { order: 10; grid-column: 7 / 13 !important; }
#frm_field_29_container { order: 11; grid-column: 1 / 7 !important; }
#frm_field_33_container { order: 12; grid-column: 7 / 13 !important; }
#frm_field_30_container { order: 13; grid-column: 1 / 3 !important; }
#frm_field_31_container { order: 14; grid-column: 3 / 5 !important; }
#frm_field_32_container { order: 15; grid-column: 5 / 7 !important; }
#frm_field_36_container { order: 16; grid-column: 7 / 13 !important; }
#frm_field_37_container { order: 17; grid-column: 1 / 7 !important; }
#frm_field_38_container { order: 18; grid-column: 7 / 13 !important; }
#frm_field_41_container { order: 19; }
#frm_field_35_container { order: 20; grid-column: 1 / 7 !important; }
#frm_field_44_container { order: 21; grid-column: 1 / 7 !important; }
#frm_field_46_container { order: 22; grid-column: 7 / 13 !important; }
#frm_field_45_container { order: 23; grid-column: 1 / 7 !important; }
#frm_field_48_container { order: 24; grid-column: 7 / 13 !important; }
#frm_field_47_container { order: 25; grid-column: 1 / 7 !important; }
#frm_field_49_container { order: 26; grid-column: 7 / 13 !important; }
#frm_field_50_container { order: 27; grid-column: 1 / 7 !important; }
#frm_field_51_container { order: 28; grid-column: 7 / 13 !important; grid-row: span 2; }
#frm_field_52_container { order: 29; grid-column: 1 / 7 !important; }
#frm_field_39_container { order: 30; }
#frm_field_15_container { order: 31; }

/* Honeypot */
#frm_form_3_container .frm_fields_container > div:has(input.frm_verify) {
	display: none;
}

/* ---------- Labels ---------- */

#frm_form_3_container .frm_primary_label {
	font-size: 15px;
	font-weight: 500;
	color: var(--pf-label);
	margin-bottom: 10px;
}

#frm_form_3_container .frm_required {
	color: var(--pf-orange);
}

/* ---------- Inputs ---------- */

#frm_form_3_container input[type="text"],
#frm_form_3_container input[type="url"],
#frm_form_3_container input[type="email"],
#frm_form_3_container input[type="tel"],
#frm_form_3_container input[type="number"],
#frm_form_3_container select,
#frm_form_3_container textarea {
	width: 100%;
	background: var(--pf-input-bg);
	border: 1px solid var(--pf-border);
	border-radius: var(--pf-radius);
	padding: 12px 16px;
	font-size: 15px;
	color: var(--pf-text);
	box-shadow: none;
}

#frm_form_3_container input:focus,
#frm_form_3_container select:focus,
#frm_form_3_container textarea:focus {
	background: #fff;
	border-color: var(--pf-teal);
	outline: none;
	box-shadow: 0 0 0 3px rgba(21, 147, 160, 0.12);
}

/* ---------- Rich text (WP editor) fields ---------- */

#frm_form_3_container .wp-editor-wrap {
	border: 1px solid var(--pf-border);
	border-radius: var(--pf-radius);
	overflow: hidden;
	background: var(--pf-input-bg);
}

#frm_form_3_container .wp-editor-wrap textarea {
	border: none;
	border-radius: 0;
	background: #fff;
}

#frm_form_3_container .wp-editor-tools {
	padding: 8px 10px 0;
}

/* Visual / Code tabs — theme styles buttons teal, force the light look */
#frm_form_3_container .wp-editor-tabs .wp-switch-editor {
	background: transparent !important;
	border: 1px solid transparent !important;
	border-radius: 6px 6px 0 0;
	color: #8C8C8C !important;
	font-size: 13px;
	padding: 6px 14px;
	margin: 0;
	float: none;
	box-shadow: none;
}

#frm_form_3_container .html-active .wp-editor-tabs .switch-html,
#frm_form_3_container .tmce-active .wp-editor-tabs .switch-tmce {
	background: #fff !important;
	border-color: var(--pf-border) !important;
	border-bottom-color: #fff !important;
	color: var(--pf-text) !important;
}

/* Quicktags toolbar (Code tab) */
#frm_form_3_container .quicktags-toolbar {
	background: var(--pf-input-bg);
	border-bottom: 1px solid var(--pf-border);
	padding: 8px 10px;
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

#frm_form_3_container .quicktags-toolbar {
	gap: 5px;
}

#frm_form_3_container .quicktags-toolbar .ed_button {
	width: auto;
	background: #fff !important;
	border: 1px solid #DEDAD8 !important;
	border-radius: 5px;
	color: #5A5A5A !important;
	font-size: 11px;
	font-weight: 500;
	padding: 3px 8px;
	margin: 0;
	min-height: 0;
	line-height: 1.4;
	box-shadow: none;
	text-shadow: none;
}

#frm_form_3_container .quicktags-toolbar .ed_button:hover {
	border-color: var(--pf-gold) !important;
}

/* WP hides quicktags in Visual mode with a lower-specificity rule —
   restate it, otherwise the display:flex above wins and both toolbars show */
#frm_form_3_container .tmce-active .quicktags-toolbar {
	display: none;
}

/* TinyMCE toolbar (Visual tab) — theme paints its buttons teal */
#frm_form_3_container .wp-editor-wrap .mce-toolbar-grp,
#frm_form_3_container .wp-editor-wrap .mce-top-part::before {
	background: var(--pf-input-bg);
	border-bottom: 1px solid var(--pf-border);
	box-shadow: none;
}

#frm_form_3_container .wp-editor-wrap .mce-btn {
	background: transparent !important;
	border: 1px solid transparent !important;
	border-radius: 5px;
	box-shadow: none !important;
}

#frm_form_3_container .wp-editor-wrap .mce-btn button {
	background: transparent !important;
	border: none !important;
	color: #5A5A5A !important;
	box-shadow: none !important;
	text-shadow: none !important;
	padding-top: 2px;
	padding-bottom: 2px;
}

#frm_form_3_container .wp-editor-wrap .mce-btn:hover,
#frm_form_3_container .wp-editor-wrap .mce-btn.mce-active {
	background: #fff !important;
	border-color: #DEDAD8 !important;
}

#frm_form_3_container .wp-editor-wrap .mce-ico {
	color: #5A5A5A !important;
}

#frm_form_3_container .wp-editor-wrap .mce-btn.mce-listbox {
	background: #fff !important;
	border: 1px solid #DEDAD8 !important;
	border-radius: 5px;
}

#frm_form_3_container .wp-editor-wrap .mce-btn.mce-listbox .mce-txt {
	color: #5A5A5A;
	font-size: 12px;
}

#frm_form_3_container .wp-editor-wrap .mce-caret {
	border-top-color: #5A5A5A;
}

#frm_form_3_container .wp-editor-wrap .mce-edit-area {
	background: #fff;
}

#frm_form_3_container .wp-editor-wrap .mce-statusbar {
	border-top: 1px solid var(--pf-border);
	background: #fff;
}

/* ---------- Choice chips (checkbox/radio pill groups) ---------- */

#frm_form_3_container :is(.vertical_radio, .horizontal_radio) .frm_opt_container {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 14px;
}

#frm_form_3_container :is(.vertical_radio, .horizontal_radio) .frm_checkbox,
#frm_form_3_container :is(.vertical_radio, .horizontal_radio) .frm_radio {
	margin: 0;
}

#frm_form_3_container :is(.vertical_radio, .horizontal_radio) .frm_checkbox label,
#frm_form_3_container :is(.vertical_radio, .horizontal_radio) .frm_radio label {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--pf-chip-bg);
	border: 1px solid var(--pf-chip-border);
	border-radius: 10px;
	padding: 10px 18px;
	font-size: 14px;
	color: #5A5A5A;
	cursor: pointer;
	transition: border-color 0.15s, background 0.15s;
	margin: 0;
}

#frm_form_3_container :is(.vertical_radio, .horizontal_radio) .frm_checkbox label:hover,
#frm_form_3_container :is(.vertical_radio, .horizontal_radio) .frm_radio label:hover {
	border-color: var(--pf-gold);
}

/* Formidable forces size/radius and a checkmark ::before with !important */
#frm_form_3_container :is(.vertical_radio, .horizontal_radio) input[type="checkbox"],
#frm_form_3_container :is(.vertical_radio, .horizontal_radio) input[type="radio"] {
	appearance: none;
	-webkit-appearance: none;
	width: 18px !important;
	height: 18px !important;
	min-width: 18px !important;
	margin: 0;
	border: 1px solid #E2DDDA;
	border-radius: 50% !important;
	background: #fff;
	cursor: pointer;
	transition: background 0.15s, border-color 0.15s;
}

#frm_form_3_container .frm_checkbox input[type="checkbox"]:before,
#frm_form_3_container .frm_radio input[type="radio"]:before {
	display: none !important;
}

#frm_form_3_container :is(.vertical_radio, .horizontal_radio) input[type="checkbox"]:checked,
#frm_form_3_container :is(.vertical_radio, .horizontal_radio) input[type="radio"]:checked {
	background-color: var(--pf-gold) !important;
	border-color: var(--pf-gold) !important;
	background-image: none !important;
	box-shadow: inset 0 0 0 2px #fff;
}

#frm_form_3_container :is(.vertical_radio, .horizontal_radio) label:has(input:checked) {
	border-color: var(--pf-gold);
	background: #FDF8F0;
}

/* Consent checkbox (Privacy Policy) — plain row, orange dot, no pill */

#frm_form_3_container #frm_field_39_container .frm_opt_container {
	display: block;
}

#frm_form_3_container #frm_field_39_container .frm_checkbox label,
#frm_form_3_container #frm_field_39_container .frm_checkbox label:hover,
#frm_form_3_container #frm_field_39_container label:has(input:checked) {
	background: none;
	border: none;
	padding: 0;
	font-size: 15px;
	color: var(--pf-text);
	gap: 12px;
	display: inline-flex;
	align-items: center;
}

#frm_form_3_container #frm_field_39_container input[type="checkbox"]:checked {
	background-color: var(--pf-orange) !important;
	border-color: var(--pf-orange) !important;
}

#frm_field_39_container .frm_description {
	margin-top: 10px;
	font-size: 15px;
}

#frm_form_3_container .frm_description a,
#frm_field_39_container a {
	color: var(--pf-teal);
	font-weight: 600;
	text-decoration: underline;
}

/* ---------- File upload dropzones ---------- */

#frm_form_3_container .frm_dropzone {
	background: var(--pf-input-bg);
	border: 1.5px dashed #C9C4C2;
	border-radius: 10px;
	padding: 36px 20px;
	text-align: center;
	min-height: 200px;
}

#frm_form_3_container .frm_dropzone .dz-message {
	margin: 0;
}

#frm_form_3_container .frm_dropzone .dz-message .frmsvg {
	width: 56px;
	height: 56px;
	padding: 15px;
	border-radius: 50%;
	background: linear-gradient(180deg, #F6AC68 0%, #F09B52 100%);
	fill: #fff;
	display: inline-block;
	margin-bottom: 14px;
}

#frm_form_3_container .frm_dropzone .dz-message .frm_upload_text {
	display: block;
	font-size: 16px;
	font-weight: 600;
	color: #6B6B6B;
}

#frm_form_3_container .frm_dropzone .dz-message .frm_small_text {
	display: block;
	font-size: 13px;
	color: var(--pf-muted);
	margin-top: 4px;
}

/* Uploaded file pills */

#frm_form_3_container .frm_dropzone .dz-preview {
	background: var(--pf-chip-bg);
	border: 1px solid var(--pf-chip-border);
	border-radius: 10px;
	padding: 8px 14px;
	margin: 12px 12px 0 0;
}

/* ---------- Address block ---------- */

#frm_field_41_container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 40px;
}

#frm_field_41_container > .frm_primary_label {
	grid-column: 1 / -1;
}

#frm_field_41_container > fieldset {
	grid-column: 1 / 2;
	border: none;
	padding: 0;
	margin: 0;
	min-width: 0;
}

/* Geolocation add-on map (injected by JS) goes to the right column.
   It carries inline height/margin-top, hence the !important */
#frm_field_41_container > *:not(.frm_primary_label):not(fieldset) {
	grid-column: 2 / 3;
	grid-row: 2;
	border-radius: 10px;
	overflow: hidden;
	min-height: 260px;
	margin-top: 0 !important;
	height: auto !important;
	align-self: stretch;
}

#frm_field_41_container .frm_combo_inputs_container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px 20px;
}

#frm_field_41_container .frm_combo_inputs_container > .frm_form_field {
	margin: 0;
	float: none;
	width: 100%;
	grid-column: span 1;
	padding: 0;
}

#frm_field_41_container #frm_field_41-line1_container,
#frm_field_41_container #frm_field_41-line2_container {
	grid-column: 1 / -1;
}

#frm_field_41_container #frm_field_41-state_abbreviation_container {
	display: none;
}

/* Sub-labels (.frm_description) sit after their input in the markup —
   flex + order moves them above, styled like regular labels */

#frm_field_41_container .frm_combo_inputs_container > .frm_form_field {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

#frm_field_41_container .frm_combo_inputs_container .frm_description {
	order: -1;
	font-size: 15px;
	font-weight: 500;
	color: var(--pf-label);
	margin: 0;
}

#frm_field_41-country_container::before {
	content: "Country";
	order: -1;
	font-size: 15px;
	font-weight: 500;
	color: var(--pf-label);
}

/* ---------- Submit ---------- */

#frm_form_3_container .frm_button_submit {
	background: var(--pf-teal);
	color: #fff;
	border: none;
	border-radius: var(--pf-radius);
	padding: 14px 32px;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: background 0.15s;
}

#frm_form_3_container .frm_button_submit:hover {
	background: var(--pf-teal-dark);
}

/* ---------- Errors ---------- */

#frm_form_3_container .frm_error {
	color: var(--pf-orange);
	font-size: 13px;
	margin-top: 6px;
}

#frm_form_3_container .frm_blank_field input,
#frm_form_3_container .frm_blank_field textarea {
	border-color: var(--pf-orange);
}

/* ---------- Responsive ---------- */

@media (max-width: 767px) {
	#frm_form_3_container .frm_fields_container {
		gap: 24px 16px;
	}

	#frm_form_3_container .frm_fields_container > .frm_form_field {
		grid-column: 1 / 13 !important;
	}

	#frm_field_30_container { grid-column: 1 / 5 !important; }
	#frm_field_31_container { grid-column: 5 / 9 !important; }
	#frm_field_32_container { grid-column: 9 / 13 !important; }
	#frm_field_51_container { grid-row: auto; }

	#frm_field_41_container {
		display: grid;
		grid-template-columns: 1fr;
	}

	#frm_field_41_container > fieldset,
	#frm_field_41_container > *:not(.frm_primary_label):not(fieldset) {
		grid-column: 1;
		grid-row: auto;
	}
}
