/* TÍTULOS */
.content-layout__main .entry-content h1,
.content-layout__main .entry-content h2,
.content-layout__main .entry-content h3,
.content-layout__main .entry-content h4,
.content-layout__main .entry-content h5,
.content-layout__main .entry-content h6 {
    margin-bottom: var(--space-30);
    color: var(--color-secondary);
    font-weight: var(--font-weight-light);
    line-height: var(--line-height-base);
    text-transform: inherit;
}

.content-layout__main .entry-content h2 {
    font-size: var(--text-24);
}

.content-layout__main .entry-content h3 {
    font-size: var(--text-20);
}

.content-layout__main .entry-content h4 {
    font-size: var(--text-18);
}

.content-layout__main .entry-content h5,
.content-layout__main .entry-content h6 {
    font-size: var(--text-16);
}

/* PARÁGRAFOS */
.content-layout__main .entry-content p {
    margin-bottom: var(--space-30);
    color: inherit;
    line-height: var(--line-height-large);
    overflow-wrap: break-word;
}

.content-layout__main .entry-content p a {
    color: var(--color-secondary);
    text-decoration: underline;
}

.content-layout__main .entry-content p a:hover {
    color: var(--color-tertiary);
}

.content-layout__main .entry-content p strong,
.content-layout__main .entry-content p b {
    font-weight: var(--font-weight-extrabold);
}

/* LISTAS */
.content-layout__main .entry-content ul {
    list-style: disc;
    margin: 0 0 var(--space-30) var(--space-60);
}

.content-layout__main .entry-content ul li {
    margin-bottom: var(--space-10);
    line-height: var(--line-height-large);
}

.content-layout__main .entry-content ol {
    list-style: decimal-leading-zero;
    margin: 0 0 var(--space-30) var(--space-60);
    counter-reset: li;
}

.content-layout__main .entry-content ol li {
    counter-increment: li;
    margin-bottom: var(--space-10);
    line-height: var(--line-height-large);
}

/* BLOCKQUOTE */
.content-layout__main .entry-content blockquote,
.content-layout__main .entry-content blockquote p {
    color: var(--color-primary);
    font-size: var(--text-18);
    text-align: left;
    font-style: italic;
}

.content-layout__main .entry-content blockquote {
    margin-bottom: var(--space-30);
}

.content-layout__main .entry-content blockquote p {
    margin: 0;
}

/* TABELAS */
.content-layout__main .entry-content .wp-block-table {
    overflow-x: auto;
    margin-bottom: var(--space-15);
}

.content-layout__main .entry-content table {
    width: 100%;
    margin-bottom: var(--space-15);
    border-collapse: separate;
    border-spacing: 2px;
}

.content-layout__main .entry-content table tr th,
.content-layout__main .entry-content table tr td {
    padding: var(--space-10) var(--space-15);
    border-radius: var(--space-10);
    border-color: transparent;
    line-height: 24px;
    transition: background-color 0.25s ease-in-out;
}

.content-layout__main .entry-content table tr:nth-child(odd) td {
    background-color: var(--color-secondary-95);
}

.content-layout__main .entry-content table tr:nth-child(even) td {
    background-color: var(--color-secondary-90);
}

.content-layout__main .entry-content table tr th td,
.content-layout__main .entry-content table tr:first-of-type td,
.content-layout__main .entry-content table tr:first-of-type:hover td {
    background-color: var(--color-primary);
    color: var(--color-neutral-100);
}

.content-layout__main .entry-content table tr:hover td {
    background-color: var(--color-secondary-80);
}

/* VIDEO EMBED */
.content-layout__main .entry-content figure.wp-block-embed {
    display: block;
    width: 100%;
    max-width: var(--media-content-max-width);
    margin: 0 auto var(--space-30);
}

.content-layout__main .entry-content .embed-container,
.content-layout__main .entry-content .wp-block-embed__wrapper {
    position: relative;
    overflow: hidden;
    max-width: 100%;
    height: auto;
    padding-bottom: 56.25%;
}

.content-layout__main .entry-content .wp-block-embed__wrapper {
    padding-bottom: 0;
}

.content-layout__main .entry-content .embed-container iframe,
.content-layout__main .entry-content .embed-container object,
.content-layout__main .entry-content .embed-container embed,
.content-layout__main .entry-content .wp-block-embed__wrapper iframe,
.content-layout__main .entry-content .wp-block-embed__wrapper object,
.content-layout__main .entry-content .wp-block-embed__wrapper embed {
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: auto !important;
    aspect-ratio: 16 / 9 !important;
}

/* WP GALLERY OVERWRITE — position:relative aqui é pro Masonry (ver bloco
   "WP GALLERY — Masonry" abaixo, que precisa de um ancestral posicionado
   pra fazer sentido com o JS); mesma regra também vale pro markup legado
   logo abaixo (blocks-gallery-item), por isso mora aqui, não separado. */
.content-layout__main .entry-content .wp-block-gallery {
    position: relative;
    max-width: var(--media-content-max-width);
    margin: 0 auto var(--space-30);
}

