/* Complementos ao tema Wants Magazine */

:root {
    --bs-link-decoration: none;
    --bs-link-hover-decoration: none;
}

a,
a:hover,
a:focus {
    text-decoration: none;
}

.site-header-nav .navbar-nav a,
.mauer-westbound-navbar .nav > li > a,
.post-card .entry-title a,
.related-post-title a,
.more-link {
    text-decoration: none;
}

.mauer-westbound-preloader {
    display: none !important;
}

/* Cabeçalho — logo centralizado + menu abaixo */
.section-site-header {
    padding: 1.9rem 0 2.4rem;
}

.site-header-utilities {
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: -3;
    position: relative;
    z-index: 30;
}

.header-top-bar {
    display: flex;
    align-items: center;
    justify-content: center;
}

.header-menu-toggle {
    display: none;
}

.header-social-links-centered {
    position: relative;
    z-index: 31;
    left: auto;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.2rem;
    letter-spacing: 0;
}

.header-social-links-centered .social-button-link {
    position: relative;
    z-index: 32;
}

.header-social-links-centered .social-button-link i {
    font-size: 1.8rem;
}

.site-header-logo {
    text-align: center;
    margin-top: -4rem;
    margin-bottom: -4rem;
    position: relative;
    z-index: 10;
}

.site-header-logo .logo-link {
    display: inline-block;
    text-decoration: none;
}

.site-logo-image {
    display: block;
    width: auto;
    height: auto;
    margin: 0 auto;
}

.site-header-logo .site-logo-image {
    max-width: 932px;
}

.site-header-nav {
    text-align: center;
}

.site-header-nav .mauer-westbound-navbar {
    border: none;
    background: transparent;
    margin-bottom: 0;
    min-height: 0;
}

.site-header-nav .navbar-header {
    display: none;
}

.site-header-nav .navbar-collapse {
    border: none;
    box-shadow: none;
    padding: 0;
}

.site-header-nav .navbar-nav {
    float: none;
    display: inline-block;
    margin: 0;
}

/* Hover do menu — box preto com animação + texto branco */
.site-header-nav .navbar-nav > li.menu-item {
    position: relative;
}

.site-header-nav .navbar-nav > li.menu-item > a {
    position: relative;
    z-index: 1;
    display: inline-block;
    padding: 0.45rem 1.1rem;
    transition: color 0.28s ease;
    background: transparent !important;
}

.site-header-nav .navbar-nav > li.menu-item > a::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: #000;
    transform: scaleX(0);
    transform-origin: center;
    transition: transform 0.28s ease;
    z-index: -1;
}

.site-header-nav .navbar-nav > li.menu-item > a:hover,
.site-header-nav .navbar-nav > li.menu-item > a:focus,
.site-header-nav .navbar-nav > li.menu-item.open > a,
.site-header-nav .navbar-nav > li.menu-item.show > a {
    color: #fff !important;
}

.site-header-nav .navbar-nav > li.menu-item > a:hover::before,
.site-header-nav .navbar-nav > li.menu-item > a:focus::before,
.site-header-nav .navbar-nav > li.menu-item.open > a::before,
.site-header-nav .navbar-nav > li.menu-item.show > a::before {
    transform: scaleX(1);
}

.site-header-nav .mauer-westbound-navbar .nav > li.menu-item:after {
    opacity: 0.45;
}

.header-social-links-when-navbar-collapsed {
    display: none;
}

@media (min-width: 992px) {
    .site-header-nav .navbar-collapse {
        display: block !important;
        height: auto !important;
    }
}

