/*
 * SisCon Editorial CSS 1.0.1
 * Identidade editorial pública do conteúdo STRUCTURED.
 *
 * REGRAS:
 * - atua somente dentro de .siscon-article-content--structured;
 * - matérias legacy não recebem este wrapper;
 * - não estiliza header, título principal, sidebar ou layout do portal;
 * - normaliza interferências tipográficas de temas antigos apenas no corpo novo.
 */

.siscon-article-content--structured {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    color: #26313d;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
    font-size: 17px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.75;
    letter-spacing: normal;
    text-transform: none;
    overflow-wrap: break-word;
}

.siscon-article-content--structured *,
.siscon-article-content--structured *::before,
.siscon-article-content--structured *::after {
    box-sizing: border-box;
}

.siscon-article-content--structured > :first-child {
    margin-top: 0;
}

.siscon-article-content--structured > :last-child {
    margin-bottom: 0;
}

/*
 * Parágrafos estruturados têm identidade própria.
 * As regras first-child/first-of-type protegem contra temas antigos que
 * costumam aplicar tipografia diferente ao primeiro parágrafo da matéria.
 */
.siscon-article-content--structured p,
.siscon-article-content--structured > p:first-child,
.siscon-article-content--structured > p:first-of-type,
.siscon-article-content--structured figure.sce-image + p {
    color: inherit;
    font-family: inherit;
    font-size: 1em;
    font-weight: 400;
    font-style: normal;
    line-height: inherit;
    letter-spacing: normal;
    text-transform: none;
}

.siscon-article-content--structured p {
    margin: 0 0 1.15em;
}

.siscon-article-content--structured h2,
.siscon-article-content--structured h3 {
    clear: both;
    color: #18222d;
    font-family: inherit;
    font-weight: 700;
    font-style: normal;
    line-height: 1.28;
    letter-spacing: normal;
    text-transform: none;
}

.siscon-article-content--structured h2 {
    margin: 1.7em 0 .7em;
    padding-bottom: 0;
    border-bottom: 0;
    font-size: 1.55em;
}

.siscon-article-content--structured h3 {
    margin: 1.45em 0 .6em;
    font-size: 1.25em;
}

.siscon-article-content--structured a {
    text-decoration-thickness: .08em;
    text-underline-offset: .14em;
}

.siscon-article-content--structured ul,
.siscon-article-content--structured ol {
    margin-top: 1em;
    margin-bottom: 1.25em;
}

.siscon-article-content--structured li {
    margin: .3em 0;
    font-family: inherit;
    font-size: 1em;
    line-height: inherit;
}

.siscon-article-content--structured blockquote {
    clear: both;
    margin: 1.5em 0;
    padding: .9em 1.15em;
    border: 0;
    border-left: 4px solid #9aa9b8;
    border-radius: 0 8px 8px 0;
    background: #f7f9fb;
    color: #465464;
    font-family: inherit;
    font-size: 1em;
    line-height: 1.65;
}

.siscon-article-content--structured blockquote p:last-child {
    margin-bottom: 0;
}

.siscon-article-content--structured hr {
    clear: both;
    margin: 1.8em 0;
    border: 0;
    border-top: 1px solid #dce2e8;
}

/*
 * Imagem editorial
 *
 * O figure não deve parecer formulário/caixa no site público.
 * A legenda fica editorial e discreta.
 */
.siscon-article-content--structured figure.sce-image {
    display: table;
    clear: both;
    max-width: 100%;
    margin: 1.6em 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    outline: 0;
    background: transparent;
    box-shadow: none;
}

.siscon-article-content--structured figure.sce-image[style*="text-align:center"],
.siscon-article-content--structured figure.sce-image[style*="text-align: center"] {
    margin-left: auto;
    margin-right: auto;
}

.siscon-article-content--structured figure.sce-image[style*="text-align:right"],
.siscon-article-content--structured figure.sce-image[style*="text-align: right"] {
    margin-left: auto;
    margin-right: 0;
}

.siscon-article-content--structured figure.sce-image[style*="text-align:left"],
.siscon-article-content--structured figure.sce-image[style*="text-align: left"] {
    margin-left: 0;
    margin-right: auto;
}

.siscon-article-content--structured figure.sce-image img {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 8px;
    outline: 0;
    background: transparent;
    box-shadow: none;
}

.siscon-article-content--structured figure.sce-image figcaption {
    display: table-caption;
    caption-side: bottom;
    margin: 0;
    padding: 7px 2px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    box-shadow: none;
    color: #7a8794;
    font-family: inherit;
    font-size: .78em;
    font-weight: 400;
    font-style: normal;
    line-height: 1.45;
    letter-spacing: normal;
    text-align: left;
}

/* Remove o espaço artificial de <p><br></p> quando ele vem imediatamente
 * após figure e só serve como caret do editor. Mantém parágrafos reais. */
.siscon-article-content--structured figure.sce-image + p:empty {
    display: none;
}

