/**
 * Child Theme Custom CSS
 * 
 * Styles here are loaded AFTER the core theme CSS on all frontend pages.
 * They will override any core styles due to cascade order.
 * This file will NOT be overwritten when the CMS core is updated.
 *
 * You have access to all theme CSS variables:
 *   var(--cms-primary)
 *   var(--cms-secondary)
 *   var(--cms-accent)
 *   var(--cms-text)
 *   var(--cms-bg)
 *   var(--cms-radius)
 */

/* Your custom styles below this line: */

/* No underline on hover/focus anywhere on the site (user request 2026-06-20).
   Covers Bootstrap defaults + per-component :hover{text-decoration:underline} rules,
   for links AND clickable buttons (e.g. "Don't show again"). */
a:hover, a:focus, a:active,
button:hover, button:focus,
[role="button"]:hover, .btn:hover, .btn:focus { text-decoration: none !important; }

a#inyfi{display:none!important}

/* Megamenu — full header container width */
.megamenu-dropdown { position: static !important; }
.navbar .megamenu-dropdown { position: static !important; }
.navbar .navbar-collapse { position: static !important; }
.navbar > .container { position: relative !important; }
.megamenu-panel,
.dropdown-menu.megamenu-panel {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    border-radius: 0 0 12px 12px !important;
}

/* Dark media pages: prevent white flashes/gaps between sections while content loads. */
html:has(body.vb-web-mode.vb-dark-page-header),
body.vb-web-mode.vb-dark-page-header,
body.vb-web-mode.vb-dark-page-header main,
body.vb-web-mode.vb-dark-page-header .vb-vod-main,
body.vb-web-mode.vb-dark-page-header .nfx,
body.vb-web-mode.vb-dark-page-header .ltv {
    background: #0a0a0a !important;
    background-color: #0a0a0a !important;
}

body.vb-web-mode.vb-page-live,
body.vb-web-mode.vb-page-shows,
body.vb-web-mode.vb-page-ondemand,
body.vb-web-mode.vb-page-movies {
    background: #0a0a0a !important;
    background-color: #0a0a0a !important;
}

/* ---- Public touch pass: Live, Movies, and OnDemand only ----
   Scoped to mobile website pages so desktop and app pages keep their layout. */