@media (max-width: 991px) {
    .section-site-header {
        padding: 0.57rem 0 0.72rem;
    }

    .header-top-bar {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex-wrap: nowrap;
        width: auto;
        max-width: 100%;
        gap: 0;
    }

    .header-social-links-centered {
        display: contents;
    }

    .header-top-bar .social-button-link,
    .header-top-bar .header-menu-toggle {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        margin: 0;
        padding: 0 0.6rem;
        min-width: 0;
        min-height: 0;
        border: 0;
        background: transparent;
        box-shadow: none;
        color: #231f20;
        line-height: 1;
        vertical-align: middle;
        box-sizing: border-box;
    }

    .header-top-bar .header-menu-toggle:hover,
    .header-top-bar .header-menu-toggle:focus {
        background-color: transparent;
        color: #231f20;
        outline: none;
    }

    .header-top-bar .social-button-link i,
    .header-top-bar .header-menu-toggle i {
        display: block;
        font-size: 1.8rem;
        line-height: 1;
        padding: 0 !important;
    }

    .site-header-logo {
        margin-top: 0.095rem;
        margin-bottom: 0.004rem;
    }

    .site-header-logo .logo-link {
        display: block;
        max-width: 266px;
        margin: 0 auto;
    }

    .site-header-logo .site-logo-image {
        max-width: 266px;
        width: 100%;
        height: auto;
    }

    .site-header-nav {
        width: 100%;
    }

    .site-header-nav .mauer-westbound-navbar {
        justify-content: center;
        width: 100%;
        padding: 0;
    }

    .site-header-nav .navbar-collapse {
        text-align: center;
    }

    .site-header-nav .navbar-collapse.show,
    .site-header-nav .navbar-collapse.collapsing {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .site-header-nav .navbar-nav {
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        width: 100%;
        margin: 0 auto;
        padding-left: 0;
        padding-right: 0;
    }

    .site-header-nav .navbar-nav > li.menu-item {
        display: inline-block;
        width: auto;
        text-align: center;
        float: none;
    }

    .site-header-nav .navbar-nav > li.menu-item > a {
        text-align: center;
    }

    .site-header-nav .navbar-nav .dropdown-menu {
        position: static;
        float: none;
        width: 100%;
        text-align: center;
        border: none;
        box-shadow: none;
    }

    .site-header-nav .navbar-nav .dropdown-menu > li > a {
        text-align: center;
        padding-left: 0;
        padding-right: 0;
    }

    .site-header-nav .mauer-westbound-navbar .nav > li.menu-item:after {
        display: none;
    }
}

.logo-image-header .mauer-westbound-logo-back-ribbon {
    display: none;
}

.site-logo-image-footer {
    max-width: 266px;
}

/* Banner HTML da homepage (anúncios) */
.section-homepage-banner {
    padding: 1.2rem 0 0.8rem;
    text-align: center;
}

.section-homepage-banner-after-featured {
    padding: 0.5rem 0 2.5rem;
    margin-bottom: 1rem;
}

.section-post-banner,
.section-category-banner,
.section-tag-banner {
    padding: 1.2rem 0 0.8rem;
}

.homepage-banner-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 1rem;
    overflow: hidden;
}

.homepage-banner-inner ins,
.homepage-banner-inner iframe,
.homepage-banner-inner img {
    max-width: 100%;
}

@media (max-width: 991px) {
    .section-homepage-banner .container-fluid-with-max-width,
    .section-homepage-banner-after-featured .container-fluid-with-max-width,
    .section-post-banner .container-fluid-with-max-width,
    .section-category-banner .container-fluid-with-max-width,
    .section-tag-banner .container-fluid-with-max-width {
        width: 100%;
        max-width: 1388px;
        box-sizing: border-box;
    }

    .homepage-banner-inner {
        width: 100%;
        max-width: 100%;
        margin: 0 auto;
    }

    .homepage-banner-inner > *,
    .homepage-banner-inner ins,
    .homepage-banner-inner iframe,
    .homepage-banner-inner img,
    .homepage-banner-inner div,
    .homepage-banner-inner a {
        width: 100% !important;
        max-width: 100% !important;
        box-sizing: border-box;
    }

    .homepage-banner-inner iframe,
    .homepage-banner-inner img {
        display: block;
        margin-left: auto;
        margin-right: auto;
    }
}

/* Rodapé — fluxo normal após o conteúdo (corrige sobreposição do sticky footer do tema) */
html {
    position: static;
    min-height: auto;
}

body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
    margin-bottom: 0;
    padding-bottom: 0;
}

.mauer-westbound-to-blur {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
}

#footer {
    position: static;
    bottom: auto;
    width: 100%;
    margin-top: auto;
    flex-shrink: 0;
}

.section-content {
    padding-bottom: 3rem;
}

#footer .footer-logo {
    margin-bottom: 0;
}

#footer .footer-logo .site-logo-image-footer {
    display: block;
    margin-bottom: -2;
}

#footer .footer-logo-social-links-wrapper {
    margin-top: -0.5rem;
}

#footer .footer-social-links-title {
    padding-top: 0;
    padding-bottom: 0.5rem;
    line-height: 1.05;
}

#footer .widget h4 {
    margin-bottom: 0.84rem;
}

