/* =====================================================================
 * Padrão de diagramação do gabinete aplicado à TELA.
 *
 * Espelha `app/services/minuta_docx_gabinete.py` (que por sua vez segue
 * `C:/gabinete-digital/formatacaominuta.docx`), para que a visualização
 * do rascunho e a edição da minuta mostrem o texto com a mesma cara do
 * DOCX exportado — decisão do magistrado em 2026-08-01.
 *
 * Correspondência DOCX → CSS:
 *   área útil A4 (margens 3 cm esq. + 2 cm dir.) ......... 16 cm
 *   corpo ............................. Times New Roman 12 pt, justificado
 *   recuo de primeira linha ............................. 2,5 cm
 *   espaço depois do parágrafo ........................... 6 pt
 *   título principal ................ 16 pt negrito centralizado
 *   título de seção (## ) ....... 14 pt negrito CAIXA ALTA, sem recuo
 *   subtítulo numérico (### 2.1) ..... 14 pt negrito, recuo 2,5 cm
 *   intertítulo romano (### I -) ......... 14 pt negrito, sem recuo
 *   citação em bloco (> ) ........ 10 pt, recuo esquerdo de 4,5 cm
 *
 * As medidas usam pt/cm de propósito: são as mesmas unidades do Word,
 * então o que aparece na tela tem a proporção do papel.
 *
 * `line-height: 1.15` corresponde ao "espaçamento simples" do Word (que
 * não é 1.0 exato — reserva a folga interna da fonte).
 * ===================================================================== */

/* --------------------- Folha (moldura de papel) --------------------- */

.pagina-gabinete {
    width: 18cm;              /* 16 cm de texto + 1 cm de folga de cada lado */
    max-width: 100%;
    margin: 0 auto;
    padding: 1cm;
    background: #fff;
    box-shadow: 0 1px 3px rgba(0, 0, 0, .12), 0 0 0 1px rgba(0, 0, 0, .04);
}

/* ------------------------- Corpo do texto ------------------------- */

.padrao-gabinete {
    font-family: "Times New Roman", Times, serif;
    font-size: 12pt;
    line-height: 1.15;
    color: #111827;
    text-align: justify;
}

.padrao-gabinete p {
    margin: 0 0 6pt;
    text-align: justify;
    text-indent: 2.5cm;
}

/* Título principal da minuta — o exportador o insere a partir do campo
   "título", antes do corpo. */
.padrao-gabinete .titulo-gabinete {
    font-size: 16pt;
    font-weight: 700;
    text-align: center;
    text-indent: 0;
    margin: 0 0 6pt;
}

/* Marca d'água do topo (some quando a minuta é aprovada/exportada). */
.padrao-gabinete .marca-dagua-gabinete {
    font-size: 11pt;
    font-weight: 700;
    color: #c0392b;
    text-align: center;
    text-indent: 0;
    margin: 0 0 6pt;
}

/* h1/h2 = título de seção; h3+ = subtítulo/intertítulo. O recuo de
   2,5 cm dos subtítulos numéricos vem em `style` inline, decidido no
   servidor (ver `minutas._markdown_basico_para_html`). */
.padrao-gabinete h1,
.padrao-gabinete h2 {
    font-size: 14pt;
    font-weight: 700;
    text-transform: uppercase;
    text-align: justify;
    text-indent: 0;
    margin: 0 0 6pt;
}

.padrao-gabinete h3,
.padrao-gabinete h4,
.padrao-gabinete h5,
.padrao-gabinete h6 {
    font-size: 14pt;
    font-weight: 700;
    text-align: justify;
    text-indent: 0;
    margin: 0 0 6pt;
}

.padrao-gabinete blockquote {
    font-size: 10pt;
    margin: 0 0 6pt 4.5cm;
    padding: 0;
    border: 0;
    text-indent: 0;
    text-align: justify;
}

/* Listas: o padrão do gabinete não tem estilo de lista nativo — o
   exportador emite "• item" / "1. item" como parágrafo comum. */
.padrao-gabinete ul,
.padrao-gabinete ol {
    list-style: none;
    margin: 0;
    padding: 0;
    counter-reset: item-gabinete;
}

