/* Zunocast (12/09/2026): estilo do site do cliente, por cima do main.css do
   modelo e da camada gerada zunocast-tema.css. Estrutura (onde cada bloco
   fica) continua a do modelo; aqui muda o jeito de cada coisa.

   Paleta padrao, a mesma do app: noite de estudio (azul-noite) com a luz
   ambar do "no ar". A unica peca que chama atencao e a barra do player. */

:root {
  --zp-noite: #0B1230;
  --zp-madrugada: #111A40;
  --zp-painel: #17214F;
  --zp-linha: #28356F;
  --zp-texto: #EEF1FA;
  --zp-suave: #A9B3D9;
  --zp-ambar: #FFC23D;
  --zp-ambar-escuro: #E0A21F;
  --zp-verde: #34D399;       /* selo "No ar" da barra do player (pedido do Brenno, 12/09/2026) */
  --zp-raio: 18px;
  --zp-titulo: 'Bricolage Grotesque', 'Figtree', sans-serif;
  --zp-corpo: 'Figtree', 'Segoe UI', sans-serif;
}

/* ---------- base ---------- */
html body {
  background-color: var(--zp-noite);
  color: var(--zp-texto);
  font-family: var(--zp-corpo);
  font-size: 15px;
  -webkit-font-smoothing: antialiased;
}
a { color: var(--zp-ambar); }
a:hover, a:focus { color: #FFD774; }
:focus-visible { outline: 2px solid var(--zp-ambar); outline-offset: 2px; }

/* ---------- cabecalho ---------- */
header .navbar-default {
  background: rgba(11, 18, 48, .92);
  border: 0;
  border-bottom: 1px solid var(--zp-linha);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
}
.navbar-brand img { max-height: 54px; width: auto; }
.navbar-default .navbar-toggle { color: var(--zp-texto); border: 0; background: transparent; }
.navbar-default .navbar-toggle:hover, .navbar-default .navbar-toggle:focus { color: var(--zp-ambar); background: transparent; }
/* mesmo tamanho em todos os estados: o modelo aumentava a letra para 20px
   so no :hover, o item crescia, empurrava o menu e ficava piscando */
.navbar-default .navbar-nav > li > a,
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus,
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  font-family: var(--zp-titulo);
  font-weight: 600;
  font-size: 16px;
  line-height: 20px;
  letter-spacing: 0;
}
.navbar-default .navbar-nav > li > a { color: var(--zp-texto); }
/* no menu do celular o modelo pintava o item com fundo cheio no :hover */
.navbar-default .navbar-nav > li:hover { background: rgba(255, 255, 255, .06); }
.navbar-default .navbar-nav > li > a:hover { color: var(--zp-ambar); }
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus { color: var(--zp-ambar); background: transparent; }

/* ---------- miolo ---------- */
#ajaxArea .container, #updates > .container, .page-content > .container {
  border-radius: 0 0 var(--zp-raio) var(--zp-raio);
}
section#updates, #home-slider { background: transparent; }

/* titulos de secao: sem a barrinha do modelo, em caixa normal */
h1:before { display: none !important; }
#updates h1, .row h1 {
  font-family: var(--zp-titulo);
  font-weight: 700;
  font-size: 24px;
  line-height: 1.2;
  letter-spacing: -0.01em;
  color: var(--zp-texto);
  text-transform: none;
  padding-left: 0;
  margin: 28px 0 14px;
}
h2, h3, h4, h5 { font-family: var(--zp-titulo); letter-spacing: -0.005em; }
p, li, td { font-family: var(--zp-corpo); }

/* carrossel: sem a moldura com textura do modelo; legenda com uma barra so */
#home-slider .container { background-image: none; background-color: transparent; }
.flex-caption { border-right: 0 !important; border-left: 0 !important; }
.flex-caption h2 {
  border-left: 4px solid var(--zp-ambar);
  background: rgba(11, 18, 48, .72);
  border-radius: 0 12px 12px 0;
  font-family: var(--zp-titulo); font-weight: 800; text-transform: none; letter-spacing: -0.01em;
}

/* imagens e videos com canto suave */
#flex-home, #flex-home .slides img, .news-feed img, .video-feed img, .latest-post img,
.event-feed img, iframe[src*="youtube"] { border-radius: 14px; }
#flex-home { overflow: hidden; }

