/* GERADO por tools/build-css.js a partir de app.src.css. Não edite aqui. */
/* Tela fixa de 1920x1080, ampliada ou reduzida para caber na janela. Margens de 96px (área segura).
   ARQUIVO-FONTE: edite este e gere css/app.css com tools/build-css.js. O app.css gerado não usa variáveis,
   grid, gap nem inset, porque as TVs Samsung de 2016 a 2021 não entendem esses recursos.
   Aqui também não use grid, gap nem inset: espaçamento entre itens é margem nos filhos. */
:root {
  --bg: #0A0A0C; --surf: #141416; --surf2: #1E1E22; --ink: #F5F5F5; --mut: #A3A3AB; --acc: #E50914; --danger: #EF4444;
  --display: "Sora", "SamsungOne",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, sans-serif; --body: "Figtree", "SamsungOne",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, sans-serif;
  --safe-x: 96px;
  --lv-bg: #0E0E11; --lv-card: #19191D; --lv-acc: #E50914; --lv-amber: #F5B83D;
}
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; background: #000; overflow: hidden; }
#stage { position: absolute; width: 1920px; height: 1080px; -webkit-transform-origin: 0 0; transform-origin: 0 0; background: #0A0A0C; color: #F5F5F5;
  font: 500 28px/1.35 "Figtree", "SamsungOne",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, sans-serif; overflow: hidden; }
