.tv-focusable {
    outline: none;
}

.tv-focusable:focus,
.tv-focusable.is-focused,
.tv-nav__item:focus,
.tv-nav__brand:focus,
.tv-nav__exit:focus,
.tv-card:focus,
.tv-btn:focus,
.tv-channel:focus,
.tv-episode:focus,
.tv-key:focus,
.tv-search input:focus,
.tv-field input:focus,
.tv-field select:focus {
    outline: none;
    box-shadow: 0 0 0 3px var(--tv-focus), 0 0 0 7px rgba(229, 9, 20, 0.55), 0 10px 28px rgba(229, 9, 20, 0.28);
    transform: scale(1.04);
    z-index: 2;
}

.tv-card:focus,
.tv-card.is-focused {
    transform: scale(1.08);
    box-shadow: 0 0 0 4px var(--tv-focus), 0 0 0 8px rgba(229, 9, 20, 0.65), 0 14px 32px rgba(0, 0, 0, 0.45);
}

.tv-nav__item:focus,
.tv-nav__brand:focus,
.tv-nav__exit:focus {
    color: #fff;
    background: rgba(229, 9, 20, 0.28);
    transform: scale(1.06);
}

.tv-btn:focus {
    transform: scale(1.06);
}

.tv-key:focus {
    transform: scale(1.08);
    background: rgba(229, 9, 20, 0.35);
    border-color: #fff;
}

.tv-row__title.tv-focusable:focus {
    color: #fff;
    background: rgba(229, 9, 20, 0.2);
}

body.tv-body *:focus:not(.tv-focusable):not(input):not(textarea):not(button):not(a):not(select) {
    outline: none;
}