.padrao-gabinete li {
    margin: 0 0 6pt;
    text-indent: 2.5cm;
    text-align: justify;
}

.padrao-gabinete ul > li::before { content: "• "; }
.padrao-gabinete ol > li { counter-increment: item-gabinete; }
.padrao-gabinete ol > li::before { content: counter(item-gabinete) ". "; }

.padrao-gabinete table {
    border-collapse: collapse;
    width: 100%;
    margin: 0 0 6pt;
}

.padrao-gabinete td,
.padrao-gabinete th {
    border: 1px solid #9ca3af;
    padding: 2pt 4pt;
    font-size: 11pt;
    text-indent: 0;
    text-align: left;
    vertical-align: top;
}

.padrao-gabinete th { font-weight: 700; }

.padrao-gabinete strong, .padrao-gabinete b { font-weight: 700; }
.padrao-gabinete em, .padrao-gabinete i { font-style: italic; }
.padrao-gabinete u { text-decoration: underline; }
.padrao-gabinete s, .padrao-gabinete strike { text-decoration: line-through; }

/* Bloco de local/data + assinatura: inserido automaticamente na
   exportação; aparece na prévia só para o magistrado conferir a página. */
.padrao-gabinete .assinatura-gabinete p {
    text-align: center;
    text-indent: 0;
    margin: 0 0 6pt;
}

.padrao-gabinete .assinatura-gabinete .nome,
.padrao-gabinete .assinatura-gabinete .cargo {
    font-weight: 700;
}

/* ===================== Editor rich-text =====================
 *
 * Mesmas regras dentro do `contenteditable`, ativadas pela classe
 * `ed-padrao-gabinete` no `.ed-wrap` (o partial
 * `acervo_externo/_conteudo_editor.html` a aplica quando recebe
 * `padrao_gabinete=true`). A especificidade dupla vence as regras
 * genéricas de `editor_rico.css`; estilos inline aplicados pela barra
 * de ferramentas (fonte, tamanho, recuo, citação) continuam vencendo
 * estas, como deve ser.
 * ===================================================================== */

.ed-wrap.ed-padrao-gabinete .editor-conteudo {
    font-family: "Times New Roman", Times, serif;
    font-size: 12pt;
    line-height: 1.15;
    color: #111827;
}

.ed-wrap.ed-padrao-gabinete .editor-conteudo p {
    margin: 0 0 6pt;
    text-align: justify;
    text-indent: 2.5cm;
}

.ed-wrap.ed-padrao-gabinete .editor-conteudo h1,
.ed-wrap.ed-padrao-gabinete .editor-conteudo h2 {
    font-size: 14pt;
    font-weight: 700;
    text-transform: uppercase;
    text-align: justify;
    text-indent: 0;
    margin: 0 0 6pt;
}

.ed-wrap.ed-padrao-gabinete .editor-conteudo h3,
.ed-wrap.ed-padrao-gabinete .editor-conteudo h4 {
    font-size: 14pt;
    font-weight: 700;
    text-align: justify;
    text-indent: 0;
    margin: 0 0 6pt;
}

/* Parágrafo logo após um título mantém o recuo do padrão (no DOCX todo
   texto corrido tem recuo de 1ª linha) — anula a exceção do
   editor_rico.css, que zera o recuo depois de heading. */
.ed-wrap.ed-padrao-gabinete .editor-conteudo h1 + p,
.ed-wrap.ed-padrao-gabinete .editor-conteudo h2 + p,
.ed-wrap.ed-padrao-gabinete .editor-conteudo h3 + p,
.ed-wrap.ed-padrao-gabinete .editor-conteudo h4 + p {
    text-indent: 2.5cm;
}

.ed-wrap.ed-padrao-gabinete .editor-conteudo blockquote {
    font-size: 10pt;
    margin: 0 0 6pt 4.5cm;
    padding: 0;
    border: 0;
    text-indent: 0;
    text-align: justify;
}

.ed-wrap.ed-padrao-gabinete .editor-conteudo li {
    margin: 0 0 6pt;
    text-align: justify;
}
