/* =============================================================== */
/* CSS RESET BÁSICO (Adicionado para remover bordas brancas) */
/* =============================================================== */
html, body {
    width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: hidden; /* Isso impede a barra de rolagem horizontal em qualquer situação */
}

/* =============================================================== */
/* PARTE 1: ESTILOS ORIGINAIS DO ARQUIVO INDEX.CSS */
/* =============================================================== */
#page_bg {
    background-color: #FFFFFF;
    background-attachment: fixed;
    background-repeat: repeat-x;
    font-size: 18px;
}
#cabecalho {
    position: fixed;
    top: 0px;
    height: 100px;
    width: 100%;
    font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
    left: -1px;
    overflow: visible;
    visibility: visible;
    z-index: 4;
    font-size: 16px;
    background-color: #FFF;
}


#botao-arredondado1:hover {
    background-color: #F8F8F8;
}

#menu_topo {
    position: fixed;
    width: 100%;
    top: 93px;
    overflow: visible;
    background-color: #0066CC;
    font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
    font-size: 16px;
    color: #FFFFFF;
    font-weight: normal;
    border: 1px solid #FFFFFF;
    padding: 6px;
    cursor: pointer;
}
#menu_topo a:hover {
    font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
    font-size: 16px;
    color: #33CCFF;
    text-decoration: none;
}
#menu_topo a{
    font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
    font-weight: normal;
    font-size: 16px;
    color: #FFFFFF;
    text-decoration: none;
}

/* REGRA ATUALIZADA */
#nossos-produtos {
	text-align: center;
	font-size: 46px;
	color: #000000;
	padding: 5px;
	/* Posição removida, margem controla o espaçamento */
	margin: 40px 0 20px 0;
	border-radius: 8px;
	font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
}

#page_bg #nossos-produtos div {
    font-size: 18px;
    color: #000000;
    top: 10px;
    position: relative;
}

#logotipo{
    position: absolute;
    height: 70px;
    width: 228px;
    font-family: Arial, Helvetica, sans-serif;
    overflow: visible;
    visibility: visible;
    top: 19px;
    left: 17px;
    font-size: 12px;
    font-weight: bold;
    color: #000000;
    text-align: right;
    background-image: url(../img/AI_logo.jpg);
    background-repeat: no-repeat;
    z-index: 5;
}

/* REGRA ATUALIZADA */
#menu_lateral{
    /* Posições absolutas removidas */
    width: 90%;
    max-width: 1200px; /* Define uma largura máxima */
    margin: 20px auto; /* Centraliza e adiciona margem vertical */
    background-repeat: no-repeat;
    font-family: Verdana, Arial, Helvetica, sans-serif;
    text-align: center;
    list-style-position: inside;
    font-weight: normal;
    color: #0066CC;
    padding: 10px;
    font-size: 16px;
    border-radius: 30px;
    cursor: pointer;
    transition: background-color 0.3s;
    border: 1px solid #FFFFFF;
    box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.3);
    display: table; /* Mantém o comportamento de tabela */
}

#menu_lateral a:hover {
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-size: 16px;
    color: #0066FF;
    text-decoration: none;
}
#menu_lateral a{
    font-family: Verdana, Arial, Helvetica, sans-serif;
    font-weight: normal;
    font-size: 16px;
    color: #0066CC;
    text-decoration: none;
}

/* REGRA ATUALIZADA */
#principal {
    /* As regras antigas foram removidas para permitir o fluxo normal da página */
    width: 100%;
    padding: 20px 0; /* Adiciona um espaçamento vertical */
    position: relative; /* Garante o contexto de posicionamento para filhos, se necessário */
    clear: both; /* Garante que não flutue ao lado de outros elementos */
}

/* REGRA ATUALIZADA */
#produtos{
    /* As regras antigas foram removidas */
    font-family: "Trebuchet MS";
    font-weight: bold;
    color: #999999;
    text-align: center;
    max-width: 1200px; /* Limita a largura máxima para alinhar com o resto do site */
    margin: 0 auto; /* Centraliza o container na página */
    padding: 0 15px; /* Adiciona um espaçamento lateral */
}

