/*
 * Formidable Forms styling for normal (light) pages — contact page and any
 * other page embedding a form.
 *
 * Scoped with body:not(.page-template-template-home-new) so the dark hero
 * form on the New Home template keeps its own treatment and is never
 * repainted by these light styles.
 */

body:not(.page-template-template-home-new) .frm_forms{
	--frm-blue:#0179c3;
	--frm-blue-dark:#0165a5;
	--frm-ink:#0a1424;
	--frm-border:#d7dde5;
	--frm-error:#c92a2a;
	max-width:100%;
}

/* Strip the plugin's own chrome. */
body:not(.page-template-template-home-new) .frm_forms fieldset{
	margin:0;
	padding:0;
	border:0;
	background:none;
	min-width:0;
}
body:not(.page-template-template-home-new) .frm_forms legend{
	position:absolute;
	width:1px;height:1px;
	overflow:hidden;
	clip-path:inset(50%);
}

/* Formidable's 12-column grid uses percentage margins, which leaves uneven
   gutters. Flex gives the halves a real gap instead. */
body:not(.page-template-template-home-new) .frm_forms .frm_fields_container{
	display:flex;
	flex-wrap:wrap;
	gap:16px;
}
body:not(.page-template-template-home-new) .frm_forms .frm_form_field{
	flex:1 1 100%;
	min-width:0;
	margin:0;
	clear:none;
}
body:not(.page-template-template-home-new) .frm_forms .frm6{flex:1 1 calc(50% - 8px)}
body:not(.page-template-template-home-new) .frm_forms .frm4{flex:1 1 calc(33.333% - 11px)}
@media(max-width:600px){
	body:not(.page-template-template-home-new) .frm_forms .frm6,
	body:not(.page-template-template-home-new) .frm_forms .frm4{flex:1 1 100%}
}

/* Labels */
body:not(.page-template-template-home-new) .frm_forms .frm_primary_label{
	display:block;
	margin:0 0 6px;
	padding:0;
	font-size:14px;
	font-weight:600;
	color:var(--frm-ink);
	line-height:1.35;
}
body:not(.page-template-template-home-new) .frm_forms .frm_required{
	color:var(--frm-error);
	margin-left:2px;
}
body:not(.page-template-template-home-new) .frm_forms .frm_screen_reader{
	position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);
}

/* Text controls */
body:not(.page-template-template-home-new) .frm_forms input[type="text"],
body:not(.page-template-template-home-new) .frm_forms input[type="email"],
body:not(.page-template-template-home-new) .frm_forms input[type="tel"],
body:not(.page-template-template-home-new) .frm_forms input[type="url"],
body:not(.page-template-template-home-new) .frm_forms input[type="number"],
body:not(.page-template-template-home-new) .frm_forms input[type="date"],
body:not(.page-template-template-home-new) .frm_forms input[type="password"],
body:not(.page-template-template-home-new) .frm_forms select,
body:not(.page-template-template-home-new) .frm_forms textarea{
	width:100%;
	max-width:100%;
	padding:14px 16px;
	background:#fff;
	border:1px solid var(--frm-border);
	border-radius:8px;
	font-family:inherit;
	font-size:15.5px;
	line-height:1.4;
	color:var(--frm-ink);
	box-shadow:none;
	transition:border-color .2s, box-shadow .2s;
}
body:not(.page-template-template-home-new) .frm_forms textarea{
	min-height:130px;
	resize:vertical;
}
body:not(.page-template-template-home-new) .frm_forms input:focus,
body:not(.page-template-template-home-new) .frm_forms select:focus,
body:not(.page-template-template-home-new) .frm_forms textarea:focus{
	outline:none;
	border-color:var(--frm-blue);
	box-shadow:0 0 0 3px rgba(1,121,195,.15);
}
body:not(.page-template-template-home-new) .frm_forms input::placeholder,
body:not(.page-template-template-home-new) .frm_forms textarea::placeholder{
	color:#8a97a6;
	opacity:1;
}

