/* Kanga Forms: minimal styles, inherit theme fonts and colors. */
.kf-container { margin: 0 0 1em; }
.kf-form fieldset.kf-group { border: 0; margin: 0; padding: 0; min-width: 0; }
.kf-field { margin: 0 0 1em; }
.kf-label { display: block; font-weight: 700; margin: 0 0 .35em; padding: 0; }
.kf-required { color: #d63637; }
.kf-row { display: flex; flex-wrap: wrap; gap: 0 4%; }
.kf-row-block { flex: 1 1 48%; min-width: 140px; }
.kf-sublabel { display: block; font-size: .85em; margin: .25em 0 0; opacity: .85; }
.kf-input { box-sizing: border-box; width: 100%; max-width: 100%; font: inherit; }
.kf-textarea { min-height: 8em; resize: vertical; }
.kf-input[aria-invalid="true"] { border-color: #d63637 !important; }
.kf-error { color: #d63637; font-size: .85em; margin-top: .25em; }
.kf-error:empty { display: none; }
.kf-form-error { color: #d63637; margin: 0 0 1em; }
.kf-turnstile { margin: 0 0 1em; min-height: 0; }
.kf-submit { cursor: pointer; font: inherit; }
.kf-submit[disabled] { opacity: .7; cursor: wait; }
.kf-confirmation:focus { outline: none; }
.kf-sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.kf-hp { position: absolute !important; left: -9999px !important; top: auto; width: 1px; height: 1px; overflow: hidden; }
.kf-noscript { display: block; color: #d63637; margin-bottom: 1em; }
/* Newsletter: email + confirm on one row, button beside them on wide screens (like the original one-half layout). */
.kf-form-newsletter .kf-form { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 0 2%; }
.kf-form-newsletter .kf-fields { flex: 1 1 60%; min-width: 240px; }
.kf-form-newsletter .kf-form-error, .kf-form-newsletter .kf-turnstile { flex: 1 1 100%; }
.kf-form-newsletter .kf-submit-container { flex: 0 0 auto; }
.kf-form-newsletter .kf-field { margin-bottom: .5em; }

.kf-container [hidden],
.kf-form[hidden] {
	display: none !important;
}
