/* Site de Rádio Modular — estilos públicos (sem frameworks) */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{
  margin:0;font-family:var(--fonte);color:var(--texto);line-height:1.55;font-size:16px;
  background:var(--fundo) center/cover no-repeat;min-height:100vh;
}
body::before{content:"";position:fixed;inset:0;background:#000;opacity:var(--fundo-escuro);pointer-events:none;z-index:-1}
img{max-width:100%;height:auto;display:block}
a{color:var(--principal)}
h1,h2,h3{line-height:1.2;margin:0 0 .6em}

/* ---------- Topo + player ---------- */
.topo{position:sticky;top:0;z-index:50;background:var(--player);color:var(--player-texto);box-shadow:0 2px 12px rgba(0,0,0,.25)}
.topo-conteudo{max-width:var(--largura);margin:auto;padding:10px 16px;display:flex;align-items:center;gap:20px}
.marca{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;min-width:0;flex-shrink:0;max-width:40%}
.marca img{max-height:56px;width:auto}
.marca span{display:flex;flex-direction:column;min-width:0}
.marca strong{font-size:1.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.marca small{opacity:.75;font-size:.8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.player-area{flex:1;min-width:0;display:flex}
.player-iframe{width:100%}
.player-iframe{display:flex}
.player-iframe iframe{max-width:100%;border:0;display:block}
.player-iframe.altura-fixa iframe{width:100%;height:100%}

.player{display:flex;align-items:center;gap:14px;width:100%;background:rgba(255,255,255,.08);border-radius:999px;padding:6px 18px 6px 6px}
.player-capa{width:46px;height:46px;border-radius:50%;object-fit:cover;flex-shrink:0}
.player-play{width:50px;height:50px;border-radius:50%;border:0;cursor:pointer;flex-shrink:0;display:grid;place-items:center;
  background:var(--principal);color:#fff;transition:transform .15s}
.player-play:hover{transform:scale(1.06)}
.player-play .ic-pause,.player-play .ic-carregando{display:none}
.player.tocando .ic-play{display:none}.player.tocando .ic-pause{display:block}
.player.carregando .ic-play,.player.carregando .ic-pause{display:none}
.player.carregando .ic-carregando{display:block;width:22px;height:22px;border:3px solid rgba(255,255,255,.4);border-top-color:#fff;border-radius:50%;animation:gira 1s linear infinite}
@keyframes gira{to{transform:rotate(360deg)}}
.player-info{flex:1;min-width:0;display:flex;flex-direction:column}
.player-status{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;opacity:.7}
.player.tocando .player-status::before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#ff3b3b;margin-right:6px;animation:pisca 1.4s infinite}
@keyframes pisca{50%{opacity:.25}}
.player-musica{white-space:nowrap;overflow:hidden;font-weight:600}
.player-musica span{display:inline-block}
.player-musica.rolando span{animation:letreiro 14s linear infinite;padding-left:100%}
@keyframes letreiro{to{transform:translateX(-100%)}}
.player-volume{display:flex;align-items:center;gap:6px}
.player-mudo{background:none;border:0;color:inherit;cursor:pointer;padding:4px;opacity:.85}
.player-volume input{width:110px;accent-color:var(--principal)}

/* ---------- Grade automática de blocos ---------- */
.principal{max-width:var(--largura);margin:24px auto;padding:0 16px;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:20px;align-items:start}
.principal.mosaico{grid-auto-rows:1px;grid-auto-flow:row dense;row-gap:0}
.bloco{grid-column:span 12;background:var(--bloco);border-radius:var(--raio);padding:22px;box-shadow:0 1px 3px rgba(0,0,0,.08);min-width:0}
.bloco.sem-fundo{background:none;box-shadow:none;padding:0}
.col-8{grid-column:span 8}.col-6{grid-column:span 6}.col-4{grid-column:span 4}.col-3{grid-column:span 3}
.bloco.so-flutuante{display:contents}
.bloco.mod-slideshow{padding:0;overflow:hidden}
.bloco-titulo{font-size:1.3rem;padding-bottom:10px;margin-bottom:16px;border-bottom:3px solid var(--principal);display:inline-block}
.vazio{opacity:.6;font-style:italic;margin:0}
.botao{background:var(--principal);color:#fff;border:0;border-radius:calc(var(--raio)/1.5);padding:11px 20px;font:inherit;font-weight:600;cursor:pointer}
.botao:hover{filter:brightness(1.1)}
.aviso{padding:10px 14px;border-radius:8px}.aviso-ok{background:#d4f5dd;color:#145a2a}.aviso-erro{background:#fde0e0;color:#7a1c1c}

@media (max-width:1000px){
  .col-3,.col-4{grid-column:span 6}
  .col-8{grid-column:span 12}
}
@media (max-width:700px){
  .principal{gap:14px;margin-top:14px;padding:0 10px}
  .col-3,.col-4,.col-6,.col-8{grid-column:span 12}
  .bloco{padding:16px}
  .topo-conteudo{flex-wrap:wrap;gap:8px;padding:8px 10px}
  .marca{max-width:100%}
  .marca img{max-height:40px}
  .player-area{flex-basis:100%}
  .player{max-width:none}
  .player-volume input{display:none}
}

/* ---------- Notícias ---------- */
.noticias{display:grid;gap:16px}
.noticias-cards{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.noticia{display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:transform .15s}
.noticia:hover{transform:translateY(-3px)}
.noticia:hover strong{color:var(--principal)}
.noticia-img{aspect-ratio:16/9;background:color-mix(in srgb,var(--texto) 10%,transparent);display:block;overflow:hidden;border-radius:calc(var(--raio)/1.5)}
.noticia-img img{width:100%;height:100%;object-fit:cover}
.noticia-corpo{display:flex;flex-direction:column;gap:4px;padding:10px 2px}
.noticia-corpo small{opacity:.6;font-size:.8rem}
.noticia-resumo{font-size:.92rem;opacity:.85;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.noticias-lista{gap:0}
.noticias-lista .noticia{flex-direction:row;gap:12px;align-items:center;border-bottom:1px solid color-mix(in srgb,var(--texto) 12%,transparent);border-radius:0;padding:4px 0}
.noticias-lista .noticia:hover{transform:none}
.noticia-mini{width:72px;height:54px;flex-shrink:0;border-radius:6px;overflow:hidden}
.noticia-mini img{width:100%;height:100%;object-fit:cover}
.noticia-pagina h1{font-size:2rem}
.noticia-data{opacity:.6;margin-top:-6px}
.noticia-capa{border-radius:var(--raio);margin:10px 0 20px;width:100%;max-height:520px;object-fit:cover}
.voltar{display:inline-block;margin-bottom:14px;text-decoration:none;font-weight:600}
.conteudo-html img{border-radius:8px;margin:10px 0}
.conteudo-html p:first-child{margin-top:0}

/* ---------- Slideshow ---------- */
.slideshow{position:relative;height:var(--altura,380px);overflow:hidden;background:#000}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .8s;display:block;color:#fff;text-decoration:none}
.slide.ativo{opacity:1;z-index:1}
.slide img{width:100%;height:100%;object-fit:cover}
.slide-titulo{position:absolute;left:0;right:0;bottom:0;padding:40px 24px 34px;font-size:1.4rem;font-weight:700;color:#fff;background:linear-gradient(transparent,rgba(0,0,0,.75))}
.slide-titulo.alinhar-texto-centro{text-align:center}
.slide-titulo.alinhar-texto-direita{text-align:right}
.slide-titulo.sombra-clara{background:linear-gradient(transparent,rgba(255,255,255,.85))}
.slide-titulo.sombra-nenhuma{background:none;text-shadow:0 1px 3px rgba(0,0,0,.35)}
.slide-nav{position:absolute;top:50%;transform:translateY(-50%);z-index:2;width:44px;height:44px;border-radius:50%;border:0;background:rgba(0,0,0,.4);color:#fff;font-size:28px;cursor:pointer;line-height:1}
.slide-nav.ant{left:12px}.slide-nav.prox{right:12px}
.slide-pontos{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:8px;z-index:2}
.slide-pontos button{width:10px;height:10px;border-radius:50%;border:0;background:rgba(255,255,255,.5);cursor:pointer;padding:0;box-shadow:0 0 0 1px rgba(0,0,0,.3)}
.slide-pontos button.ativo{background:#fff}
@media (max-width:700px){.slideshow{height:min(var(--altura,380px),56vw)}.slide-titulo{font-size:1rem;padding:24px 14px 14px}}

/* ---------- Anunciantes ---------- */
.anunciantes-grade .anunciantes-faixa{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:14px}
.anunciante{display:flex;align-items:center;justify-content:center;min-height:80px;border-radius:8px;text-decoration:none;color:inherit;font-weight:600;text-align:center}
.anunciante img{max-height:100px;width:auto;object-fit:contain}
.anunciantes-carrossel{overflow:hidden;mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.anunciantes-carrossel .anunciantes-faixa{display:flex;gap:30px;width:max-content;animation:faixa 30s linear infinite}
.anunciantes-carrossel:hover .anunciantes-faixa{animation-play-state:paused}
.anunciantes-carrossel .anunciante{width:160px;flex-shrink:0}
@keyframes faixa{to{transform:translateX(-50%)}}
.anunciantes-um .anunciantes-faixa{position:relative;min-height:120px}
.anunciantes-um .anunciante{position:absolute;inset:0;opacity:0;transition:opacity .6s}
.anunciantes-um .anunciante.ativo{opacity:1}

/* ---------- Redes sociais ---------- */
.redes{display:flex;flex-wrap:wrap;gap:10px}
.redes a{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;color:#fff;text-decoration:none;font-weight:600;font-size:.9rem;background:var(--cor-rede)}
.redes-tema a{background:var(--principal)}
.redes a:hover{filter:brightness(1.12)}

/* ---------- Apps ----------
 * Botões com a mesma largura, lado a lado sempre que couber.
 * Em blocos estreitos (ex.: 1/3) cada botão vira compacto: ícone em cima, texto embaixo.
 */
.apps{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;max-width:500px}
.app-botao{container-type:inline-size;display:block;background:#000;color:#fff;text-decoration:none;border-radius:10px;transition:filter .15s,transform .15s;min-width:0}
.app-botao:hover{filter:brightness(1.15);transform:translateY(-1px)}
.app-botao-conteudo{display:flex;align-items:center;gap:10px;padding:9px 14px;height:100%}
.app-botao svg{flex-shrink:0}
.app-botao-texto{display:flex;flex-direction:column;font-weight:700;line-height:1.15;min-width:0}
.app-botao small{font-weight:400;font-size:.7rem;opacity:.8}
.app-botao strong{font-size:1rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.app-multi{background:var(--principal)}
@container (max-width:185px){
  .app-botao-conteudo{flex-direction:column;justify-content:center;gap:6px;padding:12px 8px;text-align:center}
  .app-botao-texto{align-items:center}
  .app-botao small{font-size:.66rem}
  .app-botao strong{font-size:.86rem;white-space:normal;overflow-wrap:anywhere}
}
.apps > .vazio{grid-column:1/-1}

/* ---------- Sobre ---------- */
.sobre.com-imagem{display:grid;grid-template-columns:min(var(--sobre-img,300px),40%) minmax(0,1fr);gap:24px;align-items:start}
.sobre-direita.com-imagem{grid-template-columns:minmax(0,1fr) min(var(--sobre-img,300px),40%)}
.sobre-direita .sobre-img{order:2}
.sobre-topo.com-imagem{grid-template-columns:1fr}
.sobre-img{border-radius:var(--raio);width:100%;max-height:calc(var(--sobre-img,300px) * 1.25);object-fit:cover}
.sobre-topo .sobre-img{width:auto;max-width:min(100%,calc(var(--sobre-img,300px) * 1.6))}
.sobre.alinhar-centro .sobre-topo .sobre-img,.sobre-topo.alinhar-centro .sobre-img{justify-self:center}
@media (max-width:700px){
  .sobre.com-imagem{grid-template-columns:1fr}.sobre-direita .sobre-img{order:0}
  .sobre-img{width:auto;max-width:min(100%,var(--sobre-img,300px))}
  .sobre.alinhar-centro .sobre-img{justify-self:center}
}
/* alinhamento do conteúdo (Sobre, Redes sociais) */
.alinhar-centro{text-align:center}
.alinhar-centro .bloco-titulo{display:table;margin-right:auto;text-align:left}   /* o título continua à esquerda */
.alinhar-centro .equipe{display:flex;flex-wrap:wrap;justify-content:center}
.alinhar-centro .membro{width:var(--membro,170px)}
.alinhar-centro .redes{justify-content:center}
.alinhar-centro .conteudo-html img{margin-left:auto;margin-right:auto}

/* ---------- Contato ---------- */
.contato-dados{list-style:none;padding:0;margin:0 0 16px;display:grid;gap:6px}
.contato-form{display:grid;gap:10px}
.contato-form input,.contato-form textarea{width:100%;font:inherit;padding:11px 12px;border-radius:8px;color:inherit;
  border:1px solid color-mix(in srgb,var(--texto) 25%,transparent);background:color-mix(in srgb,var(--bloco) 92%,var(--texto))}
.contato-form button{justify-self:start}
.hp{position:absolute;left:-9999px}
.contato-conta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-weight:600}
.contato-form .contato-conta input{width:110px;text-align:center}
.aviso{transition:opacity .4s,transform .4s}
.aviso.sumindo{opacity:0;transform:translateY(-6px)}

/* ---------- WhatsApp ---------- */
.whats-bloco{display:flex;align-items:center;justify-content:center;gap:12px;background:#25d366;color:#fff;text-decoration:none;font-weight:700;padding:16px;border-radius:calc(var(--raio)/1.5)}
.whats-flutuante{position:fixed;right:20px;bottom:20px;z-index:60;width:60px;height:60px;border-radius:50%;background:#25d366;color:#fff;display:grid;place-items:center;box-shadow:0 4px 16px rgba(0,0,0,.3);transition:transform .15s}
.whats-flutuante:hover{transform:scale(1.08)}
.bloco.mod-whatsapp:not(.so-flutuante){padding:0;background:none;box-shadow:none}

/* ---------- Rodapé ---------- */
.rodape{text-align:center;padding:24px 16px 40px;font-size:.85rem;color:var(--rodape,var(--texto))}
.rodape p{opacity:.85}
.rodape p{margin:4px 0}
.player-capa[hidden]{display:none}
.codigo-frame{display:block;width:100%;border:0;background:transparent}

/* ---------- Botões de links ---------- */
.links-botoes{display:flex;flex-wrap:wrap;gap:10px}
.links-coluna{flex-direction:column}
.links-centro{justify-content:center}.links-direita{justify-content:flex-end}
.links-coluna.links-centro{align-items:center}.links-coluna.links-direita{align-items:flex-end}.links-coluna.links-esquerda{align-items:flex-start}
.links-total .link-botao{flex:1 1 200px;justify-content:center}
.links-coluna.links-total{align-items:stretch}.links-coluna.links-total .link-botao{flex:none}
.link-botao{display:inline-flex;align-items:center;gap:8px;padding:12px 20px;border-radius:calc(var(--raio)/1.5);font-weight:700;text-decoration:none;transition:filter .15s,transform .15s;border:2px solid var(--principal)}
.link-botao:hover{filter:brightness(1.1);transform:translateY(-1px)}
.links-cheio .link-botao{background:var(--principal);color:#fff}
.links-contorno .link-botao{background:transparent;color:var(--principal)}
.links-claro .link-botao{background:color-mix(in srgb,var(--principal) 14%,transparent);color:var(--principal);border-color:transparent}
.link-icone{font-size:1.15em;line-height:1}

/* Janela (modal) dos links */
.janela-fundo{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:12px;animation:janela-entra .15s}
@keyframes janela-entra{from{opacity:0}}
.janela{background:var(--bloco);color:var(--texto);border-radius:var(--raio);width:100%;display:flex;flex-direction:column;max-height:calc(100vh - 24px);overflow:hidden;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.janela-topo{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid color-mix(in srgb,var(--texto) 15%,transparent)}
.janela-topo strong{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.janela-topo a{font-size:.82rem;white-space:nowrap}
.janela-fechar{background:none;border:0;color:inherit;font-size:1.5rem;line-height:1;cursor:pointer;padding:2px 8px;border-radius:6px}
.janela-fechar:hover{background:color-mix(in srgb,var(--texto) 10%,transparent)}
.janela iframe{border:0;width:100%;flex:1;min-height:0;background:#fff}
body.janela-aberta{overflow:hidden}

/* ---------- Equipe ---------- */
.equipe{display:grid;gap:22px 16px;grid-template-columns:repeat(auto-fill,minmax(var(--membro,170px),1fr))}
.equipe-pequeno{--membro:130px;--foto:90px}.equipe-medio{--membro:170px;--foto:120px}.equipe-grande{--membro:220px;--foto:160px}
.membro{display:flex;flex-direction:column;align-items:center;text-align:center;gap:4px;min-width:0}
.membro-foto{width:var(--foto,120px);height:var(--foto,120px);border-radius:50%;overflow:hidden;margin-bottom:8px;flex-shrink:0;
  background:var(--principal);color:#fff;display:grid;place-items:center;box-shadow:0 0 0 3px var(--bloco),0 0 0 5px color-mix(in srgb,var(--principal) 45%,transparent)}
.equipe-quadrada .membro-foto{border-radius:calc(var(--raio) + 4px)}
.membro-foto img{width:100%;height:100%;object-fit:cover}
.membro-foto span{font-size:calc(var(--foto,120px) / 3);font-weight:800;letter-spacing:.02em}
.membro-nome{font-size:1.05rem;line-height:1.25;overflow-wrap:anywhere}
.membro-funcao{font-size:.86rem;opacity:.7}
.membro-redes{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap;justify-content:center}
.membro-redes a{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;color:var(--principal);background:color-mix(in srgb,var(--principal) 12%,transparent);transition:background .15s,color .15s}
.membro-redes a:hover{background:var(--principal);color:#fff}
@media (max-width:700px){.equipe{--membro:130px;--foto:96px;gap:18px 10px}.membro-nome{font-size:.95rem}}

/* ---------- Programação ---------- */
.prog-abas{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin-bottom:12px}
.prog-aba{min-width:0;border:0;cursor:pointer;font:inherit;font-weight:700;padding:9px 14px;border-radius:999px;color:var(--texto);background:color-mix(in srgb,var(--texto) 8%,transparent)}
.prog-aba.ativa{background:var(--principal);color:#fff}
.prog-aba-curta{display:none}
.prog-hoje{font-weight:700;margin:-4px 0 10px;opacity:.75}
.prog-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.prog{display:flex;align-items:center;gap:14px;padding:12px 14px;border-radius:calc(var(--raio)/1.5);background:color-mix(in srgb,var(--texto) 5%,transparent)}
.prog-hora{font-weight:800;font-variant-numeric:tabular-nums;min-width:96px;white-space:nowrap}
.prog-hora small{font-weight:600;opacity:.65}
.prog-info{display:flex;flex-direction:column;min-width:0;flex:1}
.prog-info small{opacity:.7}
.prog-selo{display:none;background:#e11d48;color:#fff;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;padding:4px 9px;border-radius:999px;white-space:nowrap}
.prog-selo::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#fff;margin-right:6px;vertical-align:1px;animation:pisca 1.4s infinite}
.prog.no-ar{background:color-mix(in srgb,var(--principal) 14%,transparent);box-shadow:inset 4px 0 0 var(--principal)}
.prog.no-ar .prog-selo{display:inline-block}
.prog-vazio{opacity:.6;font-style:italic;padding:8px 2px}
@media (max-width:700px){.prog-aba-curta{display:inline}.prog-aba-longa{display:none}.prog-abas{gap:4px}.prog-aba{padding:8px 0;font-size:.85rem}.prog{gap:10px;padding:10px}.prog-hora{min-width:0;display:flex;flex-direction:column;line-height:1.2}}
.bloco.col-3 .prog-aba-curta,.bloco.col-4 .prog-aba-curta,.bloco.col-6 .prog-aba-curta{display:inline}
.bloco.col-3 .prog-aba-longa,.bloco.col-4 .prog-aba-longa,.bloco.col-6 .prog-aba-longa{display:none}
.bloco.col-3 .prog-hora,.bloco.col-4 .prog-hora{min-width:0;display:flex;flex-direction:column;line-height:1.2}
