.ncr-details-validation input.ncr-details-invalid,
.ncr-details-validation select.ncr-details-invalid,
.ncr-details-validation textarea.ncr-details-invalid {
  border-color: #b42318 !important;
  box-shadow: inset 0 0 0 1px #b42318;
}
.ncr-details-validation .ncr-details-error {
  display: block; color: #b42318; font-size: 13px; line-height: 1.5;
  margin: 5px 0 8px; overflow-wrap: anywhere; text-align: left;
}
.ncr-details-validation [hidden] { display: none !important; }

/* Address fields have a larger default bottom margin outside tables. */
form.ncr-details-validation[action="confirmorder2.php"] input.ncr-details-invalid {
  margin-bottom: 0 !important;
}

/* Keep enquiry errors close to their fields, as on address confirmation. */
form.ncr-details-validation[action="contact2.php"] .ncr-details-invalid,
form.ncr-details-validation[action="custom-quote2.php"] .ncr-details-invalid {
  margin-bottom: 0 !important;
}

/* Keep payment warnings close to the affected fields. */
form.ncr-details-validation[action="/cc_payment_process.php"] .ncr-details-invalid {
  margin-bottom: 0 !important;
}
/* Payment-method warning sits below the complete box, above Confirm Order. */
#formchck.ncr-details-validation > .ncr-details-error {
  text-align: right;
}

/* Remove the payment table's default bottom gap; use the shared 5px warning gap. */
#formchck.ncr-details-validation > table:last-of-type {
  margin-bottom: 0 !important;
}

/* Keep the action button clear of the box, even while the warning is hidden. */
#formchck.ncr-details-validation > .ncr-details-error + div {
  margin-top: 20px;
}

/* Match the existing warning gap on both artwork-upload forms. */
form.ncr-details-validation[action="upload-file-complete.php"] .ncr-details-invalid,
form.ncr-details-validation[action="upload-file-complete-2.php"] .ncr-details-invalid {
  margin-bottom: 0 !important;
}

/* Match warning spacing on checkout without altering inline checkboxes. */
form.ncr-details-validation[action="registration.php"] .ncr-details-invalid:not([type="checkbox"]),
#frmlogin.ncr-details-validation .ncr-details-invalid {
  margin-bottom: 0 !important;
}
form.ncr-details-validation[action="registration.php"] input[type="checkbox"].ncr-details-invalid {
  outline: 2px solid #b42318; outline-offset: 2px; box-shadow: none;
}

/* Numbering warnings stay beside their own basket item. */
form.ncr-basket-numbering input.ncr-details-invalid {
  margin-bottom: 0 !important;
  border: 1px solid #b42318 !important;
  outline: none !important;
  box-shadow: none !important;
}

/* Use the shared warning gap for the forgotten-password e-mail field. */
form.ncr-details-validation[action="forgottenpassword.php?resend=1"] input.ncr-details-invalid {
  margin-bottom: 0 !important;
}
