.dtv-visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.dtv-a11y-error-summary {
    margin: 0 0 1.5rem;
    padding: 1rem 1.25rem;
    border: 2px solid currentColor;
    border-radius: .5rem;
    background: #fff4f4;
    color: #8a1010;
}

.dtv-a11y-error-summary h2 {
    margin: 0 0 .75rem;
    font-size: 1.125rem;
    color: inherit;
}

.dtv-a11y-error-summary ul {
    margin: 0;
    padding-inline-start: 1.25rem;
}

.dtv-a11y-error-summary a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: .15em;
}

.dtv-a11y-error-summary:focus {
    outline: 3px solid currentColor;
    outline-offset: 3px;
}

@media (forced-colors: active) {
    .dtv-a11y-error-summary {
        border-color: CanvasText;
        background: Canvas;
        color: CanvasText;
    }
}
