.gtv-page,
.gtv-watch-page{
    width:calc(100% - 28px);
    max-width:1280px;
    margin:0 auto;
    padding:110px 0 55px;
    box-sizing:border-box;
}

.gtv-head{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;
}

.gtv-head h1{
    margin:0;
    font-size:clamp(27px,4vw,42px);
}

.gtv-head p{
    margin:7px 0 0;
    opacity:.62;
}

.gtv-filter{
    display:grid;
    grid-template-columns:
        minmax(180px,1.4fr)
        minmax(150px,.8fr)
        minmax(150px,.8fr)
        auto
        auto;
    gap:10px;
    margin-bottom:24px;
}

.gtv-filter input,
.gtv-filter select{
    width:100%;
    min-width:0;
    box-sizing:border-box;
    padding:11px 12px;
    border:1px solid rgba(255,255,255,.11);
    border-radius:10px;
    background:#111720;
    color:#fff;
    outline:none;
}

.gtv-filter button,
.gtv-reset{
    display:flex;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:10px;
    padding:10px 17px;
    background:#f02e58;
    color:#fff;
    font-weight:800;
    text-decoration:none;
    cursor:pointer;
}

.gtv-reset{
    background:#1a2230;
}

.gtv-grid{
    display:grid;
    grid-template-columns:
        repeat(
            6,
            minmax(0,1fr)
        );
    gap:14px;
}

.gtv-card{
    min-width:0;
    overflow:hidden;
    border:1px solid rgba(255,255,255,.07);
    border-radius:15px;
    background:
        linear-gradient(
            160deg,
            #121923,
            #0c1017
        );
    color:#fff;
    text-decoration:none;
    transition:
        transform .18s ease,
        border-color .18s ease,
        box-shadow .18s ease;
}

.gtv-card:hover{
    transform:translateY(-4px);
    border-color:rgba(255,255,255,.17);
    box-shadow:0 15px 40px rgba(0,0,0,.25);
}

.gtv-logo{
    height:115px;
    display:flex;
    align-items:center;
    justify-content:center;
    padding:17px;
    box-sizing:border-box;
    background:
        radial-gradient(
            circle at center,
            rgba(255,255,255,.07),
            rgba(255,255,255,.015)
        );
}

.gtv-logo img{
    display:block;
    max-width:100%;
    max-height:80px;
    object-fit:contain;
}

.gtv-logo-fallback{
    width:100%;
    height:100%;
    align-items:center;
    justify-content:center;
    font-size:42px;
}

.gtv-card-info{
    padding:12px 13px 14px;
}

.gtv-card-info strong{
    display:block;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:14px;
}

.gtv-card-meta{
    display:flex;
    justify-content:space-between;
    gap:8px;
    margin-top:8px;
    font-size:11px;
    opacity:.64;
}

