html,body{
margin:0;
padding:0;
overflow-x:hidden;
}

*{
box-sizing:border-box;
}

.container_contato{
max-width:900px;
margin:28px auto;
padding:0 18px 35px 18px;
font-family:Arial,Helvetica,sans-serif;
}

.box_contato{
background:#fff;
border:1px solid #e3e7ee;
border-radius:16px;
padding:26px;
box-shadow:0 2px 12px rgba(0,0,0,.05);
}

.box_contato h1{
margin:0 0 10px 0;
font-size:34px;
color:#1d3760;
text-align:center;
font-family:Georgia,"Times New Roman",serif;
}

.texto_intro{
margin:0 0 20px 0;
color:#50647b;
font-size:16px;
line-height:1.6;
text-align:center;
}

.form_contato{
display:flex;
flex-direction:column;
gap:16px;
}

.grade_dupla{
display:grid;
grid-template-columns:1fr 1fr;
gap:14px;
}

.linha_form{
display:flex;
flex-direction:column;
gap:6px;
}

.linha_form label{
font-weight:700;
color:#304861;
font-size:14px;
}

.linha_form input,
.linha_form textarea,
.linha_form select{
width:100%;
border:1px solid #d8e1ec;
border-radius:12px;
padding:12px 14px;
font-size:15px;
outline:none;
background:#fff;
}

.linha_form input:focus,
.linha_form textarea:focus,
.linha_form select:focus{
border-color:#4674aa;
box-shadow:0 0 0 3px rgba(70,116,170,.10);
}

.captcha_box{
display:flex;
align-items:center;
gap:12px;
flex-wrap:wrap;
}

.captcha_texto{
display:inline-block;
padding:10px 16px;
background:#f3f6fb;
border:1px dashed #9eb3cf;
border-radius:10px;
font-size:24px;
font-weight:800;
letter-spacing:6px;
color:#1f4f8b;
text-align:center;
user-select:none;
}

.botoes_contato{
display:flex;
gap:10px;
justify-content:center;
flex-wrap:wrap;
}

.botao_contato{
border:none;
background:#1f4f8b;
color:#fff;
padding:13px 18px;
border-radius:12px;
font-size:15px;
font-weight:700;
cursor:pointer;
transition:.2s ease;
min-width:120px;
}

.botao_contato:hover{
background:#173d6b;
}

.botao_secundario{
background:#7d8ea3;
}

.botao_secundario:hover{
background:#667789;
}

.mensagem_status{
padding:12px 14px;
border-radius:10px;
margin-bottom:18px;
font-size:14px;
font-weight:700;
}

.mensagem_status.sucesso{
background:#edf8ef;
color:#24663a;
border:1px solid #cbe5d1;
}

.mensagem_status.erro{
background:#fff1f1;
color:#9b2c2c;
border:1px solid #efc9c9;
}

.linha_honeypot{
position:absolute!important;
left:-9999px!important;
top:-9999px!important;
width:1px!important;
height:1px!important;
overflow:hidden!important;
opacity:0!important;
}

/* dark mode */
body.modo-escuro .box_contato{
background:#182230;
border-color:#2b3a4d;
box-shadow:0 8px 24px rgba(0,0,0,.22);
}

body.modo-escuro .box_contato h1{
color:#e7eef7;
}

body.modo-escuro .texto_intro{
color:#b8c6d6;
}

body.modo-escuro .linha_form label{
color:#dce6f1;
}

body.modo-escuro .linha_form input,
body.modo-escuro .linha_form textarea,
body.modo-escuro .linha_form select{
background:#101923;
border-color:#32465d;
color:#e5edf6;
}

body.modo-escuro .captcha_texto{
background:#1b2533;
border-color:#44586e;
color:#dce6f1;
}

@media(max-width:700px){
.grade_dupla{
grid-template-columns:1fr;
}
}

@media(max-width:600px){

.container_contato{
padding:0 10px 24px 10px;
margin:18px auto;
}

.box_contato{
padding:18px;
}

.box_contato h1{
font-size:28px;
}

.texto_intro{
font-size:14px;
}

.captcha_texto{
font-size:18px;
letter-spacing:4px;
}

.botao_contato{
width:100%;
}
}