/* ============================================
   main.css - VivoTV Widget
   Samsung Orsay safe layout
   ============================================ */

* { margin:0; padding:0; box-sizing:border-box; }

body {
    background:#1a1a1a;
    color:#ffffff;
    font-family:'Segoe UI', Tahoma, sans-serif;
    font-size:15px;
    width:1280px;
    height:720px;
    overflow:hidden;
    position:relative;
    cursor:default;
    user-select:none;
}

.screen {
    position:absolute;
    top:0;
    left:0;
    width:1280px;
    height:720px;
    display:none;
    overflow:hidden;
}

.screen.active { display:block; }

.hdr,
.ftr,
#snp .body,
.nop-grid,
.ch-grid,
#sset .body,
.radio-grp,
.set-info,
#sgrp .body,
.info-bar,
.epg-item,
.sb-item {
    zoom:1;
}

.hdr:after,
.ftr:after,
#snp .body:after,
.nop-grid:after,
.ch-grid:after,
#sset .body:after,
.radio-grp:after,
.set-info:after,
#sgrp .body:after,
.info-bar:after,
.epg-item:after,
.sb-item:after {
    content:'';
    display:block;
    clear:both;
}

/* ============ HEADER ============ */
.hdr {
    position:absolute;
    top:0;
    left:0;
    width:1280px;
    height:48px;
    background:#111111;
    border-bottom:1px solid #2a2a2a;
    padding:0 18px;
}

.hdr-title {
    float:left;
    font-size:18px;
    font-weight:600;
    letter-spacing:.3px;
    line-height:48px;
}

.hdr-pages {
    position:absolute;
    top:11px;
    left:50%;
    width:360px;
    height:26px;
    margin-left:-180px;
    text-align:center;
    white-space:nowrap;
    overflow:hidden;
}

.pg-btn,
.pg-dots {
    display:inline-block;
    vertical-align:top;
}

.pg-btn {
    width:30px;
    height:26px;
    background:#2a2a2a;
    border:1px solid #444444;
    color:#cccccc;
    font-size:12px;
    line-height:24px;
    text-align:center;
    margin-right:4px;
}

.pg-btn.active {
    background:#ffffff;
    color:#000000;
    font-weight:700;
    border-color:#ffffff;
}

/* ============ VIVO TV HOME / NETFLIX STYLE ============ */
#shome {
    background:#0a0a0f;
    color:#f0f0f5;
}

.home-bg {
    position:absolute;
    left:0;
    top:0;
    width:1280px;
    height:720px;
    background:
        linear-gradient(to right, #0a0a0f 0%, rgba(10,10,15,0.92) 42%, rgba(10,10,15,0.45) 72%, #0a0a0f 100%),
        linear-gradient(to top, #0a0a0f 0%, rgba(10,10,15,0.35) 48%, rgba(10,10,15,0.95) 100%);
}

.home-top {
    position:absolute;
    left:0;
    top:0;
    width:1280px;
    height:82px;
    z-index:6;
    background:linear-gradient(to bottom, rgba(10,10,15,0.96), rgba(10,10,15,0.15));
}

.home-brand {
    position:absolute;
    left:36px;
    top:4px;
    width:160px;
    height:72px;
    object-fit:contain;
}

.home-nav {
    position:absolute;
    left:210px;
    top:23px;
    width:760px;
    height:42px;
    white-space:nowrap;
    overflow:hidden;
}

.home-nav-link {
    display:inline-block;
    height:34px;
    line-height:34px;
    padding:0 16px;
    margin-right:5px;
    color:#7a7a9a;
    font-size:14px;
    font-weight:700;
    letter-spacing:.7px;
    text-transform:uppercase;
    border:1px solid transparent;
    border-radius:6px;
}

.home-nav-link.active {
    color:#ffffff;
    background:rgba(230,57,70,0.16);
    border-color:rgba(230,57,70,0.32);
}

.home-nav-link.focused {
    color:#ffffff;
    background:#e63946;
    border-color:#ff6570;
    box-shadow:0 0 18px rgba(230,57,70,0.55);
}

.home-clock {
    position:absolute;
    right:42px;
    top:25px;
    color:#f0f0f5;
    font-size:22px;
    font-weight:700;
    letter-spacing:1px;
}

.home-hero {
    position:absolute;
    left:0;
    top:0;
    width:1280px;
    height:405px;
    z-index:2;
    overflow:hidden;
}

.home-hero-img {
    position:absolute;
    right:0;
    top:0;
    width:720px;
    height:405px;
    object-fit:cover;
    opacity:.55;
}

.home-hero-fallback {
    position:absolute;
    right:0;
    top:0;
    width:720px;
    height:405px;
    background:linear-gradient(135deg, rgba(230,57,70,0.26), rgba(10,10,15,0.05));
}

.home-hero-shade {
    position:absolute;
    left:0;
    top:0;
    width:1280px;
    height:405px;
    background:
        linear-gradient(to right, #0a0a0f 0%, rgba(10,10,15,0.88) 42%, rgba(10,10,15,0.2) 70%, rgba(10,10,15,0.9) 100%),
        linear-gradient(to top, #0a0a0f 0%, rgba(10,10,15,0.15) 55%, rgba(10,10,15,0.85) 100%);
}

.home-hero-copy {
    position:absolute;
    left:56px;
    top:120px;
    width:520px;
    height:245px;
    color:#ffffff;
}

.home-live-badge {
    display:inline-block;
    height:24px;
    line-height:24px;
    padding:0 10px;
    color:#ffffff;
    background:#e63946;
    border-radius:4px;
    font-size:12px;
    font-weight:800;
    letter-spacing:1.5px;
}

.home-hero-kicker {
    display:inline-block;
    height:24px;
    line-height:24px;
    margin-left:8px;
    color:#7a7a9a;
    font-size:13px;
}

.home-hero-title {
    margin-top:14px;
    max-height:118px;
    overflow:hidden;
    color:#f0f0f5;
    font-size:50px;
    line-height:56px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:1px;
}

.home-hero-meta {
    margin-top:10px;
    color:#f4a261;
    font-size:13px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
}

.home-hero-desc {
    margin-top:9px;
    width:470px;
    height:42px;
    overflow:hidden;
    color:rgba(240,240,245,0.72);
    font-size:14px;
    line-height:21px;
}

.home-hero.focused .home-hero-title {
    color:#ffffff;
    text-shadow:0 0 18px rgba(230,57,70,0.6);
}

.home-rows {
    position:absolute;
    left:0;
    top:356px;
    width:1280px;
    height:315px;
    z-index:5;
    overflow:hidden;
}

.home-row {
    position:absolute;
    left:54px;
    width:1172px;
    height:96px;
}

.home-row-title {
    position:absolute;
    left:0;
    top:0;
    height:22px;
    line-height:22px;
    color:#7a7a9a;
    font-size:13px;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
}

.home-row-title:before {
    content:'';
    display:inline-block;
    width:4px;
    height:18px;
    margin-right:9px;
    vertical-align:middle;
    background:#e63946;
    border-radius:2px;
}

.home-row-count {
    color:#e63946;
    font-size:12px;
    font-weight:700;
}

.home-card {
    position:absolute;
    top:30px;
    width:176px;
    height:58px;
    background:#1a1a26;
    border:1px solid rgba(255,255,255,0.08);
    border-radius:8px;
    overflow:hidden;
}

.home-card.poster {
    width:104px;
    height:154px;
    border-radius:9px;
}

.home-card.focused {
    border-color:#ff6570;
    background:#22223a;
    box-shadow:0 0 0 3px rgba(230,57,70,0.72), 0 0 22px rgba(230,57,70,0.48);
}

.home-card-logo {
    position:absolute;
    left:10px;
    top:10px;
    width:38px;
    height:38px;
    object-fit:contain;
    background:#12121a;
    border-radius:7px;
}

.home-card.poster .home-card-logo {
    left:0;
    top:0;
    width:104px;
    height:154px;
    object-fit:cover;
    border-radius:0;
    background:#22223a;
}

.home-card-initials {
    position:absolute;
    left:10px;
    top:10px;
    width:38px;
    height:38px;
    line-height:38px;
    text-align:center;
    color:#ffffff;
    font-size:15px;
    font-weight:900;
    background:linear-gradient(135deg,#b71c1c,#4a0000);
    border-radius:7px;
}

.home-card.poster .home-card-initials {
    left:0;
    top:0;
    width:104px;
    height:154px;
    line-height:154px;
    font-size:34px;
    color:rgba(255,255,255,0.32);
    border-radius:0;
}

.home-card-title {
    position:absolute;
    left:56px;
    top:11px;
    width:112px;
    height:20px;
    overflow:hidden;
    color:#f0f0f5;
    font-size:13px;
    line-height:20px;
    font-weight:700;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.home-card-sub {
    position:absolute;
    left:56px;
    top:32px;
    width:112px;
    height:16px;
    overflow:hidden;
    color:#7a7a9a;
    font-size:11px;
    line-height:16px;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.home-card.poster .home-card-title {
    left:7px;
    top:116px;
    width:90px;
    height:32px;
    color:#ffffff;
    font-size:12px;
    line-height:15px;
    white-space:normal;
    text-shadow:0 1px 3px #000000;
}

.home-card.poster .home-card-sub {
    left:7px;
    top:8px;
    width:42px;
    color:#ffffff;
    font-weight:800;
    text-shadow:0 1px 3px #000000;
}

.home-card.poster:after {
    content:'';
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:78px;
    background:linear-gradient(to top, rgba(0,0,0,0.88), transparent);
}

.home-card.poster .home-card-title,
.home-card.poster .home-card-sub {
    z-index:2;
}

.home-help {
    position:absolute;
    right:42px;
    bottom:20px;
    height:34px;
    line-height:34px;
    padding:0 14px;
    color:#f0f0f5;
    font-size:13px;
    background:rgba(10,10,15,0.9);
    border:1px solid rgba(255,255,255,0.12);
    border-radius:3px;
    z-index:8;
}

.home-sep {
    display:inline-block;
    width:1px;
    height:20px;
    margin:7px 9px 0;
    background:rgba(255,255,255,0.18);
    vertical-align:top;
}

.pg-dots {
    color:#555555;
    font-size:12px;
    line-height:26px;
    padding:0 2px;
}

.hdr-time {
    float:right;
    font-size:20px;
    font-weight:300;
    min-width:55px;
    text-align:right;
    line-height:48px;
}

/* ============ FOOTER ============ */
.ftr {
    position:absolute;
    left:0;
    bottom:0;
    width:1280px;
    height:48px;
    background:rgba(8,8,8,0.95);
    border-top:1px solid #222222;
    padding:0 12px;
    white-space:nowrap;
    overflow:hidden;
}

.fb,
.fsep {
    display:inline-block;
    vertical-align:top;
}

.fb {
    height:48px;
    line-height:48px;
    font-size:12px;
    color:#bbbbbb;
    padding:0 6px;
    white-space:nowrap;
}

#sg .hdr.vod-filter-on .hdr-title {
    max-width:390px;
    overflow:hidden;
    white-space:nowrap;
}

#sg .hdr.vod-filter-on .hdr-pages {
    left:760px;
    margin-left:0;
    width:280px;
    text-align:left;
}

.vod-tabs {
    display:none;
    position:absolute;
    top:8px;
    left:405px;
    width:330px;
    height:32px;
    z-index:6;
}

#sg .hdr.vod-filter-on .vod-tabs {
    display:block;
}

.vod-tab {
    float:left;
    width:150px;
    height:30px;
    line-height:28px;
    margin-right:8px;
    border:2px solid rgba(255,255,255,.24);
    background:rgba(0,0,0,.35);
    color:#d8d8d8;
    font-size:15px;
    font-weight:700;
    text-align:center;
    overflow:hidden;
}

.vod-tab.active {
    color:#ffffff;
    background:rgba(204,0,0,.42);
    border-color:#cc0000;
}

.vod-tab.focused {
    color:#ffffff;
    border-color:#ff3333;
    box-shadow:0 0 0 2px rgba(255,255,255,.18);
}

.vod-tab-count {
    color:#bbbbbb;
    font-size:11px;
    font-weight:600;
    margin-left:5px;
}

.fk {
    display:inline-block;
    min-width:22px;
    height:18px;
    line-height:16px;
    padding:0 4px;
    margin-right:5px;
    background:#3a3a3a;
    border:1px solid #555555;
    color:#cccccc;
    font-size:10px;
    text-align:center;
    vertical-align:middle;
}

.fk-red   { background:#cc0000 !important; border-color:#ff4444 !important; color:#ffffff !important; }
.fk-green { background:#00aa44 !important; border-color:#00cc55 !important; color:#ffffff !important; }
.fk-yel   { background:#ccaa00 !important; border-color:#ddbb00 !important; color:#000000 !important; }
.fk-blue  { background:#0055cc !important; border-color:#0077ee !important; color:#ffffff !important; }

.fsep {
    width:1px;
    height:24px;
    margin-top:12px;
    background:#2a2a2a;
}

/* ============ BADGE ============ */
.bdg {
    display:inline-block;
    font-size:9px;
    font-weight:700;
    padding:1px 5px;
    letter-spacing:.3px;
}

.bdg-hd  { background:#1a3d5c; color:#7ec8f0; }
.bdg-fhd { background:#0d3320; color:#7ef0a0; }
.bdg-raw { background:#3d2500; color:#f0b87e; }
.bdg-sd  { background:#2a2a2a; color:#aaaaaa; }

/* ============ LOADING ============ */
#sload {
    background:#111111;
    overflow:hidden;
}

.ld-wrap {
    position:absolute;
    top:50%;
    left:50%;
    width:84%;
    max-width:920px;
    min-width:320px;
    padding:0 3%;
    box-sizing:border-box;
    text-align:center;
    -webkit-transform:translate(-50%, -50%);
    transform:translate(-50%, -50%);
}

.ld-logo {
    font-size:38px;
    font-weight:700;
    letter-spacing:2px;
    margin-bottom:20px;
}

.ld-logo span { color:#cc0000; }

.ld-brand-img {
    width:46%;
    max-width:360px;
    min-width:200px;
    height:auto;
    margin:0 auto 14px auto;
    display:block;
}

.ld-bar {
    width:56%;
    max-width:420px;
    min-width:260px;
    height:7px;
    background:#2a2a2a;
    border:1px solid #444444;
    margin:0 auto 10px auto;
    overflow:hidden;
}

.ld-fill {
    width:1%;
    height:7px;
    background:#cc0000;
    margin:0;
}

.ld-pct {
    font-size:20px;
    color:#ffffff;
    font-weight:700;
    text-align:center;
    margin-bottom:8px;
    letter-spacing:.4px;
}

.ld-txt {
    font-size:15px;
    color:#dddddd;
    text-align:center;
    white-space:pre-wrap;
    line-height:1.4;
    width:100%;
    max-width:760px;
    margin:0 auto;
}

/* ============ NO PLAYLIST ============ */
#snp {
    background:#090b11;
    color:#f5f7fb;
}

:root {
    --np-bg:#04060f;
    --np-surface:#0b1220;
    --np-surface-2:rgba(10,16,28,0.78);
    --np-surface-3:rgba(16,24,40,0.94);
    --np-border:rgba(118,152,208,0.18);
    --np-border-strong:rgba(113,179,255,0.34);
    --np-text:#f7fbff;
    --np-muted:#94a6c5;
    --np-cyan:#4cc9f0;
    --np-red:#ff355e;
    --np-magenta:#b5179e;
    --np-gold:#ffd60a;
    --np-display:'Syne','Segoe UI',Tahoma,sans-serif;
    --np-mono:'DM Mono','Consolas','Courier New',monospace;
}

@keyframes floatOrb {
    0% { transform:translate3d(0, 0, 0) scale(1); }
    50% { transform:translate3d(18px, -12px, 0) scale(1.05); }
    100% { transform:translate3d(0, 0, 0) scale(1); }
}

@keyframes fadeUp {
    from { opacity:0; transform:translateY(16px); }
    to { opacity:1; transform:translateY(0); }
}

@keyframes blink {
    0%, 100% { opacity:1; }
    50% { opacity:0.28; }
}

@keyframes tickerSlide {
    from { transform:translateX(0); }
    to { transform:translateX(-50%); }
}

@keyframes shimmerMac {
    0% { transform:translateX(-160%) skewX(-18deg); }
    100% { transform:translateX(320%) skewX(-18deg); }
}

@keyframes scanSweep {
    0% { top:18px; opacity:0; }
    12% { opacity:1; }
    88% { opacity:1; }
    100% { top:186px; opacity:0; }
}

@keyframes pulseRing {
    0% { transform:translate(-50%, -50%) scale(0.92); opacity:0.5; }
    100% { transform:translate(-50%, -50%) scale(1.18); opacity:0; }
}

#snp {
    background:var(--np-bg);
}

#snp .hdr {
    top:10px;
    left:24px;
    width:1232px;
    height:44px;
    padding:0 20px;
    background:rgba(7,11,20,0.78);
    border:1px solid rgba(118,152,208,0.16);
    border-radius:16px;
    -webkit-backdrop-filter:blur(14px);
    backdrop-filter:blur(14px);
}

#snp .hdr-title {
    font-family:var(--np-display);
    font-size:31px;
    font-size:clamp(25px, 2.4vw, 31px);
    font-weight:800;
    letter-spacing:.01em;
}

#snp .hdr-time {
    font-family:var(--np-mono);
    font-size:18px;
    color:#f3f7ff;
}

#snp .body {
    position:absolute;
    top:58px;
    left:0;
    width:1280px;
    height:556px;
    padding:12px 36px 0;
    overflow:hidden;
    background:
        radial-gradient(circle at 12% 16%, rgba(181,23,158,0.18), rgba(181,23,158,0) 30%),
        radial-gradient(circle at 84% 20%, rgba(76,201,240,0.16), rgba(76,201,240,0) 24%),
        linear-gradient(180deg, #050812 0%, #04060f 100%);
}

.nop-orb,
.nop-noise {
    position:absolute;
    pointer-events:none;
}

.nop-orb {
    border-radius:50%;
    filter:blur(34px);
    opacity:0.48;
    animation:floatOrb 8.2s ease-in-out infinite;
}

.nop-orb.orb-a {
    left:74px;
    top:44px;
    width:170px;
    height:170px;
    background:rgba(181,23,158,0.28);
}

.nop-orb.orb-b {
    right:120px;
    top:98px;
    width:210px;
    height:210px;
    background:rgba(76,201,240,0.22);
    animation-duration:9.4s;
}

.nop-orb.orb-c {
    right:336px;
    bottom:36px;
    width:150px;
    height:150px;
    background:rgba(255,53,94,0.16);
    animation-duration:7.4s;
}

.nop-noise {
    top:0;
    left:0;
    right:0;
    bottom:0;
    opacity:0.12;
    background-image:
        radial-gradient(rgba(255,255,255,0.06) 0.7px, transparent 0.7px),
        radial-gradient(rgba(255,255,255,0.04) 0.6px, transparent 0.6px);
    background-size:4px 4px, 7px 7px;
    background-position:0 0, 2px 1px;
}

.nop-ticker,
.nop-shell,
.nop-logo,
.nop-pill,
.nop-title,
.nop-license,
.nop-main,
.nop-action,
.nop-host,
.nop-mac-card,
.nop-item,
.nop-panel,
#snp .ftr {
    opacity:0;
    animation:fadeUp .7s ease-out forwards;
}

.nop-ticker { animation-delay:.02s; }
.nop-logo { animation-delay:.06s; }
.nop-pill { animation-delay:.1s; }
.nop-title { animation-delay:.14s; }
.nop-license { animation-delay:.18s; }
.nop-main { animation-delay:.22s; }
.nop-action { animation-delay:.26s; }
.nop-host { animation-delay:.3s; }
.nop-mac-card { animation-delay:.34s; }
.nop-item { animation-delay:.38s; }
.nop-panel { animation-delay:.42s; }
#snp .ftr { animation-delay:.5s; }

.nop-ticker {
    position:relative;
    width:1160px;
    height:36px;
    margin:0 auto 12px;
    border:1px solid var(--np-border);
    border-radius:18px;
    background:rgba(9,14,24,0.66);
    box-shadow:0 10px 30px rgba(0,0,0,0.25);
    overflow:hidden;
    z-index:1;
}

.nop-ticker-live {
    position:absolute;
    left:14px;
    top:9px;
    font-family:var(--np-mono);
    font-size:11px;
    font-weight:500;
    letter-spacing:.18em;
    color:#f4f7fd;
}

.nop-live-dot {
    display:inline-block;
    width:8px;
    height:8px;
    margin-right:8px;
    border-radius:50%;
    background:var(--np-red);
    box-shadow:0 0 12px rgba(255,53,94,0.72);
    animation:blink 1.1s ease-in-out infinite;
}

.nop-ticker-rail {
    height:36px;
    margin-left:146px;
    overflow:hidden;
}

.nop-ticker-track {
    white-space:nowrap;
    padding-top:9px;
    font-family:var(--np-mono);
    font-size:11px;
    letter-spacing:.08em;
    color:#b4c6e5;
    animation:tickerSlide 22s linear infinite;
}

.nop-ticker-track span {
    display:inline-block;
    min-width:50%;
    padding-right:44px;
}

.nop-shell {
    position:relative;
    width:1160px;
    height:490px;
    margin:0 auto;
    padding:20px 22px;
    border:1px solid var(--np-border);
    border-radius:28px;
    background:linear-gradient(180deg, rgba(11,18,32,0.88), rgba(8,12,22,0.96));
    box-shadow:0 24px 60px rgba(0,0,0,0.36), inset 0 1px 0 rgba(255,255,255,0.03);
    overflow:hidden;
    z-index:1;
}

.nop-shell:before {
    content:'';
    position:absolute;
    inset:1px;
    border-radius:27px;
    border:1px solid rgba(255,255,255,0.02);
    pointer-events:none;
}

.nop-copy {
    float:left;
    width:690px;
    position:relative;
    z-index:2;
}

.nop-logo {
    display:block;
    width:auto;
    max-width:178px;
    height:58px;
    margin-bottom:12px;
    object-fit:contain;
}

.nop-pill {
    display:inline-block;
    height:28px;
    line-height:28px;
    padding:0 14px;
    border-radius:999px;
    background:linear-gradient(90deg, rgba(255,53,94,0.24), rgba(181,23,158,0.2));
    border:1px solid rgba(255,113,170,0.24);
    color:#ffffff;
    font-family:var(--np-mono);
    font-size:11px;
    font-weight:500;
    letter-spacing:.14em;
    text-transform:uppercase;
    margin-bottom:14px;
}

.nop-title {
    font-family:var(--np-display);
    font-size:42px;
    font-size:clamp(31px, 3.3vw, 42px);
    font-weight:800;
    line-height:1.02;
    letter-spacing:.01em;
    color:var(--np-text);
    max-width:620px;
    margin-bottom:12px;
}

.nop-license {
    position:relative;
    display:inline-block;
    min-height:36px;
    padding:9px 16px 9px 36px;
    margin-bottom:14px;
    border-radius:999px;
    background:rgba(9,15,27,0.92);
    border:1px solid rgba(118,152,208,0.22);
    color:#dbe7ff;
    font-family:var(--np-mono);
    font-size:13px;
    font-size:clamp(12px, 1.1vw, 13px);
    font-weight:500;
    line-height:1.3;
    box-shadow:0 8px 24px rgba(0,0,0,0.28);
}

.nop-license:before {
    content:'';
    position:absolute;
    left:14px;
    top:13px;
    width:9px;
    height:9px;
    border-radius:50%;
    animation:blink 1.05s ease-in-out infinite;
}

.nop-license.trial {
    border-color:rgba(255,214,10,0.28);
    color:#ffe58c;
}

.nop-license.trial:before {
    background:var(--np-gold);
    box-shadow:0 0 12px rgba(255,214,10,0.72);
}

.nop-license.expired {
    border-color:rgba(255,93,113,0.28);
    color:#ffd2d8;
}

.nop-license.expired:before {
    background:var(--np-red);
    box-shadow:0 0 12px rgba(255,53,94,0.72);
}

.nop-license.active {
    border-color:rgba(76,201,240,0.26);
    color:#cef3ff;
}

.nop-license.active:before {
    background:var(--np-cyan);
    box-shadow:0 0 12px rgba(76,201,240,0.65);
}

.nop-sub {
    width:620px;
    color:var(--np-muted);
    font-size:17px;
    font-size:clamp(14px, 1.45vw, 17px);
    line-height:1.38;
}

.nop-main {
    margin-bottom:14px;
    color:#dce6f8;
}

.nop-action {
    margin-top:10px;
    margin-bottom:6px;
}

.nop-link {
    color:#f6f9ff;
    font-weight:700;
}

.nop-host {
    display:block;
    max-width:620px;
    font-family:var(--np-display);
    font-size:23px;
    font-size:clamp(18px, 1.85vw, 23px);
    line-height:1.16;
    letter-spacing:.01em;
    text-shadow:0 0 18px rgba(76,201,240,0.12);
}

.nop-mac-card {
    position:relative;
    margin-top:20px;
    padding:16px 18px 18px 22px;
    border-radius:22px;
    background:linear-gradient(135deg, rgba(17,27,45,0.96), rgba(13,22,37,0.84));
    border:1px solid rgba(76,201,240,0.24);
    box-shadow:0 0 0 1px rgba(76,201,240,0.08), 0 18px 42px rgba(0,0,0,0.32);
    overflow:hidden;
}

.nop-mac-card:before {
    content:'';
    position:absolute;
    top:-40px;
    left:-140px;
    width:140px;
    height:220px;
    background:linear-gradient(120deg, transparent, rgba(255,255,255,0.28), transparent);
    animation:shimmerMac 4.8s linear infinite;
}

.nop-mac-card:after {
    content:'';
    position:absolute;
    top:16px;
    bottom:16px;
    left:0;
    width:4px;
    border-radius:4px;
    background:linear-gradient(180deg, rgba(76,201,240,0.95), rgba(76,201,240,0));
    box-shadow:0 0 14px rgba(76,201,240,0.68);
}

.nop-kicker {
    position:relative;
    z-index:1;
    font-family:var(--np-mono);
    font-size:11px;
    font-weight:500;
    color:#8fb9d5;
    text-transform:uppercase;
    letter-spacing:.18em;
    margin-bottom:10px;
}

#nop-mac-val {
    position:relative;
    z-index:1;
    font-family:var(--np-mono);
    font-size:33px;
    font-size:clamp(26px, 2.8vw, 33px);
    font-weight:500;
    letter-spacing:1.8px;
    color:#ffffff;
}

.nop-grid {
    width:690px;
    margin-top:18px;
}

.nop-item {
    float:left;
    width:338px;
    height:90px;
    margin:0 14px 0 0;
    padding:14px 16px;
    background:linear-gradient(180deg, rgba(16,24,40,0.92), rgba(11,18,29,0.96));
    border:1px solid rgba(113,179,255,0.16);
    border-radius:20px;
    text-align:left;
    box-shadow:0 12px 30px rgba(0,0,0,0.26);
}

.nop-ic {
    float:left;
    width:38px;
    height:38px;
    line-height:38px;
    margin-right:12px;
    border-radius:50%;
    background:linear-gradient(135deg, rgba(255,53,94,0.92), rgba(181,23,158,0.9));
    color:#ffffff;
    text-align:center;
    font-family:var(--np-display);
    font-size:17px;
    font-weight:800;
    box-shadow:0 10px 24px rgba(181,23,158,0.22);
}

.nop-item-title {
    font-family:var(--np-display);
    font-size:20px;
    font-size:clamp(16px, 1.5vw, 20px);
    font-weight:800;
    color:#ffffff;
    line-height:1.06;
}

.nop-item-sub {
    margin-top:6px;
    font-size:13px;
    font-size:clamp(11px, 1vw, 13px);
    line-height:1.28;
    color:#95a7c6;
}

.nop-panel {
    float:right;
    width:372px;
    height:448px;
    padding:18px;
    border-radius:26px;
    background:linear-gradient(180deg, rgba(14,22,36,0.94), rgba(9,14,24,0.98));
    border:1px solid rgba(113,179,255,0.18);
    box-shadow:0 20px 44px rgba(0,0,0,0.3);
    text-align:left;
    position:relative;
    z-index:2;
}

.nop-panel-head {
    overflow:hidden;
    margin-bottom:10px;
}

.nop-panel-head-copy {
    float:left;
    width:212px;
}

.nop-panel-kicker {
    font-family:var(--np-display);
    font-size:20px;
    font-size:clamp(16px, 1.5vw, 20px);
    font-weight:800;
    letter-spacing:.03em;
    text-transform:uppercase;
    color:#eef5ff;
    margin-bottom:6px;
}

.nop-panel-copy {
    width:auto;
    margin-bottom:0;
    font-size:14px;
    font-size:clamp(12px, 1vw, 14px);
    line-height:1.34;
}

.nop-countdown {
    float:right;
    position:relative;
    width:96px;
    height:96px;
}

.nop-count-svg {
    width:96px;
    height:96px;
    transform:rotate(-90deg);
}

.nop-count-bg,
.nop-count-ring {
    fill:none;
    stroke-width:8;
}

.nop-count-bg {
    stroke:rgba(255,255,255,0.08);
}

.nop-count-ring {
    stroke:var(--np-cyan);
    stroke-linecap:round;
    stroke-dasharray:326.72;
    stroke-dashoffset:0;
    filter:drop-shadow(0 0 12px rgba(76,201,240,0.48));
    transition:stroke-dashoffset .8s ease-out, stroke .35s ease;
}

.nop-countdown.trial .nop-count-ring { stroke:var(--np-gold); }
.nop-countdown.expired .nop-count-ring { stroke:var(--np-red); }

.nop-count-copy {
    position:absolute;
    top:50%;
    left:50%;
    width:72px;
    transform:translate(-50%, -50%);
    text-align:center;
}

.nop-count-value {
    font-family:var(--np-display);
    font-size:24px;
    font-weight:800;
    line-height:1;
    color:#ffffff;
}

.nop-count-label {
    margin-top:4px;
    font-family:var(--np-mono);
    font-size:10px;
    letter-spacing:.16em;
    color:#90a6c9;
}

#nop-setup-url {
    display:block;
    padding:11px 12px;
    margin-bottom:12px;
    border-radius:16px;
    background:rgba(8,13,23,0.9);
    border:1px solid rgba(113,179,255,0.2);
    color:#d7ebff;
    font-family:var(--np-mono);
    font-size:11px;
    font-size:clamp(10px, .85vw, 11px);
    font-weight:500;
    line-height:1.32;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.nop-qr-stage {
    position:relative;
    width:300px;
    height:258px;
    margin:0 auto 12px;
    border-radius:28px;
    background:linear-gradient(180deg, rgba(13,21,34,0.92), rgba(9,14,24,0.94));
    border:1px solid rgba(76,201,240,0.18);
    box-shadow:inset 0 0 0 1px rgba(255,255,255,0.02);
    overflow:hidden;
}

.nop-qr-rings,
.nop-qr-rings:before,
.nop-qr-rings:after {
    content:'';
    position:absolute;
    top:50%;
    left:50%;
    width:194px;
    height:194px;
    border-radius:50%;
    border:1px solid rgba(76,201,240,0.18);
    transform:translate(-50%, -50%);
}

.nop-qr-rings:before {
    animation:pulseRing 2.8s ease-out infinite;
}

.nop-qr-rings:after {
    animation:pulseRing 2.8s ease-out 1.4s infinite;
}

.nop-qr-frame {
    position:absolute;
    top:18px;
    left:50%;
    width:228px;
    height:228px;
    margin-left:-114px;
    border-radius:26px;
    background:#ffffff;
    box-shadow:0 18px 36px rgba(0,0,0,0.22), inset 0 0 0 1px rgba(17,24,35,0.08);
}

.nop-qr-corner {
    position:absolute;
    width:22px;
    height:22px;
    border-color:var(--np-cyan);
    border-style:solid;
    z-index:4;
}

.nop-qr-corner.tl { top:10px; left:10px; border-width:3px 0 0 3px; }
.nop-qr-corner.tr { top:10px; right:10px; border-width:3px 3px 0 0; }
.nop-qr-corner.bl { bottom:10px; left:10px; border-width:0 0 3px 3px; }
.nop-qr-corner.br { bottom:10px; right:10px; border-width:0 3px 3px 0; }

.nop-qr-scan {
    position:absolute;
    left:18px;
    right:18px;
    height:2px;
    border-radius:2px;
    background:linear-gradient(90deg, transparent, rgba(76,201,240,0.96), transparent);
    box-shadow:0 0 12px rgba(76,201,240,0.72);
    z-index:4;
    animation:scanSweep 2.7s ease-in-out infinite;
}

#nop-qr {
    position:absolute;
    top:26px;
    left:26px;
    width:176px;
    height:176px;
    z-index:3;
}

#nop-qr img,
#nop-qr canvas {
    width:176px !important;
    height:176px !important;
    display:block;
}

.nop-qr-copy {
    font-size:13px;
    font-size:clamp(12px, 1vw, 13px);
    line-height:1.36;
    color:#dce6f4;
    text-align:left;
}

.nop-refresh-card {
    margin-top:14px;
    min-height:54px;
    padding:15px 16px;
    border-radius:18px;
    background:linear-gradient(90deg, var(--np-red), var(--np-magenta));
    border:1px solid rgba(255,255,255,0.08);
    color:#ffffff;
    font-family:var(--np-display);
    font-size:19px;
    font-size:clamp(15px, 1.45vw, 19px);
    font-weight:800;
    line-height:1.14;
    text-align:center;
    box-shadow:0 10px 24px rgba(181,23,158,0.25), 0 0 24px rgba(255,53,94,0.22);
}

.nop-refresh-card strong {
    color:#fff4f7;
}

.nop-div {
    display:none;
}

#snp .ftr {
    left:28px;
    bottom:6px;
    width:1224px;
    height:38px;
    padding:0 12px;
    background:rgba(9,14,24,0.54);
    border:1px solid rgba(118,152,208,0.16);
    border-radius:18px;
    -webkit-backdrop-filter:blur(16px);
    backdrop-filter:blur(16px);
    box-shadow:0 14px 28px rgba(0,0,0,0.24);
}

#snp .fb {
    height:38px;
    line-height:38px;
    font-size:11px;
    padding:0 5px;
    color:#edf4ff;
    font-family:var(--np-mono);
}

#snp .fk {
    min-width:20px;
    height:18px;
    line-height:16px;
    margin-right:4px;
    font-size:11px;
    background:rgba(255,255,255,0.12);
    border-color:rgba(255,255,255,0.08);
}