.gtv-card-meta span:first-child{
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.gtv-quality{
    flex:none;
    padding:2px 6px;
    border-radius:5px;
    background:rgba(255,255,255,.08);
}

.gtv-pagination{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:20px;
    margin-top:30px;
}

.gtv-pagination a{
    padding:9px 14px;
    border-radius:9px;
    background:#171e29;
    color:#fff;
    text-decoration:none;
}

.gtv-pagination span{
    opacity:.65;
    font-size:13px;
}

.gtv-empty{
    padding:70px 20px;
    text-align:center;
}

.gtv-empty a{
    color:#fff;
}

.gtv-watch-page{
    max-width:1180px;
}

.gtv-watch-head{
    margin-bottom:18px;
}

.gtv-back{
    display:inline-block;
    margin-bottom:16px;
    color:#fff;
    opacity:.7;
    text-decoration:none;
}

.gtv-channel-title{
    display:flex;
    align-items:center;
    gap:15px;
}

.gtv-channel-title img{
    width:68px;
    height:52px;
    padding:5px;
    box-sizing:border-box;
    border-radius:10px;
    object-fit:contain;
    background:#fff;
}

.gtv-channel-title h1{
    margin:0;
    font-size:clamp(24px,4vw,36px);
}

.gtv-channel-title p{
    margin:5px 0 0;
    opacity:.62;
}

.gtv-player-card{
    overflow:hidden;
    border:1px solid rgba(255,255,255,.08);
    border-radius:17px;
    background:#080b10;
    box-shadow:0 25px 70px rgba(0,0,0,.3);
}

.gtv-player-stage{
    position:relative;
    width:100%;
    aspect-ratio:16/9;
    background:#000;
}

.gtv-player-stage video{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    background:#000;
}

.gtv-player-status{
    position:absolute;
    left:50%;
    top:50%;
    transform:translate(-50%,-50%);
    padding:9px 13px;
    border-radius:8px;
    background:rgba(0,0,0,.72);
    color:#fff;
    font-size:13px;
    pointer-events:none;
}

.gtv-player-status.hide{
    display:none;
}

.gtv-player-bottom{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:15px;
    padding:12px 14px;
}

.gtv-player-bottom strong{
    color:#ff315c;
    margin-right:8px;
}

.gtv-player-bottom span{
    opacity:.65;
    font-size:12px;
}

.gtv-player-bottom button{
    border:0;
    border-radius:8px;
    padding:8px 11px;
    background:#19212d;
    color:#fff;
    cursor:pointer;
}

.gtv-streams{
    margin-top:22px;
}

.gtv-streams h2{
    margin:0 0 12px;
    font-size:18px;
}

.gtv-stream-buttons{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
}

.gtv-stream-button{
    border:1px solid rgba(255,255,255,.1);
    border-radius:8px;
    padding:8px 11px;
    background:#111823;
    color:#fff;
    cursor:pointer;
}

.gtv-stream-button.active{
    background:#f02e58;
    border-color:#f02e58;
}

@media(max-width:1150px){
    .gtv-grid{
        grid-template-columns:
            repeat(
                5,
                minmax(0,1fr)
            );
    }
}

@media(max-width:900px){
    .gtv-grid{
        grid-template-columns:
            repeat(
                4,
                minmax(0,1fr)
            );
    }

    .gtv-filter{
        grid-template-columns:
            1fr 1fr;
    }
}

@media(max-width:650px){

    .gtv-page,
    .gtv-watch-page{
        width:calc(100% - 16px);
        padding-top:96px;
    }

    .gtv-grid{
        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            );
        gap:10px;
    }

    .gtv-logo{
        height:100px;
        padding:12px;
    }

    .gtv-filter{
        grid-template-columns:1fr;
    }

    .gtv-player-bottom{
        align-items:flex-start;
        flex-direction:column;
    }
}


/* GM-LIVE-TV-CINEMA-V3 START */


.gtv-watch-cinema{
    width:calc(100% - 28px) !important;
    max-width:1220px !important;
    margin:0 auto !important;
    padding:105px 0 55px !important;
}


.gtv-cinema-header{
    margin-bottom:20px;
}


.gtv-back{
    display:inline-flex;
    align-items:center;
    margin-bottom:16px;
    color:rgba(255,255,255,.62);
    text-decoration:none;
    font-size:13px;
}


.gtv-back:hover{
    color:#fff;
}


.gtv-current-channel{
    display:flex;
    align-items:center;
    gap:14px;
}


.gtv-current-logo{
    width:68px;
    height:54px;
    flex:none;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    border-radius:12px;

    background:
        rgba(255,255,255,.07);

    border:
        1px solid
        rgba(255,255,255,.08);

    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
}


.gtv-current-logo img{
    display:block;
    max-width:90%;
    max-height:84%;
    object-fit:contain;
}


.gtv-current-logo span{
    font-size:27px;
}


.gtv-current-info{
    min-width:0;
}


.gtv-current-info h1{
    margin:0 0 7px;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    font-size:clamp(24px,3vw,34px);
}


.gtv-current-info > div{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:8px;
    color:rgba(255,255,255,.55);
    font-size:12px;
}


