/* Carrossel dos anunciantes (no lugar da lista 1.º…10.º do Top 10): cartões em pé, grandes, num anel 3D que gira devagar.
   Cada cartão é uma placa de vidro claro com moldura de luz dourada, brilho que passa e reflexo no chão. */
.anunc{margin-top:clamp(40px,7vh,80px);text-align:center}
.anunc .sec-linha{text-align:center}
.anunc-tit{font-size:clamp(28px,3.8vw,54px);font-weight:700;letter-spacing:-.04em;line-height:1.05;max-width:22ch;margin:0 auto}
.anunc-tit span{display:block;background:linear-gradient(90deg,#ffd76a,#F5A800,#5AB4FF);-webkit-background-clip:text;background-clip:text;color:transparent}
.anunc-palco{position:relative;height:clamp(460px,48vw,560px);perspective:1800px;margin-top:18px;overflow:hidden;-webkit-mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent);mask:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent)}
.anunc-anel{position:absolute;left:50%;top:44px;width:0;height:0;transform-style:preserve-3d}
.anunc-c{position:absolute;left:-130px;top:0;width:260px;height:360px;margin:0;display:grid;grid-template-rows:1fr auto;place-items:center;padding:26px 18px 18px;border-radius:26px;overflow:hidden;
  transform:rotateY(var(--a)) translateZ(var(--r));
  background:linear-gradient(160deg,rgba(255,255,255,.97),rgba(226,236,252,.93) 55%,rgba(196,214,245,.9));
  box-shadow:0 0 0 2px rgba(245,168,0,.55),0 30px 60px -24px rgba(0,0,0,.9),inset 0 1px 0 rgba(255,255,255,1);
  -webkit-box-reflect:below 12px linear-gradient(transparent 70%,rgba(255,255,255,.22));
  transition:box-shadow .5s}
.anunc-c img{max-width:86%;max-height:150px;object-fit:contain;filter:saturate(1.05) drop-shadow(0 6px 10px rgba(0,30,80,.18));transition:transform .6s cubic-bezier(.16,1,.3,1)}
.anunc-c figcaption{font-size:13px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:#0a2a5c}
.anunc-luz{position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.9) 50%,transparent 65%);transform:translateX(-130%);animation:passa 4.2s cubic-bezier(.4,0,.2,1) infinite;pointer-events:none;mix-blend-mode:soft-light}
.anunc-c:nth-child(2n) .anunc-luz{animation-delay:-1.4s}.anunc-c:nth-child(3n) .anunc-luz{animation-delay:-2.8s}
.anunc-c.frente{box-shadow:0 0 0 3px #F5A800,0 0 60px rgba(245,168,0,.75),0 30px 70px -20px rgba(0,0,0,.9),inset 0 1px 0 #fff}
.anunc-c.frente img{transform:scale(1.08)}
.anunc-chao{position:absolute;left:50%;bottom:28px;width:min(760px,90%);height:90px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(245,168,0,.45),rgba(10,108,214,.25) 60%,transparent);filter:blur(2px)}
.anunc-chao i{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(245,168,0,.6);animation:holoAnel 3s ease-out infinite}
.anunc-acoes{margin-top:8px}
@media (max-width:760px){
  .anunc-palco{height:400px}
  .anunc-c{left:-85px;width:170px;height:240px;padding:20px 12px 14px;border-radius:20px}
  .anunc-c img{max-height:110px}
  .anunc-c figcaption{font-size:11px}
}
@media (prefers-reduced-motion:reduce){.anunc-luz,.anunc-chao i{animation:none}}