/* Select: replace the cramped native arrow and give the text room for it. */
body:not(.page-template-template-home-new) .frm_forms select{
	-webkit-appearance:none;
	-moz-appearance:none;
	appearance:none;
	padding-right:44px;
	background-image:url("data:image/svg+xml;charset=UTF-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none' stroke='%230a1424' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");
	background-repeat:no-repeat;
	background-position:right 16px center;
	background-size:12px 8px;
	cursor:pointer;
}
body:not(.page-template-template-home-new) .frm_forms select::-ms-expand{display:none}

/* Submit button.
   Formidable's colours come from a style-preset block injected after the
   theme stylesheets, so !important is the only way to override it without
   editing that preset (which would change every form on the site). */
body:not(.page-template-template-home-new) .frm_forms .frm_submit{
	flex:1 1 100%;
	margin:4px 0 0;
	clear:none;
	text-align:left;
}
body:not(.page-template-template-home-new) .frm_forms input[type="submit"],
body:not(.page-template-template-home-new) .frm_forms button[type="submit"],
body:not(.page-template-template-home-new) .frm_forms .frm_button_submit{
	display:inline-block !important;
	width:auto !important;
	min-width:190px !important;
	margin:0 !important;
	padding:15px 34px !important;
	background:var(--frm-blue) !important;
	background-color:var(--frm-blue) !important;
	background-image:none !important;
	color:#fff !important;
	border:0 !important;
	border-radius:8px !important;
	font-family:inherit !important;
	font-size:16px !important;
	font-weight:600 !important;
	line-height:1.2 !important;
	letter-spacing:.01em !important;
	text-transform:none !important;
	height:auto !important;
	opacity:1 !important;
	cursor:pointer;
	box-shadow:none !important;
	text-shadow:none !important;
	transition:background .2s, transform .15s;
}
body:not(.page-template-template-home-new) .frm_forms input[type="submit"]:hover,
body:not(.page-template-template-home-new) .frm_forms button[type="submit"]:hover,
body:not(.page-template-template-home-new) .frm_forms .frm_button_submit:hover{
	background:var(--frm-blue-dark) !important;
	background-color:var(--frm-blue-dark) !important;
	color:#fff !important;
}
body:not(.page-template-template-home-new) .frm_forms input[type="submit"]:active{
	transform:translateY(1px);
}
@media(max-width:600px){
	body:not(.page-template-template-home-new) .frm_forms input[type="submit"],
	body:not(.page-template-template-home-new) .frm_forms button[type="submit"]{
		width:100% !important;
	}
}

/* Validation */
body:not(.page-template-template-home-new) .frm_forms .frm_error{
	margin:6px 0 0;
	padding:0;
	border:0;
	background:none;
	font-size:13px;
	line-height:1.45;
	color:var(--frm-error);
}
body:not(.page-template-template-home-new) .frm_forms .frm_error_style{
	margin:0 0 16px;
	padding:12px 14px;
	border-radius:8px;
	background:#fdf0f0;
	border:1px solid #f2c4c4;
	color:#8f2323;
	font-size:14px;
	line-height:1.5;
}
body:not(.page-template-template-home-new) .frm_forms .frm_blank_field input,
body:not(.page-template-template-home-new) .frm_forms .frm_blank_field select,
body:not(.page-template-template-home-new) .frm_forms .frm_blank_field textarea{
	border-color:var(--frm-error);
	background:#fffafa;
}

/* Success message */
body:not(.page-template-template-home-new) .frm_message,
body:not(.page-template-template-home-new) .frm_forms .frm_success_style{
	margin:0;
	padding:16px 18px;
	border-radius:8px;
	background:#eefaf2;
	border:1px solid #b7e4c9;
	color:#1f7a4d;
	font-size:15px;
	line-height:1.55;
}
body:not(.page-template-template-home-new) .frm_message p{margin:0}
