/* Importando uma fonte moderna para a interface */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&display=swap');

/* ==========================================
   ESTILIZACAO DA INTERFACE (SISTEMA)
   ========================================== */
body { 
    font-family: 'Inter', sans-serif; 
    background-color: #f0fdf4;
    margin: 0;
    padding: 10px 20px;
    color: #044B38; /* Cor principal de texto, verde escuro */
}

.container {
    max-width: 550px; 
    margin: 0 auto; 
    background: #ffffff;
    padding: 40px;
    border-radius: 16px;
    box-shadow: 0 10px 25px rgba(0,0,0,0.05); /* Sombra suave e moderna */
    border: 1px solid #e2e8f0;
    text-align: center;

}

.container h2 {
    margin-top: 0;
    color: #044B38; /* Títulos em verde escuro */
}

.container p {
    color: #044B38; /* Parágrafos em verde escuro */
    margin-bottom: 30px;
}

/* Classes de Controle de Tela */
.tela { display: block; }
.oculto { display: none !important; }

/* Estilos de Inputs e Botões */
input {
    width: 85%;
    padding: 14px 16px;
    margin: 10px 0 20px 0;
    border: 2px solid #e2e8f0;
    border-radius: 8px;
    font-size: 16px;
    font-family: 'Inter', sans-serif;
    transition: all 0.2s ease;
    box-sizing: border-box;
}

input:focus {
    border-color: #B7C815; /* Verde limão ao focar */
    outline: none;
    box-shadow: 0 0 0 3px rgba(183, 200, 21, 0.1); /* Sombra verde limão ao focar */
}

button {
    padding: 14px 28px;
    font-size: 16px;
    cursor: pointer;
    border: none;
    border-radius: 8px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    transition: all 0.2s ease;
}

button:active { transform: scale(0.98); /* Efeito de clique */ }

.btn-primario { 
    background-color:#B7C815;
    color:#044B38;
    width: 85%;

    padding: 12px 24px;
    border: none;
    border-radius: 5px;
    font-weight: bold;
    cursor: pointer;
    transition: background 0.3s
}
.btn-primario:hover { background-color:#9EB012; }

.btn-secundario { 
background-color: transparent; 
	    color:#044B38; 
	    border: 2px solid #044B38;
    margin-right: 15px; 
  }
.btn-secundario:hover { background-color:#044B38; color: #FFFFFF; }

/* ==========================================
   ESTILOS DO DOCUMENTO A4 (A FOLHA)
   ========================================== */
#container-folha {
    overflow-x: auto; 
    padding-bottom: 30px;
    margin-top: 30px;
}

/* A folha A4 */
#declaracao-conteudo { 
    background-color: white;
    width: 210mm; 
    height: 296mm; /* 1mm menor que o A4 para segurança */
    margin: 0 auto; 
    padding: 20mm 25mm; 
    display: flex;
    flex-direction: column; /* Cria a pilha vertical */
    box-sizing: border-box;
}

/* Alinha logo do topo à direita */
.logo-wrapper {
    text-align: right;
    margin-bottom: 10px;
    /* margin-right:0cm; */
}
.logo { 
    max-width: 270px;
    margin-right: -50px; 
}

/* Título centralizado */
.header-titulo {
    text-align: center;
    margin-bottom: 50px;
    font-size: 13pt;
    font-weight: bold;
    font-family: Arial;
    color: black;
}

/* O "recheio" da folha que empurra o resto para baixo */
.conteudo-principal {
    flex: 1; /* Ocupa todo o espaço restante */
}

/* Texto em Arial 12pt */
.corpo-texto {
    font-family: Arial;
    font-size: 12pt;
    line-height: 1.6;
    text-align: justify;
    color: black;
}

.assinatura-area {
    text-align: center;
    margin-top: 80px;
}

/* O Rodapé colado no fundo */
.footer {
    text-align: right;
    padding-bottom: 5mm;
}
.logo-final { max-width: 140px; }

.destaque {
    font-weight: bold; /* Aplicará o negrito automaticamente a todos os campos com essa classe */
}

/*DETALHES DO MODAL*/
/* Fundo escurecido atrás do alerta */
.modal-overlay {
    position: fixed;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background: rgba(0, 0, 0, 0.5);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}

/* Caixa do alerta */
.modal-content {
    background: white;
    padding: 30px;
    border-radius: 12px;
    text-align: center;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    max-width: 400px;
    width: 90%;
    animation: surgindo 0.3s ease;
}

@keyframes surgindo {
    from { transform: translateY(-20px); opacity: 0; }
    to { transform: translateY(0); opacity: 1; }
}

/*BANNER*/

/* ==========================================
   ESTILO DO BANNER TOTAL
   ========================================== */
.hero-banner-total {
    width: 100%;
    height: 45vh; /* Altura mais equilibrada */
    overflow: hidden;
    display:contents;
    justify-content: center;
    align-items: center;
    background-color: #044B38;
}

.banner-home-full {
    width: 100%;
    height: 50vh;
    overflow: hidden;
    object-fit: cover;
    object-position: center;

}

/* Garante que o container de busca não "suba" demais */
#tela-busca .container {
    margin-top: -100px; /* Faz o quadro branco sobrepor levemente o banner */
    position: relative;
    z-index: 10;
}

/* ==========================================
   ESTILO DA LOGO NA HOME
   ========================================== */
.logo-home-container {
    margin-bottom: 25px; /* Espaço entre a logo e o título */
    text-align: center;
}

.logo-home {
    max-width: 230px; /* Tamanho ideal para não poluir */
    height: auto;
    /* Adiciona uma sombra leve se a logo estiver sobre fundo branco */
    filter: drop-shadow(0px 4px 6px rgba(0,0,0,0.05)); 
}

/* ==========================================
   ESTILO DO RODAPÉ DA PÁGINA (HOME)
   ========================================== */
.footer-portal {
    width: 100%;
    margin-top: 60px; /* Afasta do container de busca */
    padding: 40px 0;
    border-top: 1px solid #e2e8f0; /* Linha sutil de separação */
    text-align: center;
    background-color: transparent;
}

.footer-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

.logo-footer-pg {
    max-width: 130px; /* Tamanho menor e mais discreto que a logo principal */
    height: auto;
    opacity: 0.6; /* Deixa a logo mais suave (estilo marca d'água) */
    filter: grayscale(100%); /* Opcional: torna a logo cinza para não conflitar com o conteúdo */
    transition: all 0.3s ease;
}

.logo-footer-pg:hover {
    opacity: 1;
    filter: none; /* Volta a cor original ao passar o mouse */
}

.footer-portal p {
    font-size: 12px;
    color: #94a3b8; /* Cinza suave para o texto de direitos autorais */
    margin: 0;
    font-family: 'Inter', sans-serif;
}