/* A Sucesso de perto: abas com vida e fotos reais em mosaico 3D */
.perto-tabs{display:flex;flex-wrap:wrap;gap:10px;margin:-10px 0 24px}
.perto-tabs button{padding:11px 20px;border-radius:999px;font-weight:700;color:#e8eefc;background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.03));box-shadow:inset 0 0 0 1px rgba(140,200,255,.35);transition:transform .25s,box-shadow .25s,background .25s}
.perto-tabs button:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 1px rgba(245,168,0,.8),0 10px 26px -10px rgba(245,168,0,.8)}
.perto-tabs button[aria-selected="true"]{background:linear-gradient(135deg,#ffd76a,#F5A800);color:#111;box-shadow:0 10px 26px -8px rgba(245,168,0,.9)}
.perto-grade{columns:4 220px;column-gap:14px}
.pt-c{position:relative;display:block;margin:0 0 14px;break-inside:avoid;border-radius:22px;overflow:hidden;transform:perspective(900px) rotateX(var(--rx,0deg)) rotateY(var(--ry,0deg));transition:transform .4s cubic-bezier(.16,1,.3,1),box-shadow .4s;box-shadow:0 0 0 1px rgba(140,200,255,.18),0 24px 50px -28px rgba(0,0,0,.9);animation:ptEntra .7s cubic-bezier(.16,1,.3,1) both}
.pt-c img{width:100%;height:auto;display:block;transition:transform 1.2s cubic-bezier(.16,1,.3,1)}
.pt-c:hover{box-shadow:0 0 0 2px #F5A800,0 30px 60px -24px rgba(245,168,0,.6)}
.pt-c:hover img{transform:scale(1.05)}
.pt-leg{position:absolute;left:0;right:0;bottom:0;padding:34px 14px 12px;font-size:14px;font-weight:700;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.85),transparent)}
@keyframes ptEntra{from{opacity:0;transform:translateY(24px) scale(.97)}}
.perto-ig{margin-top:10px}
@media (prefers-reduced-motion:reduce){.pt-c{animation:none}}

/* botões da entrada (pedido 85): «Ouvir ao vivo» com brilho e clarão; «Escolher minha cidade» em vidro com luz a correr na borda */
.btn-vidro{position:relative;isolation:isolate;overflow:hidden;background:rgba(255,255,255,.08)!important;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.35),0 10px 30px -12px rgba(90,180,255,.8)!important;transition:background .3s,box-shadow .3s}
.btn-vidro::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--ang,0deg),transparent 0 70%,#5AB4FF 80%,#fff 84%,#F5A800 90%,transparent);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:borda 3.2s linear infinite;pointer-events:none}
.btn-vidro:hover{background:rgba(255,255,255,.16)!important;box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.6),0 14px 36px -10px rgba(90,180,255,1)!important}
.btn-vidro > *{position:relative}
.cena-txt .btn-cena .ponto-vivo{background:#111}
@media (prefers-reduced-motion:reduce){.btn-vidro::before{animation:none}}

/* botão «Ouvir agora» do topo (pedido 89): cores da Sucesso, equalizador a dançar, brilho que passa e halo */
.nav-dir{gap:10px}
.nav-ouvir{position:relative;overflow:hidden;isolation:isolate;height:46px!important;padding:0 18px 0 14px!important;display:inline-grid!important;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:10px;align-items:center;align-content:center;background:linear-gradient(135deg,#ffd76a,#F5A800 45%,#ff8a00)!important;color:#111!important;border-radius:999px;box-shadow:0 0 0 0 rgba(245,168,0,.55),0 10px 30px -10px rgba(245,168,0,.95);animation:halo 2.6s ease-in-out infinite}
.nav-ouvir::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.7) 48%,transparent 62%);transform:translateX(-130%);animation:passa 3.4s cubic-bezier(.4,0,.2,1) infinite}
.nav-ouvir span{grid-column:2;grid-row:1;font-weight:800;font-size:15px;line-height:1}
.nav-ouvir small{grid-column:2;grid-row:2;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;opacity:.75;line-height:1.2}
.nav-eq{grid-column:1;grid-row:1/3;display:flex;align-items:flex-end;gap:2px;height:20px}
.nav-eq b{width:3px;height:100%;border-radius:2px;background:#111;transform-origin:50% 100%;animation:pmEqTopo .9s ease-in-out infinite}
.nav-eq b:nth-child(2){animation-delay:-.3s}.nav-eq b:nth-child(3){animation-delay:-.6s}.nav-eq b:nth-child(4){animation-delay:-.15s}
@keyframes pmEqTopo{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
.nav-ouvir.tocando{background:linear-gradient(135deg,#ff4d4d,#e0242b)!important;color:#fff!important}
.nav-ouvir.tocando .nav-eq b{background:#fff}
.nav-emi{display:inline-flex;align-items:center;height:40px;padding:0 16px;border-radius:999px;font-size:14px;font-weight:700;color:#e8eefc;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(140,200,255,.35);transition:background .25s,box-shadow .25s}
.nav-emi:hover{background:rgba(255,255,255,.16);box-shadow:inset 0 0 0 1px rgba(245,168,0,.8)}
@media (max-width:1100px){.nav-emi{display:none}}
@media (max-width:760px){.nav-ouvir small{display:none}.nav-ouvir{height:40px!important;padding:0 14px 0 12px!important}}
@media (prefers-reduced-motion:reduce){.nav-ouvir,.nav-ouvir::after,.nav-eq b{animation:none}}

/* contador REAL de ouvintes ligados ao streaming (discreto, canto inferior) */
.contador-ao-vivo{position:fixed;left:16px;bottom:18px;z-index:40;display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;font-size:13px;color:#dfe8f7;background:rgba(8,14,28,.72);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:inset 0 0 0 1px rgba(140,200,255,.25),0 10px 30px -14px rgba(0,0,0,.9)}
.contador-ao-vivo b{font-size:15px;color:#ffd76a;font-variant-numeric:tabular-nums}
.contador-ao-vivo .ponto-vivo{background:#e0242b}
@media (max-width:760px){.contador-ao-vivo{bottom:auto;top:66px;left:50%;transform:translateX(-50%);font-size:11.5px;padding:6px 12px}.contador-ao-vivo b{font-size:13px}}
.nav-ouvir span,.nav-emi{white-space:nowrap}
@media (max-width:1500px){.nav-emi{display:none}}
/* auditoria 100: no celular o contador tapava os títulos do filme (top:66px). Vai para o canto inferior, como no PC,
   e sobe quando o mini player aparece, para nunca se sobreporem. */
@media (max-width:760px){.contador-ao-vivo{top:auto;bottom:calc(18px + env(safe-area-inset-bottom));left:12px;transform:none;max-width:calc(100% - 96px)}}
/* 02/10 (dono, no celular): ao descer a página o contador «chocava» com o mini player «Ao vivo · Participe» — o mini
   esconde-se e volta a cada scroll e o contador subia e descia atrás dele. Agora o contador NÃO se mexe com o scroll:
   no PC sobe uma vez quando o mini aparece; no celular, com o mini a tocar, o contador sai de cena (o mini já diz «Ao vivo»). */
/* 02/10 (dono): o mini player de baixo «Ao vivo · Participe» SAIU — PC, celular e páginas internas. O «Ouvir agora» do
   cabeçalho toca e pausa a rádio em todo o site (também dentro das páginas abertas sem parar a música).
   O contador fica sempre no mesmo canto, sem nada com que chocar. */
html body #mini,html.em-concha body #mini{display:none!important}
/* etiqueta do modo demonstração (?demo=N): bem visível, para nunca ser confundido com o número real */
.contador-ao-vivo .cont-demo{font-style:normal;font-size:10px;font-weight:800;letter-spacing:.08em;padding:2px 7px;border-radius:999px;background:#ffdf00;color:#111}
/* LEVE (02/10): animações de secções fora do ecrã ficam congeladas (ver ouvinte.js, fim); aba escondida congela tudo */
.parado,.parado *,.parado *::before,.parado *::after,
html.aba-escondida *,html.aba-escondida *::before,html.aba-escondida *::after{animation-play-state:paused!important}
/* LEVE (02/10): no celular o desfoque por trás dos vidros (backdrop-filter, 22 elementos) era recalculado a cada quadro
   por cima do fundo animado. Sem desfoque no celular; o fundo dos vidros fica um pouco mais escuro para manter a leitura. */
@media (max-width:760px){
  *,*::before,*::after{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}
  .nav{background:rgba(6,9,18,.94)!important}
  .contador-ao-vivo{background:rgba(8,14,28,.94)!important}
}
/* LEVE (02/10): secções longe do ecrã nem se calculam nem se pintam (o navegador salta-as até chegarem perto).
   O filme de abertura fica de fora (é «pegajoso» e comanda a página). */
/* secções longe do ecrã não se calculam (ouvinte.js guarda a altura real de cada uma e trata dos saltos do menu) */
main > section.cv{content-visibility:auto}
/* crédito de quem fez o site (02/10, autorizado pelo cliente): uma linha discreta no fim de tudo */
.rod-credito{margin:10px auto 0;max-width:72ch;text-align:center;font-size:12px;line-height:1.6;color:#6f7b93}
.rod-credito a{display:inline-flex;align-items:center;gap:5px;color:#9aa6bd;text-decoration:none;white-space:nowrap;transition:color .2s}
.rod-credito a:hover,.rod-credito a:focus-visible{color:#3ddc84}
.rod-credito svg{width:13px;height:13px;fill:currentColor}
/* LEVE (02/10): no celular, as animações de SOMBRA que nunca param (halo do «Ouvir agora», pulso dos pontos «ao vivo»)
   obrigavam a repintar a cada quadro; ficam quietas. As barrinhas do equalizador e o símbolo a girar continuam. */
@media (max-width:760px){
  .nav-ouvir,.nav-ouvir::before,.nav-ouvir::after,.ponto-vivo,.ponto-vivo::before,.ponto-vivo::after,.btn-flash,.btn-flash::before,.btn-flash::after{animation:none!important}
}
@media (max-width:760px){.anunc-luz{animation:none!important;opacity:0}}   /* LEVE: o brilho que passa nos 14 cartões dos anunciantes, no celular */
/* crédito alinhado com o «Todos os direitos reservados» e espaço no fim para o contador fixo não o tapar */
.rod-credito{text-align:left;margin:6px 0 0;max-width:none}
.rodape.rod-pro{padding-bottom:calc(84px + env(safe-area-inset-bottom))!important}
@media (max-width:760px){.rod-credito{padding-right:76px}}   /* o botão «voltar ao topo» não tapa o texto */
/* 02/10 (dono): sem contador de ouvintes no site */
#contador,.contador-ao-vivo{display:none!important}