#assinatura{
    font-family: "Trebuchet MS";
    overflow: visible;
    visibility: visible;
    font-size: 11px;
    font-weight: normal;
    color: #666666;
    background-repeat: no-repeat;
    z-index: 3;
    text-align: center;
}

/* =============================================================== */
/* PARTE 2: ESTILOS MOVIDOS DA PÁGINA INDEX.PHP */
/* =============================================================== */

#produtos table {
    width: 100%;
    border-collapse: collapse;
}

#foto_produto {
    background: white;
    border-radius: 8px;
    padding: 15px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    height: 100%;
    margin-bottom: 20px;
    text-align: center;
}

#foto_produto:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
}

#foto_produto img {
    max-width: 100%;
    height: auto;
    border-radius: 5px;
    display: block;
    margin: 0 auto 15px;
}

#nome_comercial {
    font-size: 16px;
    color: #2c3e50;
    display: block;
    margin-bottom: 10px;
    font-weight: bold;
}

@media (min-width: 901px) {
    #produtos td {
        width: 30%;
        padding: 15px;
        vertical-align: top;
    }
    
    #produtos tr {
        display: table-row;
    }
    
    #menu_lateral {
        display: table !important;
    }
    
    .botao-menu-mobile {
        display: none;
    }
    
    #menu_lateral_container {
        width: auto;
    }
}

@media (max-width: 900px) {
    #produtos table, #produtos tbody, #produtos tr, #produtos td {
        display: block;
        width: 100%;
    }
    
    #produtos tr {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
    }
    
    #produtos td {
        width: 45%;
        margin: 2.5%;
        padding: 15px 0;
    }
    
    #menu_lateral_container {
        width: 100%;
        margin: 20px 0;
    }
    
    #menu_lateral {
        width: 100%;
        display: none;
        background: #f8f9fa;
        border-radius: 8px;
        padding: 10px;
        box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    }
    
    #menu_lateral.active {
        display: table;
    }
    
    #menu_lateral tr {
        display: flex;
        flex-direction: column;
        width: 100%;
    }
    
    #menu_lateral td {
        width: 100% !important;
        display: block;
        margin: 5px 0;
        padding: 5px;
    }
    
    .botao-menu-mobile {
        display: block;
        background-color: #2c3e50;
        color: white !important;
        padding: 12px 15px;
        border: none;
        border-radius: 5px;
        cursor: pointer;
        margin: 10px auto;
        font-size: 16px;
        width: 100%;
        max-width: 300px;
        font-weight: bold;
        box-shadow: 0 2px 5px rgba(0,0,0,0.2);
        transition: all 0.3s ease;
    }
    
    .botao-menu-mobile:hover {
        background-color: #3498db;
        transform: translateY(-2px);
        box-shadow: 0 4px 8px rgba(0,0,0,0.3);
    }
    
    #menu_lateral .botao-arredondado {
        width: 100%;
        margin: 8px 0;
        padding: 12px 15px;
        font-size: 16px;
        text-align: center;
        display: block;
        box-sizing: border-box;
    }
}

@media (max-width: 600px) {
    #produtos td {
        width: 90%;
        margin: 15px auto;
    }
    
    #nossos-produtos {
        font-size: 1.5rem;
        padding: 10px;
        text-align: center;
    }
    
    #menu_lateral td {
        margin: 8px 0;
    }
    
    .botao-menu-mobile {
        font-size: 18px;
        padding: 15px;
    }
    
    #nome_comercial {
        font-size: 14px;
    }
}

#menu_lateral_container {
    margin: 15px 0;
}


/* =============================================================== */
/* PARTE 3: ESTILOS DO NOVO RODAPÉ (VERSÃO FINAL CORRIGIDA) */
/* =============================================================== */



.site-footer {
    position: relative; /* ESSENCIAL! Ele agora é a âncora para o seu fundo virtual. */
    z-index: 1;         /* Garante que o conteúdo fique na frente do fundo virtual. */
	font-size: 14px; 
	font-weight: normal;
    color: #cccccc;
    padding: 50px 0 20px 0;
    font-family: "Lucida Sans Unicode", "Lucida Grande", sans-serif;
}

