form[data-velo-validation] button[type="submit"]:disabled {
    opacity: .45;
    cursor: not-allowed;
}

form[data-velo-validation] div.velo-field-error,
form[data-velo-validation] .velo-form-error {
    color: #c62828;
    font-size: 12px;
    line-height: 16px;
    text-align: left;
    overflow-wrap: anywhere;
}

form[data-velo-validation] div.velo-field-error {
    margin: 0;
}

form[data-velo-validation] .velo-error-slot {
    box-sizing: border-box;
    height: 16px;
    margin-top: 4px;
    overflow: auto;
}

form[data-velo-validation] .form-item + .velo-error-slot {
    margin-top: -11px;
    margin-bottom: 12px;
}

form[data-velo-validation] .form-item.file + .velo-error-slot {
    height: 32px;
    margin-top: 18px;
}

form[data-velo-validation] .captcha-wrapper {
    grid-column: 1 / -1;
    flex-wrap: wrap;
}

form[data-velo-validation] .captcha-wrapper > .velo-error-slot {
    flex: 0 0 auto;
    width: 100%;
    margin-top: 0;
}

form[data-velo-validation] .velo-has-error input.velo-field-error,
form[data-velo-validation] .velo-has-error textarea.velo-field-error,
form[data-velo-validation] .form-item.file.velo-has-error,
form[data-velo-validation] input.velo-field-error + label::before {
    border-color: #c62828;
}

form[data-velo-validation] [data-form-result],
form[data-velo-validation] .velo-form-status {
    grid-column: 1 / -1;
    box-sizing: border-box;
    height: 48px;
    overflow: auto;
    font-size: 12px;
    line-height: 16px;
}

form[data-velo-validation] .velo-form-status p {
    margin: 0;
}
