body .frm_forms .frm_primary_label,
body .frm_forms .frm_form_field > label {
	display: block !important;
	margin: 0 0 8px !important;
	color: var(--color-ink) !important;
	font-family: var(--font-body) !important;
	font-size: 12px !important;
	font-weight: 400 !important;
	line-height: 1.4 !important;
}

body .frm_forms .frm_none_container > .frm_primary_label { display: none !important; }

body .frm_forms .frm_form_field input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body .frm_forms .frm_form_field textarea,
body .frm_forms .frm_form_field select {
	width: 100% !important;
	min-height: 40px !important;
	padding: 8px 0 !important;
	border: 0 !important;
	border-bottom: 1px solid var(--color-surface) !important;
	border-radius: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	color: var(--color-ink) !important;
	font-family: var(--font-body) !important;
	font-size: 16px !important;
	line-height: 1.4 !important;
	box-shadow: none !important;
	backdrop-filter: none !important;
}

body .frm_forms .frm_form_field textarea { min-height: 76px !important; resize: vertical; }

body .frm_forms .frm_form_field input::placeholder,
body .frm_forms .frm_form_field textarea::placeholder { color: var(--color-ink) !important; opacity: .65; }

body .frm_forms .frm_form_field input:focus,
body .frm_forms .frm_form_field textarea:focus,
body .frm_forms .frm_form_field select:focus { border-bottom-color: var(--color-ink); box-shadow: 0 1px 0 var(--color-ink); }

body .frm_forms .frm_checkbox label,
body .frm_forms .frm_radio label {
	display: flex !important;
	align-items: center;
	gap: 8px !important;
	color: var(--color-ink) !important;
	font-size: 14px;
}

body .frm_forms.with_frm_style .frm_checkbox input[type="checkbox"],
body .frm_forms.with_frm_style .frm_radio input[type="radio"] {
	width: 16px !important;
	min-width: 16px !important;
	height: 16px !important;
	min-height: 16px !important;
	margin: 0 !important;
	border: 1px solid var(--color-surface) !important;
	border-radius: 2px !important;
	background: transparent !important;
	box-shadow: none !important;
	appearance: none !important;
	-webkit-appearance: none !important;
	cursor: pointer;
}

/* Formidable adds a second checked-state tick through this pseudo-element. */
body .frm_forms.with_frm_style .frm_checkbox input[type="checkbox"]::before,
body .frm_forms.with_frm_style .frm_checkbox input[type="checkbox"]::after {
	content: none !important;
	display: none !important;
	background: none !important;
}

body .frm_forms.with_frm_style .frm_fields_container .frm_checkbox input[type="checkbox"]:not([disabled]):checked {
	border-color: transparent !important;
	background-color: transparent !important;
	background-image: url("../images/icons/fluent-checkmark-square-24-filled.svg") !important;
	background-position: center !important;
	background-repeat: no-repeat !important;
	background-size: 16px 16px !important;
}

body .frm_forms .frm_description,
body .frm_forms .frm_error,
body .frm_forms .frm_error_style {
	color: var(--color-ink);
	font-size: 12px;
	line-height: 1.4;
}

body .frm_forms .frm_required,
body .frm_forms .frm_html_container,
body .frm_forms .frm_description { color: var(--color-ink) !important; }

body .frm_forms .frm_required {
	font-size: 10px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
}

body .frm_forms .frm_submit { margin: 0 !important; }


body .frm_forms.with_frm_style .frm_button_submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: auto !important;
	min-height: 51px !important;
	margin: 0 !important;
	padding: 16px 32px !important;
	border: 1px solid var(--color-ink) !important;
	border-radius: 40px !important;
	background: var(--color-ink) !important;
	color: var(--color-bg) !important;
	font-family: var(--font-body) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	box-shadow: none !important;
	cursor: pointer;
	transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}

body .frm_forms.with_frm_style .frm_button_submit::after {
	width: 10px;
	height: 12px;
	background: #fff;
	-webkit-mask: url("../images/icons/material-symbols_play-arrow-rounded.svg") center / contain no-repeat;
	mask: url("../images/icons/material-symbols_play-arrow-rounded.svg") center / contain no-repeat;
	content: "";
	flex: 0 0 auto;
}

