body {
  padding-top: 70px;
  /* Ajuste este valor para a altura do seu cabeçalho */
  font-family: sans-serif;
  margin: 0;
  margin: 0;
  padding-bottom: 20px;
  /* Altura do rodapé */
  min-height: 100vh;
  /* Garante que o body ocupe toda a altura da tela */
  position: relative;
  /* Necessário para o posicionamento absoluto do rodapé */
}

.d-none {
  display: none;
}

.categorias {
  padding-left: 50px;
  padding-right: 50px;
  height: 140px;
}

.conteudo {
  /* Estilos para o conteúdo da sua página */
  padding: 0px;
  border-radius: 10PX;
  ;
}

footer {
  background-color: darkred;
  /* Cor de fundo vermelho escuro */
  color: white;
  /* Cor do texto branco */
  text-align: center;
  padding: 7px;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
}

.rodape {
  background-image: url('assets/img/ponte.png');
  /* Substitua pelo caminho da sua imagem */
  background-repeat: no-repeat;
  background-size: 1400px 450px;
  /* Define o tamanho da imagem */
  position: fixed;
  /* Fixa o rodapé na tela */
  bottom: 0;
  /* Coloca o rodapé na parte inferior da tela */
  width: 100%;
  /* Garante que o rodapé ocupe toda a largura da tela */
  height: 450px;
  /* Define a altura do rodapé */
  background-attachment: fixed;
  background-position: bottom;
  background-repeat: no-repeat;
  z-index: -1;
  /* Define um z-index baixo para a imagem */
  opacity: 0.2;
}

.login-container {
  width: 350px;
  background: rgba(255, 255, 255, 0.9);
  border-radius: 10px;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
  padding: 40px;
}

.login-box h2 {
  text-align: center;
  margin-bottom: 30px;
  color: #333;
}

.login-box .input-group {
  margin-bottom: 20px;
}

.login-box label {
  display: block;
  margin-bottom: 5px;
  color: #555;
}

.login-box input {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 5px;
  box-sizing: border-box;
}

.login-box button {
  width: 100%;
  padding: 10px;
  background-color: #667eea;
  color: white;
  border: none;
  border-radius: 5px;
  cursor: pointer;
  transition: background-color 0.3s ease;
}

.login-box button:hover {
  background-color: #764ba2;
}

.pesquisar {
  padding: 10px 15px;
  border: 2px solid #2e2b2b;
  /* Borda vermelha */
  border-radius: 10px;
  /* Bordas arredondadas */
  padding: 10px;
  font-size: 16px;
  outline: none;
  width: 60%;
}



.buscar {
  background-color: #dc3545;
  color: white;
  padding: 10px 15px;
  border: none;
  border-radius: 5px;
  font-size: 16px;
  cursor: pointer;
}



.divPesquisa {
  /* Opcional: Estilos adicionais para a divPesquisa */
  /* background-color: #f8f9fa; Exemplo de cor de fundo */
  padding: 10px;
  /* Espaçamento interno */
  text-align: center;
  /* Centraliza o conteúdo */
}



.whatsapp-flutuante {
  position: fixed;
  bottom: 50px;
  right: 50px;
  z-index: 999;
  /* Garante que o botão fique acima de outros elementos */
}

.whatsapp-flutuante img {
  width: 60px;
  /* Ajuste o tamanho conforme necessário */
  height: 60px;
}

#loading {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 20px;
    color: #555; /* Cor do texto de carregamento */
}

#loading img {
    max-width: 50px; /* Ajuste o tamanho conforme necessário */
    height: auto;
    margin-bottom: 10px;
}

.footer-flex {
  display: flex; /* Habilita o Flexbox */
  justify-content: space-around; /* Distribui o espaço igualmente entre os itens */
  align-items: flex-start; /* Alinha os itens ao topo, útil se o conteúdo for de tamanhos diferentes */
  /*padding: 20px; /* Adicione um padding para melhor visualização */
  /*background-color: #f0f0f0; /* Cor de fundo para o footer */
}

