/* Helper icon base style */
.was-validated .quill::before {
    display: block;
    content: "";
    position: absolute;
    width: 1.3em;
    height: 1.3em;
    right: 1em;
    background-position: center;
    background-size: contain;
    background-repeat: no-repeat;
}

/* Invalid */
.was-validated .ql-toolbar:has( ~ textarea:invalid),
.was-validated .quill:has( ~ textarea:invalid) {
    border-color: var(--bs-form-invalid-border-color);
}
.was-validated .quill:has( ~ textarea:invalid):has(.ql-editor:focus) {
    box-shadow: 0 0 0 .25rem rgba(var(--bs-danger-rgb), .25);
}
.was-validated .quill:has(~ textarea:invalid)::before {
    background-image: url('/img/icons/validate-mark-error.svg');
}

/* Valid */
.was-validated .ql-toolbar:has( ~ textarea:valid),
.was-validated .quill:has( ~ textarea:valid) {
    border-color: var(--bs-form-valid-border-color);
}
.was-validated .quill:has( ~ textarea:valid):has(.ql-editor:focus) {
    box-shadow: 0 0 0 .25rem rgba(var(--bs-success-rgb), .25);
}
.was-validated .quill:has(~ textarea:valid)::before {
    background-image: url('/img/icons/validate-mark-success.svg');
}
