*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

header{
    width:100%;
    height:110px;
    background:#fff;
    font-family: Inter, sans-serif;
}

.container{
    display:flex;
    justify-content:center;
    align-items:center;
    gap: 55px;
}

.logo{
    width:150px;
}

nav ul{
    display:flex;
    list-style:none;
    gap:40px;
}

nav a{
    position: relative;
    text-decoration: none;
    color: #555;
    font-weight: bold;
}

nav a::after{
    content: "";
    position: absolute;
    left: 0;
    bottom: -6px;
    width: 100%;
    height: 2px;
    background: #257f81;
    color: #ffffff;

    opacity: 0;
    transition: opacity .5s ease, color .5s ease;
}

nav a:hover::after{
    opacity: 1;
}

nav a.ativo::after{
    opacity: 1;
}

nav a:hover{
    color: #004b8d;
}

nav a.ativo{
    color: #004b8d;
}

.botao{
    text-decoration:none;
    border: 2px solid #02133d;
    color: #004b8d;
    padding:15px 25px;
    border-radius:5px;
    font-weight:bold;
    cursor: pointer;
}

/* Configurações Gerais da Seção */
.classe-categoria {
    max-width: 1200px;
    margin: 20px auto;
    padding: 0 20px;
    font-family: 'Arial', sans-serif; /* Substitua pela fonte do seu projeto */
}

/* Cabeçalho e Título */
.produtos-header {
    margin-bottom: 30px;
}

.produtos-header h2 {
    font-size: 20px;
    color: #555; /* Cor cinza para "NOSSOS" */
    font-weight: normal;
    text-transform: uppercase;
    margin-bottom: 20px;
    letter-spacing: 1px;
    display:flex;
    justify-content:center;
    align-items:center;
    gap: 1%;
}

.produtos-header h2 span {
    color: #004080; /* Azul escuro para "PRODUTOS" */
    font-weight: bold;
}

.linha-decorativa {
    width: 100%;
    height: 1px;
    background-color: #e0e0e0; /* Linha cinza clara */
    position: relative;
}

.linha-detalhe {
    position: absolute;
    right: 5%;
    top: -1px; /* Alinha com o topo da linha cinza */
    width: 90%; /* Largura da barrinha */
    height: 3px; /* Espessura da barrinha */
    background-color: #004080;
}

/* Container dos Botões */
.filtros-container {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-bottom: 30px;
    flex-wrap: wrap;
    padding: 10px;
}

/* Estilo padrão dos Botões de Filtro */
.btn-filtro {
    background-color: #f5f5f5;
    color: #555;
    border: 1px solid #ddd;
    padding: 8px 18px;
    border-radius: 6px; /* Deixa o botão arredondado*/
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.3s ease;
}

/* Efeito Hover nos botões */
.btn-filtro:hover {
    background-color: #004b8d; /* Azul do seu menu */
    color: white;
    border-color: #004b8d;
}

/* Botão Ativo (o que está selecionado no momento) */
.btn-filtro.ativo {
    background-color: #79ff44;
    color: white;
    border-color: #5ee42c;
}

/* Grid de Imagens */
.produtos-grid {
    display: grid;
    gap: 20px;
    max-width: 1100px; /* Mantém o limite total do grid */
    grid-template-columns: repeat(auto-fit, minmax(250px, 350px));
    /* OPCIONAL: Centraliza a foto sozinha se sobrar espaço nas laterais */
    justify-content: center;
    padding-top: 50px;
}

/* Estilo das Fotos */
.grid-item {
    border-radius: 8px;
    overflow: hidden;
    transition: all 0.4s ease; /* Transição suave para quando sumirem/aparecerem */
    opacity: 1;
    transform: scale(1);
}

.grid-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* CLASSE MÁGICA: Quando adicionada, esconde a foto com efeito */
.grid-item.esconder {
    opacity: 0;
    transform: scale(0.8);
    display: none; /* Remove do fluxo da página para o grid se reorganizar */
}

section[id] {
    scroll-margin-top: 30px; /* Deixa uma folga de 80px para todas */
}

.btn-orcamento {
    background-color: #004080;
    color: white;
    border: none;
    padding: 10px 15px;
    margin-top: 15px;
    border-radius: 4px;
    cursor: pointer;
    font-weight: bold;
    width: 100%;
    transition: background 0.3s;
}

.btn-orcamento:hover {
    background-color: #002d5a;
}

/* Fundo do Modal (Cobre a tela inteira com um preto transparente) */
.modal-container {
    display: none; /* Começa oculto */
    position: fixed;
    z-index: 9999; /* Fica acima de tudo na página */
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6); /* Fundo escurecido */
    justify-content: center;
    align-items: center;
    font-family: Inter, sans-serif;
}

/* Caixa Branca do Modal (Formulário) */
.modal-conteudo {
    background-color: #fff;
    padding: 30px;
    border-radius: 8px;
    width: 90%;
    max-width: 450px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
    position: relative;
    animation: abrirSuave 0.3s ease-out; /* Efeito de surgimento */
}

/* Botão Fechar (X) */
.fechar-modal {
    position: absolute;
    right: 20px;
    top: 15px;
    font-size: 28px;
    font-weight: bold;
    color: #aaa;
    cursor: pointer;
    transition: color 0.2s;
}

.fechar-modal:hover {
    color: #333;
}

/* Estilização básica do formulário dentro do modal */
#form-orcamento {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-top: 20px;
}

#form-orcamento label {
    font-size: 14px;
    color: #333;
    font-weight: bold;
    font-family: Inter, sans-serif;
}

#form-orcamento input, #form-orcamento select {
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 16px;
}

.btn-enviar-wpp {
    background-color: #25d366; /* Verde do WhatsApp */
    color: white;
    border: none;
    padding: 12px;
    border-radius: 4px;
    font-size: 16px;
    font-weight: bold;
    font-family: Inter, sans-serif;
    cursor: pointer;
    margin-top: 10px;
    transition: background 0.3s;
}

.btn-enviar-wpp:hover {
    background-color: #1ebe57;
}

/* Animação para o modal surgir de forma suave */
@keyframes abrirSuave {
    from {
        transform: scale(0.8);
        opacity: 0;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}