/* Modo TV (10-foot UI): mayor escala, foco visible con anillo y zoom, sin hover. */
html.mode-tv {
    font-size: calc(20px * var(--ui-scale, 1));
    --nav-h: 76px;
    --card-w: 230px;
    --card-w-wide: 340px;
    --card-w-channel: 260px;
    --gutter: 4vw;
}

html.mode-tv .appnav {
    top: 0;
    bottom: auto;
    height: var(--nav-h);
    padding: 0 var(--gutter);
    justify-content: flex-start;
    gap: var(--sp-6);
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0) 100%);
    border-top: 0;
    backdrop-filter: none;
}

html.mode-tv .appnav.is-hidden {
    transform: translateY(-110%);
}

html.mode-tv .appnav-brand,
html.mode-tv .appnav-right {
    display: flex;
    align-items: center;
}

html.mode-tv .appnav-brand {
    gap: var(--sp-2);
    font-weight: 800;
    font-size: var(--fs-lg);
    color: var(--accent);
}

html.mode-tv .appnav-brand img {
    width: 36px;
    height: 36px;
}

html.mode-tv .appnav-links {
    flex: 0 1 auto;
    gap: var(--sp-3);
}

html.mode-tv .appnav-link {
    flex-direction: row;
    flex: 0 0 auto;
    font-size: var(--fs-md);
    padding: 10px 18px;
    margin: 0;
    gap: 8px;
}

html.mode-tv .appnav-link .mi {
    display: none;
}

html.mode-tv .appnav-right {
    margin-left: auto;
    gap: var(--sp-2);
}

html.mode-tv .appnav-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    color: var(--text);
    background: transparent;
    border: 0;
}

html.mode-tv .page-content {
    padding-top: var(--nav-h);
    padding-bottom: var(--sp-8);
}

html.mode-tv .page.no-nav .page-content {
    padding-top: 0;
}

/* Anillo de foco más contundente en TV */
html.mode-tv :focus-visible,
html.mode-tv .is-focused {
    outline: 4px solid var(--focus);
    outline-offset: 3px;
}

html.mode-tv .card.is-focused,
html.mode-tv .card:focus-visible {
    transform: scale(1.08);
    z-index: 5;
    box-shadow: var(--shadow-lg);
}

html.mode-tv .btn.is-focused,
html.mode-tv .btn:focus-visible {
    transform: scale(1.05);
}

/* En TV no hay hover ni scrollbars visibles */
html.mode-tv .page-content::-webkit-scrollbar {
    width: 0;
}

html.mode-tv .row-scroller {
    scrollbar-width: none;
}

html.mode-tv .row-scroller::-webkit-scrollbar {
    display: none;
}

html.mode-tv .row-arrow {
    display: none !important;
}

html.mode-tv .hero {
    min-height: 62vh;
}

html.mode-tv .ptv-only {
    display: initial;
}

html.mode-tv .no-tv {
    display: none !important;
}

/* Ayuda de teclas en el reproductor (TV) */
.tv-only {
    display: none;
}

html.mode-tv .tv-only {
    display: initial;
}
