/* Contato de Portugal — estilos exclusivos da página.
   Reutiliza o cabeçalho e rodapé compartilhados, sem alterá-los. */
.pagina-contato main { font-family: Arial, Helvetica, sans-serif; line-height: 1.7; }
.pagina-contato main :is(h1,h2,h3) { font-family: Georgia, 'Times New Roman', serif; font-weight: 500; }

.pagina-contato .contato-banner {
    padding-block: 4.5rem 5rem;
    background: linear-gradient(120deg,#12394c 0%,#163b50 65%,#087e8d 100%);
}
.pagina-contato .contato-banner::before { background: transparent; }
.pagina-contato .contato-banner .tc-migalhas { margin-bottom: 3.5rem; }
.pagina-contato .contato-banner .tc-migalhas,
.pagina-contato .contato-banner .tc-migalhas a { color:#fff; }
.pagina-contato .contato-banner .tc-migalhas a { text-decoration:none; }
.pagina-contato .contato-banner .tc-migalhas a:hover { text-decoration:underline; }
.pagina-contato .contato-banner h1 {
    max-width:none; margin-bottom:1rem; color:#fff;
    font-size:clamp(2.7rem,5.4vw,4.7rem); line-height:1.1;
}
.pagina-contato .contato-banner > .tc-container > p:last-child {
    max-width:42rem; color:#e2eff2; font-size:1.08rem;
}

.pagina-contato .contato-introducao { padding-block:5rem 3rem; }
.pagina-contato .contato-introducao h2,
.pagina-contato .contato-continuar h2 {
    color:#163b50; font-size:clamp(2rem,3.3vw,3rem);
    line-height:1.16; margin-bottom:1.1rem;
}
.pagina-contato .contato-introducao > p:last-child { max-width:58rem; font-size:1.05rem; }

.pagina-contato .contato-grade {
    display:grid; grid-template-columns:minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap:2rem; align-items:start; padding-bottom:4rem;
}
.pagina-contato .contato-grade > .tc-secao { padding:0; min-width:0; }
.pagina-contato .contato-grade h2 {
    margin-bottom:1.5rem; color:#163b50;
    font-size:clamp(1.75rem,2.6vw,2.25rem); line-height:1.2;
}
.pagina-contato .contato-informacoes { display:flex; flex-direction:column; gap:1rem; }
.pagina-contato .contato-informacoes > h2 { margin-bottom:0.5rem; }
.pagina-contato .contato-cartao {
    padding:1.6rem 1.8rem; border:1px solid #C4E6E9; border-radius:1rem;
    background:#E0F4F5; box-shadow:0 10px 28px rgb(22 59 80 / 6%);
}
.pagina-contato .contato-cartao h3 { margin-bottom:.6rem; color:#163b50; font-size:1.4rem; }
.pagina-contato .contato-cartao p { margin:.35rem 0; color:#465d69; overflow-wrap:anywhere; }
.pagina-contato .contato-cartao strong { color:#163b50; }
.pagina-contato .contato-cartao a { color:#006b75; font-weight:700; text-underline-offset:.22em; }
.pagina-contato .contato-cartao a:hover { color:#163b50; }

.pagina-contato .contato-formulario-secao {
    box-sizing:border-box; padding:calc(2rem - 1px) !important; border:2px solid #00A7B5;
    border-radius:1.1rem; background:#fff;
    box-shadow:0 10px 28px rgb(22 59 80 / 7%);
}
.pagina-contato .contato-aviso {
    margin-bottom:1.6rem; padding:1rem 1.2rem; color:#164b55;
    background:#e0f4f5; border-left:4px solid #00a7b5; border-radius:.5rem;
    font-size:.93rem;
}
.pagina-contato .contato-formulario { display:grid; gap:1.25rem; }
.pagina-contato .contato-campo { display:flex; flex-direction:column; gap:.4rem; }
.pagina-contato .contato-campo label { color:#163b50; font-size:.96rem; font-weight:700; }
.pagina-contato .contato-campo :is(input,select,textarea) {
    display:block; width:100%; box-sizing:border-box; min-width:0;
    padding:.85rem 1rem; border:1px solid #bdd0d6; border-radius:.6rem;
    background:#fff; color:#163b50; font:inherit; font-size:1rem;
}
.pagina-contato .contato-campo textarea { resize:vertical; min-height:8rem; }
.pagina-contato .contato-campo :is(input,select,textarea):focus-visible {
    outline:3px solid #00a7b5; outline-offset:2px; border-color:#006b75;
}
.pagina-contato .contato-campo :is(input,textarea)::placeholder { color:#71848e; }
.pagina-contato .contato-enviar {
    justify-self:start; opacity:.58; cursor:not-allowed;
}
.pagina-contato .contato-continuar { padding-block:3rem 5rem; }
.pagina-contato .contato-continuar .tc-acoes { margin-top:1.5rem; }

@media (max-width:850px) {
    .pagina-contato .contato-grade { grid-template-columns:1fr; }
}
@media (max-width:600px) {
    .pagina-contato .contato-banner { padding-block:3rem 3.5rem; }
    .pagina-contato .contato-banner .tc-migalhas { margin-bottom:2.5rem; }
    .pagina-contato .contato-introducao { padding-block:3rem 2rem; }
    .pagina-contato .contato-grade { gap:2rem; padding-bottom:2rem; }
    .pagina-contato .contato-formulario-secao { padding:calc(1.5rem - 1px) !important; }
    .pagina-contato .contato-cartao { padding:1.4rem; }
    .pagina-contato .contato-continuar { padding-block:3rem; }
}