#footer .widget h4:after {
    top: -0.84rem;
}

.search-popup { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(254,254,254,0.97); z-index: 9999; padding-top: 15vh; }
.search-popup.active { display: block; }
.mauer-westbound-to-blur.blurred { filter: blur(3px); }

.post-card.small img { width: 100%; height: auto; display: block; }

/* Grid masonry — index e categorias */
.posts-list-layout-masonry {
    column-count: 3;
    column-gap: 3rem;
    margin-top: 2rem;
}

.posts-masonry-item {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    display: inline-block;
    width: 100%;
    margin-bottom: 4rem;
}

.posts-list-layout-masonry .post-card.small {
    margin-bottom: 0;
    padding-bottom: 2.4rem;
}

.posts-list-layout-masonry .post-card.small .entry-thumb-link picture {
    display: block;
    overflow: hidden;
    background-color: #f3f3f3;
}

.posts-list-layout-masonry .post-card.small .entry-thumb-link {
    display: block;
    overflow: hidden;
    background-color: #f3f3f3;
}

.posts-list-layout-masonry .post-card.small .entry-thumb-link img {
    width: 100%;
    height: auto;
    display: block;
    vertical-align: top;
}

.posts-list-layout-masonry .post-card.small .entry-meta {
    padding-top: 1.2rem;
}

.posts-list-layout-masonry .post-card.small .entry-title {
    font-size: 2.2rem;
    line-height: 1.25;
    margin: 1.2rem 0 0.8rem;
}

.posts-list-layout-masonry .post-card.small .entry-excerpt {
    font-size: 1.45rem;
    line-height: 1.55;
    color: #666;
}

.posts-list-layout-masonry .post-card.small .entry-excerpt p {
    margin-bottom: 0;
}

.posts-list-layout-masonry .post-card.small .more-link {
    margin-top: 1.2rem;
    display: inline-block;
}

.post-card:not(.big):not(.mauer-westbound-thumbless-entry) .more-link {
    padding-left: 1.0rem;
}

@media (max-width: 991px) {
    .posts-list-layout-masonry {
        column-count: 2;
        column-gap: 2.4rem;
    }

    .posts-masonry-item {
        margin-bottom: 3.2rem;
    }
}

@media (max-width: 599px) {
    .posts-list-layout-masonry {
        column-count: 1;
        column-gap: 0;
    }

    .posts-masonry-item {
        margin-bottom: 3rem;
    }

    .posts-list-layout-masonry .post-card.small .entry-title {
        font-size: 2.4rem;
    }
}

