/* =============================================================================
   Gutenberg Alignment Fixes — Novo Tempo
   Escopo: apenas dentro de <main> (conteúdo de páginas via page.php).
   Não afeta header, footer, listas de navegação, nem outras seções do site.
   ============================================================================= */

/* --- 1. Blocos Gutenberg sem max-width / margin:auto no tema ---
   O tema só auto-centra: p, h1-h6, hr, address, blockquote, pre,
   figure.wp-block-embed, div.wp-block-image, div.wp-block-columns.
   Os tipos abaixo faltavam na lista e ficam "full-width" por padrão.
   Inclui também div:not([class]) que é o que Gutenberg "Custom HTML"
   gera quando o bloco renderiza o HTML verbatim sem wrapper de classe. */
main > .wp-block-html,
main > .wp-block-group,
main > .wp-block-cover,
main > .wp-block-buttons,
main > .wp-block-separator,
main > .wp-block-spacer,
main > div:not([class]) {
    max-width: 1170px;
    margin-left: auto;
    margin-right: auto;
    box-sizing: border-box;
    width: 100%;
}

/* Garante que também no breakpoint de mobile esses blocos fiquem
   centralizados com padding lateral (o tema usa padding: 0 12px para p) */
@media (max-width: 639px) {
    main > .wp-block-html,
    main > .wp-block-group,
    main > div:not([class]) {
        padding-left: 12px;
        padding-right: 12px;
    }
}

/* --- 2. text-align:center funciona em todo o conteúdo de <main> ---
   O WordPress injeta .has-text-align-center via wp-block-library.css,
   mas a regra do tema para "main > div > p" só cobre 910px+.
   Aqui garantimos para todos os breakpoints e estruturas. */
main .has-text-align-center {
    text-align: center;
}

main [style*="text-align:center"],
main [style*="text-align: center"] {
    text-align: center;
}

/* --- 3. Parágrafos e headings dentro de div filhas de main ---
   A regra "main > div > p { text-align:center; font-size:20px }" (910px+)
   do tema era muito genérica: forçava centralização em TODOS os parágrafos
   dentro de qualquer div filha de main, inclusive onde não é desejado.

   ATENÇÃO — font-size propositalmente NÃO é sobrescrito aqui.
   Motivo: este seletor tem especificidade (0,1,3), que é maior que as classes
   do Gutenberg como has-large-font-size (0,1,0). Se fixarmos font-size aqui
   as escolhas de tamanho de fonte feitas no editor seriam silenciosamente
   ignoradas. O font-size:20px do tema (especificidade 0,0,3) já é corretamente
   sobrescrito pelas classes Gutenberg (0,1,0 > 0,0,3). Deixamos assim. */
@media (min-width: 910px) {
    main > .wp-block-html > p,
    main > .wp-block-group > p,
    main > div:not([class]) > p {
        /* Cancela apenas o text-align:center e margin:auto da regra genérica.
           Preserva font-size e demais estilos do bloco/elemento. */
        text-align: left;
        margin-left: 0;
        margin-right: 0;
    }

    /* Parágrafos que pedem centralização explicitamente mantêm o centro */
    main > .wp-block-html > p.has-text-align-center,
    main > .wp-block-html > p[style*="text-align:center"],
    main > .wp-block-html > p[style*="text-align: center"],
    main > .wp-block-group > p.has-text-align-center,
    main > .wp-block-group > p[style*="text-align:center"],
    main > .wp-block-group > p[style*="text-align: center"],
    main > div:not([class]) > p.has-text-align-center,
    main > div:not([class]) > p[style*="text-align:center"],
    main > div:not([class]) > p[style*="text-align: center"] {
        text-align: center;
    }

    /* Headings dentro dessas divs: a regra genérica do tema não os afeta
       (main > div > p não toca h2/h3), mas garantimos que has-text-align-center
       e estilos customizados (is-style-azul etc.) funcionem via regra 2.
       Nenhum reset necessário para headings aqui. */
}

/* --- 4. Listas Gutenberg (wp-block-list) com indentação padrão ---
   O tema define padding: 20px 60px 20px para main > ul, o que é grande.
   Para listas criadas pelo bloco Lista do Gutenberg usamos indentação
   mais compacta e list-style-position:outside (texto não volta ao início
   do li ao quebrar linha). */
main > ul.wp-block-list,
main > ol.wp-block-list {
    list-style-position: outside;
    padding-left: 1.5em;
    padding-right: 0;
}

/* Remove a margem lateral que o tema aplica globalmente a todo li (margin:0 20px),
   só para listas Gutenberg dentro de <main>. */
main > ul.wp-block-list > li,
main > ol.wp-block-list > li {
    margin-left: 0;
    margin-right: 0;
}

/* --- 5. Bullet "vazio" — li que contém apenas um bloco Gutenberg ---
   Quando um bloco Gutenberg (div.wp-block-html, div.wp-block-group etc.)
   fica dentro de um <li> (por problema de estrutura HTML ou parse do browser),
   o ::before do tema adiciona um bolinha colorida como "bullet vazio".
   Aqui desativamos esse pseudo-elemento e removemos a indentação de lista. */
main ul > li:has(> .wp-block-html)::before,
main ul > li:has(> .wp-block-group)::before {
    display: none;
    content: none;
}

main ul > li:has(> .wp-block-html),
main ul > li:has(> .wp-block-group) {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Quando o bloco está dentro de li, o conteúdo não deve ficar
   visualmente "indentado" pela padding da ul pai. */
main ul > li:has(> .wp-block-html) > .wp-block-html,
main ul > li:has(> .wp-block-group) > .wp-block-group {
    max-width: 1170px;
    margin-left: auto;
    margin-right: auto;
    display: block;
}

/* --- 6. Bloco após lista: garantir que não herde contexto visual ---
   Não há herança de padding/margin via CSS entre siblings, mas
   garantimos clear para casos com float em algum child. */
main > .wp-block-html,
main > .wp-block-group,
main > div:not([class]),
main > p {
    clear: both;
}