.gtv-live-badge{
    display:inline-flex;
    align-items:center;
    gap:6px;

    padding:4px 7px;

    border-radius:6px;

    background:
        rgba(239,41,80,.12);

    color:#ff4769 !important;

    font-weight:800;
}


.gtv-live-badge i,
.gtv-status-dot{
    width:7px;
    height:7px;
    display:block;
    flex:none;
    border-radius:50%;
    background:#ff3158;
    box-shadow:
        0 0 10px
        rgba(255,49,88,.75);
}


.gtv-cinema-grid{
    display:grid;

    grid-template-columns:
        minmax(0,836px)
        360px;

    gap:24px;

    align-items:start;
}


.gtv-player-column{
    min-width:0;
}


.gtv-cinema-player-card{
    overflow:hidden;

    border:
        1px solid
        rgba(255,255,255,.085) !important;

    border-radius:17px !important;

    background:
        rgba(9,13,20,.40) !important;

    backdrop-filter:
        blur(16px);

    -webkit-backdrop-filter:
        blur(16px);

    box-shadow:
        0 22px 65px
        rgba(0,0,0,.24) !important;
}


.gtv-cinema-player-stage{
    position:relative;
    width:100%;
    aspect-ratio:16 / 9;
    overflow:hidden;
    background:#000;
}


.gtv-cinema-player-stage > #moviePlayer{
    display:block;
    width:100%;
    height:100%;
    object-fit:contain;
    background:#000;
}


.gtv-live-start{
    position:absolute;
    z-index:12;
    inset:0;

    width:100%;
    height:100%;

    border:0;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    gap:9px;

    cursor:pointer;

    color:#fff;

    background:
        radial-gradient(
            circle at 50% 45%,
            rgba(31,39,54,.40),
            rgba(3,5,9,.92)
        );
}


.gtv-live-start.hide{
    display:none;
}


.gtv-live-start.starting{
    pointer-events:none;
}


.gtv-live-start strong{
    font-size:18px;
    letter-spacing:.4px;
}


.gtv-live-start small{
    max-width:75%;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;

    color:
        rgba(255,255,255,.58);
}


.gtv-live-play{
    width:70px;
    height:70px;

    display:flex;
    align-items:center;
    justify-content:center;

    box-sizing:border-box;

    padding-left:5px;

    border-radius:50%;

    background:
        linear-gradient(
            145deg,
            #ff3c68,
            #df1d49
        );

    box-shadow:
        0 10px 40px
        rgba(239,40,82,.32);

    font-size:25px;

    transition:
        transform .18s ease;
}


.gtv-live-start:hover
.gtv-live-play{
    transform:scale(1.07);
}


.gtv-live-loader{
    position:absolute;
    z-index:10;

    inset:0;

    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;

    gap:9px;

    color:#fff;

    background:
        rgba(0,0,0,.72);

    pointer-events:none;
}


.gtv-live-loader.hide{
    display:none;
}


.gtv-live-loader strong{
    font-size:15px;
}


.gtv-live-loader small{
    color:
        rgba(255,255,255,.55);

    font-size:12px;
}


.gtv-live-spinner{
    width:32px;
    height:32px;

    border-radius:50%;

    border:
        3px solid
        rgba(255,255,255,.15);

    border-top-color:#fff;

    animation:
        gtvspin .85s
        linear infinite;
}


@keyframes gtvspin{
    to{
        transform:rotate(360deg);
    }
}


.gtv-player-foot{
    min-height:54px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    gap:12px;

    padding:10px 13px;

    box-sizing:border-box;

    border-top:
        1px solid
        rgba(255,255,255,.055);

    background:
        rgba(255,255,255,.018);
}


.gtv-player-status{
    position:static !important;
    transform:none !important;

    display:flex !important;
    align-items:center;

    gap:7px;

    padding:0 !important;

    background:none !important;

    font-size:12px !important;
}


.gtv-player-status strong{
    color:#ff3e63;
}


.gtv-player-status span:last-child{
    color:
        rgba(255,255,255,.52);
}


.gtv-retry-button{
    border:
        1px solid
        rgba(255,255,255,.08);

    border-radius:8px;

    padding:7px 11px;

    background:
        rgba(255,255,255,.055);

    color:#fff;

    cursor:pointer;
}


