/**
 * MSI Forms — minimal STRUCTURAL styles only.
 *
 * The look (colors, fonts, spacing) belongs to each site's own theme/brand stylesheet, targeting the
 * profile wrapper class (.msi-form--wd on whydenied, .msi-form--msi on msicredit). Keep this file neutral.
 */

.msi-form { display: block; }
.msi-form .msi-field { margin: 0 0 14px; }
.msi-form .msi-field > label,
.msi-form .msi-field__legend { display: block; font-weight: 600; margin-bottom: 5px; }

.msi-form input[type="text"],
.msi-form input[type="email"],
.msi-form input[type="tel"],
.msi-form select,
.msi-form textarea {
	width: 100%;
	box-sizing: border-box;
}

.msi-form .msi-check {
	display: flex;
	gap: 8px;
	align-items: flex-start;
	font-weight: 400;
	margin-bottom: 4px;
}
.msi-form .msi-check input { margin-top: 3px; }

.msi-form .msi-checkgroup {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
	gap: 2px 14px;
}

/* Honeypot — kept out of the layout + off-screen (aria-hidden in markup). */
.msi-form .msi-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.msi-form__fine-print { font-size: 12px; line-height: 1.5; opacity: 0.75; margin: 10px 0; }
.msi-form__submit { cursor: pointer; }
.msi-form__submit[disabled] { opacity: 0.7; cursor: default; }
.msi-form__status { margin-top: 10px; min-height: 1em; }
.msi-form__status--error { color: #b00020; }
.msi-form__success { padding: 18px 0; }
.msi-req { color: #b00020; }
