/* NovelaTop · player vertical (9:16), "cinema". */
[data-player] { --cine-fundo: #0B1510; --cine-texto: #F3F6F1; --cine-mudo: #A8BAAE; --cine-cor: #C7432C; }

/* Player dentro da matéria (títulos de vídeo único). */
.nt-materia__video[data-player] { --tv-h: min(calc(var(--nt-vvh, 100dvh) - 140px), 700px); display: grid; place-items: center; background: var(--cine-fundo); padding: 10px; box-shadow: 10px 10px 0 var(--musgo-claro); }
.nt-materia__video[data-player] .nt-cine { width: calc(var(--tv-h) * .5625); max-width: 100%; }
@media (max-width: 859px) {
  .nt-materia__video[data-player] { margin-inline: calc(-1 * var(--lado)); padding: 0; box-shadow: none; --tv-h: min(calc(var(--nt-vvh, 100dvh) * .74), calc(100vw * 16 / 9)); }
}

/* Página de episódio. */
.nt-sessao { display: grid; gap: 20px; max-width: var(--largura); margin: 0 auto; padding: 14px var(--lado) 0; }
.nt-sessao__tela { --tv-h: calc(var(--nt-vvh, 100dvh) - 40px); display: grid; place-items: center; background: var(--cine-fundo); }
@media (min-width: 900px) { .nt-sessao { grid-template-columns: auto minmax(0, 1fr); gap: 36px; align-items: start; } .nt-sessao__tela { --tv-h: calc(var(--nt-vvh, 100dvh) - 200px); padding: 10px; } }
@media (max-width: 899px) { .nt-sessao { padding: 0; } .nt-sessao__lado { padding: 0 var(--lado); } .nt-sessao__tela { --tv-h: min(calc(var(--nt-vvh, 100dvh) - 60px), calc(100vw * 16 / 9)); } }
.nt-sessao__lado { display: grid; gap: 14px; align-content: start; }
.nt-sessao__titulo { font-size: 2rem; }
.nt-sessao__titulo a { text-decoration: none; }
.nt-sessao__acoes { display: flex; flex-wrap: wrap; gap: 8px; }
.nt-sessao__eps h3 { font-size: 1.2rem; margin-bottom: 8px; }
.nt-sessao__eps h3 small { font: 500 .8rem var(--f-texto); color: var(--tinta-3); }
.nt-sessao__eps .nt-eps { max-height: 260px; overflow-y: auto; }
.nt-sessao__resumo summary { cursor: pointer; font: 400 1.1rem var(--f-titulo); }
.nt-sessao__resumo p { margin-top: 8px; color: var(--tinta-2); }
.nt-sessao__dica { font-size: .78rem; color: var(--tinta-3); }

/* Palco */
.nt-cine { position: relative; isolation: isolate; display: grid; place-items: center; overflow: hidden; touch-action: none; container-type: inline-size;
  width: min(100%, calc(var(--tv-h, 80vh) * .5625)); aspect-ratio: 9 / 16; max-height: var(--tv-h, 80vh); background: #000; color: var(--cine-texto); font-family: var(--f-texto); }
.nt-cine__video { width: 100%; height: 100%; object-fit: contain; background: #000; -webkit-touch-callout: none; font-size: clamp(.75rem, 3cqw, 1.1rem); }
.nt-cine__video::cue { color: #fff; background: rgb(0 0 0 / 75%); line-height: 1.3; }
.nt-cine__cartaz { position: absolute; inset: 0; z-index: 1; pointer-events: none; transition: opacity .4s; }
.nt-cine__cartaz img { position: absolute; inset: 0; width: 100%; height: 100%; }
.nt-cine__cartaz-fundo { object-fit: cover; filter: blur(24px) saturate(.7) brightness(.45); transform: scale(1.2); }
.nt-cine__cartaz-img { object-fit: contain; }
[data-player]:not(.is-idle) .nt-cine__cartaz { opacity: 0; }
[data-player].is-idle .nt-tv-cromo, [data-player].is-idle .nt-cine__veu { opacity: 0; pointer-events: none; }
[data-player].is-idle .nt-tv-cromo > * { pointer-events: none; }
.nt-cine__veu { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(rgb(0 0 0 / 45%), transparent 20%, transparent 62%, rgb(0 0 0 / 78%)); transition: opacity .3s; }

.nt-cine__iniciar { position: absolute; z-index: 3; left: 50%; bottom: 14%; translate: -50% 0; display: inline-flex; align-items: center; gap: 10px; padding: 14px 24px 14px 18px; border: 0; background: var(--cine-fundo); color: #fff; font: 700 1rem var(--f-texto); cursor: pointer; box-shadow: 6px 6px 0 var(--cine-cor); }
.nt-cine__iniciar .nt-i { width: 26px; height: 26px; color: var(--cine-cor); }
[data-player]:not(.is-idle) .nt-cine__iniciar { bottom: auto; top: 50%; translate: -50% -50%; padding: 16px; box-shadow: none; background: rgb(11 21 16 / 80%); }
[data-player]:not(.is-idle) .nt-cine__iniciar span { display: none; }

.nt-cine__bt { display: grid; place-items: center; width: 40px; height: 40px; border: 0; border-radius: 0; background: transparent; color: var(--cine-texto); cursor: pointer; flex-shrink: 0; font: 700 .8rem var(--f-texto); }
.nt-cine__bt:hover { background: rgb(255 255 255 / 14%); }
.nt-cine__bt .nt-i, .nt-cine__bt .nt-ico { width: 21px; height: 21px; }
.nt-cine__bt--play { width: 46px; height: 46px; background: var(--cine-cor); }
.nt-cine__bt--play:hover { background: #D9543C; }
.nt-cine__bt--play .nt-i, .nt-cine__bt--play .nt-ico { fill: currentColor; }
.nt-cine__bt[aria-pressed="true"] { background: rgb(255 255 255 / 20%); }

.nt-tv-cromo { position: absolute; inset: 0; z-index: 2; pointer-events: none; transition: opacity .3s; }
.nt-tv-cromo > * { pointer-events: auto; }
.nt-sem-controles .nt-tv-cromo, .nt-sem-controles .nt-cine__veu { opacity: 0; }
.nt-sem-controles .nt-tv-cromo > * { pointer-events: none; }
.nt-sem-controles .nt-tv-cromo:focus-within { opacity: 1; }
.nt-sem-controles .nt-tv-cromo:focus-within > * { pointer-events: auto; }
.has-track-menu .nt-tv-cromo, .is-switching .nt-tv-cromo { opacity: 1; }
.has-track-menu .nt-cine { touch-action: pan-y; }

.nt-cine__topo { position: absolute; top: env(safe-area-inset-top); inset-inline: 0; display: flex; align-items: center; gap: 10px; padding: 12px; }
.nt-cine__nome { flex: 1; min-width: 0; }
.nt-cine__nome h1 { font: 400 1.05rem/1.25 var(--f-titulo); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; text-shadow: 0 1px 8px #000; }
.nt-cine__nome p { font-size: .76rem; color: var(--cine-mudo); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
@media (min-width: 900px) { .nt-cine__topo [data-acao="voltar"] { display: none; } }

.nt-tv-controles { position: absolute; bottom: 0; inset-inline: 0; display: grid; gap: 2px; padding: 8px 10px calc(10px + env(safe-area-inset-bottom)); }
.nt-cine__regua { position: relative; height: 30px; display: flex; align-items: center; }
.nt-cine__trilho { position: absolute; inset-inline: 0; height: 3px; overflow: hidden; background: rgb(255 255 255 / 25%); pointer-events: none; }
.nt-cine__carregado, .nt-cine__visto { position: absolute; inset: 0; transform: scaleX(var(--progress, 0)); transform-origin: left; }
.nt-cine__carregado { background: rgb(255 255 255 / 30%); }
.nt-cine__visto { background: var(--cine-cor); }
.nt-cine__ponto { position: relative; z-index: 1; width: 100%; height: 30px; margin: 0; appearance: none; background: transparent; cursor: pointer; }
.nt-cine__ponto::-webkit-slider-runnable-track { height: 3px; background: transparent; }
.nt-cine__ponto::-webkit-slider-thumb { appearance: none; width: 14px; height: 14px; margin-top: -5.5px; background: #fff; border: 0; }
.nt-cine__ponto::-moz-range-track { height: 3px; background: transparent; }
.nt-cine__ponto::-moz-range-thumb { width: 14px; height: 14px; border: 0; border-radius: 0; background: #fff; }
.nt-cine__comandos { display: flex; align-items: center; gap: 2px; flex-wrap: wrap; }
.nt-cine__tempo { margin-left: 8px; font-size: .76rem; font-weight: 700; font-variant-numeric: tabular-nums; text-shadow: 0 1px 6px #000; }
.nt-cine__tempo i { font-style: normal; margin: 0 3px; color: var(--cine-mudo); }
.nt-cine__vao { flex: 1; }
@container (max-width: 360px) { .nt-cine__bt { width: 34px; height: 34px; } .nt-cine__bt--play { width: 40px; height: 40px; } .nt-cine__tempo { margin-left: 4px; font-size: .7rem; } }

.nt-volume { position: relative; }
.nt-volume__caixa { position: absolute; bottom: calc(100% + 6px); left: 50%; translate: -50% 6px; padding: 10px 8px; background: rgb(11 21 16 / 94%); opacity: 0; pointer-events: none; transition: opacity .2s, translate .2s; }
.nt-volume:hover .nt-volume__caixa, .nt-volume:focus-within .nt-volume__caixa, .nt-volume.is-open .nt-volume__caixa { opacity: 1; pointer-events: auto; translate: -50% 0; }
.nt-volume__nivel { writing-mode: vertical-lr; direction: rtl; width: 22px; height: 92px; accent-color: var(--cine-cor); }
html.is-ios .nt-volume__caixa { display: none; }

.nt-tv-mini { position: absolute; inset: auto 0 env(safe-area-inset-bottom, 0); z-index: 2; pointer-events: none; opacity: 0; visibility: hidden; }
.nt-tv-mini-trilho { height: 2px; background: rgb(255 255 255 / 18%); }
.nt-tv-mini-fill { display: block; height: 100%; background: var(--cine-cor); transform: scaleX(var(--progress, 0)); transform-origin: left; }
.nt-sem-controles .nt-tv-mini { opacity: 1; visibility: visible; transition: opacity .2s .3s; }

.nt-cine__espera { position: absolute; inset: 0; z-index: 3; display: grid; place-items: center; pointer-events: none; }
.nt-cine__espera span { width: 40px; height: 40px; border: 3px solid rgb(255 255 255 / 20%); border-top-color: var(--cine-cor); border-radius: 50%; animation: nt-roda .8s linear infinite; }
@keyframes nt-roda { to { rotate: 360deg; } }

.nt-cine__menu { position: absolute; z-index: 6; inset-inline: 10px; bottom: calc(96px + env(safe-area-inset-bottom)); max-height: min(42%, 320px); overflow-y: auto; padding: 4px; background: rgb(11 21 16 / 96%); border-top: 3px solid var(--cine-cor); overscroll-behavior: contain; }
.nt-cine__menu button { display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 6px; width: 100%; min-height: 44px; padding: 10px 12px; border: 0; background: none; color: var(--cine-texto); text-align: left; font-weight: 700; cursor: pointer; }
.nt-cine__menu button:hover { background: rgb(255 255 255 / 8%); }
.nt-cine__menu button[aria-checked="true"]::after { content: "●"; color: var(--cine-cor); }
.nt-cine__menu button[aria-disabled="true"] { color: var(--cine-mudo); cursor: not-allowed; }
.nt-menu-estado { grid-column: 1 / -1; font-size: .72rem; font-weight: 500; color: var(--cine-mudo); }
.nt-menu-estado:empty { display: none; }
.nt-velocidades { display: grid; gap: 6px; }
.nt-cine__trocando { display: none; position: absolute; z-index: 4; top: 22%; padding: 8px 14px; background: rgb(11 21 16 / 92%); font-size: .8rem; font-weight: 700; }
.is-switching .nt-cine__trocando { display: block; }

.nt-cine__aviso { position: absolute; z-index: 5; inset-inline: 14px; top: 24%; display: grid; justify-items: center; gap: 10px; padding: 20px 16px; text-align: center; background: var(--folha); color: var(--tinta); border-top: 4px solid var(--cine-cor); font-size: .9rem; }
.nt-cine__aviso-titulo { font: 400 1.4rem/1.15 var(--f-titulo); }
.nt-cine__aviso-acoes { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.nt-playback-stopped video { filter: brightness(.3); }
.nt-playback-stopped .nt-cine__aviso { z-index: 7; max-height: 66%; overflow-y: auto; }

.nt-cine__seguinte { position: absolute; z-index: 5; inset-inline: 14px; bottom: 120px; display: grid; gap: 10px; padding: 14px; background: var(--folha); color: var(--tinta); border-left: 4px solid var(--cine-cor); }
.nt-cine__seguinte-topo { display: flex; align-items: center; gap: 12px; }
.nt-prox-capa img { width: 42px; height: 63px; object-fit: cover; }
.nt-prox-titulo { font: 400 1.1rem var(--f-titulo); }
.nt-cine__seguinte-barra { height: 3px; background: var(--fio); overflow: hidden; }
.nt-cine__seguinte-barra span { display: block; height: 100%; width: 100%; background: var(--cine-cor); transform-origin: left; }
.nt-cine__seguinte.is-rising .nt-cine__seguinte-barra span { animation: nt-esvazia 2s linear forwards; }
@keyframes nt-esvazia { from { transform: scaleX(1); } to { transform: scaleX(0); } }
.nt-cine__seguinte-conta { font-size: .8rem; color: var(--tinta-3); }
.nt-cine__seguinte-acoes { display: flex; gap: 8px; justify-content: flex-end; }

.nt-cine__fim { position: absolute; inset: 0; z-index: 5; display: grid; place-content: center; justify-items: center; gap: 10px; padding: 24px; text-align: center; background: rgb(11 21 16 / 94%); }
.nt-cine__fim .nt-rubrica { color: #F0A898; }
.nt-cine__fim-titulo { font: 400 1.9rem/1.1 var(--f-titulo); }

.nt-watermark { position: absolute; z-index: 8; opacity: .42; font: 700 12px/1.3 var(--f-texto); letter-spacing: .06em; color: #fff; text-shadow: 0 0 3px #000, 0 1px 4px #000; pointer-events: none; user-select: none; }
.nt-watermark--0 { top: 16%; left: 8%; } .nt-watermark--1 { top: 16%; right: 8%; } .nt-watermark--2 { bottom: 30%; right: 8%; } .nt-watermark--3 { bottom: 30%; left: 8%; } .nt-watermark--4 { bottom: 26%; left: 50%; translate: -50% 0; }
.nt-hold-speed { position: absolute; z-index: 6; top: 20%; left: 50%; translate: -50% 0; padding: 6px 14px; background: var(--cine-cor); color: #fff; font-weight: 700; font-size: .85rem; pointer-events: none; }
.nt-gesture-feedback { position: absolute; z-index: 6; left: var(--nt-feedback-x, 50%); top: var(--nt-feedback-y, 50%); translate: -50% -50%; pointer-events: none; color: #fff; font: 700 1.3rem var(--f-texto); text-shadow: 0 2px 8px #000; }
.nt-gesture-feedback .nt-ico, .nt-gesture-feedback .nt-i { width: 56px; height: 56px; fill: currentColor; }
.nt-cap-up .nt-cine__video { animation: nt-ep-sobe .35s ease-out; }
.nt-cap-down .nt-cine__video { animation: nt-ep-desce .35s ease-out; }
@keyframes nt-ep-sobe { from { transform: translateY(8%); opacity: .3; } }
@keyframes nt-ep-desce { from { transform: translateY(-8%); opacity: .3; } }

/* iPhone: tela cheia "simulada" (o vídeo não entra em tela cheia dentro da página). */
html.is-ios:has(.nt-sessao) .nt-sessao__tela { overscroll-behavior: none; }
html.is-ios-fill, html.is-ios-fill body { overflow: hidden; height: var(--nt-vvh, 100dvh); background: #000; }
html.is-ios-fill .nt-cabeca, html.is-ios-fill .nt-rodape { display: none; }
html.is-ios-fill .nt-sessao__tela, html.is-ios-fill .nt-materia__video[data-player] { position: fixed; inset: 0; z-index: 70; height: var(--nt-vvh, 100dvh); padding: 0; margin: 0; --tv-h: var(--nt-vvh, 100dvh); }
html.is-ios-fill .nt-cine.is-ios-fill { width: 100%; max-height: none; height: 100%; aspect-ratio: auto; }
html.is-android:has(.nt-sessao) .nt-cine__video { user-select: none; -webkit-user-select: none; -webkit-touch-callout: none; }
.nt-cine:fullscreen { width: 100%; max-height: none; height: 100%; aspect-ratio: auto; }

@media (prefers-reduced-motion: reduce) { .nt-cine__espera span { animation-duration: 2s; } }
