/* EPIC 04 — Accessibility Sprint 5 / final WCAG hardening */
.dtv-skip-link:focus {
    position: fixed !important;
    top: 12px;
    left: 12px;
    z-index: 2147483647;
    width: auto;
    height: auto;
    margin: 0;
    padding: 12px 16px;
    overflow: visible;
    clip: auto;
    white-space: normal;
    border-radius: 8px;
    background: #fff;
    color: #111;
    box-shadow: 0 0 0 3px #e30613, 0 8px 24px rgba(0, 0, 0, .28);
    font-weight: 800;
    text-decoration: none;
}

#dtv-main-content,
main,
[role="main"] {
    scroll-margin-top: 96px;
}

:where(a, button, input, select, textarea, summary, [role="button"], [tabindex]):focus-visible {
    outline: 3px solid #e30613 !important;
    outline-offset: 3px !important;
}

/* WCAG 2.2 target-size floor for compact icon controls. */
:where(button, [role="button"], input[type="button"], input[type="submit"], input[type="reset"]).dtv-icon-button,
:where(.dtv-video-modal__close, .dtv-mini-player__close, .dtv-menu-modal__close, .dtv-search-overlay__close) {
    min-width: 24px;
    min-height: 24px;
}

[aria-busy="true"] {
    cursor: progress;
}

@media (prefers-reduced-motion: reduce) {
    html:focus-within {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: .01ms !important;
        scroll-behavior: auto !important;
    }
}

@media (forced-colors: active) {
    .dtv-skip-link:focus,
    :where(a, button, input, select, textarea, summary, [role="button"], [tabindex]):focus-visible {
        outline: 3px solid Highlight !important;
        box-shadow: none !important;
        forced-color-adjust: auto;
    }
}
