/**
 * Public application form layout. Kept deliberately plain so any theme's
 * typography shows through; only structure, spacing, and states live here.
 */

.mmsuite-application-form fieldset {
	border: 1px solid #ccc;
	border-radius: 4px;
	padding: 1em 1.25em;
	margin: 0 0 1.5em;
}

.mmsuite-application-form legend {
	font-weight: 600;
	padding: 0 0.5em;
}

.mmsuite-field {
	margin-bottom: 1em;
}

.mmsuite-field > label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.25em;
}

.mmsuite-field input[type="text"],
.mmsuite-field input[type="email"],
.mmsuite-field input[type="date"],
.mmsuite-field textarea {
	width: 100%;
	max-width: 28em;
	box-sizing: border-box;
}

/* Nested option groups (radio/checkbox sets) inside a section fieldset. */
.mmsuite-choice-group {
	border: 0;
	padding: 0;
	margin: 0;
}

.mmsuite-choice-group legend {
	font-weight: 600;
	padding: 0;
	margin-bottom: 0.25em;
}

.mmsuite-choice {
	display: inline-block;
	margin-right: 1.5em;
}

.mmsuite-required {
	color: #b32d2e;
}

/* Error states. */
.mmsuite-form-errors {
	border: 1px solid #b32d2e;
	border-left-width: 4px;
	background: #fcf0f1;
	padding: 0.75em 1em;
	margin-bottom: 1.5em;
}

.mmsuite-field-error input,
.mmsuite-field-error textarea {
	border-color: #b32d2e;
}

.mmsuite-field-message {
	color: #b32d2e;
	margin: 0.25em 0 0;
}

/* Privacy notice. */
.mmsuite-privacy-notice {
	border: 1px solid #ccc;
	border-radius: 4px;
	background: #f6f7f7;
	padding: 0.75em 1.25em;
	margin: 0 0 1.5em;
	font-size: 0.9em;
}

/* The honeypot: moved off-screen rather than display:none (which some
   bots detect and skip). Humans never see or tab into it. */
.mmsuite-hp {
	position: absolute !important;
	left: -9999px !important;
	top: auto !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}