#snp .fsep {
    margin-top:10px;
    height:20px;
}

/* ============ VIVO TV PLAYLIST SETUP COMPACT FRAME FIX ============ */
#snp .hdr,
#snp .nop-ticker,
#snp .nop-shell,
#snp .nop-pill,
#snp .nop-license,
#snp .nop-mac-card,
#snp .nop-item,
#snp .nop-panel,
#snp #nop-setup-url,
#snp .nop-qr-stage,
#snp .nop-qr-frame,
#snp .nop-refresh-card,
#snp .ftr {
    border-radius:4px !important;
}

#snp .body {
    padding:8px 30px 0 !important;
}

#snp .nop-orb {
    opacity:0.1 !important;
    filter:none !important;
}

#snp .nop-orb.orb-a {
    width:110px;
    height:110px;
    left:88px;
    top:78px;
}

#snp .nop-orb.orb-b {
    width:132px;
    height:132px;
    right:120px;
    top:154px;
}

#snp .nop-orb.orb-c {
    width:92px;
    height:92px;
    right:338px;
    bottom:74px;
}

#snp .nop-noise {
    opacity:0.04 !important;
}

#snp .nop-ticker {
    width:1180px;
    height:32px;
    margin:0 auto 8px;
    box-shadow:none;
}

#snp .nop-ticker-live {
    display:none !important;
}

#snp .nop-ticker-rail {
    margin-left:0 !important;
    height:32px;
    padding:5px 8px 0;
}

#snp .nop-ticker-track {
    display:grid;
    grid-template-columns:repeat(4, 1fr);
    gap:8px;
    padding-top:0;
    white-space:normal;
    animation:none !important;
    transform:none !important;
}

#snp .nop-ticker-track span {
    display:block;
    min-width:0;
    height:20px;
    line-height:20px;
    padding:0 8px;
    border-right:1px solid rgba(118,152,208,0.16);
    font-size:10px;
    text-align:center;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

#snp .nop-ticker-track span:last-child {
    border-right:none;
}

#snp .nop-shell {
    width:1180px;
    height:468px;
    padding:16px 16px 14px !important;
}

#snp .nop-copy {
    width:720px !important;
}

#snp .nop-logo {
    max-width:128px;
    height:42px;
    margin-bottom:6px;
}

#snp .nop-pill {
    height:22px;
    line-height:20px;
    padding:0 8px;
    margin-bottom:8px;
    font-size:10px;
}

#snp .nop-title {
    max-width:520px;
    margin-bottom:8px;
    font-size:30px !important;
    line-height:1.02;
}

#snp .nop-license {
    min-height:24px;
    padding:4px 10px 4px 24px;
    margin-bottom:10px;
    font-size:11px !important;
}

#snp .nop-license:before {
    left:8px;
    top:8px;
    width:7px;
    height:7px;
}

#snp .nop-sub {
    width:620px;
    font-size:13px !important;
    line-height:1.28;
}

#snp .nop-main {
    margin-bottom:10px;
}

#snp .nop-action {
    margin-top:8px;
    margin-bottom:4px;
}

#snp .nop-host {
    max-width:604px;
    font-size:16px !important;
    line-height:1.16;
}

#snp .nop-mac-card {
    margin-top:12px;
    padding:12px 14px 14px 16px;
}

#snp .nop-mac-card:before,
#snp .nop-mac-card:after {
    display:none;
}

#snp .nop-kicker {
    margin-bottom:6px;
    font-size:10px;
}

#snp #nop-mac-val {
    font-size:24px !important;
    letter-spacing:1px;
}

#snp .nop-grid {
    width:720px;
    margin-top:12px;
}

#snp .nop-item {
    width:354px;
    height:62px;
    margin:0 12px 0 0;
    padding:10px 12px;
    box-shadow:none;
}

#snp .nop-ic {
    width:28px;
    height:28px;
    line-height:28px;
    margin-right:10px;
    border-radius:4px;
    box-shadow:none;
    font-size:13px;
}

#snp .nop-item-title {
    font-size:16px !important;
}

#snp .nop-item-sub {
    margin-top:2px;
    font-size:11px !important;
    line-height:1.2;
}

#snp .nop-panel {
    width:412px;
    height:436px;
    padding:14px;
}

#snp .nop-panel-head {
    margin-bottom:8px;
}

#snp .nop-panel-head-copy {
    float:left;
    width:250px;
}