.gtv-retry-button:hover{
    background:
        rgba(255,255,255,.1);
}


.gtv-stream-section{
    margin-top:15px;

    padding:15px;

    border:
        1px solid
        rgba(255,255,255,.07);

    border-radius:14px;

    background:
        rgba(255,255,255,.025);

    backdrop-filter:
        blur(12px);

    -webkit-backdrop-filter:
        blur(12px);
}


.gtv-stream-title{
    margin-bottom:10px;
    font-size:13px;
    font-weight:700;
}


.gtv-recommend-sidebar{
    overflow:hidden;

    border:
        1px solid
        rgba(255,255,255,.08);

    border-radius:17px;

    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.045),
            rgba(255,255,255,.015)
        );

    backdrop-filter:
        blur(16px);

    -webkit-backdrop-filter:
        blur(16px);

    box-shadow:
        0 18px 50px
        rgba(0,0,0,.16);
}


.gtv-recommend-header{
    min-height:66px;

    display:flex;
    align-items:center;
    justify-content:space-between;

    padding:12px 14px;

    box-sizing:border-box;

    border-bottom:
        1px solid
        rgba(255,255,255,.065);
}


.gtv-recommend-header > div{
    display:flex;
    flex-direction:column;
    gap:3px;
}


.gtv-recommend-header strong{
    font-size:15px;
}


.gtv-recommend-header span{
    color:
        rgba(255,255,255,.45);

    font-size:11px;
}


.gtv-side-live{
    padding:4px 7px;

    border-radius:5px;

    color:#ff4266 !important;

    background:
        rgba(239,41,80,.12);

    font-weight:800;
}


.gtv-recommend-list{
    max-height:600px;
    overflow-y:auto;
    padding:7px;
}


.gtv-recommend-card{
    display:grid;

    grid-template-columns:
        74px
        minmax(0,1fr)
        auto;

    align-items:center;

    gap:10px;

    min-height:67px;

    padding:7px;

    box-sizing:border-box;

    border-radius:10px;

    color:#fff;

    text-decoration:none;

    transition:
        background .16s ease;
}


.gtv-recommend-card:hover{
    background:
        rgba(255,255,255,.065);
}


.gtv-recommend-logo{
    width:74px;
    height:50px;

    overflow:hidden;

    display:flex;
    align-items:center;
    justify-content:center;

    border-radius:8px;

    background:
        rgba(255,255,255,.05);

    font-size:22px;
}


.gtv-recommend-logo img{
    display:block;

    max-width:90%;
    max-height:86%;

    object-fit:contain;
}


.gtv-recommend-info{
    min-width:0;

    display:flex;
    flex-direction:column;

    gap:5px;
}


.gtv-recommend-info strong{
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;

    font-size:12.5px;
}


.gtv-recommend-info span{
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;

    color:
        rgba(255,255,255,.45);

    font-size:10px;
}


.gtv-recommend-card > b{
    padding:3px 5px;

    border-radius:4px;

    color:#ff466a;

    background:
        rgba(239,41,80,.1);

    font-size:8px;
}


/*
 * Transparent Live TV catalog cards too
 */

.gtv-card{
    background:
        linear-gradient(
            145deg,
            rgba(255,255,255,.045),
            rgba(255,255,255,.015)
        ) !important;

    border:
        1px solid
        rgba(255,255,255,.075) !important;

    backdrop-filter:
        blur(13px);

    -webkit-backdrop-filter:
        blur(13px);

    box-shadow:
        0 12px 35px
        rgba(0,0,0,.14) !important;
}


.gtv-card:hover{
    background:
        rgba(255,255,255,.065) !important;

    border-color:
        rgba(255,255,255,.16) !important;
}


.gtv-logo{
    background:
        rgba(255,255,255,.015) !important;
}


@media(
    min-width:1000px
)
and
(
    max-width:1280px
){

    .gtv-watch-cinema{
        max-width:
            1120px !important;
    }


    .gtv-cinema-grid{
        grid-template-columns:
            minmax(0,776px)
            320px;

        gap:24px;
    }

}