.site-footer::before {
    content: '';        /* Obrigatório para pseudo-elementos funcionarem. */
    position: absolute;
    z-index: -1;        /* Joga o fundo para TRÁS do conteúdo do .site-footer. */
    
    /* Geometria do fundo */
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 100vw;
    height: 100%;       /* Ocupa 100% da altura do .site-footer real. */
    
    /* Cor do fundo */
    background-color: #0f192a;
}

.footer-container {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}


.footer-column {
    flex: 1;
    margin: 0 15px 30px 15px;
    min-width: 250px;
    text-align: left;
}

.footer-column h3 {
    font-size: 18px;
    color: #ffffff;
    margin-bottom: 20px;
    font-weight: bold;
}

.logo-column .footer-logo {
    max-width: 200px;
    margin-bottom: 20px;
}

.footer-features {
    list-style: none;
    padding: 0;
    margin-top: 20px;
}

.footer-features li {
    margin-bottom: 10px;
    display: flex;
    align-items: center;
}

.footer-features .fa-check-circle { color: #28a745; }
.footer-features .fa-shipping-fast { color: #007bff; }

.links-column ul, .contact-column ul {
    list-style: none;
    padding: 0;
}

.links-column ul li, .contact-column ul li {
    margin-bottom: 12px;
}

.contact-column ul li {
    display: flex;
    align-items: flex-start;
}

.site-footer a {
    color: #cccccc;
    text-decoration: none;
    transition: color 0.3s ease;
}

.site-footer a:hover {
    color: #ffffff;
}

.footer-column i {
    margin-right: 12px;
    font-size: 16px;
    width: 20px;
    color: #ffffff;
}

.footer-bottom {
    text-align: center;
    border-top: 1px solid #333;
    padding-top: 20px;
    margin-top: 20px;
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
}

.copyright {
    font-size: 14px;
    color: #a0a0a0;
    margin: 0 0 15px 0;
}

.site-footer #assinatura {
    font-size: 16px;
    color: #888888;
}

.site-footer #assinatura p {
    margin: 0;
    padding: 0;
}

.site-footer #assinatura a { color: #aaaaaa; }
.site-footer #assinatura a:hover { color: #ffffff; }

@media (max-width: 768px) {
    .footer-container {
        flex-direction: column;
    }
}


/* =============================================================== */
/* PARTE 4: ESTILOS PARA A SEÇÃO DE ABERTURA (HERO) */
/* =============================================================== */

#abertura-site {
    /* Ajuste para que a seção comece abaixo do cabeçalho fixo */
    padding-top: 100px; 
}

.hero-section {
    background-color: #283583; /* Cor azul da imagem */
    color: #ffffff;
    padding: 80px 0; /* Aumentamos o espaçamento vertical */
    font-family: Arial, sans-serif;
	min-height: 450px;         /* 1. Define uma altura mínima para a seção */
    display: flex;             /* 2. Transforma a seção em um contêiner flexível */
    align-items: center;       /* 3. ALINHA VERTICALMENTE TODO O CONTEÚDO NO CENTRO */
    justify-content: center;   /* 4. Garante a centralização horizontal */
}

.hero-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: 0.8fr 1.2fr; /* Coluna de texto 20% maior que a de imagens */
    align-items: center;
    gap: 40px;
}

.no-wrap {
    white-space: nowrap;
}

.hero-text {
    flex: 1;
    max-width: 50%;
}

.hero-text h1 {
    font-size: 42px;
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 20px;
}

.hero-text p {
    font-size: 18px;
    line-height: 1.6;
    margin-bottom: 30px;
    max-width: 450px; /* Limita a largura do parágrafo */
}

.hero-buttons {
    display: flex;
    gap: 15px;
    align-items: center;
}

.btn {
    display: inline-block;
    padding: 12px 25px;
    border-radius: 5px;
    text-decoration: none;
    font-weight: bold;
    text-align: center;
    transition: all 0.3s ease;
    border: 2px solid transparent;
}

.btn-primary {
    background-color: #007bff; /* Um azul vibrante para o botão */
    color: #ffffff;
}

.btn-primary:hover {
    background-color: #0056b3;
}

