.btn-primary {
    background-color: var(--color-primary);
    border-color: var(--color-primary-hover);
}
.btn-primary:hover {
    border-color: var(--color-primary-hover);
    background-color: var(--color-primary-hover);
}


#form .btn-primary {
    color: var(--color-primary-inverse);
    background-color: var(--color-primary);
    border-color: var(--color-primary-hover);
}

#form .btn-primary:hover {
    color: var(--color-primary-inverse);
    background-color: var(--color-primary-hover);
    border-color: var(--color-primary-hover);
}

/* ---------- fundo da impressão (ver base/body.twig) ----------
   Na tela não existe; ao imprimir, vira um retângulo de CONTEÚDO cobrindo o
   documento inteiro: é assim que a cor de papel de cada template sobrevive ao
   PDF, já que o navegador descarta os  por padrão. Cada template
   define --lp-print-bg com a sua cor; sem isso, fica branco (comportamento
   anterior, nada quebra). */
.lp-print-bg {
    display: none;
}

@media print {
    body {
        position: relative;
    }

    .lp-print-bg {
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 0;
        color: var(--lp-print-bg, #ffffff);
    }

    /* O conteúdo sobe para z-index 1 em vez de o fundo descer para -1: com
       z-index negativo o Chrome imprimia fotos e painéis como retângulos
       BRANCOS (elementos com overflow/border-radius/backdrop-filter viravam
       camada opaca sobre a camada negativa). Assim o empilhamento fica
       positivo e a página imprime igual à tela. */
    body > *:not(.lp-print-bg) {
        position: relative;
        z-index: 1;
    }
}