/* formularios (Peca sua musica, contato, recados) */
input[type="text"], input[type="email"], input[type="tel"], textarea, select,
.form-control {
  background: var(--zp-painel) !important;
  border: 1px solid var(--zp-linha) !important;
  border-radius: 12px !important;
  color: var(--zp-texto) !important;
  font-family: var(--zp-corpo);
  box-shadow: none !important;
}
input::placeholder, textarea::placeholder { color: #7F8BB8; }
input:focus, textarea:focus, select:focus { border-color: var(--zp-ambar) !important; }
label, .event-feed h5 { font-family: var(--zp-corpo); text-transform: none; letter-spacing: 0; color: var(--zp-suave); }

/* botoes */
.btn, button[type="submit"], input[type="submit"], #submit1, #submit1pedido,
.news-feed h2, .video-feed h2 {
  font-family: var(--zp-titulo);
  text-transform: none;
}
.btn-primary, button[type="submit"], input[type="submit"], #submit1, #submit1pedido {
  background: var(--zp-ambar) !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: var(--zp-noite) !important;
  font-weight: 700;
  padding: 10px 22px;
}
.btn-primary:hover, button[type="submit"]:hover, input[type="submit"]:hover,
#submit1:hover, #submit1pedido:hover { background: #FFD774 !important; }
.news-feed a h2, .video-feed a h2 { font-size: 15px; font-weight: 600; color: var(--zp-ambar); }

/* cartao do app na lateral */
/* Topo reto: o cartao encosta na linha de cima do miolo, que tambem e reta
   (so os cantos de baixo arredondam), e o canto redondo deixava uma falha. */
