form.report-validity-custom input:required,
form.report-validity-custom textarea:required,
form.report-validity-custom select:required {
    background-image: none;
    background-color: #fff;
}

.js-report-validity-invalid,
.js-report-validity-invalid:focus,
.js-report-validity-invalid:focus-visible,
input[type="text"].js-report-validity-invalid:focus,
input[type="password"].js-report-validity-invalid:focus,
input[type="email"].js-report-validity-invalid:focus,
input[type="search"].js-report-validity-invalid:focus,
input[type="tel"].js-report-validity-invalid:focus,
input[type="url"].js-report-validity-invalid:focus,
input[type="number"].js-report-validity-invalid:focus,
input[type="date"].js-report-validity-invalid:focus,
input[type="time"].js-report-validity-invalid:focus,
textarea.js-report-validity-invalid:focus,
select.js-report-validity-invalid:focus {
    border-color: #e53935 !important;
    outline-color: #e53935 !important;
}

.js-report-validity-bubble {
    position: absolute;
    left: 0;
    top: calc(100% + 6px);
    z-index: 10050;
    box-sizing: border-box;
    max-width: min(320px, 100%);
    padding: 6px 10px;
    border: 1px solid #e53935;
    border-radius: 4px;
    background: #fdecea;
    color: #c62828;
    font-family: inherit;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    white-space: nowrap;
    pointer-events: none;
}

.js-report-validity-bubble::before {
    content: "";
    position: absolute;
    left: 12px;
    top: -6px;
    width: 10px;
    height: 10px;
    border-top: 1px solid #e53935;
    border-left: 1px solid #e53935;
    background: #fdecea;
    transform: rotate(45deg);
}