.footer-flex .col-4 {
  flex: 1; /* Faz com que cada coluna ocupe uma parte igual do espaço disponível */
  text-align: center; /* Centraliza o texto dentro de cada coluna */
  padding: 3ox; /* Padding interno para o conteúdo da coluna */
  /*border: 1px solid #ccc; /* Borda para visualizar as colunas */
  margin: 0 5px; /* Espaçamento entre as colunas */
}

/* Opcional: Para telas menores */
@media (max-width: 768px) {
  .footer-flex {
    flex-direction: column; /* Empilha as colunas verticalmente em telas pequenas */
      /* Adiciona estas propriedades para fixar o footer */
    position: fixed; /* Fixa o elemento na tela */
    bottom: 0;       /* Posiciona na parte inferior */
    width: 100%;     /* Garante que ocupe toda a largura */
    padding: 10px 0; /* Espaçamento interno */
    box-shadow: 0 -2px 5px rgba(0,0,0,0.1); /* Sombra para destacá-lo */
    z-index: 1000; /* Garante que o footer fique acima de outros elementos */
  }

  .footer-flex .col-4 {
    margin: 10px 0; /* Ajusta a margem para empilhamento */
  }


@media (max-width: 768px) {
    .footer-flex.fixed-mobile { /* Usando a nova classe para ser mais específico */
        position: fixed; /* Fixa o elemento na tela */
        bottom: 0;       /* Posiciona na parte inferior */
        width: 100%;     /* Garante que ocupe toda a largura */
        left: 0;         /* Garante que comece na borda esquerda */
        right: 0;        /* Garante que termine na borda direita */
        /* background-color, padding, box-shadow, z-index já estão definidos acima */
         /* Garante que os itens fiquem lado a lado em mobile */
        flex-direction: row; /* Importante: força a direção da linha, se por acaso você tiver alterado globalmente */
        justify-content: space-around; /* Garante distribuição uniforme no centro */
        /* Ou 'space-evenly' para mais espaçamento entre e nas pontas, ou 'center' se quiser agrupá-los no centro */
    }

    /* Padding para o body para que o conteúdo não seja escondido pelo footer fixo */
    body {
        padding-bottom: 70px; /* Ajuste este valor. Ex: 60px para o footer + 10px de folga */
    }

    /* Garante que os itens se distribuam bem em mobile */
    .footer-flex {
        justify-content: space-around; /* Ou space-between se preferir */
        padding: 8px 0; /* Ajuste o padding para telas menores se necessário */
    }

    .footer-item {
        flex: 1; /* Faz com que os itens se dividam igualmente no espaço disponível */
        padding: 5px 0; /* Padding ajustado para mobile */
    }

    /* Se você tem elementos .col-4 no layout principal que não são do footer, eles podem precisar ser ajustados separadamente.
       Para o footer, removemos a dependência de .col-4.
    .footer-flex .col-4 {
        margin: 10px 0;
    }
    */
}

/* Opcional: Ajuste para telas maiores, se o layout ficar estranho */
@media (min-width: 769px) {
    .footer-flex.fixed-mobile {
        position: static; /* Remove a fixação em telas maiores */
        box-shadow: none; /* Remove a sombra extra, se não quiser */
        border-top: none; /* Remove a borda, se não quiser */
    }
    body {
        padding-bottom: 0; /* Remove o padding extra do body em desktop */
    }
}





  
  /* === PARA RESOLVER O RODA-PÉ FIXO NO CELULAR === */

  /* Alvo: A div com id="resultados" que também tem a classe "row" */
  #resultados.row {
    flex-direction: column !important; /* Força o empilhamento vertical */
    gap: 0 !important; /* Remove o espaçamento entre as colunas */
    margin-left: 10px !important; /* Remove margens negativas de linha do Bootstrap */
    margin-right: 10px !important; /* Remove margens negativas de linha do Bootstrap */
  }

  /* Se os itens dentro de .row g-3 forem .col-X, você também pode precisar resetá-los */
  #resultados > [class*="col-"] {
    width: 100% !important; /* Faz com que as colunas ocupem 100% da largura */
    margin-bottom: 0px; /* Adiciona um espaço entre os itens empilhados (ajuste conforme necessário) */
    padding-left: 10px !important; /* Remove o padding horizontal padrão das colunas do Bootstrap */
    padding-right: 10px !important; /* Remove o padding horizontal padrão das colunas do Bootstrap */
  }
}

