/* Brand layer over the Gravity Forms Orbital theme. */
.gform_wrapper.mpf-gf_wrapper {
	--gf-color-primary: #007A78;
	--gf-color-primary-rgb: 0, 122, 120;
	--gf-color-primary-contrast: #fff;
	--gf-color-primary-darker: #006664;
	--gf-color-primary-lighter: #00ADAB;
	--gf-color-in-ctrl-primary: #007A78;
	--gf-ctrl-border-color: #BFCFCF;
	--gf-ctrl-radius: 6px;
	--gf-radius: 6px;
	--gf-font-family-base: var(--wp--preset--font-family--inter, Inter, sans-serif);
	--gf-font-family-primary: var(--wp--preset--font-family--inter, Inter, sans-serif);
	--gf-ctrl-font-size: 1rem;
	--gf-ctrl-label-font-size-primary: .98rem;
	--gf-ctrl-label-font-weight-primary: 600;
	--gf-ctrl-label-color-primary: #222;
	--gf-ctrl-desc-color: #5A6060;
	--gf-color-danger: #B3261E;
	--gf-field-gap-y: 1.5rem;
	--gf-ctrl-btn-bg-color-primary: #D9A74A;
	--gf-ctrl-btn-bg-color-hover-primary: #E4B964;
	--gf-ctrl-btn-color-primary: #222;
	--gf-ctrl-btn-color-hover-primary: #222;
	--gf-ctrl-btn-font-weight: 600;
	--gf-ctrl-btn-radius: 6px;
	--gf-ctrl-btn-font-size: 1rem;
	--gf-ctrl-btn-padding-x: 1.5rem;

	background: #fff;
	border: 1px solid #D5E6E6;
	border-radius: 12px;
	padding: clamp(1.25rem, 4vw, 2.5rem);
	box-shadow: 0 1px 2px rgba(34,34,34,.05), 0 12px 32px rgba(34,34,34,.07);
	text-align: left;
}

/* Progress bar */
.mpf-gf_wrapper .gf_progressbar_wrapper { margin-bottom: 1.75rem; }
.mpf-gf_wrapper .gf_progressbar_title { font-size: .8rem !important; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: #5A6060 !important; }
.mpf-gf_wrapper .gf_progressbar { background: #E4F1F1 !important; border-radius: 4px; height: 6px; }
.mpf-gf_wrapper .gf_progressbar_percentage { background: #007A78 !important; height: 6px !important; border-radius: 4px; }
.mpf-gf_wrapper .gf_progressbar_percentage span { display: none; }

/* Choice cards for radio and checkbox questions */
.mpf-gf_wrapper .mpf-choice-cards .gfield_radio,
.mpf-gf_wrapper .mpf-choice-cards .gfield_checkbox { display: grid !important; gap: .55rem; grid-template-columns: 1fr; }
.mpf-gf_wrapper .mpf-two-col .gfield_radio,
.mpf-gf_wrapper .mpf-two-col .gfield_checkbox { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 640px) {
	.mpf-gf_wrapper .mpf-two-col .gfield_radio,
	.mpf-gf_wrapper .mpf-two-col .gfield_checkbox { grid-template-columns: 1fr; }
}
.mpf-gf_wrapper .mpf-choice-cards .gchoice {
	position: relative; display: flex !important; align-items: center; gap: .7rem;
	min-height: 3rem; padding: .6rem .9rem; margin: 0 !important;
	border: 1px solid #C9D7D7; border-radius: 8px; transition: border-color .15s, background .15s;
}
.mpf-gf_wrapper .mpf-choice-cards .gchoice:hover { border-color: #007A78; }
.mpf-gf_wrapper .mpf-choice-cards .gchoice:has(input:checked) { border-color: #007A78; background: #E4F1F1; }
.mpf-gf_wrapper .mpf-choice-cards .gchoice label { font-size: .96rem !important; line-height: 1.35; margin: 0 !important; cursor: pointer; font-weight: 400 !important; }
/* Whole card clickable */
.mpf-gf_wrapper .mpf-choice-cards .gchoice label::after { content: ""; position: absolute; inset: 0; }

.mpf-gf_wrapper .gfield_description { font-size: .88rem; }
.mpf-gf-note { background: #E4F1F1; border-radius: 8px; padding: .8rem 1rem; font-size: .92rem; margin: 0; }
.mpf-gf-privacy { font-size: .82rem; line-height: 1.5; color: #5A6060; margin: 0; padding-left: 1.6rem; position: relative; }
.mpf-gf-privacy::before {
	content: ""; position: absolute; left: 0; top: .1rem; width: 1rem; height: 1rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23007A78' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='11' width='18' height='11' rx='2'/%3E%3Cpath d='M7 11V7a5 5 0 0 1 10 0v4'/%3E%3C/svg%3E") center / contain no-repeat;
}
.mpf-gf_wrapper .mpf-consent .gfield_consent_label { font-size: .85rem; color: #4A4F4F; line-height: 1.5; }

/* Buttons: primary gold, Back as a text link */
.mpf-gf_wrapper .gform_page_footer, .mpf-gf_wrapper .gform_footer { display: flex; flex-direction: row-reverse; justify-content: space-between; align-items: center; margin-top: 2rem !important; }
.mpf-gf_wrapper .gform_previous_button.button {
	background: none !important; border: 0 !important; box-shadow: none !important;
	color: #006664 !important; text-decoration: underline; text-underline-offset: 3px; padding-left: 0 !important; font-weight: 600;
}
.mpf-gf_wrapper .gform_next_button.button, .mpf-gf_wrapper .gform_button.button { min-width: 10rem; }

.gform_confirmation_message { font-size: 1.1rem; }

/* Character counters add noise to short fields */
.mpf-gf_wrapper .ginput_counter { display: none; }

/* Error summary is an h2: keep the theme's article heading spacing and type off it */
.gform_wrapper.mpf-gf_wrapper .gform_validation_errors .gform_submission_error {
	margin: 0 !important;
	font-family: var(--wp--preset--font-family--inter, Inter, sans-serif);
	font-size: .95rem;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0;
}
.gform_wrapper.mpf-gf_wrapper .gform_validation_errors { padding-block: .9rem; }

/* Match Assessment: the "profile ready" moment before contact details. */
.mpf-gf-ready { background: #E4F1F1; border-left: 4px solid #007A78; border-radius: 8px; padding: 1rem 1.25rem; }
.mpf-gf-ready p { margin: 0; }
.mpf-gf-ready__title { font-family: var(--wp--preset--font-family--lora, Lora, serif); font-size: 1.35rem; font-weight: 600; color: #006664; margin-bottom: .4rem !important; }

/* The report that replaces a form once it is sent. */
.gform_confirmation_message .mpf-report { border: 1px solid #D5E6E6; border-radius: 12px; padding: clamp(1.25rem, 4vw, 2.5rem); background: #fff; text-align: left; }
.gform_confirmation_message .mpf-report h2 { font-size: var(--wp--preset--font-size--x-large); }

/* Gravity Forms' own theme zeroes the gap inside a choice, so the radio sat against its label. */
.gform-theme--framework.mpf-gf_wrapper .mpf-choice-cards .gchoice { column-gap: .7rem !important; }