#snp .nop-panel-kicker {
    margin-bottom:4px;
    font-size:16px !important;
}

#snp .nop-panel-copy {
    font-size:12px !important;
    line-height:1.25;
}

#snp .nop-countdown {
    float:right;
    width:120px;
    height:44px;
    padding:6px 8px;
    border:1px solid rgba(255,214,10,0.28);
    border-radius:4px !important;
    background:rgba(14,18,26,0.94);
}

#snp .nop-count-svg,
#snp .nop-count-bg,
#snp .nop-count-ring {
    display:none !important;
}

#snp .nop-count-copy {
    position:static;
    width:auto;
    transform:none;
    text-align:left;
}

#snp .nop-count-value {
    font-size:18px;
    line-height:1;
}

#snp .nop-count-label {
    margin-top:2px;
    font-size:10px;
    letter-spacing:.1em;
}

#snp #nop-setup-url {
    padding:8px 10px;
    margin-bottom:8px;
    font-size:10px !important;
}

#snp .nop-qr-stage {
    width:292px;
    height:220px;
    margin:0 auto 8px;
}

#snp .nop-qr-rings,
#snp .nop-qr-rings:before,
#snp .nop-qr-rings:after,
#snp .nop-qr-scan {
    display:none !important;
}

#snp .nop-qr-frame {
    top:12px;
    width:194px;
    height:194px;
    margin-left:-97px;
    box-shadow:none;
    border-radius:3px !important;
}

#snp .nop-qr-corner {
    width:16px;
    height:16px;
    border-width:2px !important;
}

#snp #nop-qr {
    top:9px;
    left:9px;
}

#snp .nop-qr-copy {
    width:292px;
    margin:0 auto;
    font-size:11px !important;
    line-height:1.22;
}

#snp .nop-refresh-card {
    min-height:40px;
    margin-top:8px;
    padding:10px;
    box-shadow:none;
    font-size:13px !important;
    line-height:1.12;
}

#snp .ftr {
    height:34px;
}

#snp .fb {
    height:34px;
    line-height:34px;
    font-size:11px;
}

/* ============ VIVO TV PLAYLIST SETUP ORSAY SAFE OVERRIDE ============ */
#snp .nop-ticker,
#snp .nop-shell,
#snp .nop-logo,
#snp .nop-pill,
#snp .nop-title,
#snp .nop-license,
#snp .nop-main,
#snp .nop-action,
#snp .nop-host,
#snp .nop-mac-card,
#snp .nop-grid,
#snp .nop-item,
#snp .nop-panel,
#snp .nop-countdown,
#snp .nop-refresh-card,
#snp .ftr {
    opacity:1 !important;
    animation:none !important;
    transform:none !important;
}

#snp .nop-ticker {
    position:relative;
    z-index:2;
}

#snp .nop-ticker-track {
    animation:none !important;
    transform:none !important;
}

#snp .nop-ticker-track span {
    min-width:auto;
    padding-right:28px;
}

#snp .nop-shell {
    z-index:2;
}

#snp .nop-orb {
    opacity:0.18;
    filter:none;
}

#snp .nop-noise {
    opacity:0.05;
}

#snp .nop-license,
#snp .nop-title,
#snp .nop-host,
#snp .nop-item-title,
#snp .nop-panel-kicker,
#snp .nop-refresh-card,
#snp .nop-count-value {
    font-family:'Segoe UI', Tahoma, sans-serif;
}

#snp .nop-kicker,
#snp #nop-mac-val,
#snp #nop-setup-url,
#snp .nop-ticker-live,
#snp .nop-ticker-track,
#snp .hdr-time,
#snp .fb {
    font-family:'Consolas', 'Courier New', monospace;
}

#snp .nop-license {
    color:#dbe7ff;
}

#snp .nop-license.trial {
    color:#ffe58c;
}

#snp .nop-license.expired {
    color:#ffd2d8;
}

/* ============ GRID ============ */
#sg .body {
    position:absolute;
    top:48px;
    left:0;
    width:1280px;
    height:624px;
    padding:8px 12px;
}

.grid-arrow {
    position:absolute;
    top:266px;
    width:28px;
    height:72px;
    background:rgba(255,255,255,.07);
    color:#888888;
    font-size:22px;
    line-height:72px;
    text-align:center;
    z-index:10;
}

.grid-arrow.left  { left:0; }
.grid-arrow.right { right:0; }

.ch-grid {
    position:relative;
    top:0;
    left:0;
    width:1220px;
    height:620px;
    margin:0 30px;
}

.ch-item {
    width:299px;
    height:118px;
    margin:0;
    background:#252525;
    border:2px solid transparent;
    position:relative;
    padding:8px 10px;
    overflow:hidden;
}

.ch-item.focused {
    border-color:#cc0000;
    background:#2a1a1a;
}

.ch-item.empty { visibility:hidden; }

.vod-card {
    background:#141414;
    border:3px solid transparent;
    position:relative;
    overflow:hidden;
    border-radius:10px;
    box-shadow:0 0 0 1px rgba(255,255,255,.08);
}

.vod-card.focused {
    border-color:#cc0000;
    box-shadow:0 0 0 2px rgba(255,255,255,.18);
}

.vod-card.has-img .vod-ph {
    display:none;
}

.vod-card.no-img .vod-ph {
    display:block;
}

.vod-img,
.vod-ph {
    position:absolute;
    left:0;
    top:0;
    width:228px;
    height:296px;
}

.vod-img {
    border:none;
    display:block;
    z-index:1;
}

.vod-ph {
    background:#2a2a2a;
    color:#dddddd;
    text-align:center;
    line-height:296px;
    font-size:46px;
    font-weight:700;
}

.vod-grad {
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:126px;
}

.vod-title {
    position:absolute;
    left:10px;
    right:10px;
    bottom:14px;
    color:#ffffff;
    font-size:17px;
    font-weight:700;
    line-height:1.2;
    max-height:62px;
    overflow:hidden;
    text-shadow:0 1px 3px #000000;
}

.vod-year {
    position:absolute;
    left:10px;
    right:10px;
    bottom:84px;
    color:#d9d9d9;
    font-size:12px;
    font-weight:600;
    text-shadow:0 1px 3px #000000;
}

.vod-fav {
    position:absolute;
    right:8px;
    top:8px;
    z-index:5;
    width:32px;
    height:32px;
    line-height:30px;
    text-align:center;
    background:#1f86ff;
    color:#ffffff;
    border-radius:4px;
    font-size:20px;
    font-weight:700;
}

.ch-logo-ph {
    position:absolute;
    top:6px;
    right:8px;
    width:36px;
    height:26px;
    line-height:24px;
    background:#2a2a2a;
    border:1px solid #333333;
    font-size:9px;
    color:#555555;
    text-align:center;
}

.ch-logo {
    position:absolute;
    top:6px;
    right:8px;
    width:36px;
    height:26px;
    border:none;
}

.ch-bdg  { position:absolute; top:6px; left:8px; }
.ch-num  { position:absolute; left:10px; bottom:28px; font-size:13px; color:#aaaaaa; line-height:1; }
.ch-name {
    position:absolute;
    left:10px;
    right:44px;
    bottom:8px;
    font-size:14px;
    color:#ffffff;
    font-weight:500;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    line-height:1.2;
}

.grid-focus-info {
    position:absolute;
    left:30px;
    bottom:2px;
    width:1220px;
    height:22px;
    color:#bbbbbb;
    font-size:14px;
    line-height:22px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

/* ============ PLAYER ============ */
#sp { background:#000000; }

#sp .body {
    position:absolute;
    top:0;
    left:0;
    width:1280px;
    height:720px;
    overflow:hidden;
}

#videoPlayer {
    width:1280px;
    height:620px;
    background:#000000;
    display:block;
}

.pl-ov {
    position:absolute;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background:rgba(0,0,0,.65);
    text-align:center;
}

.pl-spin {
    width:48px;
    height:48px;
    margin:240px auto 14px auto;
    border:3px solid #333333;
    border-top:3px solid #cc0000;
    border-radius:48px;
}

.pl-ov-txt { color:#999999; font-size:14px; }

#pluginPlayer {
    position:absolute;
    left:0;
    top:0;
    width:1280px;
    height:720px;
    z-index:1;
}

.info-bar {
    position:absolute;
    left:44px;
    width:1192px;
    bottom:34px;
    height:92px;
    background:rgba(10,10,18,0.72);
    border:2px solid rgba(255,255,255,0.34);
    border-radius:4px;
    box-shadow:0 0 0 1px rgba(255,255,255,0.08) inset;
    padding:0 22px;
    z-index:10;
}

.info-bar.hidden { display:none; }

.info-logo-ph {
    float:left;
    width:62px;
    height:62px;
    margin-top:12px;
    background:rgba(0,0,0,0.32);
    border:2px solid rgba(255,255,255,0.22);
    color:#ffffff;
    font-size:12px;
    line-height:58px;
    text-align:center;
    border-radius:62px;
    box-shadow:0 0 0 3px rgba(255,255,255,0.04) inset;
}

.info-details {
    float:left;
    width:840px;
    margin-left:16px;
    padding-top:15px;
}

.info-row1 { height:32px; overflow:hidden; }

.info-row1 span {
    display:inline-block;
    vertical-align:baseline;
}

.info-num  { font-size:34px; font-weight:300; color:#ffffff; margin-right:10px; }
.info-name { font-size:22px; font-weight:700; color:#ffffff; margin-right:8px; }
.info-meta { font-size:14px; color:#d0d0d0; margin-top:4px; }

.info-right {
    float:right;
    width:190px;
    padding-top:16px;
    text-align:right;
    overflow:hidden;
}

.info-status {
    font-size:13px;
    font-weight:700;
    color:#d8d8d8;
    margin-bottom:6px;
    text-shadow:0 1px 2px rgba(0,0,0,0.45);
}

.info-status.buffering { color:#cc0000; }
.info-status.live { color:#7fd300; }
.info-status.error { color:#ff6666; }

.info-time2 {
    font-size:24px;
    font-weight:300;
    color:#ffffff;
    margin-top:0;
    margin-bottom:4px;
    text-shadow:0 1px 2px rgba(0,0,0,0.45);
    line-height:1;
}

.info-res {
    font-size:16px;
    color:#ffffff;
    font-weight:700;
    text-shadow:0 1px 2px rgba(0,0,0,0.45);
    line-height:1.05;
}

#sp .ftr {
    bottom:120px;
    background:transparent;
    border:none;
    display:none;
}

body.sidebar-open .info-bar,
body.sidebar-open #sp .ftr {
    display:none;
}

/* ============ SIDEBAR ============ */
#ssb {
    background:transparent;
    z-index:30;
}

#ssb .body {
    position:absolute;
    top:0;
    left:0;
    width:1280px;
    height:720px;
    overflow:hidden;
}

.sb-mask {
    position:absolute;
    top:0;
    left:0;
    width:1280px;
    height:720px;
    background:rgba(0,0,0,0.16);
}

.sb-panel {
    position:absolute;
    top:56px;
    left:110px;
    width:1060px;
    height:594px;
    background:rgba(10,10,18,0.60);
    border:2px solid rgba(255,255,255,0.45);
    box-shadow:0 0 0 1px rgba(255,255,255,0.12) inset;
    z-index:3;
}

#ssb .hdr,
#ssb .ftr {
    display:none;
}

.sb-head {
    position:relative;
    height:62px;
    padding:10px 22px 0 22px;
    border-bottom:1px solid rgba(255,255,255,0.10);
}

.sb-group {
    float:left;
    font-size:24px;
    font-weight:700;
    letter-spacing:1px;
    color:#ffffff;
    line-height:28px;
}

.sb-total {
    float:right;
    font-size:23px;
    font-weight:600;
    color:#ffffff;
    line-height:30px;
}

.sb-sub {
    clear:both;
    padding-top:4px;
    font-size:12px;
    color:#bbbbbb;
    letter-spacing:.4px;
}

.sb-list {
    position:absolute;
    top:62px;
    left:0;
    width:1060px;
    height:525px;
    overflow:hidden;
}

.sb-inner {
    position:absolute;
    top:0;
    left:0;
    width:1060px;
}

.sb-poster-grid {
    height:525px;
    overflow:hidden;
}

.sb-vod-card {
    border-radius:8px;
    background:rgba(20,20,24,0.92);
}

.sb-vod-card .vod-img,
.sb-vod-card .vod-ph {
    width:176px;
    height:252px;
}

.sb-vod-card .vod-ph {
    line-height:252px;
    font-size:40px;
}

.sb-vod-card .vod-grad {
    height:112px;
}

.sb-vod-card .vod-title {
    left:9px;
    right:9px;
    bottom:12px;
    font-size:15px;
    max-height:56px;
}

.sb-vod-card .vod-year {
    left:9px;
    right:9px;
    bottom:76px;
    font-size:11px;
}

.sb-vod-card .vod-fav {
    right:7px;
    top:7px;
    width:28px;
    height:28px;
    line-height:26px;
    font-size:18px;
}

.sb-item {
    position:relative;
    width:1060px;
    height:35px;
    padding:0;
    border-top:1px solid rgba(255,255,255,0.05);
    background:rgba(0,0,0,0.18);
    overflow:hidden;
}

.sb-item.focused {
    background:rgba(255,255,255,0.07);
    box-shadow:inset 0 2px 0 #ff0066, inset 0 -2px 0 #ff0066;
}

.sb-num {
    position:absolute;
    left:20px;
    top:0;
    width:52px;
    line-height:35px;
    font-size:22px;
    color:#ffffff;
    text-align:left;
}

.sb-ico {
    position:absolute;
    left:74px;
    top:0;
    width:24px;
    height:35px;
    color:#f1ebff;
    font-size:19px;
    line-height:35px;
    text-align:center;
}

.sb-fav {
    position:absolute;
    left:100px;
    top:0;
    width:16px;
    line-height:35px;
    color:#ffcc33;
    font-size:14px;
    text-align:center;
}

.sb-logo-box {
    position:absolute;
    left:120px;
    top:4px;
    width:42px;
    height:27px;
    overflow:hidden;
}

.sb-logo {
    display:block;
    width:42px;
    height:27px;
    border:none;
}

.sb-logo-ph {
    width:42px;
    height:27px;
    line-height:25px;
    background:#2a2a2a;
    border:1px solid #444444;
    color:#bbbbbb;
    font-size:10px;
    text-align:center;
}

.sb-name {
    position:absolute;
    left:176px;
    top:0;
    right:238px;
    line-height:35px;
    font-size:23px;
    color:#f8f8f8;
    font-weight:700;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.sb-meta {
    position:absolute;
    right:20px;
    top:0;
    width:200px;
    line-height:35px;
    font-size:20px;
    color:#ffffff;
    text-align:right;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.sb-footer {
    position:absolute;
    right:110px;
    bottom:12px;
    height:38px;
    padding:0 10px;
    background:rgba(12,12,18,0.92);
    border:1px solid rgba(255,255,255,0.18);
    z-index:5;
    white-space:nowrap;
}

.sb-footer .fb {
    color:#ffffff;
    line-height:36px;
    font-size:13px;
    padding:0 8px;
}

.sb-group-item .sb-ico {
    left:28px;
    width:40px;
    font-size:20px;
}

.sb-group-item .sb-name {
    left:88px;
    right:210px;
}

.sb-group-item .sb-meta {
    right:20px;
    width:170px;
    color:#bbbbbb;
}

/* ============ SETTINGS ============ */
#sset { background:#1e1e1e; }

#sset .body {
    position:absolute;
    top:48px;
    left:0;
    width:1280px;
    height:624px;
    padding:20px 24px;
}

.set-col {
    float:left;
    width:604px;
    margin-right:20px;
}

.set-col > div { margin-bottom:14px; }

.set-lbl {
    font-size:11px;
    color:#777777;
    text-transform:uppercase;
    letter-spacing:.8px;
    margin-bottom:2px;
}

.set-chk {
    display:block;
    background:#2a2a2a;
    border:2px solid #444444;
    padding:10px 14px;
    font-size:14px;
    color:#cccccc;
    line-height:20px;
}

.chk-box {
    display:inline-block;
    width:20px;
    height:20px;
    line-height:16px;
    margin-right:10px;
    border:2px solid #666666;
    background:#1a1a1a;
    font-size:13px;
    font-weight:700;
    text-align:center;
    vertical-align:middle;
}

.chk-box.on {
    background:#cc0000;
    border-color:#cc0000;
    color:#ffffff;
}

.stepper,
.theme-bar {
    position:relative;
    height:38px;
    background:#2a2a2a;
    border:2px solid #444444;
}

.st-btn {
    position:absolute;
    top:0;
    width:44px;
    height:34px;
    background:#333333;
    border:none;
    color:#aaaaaa;
    font-size:13px;
    line-height:34px;
    text-align:center;
    padding:0 6px;
}

.stepper .st-btn:first-child,
.theme-bar .st-btn:first-child { left:0; }

.stepper .st-btn:last-child,
.theme-bar .st-btn:last-child { right:0; }

.st-val {
    display:block;
    height:34px;
    margin:0 44px;
    text-align:center;
    font-size:14px;
    color:#ffffff;
    line-height:34px;
}

.radio-grp {
    background:#2a2a2a;
    border:2px solid #444444;
}

.r-opt {
    float:left;
    width:50%;
    height:38px;
    line-height:34px;
    padding:0 12px;
    font-size:13px;
    color:#999999;
    border-right:1px solid #333333;
}

.r-opt:last-child { border-right:none; }

.r-dot {
    display:inline-block;
    width:14px;
    height:14px;
    margin-right:8px;
    border:2px solid #555555;
    border-radius:14px;
    background:#1a1a1a;
    vertical-align:middle;
}

.r-dot.on {
    background:#cc0000;
    border-color:#cc0000;
}

.set-info {
    background:#252525;
    border:2px solid #333333;
    padding:10px 14px;
    font-size:13px;
    color:#888888;
}

.set-info span:first-child { float:left; }

.set-info-val {
    float:right;
    color:#ffffff;
    font-weight:600;
    font-size:12px;
    letter-spacing:.5px;
}

.theme-prev {
    display:block;
    height:34px;
    margin:0 44px;
    background:#cc0000;
}

/* ============ GROUPS ============ */
#sgrp {
    background:#0a0a0f;
    background-image:
        radial-gradient(ellipse at 20% 0%, rgba(230,57,70,0.12) 0%, rgba(230,57,70,0) 42%),
        linear-gradient(160deg, #12121a 0%, #0a0a0f 62%, #050509 100%);
}

#sgrp .hdr {
    height:76px;
    background:linear-gradient(to bottom, rgba(10,10,15,0.96), rgba(10,10,15,0.58));
    border-bottom:1px solid rgba(255,255,255,0.06);
}

#sgrp .hdr-title {
    font-size:28px;
    line-height:76px;
    letter-spacing:3px;
    text-transform:uppercase;
    padding-left:56px;
    color:#f0f0f5;
    text-shadow:0 4px 28px rgba(0,0,0,0.85);
}

#sgrp .hdr-title:before {
    content:'';
    display:inline-block;
    width:4px;
    height:22px;
    margin-right:14px;
    background:#e63946;
    vertical-align:-3px;
}

#sgrp .hdr-time {
    line-height:76px;
    padding-right:56px;
    color:#7a7a9a;
}

#sgrp .body {
    position:absolute;
    top:96px;
    left:56px;
    width:1168px;
    height:486px;
    padding:0;
    overflow:hidden;
    background:transparent;
    border:none;
    box-shadow:none;
}

