.formulario-contato {
    display: grid;
    gap: 20px;
    background: var(--cor-fundo);
    border: 1px solid var(--cor-borda);
    border-radius: var(--raio-grande);
    padding: 28px;
}

.campo {
    display: grid;
    gap: 6px;
}

.campo label {
    font-weight: 600;
    font-size: 14px;
    color: var(--cor-primaria-escura);
}

.campo input, .campo select, .campo textarea {
    border: 1px solid var(--cor-borda);
    border-radius: var(--raio-padrao);
    padding: 12px 14px;
    background: var(--cor-fundo);
}

.campo input:focus, .campo select:focus, .campo textarea:focus {
    outline: 2px solid var(--cor-primaria);
    outline-offset: 1px;
}

.campo--honeypot {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

.campo-grupo {
    display: grid;
    grid-template-columns: 1fr;
    gap: 20px;
}

@media (min-width: 520px) {
    .campo-grupo {
        grid-template-columns: 1fr 1fr;
    }
}

.campo__erro {
    color: var(--cor-erro);
    font-size: 13px;
    min-height: 16px;
}

.campo.campo--invalido input,
.campo.campo--invalido select,
.campo.campo--invalido textarea {
    border-color: var(--cor-erro);
}

.formulario-contato__feedback {
    padding: 14px 16px;
    border-radius: var(--raio-padrao);
    font-weight: 600;
    display: none;
}

.formulario-contato__feedback.visivel {
    display: block;
}

.formulario-contato__feedback.sucesso {
    background: rgba(30, 126, 66, 0.12);
    color: var(--cor-sucesso);
}

.formulario-contato__feedback.erro {
    background: rgba(192, 57, 43, 0.12);
    color: var(--cor-erro);
}

.lista-contato {
    display: grid;
    gap: 10px;
    margin: 16px 0 24px;
}

.lista-contato a {
    font-weight: 600;
    color: var(--cor-primaria);
}

.mapa-embed {
    margin-top: 20px;
    border-radius: var(--raio-padrao);
    overflow: hidden;
}

.mapa-embed__iframe {
    border: 0;
    display: block;
}
