/* Camada segura: interface monocromatica sem alterar o fluxo do gerador. */
@media screen {
    body:not(.tema-escuro) { background:#fff !important; background-image:none !important; color:#111 !important; }
    body .cabecalho { background:#000 !important; border-color:#222 !important; }
    body .logo-sistema, body .marca-autenticacao img { display:block !important; opacity:1 !important; visibility:visible !important; filter:grayscale(1) contrast(1.08); }
    body .etapas, body .painel, body .painel-etapa, body .campo-controle, body .grupo-aparencia { border-color:#d5d5d5 !important; box-shadow:none !important; }
    body .btn-analisar, body .btn-proximo, body .acao-imprimir, body .acao-zip, body .aba-aparencia.ativa { background:#000 !important; color:#fff !important; border-color:#000 !important; }
    body input[type="range"], body input[type="checkbox"], body input[type="radio"] { accent-color:#000 !important; }
    body.tema-escuro { background:#000 !important; background-image:none !important; }
    body.tema-escuro .cartaz .nome-produto,
    body.tema-escuro .cartaz .descricao-produto,
    body.tema-escuro .folha-a4 .gondola-conteudo h2,
    body.tema-escuro .folha-a4 .gondola-gramatura { color:var(--cartaz-cor-texto,#050505) !important; opacity:1 !important; }
    body.tema-escuro .cartaz .preco-inteiro,
    body.tema-escuro .cartaz .preco-centavos,
    body.tema-escuro .cartaz .unidade-preco,
    body.tema-escuro .folha-a4 .gondola-inteiro,
    body.tema-escuro .folha-a4 .gondola-centavos,
    body.tema-escuro .folha-a4 .gondola-unidade { color:var(--cartaz-cor-preco,#e30000) !important; opacity:1 !important; }
    .resumo-impressao-seguro { width:min(560px,100%); margin:20px auto; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
    .resumo-impressao-seguro div { padding:16px; display:flex; flex-direction:column; align-items:center; border:2px solid #111; border-radius:12px; background:#fff; color:#111; }
    .resumo-impressao-seguro strong { font-size:32px; }
    .resumo-impressao-seguro span { font-size:12px; font-weight:900; }
    body.tema-escuro .resumo-impressao-seguro div { background:#000; color:#fff; border-color:#fff; }
}

@media screen and (min-width:901px) {
    html body[data-etapa="3"] main.sistema > aside.barra-lateral,
    html body[data-etapa="3"] main.sistema > aside.barra-lateral.barra-fixa-viewport {
        position:sticky !important;
        top:16px !important;
        left:auto !important;
        width:auto !important;
        max-height:calc(100vh - 32px) !important;
        overflow-x:hidden !important;
        overflow-y:auto !important;
    }
    html body[data-etapa="3"] main.sistema > .conteudo { grid-column:auto !important; }
}

.descricao-produto, .gondola-gramatura { max-width:100%; white-space:normal !important; overflow-wrap:anywhere !important; word-break:normal !important; line-height:1.05 !important; }

.cartaz.modelo-preto-branco { background:#fff !important; box-shadow:inset 0 0 0 5px #000 !important; }
.cartaz.modelo-preto-branco .faixa-oferta { min-height:150px; margin:14px 14px 0; padding:8px 16px; background:#000 !important; background-image:none !important; }
.cartaz.modelo-preto-branco .texto-oferta { color:#fff !important; text-shadow:none !important; transform:none !important; }
.cartaz.modelo-preto-branco .descricao-produto { border:0 !important; color:#000 !important; }
.cartaz.modelo-preto-branco .faixa-preco { border:0 !important; background:#fff !important; background-image:none !important; }
.cartaz.modelo-preto-branco .preco-inteiro,
.cartaz.modelo-preto-branco .preco-centavos,
.cartaz.modelo-preto-branco .unidade-preco { color:#000 !important; text-shadow:none !important; }
.cartaz.modelo-preto-branco .rodape-cartaz { background:#000 !important; color:#fff !important; }

.cartaz.modelo-atacado { background:#fff !important; box-shadow:inset 0 0 0 6px #000 !important; }
.cartaz.modelo-atacado .faixa-oferta { min-height:150px; margin:14px; background:#000 !important; background-image:none !important; }
.cartaz.modelo-atacado .texto-oferta { color:#fff !important; text-shadow:none !important; transform:none !important; }
.cartaz.modelo-atacado .texto-oferta::after { content:"ATACADO"; }
.cartaz.modelo-atacado .texto-oferta { font-size:0 !important; }
.cartaz.modelo-atacado .texto-oferta::after { font-size:110px; }
.preco-anterior-atacado { width:100%; margin-bottom:4px; color:#111; font-family:Impact,"Arial Black",sans-serif; font-size:28px; font-weight:900; text-align:center; text-decoration:line-through 3px; }
.faixa-preco:has(.preco-anterior-atacado) { flex-direction:column !important; }

.cartaz .nome-produto, .cartaz .descricao-produto, .cartaz .preco-inteiro,
.cartaz .preco-centavos, .cartaz .unidade-preco, .cartaz .texto-oferta,
.folha-a4 .gondola-conteudo h2, .folha-a4 .gondola-gramatura,
.folha-a4 .gondola-inteiro, .folha-a4 .gondola-centavos { font-weight:900 !important; font-synthesis:weight; }

/* Separa as letras do titulo sem alterar produto ou preco. */
.cartaz .texto-oferta {
    letter-spacing: 3px !important;
    font-kerning: normal !important;
}

.folha-a4 .gondola-topo span,
.folha-a4 .gondola-topo strong {
    letter-spacing: 1.5px !important;
    font-kerning: normal !important;
}

/* Numeros legiveis: remove a compressao excessiva das fontes de impacto. */
.cartaz .preco-inteiro {
    letter-spacing: -2px !important;
    font-kerning: normal !important;
}

.cartaz .preco-centavos,
.cartaz .unidade-preco {
    letter-spacing: .5px !important;
    font-kerning: normal !important;
}

.folha-a4 .gondola-inteiro {
    letter-spacing: -1px !important;
    font-kerning: normal !important;
}

.folha-a4 .gondola-centavos,
.folha-a4 .gondola-unidade {
    letter-spacing: .4px !important;
    font-kerning: normal !important;
}
