/*
 * Nonprofit Forms. Inherits theme fonts and colours.
 * The block sets these custom properties: --npfrm-label, --npfrm-field-bg, --npfrm-field-text,
 * --npfrm-field-border, --npfrm-radius, --npfrm-btn-bg, --npfrm-btn-text.
 */
.npfrm-wrap { max-width: 40rem; margin: 1.5em 0; }
.npfrm-block .npfrm-wrap { margin: 0; max-width: none; }
.npfrm-field { margin: 0 0 1.25em; }
.npfrm-label { display: block; font-weight: 600; margin-bottom: .35em; color: var(--npfrm-label, inherit); }
.npfrm-req { color: #b32d2e; }
.npfrm-field input[type="text"],
.npfrm-field input[type="email"],
.npfrm-field input[type="tel"],
.npfrm-field input[type="number"],
.npfrm-field input[type="date"],
.npfrm-field select,
.npfrm-field textarea {
	display: block; width: 100%; box-sizing: border-box; padding: .65em .8em;
	font: inherit; color: var(--npfrm-field-text, #1e1e1e); background: var(--npfrm-field-bg, #fff);
	border: 1px solid var(--npfrm-field-border, #767676); border-radius: var(--npfrm-radius, 4px);
}
.npfrm-field input:focus-visible,
.npfrm-field select:focus-visible,
.npfrm-field textarea:focus-visible,
.npfrm-submit:focus-visible { outline: 3px solid #1d4ed8; outline-offset: 2px; }
.npfrm-choice { display: block; font-weight: 400; margin: .3em 0; color: var(--npfrm-label, inherit); }
.npfrm-choice input { margin-right: .4em; }
.npfrm-has-error input, .npfrm-has-error select, .npfrm-has-error textarea { border-color: #b32d2e; }
.npfrm-error { display: block; color: #b32d2e; font-size: .9em; margin-top: .3em; }
.npfrm-summary { border-left: 4px solid #b32d2e; background: #fcf0f1; color: #1e1e1e; padding: .75em 1em; margin-bottom: 1.25em; }
.npfrm-success { border-left: 4px solid #1a7f37; background: #edf7ee; color: #1e1e1e; padding: .9em 1.1em; }
.npfrm-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.npfrm-submit { cursor: pointer; font-size: inherit; border-radius: var(--npfrm-radius, 4px); }
.has-npfrm-button-colors .npfrm-submit {
	background-color: var(--npfrm-btn-bg, #1e3a8a); color: var(--npfrm-btn-text, #fff);
	border: 2px solid var(--npfrm-btn-bg, #1e3a8a);
}
.is-npfrm-outline .npfrm-submit { background-color: transparent; color: var(--npfrm-btn-bg, currentColor); border-color: currentColor; }
.npfrm-notice { font-style: italic; }
.npfrm-field[hidden] { display: none; }
.npfrm-privacy { font-size: .9em; margin: 0 0 1em; }
