/*
 * Universal Pacific neutral form styles.
 * Lives in the ACTIVE THEME so the forms keep their appearance when Gravity Forms is
 * deactivated or removed. Every value below was measured from the LIVE Gravity Form
 * (https://www.universalpacific1031.com/contact/) with a headless browser, then
 * re-pointed at neutral .up-* selectors. No Gravity Forms class name is referenced.
 */
.up-form *, .up-form *::before, .up-form *::after { box-sizing: border-box; }

.up-fields { display: grid; grid-template-columns: repeat(12, 1fr); grid-row-gap: 16px; width: 100%; }
.up-field  { grid-column: 1 / -1; min-width: 0; }
.up-field--full { grid-column: span 12; }
.up-form fieldset.up-field { background: 0 0; padding: 0; border: none; display: block; margin: 0; }

/* label: Heebo 12.8px/700, uppercase, 2px tracking */
.up-form .up-label {
	display: block; font-family: Heebo; font-size: 12.8px; font-weight: 700;
	color: #000; line-height: 22.4px; margin-bottom: 8px; padding: 0;
	text-transform: uppercase; letter-spacing: 2px;
}
.up-form legend.up-label { background: 0 0; padding: 0; margin-left: 0; margin-right: 0; }

/* required marker: orange, italic inner span */
.up-form .up-required {
	display: inline; font-family: Heebo; font-size: 13.008px; font-weight: 700;
	color: #c02b0a; line-height: 22.764px; text-transform: uppercase; letter-spacing: 2px;
}
.up-form .up-required .up-required-text { font-style: italic; font-weight: 400; }

/* controls: Montserrat 15px, grey fill, hairline border, no radius */
.up-form .up-input,
.up-form .up-textarea {
	width: 100%; font-family: Montserrat; font-size: 15px; font-weight: 400;
	color: #666; line-height: 26.25px; background-color: #f8f8f8;
	border: 1px solid rgba(159,159,159,0.37); border-radius: 0;
	padding: 8px; margin: 0;
}
.up-form .up-input { height: 44px; }
.up-form .up-textarea--lg { height: 288px; }

/* complex name field: First / Last side by side with sub-labels below */
.up-complex { display: flex; flex-flow: row wrap; align-items: flex-start; }
.up-complex > .up-complex-col { flex: 1; padding-right: 1%; }
.up-complex > .up-complex-col ~ .up-complex-col { padding-left: 1%; padding-right: 0; }
.up-complex .up-input { width: 100%; }
.up-form .up-sublabel {
	display: block; font-family: Montserrat; font-size: 12.8px; font-weight: 400;
	color: #666; line-height: 22.4px; padding-top: 5px; text-transform: none; letter-spacing: normal;
}

/* footer — live's submit button is deliberately left as the browser default */
.up-footer { display: flex; flex-wrap: wrap; margin: 6px 0 0; padding: 16px 0; position: relative; }
.up-turnstile { width: 100%; }
.up-form .wpcf7-form-control-wrap { display: block; }
.up-footer .wpcf7-spinner { position: absolute; right: 0; top: 50%; transform: translateY(-50%); margin: 0; }


/* live puts .125em (1.6px at 12.8px) after the label text, before (Required) */
.up-form .up-label__text{padding-right:1.6px}

/* live emits a <br> after the Turnstile widget, worth 28px before the submit button */
.up-form .up-turnstile{padding-bottom:28px}

/* Submit as a brand CTA — filled variant of the site's green pill
   (.uk-button-default: #3B823E, Montserrat 800/12px, radius 500px, 40px line-height).
   This is a deliberate improvement: live renders an unstyled browser button. */
.up-form .up-footer input[type=submit] {
	display: inline-block;
	font-family: Montserrat;
	font-size: 12px;
	font-weight: 800;
	line-height: 40px;
	letter-spacing: normal;
	text-transform: none;
	color: #fff;
	background-color: #3B823E;
	border: 2px solid #3B823E;
	border-radius: 500px;
	padding: 0 30px;
	height: auto;
	margin-bottom: 8px;
	cursor: pointer;
	transition: background-color .15s ease, color .15s ease;
	-webkit-appearance: none;
	appearance: none;
}
.up-form .up-footer input[type=submit]:hover,
.up-form .up-footer input[type=submit]:focus {
	background-color: transparent;
	color: #3B823E;
}