[hidden] { display: none !important; }
button { font: inherit; color: inherit; border: 0; background: none; }
h1, h2 { font-family: "Sora", "SamsungOne",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, sans-serif; margin: 0; }
.muted { color: #A3A3AB; } .small { font-size: 22px; } .accent { color: #E50914; font-weight: 700; }
.err { color: #FCA5A5; }
.eyebrow { margin: 0 0 8px; font-size: 22px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #E50914; }

/* Foco: borda branca + brilho, igual em todo o app */
[data-f] { outline: none; transition: box-shadow .12s ease, background .12s ease, -webkit-transform .12s ease; transition: transform .12s ease, box-shadow .12s ease, background .12s ease; transition: transform .12s ease, box-shadow .12s ease, background .12s ease, -webkit-transform .12s ease; }
.focused { box-shadow: 0 0 0 5px #fff, 0 0 28px 6px rgba(229,9,20,.55) !important; }

/* Barra superior (Início): menu em pílula flutuando sobre o destaque; data, hora e Conta à direita.
   Sem desfoque (backdrop-filter): nas TVs de 2016 a 2018 ele pesa; a pílula usa cor quase sólida. */
#topbar { position: absolute; z-index: 5; left: 0; right: 0; top: 0; height: 190px; padding: 44px 96px 0;
  display: -webkit-flex;
  display: flex; -webkit-align-items: flex-start; align-items: flex-start; background: linear-gradient(rgba(10,10,12,.82), rgba(10,10,12,0)); }
#topbar.solid { background: linear-gradient(#0A0A0C 72%, rgba(10,10,12,0)); }
.tb-pill { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; height: 92px; padding: 0 12px 0 22px; border-radius: 46px; background: rgba(20,20,23,.88); border: 2px solid rgba(255,255,255,.1); }
.brand > * + * { margin-left: 14px; }
.brand { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; font: 700 30px "Sora", "SamsungOne",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, sans-serif; white-space: nowrap; }
.brand-mark { width: 64px; height: 64px; border-radius: 16px; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; background: linear-gradient(135deg, #E50914, #9B0710);
  font: 700 36px "Sora", "SamsungOne",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, sans-serif; color: #fff; }
.tb-pill .brand-mark { width: 54px; height: 54px; border-radius: 14px; font-size: 30px; }
.tb-pill .brand-logo.top { max-height: 54px; max-width: 260px; }
.brand-mark.big { width: 110px; height: 110px; font-size: 64px; border-radius: 24px; }
.tb-sep { width: 2px; height: 44px; background: rgba(255,255,255,.18); margin: 0 14px 0 26px; }
#menu { display: -webkit-flex; display: flex; }
.menu-item + .menu-item { margin-left: 6px; }
.menu-item { height: 68px; padding: 0 30px; border-radius: 34px; color: rgba(245,245,245,.82); font-size: 28px; font-weight: 600; }
.menu-item.on { background: #E50914; color: #fff; font-weight: 700; box-shadow: 0 8px 26px rgba(229,9,20,.45); }
.menu-item.focused { background: rgba(255,255,255,.16); color: #F5F5F5; box-shadow: 0 0 0 4px #fff !important; }
.menu-item.on.focused { background: #E50914; color: #fff; box-shadow: 0 0 0 4px #fff, 0 8px 26px rgba(229,9,20,.55) !important; }
.tb-right { margin-left: auto !important; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; height: 92px; }
.tb-date { font-size: 28px; color: rgba(245,245,245,.9); white-space: nowrap; }
.clock { color: #F5F5F5; font-size: 28px; font-weight: 700; margin-left: 18px; -webkit-font-feature-settings: "tnum"; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.tb-ic { width: 76px; height: 76px; margin-left: 30px; border-radius: 50%; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; background: rgba(20,20,23,.88); border: 2px solid rgba(255,255,255,.2); color: #F5F5F5; }
.tb-ic.focused { background: #E50914; border-color: #E50914; box-shadow: 0 0 0 4px #fff !important; }

#screen { position: absolute; top: 0; right: 0; bottom: 0; left: 0; }
.page { position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; padding: 150px 0 60px; }
.center { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; }
.center.col { -webkit-flex-direction: column; flex-direction: column; }
.center.col > * + * { margin-top: 24px; }
.spinner { width: 72px; height: 72px; border-radius: 50%; border: 6px solid #1E1E22; border-top-color: #E50914; -webkit-animation: spin 1s linear infinite; animation: spin 1s linear infinite; }
@-webkit-keyframes spin { to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }
@keyframes spin { to { -webkit-transform: rotate(360deg); transform: rotate(360deg); } }

/* Botões */
.btn { padding: 0 34px; height: 72px; border-radius: 36px; background: rgba(255,255,255,.14); font-weight: 600; white-space: nowrap; }
.btn.primary { background: #F5F5F5; color: #0A0A0C; font-weight: 700; }
.btn.danger { background: rgba(239,68,68,.25); }
.actions { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; margin-bottom: -20px; }
.actions > * { margin: 0 20px 20px 0; }

/* Destaque */
.hero { position: relative; margin: 0 96px 40px; height: 480px; border-radius: 24px; overflow: hidden; background: #141416; }
.hero-bg, .detail-bg { position: absolute; top: 0; right: 0; bottom: 0; left: 0; background-size: cover; background-position: center; }
.hero-bg.blur, .detail-bg.blur { -webkit-filter: blur(36px) brightness(.55) saturate(1.2); filter: blur(36px) brightness(.55) saturate(1.2); -webkit-transform: scale(1.2); transform: scale(1.2); }
.hero-shade { position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: linear-gradient(90deg, rgba(10,10,12,.94) 0%, rgba(10,10,12,.6) 55%, rgba(10,10,12,.15) 85%); }
.hero-poster { position: absolute; right: 64px; top: 60px; width: 240px; height: 360px; border-radius: 16px; background-size: cover; background-position: center; box-shadow: 0 18px 50px rgba(0,0,0,.55); }
.hero-body { position: relative; padding: 48px 64px; max-width: 1150px; }
/* Pontinhos dos destaques (passam sozinhos) */
.hero-dots { position: absolute; right: 64px; top: 22px; }
.hero-dots i { display: inline-block; width: 12px; height: 12px; margin-left: 10px; border-radius: 6px; background: rgba(255,255,255,.4); transition: width .3s; }
.hero-dots i.on { width: 34px; background: #fff; }
/* Logo do revendedor */
.brand-logo { display: block; width: auto; height: auto; }
.brand-logo.top { max-height: 64px; max-width: 360px; }
.brand-logo.sm { max-height: 40px; max-width: 200px; }
.hero h1 { font-size: 64px; line-height: 1.05; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.meta { color: #A3A3AB; margin: 12px 0; }
.plot { margin: 0 0 28px; max-width: 900px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* Fileiras e capas */
.row { margin-bottom: 36px; }
.row h2 { font-size: 34px; font-weight: 600; margin: 0 96px 18px; }
.row-items { display: -webkit-flex; display: flex; overflow: hidden; padding: 14px 96px 20px; }
.row-items > * + * { margin-left: 32px; }
.poster { -webkit-flex: none; flex: none; width: 220px; border-radius: 14px; }
.poster .art { position: relative; height: 330px; border-radius: 14px; background-size: cover; background-position: center; overflow: hidden; }
.poster.wide { width: 400px; } .poster.wide .art { height: 225px; }
.poster.focused { -webkit-transform: scale(1.06); transform: scale(1.06); box-shadow: none !important; }
.poster.focused .art { box-shadow: 0 0 0 5px #fff, 0 0 28px 6px rgba(229,9,20,.55); }
.art-title { position: absolute; left: 16px; right: 16px; bottom: 22px; font: 700 26px/1.15 "Sora", "SamsungOne",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, sans-serif; text-shadow: 0 2px 8px rgba(0,0,0,.6); }
.poster .fav { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; border-radius: 50%; background: rgba(0,0,0,.6); color: #FACC15; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; font-size: 24px; }
.bar { position: absolute; left: 14px; right: 14px; bottom: 12px; height: 8px; border-radius: 4px; background: rgba(255,255,255,.25); overflow: hidden; }
.bar i { display: block; height: 100%; background: #E50914; border-radius: 4px; }
.bar.big { position: relative; left: 0; right: 0; bottom: 0; height: 10px; margin: 20px 0; max-width: 700px; }
.cap { margin-top: 14px; font-weight: 600; font-size: 26px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sub { color: #A3A3AB; font-size: 22px; }

/* Grade */
.grid-screen { position: absolute; top: 0; right: 0; bottom: 0; left: 0; padding: 170px 96px 0; display: -webkit-flex; display: flex; }
.grid-screen > .cats { -webkit-flex: none; flex: none; width: 380px; }
.grid-screen > .grid-main { -webkit-flex: 1; flex: 1; margin-left: 56px; }
.cats { overflow: hidden; padding: 6px 8px 40px; height: 860px; }
.cat { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; padding: 14px 22px; border-radius: 12px; color: #A3A3AB; margin-bottom: 6px; }
.cat.on { background: #1E1E22; color: #F5F5F5; font-weight: 700; box-shadow: inset 6px 0 0 #E50914; }
.cat .n { -webkit-font-feature-settings: "tnum"; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; -webkit-flex: none; flex: none; margin-left: 12px; }
/* Nome de categoria longo: uma linha só, cortado com reticências */
.cats .cat > .cat-name, .cat .cat-name { -webkit-flex: 1 1 auto; flex: 1 1 auto; min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.cat-ic { -webkit-flex: none; flex: none; }
.grid-main { min-width: 0; }
.grid-head { display: -webkit-flex; display: flex; -webkit-align-items: baseline; align-items: baseline; margin-bottom: 18px; }
.grid-head > * + * { margin-left: 20px; }
.grid-head h1 { font-size: 48px; }
/* 5 capas por linha: 5 x 220 + 4 x 34 */
.grid { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-align-content: flex-start; align-content: flex-start; width: 1264px; height: 780px; overflow: hidden; padding: 14px 14px 40px; box-sizing: content-box; }
.grid > .poster { margin: 0 34px 36px 0; }
.grid > .poster:nth-child(5n) { margin-right: 0; }
.empty { margin-top: 40px; max-width: 800px; }

.hint { color: #A3A3AB; font-size: 24px; margin-top: 18px; }
.key { display: inline-block; min-width: 44px; padding: 2px 10px; margin-right: 6px; border-radius: 8px; background: rgba(255,255,255,.16); color: #F5F5F5; font-weight: 700; font-size: 20px; text-align: center; }

/* Detalhe */
.detail { position: absolute; top: 0; right: 0; bottom: 0; left: 0; overflow: hidden; }
.detail-shade { position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: linear-gradient(90deg, #0A0A0C 0%, rgba(10,10,12,.92) 45%, rgba(10,10,12,.45) 85%), linear-gradient(0deg, #0A0A0C 5%, transparent 55%); }
.detail-body { padding-top: 120px; }
.detail-top > * + * { margin-left: 56px; }
.detail-top { display: -webkit-flex; display: flex; margin: 0 192px 48px; -webkit-align-items: flex-start; align-items: flex-start; }
.detail-poster { position: relative; -webkit-flex: none; flex: none; width: 300px; height: 450px; border-radius: 18px; background-size: cover; background-position: center; box-shadow: 0 20px 60px rgba(0,0,0,.6); overflow: hidden; }
.detail-text { min-width: 0; max-width: 1150px; }
.detail-text h1 { font-size: 68px; line-height: 1.05; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.detail-text .plot { -webkit-line-clamp: 4; }
.credits { font-size: 22px; margin: -12px 0 28px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.credits:empty { display: none; }
.ep-plot { margin: 0 192px 24px; height: 98px; font-size: 24px; max-width: 1400px; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.detail-body .row h2, .detail-body .row-items { padding-left: 192px; margin-left: 0; }
.detail-body .row-items { padding-top: 22px; }
.badge { display: inline-block; border: 2px solid rgba(255,255,255,.5); border-radius: 6px; padding: 0 10px; margin-left: 8px; font-weight: 700; color: #F5F5F5; }

/* Ativação: QR Code para o teste grátis + MAC e chave para o revendedor */
.act { position: absolute; top: 0; right: 0; bottom: 0; left: 0; padding: 64px 128px; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column;
  background: linear-gradient(115deg, rgba(229,9,20,.16) 0%, transparent 38%), linear-gradient(295deg, rgba(155,7,16,.22) 0%, transparent 45%), #0A0A0C; }
.act-top { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: space-between; justify-content: space-between; height: 72px; }
.act-clock { font: 700 40px "Sora", "SamsungOne",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, sans-serif; color: #A3A3AB; }
.act-panel { -webkit-flex: 1; flex: 1; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; }
.act-qr { -webkit-flex: none; flex: none; text-align: center; margin-right: 110px; }
.qr-frame { display: inline-block; padding: 30px; border-radius: 36px; background: #fff; box-shadow: 0 30px 80px rgba(0,0,0,.45), 0 0 0 10px rgba(229,9,20,.18); }
.qr-img { display: block; image-rendering: pixelated; }
.act-qr p { margin: 30px 0 0; font-size: 26px; font-weight: 600; color: #A3A3AB; }
.act-info { -webkit-flex: none; flex: none; width: 1000px; }
.act-info h1 { font-size: 76px; line-height: 1.05; margin-bottom: 40px; }
.act-steps { list-style: none; margin: 0 0 48px; padding: 0; }
.act-steps li { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; font-size: 32px; }
.act-steps li + li { margin-top: 22px; }
.act-steps i { -webkit-flex: none; flex: none; width: 54px; height: 54px; line-height: 48px; margin-right: 24px; border-radius: 50%; text-align: center; font: 700 26px "Sora", "SamsungOne",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, sans-serif; font-style: normal;
  color: #E50914; border: 3px solid rgba(229,9,20,.55); }
.act-ids { display: -webkit-flex; display: flex; }
.act-id { padding: 20px 30px; border-radius: 20px; background: rgba(255,255,255,.06); border: 2px solid rgba(255,255,255,.1); }
.act-id + .act-id { margin-left: 22px; }
.act-id span { display: block; font-size: 20px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: #A3A3AB; }
.act-id b { display: block; margin-top: 6px; white-space: nowrap; font: 700 46px "Sora", "SamsungOne",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, sans-serif; letter-spacing: .03em; }
.act-id.key b { color: #E50914; letter-spacing: .1em; }
.act-status { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; margin: 36px 0 0; font-size: 26px; color: #A3A3AB; }
.act-status .pulse { -webkit-flex: none; flex: none; width: 16px; height: 16px; margin-right: 16px; border-radius: 50%; background: #E50914; -webkit-animation: pulse 1.6s ease-in-out infinite; animation: pulse 1.6s ease-in-out infinite; }
.act-status.err { color: #FCA5A5; }
.act-status.err .pulse { background: #EF4444; -webkit-animation: none; animation: none; }
@-webkit-keyframes pulse { 0%, 100% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } 50% { opacity: .35; -webkit-transform: scale(.7); transform: scale(.7); } }
@keyframes pulse { 0%, 100% { opacity: 1; -webkit-transform: scale(1); transform: scale(1); } 50% { opacity: .35; -webkit-transform: scale(.7); transform: scale(.7); } }
.act.over .act-steps, .act.over .act-qr { display: none; }
.act.over .eyebrow { color: #EF4444; }
.act-foot { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; font-size: 22px; color: #A3A3AB; }
.act-foot b { color: #F5F5F5; }
/* Carregando: logo (com o ✓ de acesso liberado na primeira vez), círculo e texto */
.boot { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center;
  background: radial-gradient(circle at 50% 42%, rgba(229,9,20,.16), transparent 50%), #0A0A0C; }
.boot > * + * { margin-top: 34px; }
.boot h1 { font-size: 64px; }
.boot p { margin-top: 26px; font-size: 28px; }
.boot-check { display: inline-block; vertical-align: middle; margin-right: 22px; }
.boot-check svg { display: block; width: 72px; height: 72px; fill: none; stroke-width: 4.5; stroke-linecap: round; stroke-linejoin: round; }
.boot-check circle { stroke: #34D399; stroke-dasharray: 150; stroke-dashoffset: 150; -webkit-animation: draw .6s ease-out forwards; animation: draw .6s ease-out forwards; }
.boot-check path { stroke: #34D399; stroke-dasharray: 40; stroke-dashoffset: 40; -webkit-animation: draw .4s .5s ease-out forwards; animation: draw .4s .5s ease-out forwards; }
.boot-ok { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; font-size: 56px; }
.brand-logo.boot-logo { max-height: 170px; max-width: 560px; -webkit-animation: bootIn .5s ease-out both; animation: bootIn .5s ease-out both; }
@-webkit-keyframes bootIn { from { opacity: 0; -webkit-transform: scale(.92); transform: scale(.92); } to { opacity: 1; -webkit-transform: none; transform: none; } }
@keyframes bootIn { from { opacity: 0; -webkit-transform: scale(.92); transform: scale(.92); } to { opacity: 1; -webkit-transform: none; transform: none; } }
@-webkit-keyframes draw { to { stroke-dashoffset: 0; } }
@keyframes draw { to { stroke-dashoffset: 0; } }
.device { position: absolute; left: 192px; bottom: 80px; }

/* Diálogo e aviso */
#dialog { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 20; background: rgba(0,0,0,.7); display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; }
.dialog-box { width: 820px; background: #141416; border-radius: 28px; padding: 56px; }
.dialog-box > * + * { margin-top: 24px; }
.dialog-box h2 { font-size: 44px; }
.dialog-box label { display: block; color: #A3A3AB; }
.dialog-box input { font: inherit; color: #F5F5F5; background: #1E1E22; border: 0; border-radius: 14px; padding: 18px 22px; outline: none; display: block; width: 100%; margin-top: 10px; }
#toast { position: absolute; z-index: 30; left: 50%; bottom: 80px; -webkit-transform: translateX(-50%); transform: translateX(-50%); background: #F5F5F5; color: #0A0A0C; padding: 18px 36px; border-radius: 36px; font-weight: 700; }

/* Vídeo: camada embaixo da interface */
#media { position: absolute; top: 0; right: 0; bottom: 0; left: 0; pointer-events: none; }
#media video { background: #000; object-fit: contain; }
#screen { z-index: 1; }
body.media-on, body.media-on #stage { background: transparent; }
html.media-on { background: transparent; }
body.media-full #screen, body.media-full #topbar { visibility: hidden; }

/* Player */
#player { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 10; background: transparent; }
.osd { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-justify-content: space-between; justify-content: space-between; padding: 72px 96px 56px;
  background: linear-gradient(rgba(0,0,0,.75), transparent 28%, transparent 55%, rgba(0,0,0,.85)); opacity: 0; transition: opacity .3s; }
.osd.show { opacity: 1; }
.osd h1 { font-size: 56px; max-width: 1500px; }
.osd-bottom { margin-top: auto; }
.live-bottom { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
.live-bottom > * + * { margin-left: 48px; }
.live-bottom .hint { margin: 0 0 0 48px; }
.seek-wrap { margin: 0 8px; }
.seek { position: relative; height: 10px; border-radius: 5px; background: rgba(255,255,255,.25); }
.seek i { position: absolute; left: 0; top: 0; bottom: 0; background: #E50914; border-radius: 5px; }
.seek b { position: absolute; top: 50%; width: 30px; height: 30px; border-radius: 50%; background: #fff; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); box-shadow: 0 2px 10px rgba(0,0,0,.5); }
.balloon { position: absolute; bottom: 34px; -webkit-transform: translateX(-50%); transform: translateX(-50%); background: #F5F5F5; color: #0A0A0C; font-weight: 700; padding: 8px 18px; border-radius: 12px; white-space: nowrap; -webkit-font-feature-settings: "tnum"; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.times { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; margin-top: 16px; -webkit-font-feature-settings: "tnum"; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; color: #A3A3AB; }
.ctrls { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; margin-top: 8px; }
.ctrl + .ctrl { margin-left: 56px; }
.ctrl { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: center; align-items: center; cursor: pointer; }
.ctrl .lb { margin-top: 8px; }
.ctrl .ic { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; width: 96px; height: 96px; border-radius: 50%; background: rgba(255,255,255,.16); font-size: 36px; }
.ctrl.main .ic { width: 112px; height: 112px; background: #F5F5F5; color: #0A0A0C; font-size: 40px; }
.ctrl .lb { font-size: 22px; font-weight: 600; }
.ctrl.focused { box-shadow: none !important; }
.ctrl.focused .ic { box-shadow: 0 0 0 5px #fff, 0 0 28px 6px rgba(229,9,20,.55); -webkit-transform: scale(1.08); transform: scale(1.08); }
.ctrl.focused .lb { color: #fff; }
.ctrl-hint { text-align: center; margin: 18px 0 0; }
/* Próximo episódio: cartão no canto de baixo, faltando 30 s para acabar. Com os controles abertos, sobe para cima deles. */
.nxe { position: absolute; right: 96px; bottom: 72px; z-index: 3; width: 600px; padding: 20px; border-radius: 20px; background: rgba(14,14,16,.94);
  box-shadow: 0 16px 48px rgba(0,0,0,.6); transition: bottom .3s; }
.osd.show ~ .nxe { bottom: 400px; }
.nxe-pic { float: left; position: relative; width: 176px; height: 99px; border-radius: 12px; background-size: cover; background-position: center; background-color: #222; }
.nxe-pic span { position: absolute; left: 8px; bottom: 8px; padding: 3px 9px; border-radius: 7px; background: rgba(0,0,0,.75); font-size: 17px; font-weight: 700; }
.nxe-tx { margin-left: 196px; min-height: 99px; }
.nxe-tx .eyebrow { margin: 2px 0 4px; font-size: 17px; }
.nxe-tx h3 { font-size: 27px; line-height: 1.15; margin: 0; max-height: 62px; overflow: hidden; }
.nxe-tx .muted { margin: 6px 0 0; font-size: 19px; }
.nxe-btns { clear: both; display: -webkit-flex; display: flex; padding-top: 16px; }
.nxe-btns .btn { -webkit-flex: 1; flex: 1; font-size: 20px; height: 56px; padding: 0 18px; }
.nxe-btns .btn + .btn { margin-left: 12px; -webkit-flex: none; flex: none; }
.btn.nxe-go { position: relative; overflow: hidden; }
.nxe-sec { opacity: .7; margin-left: 6px; -webkit-font-feature-settings: "tnum"; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
/* Menu do OK no ao vivo em tela cheia: fileira de botões, lista de canais e programação do lado, zoom. */
.osd.okm { background: linear-gradient(rgba(0,0,0,.8), transparent 26%, transparent 40%, rgba(0,0,0,.92)); }
.okbar { display: -webkit-flex; display: flex; margin: 6px 0 4px; }
.okb { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: center; align-items: center; width: 176px; text-align: center; cursor: pointer; }
.okb + .okb { margin-left: 10px; }
.okb .ic { width: 84px; height: 84px; border-radius: 50%; background: rgba(255,255,255,.14); display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; transition: -webkit-transform .15s; transition: transform .15s; transition: transform .15s, -webkit-transform .15s; }
.okb .ic svg, .okz svg { width: 38px; height: 38px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.okb .lb { margin-top: 12px; font-size: 22px; font-weight: 600; line-height: 1.15; white-space: nowrap; }
.okb .sub { font-size: 18px; color: #A3A3AB; margin-top: 2px; max-width: 170px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.okb.focused { box-shadow: none !important; }
.okb.focused .ic { background: #fff; box-shadow: 0 0 0 5px rgba(255,255,255,.35), 0 0 30px 8px rgba(229,9,20,.6); -webkit-transform: scale(1.1); transform: scale(1.1); }
.okb.focused .ic svg { stroke: #0A0A0C; }
.okb.on .ic svg { fill: #F5B83D; stroke: #F5B83D; }
.okb.focused.on .ic svg { fill: #C98A12; stroke: #C98A12; }
.okd { position: absolute; top: 0; right: 0; bottom: 0; width: 660px; background: rgba(12,12,15,.95); padding: 56px 36px 40px; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; box-shadow: -40px 0 80px rgba(0,0,0,.55); }
.okd-head { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: space-between; justify-content: space-between; margin-bottom: 22px; }
.okd-head .eyebrow { margin: 0; }
.okd-cat { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; font-family: "Sora", "SamsungOne",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, sans-serif; font-size: 34px; font-weight: 700; white-space: nowrap; overflow: hidden; }
.okd-cat .arr { color: #A3A3AB; font-size: 26px; margin: 0 14px; cursor: pointer; }
.okd-cat .arr:first-child { margin-left: 0; }
.okd-count { -webkit-flex: none; flex: none; color: #A3A3AB; font-size: 20px; margin-left: 16px; }
/* Folga em volta da lista: o contorno e o brilho da linha em foco não são cortados nas bordas. */
.okd-list { -webkit-flex: 1; flex: 1; overflow: hidden; padding: 16px 20px; margin: -16px -20px 0; }
.okd-empty { color: #A3A3AB; font-size: 24px; margin: 24px 4px; }
.okc { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; height: 104px; padding: 0 18px; border-radius: 16px; margin-bottom: 8px; cursor: pointer; }
.okc > * + * { margin-left: 18px; }
.okc .num { width: 54px; -webkit-flex: none; flex: none; color: #A3A3AB; font-size: 22px; }
.okc .ch-logo { width: 72px; height: 72px; border-radius: 14px; background-color: #23232A; }
.okc .txt { -webkit-flex: 1; flex: 1; min-width: 0; }
.okc .nm { font-size: 26px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.okc .pr { font-size: 20px; color: #A3A3AB; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; margin-top: 2px; }
.okc .pb { height: 4px; border-radius: 2px; background: rgba(255,255,255,.16); margin-top: 8px; overflow: hidden; }
.okc .pb i { display: block; height: 100%; background: #E50914; }
.okc .now { -webkit-flex: none; flex: none; font-size: 16px; font-weight: 800; letter-spacing: .06em; color: #fff; background: #E50914; padding: 4px 10px; border-radius: 8px; }
.okc.cur { background: rgba(229,9,20,.12); }
.okc.focused { background: rgba(255,255,255,.1); box-shadow: 0 0 0 4px #fff, 0 0 16px 3px rgba(229,9,20,.5) !important; }
.okc.focused .pr { color: #D6D6DC; }
.okd-hint { color: #A3A3AB; font-size: 20px; margin: 18px 0 0; }
.okd-hint .key { font-size: 16px; min-width: 36px; }
.okp { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; height: 76px; padding: 0 18px; border-radius: 14px; margin-bottom: 6px; }
.okp > * + * { margin-left: 22px; }
.okp .tm { width: 96px; -webkit-flex: none; flex: none; }
.okp .tm b { display: block; font-size: 24px; }
.okp .tm span { font-size: 18px; color: #A3A3AB; }
.okp .tt { -webkit-flex: 1; flex: 1; min-width: 0; font-size: 24px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.okp .tt .live-badge { margin-right: 12px; }
.okp.past { opacity: .5; }
.okp.past.focused { opacity: 1; }
.okp.on { box-shadow: inset 0 0 0 2px #E50914; background: rgba(229,9,20,.1); }
.okp.on .tm b { color: #E50914; }
.okp.focused { background: rgba(255,255,255,.1); box-shadow: 0 0 0 4px #fff, 0 0 16px 3px rgba(229,9,20,.5) !important; }
.okdays { display: -webkit-flex; display: flex; margin: 0 0 18px; }
.okdays span { padding: 8px 18px; border-radius: 999px; font-size: 20px; font-weight: 600; color: #A3A3AB; background: rgba(255,255,255,.08); }
.okdays span + span { margin-left: 10px; }
.okdays span.on { background: #fff; color: #0A0A0C; }
.okz { position: absolute; width: 440px; background: rgba(20,20,24,.97); border-radius: 20px; padding: 22px 24px; box-shadow: 0 20px 60px rgba(0,0,0,.6); border: 1px solid rgba(255,255,255,.08); text-align: center; }
.okz h4 { margin: 0 0 14px; font-size: 18px; letter-spacing: .1em; text-transform: uppercase; color: #E50914; }
.okz-row { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: space-between; justify-content: space-between; }
.okz-btn { width: 72px; height: 72px; border-radius: 50%; background: rgba(255,255,255,.14); display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; font-size: 40px; font-weight: 700; cursor: pointer; }
.okz-btn.off { opacity: .3; }
.okz-val { font-family: "Sora", "SamsungOne",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, sans-serif; font-size: 44px; font-weight: 700; }
.okz p { margin: 14px 0 0; font-size: 20px; color: #A3A3AB; }
.live-dot { color: #F87171; font-weight: 700; }
.player-msg { position: absolute; left: 50%; top: 50%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); background: rgba(0,0,0,.75); padding: 24px 40px; border-radius: 18px; max-width: 1100px; text-align: center; }

/* Ao vivo: trilho | (grupos) | canais | prévia + programação | dias */
.live { position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: #0E0E11; }
/* Colunas com posição fixa (sem grid): trilho 96 | canais 600 | prévia | dias 76, 24px entre elas.
   Com os grupos abertos: grupos 400 | canais 450 | prévia | dias. */
.live > * { position: absolute; z-index: 1; top: 112px; bottom: 40px; min-width: 0; }
.live > .lv-top { top: 36px; bottom: auto; left: 48px; right: 64px; height: 76px; }
.live > .lv-rail { left: 48px; width: 96px; }
.live > .lv-groups { left: 48px; width: 400px; }
.live > .lv-list { left: 168px; width: 600px; }
.live > .lv-main { left: 792px; right: 164px; }
.live > .lv-days { right: 64px; width: 76px; }
.live.groups-open > .lv-list { left: 472px; width: 450px; }
.live.groups-open > .lv-main { left: 946px; }
/* O painel da prévia fica embaixo dos outros: a sombra que pinta o fundo em volta do vídeo não cobre a lista */
.live > .lv-main { z-index: 0; }
body.media-on .live { background: transparent; }
.lv-top { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; font-size: 30px; }
.lv-top > * + * { margin-left: 18px; }
.lv-top svg, .lv-head svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.brand-mark.sm { width: 40px; height: 40px; border-radius: 10px; font-size: 22px; }
.lv-crumb b { font-weight: 600; }
.lv-clock { margin-left: auto; font: 700 44px "Sora", "SamsungOne",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, sans-serif; }
.rail-btn + .rail-btn { margin-top: 14px; }
.lv-rail { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: center; align-items: center; padding: 18px 0; border-radius: 22px; background: rgba(255,255,255,.04); overflow: hidden; }
.live.groups-open .lv-rail { display: none; }
.rail-btn { -webkit-flex: none; flex: none; width: 64px; height: 64px; border-radius: 16px; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; color: #A3A3AB; }
.rail-btn svg { width: 32px; height: 32px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.rail-btn.on { background: rgba(229,9,20,.22); color: #F5F5F5; }
.rail-btn.menu { margin-top: auto; }
.lv-groups { display: none; overflow: hidden; padding: 16px 12px 40px; border-radius: 22px; background: #232327; }
.live.groups-open .lv-groups { display: block; }
.lv-head { margin: 4px 10px 14px; font-size: 20px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #A3A3AB; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lv-groups .cat > * + * { margin-left: 14px; }
.lv-groups .cat { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; padding: 12px 18px; border-radius: 14px; margin-bottom: 6px; color: #F5F5F5; border: 2px solid transparent; }
.lv-groups .cat.fixed { color: #F5F5F5; font-weight: 600; }
.lv-groups .cat.on { background: rgba(229,9,20,.25); border-color: #E50914; box-shadow: none; }
.cat-ic svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 2; vertical-align: middle; }
.cat-name { -webkit-flex: 1; flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lv-groups .cat .n { color: #A3A3AB; -webkit-font-feature-settings: "tnum"; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.ch-list { overflow: hidden; height: 870px; padding: 4px; }
.ch-row { display: -webkit-flex; display: flex; margin-bottom: 8px; }
.ch-row > .ch-star { margin-left: 10px; }
.ch > * + * { margin-left: 16px; }
.ch { -webkit-flex: 1; flex: 1; min-width: 0; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; height: 64px; padding: 0 16px; border-radius: 14px; background: #19191D; border: 2px solid transparent; }
.ch .num { width: 58px; -webkit-flex: none; flex: none; color: #A3A3AB; font-size: 24px; -webkit-font-feature-settings: "tnum"; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.ch-logo { -webkit-flex: none; flex: none; width: 46px; height: 46px; border-radius: 8px; background: rgba(255,255,255,.06) center / contain no-repeat; }
.ch-logo.none { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; font: 700 22px "Sora", "SamsungOne",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, sans-serif; color: #A3A3AB; }
.ch-name { -webkit-flex: 1; flex: 1; min-width: 0; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ch.on { box-shadow: inset 5px 0 0 #E50914; }
.ch.on .ch-name { color: #FF6B6F; }
.ch-star { -webkit-flex: none; flex: none; width: 64px; height: 64px; border-radius: 14px; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; background: #19191D; color: #A3A3AB; font-size: 30px; border: 2px solid transparent; }
.ch-star.on { color: #F5B83D; }
.lv-empty { padding: 20px 12px; }
/* Foco na tela de canais: borda azul clara e fundo um pouco mais claro */
.live .focused { box-shadow: none !important; border-color: #FF6B6F !important; background: #2C2C31 !important; }
.live .rail-btn.focused { border: 2px solid #FF6B6F; }

.ch-preview { position: absolute; z-index: 0; top: 0; left: 0; right: 0; height: 470px; border-radius: 20px; background: #000; overflow: hidden; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; }
.ch-preview.idle .pv-logo .ch-logo { width: 200px; height: 150px; background-color: transparent; }
.ch-preview.idle .pv-logo .ch-logo.none { font-size: 90px; }
.pv-hint { position: absolute; right: 24px; bottom: 18px; margin: 0; color: #A3A3AB; font-size: 22px; }
/* Prévia tocando: a caixa fica transparente (o vídeo está embaixo) e a sombra pinta o resto da tela */
.ch-preview.playing { background: transparent; box-shadow: 0 0 0 4000px #0E0E11; }
.ch-preview.playing.loading { background: rgba(0,0,0,.55); }
.pv-tag { position: absolute; left: 22px; bottom: 18px; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; padding: 8px 16px 8px 8px; border-radius: 12px; background: rgba(0,0,0,.6); max-width: 70%; }
.pv-tag > * + * { margin-left: 14px; }
.pv-tag .ch-logo { width: 40px; height: 40px; }
.pv-tag b { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 26px; }
.pv-msg { font: 600 26px "Figtree", "SamsungOne",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, sans-serif; background: rgba(0,0,0,.7); padding: 16px 24px; border-radius: 14px; margin: 0 40px; text-align: center; }
.pg-card { position: absolute; z-index: 1; top: 492px; left: 0; right: 0; bottom: 0; overflow: hidden; border-radius: 20px; background: #19191D; padding: 22px 26px; }
.pg-head { display: -webkit-flex; display: flex; -webkit-align-items: baseline; align-items: baseline; -webkit-justify-content: space-between; justify-content: space-between; margin-bottom: 14px; }
.pg-head h3 { margin: 0; font: 600 30px "Sora", "SamsungOne",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, sans-serif; }
.pg-date { color: #E50914; font-weight: 700; }
.pg-empty { margin: 30px 0; text-align: center; }
/* Lista de programas: rola dentro do cartão; ▲▼ andam pelos horários */
.pg-list { position: absolute; top: 78px; left: 26px; right: 26px; bottom: 14px; overflow: hidden; }
.pg-row.past { opacity: .55; }
.pg-desc { max-height: 420px; overflow: hidden; line-height: 1.45; }
.pg-row > * + * { margin-left: 20px; }
.pg-row { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; height: 66px; padding: 0 14px; margin-bottom: 8px; border-radius: 14px; border: 2px solid transparent; }
.pg-row.on { border-color: #E50914; background: rgba(229,9,20,.1); }
.pg-time { -webkit-flex: none; flex: none; width: 92px; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; line-height: 1.1; }
.pg-time b { font-size: 26px; -webkit-font-feature-settings: "tnum"; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.pg-time span { font-size: 18px; color: #A3A3AB; -webkit-font-feature-settings: "tnum"; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.pg-row.on .pg-time b { color: #E50914; }
.pg-title { -webkit-flex: 1; flex: 1; min-width: 0; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
.pg-title > * + * { margin-left: 14px; }
.pg-title span:last-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.live-badge { -webkit-flex: none; flex: none; font-size: 16px; font-weight: 800; letter-spacing: .06em; color: #F5B83D; background: rgba(245,184,61,.14); border: 1px solid rgba(245,184,61,.5); padding: 3px 10px; border-radius: 8px; }
.lv-days { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-justify-content: space-around; justify-content: space-around; padding: 14px 0; border-radius: 22px; background: #19191D; }
.day { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: center; align-items: center; color: #A3A3AB; line-height: 1.15; margin: 0 8px; padding: 8px 0; border-radius: 14px; border: 2px solid transparent; }
.day b { font-size: 26px; } .day span { font-size: 17px; }
.day.on { color: #F5F5F5; background: rgba(229,9,20,.22); } .day.on b { font-weight: 800; }

/* Carregamento: 8 pontinhos girando e a velocidade embaixo */
.loader { display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: center; align-items: center; }
.loader > * + * { margin-top: 18px; }
.dots { position: relative; width: 76px; height: 76px; -webkit-animation: spin 1s steps(8) infinite; animation: spin 1s steps(8) infinite; }
.dots i { position: absolute; left: 50%; top: 0; width: 14px; height: 14px; margin-left: -7px; border-radius: 50%; -webkit-transform-origin: 7px 38px; transform-origin: 7px 38px; background: #E50914; }
.dots i:nth-child(1) { -webkit-transform: rotate(0deg); transform: rotate(0deg); opacity: 1; }
.dots i:nth-child(2) { -webkit-transform: rotate(-45deg); transform: rotate(-45deg); opacity: .85; background: #3D86E4; }
.dots i:nth-child(3) { -webkit-transform: rotate(-90deg); transform: rotate(-90deg); opacity: .7; background: #5A8FCB; }
.dots i:nth-child(4) { -webkit-transform: rotate(-135deg); transform: rotate(-135deg); opacity: .58; background: #6C93B5; }
.dots i:nth-child(5) { -webkit-transform: rotate(-180deg); transform: rotate(-180deg); opacity: .46; background: #7D97A3; }
.dots i:nth-child(6) { -webkit-transform: rotate(-225deg); transform: rotate(-225deg); opacity: .36; background: #8A99A0; }
.dots i:nth-child(7) { -webkit-transform: rotate(-270deg); transform: rotate(-270deg); opacity: .28; background: #9099A0; }
.dots i:nth-child(8) { -webkit-transform: rotate(-315deg); transform: rotate(-315deg); opacity: .2; background: #9599A0; }
.speed { min-height: 24px; font-size: 20px; font-weight: 600; letter-spacing: .04em; color: #C5CFDD; -webkit-font-feature-settings: "tnum"; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }

/* Programação na tela cheia */
.epg { margin: 6px 0 18px; }
.epg-now, .epg-next { display: -webkit-flex; display: flex; -webkit-align-items: baseline; align-items: baseline; -webkit-flex-wrap: wrap; flex-wrap: wrap; margin: 0 0 8px; }
.epg-now > *, .epg-next > * { margin-right: 14px; }
.epg-now b { font-size: 30px; }
.epg-tag { font-size: 18px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: #E50914; }
.epg-bar { height: 6px; border-radius: 3px; background: rgba(255,255,255,.18); margin: 4px 0 12px; overflow: hidden; }
.epg-bar i { display: block; height: 100%; background: #E50914; }
.osd-epg { max-width: 1100px; margin-bottom: 24px; }
.osd-epg .epg { margin: 0; }
.poster .art.still { background-size: cover; background-position: center; }

/* Diagnóstico do player */
.diag { position: absolute; z-index: 3; top: 60px; right: 60px; width: 620px; padding: 26px 30px; border-radius: 20px; background: rgba(8,8,10,.88); border: 1px solid rgba(255,255,255,.12); font-size: 24px; }
/* Conta → Informações técnicas: mesma tabela do diagnóstico, dentro da janela. */
.diag.tech { position: static; width: auto; margin: 14px 0; padding: 18px 22px; }
.diag h3 { margin: 0 0 12px; font: 700 28px "Sora", "SamsungOne",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, sans-serif; color: #E50914; }
.diag-row { display: -webkit-flex; display: flex; -webkit-justify-content: space-between; justify-content: space-between; padding: 6px 0; border-bottom: 1px solid rgba(255,255,255,.08); }
.diag-row span { color: #A3A3AB; }
.diag-row b { font-weight: 600; text-align: right; margin-left: 20px; -webkit-font-feature-settings: "tnum"; font-feature-settings: "tnum"; font-variant-numeric: tabular-nums; }
.diag-hint { margin: 12px 0 0; color: #FCD34D; font-size: 22px; }
.diag-hint:empty { display: none; }

/* Temporadas da série */
.seasons { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; margin: 8px 192px -8px; }
.seasons > * { margin: 0 14px 14px 0; }
.season { padding: 12px 30px; border-radius: 32px; background: #1E1E22; color: #A3A3AB; font-weight: 600; font-size: 26px; }
.season.on { background: #F5F5F5; color: #0A0A0C; }
.ep-section { margin-bottom: 8px; }
/* Série: topo mais compacto para temporadas, episódios e sinopse caberem na tela sem rolar */
.detail.series .detail-body { padding-top: 64px; }
.detail.series .detail-top { margin-bottom: 24px; }
/* v0.6.32: detalhe da série cabe na tela sem rolar; sinopse em 3 linhas (a do episódio focado usa o mesmo lugar). */
.detail.series .detail-text .plot { -webkit-line-clamp: 3; min-height: 3em; }
.detail.series .detail-poster { width: 260px; height: 390px; }
/* Grupos do Ao vivo: ícone fixo à esquerda e o nome logo depois, igual aos outros grupos */
.lv-groups .cat > .cat-ic { -webkit-flex: none; flex: none; width: 26px; }
.lv-groups .cat > .cat-name { -webkit-flex: 1 1 auto; flex: 1 1 auto; text-align: left; }

/* Filmes e Séries: "Continuar assistindo" e "Pesquisar" no topo das categorias */
.cats .cat { -webkit-align-items: center; align-items: center; }
.cats .cat > .cat-ic { -webkit-flex: none; flex: none; width: 26px; margin-right: 14px; }
.cats .cat > .cat-name { -webkit-flex: 1 1 auto; flex: 1 1 auto; text-align: left; }
.cats .cat.fixed { color: #F5F5F5; font-weight: 600; }

/* Filmes, Séries e Favoritos em tela própria, no molde dos Canais: cabeçalho | categorias 400 | grade */
.vod { position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: #0E0E11; }
.vod > * { position: absolute; z-index: 1; top: 112px; bottom: 40px; min-width: 0; }
.vod > .lv-top { top: 36px; bottom: auto; left: 48px; right: 64px; height: 76px; }
.vod > .lv-groups { display: block; left: 48px; width: 400px; height: auto; }
.vod > .vod-main { left: 496px; right: 64px; padding-top: 6px; }
.vod .lv-groups .cat > .cat-ic { margin-right: 0; }
.vod .lv-groups .cat.on { color: #F5F5F5; font-weight: 700; }
.vod .lv-groups .cat.focused { box-shadow: none !important; border-color: #FF6B6F; background: #2C2C31; }
.vod .grid { height: 800px; }

/* Teclado na tela da pesquisa */
.kb-q { height: 72px; line-height: 72px; padding: 0 22px; margin-bottom: 16px; border-radius: 14px; background: #232327; font-size: 34px; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; border: 2px solid #E50914; }
.kb-q.empty { color: #A3A3AB; font-weight: 400; border-color: transparent; }
.kb-row { display: -webkit-flex; display: flex; }
.kb-key { -webkit-flex: 1 1 0; flex: 1 1 0; height: 68px; line-height: 68px; margin: 0 8px 8px 0; text-align: center; border-radius: 12px; background: #19191D; color: #F5F5F5; font-size: 30px; font-weight: 600; border: 2px solid transparent; }
.kb-key.wide { font-size: 24px; }
.kb-key:last-child { margin-right: 0; }
.kb-key.focused { box-shadow: none !important; border-color: #FF6B6F; background: #E50914; color: #fff; }
.kb-n { min-height: 34px; margin: 10px 0 0; }
.vod-main.search { display: -webkit-flex; display: flex; }
.vod-main.search .kb-box { -webkit-flex: none; flex: none; width: 520px; }
.vod-results { -webkit-flex: 1 1 auto; flex: 1 1 auto; min-width: 0; margin-left: 40px; }
.vod-main.search .grid-head h1 { font-size: 36px; }
.vod-main.search .empty { margin-top: 10px; }
.grid.narrow { width: 728px; height: 780px; }
.grid.narrow > .poster { margin-right: 34px; }
.grid.narrow > .poster:nth-child(3n) { margin-right: 0; }

/* Painel do título em foco (Filmes e Séries) e grade com 6 colunas */
.vod-main { overflow: hidden; }
.vod-bg { position: absolute; z-index: 0; top: -112px; right: -64px; width: 1100px; height: 560px; background-size: cover; background-position: center top; opacity: .45; }
.vod-bg.blur { -webkit-filter: blur(20px); filter: blur(20px); opacity: .25; }
.vod-bg:after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; background: linear-gradient(90deg, #0E0E11 0%, rgba(14,14,17,.6) 45%, rgba(14,14,17,0) 100%), linear-gradient(0deg, #0E0E11 0%, rgba(14,14,17,0) 60%); }
.vod-info { position: relative; z-index: 1; height: 222px; padding-right: 300px; }
.vod-info h1 { font-size: 46px; margin: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.vod-info .meta { margin: 8px 0; font-size: 24px; }
.vi-plot { margin: 0; max-width: 900px; font-size: 22px; color: #A3A3AB; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.sort-btn { position: absolute; top: 14px; right: 34px; font-size: 22px; padding: 10px 22px; }
.grid.vod-grid { position: relative; z-index: 1; width: 1326px; height: 690px; padding: 12px 14px 30px; }
.grid.vod-grid > .poster { width: 190px; margin: 0 32px 30px 0; }
.grid.vod-grid > .poster:nth-child(5n) { margin-right: 32px; }
.grid.vod-grid > .poster:nth-child(6n) { margin-right: 0; }
.grid.vod-grid > .poster .art { height: 285px; }
.grid.vod-grid > .poster .cap { font-size: 22px; }
.pb-year { position: absolute; left: 10px; top: 10px; padding: 2px 10px; border-radius: 8px; background: rgba(0,0,0,.65); font-size: 18px; font-weight: 700; color: #fff; }
.pb-new { position: absolute; left: 10px; top: 10px; padding: 2px 10px; border-radius: 8px; background: #E50914; font-size: 16px; font-weight: 800; letter-spacing: .06em; color: #fff; }
/* Buscas recentes embaixo do teclado */
.kb-recent { margin-top: 14px; }
.kb-recent-t { margin: 0 0 10px; font-size: 20px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: #A3A3AB; }
.chip { display: inline-block; margin: 0 10px 10px 0; padding: 8px 18px; border-radius: 999px; background: #19191D; color: #F5F5F5; font-size: 22px; border: 2px solid transparent; }
.chip.focused { box-shadow: none !important; border-color: #FF6B6F; background: #E50914; color: #fff; }
.dialog-box .kb-recent { margin-top: 16px; }

/* Futebol: cartões de jogo (Início e tela Futebol) */
.fb-card { -webkit-flex: none; flex: none; width: 520px; padding: 18px 22px; border-radius: 18px; background: #19191D; border: 2px solid transparent; box-sizing: border-box; }
.fb-card.wide { width: 640px; display: inline-block; vertical-align: top; margin: 0 24px 24px 0; }
.fb-card.wide:nth-child(2n) { margin-right: 0; }
.fb-card.focused { box-shadow: none !important; border-color: #FF6B6F; background: #2C2C31; }
.fb-card.is-live { border-color: rgba(229,9,20,.55); }
.fb-card.is-live.focused { border-color: #FF6B6F; }
.fb-top { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; font-size: 20px; color: #A3A3AB; }
.fb-top > * + * { margin-left: 10px; }
.fb-league { -webkit-flex: 1 1 auto; flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fb-live { -webkit-flex: none; flex: none; padding: 2px 10px; border-radius: 8px; background: #E50914; color: #fff; font-weight: 800; font-size: 18px; }
.fb-end, .fb-day { -webkit-flex: none; flex: none; font-weight: 700; color: #A3A3AB; }
.fb-teams { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; margin: 16px 0 12px; }
.fb-team { -webkit-flex: 1 1 0; flex: 1 1 0; min-width: 0; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; font-size: 26px; font-weight: 700; }
.fb-team span:not(.crest) { min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fb-team > * + * { margin-left: 12px; }
.fb-team.away { -webkit-justify-content: flex-end; justify-content: flex-end; text-align: right; }
.crest { -webkit-flex: none; flex: none; width: 52px; height: 52px; border-radius: 50%; background: #fff center / 80% no-repeat; display: inline-block; }
.crest.sm { width: 28px; height: 28px; background-size: 85%; }
.crest.txt { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; background: #2B3D5E; color: #fff; font-size: 24px; }
.score, .ko { -webkit-flex: none; flex: none; margin: 0 16px; font: 800 36px "Sora", "SamsungOne",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, sans-serif; }
.ko { color: #E50914; }
.fb-ch { font-size: 20px; color: #F5F5F5; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fb-list { height: 830px; overflow: hidden; padding: 6px 4px 30px; }
.lv-head.fb-sub { margin-top: 22px; }
.fb-pick { margin: 18px 0; }
.fb-pick .btn { margin: 0 12px 12px 0; }
.fb-card { width: 460px; }
.fb-rows { position: relative; margin: 14px 0 10px; }
.fb-row { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; height: 56px; font-size: 26px; font-weight: 700; }
.fb-row > * + * { margin-left: 12px; }
.fb-row .crest { width: 42px; height: 42px; }
.fb-row span:not(.crest) { -webkit-flex: 1 1 auto; flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.fb-row b { -webkit-flex: none; flex: none; font: 800 32px "Sora", "SamsungOne",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, sans-serif; margin-right: 6px; }
.fb-rows .ko.side { position: absolute; right: 0; top: 50%; margin: -24px 0 0; font-size: 36px; }
.fb-rows.sched .fb-row { padding-right: 120px; }
/* Escolha do canal de um jogo: grade simples, 2 colunas */
.fb-grid { max-height: 560px; overflow: hidden; margin: 18px 0 8px; padding: 4px; }
.fb-tile { display: -webkit-inline-flex; display: inline-flex; -webkit-align-items: center; align-items: center; vertical-align: top; width: 336px; height: 72px; margin: 0 12px 12px 0; padding: 0 16px; box-sizing: border-box; border-radius: 14px; background: #19191D; border: 2px solid transparent; overflow: hidden; }
.fb-tile:nth-child(2n) { margin-right: 0; }
.fb-tile .ch-logo { margin-right: 14px; }
.fb-tile .ch-name { -webkit-flex: 1 1 auto; flex: 1 1 auto; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-size: 24px; font-weight: 600; }
.fb-tile.focused { box-shadow: none !important; border-color: #FF6B6F; background: #E50914; color: #fff; }

/* ---------- v0.6.19: Conta em tela cheia ---------- */
.vod > .acc-main { left: 48px; right: 64px; top: 140px; overflow: hidden; }
.acc-row { display: -webkit-flex; display: flex; margin-bottom: 28px; }
.acc-row > .acc-card + .acc-card { margin-left: 28px; }
.acc-card { -webkit-flex: 1 1 0; flex: 1 1 0; min-width: 0; background: #19191D; border: 2px solid rgba(255,255,255,.06); border-radius: 22px; padding: 30px 34px; }
.acc-card.ok { border-color: rgba(52,199,123,.35); }
.acc-card.bad { border-color: rgba(255,92,92,.5); }
.acc-card.warn { border-color: rgba(245,184,61,.5); }
.acc-h { margin: 0 0 14px; font-size: 24px; color: #A3A3AB; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; }
.acc-h svg { width: 30px; height: 30px; margin-right: 12px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.acc-state { margin: 0 0 16px; font-size: 46px; font-weight: 800; line-height: 1.1; }
.acc-card.ok .acc-state { color: #34C77B; }
.acc-card.bad .acc-state { color: #FF6B6B; }
.acc-card.warn .acc-state { color: #F5B83D; }
.acc-card.dev .acc-state { font-size: 38px; letter-spacing: 1px; font-family: monospace; }
.acc-line { margin: 0 0 10px; font-size: 25px; line-height: 1.35; }
.acc-line .small { font-size: 20px; }
.acc-tag { display: inline-block; padding: 4px 14px; border-radius: 99px; background: rgba(229,9,20,.22); color: #FF8A8E; font-size: 21px; font-weight: 700; }
.acc-warn { color: #F5B83D; font-weight: 700; }
.acc-bad { color: #FF6B6B; font-weight: 700; }
.acc-actions { -webkit-flex: 0 0 520px; flex: 0 0 520px; }
.acc-actions .btn { display: block; width: 100%; margin: 0 0 16px; text-align: left; font-size: 26px; }

/* ---------- v0.6.66: Conta enxuta: um cartão de assinatura à esquerda e as opções em quatro grupos ---------- */
.acc2 { display: -webkit-flex; display: flex; -webkit-align-items: flex-start; align-items: flex-start; }
.acc2 .acc-sum { -webkit-flex: 0 0 640px; flex: 0 0 640px; padding: 34px 38px; }
.acc-sum .acc-state { font-size: 54px; }
.acc-kvs { margin-top: 22px; padding-top: 18px; border-top: 2px solid rgba(255,255,255,.07); }
.acc-kv { display: -webkit-flex; display: flex; -webkit-align-items: baseline; align-items: baseline; font-size: 24px; line-height: 1.35; margin-bottom: 10px; }
.acc-kv > span { -webkit-flex: 0 0 200px; flex: 0 0 200px; color: #A3A3AB; }
.acc-kv > b { -webkit-flex: 1 1 auto; flex: 1 1 auto; min-width: 0; font-weight: 700; }
.acc-kv .mono { font-family: monospace; font-size: 26px; letter-spacing: 1px; }
.acc-opts { -webkit-flex: 1 1 auto; flex: 1 1 auto; min-width: 0; margin-left: 44px; }
.acc-g { margin-bottom: 26px; }
.acc-gh { margin: 0 0 12px 6px; font-size: 21px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; color: #7C7C85; }
.acc-gr { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }
.acc-opt { -webkit-flex: 0 0 auto; flex: 0 0 auto; width: 48.9%; height: 104px; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; text-align: left; padding: 0 26px; margin-right: 2.2%; border-radius: 20px;
  background: #19191D; border: 2px solid rgba(255,255,255,.06); color: #F5F5F5; font: inherit; }
.acc-opt:last-child, .acc-opt:nth-child(2n) { margin-right: 0; }
.acc-opt:nth-child(n+3) { margin-top: 14px; }
.ao-ic { -webkit-flex: none; flex: none; width: 58px; height: 58px; border-radius: 16px; background: rgba(255,255,255,.08); display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; margin-right: 22px; }
.ao-ic svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.ao-t { -webkit-flex: 1 1 auto; flex: 1 1 auto; min-width: 0; }
.ao-t b { display: block; font-size: 28px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.ao-t small { display: block; font-size: 21px; color: #A3A3AB; margin-top: 3px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.acc-opt.danger .ao-ic { background: rgba(239,68,68,.2); color: #FCA5A5; }
.acc-opt.danger b { color: #FCA5A5; }
.acc-opt.focused { background: #fff; color: #0A0A0C; border-color: #fff; box-shadow: 0 0 28px 6px rgba(229,9,20,.5) !important; }
.acc-opt.focused small { color: #55555C; }
.acc-opt.focused .ao-ic { background: #E50914; color: #fff; }
.acc-opt.danger.focused b { color: #B91C1C; }
/* Janela "Player e buffer": uma linha por opção, o valor à direita; OK troca o valor. */
.pset { margin-top: 18px; }
.pset-row { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; width: 100%; min-height: 100px; padding: 14px 28px; margin-bottom: 12px; border-radius: 18px; text-align: left;
  background: rgba(255,255,255,.06); border: 2px solid rgba(255,255,255,.06); color: #F5F5F5; font: inherit; }
.ps-t { -webkit-flex: 1 1 auto; flex: 1 1 auto; min-width: 0; }
.ps-t b { display: block; font-size: 29px; }
.ps-t small { display: block; font-size: 21px; color: #A3A3AB; margin-top: 4px; line-height: 1.3; }
.ps-v { -webkit-flex: none; flex: none; margin-left: 24px; padding: 8px 20px; border-radius: 99px; background: rgba(229,9,20,.22); color: #FF8A8E; font-size: 25px; font-weight: 800; }
.ps-v:after { content: " ›"; }
.pset-row.focused { background: #fff; color: #0A0A0C; box-shadow: 0 0 28px 6px rgba(229,9,20,.5) !important; }
.pset-row.focused small { color: #55555C; }
.pset-row.focused .ps-v { background: #E50914; color: #fff; }

/* ---------- v0.6.19: continuar ou começar de novo ---------- */
.resume { text-align: left; }
.resume h2 { font-size: 46px; margin: 4px 0 6px; }
.resume .eyebrow { margin: 0; }
.resume-ep { margin: 0 0 18px; font-size: 26px; color: #A3A3AB; }
.resume-bar { height: 8px; border-radius: 4px; background: rgba(255,255,255,.15); overflow: hidden; margin: 18px 0 10px; }
.resume-bar i { display: block; height: 100%; background: #E50914; }
.resume .actions { margin-top: 28px; }
.btn.resume-go { position: relative; overflow: hidden; }
.resume-fill { position: absolute; top: 0; left: 0; bottom: 0; width: 0; background: rgba(229,9,20,.45); }
.resume-lbl { position: relative; }
.btn-sub { font-weight: 500; opacity: .75; margin-left: 6px; }
.dialog-box.wide { width: 1040px; }

/* Início: destaque em tela cheia (imagem larga do TMDB), etiquetas, título grande e botões em pílula.
   As fileiras sobem por cima da parte de baixo do destaque, que se apaga no fundo. */
.page.home { padding-top: 0; }
.home .hero { margin: 0; height: 820px; border-radius: 0; background: #0A0A0C; }
.home .hero-bg { background-position: center top; }
.home .hero-shade { background: linear-gradient(90deg, rgba(10,10,12,.96) 0%, rgba(10,10,12,.78) 30%, rgba(10,10,12,.2) 62%, rgba(10,10,12,0) 100%),
  linear-gradient(0deg, #0A0A0C 0%, rgba(10,10,12,.75) 24%, rgba(10,10,12,0) 52%); }
.home .hero-poster { right: 96px; top: 210px; width: 300px; height: 450px; border-radius: 18px; }
.home .hero-body { padding: 200px 96px 0; max-width: 1240px; }
.hero-tags { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; -webkit-align-items: center; align-items: center; }
.tg { margin: 0 12px 10px 0; padding: 4px 14px; border: 2px solid rgba(255,255,255,.28); border-radius: 8px; background: rgba(255,255,255,.06); font-size: 21px; font-weight: 700; color: #EEF2F8; white-space: nowrap; }
.tg.top { background: #E50914; border-color: #E50914; color: #fff; text-transform: uppercase; letter-spacing: .05em; }
.tg.star { color: #FFD24A; }
.home .hero h1 { margin: 12px 0 0; font-size: 96px; line-height: 1.02; letter-spacing: -2px; text-shadow: 0 4px 30px rgba(0,0,0,.45); }
.home .hero h1.t-md { font-size: 76px; letter-spacing: -1px; }
.home .hero h1.t-sm { font-size: 62px; letter-spacing: -1px; }
.home .hero .plot { margin: 20px 0 34px; max-width: 1000px; font-size: 28px; line-height: 1.42; color: rgba(245,245,245,.88);
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.home .hero .actions { -webkit-align-items: center; align-items: center; }
.home .hero .btn { height: 76px; padding: 0 38px; border-radius: 38px; border: 2px solid rgba(255,255,255,.26); background: rgba(20,20,23,.7); font-size: 28px; font-weight: 700; }
.home .hero .btn.primary { background: #E50914; border-color: #E50914; color: #fff; }
.home .hero .btn.icon { width: 76px; padding: 0; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; }
.home .hero .btn.icon svg { width: 36px; height: 36px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; }
.home .hero .btn.focused { -webkit-transform: scale(1.06); transform: scale(1.06); box-shadow: 0 0 0 5px #fff, 0 10px 34px rgba(229,9,20,.6) !important; }
.home .hero-dots { position: static; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; margin: 0 0 20px 14px; }
.home-rows { position: relative; z-index: 1; margin-top: -200px; }
.home-rows.no-hero { margin-top: 0; padding-top: 190px; }
.home .row h2 { font-size: 36px; font-weight: 700; }
.home .poster.focused .art { box-shadow: 0 0 0 5px #fff, 0 14px 40px rgba(229,9,20,.55); }

/* ===== v0.6.22: perfis, pesquisa no topo e o visual novo em Canais, Filmes, Séries, Futebol e Conta ===== */
/* Destaque do Início: altura fixa pensada para o pior caso (título e resumo em 2 linhas), assim as fileiras
   nunca sobem por cima dos botões e também não pulam quando o destaque troca de título. */
.home .hero { height: 890px; }
.home .hero h1.t-md { font-size: 80px; }

/* Barra de cima: lupa, engrenagem e o avatar do perfil. */
.tb-ic { margin-left: 22px; }
.tb-right .tb-ic:first-of-type { margin-left: 34px; }
.tb-ic.on { background: rgba(229,9,20,.3); border-color: #E50914; }
.tb-av { width: 76px; height: 76px; margin-left: 22px; padding: 0; border-radius: 22px; overflow: hidden; border: 3px solid rgba(255,255,255,.25); }
.tb-av .av { width: 100%; height: 100%; border-radius: 0; }
.tb-av.focused { border-color: #fff; box-shadow: 0 0 0 4px #E50914 !important; -webkit-transform: scale(1.06); transform: scale(1.06); }

/* Avatar: rostinho no quadrado colorido. */
.av { display: -webkit-inline-flex; display: inline-flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center;
  width: 100px; height: 100px; border-radius: 22%; overflow: hidden; vertical-align: middle; }
.av svg { width: 72%; height: 72%; }
/* Rostinhos (v0.6.31): o desenho ocupa o quadrado inteiro, a cor de fundo vem do próprio avatar. */
.av.av-face svg { width: 100%; height: 100%; }
.av.av-face { box-shadow: inset 0 0 0 2px rgba(255,255,255,.08); }
.av.add { background: rgba(255,255,255,.06); border: 4px dashed rgba(255,255,255,.3); }
.av.add svg { fill: none; stroke: #A3A3AB; stroke-width: 2; stroke-linecap: round; width: 46%; height: 46%; }

/* "Quem está assistindo?" */
.profiles { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center;
  background: radial-gradient(ellipse at 50% 0%, rgba(229,9,20,.22), rgba(10,10,12,0) 60%), #0A0A0C; }
.pf-brand { position: absolute; top: 56px; left: 96px; }
.profiles h1 { font-size: 72px; letter-spacing: -1px; margin-bottom: 64px; }
.pf-row { display: -webkit-flex; display: flex; -webkit-justify-content: center; justify-content: center; }
.pf { position: relative; width: 250px; margin: 0 26px; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: center; align-items: center; border-radius: 24px; }
.pf .av { width: 230px; height: 230px; border-radius: 28px; border: 5px solid transparent; transition: border-color .12s ease, -webkit-transform .12s ease; transition: transform .12s ease, border-color .12s ease; transition: transform .12s ease, border-color .12s ease, -webkit-transform .12s ease; }
.pf b { margin-top: 22px; font-size: 32px; font-weight: 600; color: #A3A3AB; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 250px; }
.pf.focused { box-shadow: none !important; }
.pf.focused .av { border-color: #fff; -webkit-transform: scale(1.07); transform: scale(1.07); box-shadow: 0 16px 46px rgba(229,9,20,.5); }
.pf.focused b { color: #F5F5F5; font-weight: 700; }
.pf-pen { position: absolute; top: 0; left: 10px; width: 230px; height: 230px; border-radius: 28px; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; background: rgba(0,0,0,.45); }
.pf-pen svg { width: 76px; height: 76px; fill: none; stroke: #fff; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.pf-note { margin: 44px 0 0; font-size: 24px; }
.pf-actions { margin-top: 40px; display: -webkit-flex; display: flex; }
.pf-actions .btn { margin-right: 20px; border: 2px solid rgba(255,255,255,.26); background: transparent; }
.pf-actions .btn:last-child { margin-right: 0; }
.pf-actions .btn.primary { background: #E50914; border-color: #E50914; color: #fff; }
.pf-actions .btn.danger { border-color: rgba(239,68,68,.6); color: #FCA5A5; }

/* Novo perfil / editar perfil */
.pf-edit { position: absolute; top: 0; right: 0; bottom: 0; left: 0; padding: 80px 96px 0; background: radial-gradient(ellipse at 50% 0%, rgba(229,9,20,.18), rgba(10,10,12,0) 60%), #0A0A0C; }
.pf-edit h1 { font-size: 60px; margin-bottom: 44px; }
.pf-cols { display: -webkit-flex; display: flex; }
.pf-left { -webkit-flex: none; flex: none; width: 760px; }
.pf-big { margin-bottom: 26px; }
.pf-big .av { width: 180px; height: 180px; border-radius: 26px; }
.pf-right { -webkit-flex: 1 1 auto; flex: 1 1 auto; min-width: 0; margin-left: 90px; }
.pf-right .lv-head { margin: 0 0 18px; }
.pf-icons { width: 720px; }
.pf-ic { display: inline-block; margin: 0 22px 22px 0; border-radius: 26px; border: 5px solid transparent; }
.pf-ic:nth-child(4n) { margin-right: 0; }
.pf-ic .av { width: 150px; height: 150px; border-radius: 20px; }
.pf-ic.on { border-color: #E50914; }
.pf-ic.focused { box-shadow: none !important; border-color: #fff; -webkit-transform: scale(1.06); transform: scale(1.06); }
.pf-right .pf-actions { margin-top: 26px; }

/* Pesquisar (lupa no topo): teclado à esquerda, resultados em fileiras à direita. */
.gsearch { position: absolute; top: 172px; right: 0; bottom: 0; left: 96px; display: -webkit-flex; display: flex; }
.gs-kb { -webkit-flex: none; flex: none; width: 600px; padding-top: 6px; }
.gs-res { -webkit-flex: 1 1 auto; flex: 1 1 auto; min-width: 0; height: 868px; margin-left: 50px; overflow: hidden; }
.gs-res .row h2 { margin-left: 0; font-size: 32px; }
.gs-res .row h2 .n { margin-left: 10px; font-size: 24px; color: #A3A3AB; font-weight: 500; }
.gs-res .row-items { padding-left: 4px; }
.gs-empty { margin-top: 140px; text-align: center; padding-right: 96px; }
.gs-empty h2 { font-size: 44px; margin: 18px 0 10px; }
.gs-ic svg { width: 110px; height: 110px; fill: none; stroke: #E50914; stroke-width: 1.6; stroke-linecap: round; }
.gs-ch { -webkit-flex: none; flex: none; width: 300px; height: 190px; margin-right: 24px; border-radius: 18px; background: rgba(255,255,255,.05); border: 2px solid rgba(255,255,255,.08);
  display: -webkit-flex;
  display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; }
.gs-ch .ch-logo { width: 120px; height: 80px; background-color: transparent; }
.gs-ch b { margin-top: 14px; max-width: 260px; font-size: 24px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gs-ch.focused { box-shadow: 0 0 0 5px #fff, 0 12px 34px rgba(229,9,20,.5) !important; -webkit-transform: scale(1.05); transform: scale(1.05); }

/* Telas internas com a mesma cara do Início: a barra em pílula fica em cima, painéis "de vidro", azul nos selecionados. */
.btn.primary { background: #E50914; color: #fff; }
.lv-top { display: none !important; }
.vod, .live { background: radial-gradient(ellipse at 75% -20%, rgba(229,9,20,.2), rgba(10,10,12,0) 55%), #0A0A0C; }
.vod > *, .live > * { top: 172px; }
.vod > .vod-main { left: 500px; right: 96px; }
.vod > .lv-groups, .live > .lv-groups, .live > .lv-rail { left: 96px; }
.live > .lv-list { left: 216px; width: 580px; }
.live > .lv-main { left: 820px; right: 196px; }
.live > .lv-days { right: 96px; }
.live.groups-open > .lv-list { left: 520px; width: 440px; }
.live.groups-open > .lv-main { left: 984px; }
.lv-groups, .lv-rail, .lv-days { background: rgba(255,255,255,.045); border: 2px solid rgba(255,255,255,.08); border-radius: 28px; }
.lv-groups .cat { border-radius: 999px; padding: 12px 22px; }
.lv-groups .cat.on, .vod .lv-groups .cat.on { background: #E50914; border-color: #E50914; color: #fff; font-weight: 700; }
.lv-groups .cat.on .n { color: rgba(255,255,255,.85); }
.lv-groups .cat.focused, .vod .lv-groups .cat.focused, .live .lv-groups .cat.focused { border-color: #fff !important; background: rgba(229,9,20,.45) !important; color: #fff; }
.lv-head { letter-spacing: .14em; }
.ch-list { height: 800px; }
.ch, .ch-star { background: rgba(255,255,255,.05); border-radius: 16px; }
.live .ch.focused, .live .ch-star.focused { border-color: #fff !important; background: rgba(229,9,20,.35) !important; }
.ch.on { box-shadow: inset 6px 0 0 #E50914; }
/* Caixa da prévia em 16:9 (904x508), o formato do vídeo: o canal enche a caixa sem faixas pretas nem esticar. */
.ch-preview { height: 508px; border-radius: 26px; }
.pg-card { top: 530px; border-radius: 26px; background: rgba(255,255,255,.045); border: 2px solid rgba(255,255,255,.08); }
.day.on { background: #E50914; color: #fff; }
.live .day.focused { border-color: #fff !important; background: rgba(229,9,20,.45) !important; }
.vod-info { height: 236px; overflow: hidden; margin-bottom: 10px; padding-top: 16px; padding-left: 24px; }
.vod-info .eyebrow { margin-bottom: 10px; }
.vod-info .vi-plot { -webkit-line-clamp: 2; }
.vod-info h1 { font-size: 54px; letter-spacing: -1px; }
.vod .grid { height: 640px; }
.sort-btn { border: 2px solid rgba(255,255,255,.22); background: rgba(20,20,23,.7); }
.poster .art { border-radius: 18px; }
.poster.focused .art { box-shadow: 0 0 0 5px #fff, 0 14px 40px rgba(229,9,20,.55); }
.pb-new { background: #E50914 !important; }
.fb-list { height: 760px; }
.vod > .acc-main { left: 96px; right: 96px; top: 172px; }
.acc-card { background: rgba(255,255,255,.045); border-radius: 28px; }

/* Detalhe: título grande, botões em pílula azul e temporadas em pílula. */
.detail-text h1 { font-size: 80px; letter-spacing: -1.5px; }
.detail .btn { height: 76px; padding: 0 38px; border: 2px solid rgba(255,255,255,.26); background: rgba(20,20,23,.7); font-size: 28px; font-weight: 700; }
.detail .btn.primary { background: #E50914; border-color: #E50914; color: #fff; }
.detail .btn.focused { -webkit-transform: scale(1.06); transform: scale(1.06); box-shadow: 0 0 0 5px #fff, 0 10px 34px rgba(229,9,20,.6) !important; }
.season { border: 2px solid rgba(255,255,255,.14); background: rgba(255,255,255,.05); }
.season.on { background: #E50914; border-color: #E50914; color: #fff; }
.season.focused { box-shadow: 0 0 0 4px #fff !important; }
.detail-poster { border-radius: 22px; }
/* Com a lupa e o avatar à direita, o menu fica um pouco mais justo para a data caber. */
.menu-item { padding: 0 24px; }
.tb-sep { margin: 0 10px 0 22px; }
.tb-right { padding-left: 28px; }
.tb-date { font-size: 26px; }
.clock { font-size: 26px; }
.tb-ic { margin-left: 18px; }
.tb-right .tb-ic:first-of-type { margin-left: 30px; }
.tb-av { margin-left: 18px; }
/* v0.6.23: 30 ícones de perfil em 6 colunas. */
.pf-icons { width: 790px; font-size: 0; }
.pf-ic { margin: 0 12px 12px 0; border-width: 4px; border-radius: 22px; vertical-align: top; }
.pf-ic:nth-child(4n) { margin-right: 12px; }
.pf-ic:nth-child(6n) { margin-right: 0; }
.pf-ic .av { width: 110px; height: 110px; border-radius: 18px; }
.pf-edit h1 { margin-bottom: 30px; }
.pf-busy { margin-top: 8px; font-size: 22px; color: #ffb74d; }
/* v0.6.24: folga em cima e dos lados para a borda e o zoom da capa focada não serem cortados. */
.vod .grid { padding: 26px 20px 40px; height: 628px; }

/* v0.6.31: ativação em duas metades. Esquerda: Provedor + Usuário + Senha. Direita: QR Code (teste grátis) e MAC. */
.act-panel { -webkit-align-items: center; align-items: center; }
.act-login { -webkit-flex: none; flex: none; width: 720px; padding: 52px 56px; border-radius: 36px; background: rgba(20,20,22,.86); border: 2px solid rgba(255,255,255,.08); box-shadow: 0 30px 80px rgba(0,0,0,.45); }
.act-login h1 { font-size: 64px; line-height: 1.05; margin: 0 0 14px; }
.act-lead { margin: 0 0 30px; font-size: 26px; color: #A3A3AB; }
.lg-field { display: block; height: 104px; padding: 16px 28px; margin-bottom: 18px; border-radius: 20px; background: #1E1E22; border: 3px solid transparent; }
.lg-field span { display: block; font-size: 20px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #A3A3AB; }
.lg-field b { display: block; margin-top: 4px; font: 700 38px "Sora", "SamsungOne",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, sans-serif; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.lg-field b em { font: 400 32px "Figtree", "SamsungOne",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, sans-serif; font-style: normal; color: #6B6B74; }
.lg-field.focused { border-color: #E50914; background: #26262B; box-shadow: 0 0 0 6px rgba(229,9,20,.22) !important; }
.lg-field.focused span { color: #FF8A8E; }
#lg-provider b { letter-spacing: .14em; }
#lg-provider b em { letter-spacing: 0; }
.lg-go { display: block; width: 100%; margin-top: 10px; height: 84px; font-size: 32px; background: #E50914; color: #fff; }
.lg-go.busy { opacity: .6; }
.lg-msg { min-height: 36px; margin: 18px 0 0; font-size: 24px; color: #A3A3AB; }
.lg-msg.err { color: #FCA5A5; }
.lg-msg.wait { color: #F5F5F5; }
.act-or { -webkit-flex: none; flex: none; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; -webkit-align-items: center; align-items: center; width: 140px; height: 560px; }
.act-or i { display: block; -webkit-flex: 1; flex: 1; width: 2px; background: rgba(255,255,255,.12); }
.act-or span { margin: 18px 0; font: 700 26px "Sora", "SamsungOne",-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans, sans-serif; color: #A3A3AB; text-transform: uppercase; letter-spacing: .1em; }
.act-side { -webkit-flex: none; flex: none; width: 760px; }
.act-side h2 { font-size: 52px; line-height: 1.08; margin: 0 0 30px; }
.act-side-row { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; margin-bottom: 30px; }
.act-side .act-qr { margin-right: 44px; }
.act-side .qr-frame { padding: 22px; border-radius: 28px; }
.act-side .act-steps { margin: 0; }
.act-side .act-steps li { font-size: 28px; }
.act-side .act-steps i { width: 48px; height: 48px; line-height: 42px; font-size: 24px; margin-right: 18px; }
.act-side .act-id b { font-size: 42px; }
.act-side .act-status { margin-top: 26px; }
.act.over .act-side-row { display: none; }

/* Teclado de login (letras, números e símbolos) e teclado só de números do Provedor. */
.lg-edit { width: auto; }
.lg-edit h2 { margin: 0 0 18px; }
.kb-full .kb-key { font-size: 28px; text-transform: none; }
.kb-key.on { background: #3A3A40; border-color: #FF6B6F; }
.kb-num { width: 520px; margin: 0 auto; }
.kb-num .kb-key { height: 84px; line-height: 84px; font-size: 36px; }

/* Termo de uso: contrato para aceitar na primeira abertura. */
.terms { position: absolute; top: 0; right: 0; bottom: 0; left: 0; padding: 56px 128px 48px; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column;
  background: linear-gradient(115deg, rgba(229,9,20,.14) 0%, transparent 38%), #0A0A0C; }
.terms-doc { -webkit-flex: 1; flex: 1; display: -webkit-flex; display: flex; -webkit-flex-direction: column; flex-direction: column; width: 1360px; margin: 24px auto 0; min-height: 0; }
.terms-doc h1 { font-size: 58px; margin: 0 0 8px; }
.terms-meta { margin: 0 0 22px; font-size: 24px; color: #A3A3AB; }
.terms-meta b { color: #F5F5F5; letter-spacing: .03em; }
.terms-text { -webkit-flex: 1; flex: 1; min-height: 0; overflow: hidden; padding: 26px 40px; border-radius: 24px; background: #F4F4F5; color: #18181B; }
.terms-p { padding: 6px 18px; margin: 0 -18px 10px; border-left: 6px solid transparent; border-radius: 8px; }
.terms-p p { margin: 0; font-size: 27px; line-height: 1.5; }
.terms-p ul { margin: 0; padding-left: 36px; font-size: 27px; line-height: 1.55; }
.terms-p.focused { border-left-color: #E50914; background: rgba(229,9,20,.07); box-shadow: none !important; }
.terms-sign { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; margin-top: 24px; }
.terms-check { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; height: 76px; padding: 0 26px 0 18px; border-radius: 18px; background: #1E1E22; border: 3px solid transparent; font-size: 27px; font-weight: 600; }
.terms-check i { -webkit-flex: none; flex: none; width: 40px; height: 40px; margin-right: 16px; border-radius: 10px; border: 3px solid #A3A3AB; position: relative; }
.terms-check.on i { background: #E50914; border-color: #E50914; }
.terms-check.on i:after { content: ""; position: absolute; left: 11px; top: 3px; width: 10px; height: 20px; border: solid #fff; border-width: 0 5px 5px 0; -webkit-transform: rotate(45deg); transform: rotate(45deg); }
.terms-check.focused { border-color: #E50914; box-shadow: 0 0 0 6px rgba(229,9,20,.22) !important; }
.terms-line { margin: 18px 0 0; padding: 0 4px 10px;  border-bottom: 2px dashed rgba(255,255,255,.25); font-size: 22px; color: #A3A3AB; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.terms-line b { color: #F5F5F5; }
.terms-sign .actions { margin: 0 0 -20px auto; }
.terms-sign .btn.primary { background: #E50914; color: #fff; }
.terms-sign .btn[disabled] { opacity: .45; }

/* ---------- v0.6.34: Minhas listas (Conta) ---------- */
.acc-card.ml { max-width: 1240px; margin: 0 auto; }
.ml-lead { margin: 0 0 22px; font-size: 25px; line-height: 1.35; }
.ml-row { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; height: 104px; padding: 0 28px; margin-bottom: 14px; border-radius: 20px; background: #1E1E22; border: 3px solid transparent; }
.ml-row.on { border-color: rgba(229,9,20,.55); }
.ml-n { -webkit-flex: none; flex: none; width: 52px; height: 52px; margin-right: 24px; border-radius: 50%; background: rgba(255,255,255,.08); font-size: 24px; font-weight: 800; line-height: 52px; text-align: center; }
.ml-row.on .ml-n { background: #E50914; }
.ml-t { -webkit-flex: 1 1 auto; flex: 1 1 auto; min-width: 0; }
.ml-t b, .ml-t small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.ml-t b { font-size: 30px; }
.ml-t small { margin-top: 4px; font-size: 21px; color: #A3A3AB; }
.ml-tag, .ml-use { -webkit-flex: none; flex: none; margin-left: 20px; }
.ml-use { font-size: 21px; opacity: 0; }
.ml-row.focused .ml-use { opacity: 1; }
.ml-foot { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; margin-top: 22px; }
.ml-foot .btn { margin-right: 26px; font-size: 26px; }
.ml-foot .muted { font-size: 23px; }
.ml-add-main { text-align: center; }
.ml-add-main .act-login { display: inline-block; text-align: left; }
/* Opções da Conta em duas colunas: com Minhas listas e Sair desta lista, a coluna única passava da tela. */
.acc-actions { -webkit-flex: 0 0 900px; flex: 0 0 900px; }
.acc-actions .btn { display: inline-block; vertical-align: top; width: 49%; margin: 0 0 16px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 25px; }
.acc-actions .btn:nth-of-type(odd) { margin-right: 2%; }

/* ---------- v0.6.35: nome do episódio em até duas linhas ---------- */
.poster[data-ep] .cap { white-space: normal; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-height: 1.25; font-size: 24px; }
/* Filme: mesma página compacta da série, para "Mais em" caber sem rolar (título nunca é cortado). */
.detail:not(.series) .detail-body { padding-top: 64px; }
.detail:not(.series) .detail-top { margin-bottom: 20px; }
.detail:not(.series) .detail-poster { width: 260px; height: 390px; }
.detail:not(.series) .detail-text .plot { -webkit-line-clamp: 3; }
.detail:not(.series) .credits { -webkit-line-clamp: 1; margin-bottom: 22px; }
.detail:not(.series) .row h2 { margin-top: 0; margin-bottom: 0; }

/* v0.6.36: Filmes e Séries mostram 2 fileiras inteiras (capa e nome). Cabeçalho mais baixo, capas um pouco menores. */
.vod-info { height: 186px; margin-bottom: 0; padding-top: 8px; }
.vod-info .eyebrow { margin-bottom: 4px; }
.vod-info h1 { font-size: 44px; line-height: 1.15; }
.vod-info .meta { margin: 4px 0 6px; }
.vod .grid.vod-grid { padding: 22px 20px 26px; height: 620px; }
.grid.vod-grid > .poster { width: 172px; margin: 0 52px 24px 0; }
.grid.vod-grid > .poster:nth-child(5n) { margin-right: 52px; }
.grid.vod-grid > .poster:nth-child(6n) { margin-right: 0; }
.grid.vod-grid > .poster .art { height: 258px; }
.grid.vod-grid > .poster .cap { margin-top: 12px; }

/* v0.6.36: Início com 2 fileiras inteiras (capa e nome). Na abertura, o nome dos Lançamentos já aparece abaixo do destaque. */
.home .hero { height: 830px; }
.home .hero-body { padding-top: 176px; }
.home .hero h1 { font-size: 86px; }
.home .hero h1.t-md { font-size: 70px; }
.home .hero h1.t-sm { font-size: 58px; }
.home .hero .plot { margin: 16px 0 28px; font-size: 27px; }
.home .row { margin-bottom: 28px; }
.home .row h2 { margin-bottom: 10px; }
.home .row-items > .poster { width: 190px; }
.home .row-items > .poster .art { height: 285px; }
.home .row-items > .poster.wide { width: 360px; }
.home .row-items > .poster.wide .art { height: 203px; }
.home .row-items > .poster .cap { font-size: 24px; margin-top: 12px; }
.home .hero-poster { top: 190px; width: 260px; height: 390px; }

/* v0.6.36: a bolinha da barra do vídeo recebe o foco (▲ dos botões). Focada, cresce e ganha o anel vermelho. */
.seek { cursor: pointer; }
.seek.focused { box-shadow: none !important; outline: none; -webkit-transform: none; transform: none; background: rgba(255,255,255,.35); }
.seek.focused b { width: 46px; height: 46px; border: 6px solid #fff; background: #E50914; box-shadow: 0 0 0 6px rgba(229,9,20,.45), 0 4px 18px rgba(0,0,0,.6); }
.seek.focused i { background: #E50914; }
.seek-wrap { padding-top: 18px; }

.seasons { margin: 6px 192px 0; }
/* Filmes e Séries: sem a linha da categoria em cima, a sinopse aparece inteira. */
.vod-info { padding-top: 14px; }
.vod-info .vi-plot { line-height: 1.35; }
/* v0.6.37: temporadas num botão "Temporada N ▾" que abre a lista ao lado. */
.season-pick { display: -webkit-inline-flex; display: inline-flex; -webkit-align-items: center; align-items: center; height: 64px; padding: 0 30px; border-radius: 32px; border: 2px solid rgba(255,255,255,.22); background: rgba(20,20,23,.7); color: #F5F5F5; font-size: 26px; }
.season-pick b { font-weight: 700; }
.season-pick .sp-n { margin-left: 16px; color: #A3A3AB; font-size: 22px; }
.season-pick .sp-ar { margin-left: 16px; font-size: 22px; }
.season-pick.focused { background: #E50914; border-color: #E50914; box-shadow: 0 0 0 4px #fff !important; }
.season-pick.focused .sp-n { color: rgba(255,255,255,.85); }
.season-pick.one { border-color: transparent; background: none; padding-left: 0; }
#dialog .dialog-box.side { position: absolute; top: 0; right: 0; bottom: 0; width: 600px; border-radius: 0; padding: 64px 56px; }
.season-list h2 { margin: 0; }
.season-list .muted { margin: 6px 0 24px; }
.sl-items { height: 820px; overflow: hidden; padding: 6px; }
.sl-item { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; width: 100%; height: 76px; padding: 0 26px; margin-bottom: 12px; border-radius: 18px; background: rgba(255,255,255,.05); color: #F5F5F5; font-size: 28px; text-align: left; }
.sl-item b { -webkit-flex: 1; flex: 1; font-weight: 600; }
.sl-item span { color: #A3A3AB; font-size: 22px; }
.sl-item .sl-ck { margin-left: 18px; font-style: normal; color: #E50914; font-weight: 700; }
.sl-item.on { background: rgba(229,9,20,.18); }
.sl-item.focused { background: #E50914; box-shadow: 0 0 0 4px #fff !important; }
.sl-item.focused span, .sl-item.focused .sl-ck { color: #fff; }

/* v0.6.56: Limpar histórico (Conta). Abas à esquerda; à direita os botões e as linhas com caixa de marcar, capa, nome e lixeira. */
.hs-main .grid-head { margin-bottom: 4px; }
.hs-lead { margin: 0 0 22px; font-size: 24px; line-height: 1.35; }
.hs-lead b { color: #F5F5F5; }
.hs-main .empty { margin: 10px 0 26px; font-size: 26px; }
.hs-acts { padding: 6px; white-space: nowrap; }
.hs-acts .btn { margin-right: 18px; height: 64px; padding: 0 30px; font-size: 25px; }
.hs-acts .btn.off { opacity: .45; }
.hs-list { position: absolute; top: 232px; bottom: 0; left: 0; right: 0; overflow: hidden; padding: 8px 8px 40px; }
.hs-row { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; margin-bottom: 14px; }
.hs-pick { -webkit-flex: 1 1 auto; flex: 1 1 auto; min-width: 0; display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; height: 104px; padding: 0 26px; border-radius: 20px; background: #1E1E22; border: 3px solid transparent; }
.hs-row.on .hs-pick { border-color: rgba(229,9,20,.6); background: #2A1A1C; }
.hs-box { -webkit-flex: none; flex: none; width: 42px; height: 42px; margin-right: 24px; border-radius: 10px; border: 3px solid rgba(255,255,255,.45); color: #fff; font-size: 26px; font-weight: 800; line-height: 36px; text-align: center; }
.hs-row.on .hs-box { background: #E50914; border-color: #E50914; }
.hs-art { -webkit-flex: none; flex: none; width: 52px; height: 78px; margin-right: 24px; border-radius: 8px; background-size: cover; background-position: center; }
.hs-art.q { height: 52px; padding-top: 11px; background: rgba(255,255,255,.08); color: #A3A3AB; text-align: center; }
.hs-art.q svg { width: 30px; height: 30px; fill: none; stroke: currentColor; stroke-width: 2.4; stroke-linecap: round; }
.hs-pick .ch-logo { width: 64px; height: 64px; margin-right: 24px; }
.hs-t { -webkit-flex: 1 1 auto; flex: 1 1 auto; min-width: 0; }
.hs-t b, .hs-t small { display: block; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.hs-t b { font-size: 29px; }
.hs-t small { margin-top: 5px; font-size: 21px; color: #A3A3AB; }
.hs-del { -webkit-flex: none; flex: none; width: 80px; height: 80px; margin-left: 16px; border-radius: 50%; background: rgba(255,255,255,.08); color: #A3A3AB; }
.hs-del svg { width: 34px; height: 34px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; vertical-align: middle; }
.hs-del.focused { background: #E50914; color: #fff; box-shadow: 0 0 0 4px #fff !important; }
.hs-hint { display: inline-block; vertical-align: middle; margin-left: 8px; font-size: 22px; }
.acc-actions.many .acc-h { margin-bottom: 10px; }
.acc-actions.many .btn { height: 60px; margin-bottom: 12px; font-size: 24px; }
/* O botão do próximo episódio começa vermelho escuro e vai enchendo de vermelho até abrir. */
.nxe .btn.nxe-go { background: #5C0A0F; color: #fff; }
.nxe .btn.nxe-go .resume-fill { background: #E50914; }

/* Correção 4 na TV: ficha do título. Topo com frase, classificação, gêneros e equipe; embaixo elenco com foto e "Sobre". */
.d-tag { font-size: 28px; font-style: italic; color: #C9C9D1; margin: -2px 0 12px; }
.d-tag:empty { display: none; }
.cert { display: inline-block; min-width: 40px; padding: 2px 8px; border-radius: 7px; font-size: 22px; font-weight: 800; text-align: center; color: #fff; vertical-align: 2px; margin-left: 6px; }
.cert.cL { background: #0A9B48; } .cert.c10 { background: #0F7DC2; } .cert.c12 { background: #E8B400; color: #111; }
.cert.c14 { background: #E06A0E; } .cert.c16 { background: #D21F26; } .cert.c18 { background: #111; border: 2px solid #fff; }
.d-gen { color: #A3A3AB; margin-left: 10px; }
.d-crew { font-size: 22px; margin: -12px 0 26px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.d-crew:empty { display: none; }
.d-prog { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; margin-top: 18px; width: 520px; font-size: 20px; color: #A3A3AB; }
.d-prog-bar { -webkit-flex: 1; flex: 1; height: 6px; border-radius: 3px; background: rgba(255,255,255,.2); margin-right: 16px; overflow: hidden; }
.d-prog-bar i { display: block; height: 100%; background: #E50914; }
.d-cast { margin: 0 192px 30px; }
.d-cast:empty { display: none; }
.d-cast h2, .d-about h2 { font-size: 32px; margin: 0 0 18px; }
.pp-row { display: -webkit-flex; display: flex; }
.pp { -webkit-flex: none; flex: none; width: 150px; margin-right: 22px; text-align: center; }
.pp i { display: -webkit-flex; display: flex; -webkit-align-items: center; align-items: center; -webkit-justify-content: center; justify-content: center; width: 124px; height: 124px; margin: 0 auto 12px; border-radius: 50%; font-style: normal; font-size: 40px; font-weight: 700; color: #fff;
  background-size: cover; background-position: center 20%; box-shadow: 0 6px 18px rgba(0,0,0,.45); }
.pp b { display: block; font-size: 20px; line-height: 1.2; font-weight: 600; }
.pp span { display: block; margin-top: 4px; font-size: 17px; line-height: 1.2; color: #A3A3AB; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.d-about { margin: 18px 192px 90px; padding: 30px 36px 18px; border-radius: 24px; background: rgba(22,22,26,.8); }
.d-about:empty { display: none; }
.d-about.focused { box-shadow: 0 0 0 4px rgba(255,255,255,.55) !important; }
.ab-grid { overflow: hidden; }
.ab { float: left; width: 25%; padding: 0 28px 22px 0; }
.ab span { display: block; font-size: 19px; color: #A3A3AB; margin-bottom: 4px; }
.ab b { display: block; font-size: 23px; font-weight: 600; line-height: 1.3; }
.stars { position: relative; display: inline-block; letter-spacing: 3px; color: rgba(255,255,255,.2); }
.stars:before { content: "★★★★★"; }
.stars i { position: absolute; top: 0; left: 0; overflow: hidden; white-space: nowrap; color: #FACC15; }
.stars i:before { content: "★★★★★"; }

/* Limpar histórico (0.6.70): cartão no padrão da Conta (Minhas listas e Player e buffer). */
.hs-card { max-height: 860px; overflow: hidden; }
.hs-card .ps-v.zero { background: rgba(255,255,255,.08); color: #A3A3AB; }
.hs-card .pset-row.focused .ps-v.zero { background: #2A2A30; color: #fff; }
.hs-item { min-height: 104px; }
.hs-item .hs-art, .hs-item .ch-logo { -webkit-flex: none; flex: none; margin-right: 24px; }
.hs-item .ch-logo { width: 64px; height: 64px; }
.hs-item .ps-t b, .hs-item .ps-t small { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.hs-trash { -webkit-flex: none; flex: none; margin-left: 24px; padding: 8px 20px; border-radius: 99px; color: #A3A3AB; font-size: 23px; font-weight: 800; opacity: .55; }
.hs-trash svg { width: 28px; height: 28px; margin-right: 8px; vertical-align: -6px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }
.hs-item.focused .hs-trash { background: #E50914; color: #fff; opacity: 1; }
.hs-card .btn.off { opacity: .45; }

/* Sair do app (Voltar no Início): logo em cima, pergunta e botões centralizados, no tema do app. */
.exit-box { text-align: center; }
.exit-box .exit-logo { height: 84px; width: auto; display: block; margin: 0 auto; }
.exit-box h2 { margin-top: 28px; }
.exit-box .actions { -webkit-justify-content: center; justify-content: center; margin-top: 40px; }
.exit-box .actions > * { margin: 0 12px 20px; }
.exit-box .actions .btn { min-width: 220px; }

/* Elenco na ficha (TV): o cursor anda pelos artistas; a fileira rola para o lado quando passa da tela. */
.d-cast .pp-row { position: relative; overflow: hidden; padding: 8px 8px 6px; }
.d-cast .pp i { transition: box-shadow .15s; }
.d-cast .pp.focused { box-shadow: none !important; }
.d-cast .pp.focused i { box-shadow: 0 0 0 5px #fff, 0 0 24px 4px rgba(229,9,20,.55); }
.d-cast .pp.focused b { color: #fff; }
