/* =========================================================
   RESET
   ========================================================= */
* {
    margin: 0;
    padding: 0;
    font-family: Roboto, Arial, Tahoma, Sans-serif;
    font-size: 100%;
    text-decoration: none;
    text-align: center;
    box-sizing: border-box;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
}

/* =========================================================
   ESTRUTURA BÁSICA / CORES
   ========================================================= */
.fundo { display:block; margin-top:40px; background: green; }
.ir { float:left; }
.dif { color: black; }
.cor { color:red; }

.geral { background: green; }
.diferente { background-color: #5df000; } /* corrigido: hex válido */

.container {
    margin: auto;
    width: 1200px;
    margin-top: 20px;
    padding: 10px;
}
.campos {
    width: 300px;
    height: 50px;
    border: 1px solid #ccc;
    margin-top: 10px;
    background: red;
}

/* =========================================================
   TIPOGRAFIA / TAGS PADRÃO
   ========================================================= */
p { padding: 5px; text-align: center; color: black; }
h1 { color: red; padding: 5px; }
h2 { color: white; padding: 5px; }
h3 { color: black; padding: 5px; }
img { width: 100%; height: 100%; border: 0; padding: 5px; }
video, iframe {
    width: 100%;
    height: 100%;
    min-height: 180px;
    background: #000;
    border: 5px solid #111;
}

/* PADRÃO AUDIO */
audio {
    width: 85%;
    margin: 5px;
    max-height: 35px;
}

/* TITULOS */
.titulo { text-transform: uppercase; font-size: 1.3em; }
.tituloDestaque {
    font-size: 2em;
    text-transform: uppercase;
    padding-bottom: 15px;
    margin-bottom: 20px;
    border-bottom: 3px dotted #ccc;
}

/* CORES DE TEXTO */
.textoVermelho{ color: #eb262a; }
.textoAzul{ color: #0089fa; }
.textoAmarelo{ color: #ffa900; }
.textoVerde{ color: #00c161; }

/* BOTÕES (GERAIS) */
.botao { margin: 10px; display: inline-block; border: 1px solid; color:#fff; cursor: pointer; }
.botaoMedio { padding: 10px 25px; }
.botaoGrande { padding: 15px 50px; }

.botaoAmarelo{ background-color: #ffa900; border-color: #ec9f00; }
.botaoAmarelo:hover{ background-color: #ffbe37; }

.botaoAzul{ background-color: #0089fa; border-color: #0082ec; }
.botaoAzul:hover{ background-color: #51b0ff; }

.botaoVerde{ background-color: #00a753; border-color: #009d4f; }
.botaoVerde:hover{ background-color: #00c161; }

.botaoVermelho{ background-color: #eb260a; border-color: #d3230a; }
.botaoVermelho:hover{ background-color: #f43d22; } /* corrigido: sem acento */

.btn {
    width: 100px;
    height: 30px;
    border: 1px solid #ddd;
    background-color: #2a578b;
    color: #fff;
    cursor: pointer;
}

/* CORPO / CONTEÚDO */
.corpo { width: 100%; }
.corpoFoto { width: 50%; }

.conteudo {
    max-width: 1280px;
    width: 80%;
    margin: 0 auto;
    padding: 5px;
}
.altura { height: 400px; }

/* CAIXAS */
.box { min-height: 500px; width: 100%; margin: 0.5%; }
.caixa { float: left; width: 100%; margin: 0.5%; }
.caixa1{ width: 7.33333%; }
.caixa2{ width: 15.66667%; }
.caixa3{ width: 24%; min-height: 430px; max-height: 430px; }
.caixa4{ width: 32.33333%; }
.caixa5{ width: 40.66667%; }
.caixa6{ width: 49%; }
.caixa7{ width: 57.33333%; }
.caixa8{ width: 65.66667%; }
.caixa9{ width: 74%; }
.caixa10{ width: 82.33333%; }
.caixa11{ width: 90.66667%; }
.caixa12{ width: 99%; }

/* LOGO */
.logo { width: 200px; height: 150px; }

/* CLEARFIX */
.limpa { clear: both; overflow: hidden; display: block; }

/* FUNDOS / TEMAS */
.fundoTopo {
    background-image: url("imagens/topo.png");
    background-repeat: repeat;
}
.verde { background: #609E1B; color: #fff; }
.preto { background: #333; color: #ccc; }
.cinza { background: #f2f1ec; color: #555; }

/* BORDAS / SOMBRAS */
.bordas {
    border-radius: 10px;
    -webkit-border-radius: 10px;
    -moz-border-radius:10px
}
.sombra {
    box-shadow: 2px 5px 10px #ccc;
    -webkit-box-shadow: 2px 5px 10px #ccc;
    -moz-box-shadow: 2px 5px 10px #ccc;
    border: 1px solid #ddd;
}

/* MENU */
.menu { display: block; float: right; margin-top: 40px; background: green; }
.menu li { font-weight: bold; text-transform: uppercase; display: inline-block; padding: 20px; }
.menu li:hover { background: rgb(50,205,40); }
.menu a { color: rgba(255,255,255,0.9); }
.menu a:hover { color:#000000; text-decoration: underline; }

/* FOTO / SLIDE */
.foto { height: 350px; border: 5px solid #fff; position: relative; text-align: left; }

.slide { height: 350px; border: 5px solid #fff; position: relative; text-align: left; }
.slideImagem { position: absolute; opacity: 0; animation: animaSlide 25s infinite; -webkit-animation: animaSlide 25s infinite; }

@keyframes animaSlide {
    25% { opacity: 1; }
    75% { opacity: 0; }
}

/* Removido nth-child(0) — inválido */
.slideImagem:nth-child(1){ animation-delay: 5s; }
.slideImagem:nth-child(2){ animation-delay: 10s; }
.slideImagem:nth-child(3){ animation-delay: 15s; }
.slideImagem:nth-child(4){ animation-delay: 20s; }
.slideImagem:nth-child(5){ animation-delay: 25s; }
.slideImagem:nth-child(6){ animation-delay: 30s; }

/* ENDEREÇO */
.endereco li, address {
    line-height: 50px;
    font-style: italic;
    border-bottom: 1px #eee solid;
    list-style: none;
    text-align: left;
}
.endereco a { color: #ccc; }
.endereco a:hover { color:#ccc; }
.endereco img { float: left; width: 40px; height: 40px; margin: 5px; }

/* FORMULÁRIO (GENÉRICO) */
input[type="text"], input[type="email"], textarea {
    width: 100%;
    padding: 15px;
    background: #e9e9e9;
    border: 1px solid #ddd;
    margin: 1%;
    text-align: left;
}

/* FOOTER */
footer p { font-size: 0.9em; font-weight: bold; text-align: center; }
footer span { font-size: 0.9em; } /* corrigido */

/* SOCIAL */
.social li { display: inline-block; margin: 1%; }
.social li a { padding: 10px; }

/* =========================================================
   RESPONSIVO
   ========================================================= */
@media screen and (max-width: 960px) {
    .conteudo { width: 95%; }
    .menu li { padding: 15px; }
    .caixa3 { width: 48%; min-height: 370px; }
}

@media screen and (max-width: 480px) {
    .logo { float: none; }
    .menu { width: 100%; }
    .caixa { margin: 5px; }
    .conteudo { width: 100%; }
    .caixa3 { width: 100%; }
    .caixa6 { width: 100%; }
    .logo { margin-left: 0; width: 80%; height: 80%; }
    .menu li { width: 100%; border-bottom: 1px solid #ccc; }
    .slide { height: 200px; }
    .baixo {
        display: block;
        margin-top: 0px;
        background: green;
    }
    .log { height: 1px; float: right; }
}
.slide { height: 280px; }

/* =========================================================
   COMPONENTES PARA A PÁGINA DE CONSULTA (.card etc.)
   (Mantidos isolados para não afetar o resto do site)
   ========================================================= */

/* Força contraste dentro do card, mesmo com body.verde (texto branco) */
.card, .card * { color: #222 !important; }
.card input[type="text"], .card input[type="email"], .card textarea {
    background: #fff !important;
    color: #222 !important;
}
.card .actions a { color: #fff !important; }

/* Layout utilitário usado nas páginas novas */
.wrap { max-width: 1000px; margin: 24px auto; }
.card { background: #fff; padding: 18px; border-radius: 12px; box-shadow: 0 6px 24px rgba(0,0,0,.06); }
.center { text-align: center; }
.muted { color: #556; }
.grid { display: grid; gap: 12px; }
/* em páginas com dois/um campos, sobrescreva as colunas no HTML quando preciso */
.row { display: grid; grid-template-columns: 1fr 1fr auto auto; gap: 10px; align-items: center; }

/* Botões DENTRO do card (não afetam .btn global) */
.card .btn { padding: 10px 16px; border: 0; border-radius: 8px; background: #2d862d; color: #fff; font-weight: 700; cursor: pointer; width: auto; height: auto; }
.card .btn.sec { background: #888; }

/* Tabela dentro do card */
.card table { width: 100%; border-collapse: collapse; margin-top: 12px; }
.card th, .card td { padding: 10px; border-bottom: 1px solid #eee; text-align: left; }

/* Links dentro do card */
.card a.ir { color: #2a578b !important; text-decoration: underline; }

/* Responsivo do layout novo */
@media (max-width: 720px) {
    .row { grid-template-columns: 1fr; gap: 8px; }
}