/* Post de capa (index) */
.post-card-big-img-part-wrapper .entry-thumb-link picture,
.post-card-big-img-part-wrapper .entry-thumb-link img {
    width: 100%;
    min-height: 411px;
    max-height: 444px;
    object-fit: cover;
    object-position: center center;
    image-rendering: auto;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.post-card-big-img-part-wrapper .entry-thumb-link picture {
    display: block;
}

@media (max-width: 991px) {
    .post-card-big-img-part-wrapper .entry-thumb-link picture,
    .post-card-big-img-part-wrapper .entry-thumb-link img {
        min-height: 0;
        max-height: 29.25vh !important;
    }
}

.post-card.big .post-card-big-textual-part-wrapper {
    max-width: 820px;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.post-card.big .entry-title {
    font-size: 5.28rem;
    line-height: 1.2;
    text-align: center;
    margin-top: 2rem;
    margin-bottom: 1.4rem;
    width: 100%;
    max-width: 100%;
}

.post-card.big .entry-title a {
    display: inline-block;
    text-align: center;
    line-height: inherit;
}

@media (max-width: 991px) {
    .post-card.big .entry-title {
        font-size: 5.46rem;
        margin-top: 1.4rem;
    }
}

@media (max-width: 767px) {
    .post-card.big .entry-title {
        font-size: 4.55rem;
        margin-top: 1.4rem;
    }
}

.post-card.big .entry-meta {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    text-align: center;
    width: 100%;
    margin-bottom: 1.6rem;
}

.post-card.big .entry-cats,
.post-card.big .entry-date {
    display: inline-block;
}

.post-card.big .entry-excerpt {
    text-align: center;
    margin: 0 auto;
    width: 100%;
    max-width: 640px;
}

.post-card.big .entry-excerpt p {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.post-card.big .more-link-holder {
    text-align: center;
    padding-top: 2.2rem;
    width: 100%;
}

.post-card.big .more-link {
    display: inline-block;
    left: 0;
}

.post-cover-image, .page-cover img { width: 100%; height: auto; margin-bottom: 3rem; }

.single-post .post-cover-image {
    width: 100%;
    min-height: 411px;
    max-height: 444px;
    object-fit: cover;
    object-position: center center;
    image-rendering: auto;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    margin-bottom: 2.1rem;
}

@media (max-width: 991px) {
    .single-post .post-cover-image {
        min-height: 0;
        max-height: 29.25vh !important;
    }
}

/* Single post — cabeçalho no estilo do card de capa do index */
.single-post .post-cover-textual-part {
    width: 100%;
    max-width: 820px;
    margin-left: auto;
    margin-right: auto;
    padding: 1.4rem 0 0 !important;
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
}

@media (min-width: 992px) {
    .single-post .post-cover-textual-part {
        padding: 1.4rem 0 0 !important;
        margin-right: auto !important;
    }
}

.single-post .post-cover-textual-part .entry-title {
    font-size: 5.28rem;
    line-height: 1.2;
    text-align: center;
    margin-top: 0;
    margin-bottom: 1.4rem;
    width: 100%;
    max-width: 100%;
    position: static;
    left: auto;
}

@media (max-width: 991px) {
    .single-post .post-cover-textual-part .entry-title {
        font-size: 5.46rem;
    }
}

@media (max-width: 767px) {
    .single-post .post-cover-textual-part .entry-title {
        font-size: 4.55rem;
    }
}

.single-post .post-cover-textual-part .entry-meta {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    text-align: center;
    width: 100%;
    margin-bottom: 1.6rem;
    padding-top: 0;
}

.single-post .post-cover-textual-part .entry-cats,
.single-post .post-cover-textual-part .entry-author,
.single-post .post-cover-textual-part .entry-date {
    display: inline-block;
}

.single-post .post-cover-textual-part .entry-author {
    margin: 0 0.8rem;
}

@media (max-width: 991px) {
    .single-post .post-cover-textual-part {
        padding-left: 0;
        padding-right: 0;
        text-align: center;
    }
}

.post-footer-meta {
    margin-top: 4rem;
    padding-top: 2rem;
    border-top: 1px solid #eee;
}

.single-post .post-footer-meta {
    text-align: center;
}

.single-post .post-tags-label,
.single-post .post-source-label {
    text-align: center;
}

.single-post .post-tags-list {
    justify-content: center;
}

.single-post .post-source {
    text-align: center;
}

.single-post .post-source-link {
    margin-left: 0;
}

.post-tags-label,
.post-source-label {
    display: block;
    margin-bottom: 1.2rem;
    font-family: 'DM Serif Display', Georgia, serif;
    font-size: 1.8rem;
    line-height: 1.3;
    color: #231f20;
}

.post-tags-list {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem 1rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.post-tag-link {
    display: inline-block;
    padding: 0.5rem 1.2rem;
    border: 1px solid #d2d2d2;
    border-radius: 99999px;
    font-size: 1.3rem;
    font-weight: 400;
    letter-spacing: 0.04em;
    line-height: 1.2;
    text-transform: lowercase;
    color: #3d3d3d;
    text-decoration: none;
    transition: color 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
}

.post-tag-link:hover,
.post-tag-link:focus {
    color: #231f20;
    border-color: #767676;
    background-color: #fafafa;
    outline: none;
}

.post-source {
    margin: 0;
    font-size: 1.4rem;
    line-height: 1.6;
    color: #5b5b5b;
}

.post-tags + .post-source {
    margin-top: 2.4rem;
}

.post-source-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    margin-left: 0.4rem;
    color: #3d3d3d;
    text-decoration: none;
}

.post-source-link:hover,
.post-source-link:focus {
    color: #231f20;
    outline: none;
}

.post-source-link i {
    font-size: 1.2rem;
}

@media (max-width: 767px) {
    .post-footer-meta {
        margin-top: 3rem;
    }

    .post-tags-label,
    .post-source-label {
        font-size: 1.6rem;
    }
}

/* Compartilhar post */
.post-share {
    margin: 4.5rem 0 3rem;
    text-align: center;
}

.post-share-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 1.4rem 1.8rem;
    max-width: 900px;
    margin: 0 auto;
}

.post-share-title {
    margin: 0;
    font-family: 'DM Serif Display', Georgia, serif;
    font-size: 2.2rem;
    line-height: 1.3;
    color: #231f20;
}

.post-share-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.9rem;
}

.post-share-actions .post-share-btn,
.post-share-actions button.post-share-btn {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 4.2rem;
    height: 4.2rem;
    min-width: 4.2rem;
    max-width: 4.2rem;
    min-height: 4.2rem;
    max-height: 4.2rem;
    padding: 0 !important;
    border: 1px solid #e8e8e8;
    border-radius: 50% !important;
    background: #f0f0f0;
    color: #3d3d3d;
    text-decoration: none;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 400;
    font-size: inherit;
    line-height: 1;
    box-sizing: border-box;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, transform 0.15s ease;
}

.post-share-actions .post-share-btn i {
    font-size: 1.7rem;
    line-height: 1;
}

.post-share-actions .post-share-btn:hover,
.post-share-actions .post-share-btn:focus {
    background: #fff !important;
    border-color: #3d3d3d !important;
    color: #3d3d3d !important;
    outline: none;
}

.post-share-actions .post-share-btn:active {
    transform: scale(0.96);
}

.post-share-feedback {
    display: block;
    margin-top: 1.2rem;
    font-size: 1.3rem;
    color: #3d3d3d;
}

.post-share-feedback:not([hidden]) {
    animation: post-share-fade 2.4s ease forwards;
}

@keyframes post-share-fade {
    0%, 70% { opacity: 1; }
    100% { opacity: 0; }
}

@media (max-width: 767px) {
    .post-share-inner {
        gap: 1.2rem;
    }

    .post-share-title {
        font-size: 1.9rem;
        width: 100%;
    }

    .post-share-actions .post-share-btn,
    .post-share-actions button.post-share-btn {
        width: 3.8rem;
        height: 3.8rem;
        min-width: 3.8rem;
        max-width: 3.8rem;
        min-height: 3.8rem;
        max-height: 3.8rem;
    }
}

/* Posts relacionados — single post */
.related-posts {
    background: #2a2a2a;
    padding: 3.5rem 0 4rem;
    margin-top: 0;
}

.related-posts-title {
    margin: 0 0 2.4rem;
    text-align: center;
    color: #fff;
    font-family: 'DM Serif Display', Georgia, serif;
    font-size: 3.64rem;
    font-weight: 400;
    line-height: 1.2;
}

.related-posts-grid {
    display: flex;
    flex-wrap: wrap;
}

.related-post-item {
    margin-bottom: 1.2rem;
}

.related-post-thumb {
    display: block;
    overflow: hidden;
    margin-bottom: 1rem;
    aspect-ratio: 3 / 1.2;
}

.related-post-thumb img,
.related-post-image {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    vertical-align: top;
}

.related-post-title {
    margin: 0 0 0.6rem;
    font-size: 2.25rem;
    line-height: 1.35;
}

.related-post-title a {
    color: #fff;
    text-decoration: none;
}

.related-post-title a:hover,
.related-post-title a:focus {
    color: #fff;
    opacity: 0.85;
}

@media (max-width: 767px) {
    .related-posts {
        padding: 3rem 0 3.5rem;
    }

    .related-posts-title {
        font-size: 2.86rem;
        margin-bottom: 2rem;
    }

    .related-post-item:last-child {
        margin-bottom: 0;
    }
}

.archive-title { margin-bottom: 3rem; }

.category-archive .archive-title,
.tag-archive .archive-title {
    text-align: center;
    font-size: 7.2rem;
    line-height: 1.2;
    margin-top: 2rem;
    margin-bottom: 1.2rem;
}

@media (max-width: 991px) {
    .category-archive .archive-title,
    .tag-archive .archive-title {
        font-size: 6.4rem;
    }
}

@media (max-width: 767px) {
    .category-archive .archive-title,
    .tag-archive .archive-title {
        font-size: 5rem;
    }
}

.category-archive .archive-description {
    text-align: center;
}

.category-archive-pillar .category-pillar {
    margin-bottom: 4rem;
}

.category-pillar-cover {
    max-width: 920px;
    margin: 0 auto 2.4rem;
}

.category-pillar-image,
.category-pillar-cover picture,
.category-pillar-cover img {
    width: 100%;
    min-height: 280px;
    max-height: 420px;
    object-fit: cover;
    display: block;
}

.category-pillar-intro {
    max-width: 820px;
    margin: 0 auto 3rem;
    text-align: center;
}

.category-pillar-lead {
    font-size: 1.8rem;
    line-height: 1.65;
    color: #444;
    margin: 0 auto 2rem;
    max-width: 680px;
}

.category-pillar-content {
    text-align: left;
    margin: 0 auto 2.4rem;
}

.category-pillar-meta {
    font-size: 1.3rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #777;
    margin: 0;
}

.category-pillar-section-title {
    font-size: 2.4rem;
    line-height: 1.25;
    text-align: center;
    margin: 0 0 1.6rem;
}

.category-pillar-tags,
.category-pillar-related {
    max-width: 820px;
    margin: 0 auto 3rem;
}

.category-pillar-tags-list,
.category-pillar-related-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.category-pillar-tags-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.8rem 1rem;
}