.grp-item {
    width:220px;
    height:70px;
    background:#1a1a26;
    border:1px solid rgba(255,255,255,0.06);
    border-radius:10px;
    padding:0;
    overflow:hidden;
    box-shadow:0 8px 24px rgba(0,0,0,0.22);
}

.grp-item.focused {
    border-color:rgba(230,57,70,0.82);
    background:#22223a;
    box-shadow:0 0 0 2px rgba(230,57,70,0.45), 0 14px 40px rgba(0,0,0,0.62);
}

.grp-bg {
    position:absolute;
    left:0;
    top:0;
    width:220px;
    height:70px;
    background:
        linear-gradient(135deg, rgba(230,57,70,0.16), rgba(230,57,70,0) 52%),
        linear-gradient(to bottom, rgba(255,255,255,0.045), rgba(255,255,255,0));
}

.grp-item.focused .grp-bg {
    background:
        linear-gradient(135deg, rgba(230,57,70,0.32), rgba(230,57,70,0.08) 58%),
        linear-gradient(to bottom, rgba(255,255,255,0.08), rgba(255,255,255,0));
}

.grp-icon {
    position:absolute;
    left:14px;
    top:16px;
    width:38px;
    height:38px;
    margin:0;
    border:1px solid rgba(255,255,255,0.06);
    border-radius:8px;
    background:linear-gradient(135deg,#b71c1c,#4a0000);
    color:rgba(255,255,255,0.88);
    font-size:15px;
    font-weight:800;
    line-height:38px;
    text-align:center;
    letter-spacing:1px;
    text-shadow:0 2px 10px rgba(0,0,0,0.8);
}

.grp-text {
    position:absolute;
    left:64px;
    top:14px;
    width:118px;
    padding:0;
}

.grp-name {
    font-size:14px;
    font-weight:700;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    color:#f0f0f5;
}

.grp-count {
    font-size:11px;
    color:#7a7a9a;
    margin-top:5px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.grp-kind {
    position:absolute;
    top:10px;
    right:10px;
    padding:2px 6px;
    border-radius:4px;
    font-size:9px;
    line-height:12px;
    font-weight:800;
    letter-spacing:1px;
    color:#f4a261;
    background:rgba(244,162,97,0.16);
    border:1px solid rgba(244,162,97,0.28);
}

.grp-vod {
    background:#1a1a26;
}

.grp-vod .grp-icon {
    background:linear-gradient(135deg,#4a148c,#1a0038);
}

.grp-vod .grp-kind {
    color:#f4a261;
    background:rgba(244,162,97,0.18);
    border-color:rgba(244,162,97,0.3);
}

.grp-sport {
    background:#1a1a26;
}

.grp-sport .grp-icon {
    background:linear-gradient(135deg,#1b5e20,#003300);
}

.grp-sport .grp-kind {
    color:#00c853;
    background:rgba(0,200,83,0.14);
    border-color:rgba(0,200,83,0.28);
}

.grp-fav {
    background:#1a1a26;
}

.grp-fav .grp-icon {
    background:linear-gradient(135deg,#e65100,#3e1500);
}

.grp-focus-info {
    position:absolute;
    left:56px;
    bottom:62px;
    width:1168px;
    height:30px;
    color:#7a7a9a;
    font-size:15px;
    font-weight:600;
    letter-spacing:2px;
    text-transform:uppercase;
    line-height:30px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

#sgrp .ftr {
    height:52px;
    background:rgba(10,10,15,0.93);
    border-top:1px solid rgba(255,255,255,0.06);
}

#sgrp .fb {
    height:52px;
    line-height:52px;
    color:#7a7a9a;
}

/* ============ EPG ============ */
#sepg .body {
    position:absolute;
    top:48px;
    left:0;
    width:1280px;
    height:624px;
    padding:14px 18px;
}

.epg-ch {
    font-size:16px;
    font-weight:600;
    padding-bottom:8px;
    border-bottom:1px solid #2a2a2a;
}

.epg-list {
    width:1244px;
    height:560px;
    overflow:hidden;
}

.epg-item {
    width:1244px;
    padding:10px 12px;
    border-bottom:1px solid #1a1a1a;
}

.epg-item.cur { background:#1a1400; }

.epg-item.efocus {
    background:#1a0505;
    border-left:3px solid #cc0000;
    padding-left:9px;
}

.epg-time {
    float:left;
    width:76px;
    font-size:13px;
    color:#777777;
}

.epg-title {
    float:left;
    width:1120px;
    font-size:14px;
    color:#cccccc;
}

.epg-item.cur .epg-time  { color:#ccaa00; }
.epg-item.cur .epg-title { color:#ffffff; }

.epg-now {
    display:inline-block;
    font-size:9px;
    background:#ccaa00;
    color:#000000;
    padding:1px 4px;
    font-weight:700;
    margin-left:6px;
}

/* ============ NOTIF ============ */
.notif {
    position:absolute;
    top:56px;
    right:14px;
    background:#1e1e1e;
    border:1px solid #333333;
    border-left:3px solid #cc0000;
    padding:9px 16px;
    font-size:13px;
    color:#cccccc;
    z-index:999;
    display:none;
    max-width:340px;
}

.notif.show { display:block; }

.plugin-container {
    position:absolute;
    left:0;
    top:0;
    width:0;
    height:0;
    overflow:hidden;
}

::-webkit-scrollbar { display:none; }

/* ============ THEME OVERRIDES ============ */
body.theme-orange .ld-logo span { color:#cc5500; }
body.theme-orange .ld-fill,
body.theme-orange .chk-box.on,
body.theme-orange .r-dot.on { background:#cc5500; border-color:#cc5500; }
body.theme-orange .ch-item.focused { border-color:#cc5500; background:#2a1d10; }
body.theme-orange .sb-item.focused { border-left-color:#cc5500; background:#2a1d10; }
body.theme-orange .grp-item.focused { border-color:#cc5500; background:#2a1d10; }
body.theme-orange .epg-item.efocus { border-left-color:#cc5500; background:#2a1d10; }
body.theme-orange .notif { border-left-color:#cc5500; }
body.theme-orange .pl-spin { border-top-color:#cc5500; }

body.theme-olive .ld-logo span { color:#aaaa00; }
body.theme-olive .ld-fill,
body.theme-olive .chk-box.on,
body.theme-olive .r-dot.on { background:#aaaa00; border-color:#aaaa00; }
body.theme-olive .ch-item.focused { border-color:#aaaa00; background:#2a2a10; }
body.theme-olive .sb-item.focused { border-left-color:#aaaa00; background:#2a2a10; }
body.theme-olive .grp-item.focused { border-color:#aaaa00; background:#2a2a10; }
body.theme-olive .epg-item.efocus { border-left-color:#aaaa00; background:#2a2a10; }
body.theme-olive .notif { border-left-color:#aaaa00; }
body.theme-olive .pl-spin { border-top-color:#aaaa00; }

body.theme-green .ld-logo span { color:#00aa44; }
body.theme-green .ld-fill,
body.theme-green .chk-box.on,
body.theme-green .r-dot.on { background:#00aa44; border-color:#00aa44; }
body.theme-green .ch-item.focused { border-color:#00aa44; background:#102516; }
body.theme-green .sb-item.focused { border-left-color:#00aa44; background:#102516; }
body.theme-green .grp-item.focused { border-color:#00aa44; background:#102516; }
body.theme-green .epg-item.efocus { border-left-color:#00aa44; background:#102516; }
body.theme-green .notif { border-left-color:#00aa44; }
body.theme-green .pl-spin { border-top-color:#00aa44; }

body.theme-blue .ld-logo span { color:#0055cc; }
body.theme-blue .ld-fill,
body.theme-blue .chk-box.on,
body.theme-blue .r-dot.on { background:#0055cc; border-color:#0055cc; }
body.theme-blue .ch-item.focused { border-color:#0055cc; background:#101a2a; }
body.theme-blue .sb-item.focused { border-left-color:#0055cc; background:#101a2a; }
body.theme-blue .grp-item.focused { border-color:#0055cc; background:#101a2a; }
body.theme-blue .epg-item.efocus { border-left-color:#0055cc; background:#101a2a; }
body.theme-blue .notif { border-left-color:#0055cc; }
body.theme-blue .pl-spin { border-top-color:#0055cc; }

body.theme-purple .ld-logo span { color:#7700cc; }
body.theme-purple .ld-fill,
body.theme-purple .chk-box.on,
body.theme-purple .r-dot.on { background:#7700cc; border-color:#7700cc; }
body.theme-purple .ch-item.focused { border-color:#7700cc; background:#1a102a; }
body.theme-purple .sb-item.focused { border-left-color:#7700cc; background:#1a102a; }
body.theme-purple .grp-item.focused { border-color:#7700cc; background:#1a102a; }
body.theme-purple .epg-item.efocus { border-left-color:#7700cc; background:#1a102a; }
body.theme-purple .notif { border-left-color:#7700cc; }
body.theme-purple .pl-spin { border-top-color:#7700cc; }

body.theme-pink .ld-logo span { color:#cc0077; }
body.theme-pink .ld-fill,
body.theme-pink .chk-box.on,
body.theme-pink .r-dot.on { background:#cc0077; border-color:#cc0077; }
body.theme-pink .ch-item.focused { border-color:#cc0077; background:#2a1020; }
body.theme-pink .sb-item.focused { border-left-color:#cc0077; background:#2a1020; }
body.theme-pink .grp-item.focused { border-color:#cc0077; background:#2a1020; }

/* ============ VOD DETAILS ============ */
#svod {
    background:transparent;
    z-index:35;
}

#svod .hdr {
    top:56px;
    left:110px;
    width:1060px;
    height:62px;
    padding:0 22px;
    background:rgba(8,8,14,0.94);
    border:2px solid rgba(255,255,255,0.42);
    border-bottom:1px solid rgba(255,255,255,0.12);
    box-shadow:0 0 0 1px rgba(255,255,255,0.10) inset;
}

#svod .hdr-title {
    font-size:24px;
    line-height:60px;
}

#svod .hdr-time {
    line-height:60px;
}

#svod .body {
    position:absolute;
    top:118px;
    left:110px;
    width:1060px;
    height:484px;
    padding:22px 24px;
    background:rgba(8,8,14,0.92);
    border-left:2px solid rgba(255,255,255,0.42);
    border-right:2px solid rgba(255,255,255,0.42);
    box-shadow:0 0 0 1px rgba(255,255,255,0.08) inset;
}

.vod-det-poster {
    float:left;
    width:268px;
    height:414px;
    background:#111111;
    border:1px solid rgba(255,255,255,0.16);
    border-radius:8px;
    overflow:hidden;
}

.vod-det-img,
.vod-det-ph {
    width:268px;
    height:414px;
}

.vod-det-ph {
    background:#222222;
    color:#dddddd;
    text-align:center;
    line-height:414px;
    font-size:48px;
    font-weight:700;
}

.vod-det-panel {
    float:right;
    width:724px;
    height:414px;
    padding:2px 0 0 28px;
}

.vod-det-group {
    color:#9fb6d9;
    font-size:16px;
    font-weight:700;
    margin-bottom:8px;
}

.vod-det-title {
    font-size:34px;
    line-height:1.15;
    font-weight:700;
    margin-bottom:10px;
    max-height:78px;
    overflow:hidden;
    text-shadow:0 2px 4px #000000;
}

.vod-det-badge-wrap {
    margin-bottom:8px;
}

.vod-det-meta {
    color:#c8c8c8;
    font-size:18px;
    margin-bottom:16px;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
}

.vod-det-desc {
    font-size:20px;
    line-height:1.42;
    color:#f1f1f1;
    height:238px;
    overflow:hidden;
    text-shadow:0 2px 4px #000000;
}

.vod-det-panel.series-mode .vod-det-title {
    max-height:60px;
    font-size:30px;
}

.vod-det-panel.series-mode .vod-det-meta {
    margin-bottom:10px;
}

.vod-det-panel.series-mode .vod-det-desc {
    height:122px;
    font-size:17px;
    line-height:1.32;
    margin-bottom:12px;
}

.series-episodes {
    position:relative;
    width:714px;
    height:170px;
    display:none;
}

.series-ep-card {
    position:absolute;
    background:rgba(20,22,30,0.94);
    border:2px solid rgba(255,255,255,0.18);
    border-radius:8px;
    overflow:hidden;
}

.series-ep-card.focused {
    border-color:#cc0000;
    background:rgba(56,12,18,0.96);
    box-shadow:0 0 0 1px rgba(255,255,255,0.22) inset;
}

.series-ep-img,
.series-ep-ph {
    position:absolute;
    left:0;
    top:0;
    width:132px;
    height:162px;
}

.series-ep-img {
    object-fit:cover;
}

.series-ep-ph {
    background:#2c2f3a;
    color:#ffffff;
    text-align:center;
    line-height:162px;
    font-size:34px;
    font-weight:700;
}

.series-ep-grad {
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:94px;
    background:linear-gradient(to top, rgba(0,0,0,0.92), rgba(0,0,0,0.10));
}

.series-ep-label {
    position:absolute;
    left:7px;
    top:7px;
    right:7px;
    color:#ffc4c4;
    font-size:11px;
    font-weight:700;
    white-space:nowrap;
    overflow:hidden;
    text-shadow:0 2px 4px #000000;
}

.series-ep-title {
    position:absolute;
    left:7px;
    right:7px;
    bottom:26px;
    color:#ffffff;
    font-size:13px;
    line-height:1.16;
    font-weight:700;
    max-height:46px;
    overflow:hidden;
    text-shadow:0 2px 4px #000000;
}

.series-ep-desc {
    position:absolute;
    left:7px;
    right:7px;
    bottom:7px;
    color:#c9cfdd;
    font-size:9px;
    line-height:1.1;
    max-height:18px;
    overflow:hidden;
    text-shadow:0 2px 4px #000000;
}

#svod .ftr {
    left:110px;
    top:602px;
    bottom:auto;
    width:1060px;
    height:48px;
    padding:0 18px;
    background:rgba(8,8,14,0.94);
    border:2px solid rgba(255,255,255,0.42);
    border-top:1px solid rgba(255,255,255,0.12);
    box-shadow:0 0 0 1px rgba(255,255,255,0.08) inset;
}
body.theme-pink .epg-item.efocus { border-left-color:#cc0077; background:#2a1020; }
body.theme-pink .notif { border-left-color:#cc0077; }
body.theme-pink .pl-spin { border-top-color:#cc0077; }

/* ============ VIVO TV CINEMA HOME v1036 ============ */
#shome {
    background:#0a0a0f;
    color:#f0f0f5;
}

#shome .home-bg {
    position:absolute;
    left:0;
    top:0;
    width:1280px;
    height:720px;
    background:
        radial-gradient(circle at 78% 0%, rgba(230,57,70,0.16), rgba(10,10,15,0) 42%),
        linear-gradient(150deg, #160910 0%, #0d0f18 45%, #09090d 100%);
    overflow:hidden;
}

#shome .home-bg:before {
    content:'';
    position:absolute;
    left:0;
    top:0;
    width:1280px;
    height:720px;
    background:
        linear-gradient(90deg, rgba(140,10,10,0.42) 0%, rgba(140,10,10,0) 14%),
        linear-gradient(270deg, rgba(140,10,10,0.42) 0%, rgba(140,10,10,0) 14%);
}

#shome .home-bg:after {
    content:'';
    position:absolute;
    left:0;
    top:0;
    width:1280px;
    height:720px;
    background:repeating-linear-gradient(
        90deg,
        rgba(255,255,255,0) 0px,
        rgba(255,255,255,0) 120px,
        rgba(255,255,255,0.015) 120px,
        rgba(255,255,255,0.015) 121px
    );
}

#shome .home-top {
    position:absolute;
    left:0;
    top:0;
    width:1280px;
    height:92px;
    z-index:20;
    background:linear-gradient(to bottom, rgba(10,10,15,0.96), rgba(10,10,15,0.18));
}

#shome .home-brand {
    position:absolute;
    left:42px;
    top:14px;
    width:176px;
    height:58px;
    border:none;
}

#shome .home-nav {
    position:absolute;
    left:234px;
    top:24px;
    width:778px;
    height:36px;
    white-space:nowrap;
    overflow:hidden;
}

#shome .home-nav-link {
    display:inline-block;
    height:32px;
    line-height:32px;
    padding:0 16px;
    margin-right:6px;
    color:#7a7a9a;
    font-size:13px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
    border:1px solid transparent;
    border-radius:8px;
    background:rgba(0,0,0,0);
}

#shome .home-nav-link.active {
    color:#ffffff;
    background:rgba(230,57,70,0.12);
    border-color:rgba(230,57,70,0.26);
}

#shome .home-nav-link.focused {
    color:#ffffff;
    background:#e63946;
    border-color:#ff7b84;
    box-shadow:0 0 18px rgba(230,57,70,0.46);
}

#shome .home-clock {
    position:absolute;
    right:42px;
    top:24px;
    width:90px;
    color:#d7d7e4;
    font-size:20px;
    font-weight:300;
    letter-spacing:2px;
    text-align:right;
}

#shome .home-hero {
    position:absolute;
    left:0;
    top:0;
    width:1280px;
    height:318px;
    z-index:8;
    overflow:hidden;
}

#shome .home-hero-art {
    position:absolute;
    right:0;
    top:0;
    width:770px;
    height:318px;
    overflow:hidden;
}

#shome .home-hero-img {
    position:absolute;
    right:0;
    top:0;
    width:770px;
    height:318px;
    opacity:.72;
    border:none;
}

#shome .home-hero-fallback {
    position:absolute;
    right:0;
    top:0;
    width:770px;
    height:318px;
}

#shome .home-hero-grid {
    position:absolute;
    left:0;
    top:0;
    width:770px;
    height:318px;
    background:
        repeating-linear-gradient(0deg, rgba(255,255,255,0) 0px, rgba(255,255,255,0) 42px, rgba(230,57,70,0.04) 42px, rgba(230,57,70,0.04) 43px),
        repeating-linear-gradient(90deg, rgba(255,255,255,0) 0px, rgba(255,255,255,0) 42px, rgba(230,57,70,0.03) 42px, rgba(230,57,70,0.03) 43px);
}

#shome .home-poster-shadow {
    position:absolute;
    border:1px solid rgba(255,255,255,0.08);
    border-radius:10px;
    opacity:.22;
}

#shome .home-poster-shadow.ps-1 {
    width:112px;
    height:156px;
    right:92px;
    top:20px;
}

#shome .home-poster-shadow.ps-2 {
    width:92px;
    height:132px;
    right:230px;
    top:32px;
}

#shome .home-poster-shadow.ps-3 {
    width:102px;
    height:146px;
    right:254px;
    top:156px;
}

#shome .home-hero-shade {
    position:absolute;
    left:0;
    top:0;
    width:1280px;
    height:318px;
    background:
        linear-gradient(to right, #0a0a0f 0%, rgba(10,10,15,0.94) 38%, rgba(10,10,15,0.38) 72%, rgba(10,10,15,0.92) 100%),
        linear-gradient(to top, #0a0a0f 0%, rgba(10,10,15,0.06) 56%, rgba(10,10,15,0.82) 100%);
}

#shome .home-hero-copy {
    position:absolute;
    left:56px;
    top:94px;
    width:520px;
    height:196px;
    z-index:4;
}

#shome .home-hero-tags {
    height:26px;
}

#shome .home-live-badge {
    display:inline-block;
    height:24px;
    line-height:24px;
    padding:0 10px;
    color:#ffffff;
    background:#e63946;
    border-radius:4px;
    font-size:11px;
    font-weight:800;
    letter-spacing:1.5px;
    text-transform:uppercase;
}

#shome .home-hero-kicker {
    display:inline-block;
    height:24px;
    line-height:24px;
    margin-left:8px;
    color:#9d9db5;
    font-size:12px;
    letter-spacing:1px;
    text-transform:uppercase;
}

#shome .home-hero-title {
    margin-top:14px;
    height:104px;
    overflow:hidden;
    color:#f0f0f5;
    font-size:52px;
    line-height:50px;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:1px;
    text-shadow:0 4px 24px rgba(0,0,0,0.72);
}

#shome .home-hero-meta {
    margin-top:10px;
    color:#f4a261;
    font-size:12px;
    font-weight:700;
    letter-spacing:1px;
    text-transform:uppercase;
}

#shome .home-hero-desc {
    margin-top:10px;
    width:470px;
    height:36px;
    overflow:hidden;
    color:rgba(240,240,245,0.72);
    font-size:13px;
    line-height:18px;
}

#shome .home-hero-buttons {
    margin-top:16px;
    height:40px;
}

#shome .home-btn {
    display:inline-block;
    height:38px;
    line-height:38px;
    padding:0 16px;
    margin-right:12px;
    border-radius:9px;
    border:1px solid rgba(255,255,255,0.12);
    color:#f0f0f5;
    font-size:13px;
    font-weight:700;
    letter-spacing:.5px;
}

#shome .home-btn-primary {
    background:#e63946;
    border-color:#ff7b84;
    color:#ffffff;
    box-shadow:0 0 24px rgba(230,57,70,0.32);
}

#shome .home-btn-secondary {
    background:rgba(240,240,245,0.09);
}

#shome .home-btn-glyph {
    display:inline-block;
    margin-right:8px;
    font-size:12px;
}

#shome .home-hero.focused .home-btn-primary {
    box-shadow:0 0 0 2px rgba(255,255,255,0.12), 0 0 30px rgba(230,57,70,0.44);
}

#shome .home-hero-dots {
    position:absolute;
    right:74px;
    bottom:46px;
    height:12px;
    z-index:4;
}

#shome .home-hero-dot {
    display:inline-block;
    width:10px;
    height:10px;
    margin-left:6px;
    border-radius:6px;
    background:rgba(240,240,245,0.2);
}

#shome .home-hero-dot.active {
    width:22px;
    background:#e63946;
    box-shadow:0 0 16px rgba(230,57,70,0.4);
}

#shome .home-rows {
    position:absolute;
    left:0;
    top:246px;
    width:1280px;
    height:418px;
    z-index:12;
    overflow:hidden;
}

#shome .home-row {
    position:absolute;
    left:56px;
    width:1168px;
}

#shome .home-row-header {
    position:absolute;
    left:0;
    top:0;
    width:1168px;
    height:22px;
}

#shome .home-row-title {
    float:left;
    height:22px;
    line-height:22px;
    color:#cfd0dc;
    font-size:13px;
    font-weight:800;
    letter-spacing:2px;
    text-transform:uppercase;
}

#shome .home-row-title:before {
    content:'';
    display:inline-block;
    width:4px;
    height:18px;
    margin-right:9px;
    vertical-align:middle;
    background:#e63946;
    border-radius:2px;
}

#shome .home-row-more {
    float:right;
    color:#e63946;
    font-size:12px;
    font-weight:700;
    line-height:22px;
    text-transform:uppercase;
}

#shome .home-chip {
    position:absolute;
    top:32px;
    width:176px;
    height:58px;
    background:#1a1a26;
    border:1px solid rgba(255,255,255,0.08);
    border-radius:10px;
    overflow:hidden;
}

#shome .home-chip.on-air {
    border-color:rgba(230,57,70,0.38);
    background:rgba(230,57,70,0.08);
}

#shome .home-chip.focused {
    border-color:#ff7b84;
    background:#22223a;
    box-shadow:0 0 0 2px rgba(230,57,70,0.6), 0 0 20px rgba(230,57,70,0.36);
}

#shome .home-chip-icon {
    position:absolute;
    left:10px;
    top:10px;
    width:38px;
    height:38px;
    line-height:38px;
    text-align:center;
    color:#ffffff;
    font-size:14px;
    font-weight:900;
    border-radius:8px;
}

#shome .home-chip-text {
    position:absolute;
    left:58px;
    top:10px;
    right:10px;
    height:38px;
}

#shome .home-chip-name {
    height:18px;
    overflow:hidden;
    color:#f0f0f5;
    font-size:13px;
    font-weight:700;
    line-height:18px;
    white-space:nowrap;
    text-overflow:ellipsis;
}

#shome .home-chip-meta {
    margin-top:4px;
    height:14px;
    overflow:hidden;
    color:#9d9db5;
    font-size:11px;
    line-height:14px;
    white-space:nowrap;
    text-overflow:ellipsis;
}

#shome .home-chip-dot {
    display:inline-block;
    width:6px;
    height:6px;
    margin-right:6px;
    border-radius:50%;
    background:#e63946;
    vertical-align:middle;
}

