/* Contact + Reorder forms. Matches the old Ninja Forms look: labels in a right-aligned column, fields beside them. */
.cp-form .cp-form-note { margin-bottom: .2em; }
.cp-req { color: #c00; font-weight: bold; }
.cp-row { display: flex; align-items: flex-start; margin: 0 0 1.25em; }
.cp-row .cp-label { flex: 0 0 143px; width: 143px; text-align: right; font-weight: bold; padding: 4px 8px 0 0; box-sizing: border-box; }
.cp-row .cp-field { flex: 1 1 auto; min-width: 0; }
.cp-row.cp-stacked { display: block; }
.cp-row.cp-stacked .cp-label { width: auto; text-align: left; padding: 0 0 4px; display: block; }
.cp-form input[type=text], .cp-form input[type=email], .cp-form textarea { width: 100%; width: 256px; max-width: 100%; box-sizing: border-box; padding: 5px 6px; border: 1px solid #ccc; background: #f5f5f5; font: inherit; }
.cp-form textarea { width: 100%; }
.cp-form select { width: 262px; max-width: 100%; font: inherit; font-size: 13px; }
.cp-form .cp-opt { display: block; font-weight: normal; margin: 0 0 .25em; }
.cp-form .cp-submit { margin: 1.5em 0 0 143px; }
.cp-form .cp-submit input { padding: 6px 18px; cursor: pointer; }
.cp-has-error input[type=text], .cp-has-error input[type=email], .cp-has-error textarea, .cp-has-error select { border-color: #c00; }
.cp-error, .cp-form-errors { color: #c00; margin-top: .3em; }
.cp-form-success { padding: 1em; background: #e8f4e8; border: 1px solid #9c9; }
.cp-hp { position: absolute; left: -9999px; height: 0; overflow: hidden; }
@media (max-width: 600px) {
	.cp-row { display: block; }
	.cp-row .cp-label { width: auto; text-align: left; padding: 0 0 4px; display: block; }
	.cp-form .cp-submit { margin-left: 0; }
}