@media(max-width:999px){

    .gtv-cinema-grid{
        display:block;
    }


    .gtv-recommend-sidebar{
        margin-top:20px;
    }


    .gtv-recommend-list{
        max-height:none;
    }

}


@media(max-width:650px){

    .gtv-watch-cinema{
        width:
            calc(100% - 16px) !important;

        padding-top:
            94px !important;
    }


    .gtv-current-logo{
        width:55px;
        height:45px;
    }


    .gtv-current-info h1{
        font-size:21px;
    }


    .gtv-live-play{
        width:60px;
        height:60px;
        font-size:21px;
    }


    .gtv-recommend-card{
        grid-template-columns:
            68px
            minmax(0,1fr)
            auto;
    }


    .gtv-recommend-logo{
        width:68px;
        height:47px;
    }

}


/* GM-LIVE-TV-CINEMA-V3 END */


/* GM-LIVE-TV-COMPACT-V4 START */


@media(min-width:1000px){

    .gtv-watch-cinema{
        max-width:1220px !important;

        height:100vh !important;

        box-sizing:border-box !important;

        padding:
            88px 0
            10px !important;

        overflow:hidden !important;
    }


    .gtv-cinema-header{
        height:54px !important;

        margin:
            0 0 10px !important;

        display:flex;

        align-items:center;
    }


    .gtv-current-channel{
        width:100%;

        height:54px;

        gap:9px !important;
    }


    .gtv-back{
        width:32px !important;

        height:32px !important;

        flex:none;

        margin:0 !important;

        display:flex !important;

        align-items:center;

        justify-content:center;

        border-radius:8px;

        background:
            rgba(255,255,255,.045);

        border:
            1px solid
            rgba(255,255,255,.065);

        font-size:17px !important;

        color:
            rgba(255,255,255,.7) !important;
    }


    .gtv-current-logo{
        width:50px !important;

        height:40px !important;

        border-radius:
            9px !important;
    }


    .gtv-current-info h1{
        margin:
            0 0 3px !important;

        font-size:
            19px !important;

        line-height:
            22px !important;
    }


    .gtv-current-info > div{
        gap:6px !important;

        font-size:
            10px !important;
    }


    .gtv-live-badge{
        padding:
            2px 5px !important;

        font-size:
            9px !important;
    }


    .gtv-cinema-grid{
        height:
            calc(
                100vh - 162px
            ) !important;

        min-height:0;

        align-items:
            stretch !important;
    }


    .gtv-player-column{
        height:100%;

        min-height:0;
    }


    .gtv-cinema-player-card{
        height:100% !important;

        min-height:0;

        display:flex;

        flex-direction:column;
    }


    .gtv-cinema-player-stage{
        flex:
            1 1 auto;

        min-height:0;

        height:auto !important;

        aspect-ratio:
            auto !important;
    }


    .gtv-player-foot{
        height:48px;

        min-height:48px !important;

        flex:none;
    }


    .gtv-recommend-sidebar{
        height:100%;

        min-height:0;

        display:flex;

        flex-direction:column;
    }


    .gtv-recommend-header{
        min-height:
            54px !important;

        height:54px;

        flex:none;

        padding:
            8px 13px !important;
    }


    .gtv-recommend-list{
        flex:
            1 1 auto;

        max-height:
            none !important;

        min-height:0;

        overflow-y:auto;
    }


    /*
     * No extra vertical section on
     * desktop. Multiple streams still
     * fail-over automatically.
     */

    .gtv-stream-section{
        display:none !important;
    }

}



@media(max-width:999px){

    .gtv-watch-cinema{
        padding-top:
            82px !important;
    }


    .gtv-cinema-header{
        margin-bottom:
            10px !important;
    }


    .gtv-current-channel{
        gap:8px !important;
    }


    .gtv-back{
        width:32px;

        height:32px;

        margin:0 !important;

        display:flex !important;

        align-items:center;

        justify-content:center;

        flex:none;

        border-radius:8px;

        background:
            rgba(255,255,255,.05);
    }


    .gtv-current-logo{
        width:48px !important;

        height:40px !important;
    }


    .gtv-current-info h1{
        font-size:
            18px !important;
    }

}