#shome .home-card.poster {
    position:absolute;
    top:30px;
    width:172px;
    height:148px;
    background:#16161f;
    border:1px solid rgba(255,255,255,0.08);
    border-radius:10px;
    overflow:hidden;
}

#shome .home-card.poster.focused {
    border-color:#ff7b84;
    box-shadow:0 0 0 2px rgba(230,57,70,0.6), 0 0 22px rgba(230,57,70,0.34);
}

#shome .home-card-bg {
    position:absolute;
    left:0;
    top:0;
    width:172px;
    height:148px;
}

#shome .home-card.poster .home-card-logo {
    position:absolute;
    left:0;
    top:0;
    width:172px;
    height:148px;
    border:none;
    background:#202030;
}

#shome .home-card.poster .home-card-initials {
    position:absolute;
    left:0;
    top:0;
    width:172px;
    height:148px;
    line-height:148px;
    text-align:center;
    color:rgba(255,255,255,0.26);
    font-size:44px;
    font-weight:900;
}

#shome .home-card-gradient {
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    height:82px;
    background:linear-gradient(to top, rgba(0,0,0,0.92), rgba(0,0,0,0.08));
}

#shome .home-card-badge {
    position:absolute;
    right:8px;
    top:8px;
    height:18px;
    line-height:18px;
    padding:0 7px;
    color:#f4a261;
    background:rgba(244,162,97,0.16);
    border:1px solid rgba(244,162,97,0.28);
    border-radius:4px;
    font-size:10px;
    font-weight:800;
    letter-spacing:1px;
    text-transform:uppercase;
}

#shome .home-card-play {
    position:absolute;
    left:10px;
    top:10px;
    width:28px;
    height:28px;
    line-height:28px;
    text-align:center;
    color:#ffffff;
    background:rgba(230,57,70,0.86);
    border-radius:14px;
    font-size:11px;
    font-weight:700;
}

#shome .home-card.poster .home-card-title {
    position:absolute;
    left:10px;
    right:10px;
    bottom:26px;
    height:32px;
    overflow:hidden;
    color:#ffffff;
    font-size:13px;
    line-height:16px;
    font-weight:700;
    white-space:normal;
    text-shadow:0 2px 5px rgba(0,0,0,0.86);
}

#shome .home-card.poster .home-card-sub {
    position:absolute;
    left:10px;
    right:10px;
    bottom:8px;
    height:14px;
    overflow:hidden;
    color:#bbbbc9;
    font-size:11px;
    line-height:14px;
    white-space:nowrap;
    text-overflow:ellipsis;
}

#shome .home-bottom-nav {
    position:absolute;
    left:0;
    bottom:0;
    width:1280px;
    height:58px;
    z-index:30;
    background:rgba(10,10,15,0.94);
    border-top:1px solid rgba(255,255,255,0.08);
    text-align:center;
}

#shome .home-bnav {
    display:inline-block;
    width:148px;
    height:58px;
    padding-top:8px;
    color:#7a7a9a;
}

#shome .home-bnav.active {
    color:#e63946;
}

#shome .home-bnav-icon {
    width:34px;
    height:18px;
    line-height:18px;
    margin:0 auto 5px;
    border:1px solid rgba(255,255,255,0.08);
    border-radius:8px;
    background:#171721;
    color:inherit;
    font-size:10px;
    font-weight:800;
    letter-spacing:1px;
}

#shome .home-bnav-label {
    color:inherit;
    font-size:11px;
    font-weight:700;
    letter-spacing:.6px;
    text-transform:uppercase;
}

#shome .home-help {
    position:absolute;
    right:26px;
    bottom:68px;
    height:32px;
    line-height:32px;
    padding:0 12px;
    color:#f0f0f5;
    font-size:12px;
    background:rgba(10,10,15,0.9);
    border:1px solid rgba(255,255,255,0.12);
    border-radius:8px;
    z-index:28;
}

#shome .home-sep {
    display:inline-block;
    width:1px;
    height:18px;
    margin:7px 8px 0;
    background:rgba(255,255,255,0.16);
    vertical-align:top;
}

/* ============ VIVO TV HOME FIX v1037 ============ */
#shome .home-bottom-nav,
#shome .home-help,
#shome .home-hero-buttons,
#shome .home-btn,
#shome .home-row-more {
    display:none;
}

#shome .home-hero {
    height:226px;
}

#shome .home-hero-art {
    right:56px;
    top:56px;
    width:430px;
    height:144px;
    border:1px solid rgba(255,255,255,0.08);
    border-radius:18px;
    background:rgba(255,255,255,0.02);
}

#shome .home-hero-fallback,
#shome .home-hero-poster,
#shome .home-hero-grid {
    left:0;
    top:0;
    width:430px;
    height:144px;
}

#shome .home-hero-poster {
    position:absolute;
    background-repeat:no-repeat;
    background-position:center center;
    background-size:cover;
    opacity:.44;
}

#shome .home-hero-grid {
    background:
        repeating-linear-gradient(0deg, rgba(255,255,255,0) 0px, rgba(255,255,255,0) 40px, rgba(230,57,70,0.03) 40px, rgba(230,57,70,0.03) 41px),
        repeating-linear-gradient(90deg, rgba(255,255,255,0) 0px, rgba(255,255,255,0) 40px, rgba(230,57,70,0.02) 40px, rgba(230,57,70,0.02) 41px);
}

#shome .home-hero-mark {
    position:absolute;
    right:18px;
    top:18px;
    width:208px;
    height:108px;
    border:1px solid rgba(255,255,255,0.1);
    border-radius:16px;
    background:rgba(8,8,12,0.36);
    box-shadow:0 18px 36px rgba(0,0,0,0.22);
}

#shome .home-hero-logo {
    position:absolute;
    left:16px;
    top:16px;
    right:16px;
    bottom:16px;
    background-repeat:no-repeat;
    background-position:center center;
    background-size:contain;
}

#shome .home-hero-shade {
    height:226px;
    background:
        linear-gradient(to right, #09090d 0%, rgba(9,9,13,0.97) 45%, rgba(9,9,13,0.22) 76%, rgba(9,9,13,0.9) 100%),
        linear-gradient(to top, #0a0a0f 0%, rgba(10,10,15,0.04) 56%, rgba(10,10,15,0.72) 100%);
}

#shome .home-hero-copy {
    left:56px;
    top:74px;
    width:560px;
    height:128px;
}

#shome .home-hero.focused .home-hero-copy {
    left:40px;
    padding-left:16px;
    border-left:4px solid #e63946;
}

#shome .home-hero-title {
    margin-top:10px;
    height:84px;
    color:#f7f7fb;
    font-size:46px;
    line-height:40px;
    font-weight:900;
    text-transform:none;
    letter-spacing:.4px;
}

#shome .home-hero-meta {
    margin-top:8px;
    font-size:11px;
}

#shome .home-hero-desc {
    margin-top:8px;
    width:520px;
    height:18px;
    color:rgba(240,240,245,0.74);
    font-size:12px;
    line-height:18px;
    white-space:nowrap;
    text-overflow:ellipsis;
}

#shome .home-hero-dots {
    right:60px;
    bottom:16px;
}

#shome .home-rows {
    top:218px;
    height:470px;
}

#shome .home-row-header {
    height:20px;
}

#shome .home-row-title {
    height:20px;
    line-height:20px;
    font-size:12px;
    letter-spacing:1.6px;
}

#shome .home-row-title:before {
    height:16px;
    margin-right:8px;
}

#shome .home-chip {
    top:28px;
    width:178px;
    height:58px;
    border-radius:12px;
}

#shome .home-chip.focused {
    border-color:#ff7b84;
    background:#26263b;
    box-shadow:0 0 0 3px rgba(230,57,70,0.68), 0 0 24px rgba(230,57,70,0.26);
}

#shome .home-card.poster {
    top:28px;
    width:142px;
    height:202px;
    border-radius:14px;
}

#shome .home-card.poster.focused {
    z-index:4;
    border-color:#ff7b84;
    box-shadow:0 0 0 3px rgba(230,57,70,0.68), 0 0 28px rgba(230,57,70,0.28);
}

#shome .home-card-bg,
#shome .home-card.poster .home-card-logo,
#shome .home-card.poster .home-card-initials,
#shome .home-card-poster {
    width:142px;
    height:202px;
}

#shome .home-card-poster {
    position:absolute;
    left:0;
    top:0;
    background-repeat:no-repeat;
    background-position:center center;
    background-size:cover;
}

#shome .home-card.poster .home-card-logo {
    display:none;
}

#shome .home-card.poster .home-card-initials {
    line-height:202px;
    font-size:40px;
}

#shome .home-card-gradient {
    height:98px;
    background:linear-gradient(to top, rgba(0,0,0,0.96), rgba(0,0,0,0.12));
}

#shome .home-card-badge {
    right:7px;
    top:7px;
}

#shome .home-card-play {
    left:8px;
    top:8px;
    width:26px;
    height:26px;
    line-height:26px;
}

#shome .home-card.poster .home-card-title {
    left:10px;
    right:10px;
    bottom:30px;
    height:36px;
    font-size:12px;
    line-height:17px;
}

#shome .home-card.poster .home-card-sub {
    left:10px;
    right:10px;
    bottom:10px;
}

/* ============ VIVO TV HOME TUNE v1038 ============ */
#shome .home-top {
    height:86px;
}

#shome .home-brand {
    left:34px;
    top:16px;
    width:150px;
    height:46px;
}

#shome .home-nav {
    left:204px;
    top:22px;
    width:808px;
}

#shome .home-hero.focused .home-hero-art {
    border-color:#ff7b84;
    box-shadow:0 0 0 3px rgba(230,57,70,0.44), 0 18px 36px rgba(0,0,0,0.26);
}

#shome .home-hero-mark {
    right:22px;
    top:20px;
    width:192px;
    height:102px;
    overflow:hidden;
}

#shome .home-hero-logo-fallback {
    position:absolute;
    left:0;
    top:0;
    width:192px;
    height:102px;
    line-height:102px;
    text-align:center;
    color:rgba(255,255,255,0.26);
    font-size:32px;
    font-weight:900;
    letter-spacing:2px;
}

#shome .home-hero-logo-img {
    position:absolute;
    left:0;
    right:0;
    top:0;
    bottom:0;
    max-width:164px;
    max-height:74px;
    width:auto;
    height:auto;
    margin:auto;
    border:none;
}

#shome .home-rows {
    top:212px;
    height:508px;
}

#shome .home-chip {
    width:156px;
}

#shome .home-chip-icon {
    left:10px;
    top:9px;
    width:42px;
    height:40px;
    line-height:40px;
    overflow:hidden;
    background:#1b1b28;
}

#shome .home-chip-fallback {
    position:absolute;
    left:0;
    top:0;
    width:42px;
    height:40px;
    line-height:40px;
    text-align:center;
    color:rgba(255,255,255,0.86);
    font-size:13px;
    font-weight:900;
}

#shome .home-chip-logo {
    position:absolute;
    left:0;
    right:0;
    top:0;
    bottom:0;
    max-width:32px;
    max-height:30px;
    width:auto;
    height:auto;
    margin:auto;
    border:none;
}

#shome .home-chip-text {
    left:60px;
    right:8px;
}

#shome .home-chip-name {
    font-size:12px;
}

#shome .home-chip-meta {
    font-size:10px;
}

#shome .home-card.poster {
    width:134px;
    height:196px;
}

#shome .home-card-bg,
#shome .home-card.poster .home-card-logo,
#shome .home-card.poster .home-card-initials,
#shome .home-card-poster {
    width:134px;
    height:196px;
}

#shome .home-card.poster .home-card-initials {
    line-height:196px;
    font-size:36px;
}

#shome .home-card.poster .home-card-title {
    bottom:28px;
    height:34px;
    font-size:12px;
}

/* ============ VIVO TV HOME CLEAN v1039 ============ */
#shome .home-bg:after,
#shome .home-hero-grid,
#shome .home-hero-fallback,
#shome .home-hero-poster {
    display:none;
}

#shome .home-top {
    height:82px;
    background:linear-gradient(to bottom, rgba(9,9,13,0.98), rgba(9,9,13,0.28));
    border-bottom:1px solid rgba(255,255,255,0.06);
}

#shome .home-brand {
    left:30px;
    top:14px;
    width:142px;
    height:44px;
}

#shome .home-nav {
    left:196px;
    top:20px;
    width:820px;
}

#shome .home-clock {
    top:20px;
    right:36px;
}

#shome .home-hero {
    height:232px;
}

#shome .home-hero-art {
    right:54px;
    top:62px;
    width:268px;
    height:118px;
    border:none;
    border-radius:0;
    background:none;
    overflow:visible;
}

#shome .home-hero-mark {
    left:0;
    top:0;
    right:auto;
    width:268px;
    height:118px;
    border:1px solid rgba(255,255,255,0.1);
    border-radius:18px;
    background:rgba(18,18,26,0.72);
    box-shadow:0 18px 40px rgba(0,0,0,0.26);
}

#shome .home-hero.focused .home-hero-art {
    border:none;
    box-shadow:none;
}

#shome .home-hero.focused .home-hero-mark {
    border-color:#ff7b84;
    box-shadow:0 0 0 3px rgba(230,57,70,0.4), 0 18px 40px rgba(0,0,0,0.28);
}

#shome .home-hero-logo-fallback {
    width:268px;
    height:118px;
    line-height:118px;
}

#shome .home-hero-logo-img {
    max-width:212px;
    max-height:82px;
}

#shome .home-hero-copy {
    left:56px;
    top:94px;
    width:560px;
    height:106px;
}

#shome .home-hero.focused .home-hero-copy {
    left:44px;
}

#shome .home-hero-title {
    margin-top:8px;
    height:54px;
    font-size:44px;
    line-height:44px;
    white-space:nowrap;
    text-overflow:ellipsis;
}

#shome .home-hero-meta {
    margin-top:10px;
    color:#f4c992;
}

#shome .home-hero-desc {
    margin-top:6px;
    height:16px;
    color:rgba(240,240,245,0.62);
    font-size:11px;
    line-height:16px;
}

#shome .home-hero-dots {
    right:58px;
    bottom:22px;
}

#shome .home-rows {
    top:236px;
    height:454px;
}

#shome .home-row.live {
    height:78px;
}

#shome .home-row.posters {
    height:232px;
}

#shome .home-chip {
    top:30px;
    width:156px;
}

#shome .home-card.poster {
    top:30px;
}

