/* =========================================
   1. CONFIGURAÇÕES GERAIS E VARIÁVEIS
   ========================================= */
   :root {
    --verde-appso: #2E7D32;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box; /* Garante que padding não aumente o tamanho da div */
    font-family: 'Sora', 'Istok Web', sans-serif;
}

body {
    background-color: rgb(255, 255, 255);
}

/* =========================================
   2. BARRA DE AVISO (TOPO) E HEADER
   ========================================= */
.aviso-topo {
    background-color: #f8f9fa;
    color: #333;
    text-align: center;
    padding: 15px;
    font-size: 1.3rem;
    width: 100%;
    z-index: 20;
    position: relative;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.aviso-topo a {
    color: var(--verde-appso);
    font-weight: bold;
    text-decoration: underline;
}

.aviso-topo a:hover {
    color: #5ab84c;
}

/* Corrige o contraste do hover no link destaque */
.menu .link-destaque:hover,
.menu-mobile .link-destaque-mobile:hover {
    color: white !important;
}

.menu .botao-login {
    border: 2px solid white;
    border-radius: 8px;
    padding: 8px 15px !important;
    font-weight: bold;
    margin-left: 10px;
}

.menu .botao-login:hover {
    background-color: white !important;
    color: var(--verde-appso) !important;
}

/* Destaques no Menu Mobile */
.menu-mobile .link-destaque-mobile {
    color: var(--verde-appso) !important;
    font-weight: bold;
}

.menu-mobile .botao-login-mobile {
    background-color: white !important;
    color: var(--verde-appso) !important;
    border-radius: 8px;
    padding: 10px 20px !important;
    margin-top: 15px;
    margin-bottom: 15px;
    font-weight: bold;
}

/* =========================================
   3. HERO / APRESENTAÇÃO (PRIMEIRA DOBRA)
   ========================================= */
   .apresentacao {
    display: grid;
    place-items: center;
    background-image: linear-gradient(rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.8)), url(../imagens/rever.webp);
    background-size: cover;
    background-position: center;
    height: 100vh;
}

.titulo {
    display: grid;
    place-items: center;
    text-align: center;
}

.titulo h1 {
    color: white;
    font-size: 5vh;
    font-weight: 700;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    margin-bottom: 10px;
}

.titulo h2 {
    color: white;
    font-size: 2.5vh;
    font-weight: 400;
    width: 40vw;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    margin-bottom: 20px;
}
.botoes {
    display: flex;
    gap: 15px; /* Espaçamento moderno entre os botões */
    justify-content: center;
    flex-wrap: wrap; /* Garante que não quebre a tela no celular */
    padding: 20px 0;
}

.botao-descubra, .botao-contato {
    text-decoration: none;
    color: white;
    padding: 12px 24px; /* Área de clique maior e mais confortável */
    border-radius: 8px; /* Cantos levemente arredondados, padrão SaaS */
    font-weight: bold;
    font-size: 16px;
    transition: all 0.3s ease; /* Efeito suave ao passar o mouse */
    text-shadow: none; /* Texto limpo e sem sombra para facilitar leitura */
}

/* Botão Principal de Vendas (Verde) */
.botao-descubra {
    border: 2px solid var(--verde-appso);
    background-color: var(--verde-appso);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2); /* Sombra externa para dar destaque */
}

.botao-descubra:hover {
    filter: brightness(0.9); /* Escurece levemente o verde no hover */
    transform: translateY(-2px); /* Efeito de elevação */
}

/* Botão Secundário do Cidadão (Transparente com borda) */
.botao-contato {
    border: 2px solid white;
    background-color: transparent;
}

.botao-contato:hover {
    background-color: rgba(255, 255, 255, 0.15); /* Fundo levemente branco no hover */
    transform: translateY(-2px);
}

/* Responsividade Hero */
@media only screen and (max-width: 450px) {
    .titulo h1 { font-size: 3vh; }
    .titulo h2 { font-size: 1.8vh; width: 80vw; }
}
@media only screen and (max-width: 250px) {
    .titulo h1 { font-size: 2vh; }
    .botao-contato, .botao-descubra { margin: 100px 0; }
}
@media only screen and (max-width: 210px) {
    .titulo h1 { font-size: 12px; }
    .botoes { display: grid; grid-template-columns: 1fr; padding: 10px; }
    .botao-contato, .botao-descubra { margin: 10px; }
}

