/* ==========================================================================
   Compact Ninja Forms layout — enquiry + careers forms.
   Short fields sit two to a row; long fields, choices, consent and the
   button span the full width. Collapses to one column on narrow screens.
   Ninja Forms markup: nf-fields-wrap > nf-field > .nf-field-container.{type}-container
   ========================================================================== */

.mt-form .nf-form-content { padding: 0; max-width: none; }

.mt-form nf-fields-wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 16px;
	row-gap: 0;
}
.mt-form nf-fields-wrap > nf-field { display: block; min-width: 0; }

/* Full-width rows */
.mt-form nf-fields-wrap > nf-field:has(.textarea-container),
.mt-form nf-fields-wrap > nf-field:has(.listcheckbox-container),
.mt-form nf-fields-wrap > nf-field:has(.checkbox-container),
.mt-form nf-fields-wrap > nf-field:has(.html-container),
.mt-form nf-fields-wrap > nf-field:has(.submit-container),
.mt-form nf-fields-wrap > nf-field:has(.listselect-container) {
	grid-column: 1 / -1;
}

/* Tighter vertical rhythm (Ninja's default is 25px a field) */
.mt-form .nf-form-content .nf-field-container { margin-bottom: 14px; }
.mt-form .nf-form-content .label-above .nf-field-label { margin-bottom: 4px; }
.mt-form .nf-form-content label { font-size: .82rem; }
.mt-form .nf-form-fields-required { font-size: .75rem; margin-bottom: 10px; }

.mt-form .nf-form-content input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]),
.mt-form .nf-form-content select.ninja-forms-field {
	padding: 10px 12px;
	font-size: .95rem;
	height: 44px;
}
.mt-form .nf-form-content textarea.ninja-forms-field { height: 96px; min-height: 96px; padding: 10px 12px; font-size: .95rem; }

/* Application tick-boxes in two columns */
.mt-form .listcheckbox-container .nf-field-element ul {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4px 16px;
	margin: 0;
	padding: 0;
}
.mt-form .listcheckbox-container .nf-field-element li { margin: 0; display: flex; align-items: center; gap: 8px; }
.mt-form .listcheckbox-container .nf-field-element li label { font-size: .85rem; margin: 0; }

/* Consent: tick-box beside the text, not below it.
   Ninja's .label-above rule stacks the label over the input in a column,
   so this needs .nf-form-content + .label-above to outrank it. */
.mt-form .nf-form-content .checkbox-container.label-above .field-wrap {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: flex-start;
	gap: 10px;
}
.mt-form .nf-form-content .checkbox-container.label-above .nf-field-label { order: 2; flex: 1 1 0; min-width: 0; width: auto; margin: 0; }
.mt-form .nf-form-content .checkbox-container.label-above .nf-field-element { order: 1; flex: 0 0 auto; width: auto; margin-top: 2px; }
.mt-form .nf-form-content .checkbox-container .nf-field-label label { font-weight: 400; font-size: .8rem; line-height: 1.45; margin: 0; }

/* CV note (careers) reads as a hint, not a paragraph */
.mt-form .html-container .nf-field-element p { margin: 0; font-size: .8rem; color: var(--muted, #4d5f75); }

.mt-form .submit-container { margin-bottom: 0; }
.mt-form .nf-form-content input[type="submit"] { width: auto; padding: 13px 30px; }

/* Card padding a touch tighter so the form sits level with the copy */
.enquiry .form-card, .contact .form-card { padding: clamp(20px, 2.6vw, 32px); }

@media (max-width: 560px) {
	.mt-form nf-fields-wrap { grid-template-columns: 1fr; }
	.mt-form .listcheckbox-container .nf-field-element ul { grid-template-columns: 1fr; }
}