/* ============ VIVO TV STABILITY v1040 ============ */
#shome .home-brand {
    left:44px;
    top:18px;
    width:auto;
    height:auto;
    max-width:142px;
    max-height:40px;
}

#shome .home-nav {
    left:214px;
    width:792px;
}

#shome .home-hero-art {
    right:68px;
    top:74px;
    width:230px;
    height:92px;
}

#shome .home-hero-mark {
    width:230px;
    height:92px;
    border-radius:16px;
}

#shome .home-hero-logo-fallback {
    width:230px;
    height:92px;
    line-height:92px;
    font-size:28px;
}

#shome .home-hero-logo-img {
    max-width:184px;
    max-height:64px;
}

#shome .home-hero-copy {
    top:92px;
}

#shome .home-hero-title {
    height:50px;
    font-size:42px;
    line-height:42px;
}

#shome .home-hero-desc {
    width:420px;
}

/* ============ VIVO TV HOME REDESIGN v1041 ============ */
#shome {
    position: relative;
    overflow: hidden;
    background: #070910;
}

#shome .home-bg {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background:
        radial-gradient(circle at 18% 18%, rgba(255, 91, 114, 0.18), rgba(255, 91, 114, 0) 32%),
        radial-gradient(circle at 82% 12%, rgba(80, 186, 255, 0.16), rgba(80, 186, 255, 0) 24%),
        linear-gradient(135deg, #06070c 0%, #0c1018 52%, #05060a 100%);
}

#shome .home-bg:before,
#shome .home-bg:after {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

#shome .home-bg:before {
    background:
        linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px),
        linear-gradient(rgba(255,255,255,0.02) 1px, transparent 1px);
    background-size: 120px 120px;
    opacity: 0.2;
}

#shome .home-bg:after {
    background: linear-gradient(180deg, rgba(5,7,12,0.15) 0%, rgba(5,7,12,0.55) 58%, rgba(5,7,12,0.92) 100%);
}

#shome .home-top {
    position: absolute;
    top: 24px;
    left: 38px;
    right: 38px;
    height: 54px;
    display: flex;
    align-items: center;
    z-index: 3;
}

#shome .home-brand {
    position: static;
    display: block;
    width: 150px !important;
    height: 62px !important;
    max-width: none;
    max-height: none;
    object-fit: contain !important;
    object-position: left center;
    margin: 0 28px 0 0;
}

#shome .home-nav {
    position: static;
    display: flex;
    align-items: center;
    width: auto;
    left: auto;
}

#shome .home-nav-link {
    min-width: 94px;
    padding: 11px 18px;
    margin-right: 10px;
    border-radius: 16px;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.03);
    color: rgba(255,255,255,0.9);
    font-size: 15px;
    font-weight: 800;
    letter-spacing: 1.1px;
    text-align: center;
    text-transform: uppercase;
    box-sizing: border-box;
}

#shome .home-nav-link:last-child {
    margin-right: 0;
}

#shome .home-nav-link.active {
    background: linear-gradient(180deg, rgba(255,97,123,0.32) 0%, rgba(255,97,123,0.18) 100%);
    border-color: rgba(255,113,138,0.52);
}

#shome .home-nav-link.focused {
    border-color: rgba(255,113,138,0.9);
    box-shadow: 0 0 0 2px rgba(255,113,138,0.18);
    transform: translateY(-1px);
}

#shome .home-clock {
    position: static;
    margin-left: auto;
    font-size: 28px;
    font-weight: 800;
    letter-spacing: 1.4px;
    color: rgba(255,255,255,0.96);
}

#shome .home-hero {
    position: absolute;
    top: 96px;
    left: 38px;
    right: 38px;
    height: 220px;
    z-index: 2;
}

#shome .home-stage {
    position: relative;
    height: 100%;
    border-radius: 30px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.1);
    box-shadow: 0 30px 60px rgba(0,0,0,0.28);
    background: linear-gradient(135deg, rgba(103,24,39,0.9) 0%, rgba(18,22,34,0.96) 100%);
}

#shome .home-stage:before {
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: linear-gradient(90deg, rgba(7,9,16,0.06) 1px, transparent 1px);
    background-size: 48px 48px;
    opacity: 0.18;
}

#shome .home-stage-copy {
    position: absolute;
    left: 34px;
    top: 26px;
    width: 55%;
    z-index: 2;
}

#shome .home-stage-kicker {
    display: flex;
    align-items: center;
    margin-bottom: 12px;
}

#shome .home-stage-kicker > * {
    margin-right: 12px;
}

#shome .home-stage-kicker > *:last-child {
    margin-right: 0;
}

#shome .home-stage-badge {
    display: inline-block;
    padding: 7px 12px;
    border-radius: 999px;
    background: rgba(255,91,114,0.2);
    border: 1px solid rgba(255,120,142,0.36);
    color: #ffd8df;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 1.4px;
}

#shome .home-stage-eyebrow {
    color: rgba(255,236,221,0.84);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1.1px;
    text-transform: uppercase;
}

#shome .home-stage-title {
    color: #ffffff;
    font-size: 44px;
    line-height: 0.96;
    font-weight: 900;
    letter-spacing: -0.8px;
    max-width: 560px;
    max-height: 86px;
    overflow: hidden;
}

#shome .home-stage-meta {
    margin-top: 12px;
    color: rgba(255,222,198,0.88);
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.8px;
}

#shome .home-stage-desc {
    margin-top: 10px;
    width: 520px;
    color: rgba(255,255,255,0.82);
    font-size: 15px;
    line-height: 1.42;
    max-height: 44px;
    overflow: hidden;
}

#shome .home-stage-stats {
    display: flex;
    margin-top: 18px;
}

#shome .home-stage-stat {
    min-width: 96px;
    padding: 11px 14px;
    margin-right: 12px;
    border-radius: 18px;
    background: rgba(9,13,21,0.5);
    border: 1px solid rgba(255,255,255,0.08);
    box-sizing: border-box;
}

#shome .home-stage-stat:last-child {
    margin-right: 0;
}

#shome .home-stage-stat span {
    display: block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1.2px;
    color: rgba(255,219,188,0.72);
}

#shome .home-stage-stat strong {
    display: block;
    margin-top: 4px;
    font-size: 22px;
    font-weight: 900;
    color: #ffffff;
}

#shome .home-stage-visual {
    position: absolute;
    right: 24px;
    top: 24px;
    width: 360px;
    height: 172px;
    border-radius: 26px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.04);
}

#shome .home-stage-visual-base,
#shome .home-stage-visual-art,
#shome .home-stage-visual-glow {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

#shome .home-stage-visual-art {
    background-position: center center;
    background-size: cover;
    opacity: 0.78;
}

#shome .home-stage-visual-glow {
    background:
        radial-gradient(circle at 70% 30%, rgba(255,255,255,0.28), rgba(255,255,255,0) 34%),
        linear-gradient(180deg, rgba(6,8,13,0.08) 0%, rgba(6,8,13,0.36) 56%, rgba(6,8,13,0.72) 100%);
}

#shome .home-stage-logo-shell {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 218px;
    height: 104px;
    margin-left: -109px;
    margin-top: -52px;
    border-radius: 24px;
    background: rgba(10,12,18,0.45);
    border: 1px solid rgba(255,255,255,0.12);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.04);
}

#shome .home-stage-logo-fallback {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,0.34);
    font-size: 28px;
    font-weight: 900;
    letter-spacing: 1.6px;
}

#shome .home-stage-logo-img {
    position: absolute;
    left: 50%;
    top: 50%;
    max-width: 176px;
    max-height: 74px;
    transform: translate(-50%, -50%);
}

#shome .home-stage-wordmark {
    position: absolute;
    left: 28px;
    bottom: 30px;
    color: rgba(255,255,255,0.92);
    font-size: 30px;
    font-weight: 900;
    letter-spacing: 1px;
}

#shome .home-stage-visual-note {
    position: absolute;
    left: 22px;
    bottom: 18px;
    color: rgba(255,255,255,0.78);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
}

#shome .home-stage-dots {
    position: absolute;
    right: 34px;
    bottom: 22px;
    display: flex;
    z-index: 2;
}

#shome .home-hero-dot {
    width: 9px;
    height: 9px;
    margin-right: 9px;
    border-radius: 999px;
    background: rgba(255,255,255,0.28);
}

#shome .home-hero-dot:last-child {
    margin-right: 0;
}

#shome .home-hero-dot.active {
    width: 26px;
    background: #ff5b72;
}

#shome .home-rows {
    position: absolute;
    top: 336px;
    left: 38px;
    right: 38px;
    bottom: 18px;
    display: block;
    z-index: 3;
}

#shome .home-row {
    position: relative !important;
    top: auto !important;
    height: auto !important;
    margin-bottom: 16px;
}

#shome .home-row:last-child {
    margin-bottom: 0;
}

#shome .home-row-header {
    display: flex;
    align-items: baseline;
    margin-bottom: 10px;
}

#shome .home-row-caption {
    margin-left: 12px;
}

#shome .home-row-title {
    position: relative;
    padding-left: 14px;
    color: #fff8f5;
    font-size: 20px;
    font-weight: 900;
    letter-spacing: 1.1px;
    text-transform: uppercase;
}

#shome .home-row-title:before {
    content: "";
    position: absolute;
    left: 0;
    top: 4px;
    bottom: 4px;
    width: 4px;
    border-radius: 999px;
    background: linear-gradient(180deg, #ff5b72 0%, #ff8757 100%);
}

#shome .home-row-caption {
    color: rgba(255,255,255,0.58);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.8px;
}

#shome .home-row-track {
    display: block;
    white-space: nowrap;
    font-size: 0;
    overflow: hidden;
}

#shome .home-promo-card,
#shome .home-live-card,
#shome .home-poster-card {
    display: inline-block;
    vertical-align: top;
    margin-right: 14px;
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.1);
    box-sizing: border-box;
    transition: transform 120ms ease, box-shadow 120ms ease, border-color 120ms ease;
}

#shome .home-promo-card:last-child,
#shome .home-live-card:last-child,
#shome .home-poster-card:last-child {
    margin-right: 0;
}

#shome .home-promo-card.focused,
#shome .home-live-card.focused,
#shome .home-poster-card.focused {
    transform: translateY(-3px);
    border-color: rgba(255,113,138,0.94);
    box-shadow: 0 0 0 2px rgba(255,113,138,0.22), 0 18px 30px rgba(0,0,0,0.3);
}

#shome .home-promo-card {
    width: 286px;
    height: 96px;
    border-radius: 22px;
    padding: 16px 18px;
    background: linear-gradient(135deg, #7f1d1d 0%, #111827 100%);
}

#shome .home-promo-art,
#shome .home-promo-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

#shome .home-promo-art {
    background-position: center center;
    background-size: cover;
    opacity: 0.32;
}

#shome .home-promo-overlay {
    background: linear-gradient(90deg, rgba(6,8,13,0.72) 0%, rgba(6,8,13,0.24) 100%);
}

#shome .home-promo-badge,
#shome .home-promo-title,
#shome .home-promo-sub {
    position: relative;
    z-index: 1;
}

#shome .home-promo-badge {
    display: inline-block;
    padding: 5px 10px;
    border-radius: 999px;
    background: rgba(255,255,255,0.12);
    color: rgba(255,248,244,0.92);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 1.2px;
}

#shome .home-promo-title {
    margin-top: 10px;
    color: #ffffff;
    font-size: 21px;
    font-weight: 900;
    letter-spacing: -0.2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#shome .home-promo-sub {
    margin-top: 5px;
    color: rgba(255,255,255,0.78);
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#shome .home-live-card {
    width: 184px;
    height: 82px;
    border-radius: 22px;
    background: rgba(17,20,31,0.84);
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.02);
}

#shome .home-live-icon {
    position: absolute;
    left: 14px;
    top: 14px;
    width: 54px;
    height: 54px;
    border-radius: 16px;
    overflow: hidden;
}

#shome .home-live-fallback {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,0.32);
    font-size: 16px;
    font-weight: 900;
}

#shome .home-live-img {
    position: absolute;
    left: 50%;
    top: 50%;
    max-width: 44px;
    max-height: 34px;
    transform: translate(-50%, -50%);
}

#shome .home-live-copy {
    position: absolute;
    left: 80px;
    right: 12px;
    top: 14px;
}

#shome .home-live-name,
#shome .home-live-sub,
#shome .home-poster-title,
#shome .home-poster-sub {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#shome .home-live-name {
    color: #ffffff;
    font-size: 16px;
    font-weight: 800;
}

#shome .home-live-sub {
    margin-top: 6px;
    color: rgba(255,255,255,0.68);
    font-size: 12px;
    font-weight: 700;
}

#shome .home-live-dot {
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 7px;
    border-radius: 999px;
    background: #ff5b72;
    vertical-align: middle;
}

#shome .home-poster-card {
    width: 132px;
    height: 182px;
    border-radius: 22px;
    background: transparent;
}

#shome .home-poster-surface {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    border-radius: 22px;
    overflow: hidden;
}

#shome .home-poster-art,
#shome .home-poster-gradient {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
}

#shome .home-poster-art {
    background-position: center center;
    background-size: cover;
}

#shome .home-poster-gradient {
    background: linear-gradient(180deg, rgba(6,8,13,0.04) 0%, rgba(6,8,13,0.1) 40%, rgba(6,8,13,0.94) 100%);
}

#shome .home-poster-fallback {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(255,255,255,0.24);
    font-size: 32px;
    font-weight: 900;
    letter-spacing: 2px;
}

#shome .home-poster-badge {
    position: absolute;
    top: 10px;
    right: 10px;
    padding: 5px 8px;
    border-radius: 999px;
    background: rgba(255,245,238,0.88);
    color: #9a3412;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 1px;
}

#shome .home-poster-title,
#shome .home-poster-sub {
    position: absolute;
    left: 12px;
    right: 12px;
    z-index: 1;
}

#shome .home-poster-title {
    bottom: 32px;
    color: #ffffff;
    font-size: 17px;
    font-weight: 800;
}

#shome .home-poster-sub {
    bottom: 14px;
    color: rgba(255,255,255,0.74);
    font-size: 11px;
    font-weight: 700;
}

/* ============ VIVO TV PHOTO MATCH v1042 ============ */
#shome {
    background: linear-gradient(180deg, #839eaf 0%, #7d98a9 100%);
}

#shome .home-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background:
        radial-gradient(circle at 22% 16%, rgba(255,255,255,0.38), rgba(255,255,255,0) 26%),
        radial-gradient(circle at 82% 86%, rgba(255,255,255,0.22), rgba(255,255,255,0) 22%),
        linear-gradient(180deg, #849fb0 0%, #7d98a9 100%);
}

#shome .home-bg:before {
    content: "";
    position: absolute;
    left: 56px;
    top: 44px;
    right: 56px;
    bottom: 46px;
    border-radius: 30px;
    background: rgba(255,255,255,0.14);
    box-shadow: 0 24px 48px rgba(48, 70, 89, 0.18), inset 0 1px 0 rgba(255,255,255,0.18);
}

#shome .home-bg:after,
#shome .home-hero-grid,
#shome .home-stage,
#shome .home-stage-visual,
#shome .home-promo-card,
#shome .home-live-card,
#shome .home-poster-card,
#shome .home-row-title:before {
    display: none !important;
}

#shome .home-top {
    position: absolute;
    top: 62px;
    left: 84px;
    right: 84px;
    height: 42px;
    display: block;
    z-index: 5;
}

#shome .home-brand {
    position: absolute;
    left: 0;
    top: 0;
    width: auto !important;
    height: auto !important;
    margin: 0;
    color: rgba(255,255,255,0.92);
    font-size: 34px;
    font-weight: 700;
    letter-spacing: 0.2px;
    text-shadow: 0 1px 0 rgba(0,0,0,0.08);
}

#shome .home-nav {
    position: absolute;
    left: 50%;
    top: -2px;
    width: 360px;
    margin-left: -180px;
    text-align: center;
    font-size: 0;
}

#shome .home-center-nav {
    display: inline-block;
    padding: 5px;
    border-radius: 999px;
    background: rgba(13, 22, 38, 0.92);
    box-shadow: 0 12px 20px rgba(25, 40, 56, 0.16);
    vertical-align: top;
}

#shome .home-nav-link {
    display: inline-block;
    min-width: 86px;
    margin: 0 2px;
    padding: 9px 14px;
    border: 0;
    border-radius: 999px;
    background: transparent;
    color: rgba(217,223,232,0.7);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0;
    text-transform: none;
    box-shadow: none;
}

#shome .home-nav-link.active {
    background: #0f1729;
    color: #ffffff;
}

#shome .home-nav-link.focused {
    background: rgba(255,255,255,0.14);
    color: #ffffff;
    transform: none;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.16);
}

#shome .home-nav-search {
    display: inline-block;
    width: 32px;
    height: 32px;
    margin-left: 8px;
    border-radius: 999px;
    background: rgba(13, 22, 38, 0.92);
    vertical-align: top;
    position: relative;
    top: 5px;
}

#shome .home-nav-lens {
    position: absolute;
    left: 10px;
    top: 9px;
    width: 9px;
    height: 9px;
    border: 2px solid rgba(255,255,255,0.88);
    border-radius: 999px;
}

#shome .home-nav-lens:after {
    content: "";
    position: absolute;
    right: -5px;
    bottom: -5px;
    width: 7px;
    height: 2px;
    background: rgba(255,255,255,0.88);
    transform: rotate(45deg);
}

#shome .home-clock {
    position: absolute;
    top: -1px;
    right: 0;
    width: 228px;
    height: 44px;
    margin: 0;
    color: inherit;
}

#shome .home-profile-chip {
    position: relative;
    width: 228px;
    height: 44px;
    border-radius: 999px;
    background: rgba(255,255,255,0.24);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.18);
}

#shome .home-profile-logo {
    position: absolute;
    left: 6px;
    top: 6px;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    background: rgba(255,255,255,0.84);
    overflow: hidden;
}

#shome .home-profile-logo img {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 26px;
    height: 20px;
    margin-left: -13px;
    margin-top: -10px;
    object-fit: contain;
}

#shome .home-profile-copy {
    position: absolute;
    left: 48px;
    top: 8px;
    right: 12px;
}

#shome .home-profile-name {
    color: #2f3f4c;
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#shome .home-profile-sub {
    margin-top: 2px;
    color: rgba(47,63,76,0.68);
    font-size: 10px;
    font-weight: 700;
}

#shome .home-hero {
    position: absolute;
    left: 84px;
    right: 84px;
    top: 118px;
    height: 146px;
    z-index: 4;
}

#shome .home-banner-row {
    height: 146px;
    font-size: 0;
    white-space: nowrap;
}

#shome .home-banner-card {
    position: relative;
    display: inline-block;
    vertical-align: top;
    height: 146px;
    overflow: hidden;
    border-radius: 20px;
    border: 1px solid rgba(255,255,255,0.28);
    background: rgba(255,255,255,0.14);
    box-shadow: 0 14px 26px rgba(41, 58, 76, 0.14);
}

#shome .home-banner-left {
    width: 400px;
    margin-right: 16px;
    background: linear-gradient(135deg, #1f5a96 0%, #0f2742 100%);
}

#shome .home-banner-right {
    width: 680px;
    background: linear-gradient(135deg, #afc6e9 0%, #cedcf4 100%);
}

#shome .home-banner-card.focused {
    border-color: rgba(20,29,44,0.88);
    box-shadow: 0 0 0 2px rgba(20,29,44,0.2), 0 16px 28px rgba(41, 58, 76, 0.18);
    transform: translateY(-1px);
}

