/* Site Header compartilhado - A Bola Conecta
   Aplicado em todas as paginas que precisem de nav + botao Apoie.
   - Logo A Bola Conecta (link pra /)
   - Nav com Inicio, O Filme, Sobre, Servicos, Comunidade (ativa por pagina), Blog, Contato, Copa 2026
   - Botao Apoie (dourado)
   - Mobile: menu-toggle + menu mobile em grid 2-col
   - Header FIXO com padding-top em main (74px desktop, 50px mobile)
   v1 (2026-07-03): padronizacao visual entre /comunidade, /loja, /festivais, /imprensa
*/

.site-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 50;
  padding: 12px 0;
  border-bottom: 1px solid hsla(14, 72%, 45%, .3);
  background: hsla(28, 30%, 10%, .95);
  backdrop-filter: blur(14px);
}

.header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.brand {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  text-decoration: none;
}

.brand img {
  width: 142px;
  max-width: 38vw;
  height: auto;
  display: block;
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.nav {
  display: none;
  align-items: center;
  gap: 4px;
}

.nav a,
.mobile-nav a {
  text-decoration: none;
  padding: 10px 12px;
  border-radius: 999px;
  color: hsla(38, 30%, 94%, .78);
  font-size: 14px;
  font-weight: 600;
  transition: color .2s ease, background .2s ease;
}

.nav a:hover, .nav a.active,
.mobile-nav a:hover, .mobile-nav a.active {
  color: var(--foreground);
  background: hsla(38, 30%, 94%, .08);
}

.nav a.copa-nav-link, .mobile-nav a.copa-nav-link {
  order: 99;
  color: hsl(28 30% 10%) !important;
  background: hsl(45 96% 58%) !important;
  border: 1px solid hsla(45, 96%, 58%, .72);
  box-shadow: 0 0 22px hsla(45, 96%, 58%, .22);
  font-weight: 900;
}

.nav a.copa-nav-link:hover, .mobile-nav a.copa-nav-link:hover {
  background: hsl(45 96% 70%) !important;
}

.menu-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  border: 1px solid hsla(38, 30%, 94%, .14);
  border-radius: 999px;
  background: hsla(28, 16%, 10%, .62);
  color: var(--foreground);
  font: inherit;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
  cursor: pointer;
}

.mobile-nav {
  display: none;
  margin-top: 10px;
  padding: 10px;
  border: 1px solid hsla(38, 30%, 94%, .12);
  border-radius: 20px;
  background: hsla(28, 16%, 10%, .96);
  box-shadow: 0 18px 52px hsla(0, 0%, 0%, .24);
}

.mobile-nav.is-open {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.mobile-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  text-align: center;
}

.support-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  border-radius: 999px;
  padding: 0 18px;
  background: var(--accent);
  color: var(--accent-foreground);
  text-decoration: none;
  font-size: 14px;
  font-weight: 700;
  box-shadow: var(--shadow-glow);
  white-space: nowrap;
}

main {
  padding-top: 74px;
}

@media (min-width: 1024px) {
  .nav { display: flex; }
  .menu-toggle { display: none; }
  .mobile-nav { display: none !important; }
  .brand img { width: 156px; }
}

@media (max-width: 520px) {
  .site-header { padding: 10px 0; }
  .header-inner { gap: 10px; }
  .brand img { max-width: 42vw; }
  .support-btn { min-height: 44px; padding: 0 14px; font-size: 13px; }
  main { padding-top: 50px; }
}