.zp-app-cartao {
  background: var(--zp-painel);
  border: 1px solid var(--zp-linha);
  border-top: 0; /* sem a linha de cima: o cartao sai direto do fundo escuro do miolo */
  border-radius: 0 0 var(--zp-raio) var(--zp-raio);
  padding: 4px 18px 22px;
  margin-bottom: 8px;
  text-align: center;
}
.zp-app-cartao h1 { margin-top: 18px !important; }
/* a logo redonda do app, com o mesmo anel translucido da tela do app */
.zp-app-logo {
  display: block; width: 120px; height: 120px; margin: 4px auto 14px;
  border-radius: 50%; object-fit: cover;
  border: 7px solid rgba(255, 255, 255, 0.18);
}
.zp-app-cartao p { color: var(--zp-suave); font-size: 15px; line-height: 1.5; margin: 0 0 16px; }
.zp-botao {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--zp-ambar); color: var(--zp-noite) !important;
  font: 700 15px/1 var(--zp-titulo);
  padding: 12px 20px; border-radius: 999px; text-decoration: none !important;
}
.zp-botao:hover { background: #FFD774; }
.zp-botao svg, .zp-app svg {
  width: 18px; height: 18px; fill: none; stroke: currentColor;
  stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round;
}

/* rodape */
footer, #footer { background: var(--zp-madrugada); border-top: 1px solid var(--zp-linha); }
footer h4, footer h5, footer h3 { font-family: var(--zp-titulo); text-transform: none; }

/* ---------- barra do player ---------- */
#audio-player.zp-barra {
  position: relative;
  left: 0;
  width: 100%;
  height: auto;
  min-height: 72px;
  background: linear-gradient(90deg, #0E1740 0%, #1B2C6B 100%) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(255, 194, 61, .35) !important;
  z-index: 9999;
}
.zp-barra__in {
  max-width: 1170px;
  margin: 0 auto;
  padding: 10px 18px;
  display: flex;
  align-items: center;
  gap: 18px;
}
.zp-controles { display: flex; align-items: center; gap: 14px; flex: none; margin: 0 !important; }
.zp-controles .play-pause {
  width: 52px; height: 52px; border-radius: 50%;
  background-color: var(--zp-ambar) !important;
  box-shadow: 0 0 0 6px rgba(255, 194, 61, .16);
  cursor: pointer;
  float: none; margin: 0;
}
.zp-controles .play-pause:hover { box-shadow: 0 0 0 9px rgba(255, 194, 61, .22); }
.zp-controles #player-instance { position: absolute; width: 0; height: 0; overflow: hidden; }
.zp-controles .play-pause { position: relative; top: 0; flex: none; }
/* volume: os botoes do jPlayer sao absolutos; a caixa precisa da largura toda */
.zp-controles .jp-volume-controls { position: relative; float: none; margin: 0; top: 0; left: 0; width: 124px; height: 18px; flex: none; }
.zp-controles .jp-mute { left: 0; top: 1px; }
.zp-controles .jp-volume-bar { left: 24px; top: 7px; width: 72px; height: 4px; border-radius: 4px; background: rgba(255,255,255,.28); }
.zp-controles .jp-volume-bar-value { height: 4px; border-radius: 4px; background: var(--zp-ambar); }
.zp-controles .jp-volume-max { left: 104px; top: 1px; }
.zp-agora { flex: 1; min-width: 0; }
.zp-nome { display: flex; align-items: center; gap: 10px; min-width: 0; }
.zp-nome .audio-title {
  margin: 0; font: 700 18px/1.2 var(--zp-titulo); color: #fff;
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
  text-transform: none; letter-spacing: -0.01em;
}
.zp-aovivo {
  flex: none; display: inline-flex; align-items: center; gap: 6px;
  font: 600 12px/1 var(--zp-corpo); color: var(--zp-verde);
  padding: 5px 9px; border-radius: 999px; background: rgba(52, 211, 153, .14);
}
.zp-aovivo i {
  width: 7px; height: 7px; border-radius: 50%; background: var(--zp-verde);
  animation: zp-pulsar 1.8s ease-in-out infinite;
}
@keyframes zp-pulsar { 50% { opacity: .35; } }

.zp-letreiro {
  position: relative; overflow: hidden; margin-top: 4px; height: 20px;
  color: var(--zp-suave); font: 500 14px/20px var(--zp-corpo);
  -webkit-mask-image: linear-gradient(90deg, #000 88%, transparent);
  mask-image: linear-gradient(90deg, #000 88%, transparent);
}
.zp-letreiro:not(.zp-tem-musica) { display: none; }
.zp-letreiro__faixa { display: inline-flex; gap: 48px; white-space: nowrap; will-change: transform; }
.zp-letreiro .zp-musica + .zp-musica { display: none; }
.zp-letreiro.zp-rolando .zp-musica + .zp-musica { display: inline; }
.zp-letreiro.zp-rolando .zp-letreiro__faixa { animation: zp-rolar var(--zp-dur, 14s) linear infinite; }
@keyframes zp-rolar { to { transform: translateX(var(--zp-dist, -50%)); } }

.zp-app {
  flex: none; display: inline-flex; align-items: center; gap: 8px;
  background: rgba(255, 255, 255, .08); color: #fff !important;
  border: 1px solid rgba(255, 255, 255, .22);
  font: 600 14px/1 var(--zp-titulo);
  padding: 11px 16px; border-radius: 999px; text-decoration: none !important;
}
.zp-app:hover { background: var(--zp-ambar); color: var(--zp-noite) !important; border-color: var(--zp-ambar); }
.zp-oculto { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

@media (max-width: 767px) {
  .zp-barra__in { padding: 8px 12px; gap: 12px; }
  .zp-controles .jp-volume-controls { display: none; }
  .zp-controles .play-pause { width: 46px; height: 46px; }
  .zp-nome .audio-title { font-size: 16px; }
  .zp-app { padding: 10px 12px; }
  .zp-app span { display: none; }
  .zp-controles { margin-left: 4px !important; }
  #contact input[type="text"], #contact input[type="email"], #contact textarea { width: 100% !important; max-width: none !important; }
  #updates h1, .row h1 { font-size: 22px; }
}

/* no celular o modelo encolhe o formulario (display: table) */
@media (max-width: 800px) {
  .event-feed { display: block; }
}

@media (prefers-reduced-motion: reduce) {
  .zp-aovivo i { animation: none; }
  .zp-letreiro.zp-rolando .zp-letreiro__faixa { animation: none; }
  .zp-letreiro .zp-musica + .zp-musica { display: none !important; }
  .zp-letreiro__faixa { display: block; overflow: hidden; text-overflow: ellipsis; }
}