#shome .home-banner-image,
#shome .home-ad-image-shell,
#shome .home-banner-overlay,
#shome .home-ad-image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

#shome .home-banner-image {
    background-position: center center;
    background-size: cover;
}

#shome .home-banner-fallback {
    background: linear-gradient(135deg, rgba(255,255,255,0.12) 0%, rgba(255,255,255,0.02) 100%);
}

#shome .home-ad-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#shome .home-ad-fallback {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    display: block;
    background: linear-gradient(135deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.02) 100%);
    color: rgba(49,69,88,0.78);
    font-size: 28px;
    font-weight: 800;
    text-align: center;
    line-height: 146px;
}

#shome .home-banner-overlay {
    background: linear-gradient(90deg, rgba(16,32,56,0.82) 0%, rgba(16,32,56,0.38) 58%, rgba(16,32,56,0.08) 100%);
}

#shome .home-banner-overlay-light {
    background: linear-gradient(90deg, rgba(220,231,244,0.08) 0%, rgba(220,231,244,0.14) 34%, rgba(255,255,255,0.1) 100%);
}

#shome .home-banner-copy {
    position: absolute;
    left: 18px;
    right: 18px;
    top: 18px;
    bottom: 18px;
    z-index: 1;
}

#shome .home-banner-copy-light {
    color: #ffffff;
}

#shome .home-banner-brand {
    color: rgba(255,255,255,0.9);
    font-size: 13px;
    font-weight: 700;
}

#shome .home-banner-title {
    margin-top: 2px;
    color: #ffffff;
    font-size: 24px;
    line-height: 1.06;
    font-weight: 800;
    white-space: normal;
}

#shome .home-banner-right .home-banner-title {
    width: 300px;
}

#shome .home-banner-sub {
    margin-top: 10px;
    color: rgba(255,255,255,0.78);
    font-size: 12px;
    font-weight: 600;
}

#shome .home-banner-action {
    position: absolute;
    left: 0;
    bottom: 0;
    color: rgba(255,255,255,0.88);
    font-size: 11px;
    font-weight: 700;
}

#shome .home-banner-play {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin-right: 8px;
    border-radius: 999px;
    background: rgba(8,14,22,0.86);
    vertical-align: middle;
    position: relative;
}

#shome .home-banner-play:after {
    content: "";
    position: absolute;
    left: 6px;
    top: 4px;
    border-top: 4px solid transparent;
    border-bottom: 4px solid transparent;
    border-left: 6px solid #ffffff;
}

#shome .home-rows {
    position: absolute;
    left: 84px;
    right: 84px;
    top: 284px;
    bottom: 64px;
    z-index: 4;
    display: block;
}

#shome .home-channel-strip {
    height: 46px;
    margin-bottom: 18px;
    font-size: 0;
    white-space: nowrap;
}

#shome .home-channel-pill {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 148px;
    height: 46px;
    margin-right: 10px;
    border-radius: 14px;
    background: rgba(255,255,255,0.22);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.18);
}

#shome .home-channel-pill:last-child {
    margin-right: 0;
}

#shome .home-channel-pill.focused {
    background: rgba(255,255,255,0.3);
    box-shadow: 0 0 0 2px rgba(24,34,48,0.16), inset 0 1px 0 rgba(255,255,255,0.22);
}

#shome .home-channel-pill-icon {
    position: absolute;
    left: 10px;
    top: 10px;
    width: 26px;
    height: 26px;
    border-radius: 999px;
    background: rgba(255,255,255,0.68);
    overflow: hidden;
}

#shome .home-channel-pill-fallback {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    color: rgba(46,61,76,0.62);
    font-size: 10px;
    font-weight: 900;
    text-align: center;
    line-height: 26px;
}

#shome .home-channel-pill-logo {
    position: absolute;
    left: 50%;
    top: 50%;
    max-width: 20px;
    max-height: 16px;
    transform: translate(-50%, -50%);
}

#shome .home-channel-pill-text {
    position: absolute;
    left: 44px;
    right: 10px;
    top: 13px;
    color: #3a4a58;
    font-size: 12px;
    font-weight: 700;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#shome .home-movies-wrap {
    position: absolute;
    left: 0;
    right: 0;
    top: 64px;
    bottom: 0;
}

#shome .home-movies-head {
    height: 30px;
}

#shome .home-movies-title {
    color: rgba(255,255,255,0.92);
    font-size: 29px;
    font-weight: 700;
    letter-spacing: 0;
}

#shome .home-movie-grid {
    position: absolute;
    left: 0;
    right: 0;
    top: 42px;
    height: 222px;
    font-size: 0;
    white-space: nowrap;
}

#shome .home-movie-card {
    position: relative;
    display: inline-block;
    vertical-align: top;
    width: 154px;
    height: 222px;
    margin-right: 12px;
    border-radius: 18px;
    overflow: hidden;
    background: rgba(255,255,255,0.18);
    box-shadow: 0 12px 24px rgba(41,58,76,0.12);
}

#shome .home-movie-card:last-child {
    margin-right: 0;
}

#shome .home-movie-card.focused {
    box-shadow: 0 0 0 2px rgba(24,34,48,0.16), 0 14px 24px rgba(41,58,76,0.18);
    transform: translateY(-2px);
}

#shome .home-movie-surface,
#shome .home-movie-art,
#shome .home-movie-gradient {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
}

#shome .home-movie-art {
    background-position: center center;
    background-size: cover;
}

#shome .home-movie-gradient {
    background: linear-gradient(180deg, rgba(8,14,22,0.04) 0%, rgba(8,14,22,0.12) 36%, rgba(8,14,22,0.92) 100%);
}

#shome .home-movie-fallback {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    color: rgba(255,255,255,0.28);
    font-size: 30px;
    font-weight: 900;
    text-align: center;
    line-height: 222px;
}

#shome .home-movie-title,
#shome .home-movie-meta {
    position: absolute;
    left: 10px;
    right: 10px;
    z-index: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#shome .home-movie-title {
    bottom: 28px;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
}

#shome .home-movie-meta {
    bottom: 10px;
    color: rgba(255,255,255,0.78);
    font-size: 10px;
    font-weight: 600;
}

#shome .home-movie-star {
    display: inline-block;
    margin-right: 4px;
    color: #ff9b2f;
}

/* ============ VIVO TV FIXES v1045 ============ */
#shome {
    overflow: hidden;
    -webkit-transform: scale(0.93);
    -webkit-transform-origin: center top;
    transform: scale(0.93);
    transform-origin: center top;
    top: 10px;
}

#shome .home-top {
    left: 94px;
    right: 94px;
}

#shome .home-nav {
    top: 0;
    width: 324px;
    margin-left: -162px;
}

#shome .home-center-nav {
    padding: 5px 6px;
    background: rgba(8,16,30,0.94);
}

#shome .home-nav-link {
    min-width: 96px;
    padding: 10px 18px;
    font-size: 13px;
    color: rgba(255,255,255,0.92);
}

#shome .home-nav-link.active {
    background: #14325a;
    color: #ffffff;
}

#shome .home-nav-link.focused {
    background: #1d4679;
    color: #ffffff;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,0.2), 0 0 0 2px rgba(16,28,44,0.12);
}

#shome .home-clock {
    width: 240px;
    overflow: hidden;
}

#shome .home-profile-chip {
    width: 240px;
    overflow: hidden;
    background: rgba(10,18,31,0.92);
    border: 1px solid rgba(255,255,255,0.16);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.06);
}

#shome .home-profile-logo {
    left: 7px;
    top: 7px;
    width: 30px;
    height: 30px;
    background: rgba(255,255,255,0.96);
}

#shome .home-profile-copy {
    left: 46px;
    right: 12px;
    top: 8px;
}

#shome .home-profile-name {
    color: #ffffff;
    font-size: 10px;
    letter-spacing: 0;
}

#shome .home-profile-sub {
    color: rgba(255,255,255,0.78);
    font-size: 9px;
}

#shome .home-hero {
    left: 94px;
    right: 94px;
}

#shome .home-banner-left {
    width: 368px;
}

#shome .home-banner-right {
    width: 720px;
}

#shome .home-ad-fallback {
    color: rgba(255,255,255,0.84);
    text-shadow: 0 1px 2px rgba(0,0,0,0.18);
}

#shome .home-banner-card.focused {
    box-shadow: 0 0 0 3px rgba(15,25,39,0.14), 0 16px 28px rgba(41,58,76,0.18);
}

#shome .home-rows {
    left: 94px;
    right: 94px;
}

#shome .home-channel-strip {
    height: 56px;
}

#shome .home-channel-pill {
    width: 148px;
    height: 56px;
    background: rgba(12,22,38,0.86);
    border: 1px solid rgba(255,255,255,0.14);
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.05);
}

#shome .home-channel-pill.focused {
    background: rgba(21,40,68,0.98);
    box-shadow: 0 0 0 2px rgba(255,255,255,0.18), 0 12px 22px rgba(17,27,41,0.2);
}

#shome .home-channel-pill-icon {
    left: 8px;
    top: 8px;
    width: 38px;
    height: 38px;
    background: rgba(255,255,255,0.88);
}

#shome .home-channel-pill-fallback {
    line-height: 38px;
    font-size: 12px;
}

#shome .home-channel-pill-logo {
    max-width: 28px;
    max-height: 22px;
}

#shome .home-channel-pill-text {
    left: 52px;
    right: 8px;
    top: 8px;
    height: 34px;
    color: #ffffff;
    font-size: 12px;
    line-height: 15px;
    font-weight: 800;
    white-space: normal;
    overflow: hidden;
    text-shadow: 0 1px 1px rgba(0,0,0,0.16);
}

#shome .home-movies-wrap {
    top: 72px;
}

#shome .home-movie-grid {
    top: 36px;
}

#shome .home-movie-card {
    width: 136px;
    height: 202px;
    margin-right: 12px;
}

#shome .home-movie-card.focused {
    box-shadow: 0 0 0 2px rgba(17,27,41,0.18), 0 14px 24px rgba(41,58,76,0.18);
}

#shome .home-movie-fallback {
    line-height: 202px;
}

#shome .home-movie-title {
    bottom: 30px;
    font-size: 13px;
    color: #ffffff;
}

#shome .home-movie-meta {
    bottom: 12px;
    color: rgba(255,255,255,0.86);
}

/* ============ VIVO TV PLAYLIST SETUP STRAIGHT SAFE v1057 ============ */
#snp .body {
    background: #04060f;
    overflow: hidden;
}

#snp .nop-orb,
#snp .nop-qr-rings,
#snp .nop-qr-scan,
#snp .nop-live-dot,
#snp .nop-count-svg {
    display: none !important;
}

#snp .nop-noise {
    opacity: 0.03 !important;
}

#snp .hdr {
    top: 14px;
    left: 48px;
    right: 48px;
    height: 40px;
    border-radius: 4px !important;
}

#snp .hdr-title,
#snp .hdr-time {
    line-height: 40px;
}

#snp .nop-ticker {
    top: 58px;
    left: 48px;
    right: 48px;
    height: 34px;
    padding: 0 10px;
    border-radius: 4px !important;
    background: rgba(12, 18, 31, 0.88);
    border: 1px solid rgba(99, 140, 255, 0.18);
}

#snp .nop-ticker-live {
    display: none !important;
}

#snp .nop-ticker-rail {
    position: absolute;
    left: 10px;
    right: 10px;
    top: 6px;
    height: 20px;
    overflow: hidden;
}

#snp .nop-ticker-track {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    height: 20px;
    padding: 0 !important;
    white-space: normal !important;
    animation: none !important;
    transform: none !important;
}

#snp .nop-ticker-track span {
    display: block !important;
    min-width: 0 !important;
    height: 20px;
    line-height: 20px;
    padding: 0 10px !important;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap !important;
    text-align: center;
    font-size: 11px;
    letter-spacing: 0.03em;
    border-right: 1px solid rgba(99, 140, 255, 0.16);
}

#snp .nop-ticker-track span:last-child {
    border-right: none;
}

#snp .nop-shell {
    top: 102px;
    left: 48px;
    right: 48px;
    bottom: 66px;
    width: auto !important;
    height: auto !important;
    padding: 22px 22px 16px;
    border-radius: 4px !important;
    background: rgba(9, 14, 26, 0.88);
    border: 1px solid rgba(99, 140, 255, 0.22);
}

#snp .nop-copy {
    width: 688px;
}

#snp .nop-logo {
    width: 94px;
    height: auto;
    margin-bottom: 10px;
}

#snp .nop-pill,
#snp .nop-license,
#snp .nop-mac-card,
#snp .nop-item,
#snp .nop-panel,
#snp .nop-qr-frame,
#snp #nop-setup-url,
#snp .nop-refresh-card,
#snp .ftr,
#snp .fb,
#snp .nop-countdown {
    border-radius: 4px !important;
}

#snp .nop-pill {
    padding: 7px 12px;
    font-size: 11px;
    letter-spacing: 0.05em;
}

#snp .nop-title {
    max-width: 640px;
    margin-top: 12px;
    font-size: 31px;
    line-height: 1.04;
    letter-spacing: 0;
}

#snp .nop-license {
    margin-top: 12px;
    padding: 8px 12px;
    font-size: 11px;
    line-height: 15px;
}

#snp .nop-sub {
    max-width: 620px;
    font-size: 14px;
    line-height: 19px;
}

#snp .nop-main {
    margin-top: 14px;
}

#snp .nop-action {
    margin-top: 14px;
}

#snp .nop-host {
    margin-top: 6px;
    font-size: 18px;
    line-height: 22px;
    word-break: break-word;
}

#snp .nop-mac-card {
    margin-top: 18px;
    width: 632px;
    padding: 16px 18px;
    border: 1px solid rgba(76, 201, 240, 0.26);
    background: rgba(14, 22, 38, 0.9);
    box-shadow: none;
}

#snp .nop-kicker {
    font-size: 11px;
    letter-spacing: 0.08em;
}

#snp #nop-mac-val {
    margin-top: 8px;
    font-size: 29px;
    line-height: 1.05;
}

#snp .nop-grid {
    width: 632px;
    margin-top: 14px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

#snp .nop-item {
    width: auto !important;
    min-height: 76px;
    margin: 0 !important;
    padding: 14px 14px 12px 52px;
    border: 1px solid rgba(99, 140, 255, 0.18);
    background: rgba(14, 22, 38, 0.86);
}

#snp .nop-ic {
    left: 14px;
    top: 14px;
    width: 26px;
    height: 26px;
    line-height: 26px;
    font-size: 13px;
}

#snp .nop-item-title {
    font-size: 16px;
    line-height: 18px;
}

#snp .nop-item-sub {
    margin-top: 4px;
    font-size: 11px;
    line-height: 14px;
}

#snp .nop-panel {
    top: 22px;
    right: 22px;
    width: 344px;
    height: auto;
    min-height: 452px;
    padding: 18px 18px 16px;
    background: rgba(13, 20, 34, 0.94);
    border: 1px solid rgba(99, 140, 255, 0.24);
}

#snp .nop-panel-head {
    position: relative;
    min-height: 46px;
    margin-bottom: 10px;
}

#snp .nop-panel-head-copy {
    padding-right: 112px;
}

#snp .nop-panel-kicker {
    font-size: 15px;
    line-height: 18px;
}

#snp .nop-panel-copy {
    margin-top: 10px;
    font-size: 12px;
    line-height: 16px;
}

#snp .nop-countdown {
    position: absolute;
    top: 0;
    right: 0;
    float: none;
    width: 98px;
    height: auto;
    min-height: 42px;
    padding: 7px 8px;
    text-align: center;
    background: rgba(255, 214, 10, 0.14);
    border: 1px solid rgba(255, 214, 10, 0.32);
    box-shadow: none;
}

#snp .nop-count-copy {
    position: static;
    transform: none;
}

#snp .nop-count-value {
    font-size: 15px;
    line-height: 17px;
}

#snp .nop-count-label {
    margin-top: 2px;
    font-size: 9px;
    line-height: 10px;
    letter-spacing: 0.08em;
}

#snp #nop-setup-url {
    min-height: 34px;
    margin-bottom: 12px;
    padding: 8px 10px;
    font-size: 11px;
    line-height: 15px;
    letter-spacing: 0;
    white-space: normal !important;
    word-break: break-all;
    overflow: hidden;
    background: rgba(7, 12, 22, 0.92);
}

#snp .nop-qr-stage {
    margin: 0;
}

#snp .nop-qr-frame {
    width: 250px;
    height: 250px;
    margin: 0 auto;
    padding: 12px;
    border: 1px solid rgba(76, 201, 240, 0.28);
    background: rgba(9, 14, 24, 0.82);
}

#snp .nop-qr-corner {
    width: 18px;
    height: 18px;
    border-width: 2px;
    border-radius: 0 !important;
}

#snp #nop-qr {
    width: 224px;
    height: 224px;
}

#snp #nop-qr img,
#snp #nop-qr canvas {
    width: 224px !important;
    height: 224px !important;
}

#snp .nop-qr-copy {
    margin-top: 10px;
    font-size: 11px;
    line-height: 15px;
    white-space: normal;
}

#snp .nop-refresh-card {
    margin-top: 12px;
    padding: 10px 12px;
    font-size: 13px;
    line-height: 17px;
    text-align: center;
    box-shadow: 0 0 16px rgba(255, 0, 110, 0.12);
}

#snp .ftr {
    left: 48px;
    right: 48px;
    bottom: 14px;
    height: 38px;
    padding: 0 12px;
    border-radius: 4px !important;
}

#snp .fb {
    height: 38px;
    line-height: 38px;
    font-size: 12px;
}

/* ============ VIVO TV PLAYLIST SETUP HARD SAFE v1058 ============ */
#snp .body {
    top: 48px !important;
    left: 0 !important;
    width: 1280px !important;
    height: 624px !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #04060f !important;
}

#snp .nop-orb,
#snp .nop-noise,
#snp .nop-qr-rings,
#snp .nop-qr-scan,
#snp .nop-live-dot,
#snp .nop-shell:before {
    display: none !important;
}

#snp .nop-ticker,
#snp .nop-shell,
#snp .nop-copy,
#snp .nop-logo,
#snp .nop-pill,
#snp .nop-title,
#snp .nop-license,
#snp .nop-main,
#snp .nop-action,
#snp .nop-host,
#snp .nop-mac-card,
#snp .nop-grid,
#snp .nop-item,
#snp .nop-panel,
#snp .nop-refresh-card,
#snp .ftr {
    opacity: 1 !important;
    animation: none !important;
    transform: none !important;
}

#snp .hdr {
    top: 10px !important;
    left: 32px !important;
    width: 1216px !important;
    height: 40px !important;
    padding: 0 16px !important;
    border-radius: 4px !important;
}

#snp .hdr-title,
#snp .hdr-time {
    line-height: 40px !important;
}

#snp .hdr-title {
    font-size: 16px !important;
}

#snp .hdr-time {
    font-size: 16px !important;
}

#snp .nop-ticker {
    position: absolute !important;
    top: 12px !important;
    left: 32px !important;
    width: 1216px !important;
    height: 28px !important;
    margin: 0 !important;
    border-radius: 4px !important;
    background: rgba(10, 16, 28, 0.9) !important;
    border: 1px solid rgba(89, 126, 220, 0.18) !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

#snp .nop-ticker-live {
    display: none !important;
}

#snp .nop-ticker-rail {
    margin: 0 !important;
    height: 28px !important;
}

#snp .nop-ticker-track {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 0 !important;
    height: 28px !important;
    padding-top: 0 !important;
    white-space: normal !important;
    animation: none !important;
    transform: none !important;
}