body .frm_forms.with_frm_style .frm_button_submit:hover,
body .frm_forms.with_frm_style .frm_button_submit:focus-visible {
	border-color: var(--color-copy) !important;
	background: var(--color-copy) !important;
	color: var(--color-bg) !important;
	transform: none;
}


body .frm_forms .frm_form_field:has(input[type="file"]),body .frm_forms .frm_form_field:has(.frm_dropzone),body .frm_forms .frm_form_field:has(input[type="checkbox"]){grid-column:1 / -1 !important}
body .frm_forms .frm_form_field:has(.frm_dropzone)>.frm_primary_label{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}
body .frm_forms.with_frm_style .frm_dropzone{box-sizing:border-box;width:100%;max-width:none;border:1px dashed var(--color-surface)!important;border-radius:8px!important;background:rgba(204,207,189,.25)!important;min-height:112px;padding:24px!important;color:var(--color-copy);box-shadow:none!important}
body .frm_forms.with_frm_style .frm_dropzone .dz-message{display:flex!important;align-items:center;justify-content:center;gap:10px;margin:0!important;min-height:62px;background:transparent!important;font-family:var(--font-body,"TASA Explorer",sans-serif);font-size:12px;font-weight:400;line-height:1.4;color:var(--color-copy)}
body .frm_forms .frm_dropzone .dz-message::before{content:"";width:24px;height:24px;flex:0 0 24px;background:url("../images/icons/proicons_attach.svg") center/contain no-repeat}
body .frm_forms .frm_dropzone .dz-message>.frmsvg,body .frm_forms .frm_dropzone .frm_upload_icon,body .frm_forms .frm_dropzone .frm_compact_text,body .frm_forms .frm_dropzone .frm_small_text{display:none!important}
body .frm_forms.with_frm_style .frm_dropzone .frm_upload_text{display:block!important;min-width:0;margin:0}
body .frm_forms.with_frm_style .frm_dropzone .dz-message button{appearance:none;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important;margin:0!important;font:inherit!important;color:inherit!important;white-space:normal;text-align:center;cursor:pointer}
body .frm_forms .frm_dropzone .dz-message button:focus-visible{outline:2px solid var(--color-copy);outline-offset:4px}
body .frm_forms input[type="file"]{max-width:100%;color:var(--color-ink)}
/* Preserve native form validation and a visible keyboard focus indicator. */
body .frm_forms .frm_form_field input:focus-visible,body .frm_forms .frm_form_field select:focus-visible,body .frm_forms .frm_form_field textarea:focus-visible{outline:2px solid var(--color-copy) !important;outline-offset:3px}
body .frm_forms .frm_submit{display:flex;flex-wrap:wrap;gap:16px;align-items:center}

/* Shared native selects: preserve keyboard and mobile picker behaviour. */
body .frm_forms.with_frm_style .frm_form_field select{appearance:none!important;-webkit-appearance:none!important;padding-right:32px!important;background-image:url("https://vdecto.mentall.studio/wp-content/uploads/2026/10/Dropdown-Icon.svg")!important;background-repeat:no-repeat!important;background-position:right 8px center!important;background-size:16px 16px!important}
body .frm_forms.with_frm_style .frm_form_field select[multiple]{background-image:none!important}
body .frm_forms.with_frm_style input[type="radio"]{border-radius:50%!important}
body .frm_forms.with_frm_style input[type="radio"]:checked{background:var(--color-ink)!important;box-shadow:inset 0 0 0 3px var(--color-bg)!important}
@media(max-width:767px){body .frm_forms .frm_checkbox label{align-items:flex-start}body .frm_forms .frm_dropzone .dz-message{white-space:normal}}


/* Form icons reduced by approximately 35%; control sizes stay accessible. */
body .frm_forms.with_frm_style .frm_form_field select{background-size:10px 10px!important}
body .frm_forms.with_frm_style .frm_dropzone .dz-message::before{width:16px;height:16px;flex-basis:16px}
body .frm_forms.with_frm_style .frm_button_submit::after{width:6.5px;height:8px}