.content-layout__main .entry-content .wp-block-gallery ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.wp-block-gallery .blocks-gallery-item figcaption {
    display: none;
    position: absolute;
    top: unset;
    bottom: 0;
    z-index: 1;
    width: 100%;
    height: auto;
    margin: 0;
    padding: var(--space-15) var(--space-15) calc( var(--space-15) / 4 );
    background: linear-gradient(180deg, rgb(0 0 0 / 0%) 0%, rgb(0 0 0 / 100%) 100%);
    color: var(--color-primary);
    font-size: 12px;
    line-height: 1.35em;
    text-align: center;
}

/* IMAGEM ISOLADA (bloco nativo core/image, fora de galeria) */
.content-layout__main .entry-content > .wp-block-image {
    width: auto;
    height: auto;
    max-width: var(--media-content-max-width);
    margin: 0 auto var(--space-30);
}

.content-layout__main .entry-content > .wp-block-image > img {
    width: auto;
    height: auto;
    max-width: 100%;
    margin: 0 auto;
    border-radius: 15px;
}

/* WP GALLERY — Masonry (markup nativo: figure.wp-block-gallery > figure.wp-block-image, sem .blocks-gallery-item/ul, ver bloco WP GALLERY OVERWRITE acima — inclusive o position:relative do container, que mora lá desde o merge de 30/08/2026, não aqui). Posicionamento por JS (assets/js/entry-content-gallery-masonry.js, masonry-layout@4.2.2), não display:grid — por isso altura variável de propósito, sem aspect-ratio/object-fit forçado no img (isso deixaria o resultado idêntico a um grid comum). Gap total (horizontal e vertical) = 3px, pedido explícito do cliente — via padding+margin negativa (compensa o inset nas bordas), vertical via padding-bottom no item — Masonry só cuida da posição, gap é sempre CSS. Seletores escopados com ".wp-block-gallery" na frente (não ".wp-block-image" sozinho) — o bloco Image isolado (core/image, fora de galeria) usa a mesma classe "wp-block-image" no markup nativo, então sem esse escopo a largura 50%/33% do Masonry vazava pra imagem isolada também. */
.content-layout__main .entry-content .wp-block-gallery .wp-block-image {
    box-sizing: border-box;
    width: 50%;
    margin: 0;
    padding: 0 calc(3px / 2) 3px;
}

.content-layout__main .entry-content .wp-block-gallery .wp-block-image img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 15px;
}

/* LIGHTBOX (GLightbox, injetado via assets/js/entry-content-gallery-lightbox.js — o <img> vira filho de um <a class="glightbox"> em runtime). display:block só pra manter o <a> se comportando como o próprio img se comportava, sem afetar a medição do Masonry. */
.content-layout__main .entry-content .wp-block-gallery .wp-block-image a.glightbox {
    display: block;
}

/* LEGENDA NATIVA (wp-element-caption, embed/imagem) */
.content-layout__main .entry-content .wp-element-caption {
    margin-top: var(--space-10);
    color: var(--color-neutral-20);
    font-size: var(--text-12);
    text-align: center;
}

/* BLOCKQUOTE DECORATIVO (cnc-decorative injetado via assets/js/entry-content-blockquote-decorative.js) */
.content-layout__main .entry-content .cnc-decorative-wrapper {
    position: relative;
}

/* Glightbox Customizations */
.glightbox-container .ginner-container {
    padding: var(--space-15);
}

.goverlay,
.glightbox-mobile .goverlay {
    background: var(--color-secondary-90);
    opacity: 0.80;
}

.glightbox-clean .gslide-media {
    box-shadow: none;
}

.gslide-image img {
    border-radius: var(--space-15);
}

.glightbox-container .gslider {
    backdrop-filter: blur(5px);
}

.glightbox-clean .gclose,
.glightbox-clean .gnext,
.glightbox-clean .gprev {
    width: 40px;
    height: 40px;
    border-radius: var(--space-10);
    background-color: var(--color-secondary);
    transition: background-color 0.25s ease-in-out;
}

.glightbox-clean .gclose:hover,
.glightbox-clean .gnext:hover,
.glightbox-clean .gprev:hover {
    background-color: var(--color-tertiary);
}

.glightbox-clean .gnext svg,
.glightbox-clean .gprev svg {
    width: var(--space-20);
}

@media (width > 640px) {
    .content-layout__main .entry-content .wp-block-gallery .wp-block-image {
        width: 33.333%;
    }
}

@media (width > 960px) {
    .content-layout__main .entry-content h2 {
        font-size: var(--text-32);
    }

    .content-layout__main .entry-content h3 {
        font-size: var(--text-28);
    }

    .content-layout__main .entry-content h4 {
        font-size: var(--text-24);
    }

    .content-layout__main .entry-content h5,
    .content-layout__main .entry-content h6 {
        font-size: var(--text-20);
    }

    .content-layout__main .entry-content blockquote,
    .content-layout__main .entry-content blockquote p {
        font-size: var(--text-24);
    }

}

@media (width > 1280px) {
    .wp-block-gallery .blocks-gallery-item figcaption {
        display: block;
    }
}