#snp .nop-ticker-track span {
    display: block !important;
    min-width: 0 !important;
    height: 28px !important;
    line-height: 28px !important;
    padding: 0 8px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    text-align: center !important;
    font-size: 10px !important;
    letter-spacing: 0.02em !important;
    border-right: 1px solid rgba(89, 126, 220, 0.16) !important;
}

#snp .nop-ticker-track span:last-child {
    border-right: none !important;
}

#snp .nop-shell {
    position: absolute !important;
    top: 52px !important;
    left: 32px !important;
    width: 1216px !important;
    height: 548px !important;
    margin: 0 !important;
    padding: 16px !important;
    border-radius: 4px !important;
    background: rgba(10, 16, 28, 0.94) !important;
    border: 1px solid rgba(89, 126, 220, 0.2) !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

#snp .nop-copy {
    position: absolute !important;
    top: 16px !important;
    left: 16px !important;
    width: 720px !important;
    float: none !important;
    z-index: 2 !important;
}

#snp .nop-logo {
    width: 88px !important;
    height: 54px !important;
    margin: 0 0 8px !important;
    object-fit: contain !important;
}

#snp .nop-pill {
    height: 24px !important;
    line-height: 24px !important;
    padding: 0 10px !important;
    margin: 0 0 10px !important;
    border-radius: 4px !important;
    font-size: 10px !important;
    letter-spacing: 0.06em !important;
}

#snp .nop-title {
    max-width: 620px !important;
    margin: 0 0 10px !important;
    font-size: 28px !important;
    line-height: 30px !important;
    letter-spacing: 0 !important;
}

#snp .nop-license {
    min-height: 28px !important;
    padding: 6px 10px 6px 26px !important;
    margin: 0 0 12px !important;
    border-radius: 4px !important;
    font-size: 11px !important;
    line-height: 16px !important;
    box-shadow: none !important;
}

#snp .nop-license:before {
    left: 10px !important;
    top: 10px !important;
    width: 8px !important;
    height: 8px !important;
}

#snp .nop-sub {
    width: 620px !important;
    font-size: 13px !important;
    line-height: 18px !important;
}

#snp .nop-main {
    margin: 0 0 10px !important;
}

#snp .nop-action {
    margin: 0 0 4px !important;
}

#snp .nop-host {
    max-width: 620px !important;
    font-size: 17px !important;
    line-height: 20px !important;
    margin: 0 0 14px !important;
    text-shadow: none !important;
}

#snp .nop-mac-card {
    width: 620px !important;
    min-height: 92px !important;
    margin: 0 0 12px !important;
    padding: 12px 14px !important;
    border-radius: 4px !important;
    background: rgba(14, 22, 38, 0.92) !important;
    border: 1px solid rgba(76, 201, 240, 0.24) !important;
    box-shadow: none !important;
}

#snp .nop-mac-card:before,
#snp .nop-mac-card:after {
    display: none !important;
}

#snp .nop-kicker {
    margin: 0 0 8px !important;
    font-size: 10px !important;
    letter-spacing: 0.08em !important;
}

#snp #nop-mac-val {
    font-size: 22px !important;
    line-height: 24px !important;
    letter-spacing: 0.5px !important;
}

#snp .nop-grid {
    width: 620px !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 10px !important;
}

#snp .nop-item {
    position: relative !important;
    width: auto !important;
    height: 68px !important;
    margin: 0 !important;
    padding: 10px 12px 10px 46px !important;
    border-radius: 4px !important;
    background: rgba(14, 22, 38, 0.92) !important;
    border: 1px solid rgba(89, 126, 220, 0.18) !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

#snp .nop-ic {
    width: 24px !important;
    height: 24px !important;
    line-height: 24px !important;
    margin: 0 !important;
    position: absolute !important;
    left: 12px !important;
    top: 10px !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    box-shadow: none !important;
}

#snp .nop-item-title {
    font-size: 14px !important;
    line-height: 16px !important;
}

#snp .nop-item-sub {
    margin-top: 3px !important;
    font-size: 10px !important;
    line-height: 13px !important;
}

#snp .nop-panel {
    position: absolute !important;
    top: 16px !important;
    right: 16px !important;
    width: 332px !important;
    height: 516px !important;
    float: none !important;
    padding: 14px !important;
    border-radius: 4px !important;
    background: rgba(14, 22, 38, 0.96) !important;
    border: 1px solid rgba(89, 126, 220, 0.2) !important;
    box-shadow: none !important;
}

#snp .nop-panel-head {
    position: relative !important;
    min-height: 42px !important;
    margin: 0 0 8px !important;
    overflow: visible !important;
}

#snp .nop-panel-head-copy {
    width: 200px !important;
    float: none !important;
    padding-right: 0 !important;
}

#snp .nop-panel-kicker {
    margin: 0 0 4px !important;
    font-size: 15px !important;
    line-height: 17px !important;
}

#snp .nop-panel-copy {
    font-size: 11px !important;
    line-height: 14px !important;
}

#snp .nop-countdown {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    width: 92px !important;
    min-height: 42px !important;
    height: auto !important;
    padding: 6px 6px !important;
    float: none !important;
    border-radius: 4px !important;
    background: rgba(255, 214, 10, 0.16) !important;
    border: 1px solid rgba(255, 214, 10, 0.34) !important;
    box-shadow: none !important;
}

#snp .nop-count-svg {
    display: none !important;
}

#snp .nop-count-copy {
    position: static !important;
    width: auto !important;
    transform: none !important;
    text-align: center !important;
}

#snp .nop-count-value {
    font-size: 12px !important;
    line-height: 14px !important;
}

#snp .nop-count-label {
    margin-top: 2px !important;
    font-size: 8px !important;
    line-height: 9px !important;
    letter-spacing: 0.08em !important;
}

#snp #nop-setup-url {
    min-height: 40px !important;
    margin: 0 0 10px !important;
    padding: 8px 9px !important;
    border-radius: 4px !important;
    font-size: 9px !important;
    line-height: 12px !important;
    white-space: normal !important;
    word-break: break-all !important;
    overflow: hidden !important;
    background: rgba(7, 12, 22, 0.92) !important;
}

#snp .nop-qr-stage {
    width: 302px !important;
    height: 262px !important;
    margin: 0 auto 8px !important;
    border-radius: 4px !important;
    background: rgba(8, 13, 24, 0.96) !important;
    border: 1px solid rgba(76, 201, 240, 0.18) !important;
    box-shadow: none !important;
    overflow: hidden !important;
}

#snp .nop-qr-frame {
    width: 220px !important;
    height: 220px !important;
    margin: 20px auto 0 !important;
    padding: 10px !important;
    border-radius: 4px !important;
    background: rgba(255, 255, 255, 0.02) !important;
    border: 1px solid rgba(76, 201, 240, 0.28) !important;
}

#snp .nop-qr-corner {
    width: 14px !important;
    height: 14px !important;
    border-width: 2px !important;
    border-radius: 0 !important;
}

#snp #nop-qr,
#snp #nop-qr img,
#snp #nop-qr canvas {
    width: 198px !important;
    height: 198px !important;
}

#snp .nop-qr-copy {
    margin-top: 6px !important;
    font-size: 10px !important;
    line-height: 13px !important;
    text-align: left !important;
}

#snp .nop-refresh-card {
    margin-top: 8px !important;
    padding: 9px 10px !important;
    border-radius: 4px !important;
    font-size: 12px !important;
    line-height: 14px !important;
    text-align: center !important;
    box-shadow: none !important;
}

#snp .ftr {
    left: 32px !important;
    bottom: 10px !important;
    width: 1216px !important;
    height: 34px !important;
    padding: 0 10px !important;
    border-radius: 4px !important;
    background: rgba(9, 14, 24, 0.9) !important;
}

#snp .fb {
    height: 34px !important;
    line-height: 34px !important;
    font-size: 11px !important;
}

/* ============ VIVO TV PLAYLIST SETUP TV SAFE PALETTE v1059 ============ */
#snp,
#snp .body,
#snp .nop-shell,
#snp .nop-panel,
#snp .nop-item,
#snp .nop-mac-card,
#snp .nop-ticker,
#snp .ftr {
    color: #f3f6fb !important;
    text-shadow: none !important;
    font-family: 'Segoe UI', Tahoma, sans-serif !important;
}

#snp .hdr,
#snp .nop-ticker,
#snp .nop-shell,
#snp .nop-panel,
#snp .nop-item,
#snp .nop-mac-card,
#snp #nop-setup-url,
#snp .nop-refresh-card,
#snp .ftr {
    background-image: none !important;
    box-shadow: none !important;
}

#snp .body {
    background: #07111f !important;
}

#snp .hdr {
    background: #09101b !important;
    border-color: #28456d !important;
}

#snp .hdr-title {
    font-size: 17px !important;
    font-weight: 700 !important;
}

#snp .hdr-time {
    font-size: 15px !important;
    color: #ffffff !important;
}

#snp .nop-ticker {
    top: 10px !important;
    height: 34px !important;
    background: #0b1524 !important;
    border-color: #243c60 !important;
}

#snp .nop-ticker-rail {
    height: 34px !important;
}

#snp .nop-ticker-track {
    height: 34px !important;
}

#snp .nop-ticker-track span {
    height: 34px !important;
    line-height: 34px !important;
    font-size: 10px !important;
    font-weight: 600 !important;
    color: #d9e4f2 !important;
    border-right-color: #243c60 !important;
}

#snp .nop-shell {
    top: 50px !important;
    height: 500px !important;
    background: #0a1423 !important;
    border-color: #28456d !important;
}

#snp .nop-copy {
    width: 700px !important;
}

#snp .nop-logo {
    width: 82px !important;
    height: 50px !important;
}

#snp .nop-pill {
    background: #4a1735 !important;
    border-color: #8e3c64 !important;
    color: #ffffff !important;
}

#snp .nop-title {
    font-size: 26px !important;
    line-height: 29px !important;
    color: #ffffff !important;
}

#snp .nop-license {
    background: #111a28 !important;
    color: #ffe18a !important;
    border-color: #8a7421 !important;
}

#snp .nop-license.active {
    color: #bfe9ff !important;
    border-color: #2f6d89 !important;
}

#snp .nop-license.expired {
    color: #ffd7d7 !important;
    border-color: #8d4343 !important;
}

#snp .nop-main,
#snp .nop-action,
#snp .nop-qr-copy {
    color: #d8e2ef !important;
}

#snp .nop-host {
    color: #ffffff !important;
}

#snp .nop-mac-card {
    background: #101b2d !important;
    border-color: #2f5c8b !important;
}

#snp .nop-kicker {
    color: #8db5da !important;
    font-family: 'Consolas', 'Courier New', monospace !important;
}

#snp #nop-mac-val,
#snp #nop-setup-url,
#snp .fb,
#snp .nop-count-label {
    font-family: 'Consolas', 'Courier New', monospace !important;
}

#snp #nop-mac-val {
    color: #ffffff !important;
}

#snp .nop-item {
    background: #121c2d !important;
    border-color: #24415f !important;
}

#snp .nop-ic {
    background: #b12379 !important;
    color: #ffffff !important;
}

#snp .nop-item-title {
    color: #ffffff !important;
    font-size: 13px !important;
}

#snp .nop-item-sub {
    color: #9fb0c8 !important;
}

#snp .nop-panel {
    background: #101b2d !important;
    border-color: #28456d !important;
}

#snp .nop-panel-kicker {
    font-size: 14px !important;
    color: #ffffff !important;
}

#snp .nop-panel-copy {
    color: #b8c8db !important;
}

#snp .nop-countdown {
    background: #5e5320 !important;
    border-color: #a89634 !important;
}

#snp .nop-count-value,
#snp .nop-count-label {
    color: #ffffff !important;
}

#snp #nop-setup-url {
    background: #0a1220 !important;
    border-color: #24415f !important;
    color: #dbe8f7 !important;
}

#snp .nop-qr-stage {
    background: #0a1220 !important;
    border-color: #24415f !important;
}

#snp .nop-qr-frame {
    background: #0a1220 !important;
    border-color: #2f5c8b !important;
}

#snp .nop-qr-corner {
    border-color: #4aa6de !important;
}

#snp .nop-refresh-card {
    background: #c2277f !important;
    border: 1px solid #d74da0 !important;
    color: #ffffff !important;
    font-weight: 700 !important;
}

#snp .ftr {
    background: #0b1524 !important;
    border: 1px solid #243c60 !important;
}

#snp .fb {
    color: #ffffff !important;
}

/* ============ VIVO TV PLAYLIST SETUP COMPACT BALANCE v1060 ============ */
#snp .nop-shell {
    top: 48px !important;
    height: 470px !important;
}

#snp .nop-copy {
    width: 732px !important;
}

#snp .nop-title {
    font-size: 24px !important;
    line-height: 27px !important;
    margin-bottom: 8px !important;
}

#snp .nop-sub {
    width: 650px !important;
    font-size: 12px !important;
    line-height: 17px !important;
}

#snp .nop-host {
    max-width: 650px !important;
    font-size: 16px !important;
    line-height: 18px !important;
    margin-bottom: 12px !important;
}

#snp .nop-mac-card {
    width: 710px !important;
    min-height: 82px !important;
    padding: 10px 12px !important;
}

#snp #nop-mac-val {
    font-size: 20px !important;
    line-height: 22px !important;
}

#snp .nop-grid {
    width: 710px !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 8px !important;
}

#snp .nop-item {
    height: 72px !important;
    padding: 8px 8px 8px 38px !important;
}

#snp .nop-ic {
    left: 8px !important;
    top: 8px !important;
    width: 22px !important;
    height: 22px !important;
    line-height: 22px !important;
    font-size: 11px !important;
}

#snp .nop-item-title {
    font-size: 12px !important;
    line-height: 14px !important;
}

#snp .nop-item-sub {
    margin-top: 3px !important;
    font-size: 9px !important;
    line-height: 12px !important;
}

#snp .nop-panel {
    width: 338px !important;
    height: 438px !important;
}

#snp .nop-panel-head-copy {
    width: 186px !important;
}

#snp .nop-countdown {
    width: 96px !important;
}

#snp #nop-setup-url {
    min-height: 36px !important;
    font-size: 10px !important;
    line-height: 13px !important;
}

#snp .nop-qr-stage {
    width: 308px !important;
    height: 228px !important;
}

#snp .nop-qr-frame {
    width: 208px !important;
    height: 208px !important;
    margin-top: 10px !important;
}

#snp #nop-qr,
#snp #nop-qr img,
#snp #nop-qr canvas {
    width: 186px !important;
    height: 186px !important;
}

#snp .nop-qr-copy {
    margin-top: 5px !important;
    font-size: 10px !important;
    line-height: 12px !important;
}

/* ============ VIVO TV PLAYLIST SETUP CLEAN CUT v1061 ============ */
#snp .hdr {
    top: 8px !important;
    left: 48px !important;
    width: 1184px !important;
    height: 24px !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

#snp .hdr-title {
    font-family: 'Segoe UI', Tahoma, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    line-height: 24px !important;
    letter-spacing: 0 !important;
    color: #ffffff !important;
}

#snp .hdr-time {
    font-family: 'Segoe UI', Tahoma, sans-serif !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    line-height: 24px !important;
    color: #ffffff !important;
}

#snp .nop-ticker,
#snp .ftr {
    display: none !important;
}

#snp .body {
    top: 28px !important;
    height: 692px !important;
    background: #08111e !important;
}

#snp .nop-shell {
    top: 8px !important;
    height: 620px !important;
}

#snp .nop-copy {
    top: 18px !important;
    left: 20px !important;
    width: 736px !important;
}

#snp .nop-logo {
    width: 74px !important;
    height: 46px !important;
    margin-bottom: 10px !important;
}

#snp .nop-pill {
    margin-bottom: 12px !important;
}

#snp .nop-title {
    font-family: 'Segoe UI', Tahoma, sans-serif !important;
    font-size: 22px !important;
    line-height: 25px !important;
    font-weight: 700 !important;
    margin-bottom: 10px !important;
}

#snp .nop-main,
#snp .nop-action {
    font-size: 12px !important;
    line-height: 17px !important;
}

#snp .nop-host {
    font-family: 'Segoe UI', Tahoma, sans-serif !important;
    font-size: 14px !important;
    line-height: 17px !important;
    font-weight: 700 !important;
}

#snp .nop-mac-card {
    width: 712px !important;
    min-height: 78px !important;
    margin-bottom: 10px !important;
}

#snp .nop-kicker {
    font-size: 9px !important;
    line-height: 11px !important;
}

#snp #nop-mac-val {
    font-family: 'Segoe UI', Tahoma, sans-serif !important;
    font-size: 19px !important;
    line-height: 21px !important;
    font-weight: 700 !important;
    letter-spacing: 1px !important;
}

#snp .nop-grid {
    width: 712px !important;
    gap: 10px !important;
}

#snp .nop-panel {
    top: 18px !important;
    right: 18px !important;
    width: 344px !important;
    height: 490px !important;
}

#snp .nop-panel-head-copy {
    width: 190px !important;
}

#snp .nop-panel-kicker {
    font-family: 'Segoe UI', Tahoma, sans-serif !important;
    font-size: 15px !important;
    font-weight: 700 !important;
}

#snp #nop-setup-url {
    min-height: 34px !important;
    font-size: 11px !important;
    line-height: 14px !important;
    font-weight: 600 !important;
}

#snp .nop-qr-stage {
    height: 238px !important;
}

#snp .nop-qr-frame {
    width: 214px !important;
    height: 214px !important;
}

#snp #nop-qr,
#snp #nop-qr img,
#snp #nop-qr canvas {
    width: 192px !important;
    height: 192px !important;
}

/* ============ VIVO TV PLAYLIST SETUP CENTER FIX v1062 ============ */
#snp {
    background: #08111e !important;
}

#snp .body {
    top: 0 !important;
    height: 720px !important;
    background: #08111e !important;
}

#snp .hdr {
    top: 10px !important;
    left: 44px !important;
    width: 1192px !important;
}

#snp .nop-shell {
    top: 44px !important;
    left: 32px !important;
    width: 1216px !important;
    height: 612px !important;
}

#snp .nop-copy {
    top: 22px !important;
    left: 22px !important;
    width: 734px !important;
}

#snp .nop-title {
    font-size: 23px !important;
    line-height: 26px !important;
}

#snp .nop-mac-card {
    width: 712px !important;
    min-height: 86px !important;
    text-align: center !important;
}

#snp .nop-kicker {
    text-align: center !important;
}

#snp #nop-mac-val {
    display: block !important;
    width: 100% !important;
    text-align: center !important;
    font-size: 20px !important;
    line-height: 22px !important;
    letter-spacing: 1.3px !important;
}

#snp .nop-grid {
    width: 712px !important;
    justify-content: center !important;
}

#snp .nop-item {
    text-align: center !important;
    padding: 10px 8px !important;
}

#snp .nop-ic {
    position: static !important;
    display: inline-block !important;
    margin: 0 auto 5px !important;
}

#snp .nop-item-title,
#snp .nop-item-sub {
    text-align: center !important;
}

#snp .nop-panel {
    top: 22px !important;
    right: 22px !important;
    width: 352px !important;
    height: 510px !important;
}

#snp .nop-refresh-card {
    background: #d43d4f !important;
    border: 1px solid #ea5c69 !important;
    color: #ffffff !important;
}

#snp .nop-pill {
    background: #6a1e3d !important;
    border-color: #944166 !important;
}