#formularioDialog {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; /* Fonte moderna e legível */
    background-color: gold; /* Fundo branco puro */
    border: none; /* Remove a borda padrão */
    border-radius: 12px; /* Cantos mais arredondados */
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1); /* Sombra suave e elegante */
    /* padding: 30px; Espaçamento interno generoso */
    max-width: 500px; /* Largura máxima para o formulário não ficar muito largo */
    width: 90%; /* Responsividade básica */
    position: relative; /* Para posicionar o botão de fechar */
    animation: fadeIn 0.3s ease-out; /* Animação de entrada */
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-20px); }
    to { opacity: 1; transform: translateY(0); }
}

.close-button {
    position: absolute;
    top: 15px;
    right: 20px;
    /* background: none; */
    border: none;
    font-size: 22px;
    color: #888;
    cursor: pointer;
    transition: color 0.2s ease;
}

.close-button:hover {
    color: #333;
}

h2 {
    text-align: center;
    color: #333;
    margin-bottom: 25px;
    font-size: 26px;
    font-weight: 600;
}

.d-flex {
    display: flex;
    align-items: center; /* Alinha verticalmente os itens */
    margin-bottom: 15px; /* Espaçamento entre os grupos */
}

.d-flex label {
    flex: 0 0 auto; /* Não cresce nem encolhe */
    width: 80px; /* Largura fixa para os labels */
    color: #555;
    font-weight: 500;
    margin-right: 10px; /* Espaçamento entre label e input */
}

.form-control {
    flex-grow: 1; /* Permite que o input preencha o espaço restante */
    /* padding: 12px 15px; */
    border: 1px solid #ddd;
    border-radius: 5px;
    /* font-size: 16px; */
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-control:focus {
    border-color: #007bff; /* Cor primária ao focar */
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25); /* Sombra suave ao focar */
    outline: none; /* Remove o outline padrão do navegador */
}

.form-group {
    margin-bottom: 15px; /* Espaçamento entre os grupos */
}

.form-group label {
    display: block; /* Cada label em sua própria linha */
    margin-bottom: 8px;
    color: #555;
    font-weight: 500;
}

.form-group input[type="email"],
.form-group input[type="text"],
.form-group textarea {
    width: 100%; /* Preenche a largura total do contêiner */
    padding: 12px 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    font-size: 16px;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-group input[type="email"]:focus,
.form-group input[type="text"]:focus,
.form-group textarea:focus {
    border-color: #007bff;
    box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.25);
    outline: none;
}

textarea {
    resize: vertical; /* Permite redimensionar verticalmente */
    min-height: 100px;
}

button[type="submit"] {
    /* display: block; Botão ocupa a largura total */
    /* width: 100%; */
    /* padding: 15px 25px; */
    background-color: #007bff; /* Cor primária do botão */
    color: white;
    border: none;
    border-radius: 8px;
    /* font-size: 18px; */
    /* font-weight: 600; */
    cursor: pointer;
    transition: background-color 0.2s ease, transform 0.1s ease;
    /* margin-top: 25px; Espaçamento acima do botão */
}

button[type="submit"]:hover {
    background-color: #0056b3; /* Cor mais escura ao passar o mouse */
    transform: translateY(-2px); /* Efeito de "levantar" */
}

button[type="submit"]:active {
    transform: translateY(0); /* Retorna à posição normal ao clicar */
}

/* Estilos específicos para o input de telefone com placeholder */
input[type="tel"]::placeholder {
    color: #ccc;
    font-style: italic;
}