/* =========================================
   4. SOBRE A PLATAFORMA
   ========================================= */
.sobre-plataforma {
    display: grid;
    grid-template-columns: 1fr 1fr;
    background-image: url(../imagens/paper-white-green.jpg);
    background-size: cover;
    height: 100vh;
}

.sobre-plataforma-p {
    display: grid;
    place-content: center;
    padding: 0 0 0 50px;
    color: white;
    font-size: 3vh;
}

.sobre-plataforma-p p {
    padding: 0 0 30px 0;
}

.sobre-plataforma-img {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.sobre-plataforma-img img {
    height: 85vh;
    padding: 40px 0;
}

/* Responsividade Sobre */
@media only screen and (max-width: 970px) {
    .sobre-plataforma { grid-template-columns: 1fr; }
    .sobre-plataforma-p { padding: 30px 20px 0 20px; font-size: 25px; text-align: center; }
    .sobre-plataforma-img { justify-content: center; }
    .sobre-plataforma-img img { height: 55vh; }
}
@media only screen and (max-width: 550px) {
    .sobre-plataforma-p { font-size: 20px; }
    .sobre-plataforma-img img { height: 40vh; }
}

/* =========================================
   5. MÓDULOS E SERVIÇOS
   ========================================= */
.servicos {
    padding: 100px 0;
    background-color: #fcfdfc;
}

.titulo-modulos {
    text-align: center;
    font-size: 50px;
    padding: 0 0 50px 0;
    color: var(--verde-appso);
}

.modulos {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 20px;
    padding: 50px 20px;
}

.modulo {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    margin-bottom: 40px;
}

.modulo img {
    height: 10vh;
    margin-bottom: 20px;
}

.modulo h3 {
    font-size: 2.5vh;
    color: var(--verde-appso);
    margin-bottom: 10px;
}

.modulo p {
    font-size: 1.8vh;
    color: #333;
    width: 80%;
}

.saiba-mais-section {
    display: grid;
    place-items: center;
    padding: 50px 0;
}

.saiba-mais-btn {
    background-color: var(--verde-appso);
    color: white;
    border: none;
    border-radius: 10px;
    padding: 10px 20px;
    font-size: 1.8vh;
    cursor: pointer;
    transition: background-color 0.3s ease;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.saiba-mais-btn:hover { background-color: #72b76b; }

/* Responsividade Módulos */
@media only screen and (min-width: 600px) {
    .modulos { grid-template-columns: repeat(2, 1fr); }
    .titulo-modulos { padding: 20px 25px 50px 25px; }
}
@media only screen and (min-width: 900px) {
    .modulos { grid-template-columns: repeat(3, 1fr); }
}

/* =========================================
   6. GESTÃO DE RECICLADOS
   ========================================= */
.reciclados {
    padding: 50px 20px;
}

.titulo-servico {
    text-align: center;
    font-size: 2.5em;
    color: var(--verde-appso);
    margin-bottom: 40px;
}

.reciclados section {
    display: grid;
    place-items: center;
    padding: 20px 0 0 0;
}

.reciclados section img {
    height: 75vh;
    padding: 0 0 100px 0;
}

.reciclados-mobile {
    display: none;
}

/* Responsividade Reciclados */
@media screen and (max-width: 900px) {
    .reciclados section img { display: none; }
    .reciclados-mobile { display: grid; place-items: center; }
    .reciclados-mobile img { padding: 20px 0; height: 30vh; }
}

/* =========================================
   7. PARCEIROS (CIDADES)
   ========================================= */
.parceiros {
    padding: 50px 20px;
}

.parceiros-lista {
    display: grid;
    gap: 20px;
    justify-content: center;
}

.parceiro {
    background-color: white;
    border-radius: 10px;
    overflow: hidden;
    transition: transform 0.3s ease;
    text-align: center;
    padding: 20px;
}

.parceiro:hover {
    transform: translateY(-5px);
}

.parceiro img {
    max-height: 150px;
    width: auto;
    margin-bottom: 20px;
}

.parceiro p {
    font-size: 1.2em;
    color: #333;
}

/* Responsividade Parceiros */
@media screen and (min-width: 900px) {
    .parceiros-lista { grid-template-columns: repeat(4, 1fr); }
}
@media screen and (min-width: 600px) and (max-width: 899px) {
    .parceiros-lista { grid-template-columns: repeat(3, 1fr); }
}
@media screen and (max-width: 599px) {
    .parceiros-lista { grid-template-columns: 1fr; }
    .parceiro img { height: 100px; }
}

/* =========================================
   8. PRÊMIOS E APOIO
   ========================================= */
.premio {
    padding: 50px 20px;
    text-align: center;
}

.premio-conteudo {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 20px;
}

.premio-imagem img {
    width: 100%;
    max-width: 400px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border-radius: 10px;
}

.premio-texto {
    max-width: 600px;
    font-size: 1.2em;
    color: #333;
    line-height: 1.6;
}

.premio-texto a {
    color: var(--verde-appso);
    font-weight: bold;
    text-decoration: none;
}

.apoio {
    display: grid;
    place-items: center;
    padding: 50px 0;
    background-color: white;
}

.apoio-imagem img {
    height: 30vh;
}

/* =========================================
   9. CONTATO E FORMULÁRIO
   ========================================= */
/* =========================================
   Ajustes da Seção de Contato
   ========================================= */
   .cabecalho-contato {
    text-align: center;
    padding: 0 20px;
    max-width: 800px;
    margin: 0 auto;
}

/* Caixa amarela de alerta padrão UX */
.alerta-cidadao {
    background-color: #fff3cd;
    color: #856404;
    padding: 12px 20px;
    border-radius: 8px;
    border: 1px solid #ffeeba;
    font-size: 14px;
    margin-bottom: 30px;
    display: inline-block;
    box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}

.alerta-cidadao a {
    color: #856404;
    font-weight: bold;
    text-decoration: underline;
}

.alerta-cidadao a:hover {
    color: #533f03;
}

/* Subtítulo com o WhatsApp */
.subtitulo-contato {
    font-size: 16px;
    color: #555;
    margin-top: -20px;
    margin-bottom: 30px;
    line-height: 1.6;
}

.subtitulo-contato a {
    color: var(--verde-appso);
    text-decoration: none;
    transition: 0.3s;
}

.subtitulo-contato a:hover {
    text-decoration: underline;
    color: #246328;
}

.contato {
    padding-top: 50px;
}

#meu-formulario {
    width: 100%;
    max-width: 600px;
    margin: 20px auto 100px auto;
    padding: 20px;
    background-color: #ffffff;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    border-radius: 8px;
}

/* Responsividade Formulário */
@media (max-width: 768px) {
    #meu-formulario { padding: 15px; }
}

/* =========================================
   10. RODAPÉ (FOOTER)
   ========================================= */
footer {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    place-items: center;
    background: linear-gradient(90deg, rgba(25, 121, 46, 1) 0%, rgba(25, 121, 46, 1) 35%, rgba(20, 182, 56, 1) 100%);
    border-radius: 100px 0 0 0;
    color: white;
    text-align: center;
    padding: 40px;
}

.links-uteis p { padding: 5px; font-weight: bold;}

.links-uteis a {
    display: block;
    text-decoration: none;
    color: white;
    transition: 0.3s;
    margin-bottom: 5px;
}

.links-uteis a:hover { color: rgb(92, 255, 146); }

.footer-social { padding: 10px; }
.footer-social a img { height: 5vh; padding: 0 5px; }

.footer-logo { display: grid; gap: 10px; }
.footer-logo img { height: 8vh; margin: 0 auto; }

/* Responsividade Footer */
@media screen and (max-width: 1150px) {
    footer { grid-template-columns: repeat(2, 1fr); }
    footer section { padding: 25px; }
}
@media screen and (max-width: 500px) {
    footer { grid-template-columns: 1fr; }
}