/* GM-LIVE-TV-COMPACT-V4 END */


/* GM-LIVE-TV-NOSCROLL-V5 START */

@media(min-width:1000px){

    /*
     * Live TV watch page only:
     * keep everything inside viewport.
     */
    html:has(.gtv-watch-cinema),
    body:has(.gtv-watch-cinema){
        height:100%;
        overflow:hidden !important;
    }


    /*
     * Hide footer on TV watch page.
     * It is unnecessary while watching.
     */
    body:has(.gtv-watch-cinema) footer{
        display:none !important;
    }


    /*
     * Channel title/header consumed too much
     * vertical space. Hide it on desktop.
     * Channel name is still visible in browser
     * title + recommendation/player context.
     */
    .gtv-watch-cinema .gtv-cinema-header{
        display:none !important;
    }


    /*
     * Start directly under main website navbar.
     */
    .gtv-watch-cinema{
        width:calc(100% - 28px) !important;
        max-width:1160px !important;

        height:calc(100dvh - 82px) !important;
        min-height:0 !important;

        margin:0 auto !important;

        padding:
            82px 0 8px !important;

        box-sizing:border-box !important;

        overflow:hidden !important;
    }


    /*
     * Player + recommendations
     */
    .gtv-cinema-grid{
        width:100% !important;

        height:
            calc(100dvh - 96px) !important;

        min-height:0 !important;

        display:grid !important;

        grid-template-columns:
            minmax(0,790px)
            342px !important;

        gap:18px !important;

        align-items:start !important;
    }


    .gtv-player-column{
        width:100% !important;
        min-width:0 !important;

        height:auto !important;
    }


    /*
     * Slightly smaller cinema player.
     */
    .gtv-cinema-player-card{
        width:100% !important;

        height:auto !important;

        max-height:
            calc(100dvh - 108px) !important;

        display:block !important;
    }


    .gtv-cinema-player-stage{
        width:100% !important;

        height:auto !important;

        aspect-ratio:
            16 / 9 !important;

        max-height:
            calc(100dvh - 158px) !important;

        min-height:0 !important;
    }


    .gtv-cinema-player-stage > #moviePlayer{
        width:100% !important;
        height:100% !important;

        object-fit:contain !important;
    }


    /*
     * Compact bottom bar.
     */
    .gtv-player-foot{
        height:42px !important;
        min-height:42px !important;

        padding:
            6px 11px !important;
    }


    .gtv-player-status{
        font-size:11px !important;
    }


    .gtv-retry-button{
        padding:
            5px 9px !important;

        font-size:11px !important;
    }


    /*
     * Sidebar matches player height,
     * internal channel list scrolls instead
     * of whole page.
     */
    .gtv-recommend-sidebar{
        width:100% !important;

        height:
            min(
                calc(100dvh - 108px),
                486px
            ) !important;

        min-height:0 !important;

        display:flex !important;

        flex-direction:column !important;
    }


    .gtv-recommend-header{
        height:48px !important;
        min-height:48px !important;

        padding:
            7px 12px !important;

        flex:none !important;
    }


    .gtv-recommend-header strong{
        font-size:14px !important;
    }


    .gtv-recommend-header span{
        font-size:10px !important;
    }


    .gtv-recommend-list{
        flex:1 1 auto !important;

        min-height:0 !important;

        max-height:none !important;

        overflow-y:auto !important;

        padding:5px !important;
    }


    .gtv-recommend-card{
        min-height:59px !important;

        grid-template-columns:
            64px
            minmax(0,1fr)
            auto !important;

        gap:8px !important;

        padding:5px !important;
    }


    .gtv-recommend-logo{
        width:64px !important;
        height:44px !important;
    }


    .gtv-recommend-info strong{
        font-size:11.5px !important;
    }


    .gtv-recommend-info span{
        font-size:9px !important;
    }


    /*
     * Multiple streams continue to work
     * automatically, but don't consume
     * desktop vertical space.
     */
    .gtv-stream-section{
        display:none !important;
    }

}