@media (max-width: 991px) {
    body.vb-web-mode.vb-page-live,
    body.vb-web-mode.vb-page-shows,
    body.vb-web-mode.vb-page-movies {
        width: 100% !important;
        max-width: 100vw !important;
        overflow-x: hidden !important;
        -webkit-text-size-adjust: 100%;
    }

    body.vb-web-mode.vb-page-live *,
    body.vb-web-mode.vb-page-shows *,
    body.vb-web-mode.vb-page-movies * {
        -webkit-tap-highlight-color: rgba(255,255,255,.14);
    }

    body.vb-web-mode.vb-page-live button,
    body.vb-web-mode.vb-page-live .ltv-ch-tab,
    body.vb-web-mode.vb-page-live .ltv-cat-tab,
    body.vb-web-mode.vb-page-live .ltv-epg-ch,
    body.vb-web-mode.vb-page-live .ltv-epg-block,
    body.vb-web-mode.vb-page-live .ltv-onnow-card,
    body.vb-web-mode.vb-page-shows button,
    body.vb-web-mode.vb-page-shows .nfx-tile,
    body.vb-web-mode.vb-page-shows .nfx-top10-tile,
    body.vb-web-mode.vb-page-shows .nfx-cat-pill,
    body.vb-web-mode.vb-page-movies button,
    body.vb-web-mode.vb-page-movies .nfx-tile,
    body.vb-web-mode.vb-page-movies .nfx-top10-tile,
    body.vb-web-mode.vb-page-movies .nfx-cat-pill {
        touch-action: manipulation !important;
        -webkit-user-select: none;
        user-select: none;
    }

    body.vb-web-mode.vb-page-live .ltv-ctrl-btn,
    body.vb-web-mode.vb-page-live .ltv-epg-btn,
    body.vb-web-mode.vb-page-live .ltv-detail-btn,
    body.vb-web-mode.vb-page-shows .nfx-bb-btn,
    body.vb-web-mode.vb-page-shows .nfx-cat-pill,
    body.vb-web-mode.vb-page-shows .nfx-search-toggle,
    body.vb-web-mode.vb-page-shows .nfx-discovery-clear,
    body.vb-web-mode.vb-page-shows .nfx-va-close,
    body.vb-web-mode.vb-page-shows .nfx-jb-close,
    body.vb-web-mode.vb-page-shows .nfx-vp-btn,
    body.vb-web-mode.vb-page-shows .nfx-vp-btn-sm,
    body.vb-web-mode.vb-page-movies .nfx-bb-btn,
    body.vb-web-mode.vb-page-movies .nfx-cat-pill,
    body.vb-web-mode.vb-page-movies .nfx-search-toggle,
    body.vb-web-mode.vb-page-movies .nfx-discovery-clear,
    body.vb-web-mode.vb-page-movies .nfx-va-close,
    body.vb-web-mode.vb-page-movies .nfx-jb-close,
    body.vb-web-mode.vb-page-movies .nfx-vp-btn,
    body.vb-web-mode.vb-page-movies .nfx-vp-btn-sm {
        min-width: 44px !important;
        min-height: 44px !important;
    }

    body.vb-web-mode.vb-page-live .ltv-hero,
    body.vb-web-mode.vb-page-shows .nfx-bb-split,
    body.vb-web-mode.vb-page-movies .nfx-bb-split {
        display: grid !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100vw !important;
        margin: 0 !important;
        min-height: 0 !important;
        overflow: hidden !important;
    }

    body.vb-web-mode.vb-page-live .ltv-hero-right,
    body.vb-web-mode.vb-page-shows .nfx-bb-split-right,
    body.vb-web-mode.vb-page-movies .nfx-bb-split-right {
        order: 1 !important;
        position: relative !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 16 / 9 !important;
        border-radius: 0 !important;
        transform: none !important;
    }

    body.vb-web-mode.vb-page-live .ltv-hero-left,
    body.vb-web-mode.vb-page-shows .nfx-bb-split-left,
    body.vb-web-mode.vb-page-movies .nfx-bb-split-left {
        order: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        padding: 12px 14px 10px !important;
        gap: 8px !important;
        overflow: visible !important;
    }

    body.vb-web-mode.vb-page-live .ltv-player-ui {
        opacity: 1 !important;
    }

    body.vb-web-mode.vb-page-live .ltv-ctrl-top {
        top: max(8px, env(safe-area-inset-top)) !important;
        right: max(8px, env(safe-area-inset-right)) !important;
    }

    body.vb-web-mode.vb-page-live .ltv-ctrl-bottom {
        padding: 8px max(10px, env(safe-area-inset-right)) max(10px, env(safe-area-inset-bottom)) max(10px, env(safe-area-inset-left)) !important;
        gap: 8px !important;
    }

    body.vb-web-mode.vb-page-live .ltv-ctrl-btn {
        width: 44px !important;
        height: 44px !important;
        flex: 0 0 44px !important;
    }

    body.vb-web-mode.vb-page-live .ltv-ctrl-play-big {
        width: 62px !important;
        height: 62px !important;
    }

    body.vb-web-mode.vb-page-live .ltv-epg-scroll,
    body.vb-web-mode.vb-page-live .ltv-ch-tabs,
    body.vb-web-mode.vb-page-live .ltv-cat-tabs,
    body.vb-web-mode.vb-page-live .ltv-onnow-scroll,
    body.vb-web-mode.vb-page-shows .nfx-rail-track,
    body.vb-web-mode.vb-page-shows .nfx-cat-pills,
    body.vb-web-mode.vb-page-shows .nfx-jb-season-pills,
    body.vb-web-mode.vb-page-movies .nfx-rail-track,
    body.vb-web-mode.vb-page-movies .nfx-cat-pills,
    body.vb-web-mode.vb-page-movies .nfx-jb-season-pills {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior-x: contain !important;
        scroll-behavior: auto !important;
        scrollbar-width: none !important;
    }

    body.vb-web-mode.vb-page-live .ltv-epg-scroll::-webkit-scrollbar,
    body.vb-web-mode.vb-page-live .ltv-ch-tabs::-webkit-scrollbar,
    body.vb-web-mode.vb-page-live .ltv-cat-tabs::-webkit-scrollbar,
    body.vb-web-mode.vb-page-live .ltv-onnow-scroll::-webkit-scrollbar,
    body.vb-web-mode.vb-page-shows .nfx-rail-track::-webkit-scrollbar,
    body.vb-web-mode.vb-page-shows .nfx-cat-pills::-webkit-scrollbar,
    body.vb-web-mode.vb-page-shows .nfx-jb-season-pills::-webkit-scrollbar,
    body.vb-web-mode.vb-page-movies .nfx-rail-track::-webkit-scrollbar,
    body.vb-web-mode.vb-page-movies .nfx-cat-pills::-webkit-scrollbar,
    body.vb-web-mode.vb-page-movies .nfx-jb-season-pills::-webkit-scrollbar {
        display: none !important;
    }

    body.vb-web-mode.vb-page-live .ltv-epg-wrap,
    body.vb-web-mode.vb-page-live .ltv-epg-nav,
    body.vb-web-mode.vb-page-live .ltv-cat-tabs,
    body.vb-web-mode.vb-page-live .ltv-ch-tabs {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body.vb-web-mode.vb-page-live .ltv-detail-panel {
        width: 100vw !important;
        max-width: 100vw !important;
        right: -100vw !important;
        border-left: 0 !important;
        border-radius: 0 !important;
        -webkit-overflow-scrolling: touch !important;
    }

    body.vb-web-mode.vb-page-live .ltv-detail-panel.open {
        right: 0 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx,
    body.vb-web-mode.vb-page-movies .nfx {
        --nfx-gutter: 14px !important;
        --nfx-rail-gap: 10px !important;
        --nfx-tile-w: min(72vw, 238px) !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-logo,
    body.vb-web-mode.vb-page-movies .nfx-bb-logo {
        font-size: clamp(1.45rem, 7vw, 2rem) !important;
        line-height: 1.06 !important;
        letter-spacing: 0 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-meta,
    body.vb-web-mode.vb-page-shows .nfx-bb-chips,
    body.vb-web-mode.vb-page-movies .nfx-bb-meta,
    body.vb-web-mode.vb-page-movies .nfx-bb-chips {
        gap: 6px !important;
        margin-bottom: 8px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-desc,
    body.vb-web-mode.vb-page-movies .nfx-bb-desc {
        font-size: .82rem !important;
        line-height: 1.45 !important;
        -webkit-line-clamp: 2 !important;
        margin-bottom: 10px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-btns,
    body.vb-web-mode.vb-page-movies .nfx-bb-btns {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-btn,
    body.vb-web-mode.vb-page-movies .nfx-bb-btn {
        justify-content: center !important;
        width: 100% !important;
        padding: 10px 12px !important;
        font-size: .84rem !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-discovery,
    body.vb-web-mode.vb-page-movies .nfx-discovery {
        padding: 8px var(--nfx-gutter) 10px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-discovery-inner,
    body.vb-web-mode.vb-page-movies .nfx-discovery-inner {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
        padding: 10px !important;
        border-radius: 10px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-discovery-search,
    body.vb-web-mode.vb-page-movies .nfx-discovery-search {
        flex-basis: 100% !important;
        min-width: 0 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-discovery-search input,
    body.vb-web-mode.vb-page-movies .nfx-discovery-search input {
        min-height: 44px !important;
        font-size: 16px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail,
    body.vb-web-mode.vb-page-movies .nfx-rail {
        padding-left: var(--nfx-gutter) !important;
        padding-right: var(--nfx-gutter) !important;
        padding-top: 14px !important;
        margin-bottom: 14px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-wrap,
    body.vb-web-mode.vb-page-movies .nfx-rail-wrap {
        overflow: visible !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-track,
    body.vb-web-mode.vb-page-movies .nfx-rail-track {
        display: flex !important;
        grid-template-columns: none !important;
        gap: var(--nfx-rail-gap) !important;
        overflow-y: visible !important;
        padding: 8px 0 14px !important;
        scroll-snap-type: x proximity !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-track > .nfx-tile,
    body.vb-web-mode.vb-page-movies .nfx-rail-track > .nfx-tile {
        flex: 0 0 var(--nfx-tile-w) !important;
        width: var(--nfx-tile-w) !important;
        min-width: var(--nfx-tile-w) !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-arr,
    body.vb-web-mode.vb-page-shows .nfx-rail-see,
    body.vb-web-mode.vb-page-movies .nfx-rail-arr,
    body.vb-web-mode.vb-page-movies .nfx-rail-see {
        display: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-mp,
    body.vb-web-mode.vb-page-movies .nfx-mp {
        display: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile:hover,
    body.vb-web-mode.vb-page-shows .nfx-tile:hover .nfx-tile-img,
    body.vb-web-mode.vb-page-shows .nfx-top10-tile:hover .nfx-top10-card,
    body.vb-web-mode.vb-page-shows .nfx-jb-grid-tile:hover,
    body.vb-web-mode.vb-page-movies .nfx-tile:hover,
    body.vb-web-mode.vb-page-movies .nfx-tile:hover .nfx-tile-img,
    body.vb-web-mode.vb-page-movies .nfx-top10-tile:hover .nfx-top10-card,
    body.vb-web-mode.vb-page-movies .nfx-jb-grid-tile:hover {
        transform: none !important;
        filter: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile-caption,
    body.vb-web-mode.vb-page-movies .nfx-tile-caption {
        transform: none !important;
        opacity: 1 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-top10 .nfx-top10-tile,
    body.vb-web-mode.vb-page-movies .nfx-rail-top10 .nfx-top10-tile {
        width: auto !important;
        min-width: 0 !important;
    }


    body.vb-web-mode.vb-page-shows .nfx-rail-top10 .nfx-top10-card,
    body.vb-web-mode.vb-page-movies .nfx-rail-top10 .nfx-top10-card {
        /* fluid on phones/tablets — the rank digit stretches to match automatically */
        width: clamp(96px, 27vw, 148px) !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-va-overlay,
    body.vb-web-mode.vb-page-shows .nfx-jb-overlay,
    body.vb-web-mode.vb-page-movies .nfx-va-overlay,
    body.vb-web-mode.vb-page-movies .nfx-jb-overlay {
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior: contain !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-va-header,
    body.vb-web-mode.vb-page-movies .nfx-va-header {
        padding: max(12px, env(safe-area-inset-top)) 12px 12px !important;
        gap: 8px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-va-title,
    body.vb-web-mode.vb-page-movies .nfx-va-title {
        font-size: 1.2rem !important;
        line-height: 1.15 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-va-grid,
    body.vb-web-mode.vb-page-movies .nfx-va-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 10px !important;
        padding: 12px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-jb,
    body.vb-web-mode.vb-page-movies .nfx-jb {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 100dvh !important;
        margin: 0 !important;
        border-radius: 0 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-jb-close,
    body.vb-web-mode.vb-page-movies .nfx-jb-close {
        top: max(10px, env(safe-area-inset-top)) !important;
        right: max(10px, env(safe-area-inset-right)) !important;
        width: 44px !important;
        height: 44px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-jb-body,
    body.vb-web-mode.vb-page-movies .nfx-jb-body {
        padding: 0 14px max(22px, env(safe-area-inset-bottom)) !important;
        margin-top: -28px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-jb-row,
    body.vb-web-mode.vb-page-movies .nfx-jb-row {
        flex-direction: column !important;
        gap: 14px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-jb-side,
    body.vb-web-mode.vb-page-movies .nfx-jb-side {
        width: 100% !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-vp,
    body.vb-web-mode.vb-page-movies .nfx-vp {
        touch-action: manipulation !important;
        overscroll-behavior: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-vp-top,
    body.vb-web-mode.vb-page-movies .nfx-vp-top {
        padding: max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 10px max(12px, env(safe-area-inset-left)) !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-vp-bottom,
    body.vb-web-mode.vb-page-movies .nfx-vp-bottom {
        padding: 10px max(12px, env(safe-area-inset-right)) max(12px, env(safe-area-inset-bottom)) max(12px, env(safe-area-inset-left)) !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-vp-controls,
    body.vb-web-mode.vb-page-movies .nfx-vp-controls {
        flex-wrap: wrap !important;
        gap: 8px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-vp-progress-shell,
    body.vb-web-mode.vb-page-movies .nfx-vp-progress-shell {
        flex: 1 1 calc(100% - 104px) !important;
        height: 8px !important;
    }
}

@media (max-width: 599px) {
    body.vb-web-mode.vb-page-live .ltv-ctrl-bottom-logo,
    body.vb-web-mode.vb-page-live .ltv-ctrl-bottom-info {
        display: none !important;
    }

    body.vb-web-mode.vb-page-live .ltv-ctrl-bottom {
        justify-content: flex-end !important;
    }

    body.vb-web-mode.vb-page-live .ltv-upnext {
        min-height: 0 !important;
        padding: 8px 10px !important;
    }

    body.vb-web-mode.vb-page-live .ltv-epg-row,
    body.vb-web-mode.vb-page-live .ltv-epg-block {
        min-height: 50px !important;
    }

    body.vb-web-mode.vb-page-live .ltv-epg-ch,
    body.vb-web-mode.vb-page-live .ltv-skel-ch {
        flex-basis: 52px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx,
    body.vb-web-mode.vb-page-movies .nfx {
        --nfx-gutter: 12px !important;
        --nfx-tile-w: 74vw !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-btns,
    body.vb-web-mode.vb-page-movies .nfx-bb-btns {
        grid-template-columns: 1fr 1fr !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-chip:nth-child(n+4),
    body.vb-web-mode.vb-page-movies .nfx-bb-chip:nth-child(n+4),
    body.vb-web-mode.vb-page-shows .nfx-discovery-meta,
    body.vb-web-mode.vb-page-movies .nfx-discovery-meta {
        display: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-title,
    body.vb-web-mode.vb-page-movies .nfx-rail-title {
        font-size: 1rem !important;
        line-height: 1.2 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-vp-bottom-main,
    body.vb-web-mode.vb-page-movies .nfx-vp-bottom-main {
        display: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-vp-time,
    body.vb-web-mode.vb-page-movies .nfx-vp-time {
        order: 6 !important;
        width: 100% !important;
        text-align: right !important;
    }
}

/* ---- Desktop tile polish for Movies and OnDemand ---- */
@media (min-width: 992px) {
    body.vb-web-mode.vb-page-shows .nfx,
    body.vb-web-mode.vb-page-movies .nfx {
        --nfx-premium-radius: 4px !important;
        --nfx-rail-gap: 10px !important;
        background: #141414 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail,
    body.vb-web-mode.vb-page-movies .nfx-rail {
        margin-bottom: 6px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-wrap,
    body.vb-web-mode.vb-page-movies .nfx-rail-wrap {
        overflow: visible !important;
        margin-bottom: 0 !important;
        padding-bottom: 8px !important;
    }

    /* The first shelf sits directly beneath the billboard and was butting against
       it. Trending Now is always the first rail on these pages. */
    /* The first shelf is the sibling immediately after the billboard; without
       this it butts straight against the hero. */
    body.vb-web-mode.vb-page-shows .nfx-bb-split + .nfx-rail,
    body.vb-web-mode.vb-page-movies .nfx-bb-split + .nfx-rail,
    body.vb-web-mode.vb-page-shows .nfx-bb + .nfx-rail,
    body.vb-web-mode.vb-page-movies .nfx-bb + .nfx-rail,
    body.vb-web-mode.vb-page-shows .nfx-rail-trending,
    body.vb-web-mode.vb-page-movies .nfx-rail-trending {
        padding-top: 30px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-track,
    body.vb-web-mode.vb-page-movies .nfx-rail-track {
        padding: 10px 0 16px !important;
        gap: var(--nfx-rail-gap) !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile,
    body.vb-web-mode.vb-page-movies .nfx-tile {
        border: 0 !important;
        border-radius: var(--nfx-premium-radius) !important;
        background: #171717 !important;
        box-shadow: none !important;
        transition: transform .18s ease, filter .18s ease, box-shadow .18s ease !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile-inner,
    body.vb-web-mode.vb-page-movies .nfx-tile-inner {
        border: 0 !important;
        border-radius: var(--nfx-premium-radius) !important;
        background: #101010 !important;
        box-shadow: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile:hover,
    body.vb-web-mode.vb-page-movies .nfx-tile:hover {
        transform: translateY(-4px) scale(1.025) !important;
        border-color: transparent !important;
        box-shadow: 0 10px 26px rgba(0,0,0,.34) !important;
        filter: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile-img,
    body.vb-web-mode.vb-page-movies .nfx-tile-img {
        transform: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile:hover .nfx-tile-img,
    body.vb-web-mode.vb-page-movies .nfx-tile:hover .nfx-tile-img {
        transform: scale(1.035) !important;
        filter: brightness(.86) contrast(1.04) !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile-caption,
    body.vb-web-mode.vb-page-movies .nfx-tile-caption {
        bottom: 0 !important;
        padding: 34px 12px 16px !important;
        background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.42) 48%, rgba(0,0,0,.94) 100%) !important;
        opacity: 1 !important;
        transform: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile-title,
    body.vb-web-mode.vb-page-movies .nfx-tile-title {
        font-size: .86rem !important;
        line-height: 1.16 !important;
        margin: 0 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile-meta,
    body.vb-web-mode.vb-page-movies .nfx-tile-meta {
        margin: 4px 0 0 !important;
        font-size: .6rem !important;
        line-height: 1.12 !important;
        letter-spacing: .07em !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile-badge,
    body.vb-web-mode.vb-page-movies .nfx-tile-badge {
        border: 0 !important;
        border-radius: 3px !important;
        box-shadow: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile-rating,
    body.vb-web-mode.vb-page-movies .nfx-tile-rating {
        border-color: rgba(255,255,255,.22) !important;
        border-radius: 3px !important;
        background: rgba(0,0,0,.62) !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-top10 .nfx-top10-card,
    body.vb-web-mode.vb-page-movies .nfx-rail-top10 .nfx-top10-card {
        border: 0 !important;
        /* Netflix Top-10 look: a properly round card, not the 4px premium radius */
        border-radius: 12px !important;
        box-shadow: 0 8px 30px rgba(0,0,0,.5) !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-top10 .nfx-top10-tile:hover .nfx-top10-card,
    body.vb-web-mode.vb-page-movies .nfx-rail-top10 .nfx-top10-tile:hover .nfx-top10-card {
        transform: scale(1.025) !important;
        box-shadow: 0 10px 26px rgba(0,0,0,.34) !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-arr,
    body.vb-web-mode.vb-page-movies .nfx-rail-arr {
        background: linear-gradient(90deg, rgba(20,20,20,.82), rgba(20,20,20,.12)) !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-arr-r,
    body.vb-web-mode.vb-page-movies .nfx-rail-arr-r {
        background: linear-gradient(270deg, rgba(20,20,20,.82), rgba(20,20,20,.12)) !important;
    }
}

/* Center navbar links */
.navbar-collapse {
    justify-content: center !important;
}
.navbar-nav.ms-auto {
    margin-left: auto !important;
    margin-right: auto !important;
}

/* TV Nav Player — keep inline after the Live nav item */
#tvNavPlayerWrap {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
    width: 120px !important;
    min-width: 120px !important;
    height: 70px !important;
}

/* Megamenu arrow — hide default, use JS-positioned one */
.megamenu-panel::before {
    display: none !important;
}
.megamenu-panel .megamenu-arrow {
    position: absolute;
    top: -9px;
    width: 0;
    height: 0;
    border-left: 8px solid transparent;
    border-right: 8px solid transparent;
    border-bottom: 6px solid var(--header-dd-arrow-color, #e50914);
    z-index: 1;
}

/* Hide "Download Our Apps" section in the Channels megamenu */

/* Hide database megamenu — use child theme megamenu instead */
.megamenu-dropdown .megamenu-panel,
.megamenu-dropdown .dropdown-menu.megamenu-panel {
    display: none !important;
}

/* Hide database megamenu — child theme megamenu replaces it */
.megamenu-dropdown .megamenu-panel,
.megamenu-dropdown .dropdown-menu.megamenu-panel {
    width: 100vw !important;
    max-width: 1100px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    border-radius: 0 0 14px 14px !important;
    padding: 0 !important;
    border: none !important;
}

/* Megamenu flush with header bottom */
.megamenu-dropdown .dropdown-menu.show,
.megamenu-dropdown .hdr-mega-replaced.show {
    top: 100% !important;
    margin-top: 0 !important;
    inset: auto 0 auto 0 !important;
    transform: none !important;
}

/* Dropdown slide-down animation */
.navbar .dropdown-menu {
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity .2s ease, transform .2s ease !important;
    pointer-events: none;
}
.navbar .dropdown-menu.show {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}
.megamenu-dropdown .dropdown-menu {
    opacity: 0;
    transform: translateY(-8px);
    transition: opacity .2s ease, transform .2s ease !important;
    pointer-events: none;
}
.megamenu-dropdown .dropdown-menu.show {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

/* Stabilize tvNavPlayer — prevent layout shift */
#tvNavPlayerWrap {
    position: relative !important;
    flex-shrink: 0 !important;
    width: 120px !important;
    min-width: 120px !important;
    height: 70px !important;
    min-height: 70px !important;
}
#watchLiveBtn {
    display: block !important;
    width: 120px !important;
    min-width: 120px !important;
    height: 70px !important;
}
#watchLiveBtn > div {
    width: 120px !important;
    height: 70px !important;
}
#tvNavPlayerWrap .dropdown-menu {
    position: absolute !important;
    top: 100% !important;
    right: 0 !important;
    left: auto !important;
    transform: translateY(-8px) !important;
    margin-top: 0 !important;
    opacity: 0;
    transition: opacity .2s ease, transform .2s ease !important;
    pointer-events: none;
}
#tvNavPlayerWrap .dropdown-menu.show {
    transform: translateY(0) !important;
    opacity: 1;
    pointer-events: auto;
}
.channels-mega-menu.mega-panel-syncing,
.resources-mega-menu.mega-panel-syncing {
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Prevent navbar from reflowing when dropdowns open */
.navbar {
    min-height: 70px;
    overflow: visible !important;
}
.navbar .navbar-collapse {
    position: static !important;
}
.navbar > .container {
    position: relative !important;
    min-height: 70px;
    display: flex !important;
    align-items: center !important;
}

/* Ensure account dropdown is visible above everything */
.hdr-acct-wrap {
    position: relative !important;
    z-index: 10060 !important;
}
.hdr-acct-dd.open {
    z-index: 10070 !important;
}
[style*="1e293b"],
[style*="06080e"],
[style*="072f89"],
[style*="4 47 132"] {
    overflow: visible !important;
}
[style*="1e293b"] .container,
[style*="06080e"] .container,
[style*="072f89"] .container,
[style*="4 47 132"] .container {
    overflow: visible !important;
}

.bi-envelope-fill::before {
    content: "\f32c";
    color: #fff !important;
}

.bi-telephone-fill::before {
    content: "\f5b4";
    color: #fff !important;
}


/* Dark-page megamenu theme */
body.vb-dark-page-header .new-here-dropdown::before,
body.vb-dark-page-header .new-here-dropdown::after,
body.vb-dedicated-dark-header .new-here-dropdown::before,
body.vb-dedicated-dark-header .new-here-dropdown::after {
    display: none !important;
    content: none !important;
}

body.vb-dark-page-header .resources-mega-menu::after,
body.vb-dedicated-dark-header .resources-mega-menu::after,
body.vb-dark-page-header .channels-mega-menu::after,
body.vb-dedicated-dark-header .channels-mega-menu::after {
    border-bottom-color: #111318 !important;
}

body.vb-dark-page-header .new-here-dropdown,
body.vb-dedicated-dark-header .new-here-dropdown,
body.vb-dark-page-header .resources-mega-menu,
body.vb-dedicated-dark-header .resources-mega-menu,
body.vb-dark-page-header .channels-mega-menu,
body.vb-dedicated-dark-header .channels-mega-menu {
    box-shadow: 0 20px 56px rgba(0,0,0,.48) !important;
}

body.vb-dark-page-header .new-here-dropdown,
body.vb-dedicated-dark-header .new-here-dropdown {
    background: #111318 !important;
    border: 1px solid rgba(255,255,255,.08) !important;
}

body.vb-dark-page-header .new-here-dropdown .dropdown-item,
body.vb-dedicated-dark-header .new-here-dropdown .dropdown-item {
    background: transparent !important;
}

body.vb-dark-page-header .new-here-dropdown .new-here-item-shell,
body.vb-dedicated-dark-header .new-here-dropdown .new-here-item-shell {
    background: #111318 !important;
}

body.vb-dark-page-header .new-here-dropdown .dropdown-item:hover .new-here-item-shell,
body.vb-dark-page-header .new-here-dropdown .dropdown-item:focus .new-here-item-shell,
body.vb-dedicated-dark-header .new-here-dropdown .dropdown-item:hover .new-here-item-shell,
body.vb-dedicated-dark-header .new-here-dropdown .dropdown-item:focus .new-here-item-shell {
    background: #161b24 !important;
}

body.vb-dark-page-header .new-here-dropdown .dropdown-item[style*="border-bottom"],
body.vb-dedicated-dark-header .new-here-dropdown .dropdown-item[style*="border-bottom"] {
    border-bottom-color: rgba(255,255,255,.08) !important;
}

body.vb-dark-page-header .new-here-dropdown .new-here-item-shell > span:first-child,
body.vb-dedicated-dark-header .new-here-dropdown .new-here-item-shell > span:first-child {
    background: rgba(255,255,255,.08) !important;
}

body.vb-dark-page-header .new-here-dropdown .new-here-item-shell > span:last-child > span:first-child,
body.vb-dedicated-dark-header .new-here-dropdown .new-here-item-shell > span:last-child > span:first-child {
    color: #f8fafc !important;
}

body.vb-dark-page-header .new-here-dropdown .new-here-item-shell > span:last-child > span:last-child,
body.vb-dedicated-dark-header .new-here-dropdown .new-here-item-shell > span:last-child > span:last-child {
    color: #94a3b8 !important;
}

body.vb-dark-page-header .resources-mega-shell,
body.vb-dedicated-dark-header .resources-mega-shell,
body.vb-dark-page-header .channels-mega-grid,
body.vb-dedicated-dark-header .channels-mega-grid {
    background: #111318 !important;
}

body.vb-dark-page-header .resources-mega-head,
body.vb-dedicated-dark-header .resources-mega-head,
body.vb-dark-page-header .channels-mega-col + .channels-mega-col,
body.vb-dedicated-dark-header .channels-mega-col + .channels-mega-col,
body.vb-dark-page-header .channels-on-list,
body.vb-dedicated-dark-header .channels-on-list,
body.vb-dark-page-header .channels-utility-link,
body.vb-dedicated-dark-header .channels-utility-link,
body.vb-dark-page-header .channels-post-card,
body.vb-dedicated-dark-header .channels-post-card {
    border-color: rgba(255,255,255,.08) !important;
}

body.vb-dark-page-header .resources-mega-side,
body.vb-dedicated-dark-header .resources-mega-side,
body.vb-dark-page-header .channels-mega-col--alt,
body.vb-dedicated-dark-header .channels-mega-col--alt {
    background: #0c1118 !important;
}

body.vb-dark-page-header .resources-mega-title,
body.vb-dedicated-dark-header .resources-mega-title,
body.vb-dark-page-header .resources-mega-label,
body.vb-dedicated-dark-header .resources-mega-label,
body.vb-dark-page-header .channels-mega-link,
body.vb-dedicated-dark-header .channels-mega-link,
body.vb-dark-page-header .channels-on-item,
body.vb-dedicated-dark-header .channels-on-item,
body.vb-dark-page-header .channels-on-name,
body.vb-dedicated-dark-header .channels-on-name,
body.vb-dark-page-header .channels-post-title,
body.vb-dedicated-dark-header .channels-post-title {
    color: #f8fafc !important;
}

body.vb-dark-page-header .resources-mega-sub,
body.vb-dedicated-dark-header .resources-mega-sub,
body.vb-dark-page-header .resources-mega-meta,
body.vb-dedicated-dark-header .resources-mega-meta,
body.vb-dark-page-header .channels-about-copy,
body.vb-dedicated-dark-header .channels-about-copy,
body.vb-dark-page-header .channels-post-excerpt,
body.vb-dedicated-dark-header .channels-post-excerpt,
body.vb-dark-page-header .channels-mega-heading,
body.vb-dedicated-dark-header .channels-mega-heading {
    color: #94a3b8 !important;
}

body.vb-dark-page-header .resources-mega-link,
body.vb-dedicated-dark-header .resources-mega-link,
body.vb-dark-page-header .channels-utility-link,
body.vb-dedicated-dark-header .channels-utility-link,
body.vb-dark-page-header .channels-post-card,
body.vb-dedicated-dark-header .channels-post-card {
    background: #151b24 !important;
    color: #f8fafc !important;
}

body.vb-dark-page-header .resources-mega-link:hover,
body.vb-dark-page-header .resources-mega-link:focus,
body.vb-dedicated-dark-header .resources-mega-link:hover,
body.vb-dedicated-dark-header .resources-mega-link:focus,
body.vb-dark-page-header .channels-mega-link:hover,
body.vb-dark-page-header .channels-mega-link:focus,
body.vb-dedicated-dark-header .channels-mega-link:hover,
body.vb-dedicated-dark-header .channels-mega-link:focus,
body.vb-dark-page-header .channels-on-item:hover,
body.vb-dark-page-header .channels-on-item:focus,
body.vb-dedicated-dark-header .channels-on-item:hover,
body.vb-dedicated-dark-header .channels-on-item:focus,
body.vb-dark-page-header .channels-utility-link:hover,
body.vb-dark-page-header .channels-utility-link:focus,
body.vb-dedicated-dark-header .channels-utility-link:hover,
body.vb-dedicated-dark-header .channels-utility-link:focus,
body.vb-dark-page-header .channels-post-card:hover,
body.vb-dark-page-header .channels-post-card:focus,
body.vb-dedicated-dark-header .channels-post-card:hover,
body.vb-dedicated-dark-header .channels-post-card:focus {
    background: #1a2230 !important;
    color: #ffffff !important;
    border-color: rgba(255,255,255,.14) !important;
    box-shadow: 0 16px 30px rgba(0,0,0,.28) !important;
}

body.vb-dark-page-header .resources-mega-icon,
body.vb-dedicated-dark-header .resources-mega-icon {
    background: linear-gradient(135deg, rgba(229,8,21,.2), rgba(255,255,255,.06)) !important;
}

body.vb-dark-page-header .resources-featured-title,
body.vb-dedicated-dark-header .resources-featured-title {
    color: #f1f5f9 !important;
}

body.vb-dark-page-header .resources-featured-speaker,
body.vb-dedicated-dark-header .resources-featured-speaker {
    color: #94a3b8 !important;
}

body.vb-dark-page-header .resources-featured-badge,
body.vb-dedicated-dark-header .resources-featured-badge {
    color: #f87171 !important;
}

body.vb-dark-page-header .resources-featured-item,
body.vb-dedicated-dark-header .resources-featured-item {
    background: rgb(19 25 33) !important;
    border-color: rgb(21 27 36) !important;
}

body.vb-dark-page-header .channels-on-thumb,
body.vb-dedicated-dark-header .channels-on-thumb,
body.vb-dark-page-header .channels-post-thumb,
body.vb-dedicated-dark-header .channels-post-thumb {
    background: #0f1720 !important;
    color: #94a3b8 !important;
}

@media (min-width: 992px) {
    .resources-mega-menu::before,
    .resources-mega-menu::after,
    .channels-mega-menu::before,
    .channels-mega-menu::after {
        content: none !important;
        display: none !important;
    }

    .resources-mega-menu,
    .channels-mega-menu {
        top: 100% !important;
        left: 50% !important;
        right: auto !important;
        width: 100vw !important;
        max-width: 100vw !important;
        transform: translateX(-50%) !important;
        margin-top: 0 !important;
        border-top: none !important;
        box-shadow: 0 22px 44px rgba(15,23,42,.18) !important;
    }

    body.vb-dark-page-header .resources-mega-menu,
    body.vb-dedicated-dark-header .resources-mega-menu,
    body.vb-dark-page-header .channels-mega-menu,
    body.vb-dedicated-dark-header .channels-mega-menu {
        box-shadow: 0 24px 48px rgba(0,0,0,.42) !important;
    }
}


/* New Here dropdown — attach flush to header and remove light shell on dark pages */
.new-here-dropdown {
    position: absolute !important;
    border-radius: 0 0 18px 18px !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-top: 0 !important;
    margin-top: 0 !important;
    top: 100% !important;
    transform: none !important;
    overflow: hidden !important;
}
.new-here-dropdown > li:first-child > .dropdown-item,
.new-here-dropdown > li:first-child > .dropdown-item .new-here-item-shell {
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
}

body.vb-dark-page-header .new-here-dropdown,
body.vb-dedicated-dark-header .new-here-dropdown,
body.vb-dark-page-header .new-here-dropdown > li,
body.vb-dedicated-dark-header .new-here-dropdown > li,
body.vb-dark-page-header .new-here-dropdown > li > .dropdown-item,
body.vb-dedicated-dark-header .new-here-dropdown > li > .dropdown-item,
body.vb-dark-page-header .new-here-dropdown .new-here-item-shell,
body.vb-dedicated-dark-header .new-here-dropdown .new-here-item-shell {
    background: #111318 !important;
}

body.vb-dark-page-header .new-here-dropdown,
body.vb-dedicated-dark-header .new-here-dropdown {
    border-top: 0 !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    box-shadow: 0 20px 56px rgba(0,0,0,.48) !important;
}

/* User override: new here dropdown spacing + i59k color reset */
.dropdown-menu.shadow-lg.border-0.new-here-dropdown.show {
    margin-top: 25px !important;
}

#i59k *, #i59k a, #i59k span, #i59k i {
    /* color: #000000 !important; */
}

/* ==========================================================
   MOBILE BROWSER FIXES — Live TV Page & Homepage Channels
   Only affects mobile/tablet browsers, NOT the app.
   ========================================================== */

/* ---- Homepage channel strip: nav arrows inside container ---- */
@media (max-width: 991px) {
    .w-channels-prev { left: -10px !important; }
    .w-channels-next { right: -5px !important; }
    .w-channels-wrap { overflow: visible !important; }
    .w-channels {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }
    .w-channel {
        flex: 0 0 160px !important;
    }
}

/* ---- Public mobile pages: Live, Movies, and OnDemand ----
   Applies only to normal website browsing. App/embed pages are excluded by body class. */
@media (max-width: 991px) {
    body.vb-web-mode.vb-dark-page-header {
        background: #0a0a0a !important;
        color: #fff !important;
        overflow-x: hidden !important;
    }

    body.vb-web-mode.vb-dark-page-header .vb-vod-main,
    body.vb-web-mode.vb-dark-page-header .nfx,
    body.vb-web-mode.vb-dark-page-header .ltv {
        width: 100% !important;
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }

    body.vb-web-mode.vb-page-live .ltv-hero,
    body.vb-web-mode.vb-page-shows .nfx-bb-split,
    body.vb-web-mode.vb-page-movies .nfx-bb-split {
        width: 100% !important;
        margin: 0 !important;
        grid-template-columns: 1fr !important;
        min-height: auto !important;
    }

    body.vb-web-mode.vb-page-live .ltv-hero-right,
    body.vb-web-mode.vb-page-shows .nfx-bb-split-right,
    body.vb-web-mode.vb-page-movies .nfx-bb-split-right {
        order: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 16 / 9 !important;
        border-radius: 0 !important;
    }

    body.vb-web-mode.vb-page-live .ltv-hero-right video,
    body.vb-web-mode.vb-page-shows .nfx-bb-split-right iframe,
    body.vb-web-mode.vb-page-movies .nfx-bb-split-right iframe {
        width: 100% !important;
        height: 100% !important;
    }

    body.vb-web-mode.vb-page-live .ltv-hero-left,
    body.vb-web-mode.vb-page-shows .nfx-bb-split-left,
    body.vb-web-mode.vb-page-movies .nfx-bb-split-left {
        order: 2 !important;
        padding: 14px 14px 10px !important;
        gap: 10px !important;
        min-width: 0 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-split-left .nfx-bb-info,
    body.vb-web-mode.vb-page-movies .nfx-bb-split-left .nfx-bb-info {
        margin-top: 0 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-info-row,
    body.vb-web-mode.vb-page-movies .nfx-info-row {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 8px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-info-card,
    body.vb-web-mode.vb-page-movies .nfx-info-card,
    body.vb-web-mode.vb-page-live .ltv-info-card {
        height: auto !important;
        min-height: 72px !important;
    }

    body.vb-web-mode.vb-page-live .ltv-player-ui,
    body.vb-web-mode.vb-page-live .ltv-ctrl-play-big {
        opacity: 1 !important;
    }

    body.vb-web-mode.vb-page-live .ltv-ctrl-bottom-right {
        gap: 4px !important;
    }

    body.vb-web-mode.vb-page-live .ltv-epg-nav,
    body.vb-web-mode.vb-page-live .ltv-cat-tabs,
    body.vb-web-mode.vb-page-live .ltv-ch-tabs,
    body.vb-web-mode.vb-page-live .ltv-epg-wrap {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    body.vb-web-mode.vb-page-live .ltv-epg-scroll,
    body.vb-web-mode.vb-page-live .ltv-ch-tabs,
    body.vb-web-mode.vb-page-live .ltv-cat-tabs,
    body.vb-web-mode.vb-page-live .ltv-onnow-scroll,
    body.vb-web-mode.vb-page-shows .nfx-rail-track,
    body.vb-web-mode.vb-page-movies .nfx-rail-track,
    body.vb-web-mode.vb-page-shows .nfx-cat-pills,
    body.vb-web-mode.vb-page-movies .nfx-cat-pills {
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior-x: contain !important;
    }

    body.vb-web-mode.vb-page-shows .nfx,
    body.vb-web-mode.vb-page-movies .nfx {
        --nfx-gutter: 14px !important;
        --nfx-rail-gap: 10px !important;
        --nfx-tile-w: min(68vw, 248px) !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-discovery,
    body.vb-web-mode.vb-page-movies .nfx-discovery {
        padding: 8px var(--nfx-gutter) 12px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-discovery-inner,
    body.vb-web-mode.vb-page-movies .nfx-discovery-inner {
        padding: 10px 12px !important;
        border-radius: 10px !important;
        gap: 8px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-cat-pills,
    body.vb-web-mode.vb-page-movies .nfx-cat-pills {
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        width: 100% !important;
        padding-bottom: 2px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail,
    body.vb-web-mode.vb-page-movies .nfx-rail {
        padding-left: var(--nfx-gutter) !important;
        padding-right: var(--nfx-gutter) !important;
        padding-top: 18px !important;
        margin-bottom: 18px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-wrap,
    body.vb-web-mode.vb-page-movies .nfx-rail-wrap {
        margin-bottom: 0 !important;
        overflow: visible !important;
        padding-bottom: 0 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-track,
    body.vb-web-mode.vb-page-movies .nfx-rail-track {
        padding: 8px 0 12px !important;
        gap: var(--nfx-rail-gap) !important;
        scroll-padding-left: 0 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-title,
    body.vb-web-mode.vb-page-movies .nfx-rail-title {
        font-size: 1.05rem !important;
        line-height: 1.2 !important;
        max-width: 100% !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-see,
    body.vb-web-mode.vb-page-movies .nfx-rail-see,
    body.vb-web-mode.vb-page-shows .nfx-rail-arr,
    body.vb-web-mode.vb-page-movies .nfx-rail-arr {
        display: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile:hover,
    body.vb-web-mode.vb-page-movies .nfx-tile:hover,
    body.vb-web-mode.vb-page-shows .nfx-top10-tile:hover .nfx-top10-card,
    body.vb-web-mode.vb-page-movies .nfx-top10-tile:hover .nfx-top10-card {
        transform: none !important;
        filter: none !important;
    }
}

@media (max-width: 599px) {
    body.vb-web-mode.vb-page-live .ltv {
        --ltv-gutter: 12px !important;
    }

    body.vb-web-mode.vb-page-live .ltv-info-row,
    body.vb-web-mode.vb-page-live .ltv-notices-card,
    body.vb-web-mode.vb-page-live .ltv-ch-info {
        display: none !important;
    }

    body.vb-web-mode.vb-page-live .ltv-hero-left {
        padding: 10px 10px 8px !important;
    }

    body.vb-web-mode.vb-page-live .ltv-upnext {
        min-height: 72px !important;
        padding: 8px 10px !important;
    }

    body.vb-web-mode.vb-page-live .ltv-upnext-logo {
        width: 44px !important;
    }

    body.vb-web-mode.vb-page-live .ltv-upnext-countdown {
        font-size: 18px !important;
    }

    body.vb-web-mode.vb-page-live .ltv-onnow {
        display: block !important;
        padding: 7px 10px !important;
    }

    body.vb-web-mode.vb-page-live .ltv-onnow-card {
        width: 104px !important;
    }

    body.vb-web-mode.vb-page-live .ltv-epg-ch,
    body.vb-web-mode.vb-page-live .ltv-skel-ch {
        flex: 0 0 52px !important;
    }

    body.vb-web-mode.vb-page-live .ltv-epg-ch img,
    body.vb-web-mode.vb-page-live .ltv-skel-logo {
        width: 44px !important;
    }

    body.vb-web-mode.vb-page-live .ltv-epg-ch-ph {
        width: 44px !important;
        height: 28px !important;
    }

    body.vb-web-mode.vb-page-live .ltv-ctrl-bottom-right #ltvLikeBtn,
    body.vb-web-mode.vb-page-live .ltv-ctrl-bottom-right #ltvShareBtn,
    body.vb-web-mode.vb-page-live .ltv-ctrl-bottom-right #ltvMultiViewBtn,
    body.vb-web-mode.vb-page-live .ltv-ctrl-bottom-right #ltvFavBtn {
        display: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx,
    body.vb-web-mode.vb-page-movies .nfx {
        --nfx-gutter: 12px !important;
        --nfx-tile-w: 72vw !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-info-row,
    body.vb-web-mode.vb-page-movies .nfx-info-row {
        display: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-logo,
    body.vb-web-mode.vb-page-movies .nfx-bb-logo {
        font-size: 1.55rem !important;
        line-height: 1.08 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-desc,
    body.vb-web-mode.vb-page-movies .nfx-bb-desc {
        -webkit-line-clamp: 2 !important;
        margin-bottom: 10px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-btn,
    body.vb-web-mode.vb-page-movies .nfx-bb-btn {
        min-height: 42px !important;
        padding: 10px 12px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail,
    body.vb-web-mode.vb-page-movies .nfx-rail {
        padding-top: 14px !important;
        margin-bottom: 14px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-title,
    body.vb-web-mode.vb-page-movies .nfx-rail-title {
        font-size: 1rem !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-top10 .nfx-top10-tile,
    body.vb-web-mode.vb-page-movies .nfx-rail-top10 .nfx-top10-tile {
        width: auto !important;
    }


    body.vb-web-mode.vb-page-shows .nfx-rail-top10 .nfx-top10-card,
    body.vb-web-mode.vb-page-movies .nfx-rail-top10 .nfx-top10-card {
        width: 112px !important;
    }
}

/* ---- Public mobile resize: remove the legacy generated website header ----
   This targets only the old saved database header shown in the screenshot:
   #i59k = blue contact strip, #idu3g = NetworkTV desktop nav. */
@media (max-width: 991px) {
    body.vb-web-mode #i59k,
    body.vb-web-mode nav#idu3g,
    body.vb-web-mode #idu3g.navbar,
    body.vb-web-mode .navbar.navbar-expand-lg#idu3g {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }

    body.vb-web-mode #gmobileHeader,
    body.vb-web-mode .gmobile-header {
        display: flex !important;
        position: sticky !important;
        top: 0 !important;
        z-index: 10020 !important;
    }

    body.vb-web-mode main ~ #i59k,
    body.vb-web-mode main ~ nav#idu3g,
    body.vb-web-mode main ~ #idu3g.navbar,
    body.vb-web-mode main ~ .navbar.navbar-expand-lg#idu3g,
    body.vb-web-mode main ~ #gmobileHeader,
    body.vb-web-mode main ~ .gmobile-header,
    body.vb-web-mode footer ~ #gmobileHeader,
    body.vb-web-mode footer ~ .gmobile-header,
    body.vb-web-mode .site-footer ~ #gmobileHeader,
    body.vb-web-mode .site-footer ~ .gmobile-header,
    body.vb-web-mode .site-footer #i59k,
    body.vb-web-mode .site-footer #idu3g,
    body.vb-web-mode .site-footer #gmobileHeader,
    body.vb-web-mode footer #i59k,
    body.vb-web-mode footer #idu3g,
    body.vb-web-mode footer #gmobileHeader {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        overflow: hidden !important;
        pointer-events: none !important;
    }
}
@media (max-width: 480px) {
    .w-channels-prev { left: 2px !important; }
    .w-channels-next { right: 2px !important; }
    .w-channels-nav {
        width: 34px !important;
        height: 34px !important;
        font-size: .85rem !important;
    }
    .w-channel {
        flex: 0 0 140px !important;
    }
    .w-dark {
        height: auto !important;
        padding-top: 28px !important;
        padding-bottom: 28px !important;
    }
}

/* ---- Live TV page (/live): hero stacking & spacing ---- */
@media (max-width: 991px) {
    .ltv-hero {
        grid-template-columns: 1fr !important;
        min-height: auto !important;
    }
    .ltv-hero-right {
        order: 1 !important;
        max-height: 50vh !important;
        aspect-ratio: 16/9 !important;
    }
    .ltv-hero-left {
        order: 2 !important;
        padding: 14px 16px !important;
        gap: 10px !important;
    }
    /* Hide info row, notices, and channel info on mobile browser */
    .ltv-info-row {
        display: none !important;
    }
    .ltv-notices-card {
        display: none !important;
    }
    .ltv-ch-info {
        display: none !important;
    }
    /* Up Next — keep desktop horizontal layout, just scale down */
    .ltv-upnext {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        gap: 12px !important;
        padding: 10px 14px !important;
        border-radius: 10px !important;
    }
    .ltv-upnext-logo {
        width: clamp(50px, 10vw, 80px) !important;
        flex-shrink: 0 !important;
    }
    .ltv-upnext-info {
        flex: 1 !important;
        min-width: 0 !important;
    }
    .ltv-upnext-time {
        flex-shrink: 0 !important;
        text-align: right !important;
    }
    .ltv-upnext-countdown {
        font-size: clamp(18px, 4vw, 28px) !important;
    }
    /* EPG grid — prevent overlap */
    .ltv-epg-wrap {
        padding: 4px 12px !important;
    }
    .ltv-epg-row {
        height: auto !important;
        min-height: 56px !important;
    }
    .ltv-epg-block {
        height: auto !important;
        min-height: 56px !important;
        padding: 6px 8px !important;
    }
    /* Channel tabs — scrollable */
    .ltv-ch-tabs {
        padding: 0 12px !important;
        gap: 0 !important;
    }
    .ltv-ch-tab {
        padding: 8px 14px !important;
        font-size: .75rem !important;
    }
    /* Category tabs */
    .ltv-cat-tabs {
        padding: 0 12px !important;
    }
    .ltv-cat-tab {
        padding: 6px 12px !important;
        font-size: .7rem !important;
    }
    /* EPG nav buttons */
    .ltv-epg-nav {
        padding: 8px 12px !important;
        gap: 8px !important;
    }
    /* Content slider */
    .ltv-slide {
        padding: 0 20px 0 0 !important;
    }
    /* Watch party bar */
    .ltv-wp-bar {
        flex-wrap: wrap !important;
    }
    /* Detail panel full width */
    .ltv-detail-panel {
        width: 100% !important;
        max-width: 100vw !important;
    }
    /* Now bar */
    .ltv-nowbar {
        padding: 0 12px !important;
    }
}

/* ---- Live TV page: phone-specific ---- */
@media (max-width: 599px) {
    .ltv {
        --ltv-gutter: 10px !important;
    }
    .ltv-hero-right {
        max-height: 38vh !important;
    }
    .ltv-hero-left {
        padding: 10px 10px !important;
        gap: 8px !important;
    }
    /* Up Next — still horizontal like desktop, just tighter */
    .ltv-upnext {
        gap: 8px !important;
        padding: 8px 10px !important;
    }
    .ltv-upnext-logo {
        width: 45px !important;
    }
    .ltv-upnext-label {
        font-size: .55rem !important;
    }
    .ltv-upnext-title {
        font-size: .72rem !important;
    }
    .ltv-upnext-sub {
        font-size: .55rem !important;
    }
    .ltv-upnext-countdown {
        font-size: 18px !important;
    }
    .ltv-upnext-time-label {
        font-size: .48rem !important;
    }
    /* EPG — compact */
    .ltv-epg-ch {
        flex: 0 0 48px !important;
        padding: 2px !important;
    }
    .ltv-epg-ch img {
        width: 40px !important;
    }
    .ltv-epg-ch-ph {
        width: 40px !important;
        height: 26px !important;
    }
    .ltv-epg-row {
        height: auto !important;
        min-height: 48px !important;
        margin-bottom: 2px !important;
    }
    .ltv-epg-block {
        height: auto !important;
        min-height: 48px !important;
        padding: 4px 6px !important;
    }
    .ltv-epg-block-title {
        font-size: .6rem !important;
    }
    .ltv-epg-block-time {
        font-size: .5rem !important;
    }
    /* Skeleton */
    .ltv-skel-ch {
        flex: 0 0 48px !important;
    }
    .ltv-skel-logo {
        width: 40px !important;
        height: 26px !important;
    }
    /* PiP smaller on phone */
    .ltv-hero-right.ltv-pip {
        width: clamp(180px, 55vw, 280px) !important;
        top: 8px !important;
        right: 8px !important;
    }
    /* Player controls — bigger tap targets */
    .ltv-ctrl-btn {
        width: 40px !important;
        height: 40px !important;
    }
    .ltv-ctrl-play-big {
        width: 56px !important;
        height: 56px !important;
    }
    /* On Now rail — show on phone (was hidden) */
    .ltv-onnow {
        display: block !important;
        padding: 6px 10px !important;
    }
    .ltv-onnow-card {
        width: 90px !important;
    }
    .ltv-onnow-scroll {
        gap: 6px !important;
    }
    /* Content slider */
    .ltv-slidewrap {
        border-radius: 8px !important;
    }
    .ltv-slides {
        padding: 8px 10px 16px !important;
    }
    .ltv-slide-title {
        font-size: .85rem !important;
    }
    /* Live badge */
    .ltv-live-badge {
        top: 6px !important;
        left: 6px !important;
    }
}

/* ---- Homepage info row cards — prevent overlap on mobile ---- */
@media (max-width: 991px) {
    .w-info-inner {
        grid-template-columns: 1fr !important;
        gap: 16px !important;
    }
    .w-info-card {
        height: auto !important;
        min-height: auto !important;
        overflow: visible !important;
    }
}

/* ---- Top bar rearrangement on mobile browser ---- */
/* The top bar is a flex row with phone, email, GIVE, PARTNERS, Sign In.
   On mobile: stack phone+email left, Give+Sign In right. */
@media (max-width: 991px) {
    /* Top bar container — wrap into 2-column layout */
    body.vb-web-mode div[style*="1e293b"] > div,
    body.vb-web-mode div[style*="06080e"] > div,
    body.vb-web-mode div[style*="072f89"] > div {
        display: flex !important;
        flex-wrap: wrap !important;
        justify-content: space-between !important;
        align-items: flex-start !important;
        padding: 8px 14px !important;
        gap: 4px !important;
    }
    /* All links in top bar — reset inline styles */
    body.vb-web-mode div[style*="1e293b"] a,
    body.vb-web-mode div[style*="06080e"] a,
    body.vb-web-mode div[style*="072f89"] a {
        font-size: .7rem !important;
        padding: 3px 0 !important;
        margin: 0 !important;
    }
    /* Phone & email links — force to left, stack vertically */
    body.vb-web-mode div[style*="1e293b"] a[href^="tel"],
    body.vb-web-mode div[style*="06080e"] a[href^="tel"],
    body.vb-web-mode div[style*="072f89"] a[href^="tel"],
    body.vb-web-mode div[style*="1e293b"] a[href^="mailto"],
    body.vb-web-mode div[style*="06080e"] a[href^="mailto"],
    body.vb-web-mode div[style*="072f89"] a[href^="mailto"] {
        order: 1 !important;
        display: block !important;
        width: auto !important;
        text-align: left !important;
    }
    /* GIVE, PARTNERS, Sign In — force to right */
    body.vb-web-mode div[style*="1e293b"] a[href*="give"],
    body.vb-web-mode div[style*="06080e"] a[href*="give"],
    body.vb-web-mode div[style*="072f89"] a[href*="give"],
    body.vb-web-mode div[style*="1e293b"] a[href*="partner"],
    body.vb-web-mode div[style*="06080e"] a[href*="partner"],
    body.vb-web-mode div[style*="072f89"] a[href*="partner"],
    body.vb-web-mode div[style*="1e293b"] .hdr-acct-btn,
    body.vb-web-mode div[style*="06080e"] .hdr-acct-btn,
    body.vb-web-mode div[style*="072f89"] .hdr-acct-btn,
    body.vb-web-mode div[style*="1e293b"] .hdr-acct-wrap,
    body.vb-web-mode div[style*="06080e"] .hdr-acct-wrap,
    body.vb-web-mode div[style*="072f89"] .hdr-acct-wrap {
        order: 2 !important;
    }
    /* Hide separator dots/pipes between items */
    body.vb-web-mode div[style*="1e293b"] > div > span[style*="margin"],
    body.vb-web-mode div[style*="06080e"] > div > span[style*="margin"],
    body.vb-web-mode div[style*="072f89"] > div > span[style*="margin"] {
        display: none !important;
    }
}

/* ---- Final mobile website override: keep desktop and app pages untouched ---- */
@media (max-width: 991px) {
    body.vb-web-mode.vb-page-live,
    body.vb-web-mode.vb-page-shows,
    body.vb-web-mode.vb-page-movies {
        max-width: 100vw !important;
        overflow-x: hidden !important;
        -webkit-text-size-adjust: 100%;
    }

    body.vb-web-mode.vb-page-live .ltv-hero,
    body.vb-web-mode.vb-page-shows .nfx-bb-split,
    body.vb-web-mode.vb-page-movies .nfx-bb-split {
        grid-template-columns: 1fr !important;
        width: 100% !important;
        margin: 0 !important;
        min-height: 0 !important;
    }

    body.vb-web-mode.vb-page-live .ltv-hero-right,
    body.vb-web-mode.vb-page-shows .nfx-bb-split-right,
    body.vb-web-mode.vb-page-movies .nfx-bb-split-right {
        order: 1 !important;
        width: 100vw !important;
        max-width: 100vw !important;
        margin-left: calc(50% - 50vw) !important;
        margin-right: calc(50% - 50vw) !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 16 / 9 !important;
        border-radius: 0 !important;
    }

    body.vb-web-mode.vb-page-live .ltv-hero-left,
    body.vb-web-mode.vb-page-shows .nfx-bb-split-left,
    body.vb-web-mode.vb-page-movies .nfx-bb-split-left {
        order: 2 !important;
        padding: 12px 14px 10px !important;
        gap: 8px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-split-left .nfx-bb-info,
    body.vb-web-mode.vb-page-movies .nfx-bb-split-left .nfx-bb-info {
        width: 100% !important;
        box-sizing: border-box !important;
        padding: 10px 8px 12px !important;
        margin-top: 0 !important;
    }

    body.vb-web-mode.vb-page-live .ltv-ctrl-btn,
    body.vb-web-mode.vb-page-live .ltv-epg-btn,
    body.vb-web-mode.vb-page-live .ltv-detail-btn,
    body.vb-web-mode.vb-page-shows .nfx-bb-btn,
    body.vb-web-mode.vb-page-shows .nfx-cat-pill,
    body.vb-web-mode.vb-page-shows .nfx-search-toggle,
    body.vb-web-mode.vb-page-shows .nfx-discovery-clear,
    body.vb-web-mode.vb-page-shows .nfx-va-close,
    body.vb-web-mode.vb-page-shows .nfx-jb-close,
    body.vb-web-mode.vb-page-shows .nfx-vp-btn,
    body.vb-web-mode.vb-page-shows .nfx-vp-btn-sm,
    body.vb-web-mode.vb-page-movies .nfx-bb-btn,
    body.vb-web-mode.vb-page-movies .nfx-cat-pill,
    body.vb-web-mode.vb-page-movies .nfx-search-toggle,
    body.vb-web-mode.vb-page-movies .nfx-discovery-clear,
    body.vb-web-mode.vb-page-movies .nfx-va-close,
    body.vb-web-mode.vb-page-movies .nfx-jb-close,
    body.vb-web-mode.vb-page-movies .nfx-vp-btn,
    body.vb-web-mode.vb-page-movies .nfx-vp-btn-sm {
        min-width: 44px !important;
        min-height: 44px !important;
        touch-action: manipulation !important;
    }

    body.vb-web-mode.vb-page-live .ltv-epg-scroll,
    body.vb-web-mode.vb-page-live .ltv-ch-tabs,
    body.vb-web-mode.vb-page-live .ltv-cat-tabs,
    body.vb-web-mode.vb-page-live .ltv-onnow-scroll,
    body.vb-web-mode.vb-page-shows .nfx-rail-track,
    body.vb-web-mode.vb-page-shows .nfx-cat-pills,
    body.vb-web-mode.vb-page-shows .nfx-jb-season-pills,
    body.vb-web-mode.vb-page-movies .nfx-rail-track,
    body.vb-web-mode.vb-page-movies .nfx-cat-pills,
    body.vb-web-mode.vb-page-movies .nfx-jb-season-pills {
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        overscroll-behavior-x: contain !important;
        scroll-behavior: auto !important;
        scrollbar-width: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx,
    body.vb-web-mode.vb-page-movies .nfx {
        --nfx-gutter: 14px !important;
        --nfx-rail-gap: 10px !important;
        --nfx-tile-w: min(72vw, 238px) !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail,
    body.vb-web-mode.vb-page-movies .nfx-rail {
        padding-left: var(--nfx-gutter) !important;
        padding-right: var(--nfx-gutter) !important;
        padding-top: 14px !important;
        margin-bottom: 14px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-wrap,
    body.vb-web-mode.vb-page-movies .nfx-rail-wrap {
        overflow: visible !important;
        margin-bottom: 0 !important;
        padding-bottom: 0 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-track,
    body.vb-web-mode.vb-page-movies .nfx-rail-track {
        display: flex !important;
        grid-template-columns: none !important;
        gap: var(--nfx-rail-gap) !important;
        padding: 8px 0 14px !important;
        overflow-y: visible !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-track > .nfx-tile,
    body.vb-web-mode.vb-page-movies .nfx-rail-track > .nfx-tile {
        flex: 0 0 var(--nfx-tile-w) !important;
        width: var(--nfx-tile-w) !important;
        min-width: var(--nfx-tile-w) !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-arr,
    body.vb-web-mode.vb-page-shows .nfx-rail-see,
    body.vb-web-mode.vb-page-movies .nfx-rail-arr,
    body.vb-web-mode.vb-page-movies .nfx-rail-see,
    body.vb-web-mode.vb-page-shows .nfx-mp,
    body.vb-web-mode.vb-page-movies .nfx-mp {
        display: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile:hover,
    body.vb-web-mode.vb-page-shows .nfx-top10-tile:hover .nfx-top10-card,
    body.vb-web-mode.vb-page-movies .nfx-tile:hover,
    body.vb-web-mode.vb-page-movies .nfx-top10-tile:hover .nfx-top10-card {
        transform: none !important;
        filter: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-discovery-search input,
    body.vb-web-mode.vb-page-movies .nfx-discovery-search input {
        min-height: 44px !important;
        font-size: 16px !important;
    }

    body.vb-web-mode.vb-page-live .ltv-detail-panel {
        width: 100vw !important;
        max-width: 100vw !important;
        right: -100vw !important;
        border-left: 0 !important;
    }

    body.vb-web-mode.vb-page-live .ltv-detail-panel.open {
        right: 0 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-jb,
    body.vb-web-mode.vb-page-movies .nfx-jb {
        width: 100% !important;
        max-width: 100% !important;
        min-height: 100vh !important;
        min-height: 100dvh !important;
        margin: 0 !important;
        border-radius: 0 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-vp,
    body.vb-web-mode.vb-page-movies .nfx-vp {
        background: #000 !important;
        color: #fff !important;
        overscroll-behavior: none !important;
        touch-action: manipulation !important;
    }

    html.nfx-vp-active,
    html.nfx-vp-active body.vb-web-mode.vb-page-shows,
    html.nfx-vp-active body.vb-web-mode.vb-page-movies,
    body.vb-web-mode.vb-page-shows.nfx-vp-active,
    body.vb-web-mode.vb-page-movies.nfx-vp-active,
    body.vb-web-mode.vb-page-shows .nfx-vp.open,
    body.vb-web-mode.vb-page-movies .nfx-vp.open,
    body.vb-web-mode.vb-page-shows .nfx-vp iframe,
    body.vb-web-mode.vb-page-movies .nfx-vp iframe,
    body.vb-web-mode.vb-page-shows .nfx-vp-loading,
    body.vb-web-mode.vb-page-movies .nfx-vp-loading {
        background-color: #000 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-vp-ui,
    body.vb-web-mode.vb-page-movies .nfx-vp-ui {
        background: transparent !important;
        background-color: transparent !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-vp iframe,
    body.vb-web-mode.vb-page-movies .nfx-vp iframe {
        color-scheme: dark !important;
    }
}

@media (max-width: 599px) {
    body.vb-web-mode.vb-page-live .ltv-ctrl-bottom-logo,
    body.vb-web-mode.vb-page-live .ltv-ctrl-bottom-info {
        display: none !important;
    }

    body.vb-web-mode.vb-page-live .ltv-ctrl-bottom {
        justify-content: flex-end !important;
    }

    body.vb-web-mode.vb-page-shows .nfx,
    body.vb-web-mode.vb-page-movies .nfx {
        --nfx-gutter: 12px !important;
        --nfx-tile-w: 74vw !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-split-left,
    body.vb-web-mode.vb-page-movies .nfx-bb-split-left {
        padding-left: 16px !important;
        padding-right: 16px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-split-left .nfx-bb-info,
    body.vb-web-mode.vb-page-movies .nfx-bb-split-left .nfx-bb-info {
        padding: 12px 10px 14px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-chip:nth-child(n+4),
    body.vb-web-mode.vb-page-movies .nfx-bb-chip:nth-child(n+4),
    body.vb-web-mode.vb-page-shows .nfx-discovery-meta,
    body.vb-web-mode.vb-page-movies .nfx-discovery-meta {
        display: none !important;
    }
}

/* ---- High-density mobile rails for Movies and OnDemand ---- */
@media (max-width: 991px) {
    body.vb-web-mode.vb-page-shows .nfx,
    body.vb-web-mode.vb-page-movies .nfx {
        --nfx-gutter: clamp(16px, 3.4vw, 28px) !important;
        --nfx-rail-gap: clamp(6px, 1vw, 9px) !important;
        --nfx-tile-w: clamp(156px, 31vw, 220px) !important;
        --nfx-premium-radius: 4px !important;
        background: #141414 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-split-left,
    body.vb-web-mode.vb-page-movies .nfx-bb-split-left {
        padding: 12px var(--nfx-gutter) 14px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-split-left .nfx-bb-info,
    body.vb-web-mode.vb-page-movies .nfx-bb-split-left .nfx-bb-info {
        padding: 8px 0 10px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-logo,
    body.vb-web-mode.vb-page-movies .nfx-bb-logo {
        font-size: clamp(1.55rem, 5.4vw, 2.35rem) !important;
        line-height: 1.02 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-support,
    body.vb-web-mode.vb-page-movies .nfx-bb-support {
        font-size: .62rem !important;
        margin-bottom: 6px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-desc,
    body.vb-web-mode.vb-page-movies .nfx-bb-desc {
        font-size: .78rem !important;
        line-height: 1.35 !important;
        -webkit-line-clamp: 2 !important;
        margin-bottom: 8px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-meta,
    body.vb-web-mode.vb-page-movies .nfx-bb-meta {
        font-size: .72rem !important;
        gap: 7px !important;
        margin-bottom: 8px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-chips,
    body.vb-web-mode.vb-page-movies .nfx-bb-chips {
        margin-bottom: 10px !important;
        gap: 6px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-chip,
    body.vb-web-mode.vb-page-movies .nfx-bb-chip {
        padding: 5px 9px !important;
        font-size: .62rem !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-btns,
    body.vb-web-mode.vb-page-movies .nfx-bb-btns {
        gap: 8px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-btn,
    body.vb-web-mode.vb-page-movies .nfx-bb-btn {
        min-height: 42px !important;
        padding: 8px 12px !important;
        font-size: .82rem !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-discovery,
    body.vb-web-mode.vb-page-movies .nfx-discovery {
        display: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail,
    body.vb-web-mode.vb-page-movies .nfx-rail {
        padding-left: var(--nfx-gutter) !important;
        padding-right: 0 !important;
        padding-top: 16px !important;
        margin-bottom: 12px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-hdr,
    body.vb-web-mode.vb-page-movies .nfx-rail-hdr {
        padding-right: var(--nfx-gutter) !important;
        margin-bottom: 5px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-title,
    body.vb-web-mode.vb-page-movies .nfx-rail-title {
        font-size: clamp(.98rem, 2.7vw, 1.18rem) !important;
        line-height: 1.15 !important;
        letter-spacing: 0 !important;
        text-shadow: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-track,
    body.vb-web-mode.vb-page-movies .nfx-rail-track {
        gap: var(--nfx-rail-gap) !important;
        padding: 5px var(--nfx-gutter) 10px 0 !important;
        scroll-padding-left: 0 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-track > .nfx-tile,
    body.vb-web-mode.vb-page-movies .nfx-rail-track > .nfx-tile,
    body.vb-web-mode.vb-page-shows .nfx-rail-track .nfx-tile-landscape,
    body.vb-web-mode.vb-page-movies .nfx-rail-track .nfx-tile-landscape,
    body.vb-web-mode.vb-page-shows .nfx-rail-track .nfx-tile-poster,
    body.vb-web-mode.vb-page-movies .nfx-rail-track .nfx-tile-poster {
        flex: 0 0 var(--nfx-tile-w) !important;
        width: var(--nfx-tile-w) !important;
        min-width: var(--nfx-tile-w) !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile,
    body.vb-web-mode.vb-page-movies .nfx-tile {
        border: 0 !important;
        border-radius: 4px !important;
        box-shadow: none !important;
        background: #171717 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile-inner,
    body.vb-web-mode.vb-page-movies .nfx-tile-inner {
        border: 0 !important;
        border-radius: 4px !important;
        box-shadow: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile-img,
    body.vb-web-mode.vb-page-movies .nfx-tile-img {
        transform: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile-caption,
    body.vb-web-mode.vb-page-movies .nfx-tile-caption {
        padding: 24px 8px 7px !important;
        background: linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.42) 48%, rgba(0,0,0,.94) 100%) !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile-title,
    body.vb-web-mode.vb-page-movies .nfx-tile-title {
        font-size: .72rem !important;
        line-height: 1.12 !important;
        font-weight: 850 !important;
        -webkit-line-clamp: 2 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile-meta,
    body.vb-web-mode.vb-page-movies .nfx-tile-meta {
        margin-top: 4px !important;
        font-size: .52rem !important;
        line-height: 1.15 !important;
        letter-spacing: .07em !important;
        -webkit-line-clamp: 1 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile-badge,
    body.vb-web-mode.vb-page-movies .nfx-tile-badge {
        top: 6px !important;
        left: 6px !important;
        padding: 2px 6px !important;
        font-size: .48rem !important;
        border-radius: 3px !important;
        box-shadow: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile-rating,
    body.vb-web-mode.vb-page-movies .nfx-tile-rating {
        top: 6px !important;
        right: 6px !important;
        padding: 1px 5px !important;
        font-size: .48rem !important;
        border-radius: 3px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-top10 .nfx-rail-track,
    body.vb-web-mode.vb-page-movies .nfx-rail-top10 .nfx-rail-track {
        /* Owner-approved Top 10 spec: the rank numeral is always visible beside its
           card (never buried). gap:0 packed the cards edge-to-edge over the digits. */
        gap: 10px !important;
        padding-top: 4px !important;
        overflow-y: visible !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-top10 .nfx-top10-tile,
    body.vb-web-mode.vb-page-movies .nfx-rail-top10 .nfx-top10-tile {
        width: auto !important;
        min-width: 0 !important;
    }


    body.vb-web-mode.vb-page-shows .nfx-rail-top10 .nfx-top10-card,
    body.vb-web-mode.vb-page-movies .nfx-rail-top10 .nfx-top10-card {
        width: clamp(92px, 19vw, 130px) !important;
        border-radius: 4px !important;
        box-shadow: none !important;
    }

    /* Digit height tracks this block's card width (x1.5 = 2:3 poster height) so
       number and card stay exactly the same height at the compact sizes too. */
    body.vb-web-mode.vb-page-shows .nfx-rail-top10 .nfx-top10-num,
    body.vb-web-mode.vb-page-movies .nfx-rail-top10 .nfx-top10-num {
        height: calc(clamp(92px, 19vw, 130px) * 1.5) !important;
        align-self: flex-end !important;
        margin-right: -10px !important;
    }
}

@media (max-width: 599px) {
    body.vb-web-mode.vb-page-shows .nfx,
    body.vb-web-mode.vb-page-movies .nfx {
        --nfx-gutter: 14px !important;
        --nfx-rail-gap: 6px !important;
        --nfx-tile-w: clamp(124px, 34vw, 148px) !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-split-left,
    body.vb-web-mode.vb-page-movies .nfx-bb-split-left {
        padding-top: 10px !important;
        padding-bottom: 12px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-logo,
    body.vb-web-mode.vb-page-movies .nfx-bb-logo {
        font-size: clamp(1.5rem, 7vw, 1.95rem) !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-support,
    body.vb-web-mode.vb-page-movies .nfx-bb-support,
    body.vb-web-mode.vb-page-shows .nfx-bb-chips,
    body.vb-web-mode.vb-page-movies .nfx-bb-chips {
        display: none !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-bb-desc,
    body.vb-web-mode.vb-page-movies .nfx-bb-desc {
        -webkit-line-clamp: 1 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail,
    body.vb-web-mode.vb-page-movies .nfx-rail {
        padding-top: 12px !important;
        margin-bottom: 8px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-title,
    body.vb-web-mode.vb-page-movies .nfx-rail-title {
        font-size: .98rem !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile-title,
    body.vb-web-mode.vb-page-movies .nfx-tile-title {
        font-size: .68rem !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-tile-meta,
    body.vb-web-mode.vb-page-movies .nfx-tile-meta {
        font-size: .5rem !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-top10 .nfx-top10-tile,
    body.vb-web-mode.vb-page-movies .nfx-rail-top10 .nfx-top10-tile {
        width: auto !important;
        min-width: 0 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-top10 .nfx-rail-track,
    body.vb-web-mode.vb-page-movies .nfx-rail-top10 .nfx-rail-track {
        gap: 8px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-top10 .nfx-top10-card,
    body.vb-web-mode.vb-page-movies .nfx-rail-top10 .nfx-top10-card {
        width: 88px !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-rail-top10 .nfx-top10-num,
    body.vb-web-mode.vb-page-movies .nfx-rail-top10 .nfx-top10-num {
        height: 132px !important;   /* 88px card x 1.5 — number == card height */
        align-self: flex-end !important;
        margin-right: -8px !important;
    }
}

/* ---- Mobile video player shell: keep letterbox/background black ---- */
@media (max-width: 991px) {
    html.nfx-vp-active,
    body.vb-web-mode.vb-page-shows.nfx-vp-active,
    body.vb-web-mode.vb-page-movies.nfx-vp-active,
    body.vb-web-mode.vb-page-shows .nfx-vp.open,
    body.vb-web-mode.vb-page-movies .nfx-vp.open {
        background: #000 !important;
        background-color: #000 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-vp.open,
    body.vb-web-mode.vb-page-movies .nfx-vp.open {
        overflow: hidden !important;
        color-scheme: dark !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-vp.open::before,
    body.vb-web-mode.vb-page-movies .nfx-vp.open::before {
        content: "" !important;
        position: absolute !important;
        inset: 0 !important;
        z-index: 0 !important;
        background: #000 !important;
    }

    body.vb-web-mode.vb-page-shows .nfx-vp.open iframe,
    body.vb-web-mode.vb-page-movies .nfx-vp.open iframe {
        background: #000 !important;
        background-color: #000 !important;
        color-scheme: dark !important;
    }
}
