
.elementor-451>.elementor-element-729f0a8e,.elementor-451>.elementor-element-b7ec41f{display:none!important}
.tvgplay{display:flow-root;position:relative;z-index:2;background:linear-gradient(180deg,#021547 0%,#031a55 14%,#05256f 38%,#0a3cae 64%,#0046cc 86%,#004bd6 100%);color:#fff;padding:0 0 clamp(28px,4.6vh,52px);font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Inter","Helvetica Neue",Arial,sans-serif;-webkit-font-smoothing:antialiased}
.tvgplay *{box-sizing:border-box}
.tvgplay .tpn{display:none!important;position:relative;z-index:2;background:#fff;box-shadow:0 1px 0 rgba(0,30,80,.06),0 14px 34px -22px rgba(0,30,90,.45)}
.tvgplay .tpn .tpb{display:flex;align-items:center;justify-content:space-between;gap:28px;height:78px;width:min(1680px,calc(100% - 2*clamp(12px,2.4vw,40px)),calc((100vh - 78px - 100px)*16/9));min-width:min(760px,calc(100% - 24px));margin:0 auto}
.tvgplay .tpn .tpl{display:flex;align-items:center;gap:clamp(16px,2.2vw,36px);min-width:0}
.tvgplay .tpn a{position:relative;padding:26px 0;font-size:12.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(11,23,48,.62);text-decoration:none;white-space:nowrap;transition:color .25s}
.tvgplay .tpn a:hover,.tvgplay .tpn a.on{color:var(--hc,#0051B8)}
.tvgplay .tpn .c-pr{--hc:#0b0b10}.tvgplay .tpn .c-jg{--hc:#0051B8}.tvgplay .tpn .c-pn{--hc:#cc0000}.tvgplay .tpn .c-cc{--hc:#6a2391}.tvgplay .tpn .c-gp{--hc:#f07d00}
.tvgplay .tpn .c-tr{--hc:#0b1730}
.tvgplay .tpn .c-tr:before{content:"";position:absolute;left:-14px;right:-14px;top:50%;height:34px;margin-top:-17px;border-radius:999px;background:linear-gradient(135deg,rgba(255,255,255,.92) 0%,rgba(214,232,255,.55) 45%,rgba(255,255,255,.35) 60%,rgba(200,222,255,.6) 100%);border:1px solid rgba(255,255,255,.95);box-shadow:inset 0 1px 0 #fff,inset 0 -8px 14px rgba(0,70,160,.10),0 0 0 1px rgba(0,60,140,.08),0 8px 20px -10px rgba(0,40,110,.45);-webkit-backdrop-filter:blur(12px) saturate(180%);backdrop-filter:blur(12px) saturate(180%);opacity:0;transform:scale(.92);transition:opacity .35s,transform .45s cubic-bezier(.2,1.2,.4,1);z-index:-1}
.tvgplay .tpn .c-tr{isolation:isolate}
.tvgplay .tpn .c-tr:hover:before{opacity:1;transform:none}
.tvgplay .tpn .c-tr:after{display:none}
.tvgplay .tpn a:after{content:"";position:absolute;left:0;right:0;bottom:18px;height:2px;border-radius:2px;background:currentColor;transform:scaleX(0);transition:transform .35s cubic-bezier(.2,.7,.2,1)}
.tvgplay .tpn a:hover:after,.tvgplay .tpn a.on:after{transform:scaleX(1)}
.tvgplay .tpn .tlogo{flex:0 0 auto;padding:0;display:block;line-height:0}
.tvgplay .tpn .tlogo:after{display:none}
.tvgplay .tpn .tlogo img{display:block;height:54px;width:auto}
.tvgplay .tpw{width:min(1680px,calc(100% - 2*clamp(12px,2.4vw,40px)),calc((100vh - 78px - 100px)*16/9));min-width:min(760px,calc(100% - 24px));margin:clamp(16px,2.6vh,28px) auto 0}
.tvgplay .tvg-live-player{max-width:100%;margin:0}
.tvgplay .tvg-live-player__frame{position:relative;z-index:1;box-shadow:0 0 0 1px rgba(255,255,255,.22),0 0 46px 2px rgba(70,140,255,.38),0 40px 90px -40px rgba(0,16,70,.85)}
/* moldura do player com mais presença (pedido de 23/10, 17:09): aro em degradê azul do app com brilho correndo devagar */
.tvgplay .tvg-live-player{position:relative}
.tvgplay .tvg-live-player:before{content:"";position:absolute;inset:-6px;z-index:0;border-radius:26px;padding:6px;pointer-events:none;
  background:linear-gradient(120deg,#ffffff 0%,#8fbaff 14%,#0048d8 32%,#1f6bff 50%,#9cc6ff 64%,#0048d8 80%,#ffffff 100%) 0 0/300% 300%;
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0);
  animation:tvgaro 9s ease-in-out infinite alternate;filter:drop-shadow(0 0 10px rgba(80,150,255,.55))}
@keyframes tvgaro{to{background-position:100% 100%}}
.tvgplay.ytmini-on .tvg-live-player:before{opacity:0}
@media (max-width:760px){.tvgplay .tvg-live-player:before{inset:-4px;padding:4px;border-radius:18px}}
@media (prefers-reduced-motion:reduce){.tvgplay .tvg-live-player:before{animation:none}}
.tvgplay .tpg{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(12px,1.3vw,20px);margin-top:clamp(16px,2.4vh,26px)}
.tvgplay .tpc{transition:transform 1.1s cubic-bezier(.25,.8,.25,1),box-shadow 1.1s cubic-bezier(.25,.8,.25,1)!important;position:relative;display:flex;flex-direction:column;justify-content:space-between;aspect-ratio:16/6.4;padding:clamp(14px,1.3vw,20px);border-radius:14px;overflow:hidden;color:#fff;text-decoration:none;isolation:isolate;box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 0 1px rgba(255,255,255,.10),0 2px 6px rgba(0,8,30,.25),0 18px 40px -22px rgba(0,8,30,.75);transition:transform .55s cubic-bezier(.2,.8,.2,1),box-shadow .55s cubic-bezier(.2,.8,.2,1)}
.tvgplay .tpc .bg{position:absolute;inset:0;z-index:-2;background-size:cover!important;background-position:center!important;transition:transform 1.6s cubic-bezier(.25,.8,.25,1)}
.tvgplay .tpc:before{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(0,0,0,.42) 0%,rgba(0,0,0,.12) 55%,rgba(0,0,0,0) 100%),linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(0,0,0,.45) 100%)}
.tvgplay .tpc.pn:before{background:linear-gradient(90deg,rgba(150,0,0,.55) 0%,rgba(150,0,0,.15) 55%,rgba(0,0,0,0) 100%),linear-gradient(180deg,rgba(0,0,0,0) 40%,rgba(90,0,0,.5) 100%)}
.tvgplay .tpc:after{content:"";position:absolute;top:0;bottom:0;left:-60%;width:40%;z-index:1;pointer-events:none;background:linear-gradient(100deg,transparent,rgba(255,255,255,.14),transparent);transform:skewX(-18deg);opacity:.45;transition:left 1.6s cubic-bezier(.25,.8,.25,1),opacity 1.6s ease}
.tvgplay .tpc:hover{transform:translateY(-4px);box-shadow:inset 0 1px 0 rgba(255,255,255,.25),0 0 0 1px rgba(255,255,255,.28),0 4px 10px rgba(0,8,30,.25),0 30px 60px -26px rgba(0,8,30,.85)}
.tvgplay .tpc:hover:after{left:130%;opacity:1}
.tvgplay .tpc:hover .bg{transform:scale(1.05)}
.tvgplay .tpc.jg .bg{background:url(https://tvguarapari.com/wp-content/uploads/2026/10/tvg-programa-jg-logo.webp) center/cover no-repeat,radial-gradient(rgba(255,255,255,.13) 1px,transparent 1.5px) 0 0/12px 12px,radial-gradient(90% 120% at 85% 0%,#3d8bff 0%,transparent 60%),linear-gradient(150deg,#1f6cf0 0%,#0a46c4 45%,#062f8f 100%)}
.tvgplay .tpc.pn .bg{background:url(https://tvguarapari.com/wp-content/uploads/2026/10/tvg-programa-panorama-arte.webp) center/cover no-repeat,repeating-linear-gradient(115deg,rgba(255,255,255,.05) 0 2px,transparent 2px 22px),radial-gradient(90% 120% at 85% 0%,#ff4a3d 0%,transparent 60%),linear-gradient(150deg,#e01b1b 0%,#b30000 50%,#7d0000 100%)}
.tvgplay .tpc.cc .bg{background:url(https://tvguarapari.com/wp-content/uploads/2026/10/tvg-programa-condecast-logo.webp) center/cover no-repeat,radial-gradient(60% 80% at 90% 10%,rgba(255,150,60,.35),transparent 60%),radial-gradient(70% 90% at 10% 100%,rgba(190,90,255,.45),transparent 65%),linear-gradient(150deg,#3b1650 0%,#26103a 55%,#170a24 100%)}
.tvgplay .tpc .th{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.tvgplay .tpc img{display:block;height:clamp(40px,4.4vw,58px);width:auto;max-width:62%;object-fit:contain;object-position:left center;filter:drop-shadow(0 6px 14px rgba(0,0,0,.35));transition:transform .55s cubic-bezier(.2,.8,.2,1);transform-origin:left center}
.tvgplay .tpc:hover img{transform:scale(1.05)}
.tvgplay .tpc .lv{display:none;align-items:center;gap:6px;padding:5px 9px;border-radius:6px;background:#e1251b;font-size:10.5px;font-weight:800;letter-spacing:.14em;box-shadow:0 4px 12px rgba(225,37,27,.45)}
.tvgplay .tpc .lv i{width:6px;height:6px;border-radius:50%;background:#fff;animation:tvgBlk 1.4s ease-in-out infinite}
@keyframes tvgBlk{50%{opacity:.25}}
.tvgplay .tpc.air .lv{display:inline-flex}
.tvgplay .tpc .tf{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-top:9px;border-top:1px solid rgba(255,255,255,.22)}
.tvgplay .tpc .dd{display:flex;flex-direction:column;gap:3px;min-width:0}
.tvgplay .tpc .dd b{font-size:clamp(14px,1.15vw,17px);font-weight:750;letter-spacing:-.01em;white-space:nowrap}
.tvgplay .tpc .dd small{font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.72);white-space:nowrap}
.tvgplay .tpc .hr{font-size:clamp(22px,2vw,30px);font-weight:800;letter-spacing:-.04em;line-height:.9;font-variant-numeric:tabular-nums}
.tvgplay .tpc .hr span{font-size:.55em;font-weight:700;letter-spacing:0;margin:0 1px;opacity:.75;vertical-align:.38em}
/* v52: a logo vem da própria vinheta (lado direito do fundo); texto à esquerda */
.tvgplay .tpc .bg{background-position:right center!important}
.tvgplay .tpc .th img{display:none}
.tvgplay .tpc .th{min-height:22px}
.tvgplay .tpc .tf{flex-direction:column;align-items:flex-start;justify-content:flex-end;gap:3px;border-top:0;padding-top:0;max-width:46%}
.tvgplay .tpc .dd b{display:none}
.tvgplay .tpc .hr{font-size:clamp(26px,2.3vw,36px);text-shadow:0 2px 12px rgba(0,0,0,.35)}
.tvgplay .tpc .dd small{text-shadow:0 1px 8px rgba(0,0,0,.35)}
.tvgplay .tpc .dd small{color:#fff!important;opacity:1}
.tvgplay .tpc .hr span{opacity:1!important}
.tvgplay .tpc.jg:before{background:linear-gradient(90deg,#0a3cae 0%,rgba(10,60,174,.75) 12%,rgba(10,60,174,.25) 26%,rgba(10,60,174,0) 36%)!important}
.tvgplay .tpc.pn:before{background:linear-gradient(90deg,rgba(150,0,0,.35) 0%,rgba(150,0,0,0) 45%)!important}
.tvgplay .tpc.cc:before{background:linear-gradient(90deg,#3a1766 0%,#3a1766 34%,rgba(58,23,102,.55) 50%,rgba(58,23,102,0) 64%)!important}
.tvgplay .tpi{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:0 2px}
.tvgplay .tnow{display:flex;align-items:baseline;gap:12px;min-width:0}
.tvgplay .tnow small{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.tvgplay .tnow b{font-size:15px;font-weight:700;letter-spacing:-.01em}
.tvgplay .tnow span{font-size:13.5px;color:rgba(255,255,255,.7)}
.tvgplay .tgr{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.tvgplay .tgr a{display:flex;align-items:baseline;gap:8px;padding:8px 12px;border-radius:9px;border:1px solid rgba(255,255,255,.22);color:#fff;text-decoration:none;transition:background .2s}
.tvgplay .tgr a:hover{background:rgba(255,255,255,.1)}
.tvgplay .tgr a.nx{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.6)}
.tvgplay .tgr em{font-style:normal;font-size:10.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.65)}
.tvgplay .tgr b{font-size:13.5px;font-weight:700}
@media (max-width:760px){
  .tvgplay .tpn .tpb{width:100%;min-width:0;height:62px;gap:12px;padding:0 0 0 14px}
  .tvgplay .tpn .tpl{flex:1;overflow-x:auto;scrollbar-width:none;gap:20px;-webkit-mask:linear-gradient(90deg,#000 82%,transparent);mask:linear-gradient(90deg,#000 82%,transparent)}
  .tvgplay .tpn .tpl::-webkit-scrollbar{display:none}
  .tvgplay .tpn a{padding:20px 0;font-size:11.5px}
  .tvgplay .tpn a:after{bottom:13px}
  .tvgplay .tpn .tlogo{padding-right:12px}
  .tvgplay .tpn .tlogo img{height:40px}
  .tvgplay .tpw{width:calc(100% - 16px);min-width:0;margin-top:8px}
  .tvgplay .tpi{flex-direction:column;align-items:flex-start;padding:0 4px;gap:10px}
  .tvgplay .tnow{flex-wrap:wrap;gap:4px 10px}
  .tvgplay .tgr{justify-content:flex-start}
  .tvgplay .tpg{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;overflow:visible;width:88%;margin:14px auto 0;padding:0}
  .tvgplay .tpg .tpc{aspect-ratio:auto;padding:0;border-radius:12px;justify-content:flex-start}
  .tvgplay .tpg .tpc.jg{background:#0a3cae}.tvgplay .tpg .tpc.pn{background:#b80000}.tvgplay .tpg .tpc.cc{background:#3a1766}
  .tvgplay .tpg .tpc:before{display:none}
  .tvgplay .tpg .tpc .bg{position:relative;inset:auto;z-index:0;display:block;width:100%;aspect-ratio:16/9;flex:0 0 auto;background-position:92% center!important}
  .tvgplay .tpg .tpc.jg .bg{background-position:100% center!important}
  .tvgplay .tpg .tpc.pn .bg{background-position:84% center!important}
  .tvgplay .tpg .tpc .th{position:absolute;left:6px;top:6px;min-height:0;z-index:2}
  .tvgplay .tpg .tpc .lv{padding:3px 6px;font-size:8.5px;letter-spacing:.1em}
  .tvgplay .tpg .tpc .tf{max-width:none;padding:7px 8px 9px;gap:2px}
  .tvgplay .tpg .tpc .dd small{font-size:8.5px;letter-spacing:.05em;white-space:normal;line-height:1.2;text-shadow:none}
  .tvgplay .tpg .tpc .hr{font-size:16px;text-shadow:none}
  .tvgplay .tpg .tpc .dd b{font-size:11px}
  .tvgplay .tpg .tpc .tf{padding:6px 7px 7px}
  .tvgplay .tpg .tpc:hover{transform:none}
}
/* SOM: o player já abre tocando com som; se o navegador bloquear o som, toca sem som e o primeiro toque/clique na página liga o som (pedido de 23/10, 12:32) */
.tvgplay .tpw{position:relative}
/* faixa "AO VIVO | TV Guarapari ... Canal 9.1" entre o menu e o player: respiro e contexto, padrão das páginas ao vivo (pedido de 24/10, 23:52) */
.tvgplay .tvbar{display:flex;align-items:center;justify-content:space-between;height:46px;padding:0 4px;margin-bottom:22px;color:#fff}/* faixa Ao vivo centralizada entre as categorias e o player (pedido de 25/10, 02:39) */
.tvgplay .tvbar-l{display:flex;align-items:center;gap:10px;font-size:12.5px;font-weight:800;letter-spacing:.14em}
.tvgplay .tvbar-l i{width:8px;height:8px;border-radius:50%;background:#ff3b30;box-shadow:0 0 0 4px rgba(255,59,48,.22);animation:tvgBarDot 2s ease-in-out infinite}
@keyframes tvgBarDot{50%{box-shadow:0 0 0 7px rgba(255,59,48,.06)}}
.tvgplay .tvbar-l s{width:1px;height:14px;background:rgba(255,255,255,.35);text-decoration:none}
.tvgplay .tvbar-l em{font-style:normal;font-size:13.5px;font-weight:600;letter-spacing:.02em;color:rgba(255,255,255,.82)}
.tvgplay .tvbar-l em.tvbar-lg{display:block;width:108px;height:24px;background:#fff;opacity:.96;-webkit-mask:url(https://tvguarapari.com/wp-content/uploads/2026/10/tvg-simbolo-glass-640.webp) no-repeat 0 50%/auto 22px,url(https://tvguarapari.com/wp-content/uploads/2026/10/tvg-wordmark-glass-800.webp) no-repeat 100% 60%/78px auto;mask:url(https://tvguarapari.com/wp-content/uploads/2026/10/tvg-simbolo-glass-640.webp) no-repeat 0 50%/auto 22px,url(https://tvguarapari.com/wp-content/uploads/2026/10/tvg-wordmark-glass-800.webp) no-repeat 100% 60%/78px auto}/* no lugar do texto "TV Guarapari": a logo oficial (símbolo + Tv Guarapari) em branco, como no calendário (pedido de 25/10, 01:24) */
.tvgplay .tvbar-r{font-size:13px;font-weight:600;letter-spacing:.02em;color:rgba(255,255,255,.66)}
@media (max-width:760px){.tvgplay .tvbar{height:40px;padding:0 4px;margin-bottom:8px}.tvgplay .tvbar-l{font-size:11.5px;gap:9px}.tvgplay .tvbar-l em{font-size:12.5px}
.tvgplay .tvbar-l em.tvbar-lg{width:92px;height:20px;-webkit-mask-size:auto 19px,66px auto;mask-size:auto 19px,66px auto}.tvgplay .tvbar-r{font-size:12px}}
.tvgplay .tsom{position:absolute;left:clamp(12px,1.4vw,22px);top:calc(68px + clamp(12px,1.4vw,22px));z-index:20;display:inline-flex;align-items:center;gap:10px;height:44px;padding:0 18px 0 14px;border:0;border-radius:999px;background:rgba(6,18,52,.62);-webkit-backdrop-filter:blur(16px) saturate(170%);backdrop-filter:blur(16px) saturate(170%);box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 0 0 1px rgba(255,255,255,.16),0 12px 28px -12px rgba(0,0,0,.6);color:#fff;font:700 14px/1 -apple-system,BlinkMacSystemFont,"SF Pro Display","Inter",sans-serif;cursor:pointer;opacity:0;transform:translateY(-6px);transition:opacity .45s,transform .45s cubic-bezier(.2,.8,.2,1),background .3s}
.tvgplay .tsom.on{opacity:1;transform:none}
.tvgplay .tsom:hover{background:rgba(0,81,184,.85)}
.tvgplay .tsom svg{width:20px;height:20px}
.tvgplay .tsom i{position:absolute;inset:0;border-radius:inherit;box-shadow:0 0 0 0 rgba(255,255,255,.45);animation:tvgSom 2s infinite;pointer-events:none}
@keyframes tvgSom{70%{box-shadow:0 0 0 12px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}
@media (max-width:760px){.tvgplay .tsom{top:calc(48px + 12px);height:38px;padding:0 14px 0 11px;font-size:12.5px;gap:8px}.tvgplay .tsom svg{width:17px;height:17px}}
/* CONTROLES no padrão do YouTube (pedido de 23/10, 16:35): play/pausa, som, AO VIVO, barra para voltar até 45 min e tela cheia.
   Saíram: avançar/voltar 10 s, qualidade da imagem e o botão "Janela flutuante". Tocar/clicar no vídeo pausa e volta a tocar. */
.tvgplay .plyr.ytm .plyr__controls,.tvgplay .plyr.ytm .plyr__control--overlaid{display:none!important}
.tvgplay .ytt{position:absolute;inset:0;z-index:5;cursor:pointer;-webkit-tap-highlight-color:transparent}
.tvgplay .ytsh{position:absolute;left:0;right:0;bottom:0;height:min(130px,42%);z-index:6;pointer-events:none;background:linear-gradient(0deg,rgba(0,0,0,.75),rgba(0,0,0,.3) 55%,transparent);opacity:0;transition:opacity .25s}
.tvgplay .ytb{position:absolute;left:0;right:0;bottom:0;z-index:7;padding:0 14px 2px;color:#fff;opacity:0;pointer-events:none;transition:opacity .25s;font:500 13px/1 Roboto,-apple-system,BlinkMacSystemFont,Arial,sans-serif;-webkit-user-select:none;user-select:none}
.tvgplay .plyr.ytshow .ytb,.tvgplay .plyr.ytpaused .ytb{opacity:1;pointer-events:auto}
.tvgplay .plyr.ytshow .ytsh,.tvgplay .plyr.ytpaused .ytsh{opacity:1}
.tvgplay .plyr.ytm:not(.ytshow):not(.ytpaused) .ytt{cursor:none}
.tvgplay .ytp{position:relative;height:18px;display:flex;align-items:center;cursor:pointer;touch-action:none}
.tvgplay .ytp-r{position:relative;flex:1;height:3px;background:rgba(255,255,255,.28);transition:height .1s}
.tvgplay .ytp:hover .ytp-r,.tvgplay .ytp.drag .ytp-r{height:5px}
.tvgplay .ytp-f{position:absolute;left:0;top:0;bottom:0;width:100%;background:#f03;transform-origin:0 50%}
.tvgplay .ytp-k{position:absolute;top:50%;left:100%;width:13px;height:13px;margin:-6.5px 0 0 -6.5px;border-radius:50%;background:#f03;transform:scale(0);transition:transform .1s}
.tvgplay .ytp:hover .ytp-k,.tvgplay .ytp.drag .ytp-k{transform:scale(1)}
.tvgplay .ytp-tip{position:absolute;bottom:24px;left:0;transform:translateX(-50%);padding:6px 9px;border-radius:5px;background:rgba(28,28,28,.92);font-size:12.5px;font-weight:500;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .1s}
.tvgplay .ytp:hover .ytp-tip,.tvgplay .ytp.drag .ytp-tip{opacity:1}
.tvgplay .ytp.wait .ytp-f{animation:ytwait 1s ease-in-out infinite alternate}
@keyframes ytwait{to{opacity:.35}}
.tvgplay .ytr{display:flex;align-items:center;height:48px;gap:2px}
.tvgplay .ytbt{width:48px;height:48px;padding:0;border:0;background:none;color:#fff;cursor:pointer;display:grid;place-items:center;opacity:.92;transition:opacity .1s}
.tvgplay .ytbt:hover{opacity:1}
.tvgplay .ytbt svg{width:36px;height:36px;fill:#fff;filter:drop-shadow(0 0 2px rgba(0,0,0,.3))}
.tvgplay .ytv{display:flex;align-items:center}
.tvgplay .ytv-s{-webkit-appearance:none;appearance:none;width:76px;height:16px;margin:0 10px 0 2px;padding:0;background:transparent;cursor:pointer;--vp:100%}
.tvgplay .ytv-s::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(90deg,#fff var(--vp),rgba(255,255,255,.3) var(--vp))}
.tvgplay .ytv-s::-moz-range-track{height:4px;border-radius:2px;background:linear-gradient(90deg,#fff var(--vp),rgba(255,255,255,.3) var(--vp))}
.tvgplay .ytv-s::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;margin-top:-4.5px;border-radius:50%;background:#fff;border:0}
.tvgplay .ytv-s::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:#fff;border:0}
.tvgplay .yt-j{position:relative}
.tvgplay .yt-mp{position:relative}
.tvgplay .yt-mp:after{content:"";position:absolute;left:50%;bottom:9px;width:18px;height:3px;margin-left:-9px;border-radius:2px;background:#f03;transform:scaleX(0);transition:transform .2s}
.tvgplay .yt-mp.on:after{transform:scaleX(1)}
.tvgplay .yttoast{position:absolute;left:50%;top:16px;z-index:8;max-width:calc(100% - 32px);transform:translate(-50%,-8px);padding:9px 14px;border-radius:8px;background:rgba(20,20,20,.86);color:#fff;font:500 13px/1.3 Roboto,-apple-system,BlinkMacSystemFont,Arial,sans-serif;text-align:center;opacity:0;pointer-events:none;transition:opacity .25s,transform .25s}
.tvgplay .yttoast.on{opacity:1;transform:translate(-50%,0)}
@media (max-width:760px){.tvgplay .yt-mp:after{bottom:6px;width:14px;margin-left:-7px}}
.tvgplay .yt-j b{display:none}
.tvgplay .yt-f30 svg text{transform:scaleX(-1);transform-origin:18.2px 50%}
.tvgplay .ytlive{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 10px;border:0;border-radius:6px;background:none;color:#fff;font:500 13px/1 Roboto,-apple-system,BlinkMacSystemFont,Arial,sans-serif;letter-spacing:.03em;cursor:default}
.tvgplay .ytlive i{width:8px;height:8px;border-radius:50%;background:#f03}
.tvgplay .ytlive em{font-style:normal;color:rgba(255,255,255,.85);display:none}
.tvgplay .ytlive.behind{cursor:pointer}
.tvgplay .ytlive.behind i{background:#aaa}
.tvgplay .ytlive.behind em{display:inline}
.tvgplay .ytlive.behind:hover{background:rgba(255,255,255,.12)}
.tvgplay .ytsp{flex:1}
.tvgplay .ytfl{position:absolute;left:50%;top:50%;z-index:6;width:68px;height:68px;margin:-34px 0 0 -34px;border-radius:50%;background:rgba(0,0,0,.5);display:grid;place-items:center;opacity:0;pointer-events:none}
.tvgplay .ytfl.go{animation:ytfl .6s ease-out}
@keyframes ytfl{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(1.6)}}
.tvgplay .ytfl svg{width:46px;height:46px;fill:#fff}
/* no iPhone/iPad a barrinha também aparece: o volume é feito por um controle de áudio próprio (o iOS não deixa mudar video.volume) */
@media (max-width:760px){.tvgplay .ytr{height:40px}.tvgplay .ytbt{width:40px;height:40px}.tvgplay .ytbt svg{width:30px;height:30px}.tvgplay .ytb{padding:0 8px 0}.tvgplay .ytlive{font-size:12px;padding:0 6px}.tvgplay .ytv-s{width:56px;margin:0 6px 0 0}}
/* MINI PLAYER: quando a pessoa rola a página e o ao vivo sai da tela, ele continua tocando num canto */
.tvgplay .tvg-live-player__frame.ytmini{position:fixed!important;left:auto;top:calc(72px + env(safe-area-inset-top,0px));right:16px;bottom:auto;/* player flutuante sempre aparece no canto superior direito (pedido de 24/10, 14:10), um pouco mais abaixo (pedido de 24/10, 18:34) */width:min(400px,calc(100vw - 32px));z-index:9990;border-radius:14px;overflow:hidden;box-shadow:0 22px 50px -14px rgba(0,0,0,.65),0 0 0 1px rgba(255,255,255,.14);animation:ytmIn .35s cubic-bezier(.2,.8,.2,1)}
@keyframes ytmIn{from{transform:translateY(-24px);opacity:0}}
.tvgplay.ytmini-on{z-index:9990}
/* player flutuante arrastável: o dedo segura e move (não rola a página por cima dele) */
.tvgplay .tvg-live-player__frame.ytmini{touch-action:none;cursor:grab;-webkit-user-select:none;user-select:none}
.tvgplay .tvg-live-player__frame.ytmini.ytdrag{cursor:grabbing;animation:none;transition:none;box-shadow:0 30px 60px -14px rgba(0,0,0,.7),0 0 0 2px rgba(255,255,255,.35)}
.tvgplay .tvg-live-player__frame:not(.ytmini){aspect-ratio:16/9}/* 25/10, 08:50: reserva a altura do player antes de o vídeo carregar — a página não pula (layout shift 0,57 → 0) */
@media (max-width:760px){.tvgplay .tvg-live-player__frame.ytmini{width:min(62vw,300px);right:10px;top:calc(10px + env(safe-area-inset-top,0px));bottom:auto;border-radius:12px}}/* no celular o flutuante fica colado no canto superior direito; no computador continua em 72px (pedido de 25/10, 01:22) */
.tvgplay .ytmini .ytv,.tvgplay .ytmini .yt-fs,.tvgplay .ytmini .ytlive em,.tvgplay .ytmini .tvg-live-player__status{display:none!important}
.tvgplay .ytmini .ytr{height:36px}.tvgplay .ytmini .ytbt{width:36px;height:36px}.tvgplay .ytmini .ytbt svg{width:28px;height:28px}
.tvgplay .ytmx{display:none;position:absolute;top:6px;z-index:9;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.55);color:#fff;cursor:pointer;place-items:center}
.tvgplay .ytmx svg{width:16px;height:16px}
.tvgplay .ytmini .ytmx{display:grid}
.tvgplay .ytmx.x{right:6px}.tvgplay .ytmx.up{left:6px}
/* NOTÍCIAS: card em vidro líquido embaixo dos 3 programas (pedidos de 23/10, 12:31 e 13:12).
   O card leva para a aba Notícias; as 15 últimas matérias passam sozinhas num arco, dá para arrastar (dedo/mouse) e rolar; cada uma abre a sua matéria. */
.tvgplay .tnc{position:relative;display:flex;align-items:stretch;gap:0;margin-top:clamp(12px,1.3vw,20px);height:clamp(220px,18.5vw,270px);/* só a largura menor (86%, centralizado) para ter menos destaque que o player; altura e matérias do mesmo tamanho (pedido de 24/10, 23:08) */width:86%;margin-left:auto;margin-right:auto;border-radius:20px;color:#fff;isolation:isolate;--mx:28%;--my:0%;
  background:linear-gradient(135deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,.08) 38%,rgba(255,255,255,.035) 62%,rgba(255,255,255,.12) 100%);
  -webkit-backdrop-filter:blur(24px) saturate(175%);backdrop-filter:blur(24px) saturate(175%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55),inset 0 -1px 0 rgba(255,255,255,.10),inset 0 0 22px rgba(255,255,255,.05),0 1px 2px rgba(0,10,40,.22),0 26px 54px -30px rgba(0,8,30,.85);
  transition:box-shadow .8s cubic-bezier(.2,.8,.2,1)}
.tvgplay .tnc:after{content:"";position:absolute;inset:0;z-index:5;border-radius:inherit;padding:1px;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.78) 0%,rgba(255,255,255,.14) 30%,rgba(255,255,255,.04) 60%,rgba(255,255,255,.42) 100%);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask:linear-gradient(#000 0 0) content-box exclude,linear-gradient(#000 0 0)}
.tvgplay .tnc .gl{position:absolute;inset:0;z-index:-1;border-radius:inherit;overflow:hidden;pointer-events:none}
.tvgplay .tnc .gl:before{content:"";position:absolute;inset:0;background:radial-gradient(460px circle at var(--mx) var(--my),rgba(255,255,255,.28),rgba(255,255,255,.06) 38%,transparent 62%);opacity:.75;transition:opacity .8s}
.tvgplay .tnc .gl:after{content:"";position:absolute;top:-60%;left:-30%;width:60%;height:220%;background:radial-gradient(closest-side,rgba(140,190,255,.22),transparent);filter:blur(6px);animation:tvgGlas 14s ease-in-out infinite alternate}
@keyframes tvgGlas{to{transform:translateX(170%)}}
.tvgplay .tnc .gl i{position:absolute;left:20%;top:50%;width:clamp(240px,24vw,340px);aspect-ratio:1;transform:translate(-50%,-50%);background:url(https://tvguarapari.com/wp-content/uploads/2026/10/tvg-simbolo-glass-640.webp) center/contain no-repeat;opacity:.12;filter:saturate(0) brightness(2.2);mix-blend-mode:screen}
.tvgplay .tnc .ln{position:absolute;inset:0;z-index:1;border-radius:inherit}
.tvgplay .tnc .tx{position:relative;z-index:2;pointer-events:none;flex:0 0 clamp(230px,22.8vw,320px);display:flex;flex-direction:column;justify-content:center;gap:8px;padding:0 0 0 clamp(20px,2.2vw,34px)}
.tvgplay .tnc small{display:inline-flex;align-items:center;gap:8px;font-size:11.5px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.86)}
.tvgplay .tnc small:before{content:"";width:8px;height:8px;border-radius:50%;background:#ff3b30;box-shadow:0 0 0 0 rgba(255,59,48,.55);animation:tvgNwP 1.8s infinite}
@keyframes tvgNwP{70%{box-shadow:0 0 0 7px rgba(255,59,48,0)}100%{box-shadow:0 0 0 0 rgba(255,59,48,0)}}
.tvgplay .tnc b{font-size:clamp(20px,1.9vw,28px);font-weight:800;letter-spacing:-.025em;line-height:1.08;text-shadow:0 2px 14px rgba(0,10,50,.35)}
.tvgplay .tnc .go{align-self:flex-start;margin-top:6px;display:inline-flex;align-items:center;gap:10px;height:42px;padding:0 18px 0 20px;border-radius:999px;background:rgba(255,255,255,.94);color:#0046b0;font-size:14px;font-weight:800;white-space:nowrap;box-shadow:inset 0 -2px 0 rgba(0,40,120,.08),0 10px 22px -12px rgba(0,10,40,.6)}
.tvgplay .tnc .go i{font-style:normal;transition:transform .4s cubic-bezier(.2,.8,.2,1)}
.tvgplay .tnc .ln:hover~.tx .go i{transform:translateX(4px)}
.tvgplay .tnc .arc{position:relative;z-index:3;flex:1;min-width:0;overflow:hidden;touch-action:pan-y;cursor:grab;-webkit-user-select:none;user-select:none;-webkit-mask:linear-gradient(90deg,transparent 0,#000 11%,#000 89%,transparent 100%);mask:linear-gradient(90deg,transparent 0,#000 11%,#000 89%,transparent 100%)}
.tvgplay .tnc .arc.drag{cursor:grabbing}
.tvgplay .tnc .arc .it{--w:clamp(140px,12.6vw,190px);position:absolute;left:50%;top:50%;width:var(--w);margin:-66px 0 0 calc(var(--w)/-2);display:flex;flex-direction:column;gap:7px;color:#fff;text-decoration:none;-webkit-user-drag:none;will-change:transform;transform-origin:50% 120%}
.tvgplay .tnc .arc .im{display:block;aspect-ratio:16/9;border-radius:11px;background:#0a3cae center/cover no-repeat;border:2px solid rgba(255,255,255,.82);box-shadow:0 14px 26px -14px rgba(0,10,40,.85);transition:border-color .3s,box-shadow .3s,transform .4s cubic-bezier(.2,.8,.2,1)}
.tvgplay .tnc .arc .tt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;padding:0 2px;font-size:12px;font-weight:750;line-height:1.28;text-shadow:0 1px 8px rgba(0,10,50,.55)}
.tvgplay .tnc .arc .it.cen .im{border-color:#fff;box-shadow:0 18px 34px -14px rgba(0,10,40,.9)}
.tvgplay .tnc .arc .it:hover .im{border-color:#fff;transform:translateY(-4px);box-shadow:0 20px 32px -14px rgba(0,10,40,.9)}
.tvgplay .tnc .arc.drag .it:hover .im{transform:none}
@media (max-width:1100px) and (min-width:761px){.tvgplay .tnc .tx{flex-basis:210px}.tvgplay .tnc b{font-size:19px}}
@media (max-width:760px){
  .tvgplay .tnc{flex-direction:column;height:auto;margin-top:8px;border-radius:16px;width:92%}
  .tvgplay .tnc .tx{flex:0 0 auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:4px 12px;padding:14px 12px 0 16px}
  .tvgplay .tnc .tx small{flex:0 0 100%;font-size:10px;letter-spacing:.15em}
  .tvgplay .tnc b{flex:1;font-size:16px}
  .tvgplay .tnc .go{display:none!important}/* sem a setinha no canto do card no celular; o card inteiro continua levando para Notícias (pedido de 24/10, 23:40) */
  .tvgplay .tnc .go i{font-size:16px}
  .tvgplay .tnc .arc{flex:0 0 auto;height:190px}
  .tvgplay .tnc .arc .it{--w:150px;margin-top:-62px}
  .tvgplay .tnc .arc .tt{font-size:11px}
  .tvgplay .tnc .gl i{left:70%;width:220px}
}
/* PRIMEIRA TELA MAIS AMPLA no computador (pedido de 27/10, 17:36): sem rolar já aparecem o player, as abas dos programas (coluna à direita) e o card das matérias (embaixo, pelo menos o começo).
   A altura do player vem da altura da tela: --ph = tela − cabeçalho − barra − card. Celular e tablet continuam como estavam. */
@media (min-width:1100px){
.tvgplay .tpw{--ph:min(clamp(340px,calc(100vh - 330px),560px),calc((100vw - 460px)*9/16));width:min(1400px,calc(100% - 2*clamp(12px,2.4vw,40px)));min-width:0;display:grid;grid-template-columns:calc(var(--ph)*16/9) minmax(260px,1fr);grid-template-areas:"bar bar" "pl tiles" "arc arc";column-gap:clamp(14px,1.4vw,22px);margin-top:clamp(12px,2vh,22px)}
.tvgplay .tvbar{grid-area:bar;margin-bottom:14px}
.tvgplay .tvg-live-player{grid-area:pl;width:100%;min-width:0}
.tvgplay .tpg{grid-area:tiles;grid-template-columns:minmax(0,1fr);grid-template-rows:repeat(3,minmax(0,1fr));gap:clamp(10px,1.1vw,14px);margin:0;min-height:0}
.tvgplay .tpg .tpc{aspect-ratio:auto;min-height:0;padding:clamp(12px,1.1vw,18px)}
.tvgplay .tnc{grid-area:arc;width:100%;margin-top:clamp(12px,1.3vw,18px);height:clamp(190px,15vw,230px)}
.tvgplay .tsom{top:calc(60px + clamp(12px,1.4vw,22px))}
}