/*
 * Slightly narrower desktop/laptop
 */
@media(min-width:1000px) and (max-width:1250px){

    .gtv-watch-cinema{
        max-width:
            calc(100% - 24px) !important;
    }


    .gtv-cinema-grid{
        grid-template-columns:
            minmax(0,1fr)
            300px !important;

        gap:14px !important;
    }


    .gtv-recommend-sidebar{
        height:
            min(
                calc(100dvh - 108px),
                455px
            ) !important;
    }

}


/*
 * Mobile/tablet remains scrollable.
 */
@media(max-width:999px){

    html:has(.gtv-watch-cinema),
    body:has(.gtv-watch-cinema){
        height:auto !important;
        overflow-y:auto !important;
    }


    .gtv-watch-cinema .gtv-cinema-header{
        display:block !important;
    }


    .gtv-watch-cinema{
        height:auto !important;
        overflow:visible !important;

        padding-top:
            78px !important;
    }

}

/* GM-LIVE-TV-NOSCROLL-V5 END */


/* GM-LIVE-TV-NOW-PLAYING-CSS START */

.gtv-now-playing{
    position:absolute;

    z-index:18;

    top:10px;
    left:10px;

    max-width:
        calc(100% - 20px);

    height:40px;

    display:flex;

    align-items:center;

    gap:9px;

    padding:
        5px 8px;

    box-sizing:border-box;

    border:
        1px solid
        rgba(255,255,255,.11);

    border-radius:10px;

    background:
        rgba(7,10,15,.72);

    backdrop-filter:
        blur(13px);

    -webkit-backdrop-filter:
        blur(13px);

    box-shadow:
        0 6px 22px
        rgba(0,0,0,.22);

    pointer-events:none;
}


.gtv-now-logo{
    width:42px;

    height:30px;

    flex:none;

    display:flex;

    align-items:center;

    justify-content:center;

    overflow:hidden;

    border-radius:7px;

    background:
        rgba(255,255,255,.08);
}


.gtv-now-logo img{
    display:block;

    max-width:90%;

    max-height:86%;

    object-fit:contain;
}


.gtv-now-logo-fallback{
    width:100%;

    height:100%;

    align-items:center;

    justify-content:center;

    font-size:17px;
}


.gtv-now-info{
    min-width:0;

    display:flex;

    flex-direction:column;

    justify-content:center;

    gap:1px;
}


.gtv-now-label{
    font-size:7px;

    line-height:9px;

    letter-spacing:.8px;

    color:
        rgba(255,255,255,.45);
}


.gtv-now-info strong{
    display:block;

    max-width:310px;

    overflow:hidden;

    white-space:nowrap;

    text-overflow:ellipsis;

    font-size:12px;

    line-height:15px;

    color:#fff;
}


.gtv-now-live{
    display:flex;

    align-items:center;

    gap:4px;

    flex:none;

    margin-left:3px;

    padding:
        3px 5px;

    border-radius:5px;

    background:
        rgba(238,38,80,.16);

    color:#ff4568;

    font-size:8px;

    font-weight:800;
}


.gtv-now-live i{
    width:5px;

    height:5px;

    border-radius:50%;

    background:#ff3158;

    box-shadow:
        0 0 7px
        rgba(255,49,88,.85);
}


/*
 * Mobile remains compact
 */

@media(max-width:650px){

    .gtv-now-playing{
        top:7px;
        left:7px;

        height:36px;

        max-width:
            calc(100% - 14px);

        gap:7px;

        padding:
            4px 6px;
    }


    .gtv-now-logo{
        width:37px;
        height:27px;
    }


    .gtv-now-info strong{
        max-width:180px;

        font-size:10px;
    }


    .gtv-now-label{
        font-size:6px;
    }

}


/* GM-LIVE-TV-NOW-PLAYING-CSS END */

