/* MW Job Application — front-end form. Override the variables in your theme to restyle. */
.mwja-wrap {
	--mwja-accent: #1f3a5f;
	--mwja-accent-ink: #ffffff;
	--mwja-text: #1f2937;
	--mwja-muted: #6b7280;
	--mwja-border: #d1d5db;
	--mwja-bg: #ffffff;
	--mwja-panel: #f8fafc;
	--mwja-error: #b42318;
	--mwja-radius: 6px;
	max-width: 860px;
	margin: 0 auto;
	color: var(--mwja-text);
	font-size: 16px;
	line-height: 1.5;
}
.mwja-wrap *, .mwja-wrap *::before, .mwja-wrap *::after { box-sizing: border-box; }

.mwja-section {
	margin: 0 0 28px;
	padding: 0 0 8px;
}
.mwja-section-title {
	font-size: 1.2em;
	margin: 0 0 12px;
	padding-bottom: 8px;
	border-bottom: 2px solid var(--mwja-accent);
	color: var(--mwja-text);
}
.mwja-intro { margin: 0 0 14px; color: var(--mwja-muted); font-size: .95em; }

.mwja-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 14px 16px;
}
.mwja-w-full  { grid-column: span 6; }
.mwja-w-half  { grid-column: span 3; }
.mwja-w-third { grid-column: span 2; }
.mwja-field[hidden] { display: none; }

@media (max-width: 640px) {
	.mwja-w-half, .mwja-w-third { grid-column: span 6; }
}

.mwja-field > label,
.mwja-radio-group legend {
	display: block;
	font-weight: 600;
	font-size: .92em;
	margin: 0 0 5px;
	padding: 0;
	color: var(--mwja-text);
}
.mwja-req { color: var(--mwja-error); }

.mwja-form input[type=text],
.mwja-form input[type=email],
.mwja-form input[type=tel],
.mwja-form input[type=date],
.mwja-form textarea {
	display: block;
	width: 100%;
	margin: 0;
	padding: 10px 12px;
	font: inherit;
	color: var(--mwja-text);
	background: var(--mwja-bg);
	border: 1px solid var(--mwja-border);
	border-radius: var(--mwja-radius);
	box-shadow: none;
	transition: border-color .15s, box-shadow .15s;
}
.mwja-form textarea { resize: vertical; min-height: 64px; }
.mwja-form input:focus,
.mwja-form textarea:focus {
	outline: none;
	border-color: var(--mwja-accent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--mwja-accent) 20%, transparent);
}

.mwja-radio-group { border: 0; margin: 0; padding: 0; min-width: 0; }
.mwja-radio-options { display: flex; gap: 18px; flex-wrap: wrap; padding-top: 2px; }
.mwja-radio, .mwja-check { display: inline-flex; align-items: flex-start; gap: 8px; cursor: pointer; font-weight: 400; }
.mwja-radio input, .mwja-check input { width: 18px; height: 18px; margin: 3px 0 0; flex: none; accent-color: var(--mwja-accent); }
.mwja-check { font-size: .95em; }

.mwja-row-card {
	grid-column: span 6;
	background: var(--mwja-panel);
	border: 1px solid var(--mwja-border);
	border-radius: var(--mwja-radius);
	padding: 14px 16px 16px;
}
.mwja-row-title { font-weight: 700; font-size: .85em; text-transform: uppercase; letter-spacing: .04em; color: var(--mwja-muted); margin-bottom: 10px; }

.mwja-agreement {
	background: var(--mwja-panel);
	border: 1px solid var(--mwja-border);
	border-left: 4px solid var(--mwja-accent);
	border-radius: var(--mwja-radius);
	padding: 14px 18px;
	margin-bottom: 18px;
	font-size: .95em;
}
.mwja-agreement p { margin: 0 0 10px; }
.mwja-agreement p:first-child { font-weight: 700; }
.mwja-agreement p:last-child { margin-bottom: 0; }

.mwja-static { padding: 10px 0; }

/* Signature pad */
.mwja-sigpad {
	position: relative;
	height: 180px;
	background: #fff;
	border: 1px dashed #9ca3af;
	border-radius: var(--mwja-radius);
}
.mwja-sigpad canvas {
	display: block;
	width: 100%;
	height: 100%;
	touch-action: none;
	cursor: crosshair;
}
.mwja-sigpad::after {
	content: "";
	position: absolute;
	left: 24px; right: 24px; bottom: 40px;
	border-bottom: 1px solid #d1d5db;
	pointer-events: none;
}
.mwja-sig-hint {
	position: absolute;
	left: 26px; bottom: 16px;
	color: #9ca3af;
	font-size: .85em;
	pointer-events: none;
}
.mwja-sigpad.has-ink .mwja-sig-hint { display: none; }
.mwja-sig-clear {
	position: absolute;
	top: 8px; right: 8px;
	padding: 4px 12px;
	font: inherit;
	font-size: .85em;
	color: var(--mwja-text);
	background: #fff;
	border: 1px solid var(--mwja-border);
	border-radius: 4px;
	cursor: pointer;
}
.mwja-sig-clear:hover { background: #f3f4f6; }

/* Errors */
.mwja-error { color: var(--mwja-error); font-size: .85em; margin-top: 4px; min-height: 0; }
.mwja-error:empty { display: none; }
.mwja-field.is-invalid input[type=text],
.mwja-field.is-invalid input[type=email],
.mwja-field.is-invalid input[type=tel],
.mwja-field.is-invalid input[type=date],
.mwja-field.is-invalid textarea,
.mwja-field.is-invalid .mwja-sigpad { border-color: var(--mwja-error); }
.mwja-summary {
	background: #fef3f2;
	border: 1px solid #fecdca;
	color: var(--mwja-error);
	border-radius: var(--mwja-radius);
	padding: 12px 16px;
	margin-bottom: 20px;
	font-weight: 600;
}

/* Honeypot */
.mwja-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

.mwja-recaptcha { margin: 0 0 18px; }
.mwja-recaptcha-terms { font-size: .8em; color: var(--mwja-muted); margin: 10px 0 0; }

.mwja-actions { margin-top: 8px; }
.mwja-submit {
	display: inline-block;
	padding: 13px 30px;
	font: inherit;
	font-weight: 700;
	color: var(--mwja-accent-ink);
	background: var(--mwja-accent);
	border: 0;
	border-radius: var(--mwja-radius);
	cursor: pointer;
	transition: opacity .15s;
}
.mwja-submit:hover { opacity: .9; }
.mwja-submit:disabled { opacity: .6; cursor: progress; }

.mwja-success {
	background: #ecfdf3;
	border: 1px solid #abefc6;
	border-radius: var(--mwja-radius);
	padding: 24px 28px;
}
.mwja-success h3 { margin: 0 0 6px; color: #067647; }
.mwja-success p { margin: 0; }

.mwja-admin-notice {
	max-width: 860px;
	margin: 0 auto 16px;
	padding: 10px 14px;
	background: #fffbeb;
	border: 1px solid #fcd34d;
	border-radius: 6px;
	font-size: 14px;
}
