:root {
    --red: #ff0011;
    --black: #000000;
    --white: #fff;
    --bg: #ffffff;
}



body {
    /*fonte, fundo*/
    font-family: "Inter", system-ui, Arial, sans-serif;
    background: var(--bg);
    color: var(--black);
}

a {
    text-decoration: none
}

/* centralizacao*/
.container {
    width: min(1200px, 100%);
    margin-inline: auto
}


/* topbar */
.topbar {
    background: var(--red);
    color: var(--white);
}

.topbar-inner {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    padding: 10px 0;

    font-size: clamp(.60rem, .90rem, 2.90rem) !important;
}

.brand {
    font-weight: 800;
    letter-spacing: .2px;
    color: var(--white)
}

nav {
    display: flex;
    gap: 14px;
}

.nav-link {
    font-weight: 600;
    font-size: .90rem;
    padding: 10px 12px;
    border-radius: 10px;
    opacity: .9;
    color: var(--white)
}

.actions {
    display: flex;
    gap: 10px
}

.btn {
    padding: 10px 14px;
    border-radius: 12px;
    font-weight: 700;
    border: 1px solid transparent;
    cursor: pointer
}

.btn-outline {
    border-color: #ccc;
    background: #fff;
    color: var(--black)
}

.btn-primary {
    background: var(--red);
    color: var(--white)
}

.btn-primary:hover {
    background: #ff0011
}

/* hero */
.hero {
    padding: 40px 0;
    background: linear-gradient(180deg, rgba(255, 0, 17, 0.08), rgba(227, 6, 19, 0) 40%);
}

.hero-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 28px
}

.kicker {
    color: var(--red);
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
    font-size: .8rem
}

h1 {
    margin: 10px 0 12px;
    font-size: 2.4rem;
    line-height: 1.2;
    font-weight: 800;
}

.sub {
    color: #000000;
    font-size: 1.05rem;
    max-width: 60ch
}
/*
.hideBtn {
    
}

*/

/* mobile*/

.nav-list {
  list-style: none;
  display: flex;
  gap: 20px;
}

.nav-list li a {
  text-decoration: none;
  color: white;
  font-weight: bold;
}

/* Botão hamburguer escondido no desktop */
.mobile-menu {
  display: none;
  cursor: pointer;
}

.mobile-menu div {
  width: 32px;
  height: 2px;
  background: white;
  margin: 8px;
  transition: 0.3s;
}

/* Responsivo (mobile) */
@media (max-width: 768px) {
  .nav-list {
    position: fixed;         /* fixo, não desgruda do topo */
    top: 0;
    right: 0;
    width: 250px;            /* largura do menu */
    height: 100vh;           /* ocupa a altura toda da tela */
    background: #e60000;     /* fundo do menu */
    flex-direction: column;
    justify-content: center; /* centraliza verticalmente */
    align-items: center;     /* centraliza horizontalmente */
    gap: 30px;               /* espaço entre links */
    transform: translateX(100%);
    transition: transform 0.3s ease-in;
    z-index: 999;            /* fica acima do conteúdo */
  }

  .nav-list li a {
    font-size: 1.4rem;       /* aumenta o tamanho da fonte */
    font-weight: bold;
    color: white;
  }

  .nav-list.active {
    transform: translateX(0);
  }

  .mobile-menu {
    display: block;
    z-index: 1000; /* garante que o botão fica acima */
  }

  /* Animação do botão hamburguer */
  .mobile-menu.active .line1 {
    transform: rotate(-45deg) translate(-8px, 8px);
  }

  .mobile-menu.active .line2 {
    opacity: 0;
  }

  .mobile-menu.active .line3 {
    transform: rotate(45deg) translate(-5px, -7px);
  }
}
#barraPesquisa {
  transition: all 0.3s ease;
}

#barraPesquisa:focus {
  background-color: #f9f9f9;
}
.content-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1.5rem;
  margin-top: 2rem;

 
  width: 100%;
  max-width: 1200px;
  margin-left: 10%; 
}

#mapa {
  border: 2px solid #ccc;
  border-radius: 10px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.1);
}

/* Responsividade — centraliza no celular */
@media (max-width: 768px) {
  .content-column {
    align-items: center;
    margin-left: 0;
  }

}
/* Alinha os botões e o menu do usuário na mesma linha central */
.actions {
  display: flex;
  align-items: center;
  gap: 10px; /* espaço entre os itens */
  margin-top: 0; /* garante alinhamento vertical */
  height: 100%;
}

/* Ajuste fino dos botões de conta */
.actions .btn {
  vertical-align: middle;
  padding: 6px 14px;
  font-size: 14px;
  line-height: 1.2;
}

/* Ajuste do botão de usuário */
#botaoAcessaConta {
  display: flex;
  align-items: center;
  height: 100%;
}
@keyframes fadeIn {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}
.animate-fadeIn {
  animation: fadeIn 0.2s ease-out;
}
#avisoLogin {
  position: fixed !important;
  z-index: 999999 !important;
}
/* Animação simplificada: Começa onde está e vai para a esquerda */
@keyframes marquee {
  0% {
    transform: translateX(0); /* Começa na posição original (ao lado do status) */
  }
  100% {
    transform: translateX(-150%); /* Vai para a esquerda até sumir completamente */
  }
}

.animacao-letreiro {
  display: inline-block;
  white-space: nowrap;
  /* A animação agora só move para a esquerda */
  animation: marquee 25s linear infinite;
  
  /* Garante que o texto comece alinhado à direita dentro do espaço dele */
  width: 100%;
  text-align: right; 
  padding-right: 10px; /* Um pequeno espaço antes do bloco de status */
}