.category-pillar-related-list li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding: 0.9rem 0;
    border-bottom: 1px solid #ececec;
}

.category-pillar-related-list a {
    font-size: 1.6rem;
}

.category-pillar-related-count {
    font-size: 1.3rem;
    color: #777;
}

.category-posts-section {
    margin-top: 1rem;
}

.category-posts-heading {
    font-size: 3rem;
    line-height: 1.25;
    text-align: center;
    margin: 0 0 2.4rem;
}

@media (max-width: 767px) {
    .category-pillar-lead {
        font-size: 1.6rem;
    }

    .category-posts-heading,
    .category-pillar-section-title {
        font-size: 2.2rem;
    }
}

.pagination-wrapper {
    margin: 5rem 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 1.5rem 2.5rem;
}
.older-posts-link { font-size: 1.4rem; text-transform: uppercase; letter-spacing: 0.15em; }

.contact-form input, .contact-form textarea,
.subscribe-form input { width: 100%; padding: 1rem; border: 1px solid #ddd; margin-bottom: 1rem; }
.contact-form textarea { resize: vertical; }

.contact-page-layout {
    margin-top: 2rem;
    row-gap: 3rem;
}

.contact-page-text .entry-content {
    margin-bottom: 2.4rem;
}

.contact-page-text .contact-info h4 {
    margin-bottom: 1rem;
}

.contact-page-text .contact-info p {
    margin-bottom: 0;
}

@media (min-width: 992px) {
    .contact-page-form {
        padding-left: 2rem;
    }
}

.flash-message { position: fixed; bottom: 2rem; right: 2rem; padding: 1.2rem 2rem; border-radius: 4px; z-index: 10000; color: #fff; }
.flash-success { background: #2d8a4e; }
.flash-error { background: #3d3d3d; }

/* Categoria e links "read" — cinza chumbo escuro */
.post-card.big .entry-cats a,
.post-card.small .entry-cats a,
.post-cover-textual-part .entry-cats a {
    background-color: #3d3d3d;
    color: #fff;
}

.post-card.big .entry-cats a:hover,
.post-card.small .entry-cats a:hover,
.post-cover-textual-part .entry-cats a:hover {
    background-color: #2a2a2a;
    color: #fff;
}

.post-card .entry-meta a:hover,
.post-card .entry-meta a:focus {
    color: #3d3d3d;
}

.more-link,
.more-link i.fa {
    color: #3d3d3d;
}

.more-link:hover,
.more-link:hover i.fa {
    color: #2a2a2a;
}

.related-posts .more-link,
.related-posts .more-link .more-link-span,
.related-posts .more-link i.fa {
    color: #fff;
}

.related-posts .more-link:hover,
.related-posts .more-link:hover .more-link-span,
.related-posts .more-link:hover i.fa,
.related-posts .more-link:focus,
.related-posts .more-link:focus .more-link-span,
.related-posts .more-link:focus i.fa {
    color: #fff;
    opacity: 0.85;
}

.entry-content img { max-width: 100%; height: auto; }

/* Lead speakable (OpenAI) — espaçamento igual aos demais parágrafos */
.entry-content > .speakable,
.entry-content > .speakable-summary,
.entry-content > div.speakable {
    display: flow-root;
    margin: 0 0 3.5rem;
}

.entry-content .speakable > p:last-child,
.entry-content .speakable-summary > p:last-child {
    margin-bottom: 0;
}

/* Post — imagem isolada no meio do texto */
.single-post .entry-content > .entry-image-centered {
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.single-post .entry-content > img.entry-image-centered,
.single-post .entry-content .entry-image-centered img {
    display: block;
    margin-left: auto;
    margin-right: auto;
}

/* Post — imagens consecutivas em masonry (2 colunas) */
.single-post .entry-content .entry-images-masonry {
    column-count: 2;
    column-gap: 2.4rem;
    margin: 2.4rem 0;
}

.single-post .entry-content .entry-images-masonry > p,
.single-post .entry-content .entry-images-masonry > figure {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    display: inline-block;
    width: 100%;
    margin: 0 0 1.5rem;
}

.single-post .entry-content .entry-images-masonry img {
    width: 100%;
    height: auto;
    display: block;
    vertical-align: top;
}

@media (max-width: 599px) {
    .single-post .entry-content .entry-images-masonry {
        column-count: 1;
        column-gap: 0;
    }

    .single-post .entry-content .entry-images-masonry > p,
    .single-post .entry-content .entry-images-masonry > figure {
        margin-bottom: 1.2rem;
    }
}

.entry-content blockquote { border-left: 3px solid; padding-left: 2rem; margin: 3rem 0; font-style: italic; }
.entry-content blockquote cite { display: block; margin-top: 1rem; font-style: normal; font-size: 0.9em; }

.entry-content a.internal-link {
    text-decoration: none;
}

.entry-content a.internal-link:hover,
.entry-content a.internal-link:focus {
    color: #231f20;
}

/* Botão flutuante — voltar ao topo */
.back-to-top {
    position: fixed;
    right: 2rem;
    bottom: 2rem;
    z-index: 999;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 4.4rem;
    height: 4.4rem;
    min-width: 0;
    max-width: 4.4rem;
    min-height: 0;
    max-height: 4.4rem;
    padding: 0;
    border: none;
    border-radius: 50%;
    background: #e0e0e0;
    color: #666;
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    text-transform: none;
    text-align: center;
    cursor: pointer;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
    opacity: 0;
    visibility: hidden;
    transform: translateY(1rem);
    transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease, background 0.2s ease, color 0.2s ease;
}

.back-to-top i {
    display: block;
    line-height: 1;
}

.back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.back-to-top:hover,
.back-to-top:focus {
    background: #3d3d3d;
    color: #fff;
    outline: none;
}

@media (max-width: 599px) {
    .back-to-top {
        right: 1.4rem;
        bottom: 1.4rem;
        width: 4rem;
        height: 4rem;
        max-width: 4rem;
        max-height: 4rem;
        font-size: 1.4rem;
    }
}

/* Breadcrumbs */
.breadcrumbs {
    margin: 0 0 2.4rem;
    padding: 0;
}

.breadcrumbs-list {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.4rem 0;
    margin: 0;
    padding: 0;
    list-style: none;
    font-family: Inter, sans-serif;
    font-size: 1.2rem;
    line-height: 1.5;
    color: #777;
}

.breadcrumbs--centered .breadcrumbs-list {
    justify-content: center;
    text-align: center;
}

.breadcrumbs-item {
    display: inline-flex;
    align-items: center;
}

.breadcrumbs-item:not(:last-child)::after {
    content: "/";
    margin: 0 0.8rem;
    color: #bbb;
    pointer-events: none;
}

.breadcrumbs-item a {
    color: #666;
    text-decoration: none;
}

.breadcrumbs-item a:hover,
.breadcrumbs-item a:focus {
    color: #222;
    text-decoration: none;
}

.breadcrumbs-item span[aria-current="page"] {
    color: #222;
}

.breadcrumbs--centered {
    margin-top: 0.8rem;
}

.category-archive .breadcrumbs--centered,
.tag-archive .breadcrumbs--centered {
    margin-top: 0;
    margin-bottom: 2.4rem;
}

.single-page .breadcrumbs {
    margin-top: 0.8rem;
}

.single-page--institutional .breadcrumbs {
    margin-top: 0;
    margin-bottom: 1.6rem;
}

.single-page--institutional .entry-title {
    text-align: left;
}

.footer-institutional {
    margin-top: 2.4rem;
    padding-top: 2rem;
    border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.footer-institutional-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 0.8rem 1.6rem;
    margin: 0;
    padding: 0;
    list-style: none;
    font-family: Inter, sans-serif;
    font-size: 1.2rem;
    line-height: 1.5;
}

.footer-institutional-list a {
    color: #666;
    text-decoration: none;
}

.footer-institutional-list a:hover,
.footer-institutional-list a:focus {
    color: #222;
    text-decoration: none;
}
