/* =========================================================
   DENÚNCIA (site público) v2.0 — 2026-07-21
   /assets/css/denuncia.css
   Segue os mesmos tokens/padrão de formulário já usado em contato.css
   (--color-primary, --radius-*, --shadow-*) — não inventa um visual
   novo pra manter consistência do site.

   v2.0: removido CSS de abas/login/cadastro (.denuncia-abas,
   .denuncia-aba, .denuncia-form-sair) — canal deixou de exigir
   conta/senha, ver denuncia.php e includes/denuncia_utils.php.
========================================================= */

.denuncia-conteudo {
    padding-block: 0 60px;
}

/* -----------------------------------------------------
   AVISO DE PRIVACIDADE — sempre visível, acima do formulário, pra
   deixar claro o funcionamento do canal ANTES da pessoa preencher.
----------------------------------------------------- */
.denuncia-aviso {
    display: flex;
    align-items: flex-start;
    gap: 16px;

    max-width: 720px;
    margin: 0 auto 32px;
    padding: 22px 26px;

    background: #fef2f2;
    border: 1px solid #fecaca;
    border-radius: var(--radius-md);
}

.denuncia-aviso i {
    flex-shrink: 0;
    margin-top: 3px;
    color: #b32e2e;
    font-size: 20px;
}

.denuncia-aviso p {
    margin: 0;
    color: var(--color-text);
    font-size: .95rem;
    line-height: 1.6;
}

/* -----------------------------------------------------
   CAIXA PRINCIPAL (formulário) — largura de leitura confortável,
   centralizada, mesmo card branco do contato.
----------------------------------------------------- */
.denuncia-caixa {
    max-width: 560px;
    margin: 0 auto;
    padding: 40px;

    background: #fff;
    border: 1px solid var(--color-border);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-md);
}

.denuncia-form-campo {
    display: flex;
    flex-direction: column;
    gap: 7px;

    margin-bottom: 20px;
}

.denuncia-form-campo label {
    color: var(--color-title);
    font-size: .9rem;
    font-weight: 700;
}

.denuncia-form-campo input,
.denuncia-form-campo select,
.denuncia-form-campo textarea {
    padding: 13px 16px;

    background: #fbfcfd;
    border: 1.5px solid var(--color-border);
    border-radius: var(--radius-sm);

    color: var(--color-text);
    font-family: inherit;
    font-size: 1rem;
}

.denuncia-form-campo textarea {
    min-height: 180px;
    resize: vertical;
}

.denuncia-form-campo input:focus,
.denuncia-form-campo select:focus,
.denuncia-form-campo textarea:focus {
    background: #fff;
    border-color: var(--color-primary);
    box-shadow: 0 0 0 4px rgba(11, 106, 162, .12);
    outline: none;
}

.denuncia-form-nota {
    margin: -8px 0 20px;
    color: var(--color-muted);
    font-size: .85rem;
    line-height: 1.5;
}

/* -----------------------------------------------------
   IDENTIFICAÇÃO ESPONTÂNEA (2026-07-21) — bloco discreto (fundo
   levemente destacado) pra deixar claro que é uma opção à parte do
   resto do formulário, não um campo obrigatório qualquer.
----------------------------------------------------- */
.denuncia-form-identificacao {
    margin-bottom: 20px;
    padding: 16px 18px;

    background: #f8fafc;
    border: 1.5px solid var(--color-border);
    border-radius: var(--radius-sm);
}

.denuncia-form-checkbox {
    display: flex;
    align-items: center;
    gap: 10px;

    color: var(--color-title);
    font-size: .92rem;
    font-weight: 700;
    cursor: pointer;
}

.denuncia-form-checkbox input {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    cursor: pointer;
}

.denuncia-form-identificacao .denuncia-form-nota {
    margin: 6px 0 0;
}

.denuncia-form-identificacao-campos {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px dashed var(--color-border);
}

.denuncia-form-identificacao-campos .denuncia-form-campo:last-child {
    margin-bottom: 0;
}

/* honeypot: campo invisível pra humano — mesmo padrão de contato.css */
.denuncia-form-honeypot {
    position: absolute;
    left: -9999px;

    width: 1px;
    height: 1px;

    overflow: hidden;
}

.denuncia-form-botao {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;

    width: 100%;
    min-height: 54px;
    margin-top: 4px;

    background: linear-gradient(135deg, var(--color-primary), var(--color-primary-dark));
    border: none;
    border-radius: var(--radius-sm);
    box-shadow: var(--shadow-sm);

    color: #fff;
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s ease, box-shadow .2s ease, transform .2s ease;
}

.denuncia-form-botao:hover:not(:disabled) {
    background: linear-gradient(135deg, var(--color-hover), var(--color-primary));
    box-shadow: var(--shadow-md);
    transform: translateY(-1px);
}

.denuncia-form-botao:disabled {
    cursor: default;
    opacity: .7;
    transform: none;
}

@media (max-width: 640px) {
    .denuncia-caixa {
        padding: 26px 20px;
    }
}

/* reCAPTCHA v3 (2026-10-26) — selo escondido, aviso do Google em texto */
.grecaptcha-badge { visibility: hidden; }
.recaptcha-aviso { margin: 16px 0; font-size: 0.8rem; opacity: 0.8; }
.recaptcha-aviso a { color: inherit; text-decoration: underline; }
