/* Scoped to public matching/join forms; retain their existing control artwork. */
#sc-matching-form input[type="checkbox"]:not(#phone_consultation_requested),
#sc-matching-form input[type="radio"],
#sc-matching-form input[type="file"],
.sc-join-form input[type="checkbox"],
.sc-join-form input[type="radio"] {
    display: block !important;
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 0 !important;
    overflow: hidden !important;
    clip-path: inset(50%);
    white-space: nowrap;
}
#sc-matching-form input:focus-visible + label,
#sc-matching-form #quantity_v_box > li[role="button"]:focus-visible,
#sc-matching-form input:focus-visible + span,
.sc-join-form input:focus-visible + span,
.sc-join-form :is(input, button, a):focus-visible,
#sc-matching-form :is(textarea, button, a):focus-visible {
    outline: 2px solid #245eaa;
    outline-offset: 3px;
}
#sc-matching-form input:not([type="checkbox"]):not([type="radio"]):focus-visible { outline: 2px solid #245eaa; outline-offset: 3px; }
#sc-matching-form .sc-form-error {
    color: #b42318;
    font-size: 14px;
    line-height: 1.6;
}
#sc-matching-form .sc-form-error:empty { display: none; }
.sc-form-sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
#sc-matching-form .list-title-box label { font: inherit; color: inherit; cursor: pointer; }
.sc-join-form .ipt_obj_title { display: block; }