.btn-secondary {
    background-color: #ffffff;
    min-width: 150px; /* Largura para o botão em branco */
    height: 45px; /* Altura igual ao outro botão */
    cursor: default; /* Remove o cursor de link se não for clicável */
}

.hero-images {
    flex: 1;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 15px;
}

.img-grid-item {
    background-color: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.img-grid-item img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Garante que a imagem preencha o espaço */
    display: block;
}

/* --- Estilos Responsivos para a Seção Hero --- */
@media (max-width: 992px) {
	.hero-container {
        grid-template-columns: 1fr; /* Muda a grade para apenas UMA coluna */
        text-align: center;
    }

    .hero-text {
        max-width: 100%;
        margin-bottom: 40px;
    }

    .hero-text p {
        margin-left: auto;
        margin-right: auto;
    }

    .hero-buttons {
        justify-content: center;
    }
    
    .hero-text h1 {
        font-size: 36px;
    }
}

@media (max-width: 480px) {
    .hero-text h1 {
        font-size: 28px;
    }

    .hero-text p {
        font-size: 16px;
    }

    .hero-buttons {
        flex-direction: column;
    }

    .btn {
        width: 100%;
        max-width: 300px;
    }
}



/* =============================================================== */
/* TENTATIVA FINAL: CORREÇÃO COM MÁXIMA ESPECIFICIDADE       */
/* =============================================================== */

/* Usamos #menu_topo para aumentar a prioridade desta regra */
#menu_topo a.botao-arredondado {
	/* Estilos para fazer o LINK parecer um BOTÃO */
	display: inline-block; /* Essencial para que padding funcione corretamente */
	text-decoration: none; /* Remove o sublinhado do link */
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	
	/* Nossos estilos visuais */
	font-family: "Trebuchet MS";
	background-color: #FFFFFF;
	font-weight: normal;
	color: #000000 !important; /* Garante que o texto seja PRETO */
	padding: 6px 12px;
	font-size: 16px;
	border-radius: 10px;
	cursor: pointer;
	transition: background-color 0.3s;
	border: 1px solid #FFFFFF;
	box-shadow: 0px 1px 5px rgba(0, 0, 0, 0.3);
}

/* Efeito hover para o nosso link-botão */
#menu_topo a.botao-arredondado:hover {
	background-color: #F8F8F8;
	color: #000000 !important; /* Garante que o texto continue preto no hover */
	text-decoration: none;
}

/* =============================================================== */
/* == BLOCO DE CORREÇÃO MOBILE PARA INDEX.CSS == */
/* =============================================================== */

@media (max-width: 900px) {

    /* --- CORREÇÃO 1: CABEÇALHO E MENU SUPERIOR --- */
    /* Problema: Menu cortado no Firefox e desalinhado. */
    /* Solução: Remover o deslocamento e transformar o menu em Flexbox no mobile. */
    #cabecalho {
        left: 0 !important; /* Remove o deslocamento problemático */
    }

    #menu_topo {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        flex-wrap: wrap !important;
        height: auto !important;
        padding: 8px 15px !important;
        box-sizing: border-box !important;
    }
    
    #menu_topo a {
        font-size: 14px !important;
    }


    /* --- CORREÇÃO 2: MENU DE CATEGORIAS CENTRALIZADO --- */
    /* Problema: Menu de categorias escondido e botões alinhados à esquerda. */
    /* Solução: Forçar a exibição do menu e usar Flexbox para centralizar os botões. */
    #menu_lateral {
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
    }
    
    #menu_lateral tr {
        display: contents !important;
    }
    
    #menu_lateral td {
        display: block !important;
        width: 90% !important;
        max-width: 450px !important;
        text-align: center !important;
        margin-bottom: 10px !important;
    }
}

@media (max-width: 600px) {

    /* --- CORREÇÃO 3: SEÇÃO "HERO" VISÍVEL --- */
    /* Problema: A seção principal era coberta pelo cabeçalho. */
    /* Solução: Aumentar o espaçamento superior para desviar do cabeçalho de altura variável. */
    #abertura-site {
        padding-top: 150px !important; 
    }
    
    #nossos-produtos {
        padding-top: 20px !important; /* Adiciona um espaçamento menor, pois não está mais no topo */
    }
}