/* --- Seção de Catracas (Estilo Mercado Livre) --- */
.catracas-section {
    padding: 60px 0;
    background-color: #ebebeb; /* Fundo cinza suave típico de e-commerces para destacar os cards brancos */
}

.container-80 {
    width: 80%; /* Container de 80% como solicitado */
    max-width: 1300px;
    margin: 0 auto;
}

.section-title {
    text-align: center;
    font-size: 28px;
    color: #333333;
    margin-bottom: 40px;
    font-weight: 600;
}

.catracas-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 4 colunas no Desktop */
    gap: 20px;
}

.produto-card {
    background: #ffffff;
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 2px 0 rgba(0,0,0,0.12); /* Sombra inicial quase invisível */
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    display: flex;
    flex-direction: column;
}

.produto-card:hover {
    box-shadow: 0 8px 16px 0 rgba(0,0,0,0.1); /* Sombra elegante estilo M.L. */
    transform: translateY(-2px);
}

.produto-img {
    width: 100%;
    height: 200px; /* Altura fixa garante padronização na grade */
    padding: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 1px solid #f2f2f2;
}

.produto-img img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain; /* Não deixa a imagem cortar de jeito nenhum */
}

.produto-info {
    padding: 18px;
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* Faz a área preencher o espaço restante empurrando o botão pro final */
}

.produto-categoria {
    font-size: 11px;
    color: #999999;
    text-transform: uppercase;
    margin-bottom: 6px;
    letter-spacing: 0.5px;
}

.produto-desc {
    font-size: 14px;
    color: #333333;
    font-weight: 400;
    line-height: 1.4;
    margin-bottom: 15px;
    display: -webkit-box;
    -webkit-line-clamp: 2; /* Corta o texto elegantemente após 2 linhas */
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex-grow: 1;
}

.btn-consultar {
    text-decoration: none;
    color: #3483fa; /* Cor institucional de link do M.L. */
    font-size: 13px;
    font-weight: 600;
    transition: color 0.2s;
    margin-top: auto;
}

.btn-consultar:hover {
    color: #1a60cc;
}

/* --- Ajustes Catracas para Mobile --- */
@media (max-width: 768px) {
    .container-80 {
        width: 92%; /* No celular, 80% fica muito apertado, 92% é o ideal para leitura */
    }
    
    .catracas-grid {
        grid-template-columns: repeat(2, 1fr); /* 2 colunas no Mobile (Celular) */
        gap: 10px; /* Reduz espaço entre cards para caber no celular sem amassar */
    }

    .produto-img {
        height: 140px; /* Diminui a altura da imagem no mobile para não ocupar tela inteira */
        padding: 10px;
    }

    .produto-info {
        padding: 12px;
    }

    .produto-desc {
        font-size: 13px; /* Reduz fonte para evitar poluição visual */
    }
}
/* ---------------------------------------------------------------
   Perguntas frequentes — usado nas páginas de categoria.
   Marcado também em JSON-LD (FAQPage) na mesma página: o que está
   aqui e o que está no dado estruturado precisam bater sempre, ou
   vira violação de política do Google.
   <details> em vez de JS: abre e fecha sem script, e o conteúdo
   fica no HTML para o rastreador ler mesmo fechado.
   --------------------------------------------------------------- */
.faq-lista {
    display: grid;
    gap: 12px;
    max-width: 860px;
    margin: 0 auto;
}
.faq-item {
    background: #fff;
    border: 1px solid #E4E7EA;
    border-radius: 12px;
    padding: 18px 22px;
}
.faq-item > summary {
    cursor: pointer;
    font-weight: 600;
    font-size: 1.04rem;
    color: #16181C;
    list-style: none;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
}
/* Safari ainda desenha o triângulo padrão sem isto. */
.faq-item > summary::-webkit-details-marker { display: none; }
.faq-item > summary::after {
    content: "+";
    color: #D10404;
    font-weight: 700;
    font-size: 1.3rem;
    line-height: 1;
    flex: none;
}
.faq-item[open] > summary::after { content: "\2212"; }
.faq-item > summary:focus-visible {
    outline: 2px solid #D10404;
    outline-offset: 3px;
}
.faq-item p {
    font-size: .99rem;
    line-height: 1.75;
    color: #5a5e65;
    margin: 14px 0 0;
}
@media (prefers-reduced-motion: no-preference) {
    .faq-item { transition: border-color .2s ease; }
    .faq-item[open] { border-color: #D10404; }
}

/* --- Grades g2/g3/g4 dos blocos de solucao --- */
/* Estas grades sao declaradas com style inline (repeat(2|3,1fr)) dentro das
   paginas. Sem media query, o card fica com 93px de largura no celular — foi
   o que ficou no ar em /leitor-facial/ e /controle-de-acesso/ entre 03/09 e
   12/09/2026, quando os blocos #executamos e #obras foram copiados de
   /projetos/ sem as regras que os acompanhavam.
   Precisa de !important porque style inline nao se vence de outro jeito.
   A /projetos/ tem copia inline destas mesmas regras, com os mesmos valores,
   entao nao conflita. */
@media (max-width: 980px) {
    .g2 { grid-template-columns: 1fr !important; }
    .g3, .g4 { grid-template-columns: 1fr 1fr !important; }
}
@media (max-width: 600px) {
    .g2, .g3, .g4 { grid-template-columns: 1fr !important; }
}