.siscon-article-content--structured .siscon-embed,
.siscon-article-content--structured [data-siscon-embed="1"] {
    clear: both;
    max-width: 100%;
    margin-top: 1.6em;
    margin-bottom: 1.6em;
}

.siscon-article-content--structured iframe,
.siscon-article-content--structured video {
    max-width: 100%;
}

.siscon-article-content--structured img {
    max-width: 100%;
    height: auto;
}

@media (max-width: 767px) {
    .siscon-article-content--structured {
        font-size: 16px;
        line-height: 1.7;
    }

    .siscon-article-content--structured h2 {
        font-size: 1.4em;
    }

    .siscon-article-content--structured h3 {
        font-size: 1.2em;
    }

    .siscon-article-content--structured blockquote {
        padding: .8em 1em;
    }

    .siscon-article-content--structured figure.sce-image {
        width: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    .siscon-article-content--structured figure.sce-image img {
        width: 100%;
    }
}


/*
 * SisCon Editorial CSS 1.0.2 — alinhamento editorial explícito
 *
 * Alguns temas legados aplicam text-align (inclusive !important) em p/div.
 * Quando o usuário escolhe alinhamento no SisCon Editor, essa escolha deve
 * prevalecer somente dentro de conteúdo structured.
 */
.siscon-article-content--structured p[style*="text-align:center"],
.siscon-article-content--structured p[style*="text-align: center"],
.siscon-article-content--structured div[style*="text-align:center"],
.siscon-article-content--structured div[style*="text-align: center"],
.siscon-article-content--structured h2[style*="text-align:center"],
.siscon-article-content--structured h2[style*="text-align: center"],
.siscon-article-content--structured h3[style*="text-align:center"],
.siscon-article-content--structured h3[style*="text-align: center"],
.siscon-article-content--structured blockquote[style*="text-align:center"],
.siscon-article-content--structured blockquote[style*="text-align: center"] {
    text-align: center !important;
}

.siscon-article-content--structured p[style*="text-align:right"],
.siscon-article-content--structured p[style*="text-align: right"],
.siscon-article-content--structured div[style*="text-align:right"],
.siscon-article-content--structured div[style*="text-align: right"],
.siscon-article-content--structured h2[style*="text-align:right"],
.siscon-article-content--structured h2[style*="text-align: right"],
.siscon-article-content--structured h3[style*="text-align:right"],
.siscon-article-content--structured h3[style*="text-align: right"],
.siscon-article-content--structured blockquote[style*="text-align:right"],
.siscon-article-content--structured blockquote[style*="text-align: right"] {
    text-align: right !important;
}

.siscon-article-content--structured p[style*="text-align:left"],
.siscon-article-content--structured p[style*="text-align: left"],
.siscon-article-content--structured div[style*="text-align:left"],
.siscon-article-content--structured div[style*="text-align: left"],
.siscon-article-content--structured h2[style*="text-align:left"],
.siscon-article-content--structured h2[style*="text-align: left"],
.siscon-article-content--structured h3[style*="text-align:left"],
.siscon-article-content--structured h3[style*="text-align: left"],
.siscon-article-content--structured blockquote[style*="text-align:left"],
.siscon-article-content--structured blockquote[style*="text-align: left"] {
    text-align: left !important;
}

.siscon-article-content--structured p[style*="text-align:justify"],
.siscon-article-content--structured p[style*="text-align: justify"],
.siscon-article-content--structured div[style*="text-align:justify"],
.siscon-article-content--structured div[style*="text-align: justify"] {
    text-align: justify !important;
}


/* SisCon Editorial CSS 1.0.3 — texto ao lado de imagens esquerda/direita */
.siscon-article-content--structured figure.sce-image[style*="text-align:left"],
.siscon-article-content--structured figure.sce-image[style*="text-align: left"]{
    float:left;
    margin:0.35em 1.35em 1em 0;
}

.siscon-article-content--structured figure.sce-image[style*="text-align:right"],
.siscon-article-content--structured figure.sce-image[style*="text-align: right"]{
    float:right;
    margin:0.35em 0 1em 1.35em;
}

.siscon-article-content--structured figure.sce-image[style*="text-align:center"],
.siscon-article-content--structured figure.sce-image[style*="text-align: center"]{
    float:none;
    margin-left:auto;
    margin-right:auto;
}

.siscon-article-content--structured h2,
.siscon-article-content--structured h3,
.siscon-article-content--structured blockquote,
.siscon-article-content--structured hr,
.siscon-article-content--structured ul,
.siscon-article-content--structured ol,
.siscon-article-content--structured .siscon-embed,
.siscon-article-content--structured [data-siscon-embed="1"]{
    clear:both;
}

.siscon-article-content--structured::after{
    content:"";
    display:block;
    clear:both;
}

@media (max-width: 767px){
    .siscon-article-content--structured figure.sce-image[style*="text-align:left"],
    .siscon-article-content--structured figure.sce-image[style*="text-align: left"],
    .siscon-article-content--structured figure.sce-image[style*="text-align:right"],
    .siscon-article-content--structured figure.sce-image[style*="text-align: right"]{
        float:none;
        width:100% !important;
        margin:1.2em 0 !important;
    }
}


/* SisCon Editorial CSS 1.0.4 — remove o parágrafo-caret após imagem flutuante */
.siscon-article-content--structured figure.sce-image[style*="text-align:left"] + p:has(> br:only-child),
.siscon-article-content--structured figure.sce-image[style*="text-align: left"] + p:has(> br:only-child),
.siscon-article-content--structured figure.sce-image[style*="text-align:right"] + p:has(> br:only-child),
.siscon-article-content--structured figure.sce-image[style*="text-align: right"] + p:has(> br:only-child){
    display:none;
}


/* SisCon Editorial CSS 1.0.5 — alinhamento semântico de imagem */
.siscon-article-content--structured figure.sce-image[data-align="left"]{
    float:left !important;
    clear:none !important;
    display:block;
    width:fit-content;
    max-width:100%;
    margin:.25em 1.35em 1em 0 !important;
}
.siscon-article-content--structured figure.sce-image[data-align="right"]{
    float:right !important;
    clear:none !important;
    display:block;
    width:fit-content;
    max-width:100%;
    margin:.25em 0 1em 1.35em !important;
}
.siscon-article-content--structured figure.sce-image[data-align="center"]{
    float:none !important;
    clear:both;
    display:table;
    width:auto;
    margin:1.6em auto !important;
}
.siscon-article-content--structured figure.sce-image[data-align="left"] + p,
.siscon-article-content--structured figure.sce-image[data-align="right"] + p{
    clear:none !important;
    margin-top:0 !important;
}
@media(max-width:767px){
    .siscon-article-content--structured figure.sce-image[data-align="left"],
    .siscon-article-content--structured figure.sce-image[data-align="right"]{
        float:none !important;
        clear:both !important;
        display:table;
        width:100% !important;
        margin:1.2em 0 !important;
    }
}


/* SisCon Editorial CSS 1.0.6 — mantém o primeiro parágrafo no fluxo do float */
.siscon-article-content--structured figure.sce-image[data-align="left"] + p,
.siscon-article-content--structured figure.sce-image[data-align="right"] + p,
.siscon-article-content--structured figure.sce-image[style*="text-align:left"] + p,
.siscon-article-content--structured figure.sce-image[style*="text-align: left"] + p,
.siscon-article-content--structured figure.sce-image[style*="text-align:right"] + p,
.siscon-article-content--structured figure.sce-image[style*="text-align: right"] + p{
    display:block !important;
    clear:none !important;
}

/* SisCon Editor 1.0.55 — figcaption width fix for floated figures.
   Keep the image-flow behavior from 1.0.54 intact; only normalize caption geometry. */
.sce-image > figcaption {
    display: block;
    box-sizing: border-box;
    width: 100%;
    max-width: none;
    float: none;
    clear: both;
}

/* SisCon Editorial CSS 1.0.7 — figcaption full-width fix para figuras flutuantes. */
.siscon-article-content--structured figure.sce-image > figcaption {
    display: block !important;
    caption-side: initial !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
}

/* SisCon Editorial CSS 1.0.8 — listas semânticas
 * Alguns temas legados da página pública sobrescrevem OL e fazem
 * listas numeradas aparecerem como marcadores. Dentro de conteúdo
 * structured, o SisCon Editor é a fonte de verdade da semântica.
 */
.siscon-article-content--structured ol {
    display: block !important;
    list-style-type: decimal !important;
    list-style-position: outside !important;
    margin: 1em 0 1.25em !important;
    padding-left: 2.2em !important;
}

.siscon-article-content--structured ul {
    display: block !important;
    list-style-type: disc !important;
    list-style-position: outside !important;
    margin: 1em 0 1.25em !important;
    padding-left: 2.2em !important;
}

.siscon-article-content--structured ol > li {
    display: list-item !important;
    list-style-type: decimal !important;
}

.siscon-article-content--structured ul > li {
    display: list-item !important;
    list-style-type: disc !important;
}

.siscon-article-content--structured ol ol {
    list-style-type: lower-alpha !important;
}

.siscon-article-content--structured ul ul {
    list-style-type: circle !important;
}

/* SisCon Facebook Mobile Hotfix 1.1
 * O plugin de vídeo do Facebook calcula o layout interno pela largura
 * enviada na própria URL. Mantemos uma variante própria para mobile.
 */
.siscon-facebook-video-desktop {
    display: block !important;
}

.siscon-facebook-video-mobile {
    display: none !important;
}

@media (max-width: 767px) {
    .siscon-facebook-video-desktop {
        display: none !important;
    }

    .siscon-facebook-video-mobile {
        display: block !important;
        width: 100% !important;
        max-width: 320px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

