/* ==========================================================================
   PÁGINAS INTERNAS — BÁRBARA RESENDE

   Estilos compartilhados pelas páginas internas.
   Arquivo aberto, comentado e preparado para futura conversão em WordPress.
========================================================================== */


/* ==========================================================================
   01. BASE DAS PÁGINAS INTERNAS
========================================================================== */

.internal-page {
    background: var(--color-white);
}


/* ==========================================================================
   02. HERO INTERNO

   O tratamento segue a mesma lógica visual do hero da home:
   - fundo azul institucional;
   - colagem fotográfica visível;
   - contraste suficiente para o texto;
   - posicionamento ajustável por página.
========================================================================== */

.internal-hero {
    position: relative;

    min-height: 21rem;

    padding-top: 0;

    display: flex;

    align-items: end;

    overflow: hidden;

    color: var(--color-white);
    background: #0D4E8F;
}


/* Fundo azul utilizado também na home */

.internal-hero::before {
    content: "";

    position: absolute;
    inset: 0;

    background-image: var(--internal-hero-bg, url("../images/ui/hero-bg.png"));
    background-position: center;
    background-size: cover;
    background-repeat: no-repeat;
}



/* Colagem fotográfica */

/* ==========================================================================
   HERO INTERNO — COLAGEM NO MESMO PADRÃO DA HOME
========================================================================== */

.internal-hero::after {
    content: "";

    position: absolute;

    inset: 0;


    background-image: url("../images/ui/hero-collage.webp");

    background-size: cover;
    background-repeat: no-repeat;

    background-position: left center;

    opacity: 0.85;

    mix-blend-mode: normal;

    filter:
        brightness(1.15) contrast(1.10) saturate(0.95);

    pointer-events: none;
}


/* ==========================================================================
   HERO INTERNO — OVERLAY MAIS LEVE
========================================================================== */

.internal-hero__overlay {
    position: absolute;

    inset: 0;

    z-index: 1;

    /* Mesmo gradiente de marca do hero da Home (.hero::before,
       home.css) — azul escuro, azul, azul claro e verde do logotipo —
       só girado pra horizontal (texto do hero interno é alinhado à
       esquerda, precisa de mais contraste nesse lado). */
    background:
        linear-gradient(90deg,
            rgb(6 21 27 / 82%) 0%,
            rgba(26, 86, 121, 0.68) 35%,
            rgba(35, 182, 233, 0.42) 65%,
            rgba(78, 155, 58, 0.32) 100%);

    pointer-events: none;
}


.internal-hero__content {
    position: relative;
    top: -1rem;
    z-index: 2;

    width:
        min(calc(100% - (var(--gutter) * 2)),
            var(--container));

    margin-inline: auto;

    padding-block:
        3.5rem 2.75rem;
}


/* Título do hero: principal na hierarquia, sem exagerar no tamanho */

.internal-hero h1 {
    max-width: 18ch;

    margin:
        0 0 1.125rem;

    color: inherit;

    font-size:
        clamp(3.75rem,
            5.35vw,
            3.5rem);

    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -0.045em;
}


/* Posições específicas da colagem por página */




/* ==========================================================================
   03. BREADCRUMB
========================================================================== */

.breadcrumb {
    display: flex;
    flex-wrap: wrap;

    align-items: center;

    gap: 0.625rem;

    color: rgba(255, 255, 255, 0.82);

    font-size: 0.9375rem;
}


.breadcrumb a,
.breadcrumb [aria-current="page"] {
    position: relative;

    display: inline-flex;

    padding-bottom: 0.25rem;

    transition: color var(--ease-fast);
}


.breadcrumb a {
    color: rgba(255, 255, 255, 0.9);

    font-weight: 700;
}


.breadcrumb a:hover,
.breadcrumb a:focus-visible {
    color: var(--color-yellow);
}


/*
 * O item atual não é link. Por isso não recebe cor de hover,
 * borda ou sublinhado. Ele apenas informa a página atual.
 */

/* Página atual */

.breadcrumb [aria-current="page"] {
    color: var(--color-yellow);

    font-weight: 700;

    box-shadow:
        inset 0 -0.125rem 0 var(--color-yellow);
}


/* Não cria elemento adicional que altere o bloco */

.breadcrumb [aria-current="page"]::after {
    display: none;
}


/* ==========================================================================
   04. NAVEGAÇÃO DAS PÁGINAS INTERNAS

   Retorna ao padrão roxo aprovado no projeto.
========================================================================== */

.internal-page .main-nav a:not(.main-nav__cta):hover,
.internal-page .main-nav a:not(.main-nav__cta):focus-visible {
    color: var(--color-secondary);
}

.internal-page .main-nav a[aria-current="page"],
.internal-page .main-nav a[aria-current="page"]:hover,
.internal-page .main-nav a[aria-current="page"]:focus-visible {
    color: var(--color-blue);
}


.internal-page .main-nav a:not(.main-nav__cta):hover::after,
.internal-page .main-nav a:not(.main-nav__cta):focus-visible::after,
.internal-page .main-nav a[aria-current="page"]::after {
    background: var(--color-secondary);
    transform: scaleX(1);
}


/* ==========================================================================
   05. CONTEÚDO E TIPOGRAFIA INTERNA
========================================================================== */

.internal-section {
    padding-block: clamp(4rem, 8vw, 7rem);
}


/*
 * Hierarquia tipográfica das páginas internas.
 * O hero permanece mais forte; os títulos de conteúdo mantêm presença,
 * mas sem competir com o nome da página.
 */

.internal-page .section-heading h2,
.internal-page .prose h2,
.internal-page .page-title,
.internal-page .content-title {
    color: var(--color-blue);

    font-size:
        clamp(3.75rem,
            5.35vw,
            3.5rem);

    font-weight: 800;
    line-height: 0.98;
    letter-spacing: -0.045em;
}


.internal-page .prose h3,
.internal-page .archive-card h2,
.internal-page .archive-card h3 {
    color: var(--color-blue);
    font-weight: 800;
}


.narrow-content {
    max-width: 54rem;
}

.prose {
    color: var(--color-text);
}

.prose h2 {
    margin: 0.75rem 0 1.5rem;
}

.prose h3 {
    margin: 2rem 0 0.75rem;

    font-size: clamp(1.45rem, 3vw, 2.1rem);
}

.prose p {
    margin: 0 0 1.25rem;

    line-height: 1.75;
}

.prose .lead {
    max-width: 52rem;

    font-size: clamp(1.125rem, 2vw, 1.375rem);
    font-weight: 500;
    line-height: 1.6;
}

/* ==========================================================================
   CITAÇÕES — SINGLE DO BLOG E PÁGINAS INTERNAS

   Mesmo padrão visual do blockquote da Home (.about-left blockquote,
   home.css) — fundo branco, borda lateral colorida, aspas decorativas
   grandes — em vez do preenchimento cinza/roxo que tinha antes aqui.
========================================================================== */

.single-post.prose blockquote,
.single-post .wp-block-quote,
.internal-page .prose blockquote,
.internal-page .wp-block-quote {
    position: relative;

    margin:
        2.5rem
        0;

    padding:
        1.75rem
        2rem
        1.75rem
        3.5rem;

    color: var(--color-heading-dark);
    background: var(--color-white);

    border-left:
        0.3125rem
        solid
        var(--color-purple);

    border-radius: 0 var(--radius-md) var(--radius-md) 0;
    box-shadow: var(--shadow-sm);

    font-size:
        clamp(
            1.125rem,
            2vw,
            1.375rem
        );

    font-style: italic;
    font-weight: 600;
    line-height: 1.3;

    letter-spacing: -0.01em;
}

.single-post.prose blockquote::before,
.single-post .wp-block-quote::before,
.internal-page .prose blockquote::before,
.internal-page .wp-block-quote::before {
    content: "\201C";

    position: absolute;
    top: 0.65rem;
    left: 1.1rem;

    color: var(--color-purple);

    font-family: var(--font-family-heading);
    font-size: 2.75rem;
    font-style: normal;
    font-weight: 800;
    line-height: 1;

    opacity: 0.35;
}


/* Texto interno da citação */

.single-post.prose blockquote p,
.single-post .wp-block-quote p,
.internal-page .prose blockquote p,
.internal-page .wp-block-quote p {
    margin: 0;

    color: inherit;

    font: inherit;
    line-height: inherit;
}


/* Parágrafos adicionais dentro da citação */

.single-post.prose blockquote p + p,
.single-post .wp-block-quote p + p,
.internal-page .prose blockquote p + p,
.internal-page .wp-block-quote p + p {
    margin-top: 0.875rem;
}


/* Autor ou referência da citação */

.single-post.prose blockquote cite,
.single-post .wp-block-quote cite,
.internal-page .prose blockquote cite,
.internal-page .wp-block-quote cite {
    margin-top: 0.75rem;

    display: block;

    color: var(--color-purple);

    font-size: var(--font-size-xs);
    font-style: normal;
    font-weight: 800;
    line-height: 1.4;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.single-post.prose blockquote cite::before,
.single-post .wp-block-quote cite::before,
.internal-page .prose blockquote cite::before,
.internal-page .wp-block-quote cite::before {
    content: "\2014 ";
}


/* ==========================================================================
   LISTAS — NUMERADAS E POR TÓPICOS

   Cor diferente da citação (verde em vez de roxo) pra não confundir os
   dois tipos de bloco de destaque no conteúdo.
========================================================================== */

.prose ol,
.prose ul {
    margin: 1.75rem 0;
    padding: 1.25rem 1.5rem;

    display: grid;
    gap: 0.75rem;

    list-style: none;

    background: var(--color-surface-soft);

    border-left: 0.3125rem solid var(--color-secondary);
    border-radius: 0 var(--radius-md) var(--radius-md) 0;
}

.prose ol li,
.prose ul li {
    position: relative;

    padding-left: 1.875rem;

    color: var(--color-text);
    line-height: 1.6;
}

.prose ul li::before {
    content: "";

    position: absolute;
    top: 0.55em;
    left: 0;

    width: 0.5rem;
    height: 0.5rem;

    background: var(--color-secondary);
    border-radius: 50%;
}

.prose ol {
    counter-reset: br-ordered-list;
}

.prose ol li {
    counter-increment: br-ordered-list;
}

.prose ol li::before {
    content: counter(br-ordered-list);

    position: absolute;
    top: 0;
    left: 0;

    width: 1.375rem;
    height: 1.375rem;

    display: grid;
    place-items: center;

    color: var(--color-white);
    background: var(--color-secondary);

    border-radius: 50%;

    font-size: 0.75rem;
    font-weight: 800;
}


/* ==========================================================================
   GRID PADRÃO DAS PÁGINAS INTERNAS
========================================================================== */

.content-grid {
    display: grid;

    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(18rem, 0.85fr);

    gap:
        clamp(
            3rem,
            7vw,
            7rem
        );

    align-items: start;
}


/* ==========================================================================
   PÁGINA SOBRE — TEXTO E PERFIL EM DUAS COLUNAS
========================================================================== */

.content-grid--about {
    grid-template-columns:
        minmax(0, 1.15fr)
        minmax(18rem, 0.85fr);
}


.content-grid--about .prose,
.content-grid--about .profile-card {
    min-width: 0;
}


/* ==========================================================================
   PERFIL — PÁGINA SOBRE
========================================================================== */

.content-grid--about .profile-card {
    width: 100%;

    overflow: hidden;

    color: var(--color-text);
    background: transparent;
}


.content-grid--about .profile-card img {
    width: 100%;
    height: auto;
    max-height: none;

    display: block;

    object-fit: cover;
    object-position: center top;

    background: transparent;
}


.content-grid--about .profile-card > div {
    width: 100%;

    padding:
        1.25rem
        0
        0;

    display: grid;

    gap: 0.35rem;

    background: transparent;
}


.content-grid--about .profile-card strong {
    color: var(--color-blue);

    font-size: 1.375rem;
    font-weight: 800;
}


.content-grid--about .profile-card span {
    color: var(--color-text-muted);

    font-size: 0.95rem;
    line-height: 1.45;
}


/* ==========================================================================
   RESPONSIVO — GRID INTERNO
========================================================================== */

@media (max-width: 61.99rem) {

    .content-grid,
    .content-grid--about {
        grid-template-columns: 1fr;

        gap: 3rem;
    }


    .content-grid--about .profile-card {
        width: 100%;
        max-width: 36rem;
    }

}


/* ==========================================================================
   07. CARDS E ARQUIVOS
========================================================================== */

.archive-grid {
    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 1.5rem;
}

.archive-grid--news {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.archive-card {
    position: relative;
    min-width: 0;

    background: var(--color-surface-soft);

    border-left: 0.3rem solid var(--color-flag-1);
    border-radius: var(--radius-md);
    overflow: hidden;

    transition: transform var(--ease), box-shadow var(--ease);
}

/* Cor da borda lateral rotaciona a cada 5 cards, mesma paleta das
   bandeiras (tokens.css) — reaproveita o padrão de "cor por variante"
   já estabelecido no acordeão de bandeiras, em vez de criar cores novas
   só pra este grid. */
.archive-card:nth-child(5n+2) { border-left-color: var(--color-flag-2); }
.archive-card:nth-child(5n+3) { border-left-color: var(--color-flag-3); }
.archive-card:nth-child(5n+4) { border-left-color: var(--color-flag-4); }
.archive-card:nth-child(5n+5) { border-left-color: var(--color-flag-5); }

.archive-card:hover {
    transform: translateY(-0.25rem);
    box-shadow: 0 2rem 5rem rgba(17, 50, 104, 0.2);
}

/* Área inteira do card clicável: o link do título vira uma camada
   que cobre todo o card (mesmo padrão em qualquer listagem). */
.archive-card__link::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
}

.archive-card__media {
    min-height: 14rem;

    display: grid;

    place-items: center;

    overflow: hidden;

    color: #718096;
    background: #DFE7F0;
}

.archive-card__media img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
}

.archive-card__body {
    padding: 1.5rem;
}

.archive-card h2,
.archive-card h3 {
    margin: 0.75rem 0;

    font-size: 1.4rem;
    font-weight: 800;
    line-height: 1.18;
}

.archive-card p {
    line-height: 1.6;
}

.archive-card a {
    color: var(--color-blue);

    font-weight: 800;
}

.archive-card__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.archive-card__top .card-meta {
    margin-top: 0;
}

.archive-card__bottom {
    margin-top: 0.75rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.archive-card__more {
    display: inline-block;
    color: var(--color-blue);
    font-weight: 800;
}


/* ==========================================================================
   BANDEIRAS — BASE
========================================================================== */

.flag-item {
    overflow: hidden;

    color: var(--color-white);

    border:
        1px
        solid
        rgba(255, 255, 255, 0.22);

    transition:
        filter var(--ease-fast),
        box-shadow var(--ease-fast);
}


/* ==========================================================================
   BANDEIRAS — CORES ATUAIS
========================================================================== */

.flag-item--health {
    background: #113268;
}

.flag-item--rights {
    background: #174C98;
}

.flag-item--voice {
    background: #1D69D7;
}

.flag-item--inclusion {
    background: #9613D3;
}

.flag-item--women {
    background: #5D0985;
}


/* ==========================================================================
   BANDEIRAS — COMPATIBILIDADE COM NOMES NOVOS
========================================================================== */

.flag-item--commitment {
    background: #113268;
}

.flag-item--representation {
    background: #174C98;
}

.flag-item--respect {
    background: #1D69D7;
}

.flag-item--sensitivity {
    background: #9613D3;
}


/* ==========================================================================
   BANDEIRAS — TEXTO
========================================================================== */

.flag-item button,
.flag-item .flag-title,
.flag-item .flag-toggle,
.flag-item .flag-content,
.flag-item .flag-lead {
    color: var(--color-white);
}

.flag-item .flag-content p {
    color: var(--color-white);
}

.flag-item .flag-content a {
    color: var(--color-yellow);
}


/* ==========================================================================
   BANDEIRAS — HOVER E ABERTA
========================================================================== */

}

.flag-item.is-open {


    box-shadow:
        inset
        0
        0
        0
        3px
        var(--color-yellow);
}




/* ==========================================================================
   09. ESCUTA MS

   A página mantém personalidade própria sem abandonar o sistema visual.
========================================================================== */

.listening--page {
    color: var(--color-text);

    background:
        linear-gradient(135deg,
            #EEF4FB 0%,
            #F7F3FB 100%);
}

.listening--page .listening-copy .eyebrow {
    color: var(--color-purple);
}

.listening--page .listening-copy h2 {
    color: var(--color-blue);

    font-size: clamp(2.75rem, 6vw, 5rem);
    font-weight: 800;
}

.listening--page .listening-copy p {
    color: var(--color-text);
}


/* ==========================================================================
   10. NOTÍCIAS E SIDEBAR
========================================================================== */

.news-layout {
    display: grid;

    grid-template-columns:
        minmax(0, 1fr) minmax(22rem, 24rem);

    gap: clamp(2.5rem, 4vw, 4rem);

    align-items: start;
}

.news-archive>.section-heading h2,
.news-archive-title {
    color: var(--color-blue);
}

.news-sidebar {
    display: grid;

    gap: 1.25rem;
}

.sidebar-widget {
    overflow: hidden;

    background: var(--color-surface-soft);

    border: 1px solid var(--color-surface);
    border-radius: var(--radius-md);
}

.sidebar-widget h2 {
    margin: 0;

    padding: 1rem 1.25rem;

    color: var(--color-white);
    background: var(--color-blue);

    font-size: 1.125rem;
    font-weight: 700;
}

.sidebar-widget__content {
    padding: 1.25rem;
}

.sidebar-widget ul {
    margin: 0;
    padding: 0;

    list-style: none;
}

.sidebar-widget li+li {
    border-top: 1px solid rgba(17, 50, 104, 0.12);
}

.sidebar-widget li>a {
    display: block;

    padding: 0.75rem 0;

    color: var(--color-blue);

    font-weight: 600;
}

.sidebar-widget .sidebar-list li > a {
    display: grid;
    grid-template-columns: 3.5rem minmax(0, 1fr);
    align-items: center;
    gap: 0.875rem;

    padding: 0.9rem 0;
}

.sidebar-widget .sidebar-list__media {
    display: block;
    overflow: hidden;

    width: 3.5rem;
    height: 3.5rem;

    background: var(--color-surface);
    border-radius: 0.65rem;
}

.sidebar-widget .sidebar-list__media img {
    width: 100%;
    height: 100%;
    display: block;

    object-fit: cover;
    object-position: center;
}

.sidebar-widget .sidebar-list__copy {
    min-width: 0;
}

.sidebar-widget .sidebar-list__copy strong {
    display: block;

    color: var(--color-blue);

    font-size: 0.925rem;
    font-weight: 700;
    line-height: 1.3;
}

.search-form {
    display: grid;

    gap: 0.75rem;
}

.search-form input,
.contact-form input,
.contact-form textarea {
    width: 100%;

    padding: 0.95rem 1rem;

    border: 1px solid #CFD6DF;
    border-radius: var(--radius-md);

    background: var(--color-white);
}

.search-form button {
    padding: 0.85rem 1rem;

    color: var(--color-white);
    background: var(--color-blue);

    border: 0;
    border-radius: var(--pill);

    font-weight: 700;

    cursor: pointer;
}

/* ==========================================================================
   SIDEBAR — AUTOR
========================================================================== */

.sidebar-author {
    display: flex;
    align-items: center;
    gap: 1rem;
}

.sidebar-author__avatar {
    flex-shrink: 0;
    width: 4rem;
    height: 4rem;

    border-radius: 50%;
}

.sidebar-author__body {
    display: grid;
    gap: 0.15rem;
}

.sidebar-author__label {
    color: var(--color-text-muted);

    font-size: var(--font-size-xs);
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.sidebar-author__name {
    color: var(--color-blue);
    font-size: 1.0625rem;
}

.sidebar-author__bio {
    margin: 0.35rem 0 0;

    color: var(--color-text);
    font-size: 0.875rem;
    line-height: 1.5;
}


/* ==========================================================================
   SIDEBAR — CTA (PLANO DE ATUAÇÃO)
========================================================================== */

.sidebar-widget--cta {
    border-color: var(--color-flags-bg);
    
    background: var(--color-flags-bg);
}

.sidebar-cta {
    display: grid;
    gap: 0.75rem;

    color: var(--color-white);
}

.sidebar-cta .eyebrow {
    width: fit-content;
    color: var(--color-yellow);
}

.sidebar-cta .eyebrow::before {
    background: var(--color-yellow);
    border-color: var(--color-yellow);
}

.sidebar-cta__title {
    margin: 0;

    color: var(--color-white);
    font-size: 1.375rem;
    font-weight: 800;
    line-height: 1.2;
}

.sidebar-cta p {
    margin: 0;

    color: rgba(255, 255, 255, 0.82);
    font-size: 0.9375rem;
    line-height: 1.55;
}

.sidebar-cta .btn {
    width: fit-content;
}


.tag-cloud {
    display: flex;
    flex-wrap: wrap;

    gap: 0.5rem;
}

.tag-cloud a {
    padding: 0.55rem 0.75rem;

    color: var(--color-blue);
    background: var(--color-white);

    border: 1px solid rgba(17, 50, 104, 0.16);
    border-radius: var(--pill);

    font-size: 0.8125rem;
    font-weight: 600;
}

.tag-cloud a:hover,
.tag-cloud a:focus-visible {
    color: var(--color-white);
    background: var(--color-purple);
}

.pagination {
    margin-top: 2rem;

    display: flex;
    flex-wrap: wrap;

    gap: 0.5rem;
}

.pagination a {
    min-width: 2.75rem;
    min-height: 2.75rem;

    padding: 0.7rem 1rem;

    display: grid;

    place-items: center;

    background: var(--color-surface-soft);
    border-radius: var(--radius-md);

    font-weight: 700;
}

.pagination .is-current {
    color: var(--color-white);
    background: var(--color-blue);
}


/* ==========================================================================
   11. NOTÍCIA INDIVIDUAL, CONTATO E BUSCA
========================================================================== */

.post-meta {
    margin-bottom: 1rem;

    display: flex;
    flex-wrap: wrap;

    align-items: center;

    gap: 1rem;
}

.single-post__lead {
    max-width: 52rem;

    margin: 0.65rem 0 1.75rem;

    color: var(--color-text-muted);

    font-family: inherit;
    font-size: clamp(1.0625rem, 1.35vw, 1.2rem);
    font-style: normal;
    font-weight: 400;
    line-height: 1.55;
    letter-spacing: -0.01em;
}


.single-post__figure {
    width: 100%;

    margin: 2rem 0 2.25rem;
    padding: 0;

    background: transparent;
    border: 0;
}

.single-post__image-trigger img {
    display: block;

    width: 100%;
    height: auto;

    margin: 0;

    object-fit: cover;
    object-position: center;

    border: 0;
}

.single-post__image-caption {
    margin: 0.75rem 0 0;

    color: var(--color-text-muted);

    font-size: 0.875rem;
    font-style: italic;
    font-weight: 400;
    line-height: 1.45;
    text-align: center;
}


/* ==========================================================================
   GALERIA DO ARTIGO — MESMO CARROSSEL DO DIÁRIO DE ESCUTA
========================================================================== */

.single-post__gallery {
    margin: 2rem 0;

    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(7rem, 1fr));

    gap: 0.75rem;
}

.single-post__gallery-item {
    position: relative;

    aspect-ratio: 1;
    overflow: hidden;

    padding: 0;

    border: 0;
    border-radius: var(--radius-md);

    cursor: zoom-in;
}

.single-post__gallery-item img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    transition: transform var(--ease);
}

.single-post__gallery-item:hover img,
.single-post__gallery-item:focus-visible img {
    transform: scale(1.05);
}

.single-post__image-trigger {
    display: block;

    width: 100%;
    height: auto;

    padding: 0;

    overflow: hidden;

    cursor: zoom-in;

    border: 0;
    border-radius: var(--radius-md);
    background: transparent;
}


/* ==========================================================================
   HERO — META-LINE DO ARTIGO (data, tempo de leitura, comentários)
========================================================================== */

.internal-hero__meta {
    margin-top: 1.25rem;

    display: flex;
    flex-wrap: wrap;

    align-items: center;

    gap: 0.5rem 1.5rem;
}

.internal-hero__meta-item {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;

    color: rgba(255, 255, 255, 0.85);

    font-size: 0.9375rem;
}

.internal-hero__meta-item--link {
    color: var(--color-white);
    font-weight: 700;

    transition: color var(--ease-fast);
}

.internal-hero__meta-item--link:hover,
.internal-hero__meta-item--link:focus-visible {
    color: var(--color-yellow);
}

.internal-hero__meta-icon {
    width: 1.125rem;
    height: 1.125rem;

    flex-shrink: 0;
}


/* ==========================================================================
   TAGS DO ARTIGO
========================================================================== */

/* ==========================================================================
   NAVEGAÇÃO ANTERIOR / PRÓXIMO
========================================================================== */

.post-nav__item {
    display: flex;
    align-items: center;
    gap: 0.875rem;

    padding: 0.75rem;

    border-radius: var(--radius-md);

    transition: background var(--ease-fast);
}

.post-nav__item--next {
    justify-content: flex-end;
    text-align: right;
}

.post-nav__item:is(a):hover,
.post-nav__item:is(a):focus-visible {
    background: var(--color-surface-soft);
}

.post-nav__media {
    flex-shrink: 0;
    overflow: hidden;

    width: 3.5rem;
    height: 3.5rem;

    border-radius: var(--radius-md);
}

.post-nav__media img {
    width: 100%;
    height: 100%;

    object-fit: cover;
}

.post-nav__body {
    display: grid;
    gap: 0.25rem;
}

.post-nav__label {
    color: var(--color-purple);

    font-size: var(--font-size-xs);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.04em;
}

.post-nav__title {
    color: var(--color-text);

    font-weight: 700;
    line-height: 1.35;
}


/* ==========================================================================
   PUBLICAÇÕES RELACIONADAS
========================================================================== */

.related-content {
    padding-block: clamp(3rem, 6vw, 5rem);

    background: var(--color-surface-soft);
}

.related-content__title {
    margin-bottom: 2rem;

    color: var(--color-blue);

    font-size: clamp(2rem, 3vw, 2.5rem);
    font-weight: 800;
    letter-spacing: -0.02em;
}

.share-box {
    margin-top: 2.5rem;

    padding-top: 1.5rem;

    display: flex;
    flex-wrap: wrap;

    gap: 1rem;

    border-top: 1px solid rgba(17, 50, 104, 0.15);
}

.contact-layout {
    display: grid;

    grid-template-columns:
        minmax(0, 0.85fr) minmax(0, 1.15fr);

    gap: clamp(3rem, 7vw, 7rem);
}

.contact-form {
    display: grid;

    gap: 1rem;
}

.contact-form label {
    display: grid;

    gap: 0.45rem;

    font-weight: 700;
}

.search-form--large label {
    font-size: 1.5rem;
    font-weight: 700;
}

.search-form--large>div {
    display: grid;

    grid-template-columns: 1fr auto;
}

.error-page {
    text-align: center;
}

.error-code {
    display: block;

    color: var(--color-secondary);

    font-size: clamp(5rem, 15vw, 10rem);
    font-weight: 800;
    line-height: 0.8;
}

.footer-brand {
    display: inline-flex;
}

.sr-only {
    position: absolute;

    width: 1px;
    height: 1px;

    padding: 0;
    margin: -1px;

    overflow: hidden;

    clip: rect(0, 0, 0, 0);

    white-space: nowrap;

    border: 0;
}


/* ==========================================================================
   12. NOSSA CAMPANHA
========================================================================== */

.campaign-followup {
    margin-top: 3rem;
}


/* ==========================================================================
   12. RESPONSIVIDADE INTERNA
========================================================================== */







/* ==========================================================================
   13. SIDEBAR DE NOTÍCIAS — HOVERS

   Ajustes pontuais adicionados sem alterar a estrutura tipográfica aprovada:
   - hover coerente em busca, categorias e tags.
========================================================================== */

/* Botão da busca */
.search-form button {
    transition:
        background-color var(--ease-fast),
        transform var(--ease-fast),
        box-shadow var(--ease-fast);
}

.search-form button:hover,
.search-form button:focus-visible {
    background: var(--color-purple);

    transform: translateY(-0.125rem);

    box-shadow:
        0 0.625rem 1.5rem rgba(132, 26, 203, 0.2);
}

.search-form button:focus-visible {
    outline: 0.1875rem solid rgba(132, 26, 203, 0.24);
    outline-offset: 0.1875rem;
}

.search-form button:active {
    transform: translateY(0);
}


/* Categorias */
.sidebar-widget li>a {
    transition:
        color var(--ease-fast),
        padding-left var(--ease-fast);
}

.sidebar-widget li>a:hover,
.sidebar-widget li>a:focus-visible {
    color: var(--color-purple);
    padding-left: 0.375rem;
}

.sidebar-widget li>a:focus-visible {
    outline: 0.125rem solid rgba(132, 26, 203, 0.22);
    outline-offset: 0.1875rem;
}


/* ==========================================================================
   14. COMENTÁRIOS DA NOTÍCIA INDIVIDUAL

   Estrutura já preparada para futura integração com comments.php no WordPress.
========================================================================== */

.post-comments {
    margin-top: 4rem;
    padding-top: 2.5rem;

    border-top: 1px solid rgba(17, 50, 104, 0.16);
}

.post-comments__title,
.comment-form-wrap__title {
    margin: 0 0 1.75rem;

    color: var(--color-blue);

    font-size: clamp(1.65rem, 3vw, 2.25rem);
    font-weight: 800;
    line-height: 1.1;
    letter-spacing: -0.025em;
}

.comment-list {
    margin: 0;
    padding: 0;

    display: grid;

    gap: 1.25rem;

    list-style: none;
}

.comment-card {
    padding: 1.5rem;

    display: grid;

    grid-template-columns: 3.5rem minmax(0, 1fr);

    gap: 1rem;

    background: var(--color-surface-soft);
}

.comment-card__avatar {
    width: 3.5rem;
    height: 3.5rem;

    display: grid;

    place-items: center;

    color: var(--color-white);
    background: var(--color-blue);

    border-radius: 50%;

    font-size: 1rem;
    font-weight: 800;
}

.comment-card__header {
    margin-bottom: 0.625rem;

    display: flex;
    flex-wrap: wrap;

    align-items: center;
    justify-content: space-between;

    gap: 0.5rem 1rem;
}

.comment-card__author {
    color: var(--color-blue);

    font-weight: 800;
}

.comment-card time {
    color: var(--color-text-muted);

    font-size: 0.8125rem;
    font-weight: 500;
}

.comment-card p {
    margin: 0;

    line-height: 1.65;
}

.comment-form-wrap {
    margin-top: 3rem;
    padding: clamp(1.5rem, 4vw, 2.25rem);

    background: var(--color-surface-soft);
}

.comment-form-wrap__intro {
    margin: -0.875rem 0 1.5rem;

    color: var(--color-text-muted);

    line-height: 1.6;
}

.comment-form {
    display: grid;

    gap: 1rem;
}

.comment-form__row {
    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 1rem;
}

.comment-form label {
    display: grid;

    gap: 0.45rem;

    color: var(--color-blue);

    font-size: 0.9375rem;
    font-weight: 700;
}

.comment-form input,
.comment-form textarea {
    width: 100%;

    padding: 0.95rem 1rem;

    color: var(--color-text);
    background: var(--color-white);

    border: 1px solid #CFD6DF;

    font: inherit;

    transition:
        border-color var(--ease-fast),
        box-shadow var(--ease-fast);
}

.comment-form textarea {
    min-height: 10rem;

    resize: vertical;
}

.comment-form input:hover,
.comment-form textarea:hover {
    border-color: var(--color-purple);
}

.comment-form input:focus,
.comment-form textarea:focus {
    border-color: var(--color-purple);

    outline: none;

    box-shadow: 0 0 0 0.1875rem rgba(132, 26, 203, 0.14);
}

.comment-form__consent {
    display: flex !important;

    grid-template-columns: none;

    align-items: flex-start;

    gap: 0.75rem !important;

    color: var(--color-text) !important;

    font-weight: 500 !important;
    line-height: 1.45;
}

.comment-form__consent input {
    width: 1.25rem;
    height: 1.25rem;

    margin-top: 0.125rem;

    flex: 0 0 1.25rem;

    accent-color: var(--color-purple);
}

.comment-form .btn {
    width: fit-content;

    border: 0;

    cursor: pointer;
}



/* Padrão único de posicionamento da colagem nas páginas internas */
.internal-page .internal-hero::after {
    background-position: left 32%;
}

/* ==========================================================================
   15. AJUSTES FINAIS CONSOLIDADOS
   Este bloco substitui todos os patches duplicados anteriores.
========================================================================== */


/* ==========================================================================
   HERO INTERNO — TÍTULO E BREADCRUMB CENTRALIZADOS
========================================================================== */

.internal-page .internal-hero {
    min-height: 27rem;

    display: grid;
}

.internal-page .internal-hero__content {
    position: relative;
    top: auto;
    z-index: 2;

    min-height: 27rem;

    padding-block: 0;

    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    text-align: center;

    transform: translateY(2.8rem);
}

.internal-page .internal-hero__content h1 {
    margin:
        0
        0
        1.25rem;

    text-align: center;
}

.internal-page .internal-hero .breadcrumb {
    margin: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 0.75rem;

    text-align: center;
}


/* ==========================================================================
   MENU PRINCIPAL — SEM MARCADORES
========================================================================== */

.main-nav,
.main-nav > li {
    margin: 0;
    padding: 0;

    list-style: none;
}

.main-nav > li::marker {
    content: "";
}


/* ==========================================================================
   COMENTÁRIOS — ESTRUTURA FINAL
========================================================================== */

.single-post .post-comments {
    margin-top: 3rem;
    padding-top: 0;

    border-top: 0;
}

.single-post .post-comments::before,
.single-post .post-comments::after {
    content: none;

    display: none;
}

.single-post .comment-list,
.single-post .comment-list .children {
    margin: 0;
    padding: 0;

    list-style: none;
}

.single-post .comment-card {
    margin: 0;
    padding: 1.5rem;

    display: grid;

    grid-template-columns:
        4.5rem
        minmax(0, 1fr);

    align-items: start;

    gap: 1.25rem;

    background: var(--color-surface-soft);

    border: 0;
    box-shadow: none;
}

.single-post .comment-card__avatar {
    width: 4.5rem;
    height: 4.5rem;

    display: block;

    overflow: hidden;

    border-radius: 50%;
}

.single-post .comment-card__avatar img {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;
    object-position: center;

    border-radius: 50%;
}

.single-post .comment-card__content {
    min-width: 0;
}

.single-post .comment-card__header {
    width: 100%;

    margin: 0;

    display: grid;

    grid-template-columns:
        minmax(0, 1fr)
        auto;

    align-items: start;

    gap: 1.5rem;
}

.single-post .comment-card__author,
.single-post .comment-card__author a {
    color: var(--color-blue);

    font-weight: 800;
}

.single-post .comment-card__meta {
    margin: 0;

    display: flex;

    flex-direction: column;

    align-items: flex-end;

    gap: 0.5rem;

    text-align: right;
}

.single-post .comment-card__meta time {
    color: var(--color-text-muted);

    font-size: 0.8125rem;
    font-weight: 500;
    line-height: 1.4;

    white-space: nowrap;
}

.single-post .comment-card__text {
    margin-top: 0.75rem;
}

.single-post .comment-card__text p {
    margin: 0;

    line-height: 1.65;
}

.single-post .comment-card__footer {
    margin-top: 1rem;

    display: flex;

    align-items: center;

    gap: 0.625rem;
}

.single-post .comment-card__footer a {
    min-height: 2.25rem;

    padding:
        0.55rem
        0.9rem;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    border-radius: 999px;

    font-size: 0.8rem;
    font-weight: 800;
    line-height: 1;
}

.single-post .comment-card__footer .comment-reply-link {
    color: var(--color-white);
    background: var(--color-primary);
}

.single-post .comment-card__footer .comment-reply-link:hover,
.single-post .comment-card__footer .comment-reply-link:focus {
    color: var(--color-white);
    background: var(--color-blue);
}

.single-post .comment-card__footer .comment-card__edit {
    color: var(--color-white);
    background: var(--color-purple);
}

.single-post .comment-card__footer .comment-card__edit:hover,
.single-post .comment-card__footer .comment-card__edit:focus {
    color: var(--color-white);
    background: var(--color-primary);
}


/* ==========================================================================
   FORMULÁRIO — USUÁRIO CONECTADO
========================================================================== */

.single-post .logged-in-as {
    margin:
        0
        0
        1.75rem;

    display: grid;

    gap: 0.625rem;
}

.single-post .logged-in-actions {
    display: flex;

    flex-wrap: wrap;

    gap: 0.625rem;
}

.single-post .logged-in-actions a {
    width: fit-content;

    padding:
        0.45rem
        0.8rem;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    color: var(--color-white);

    border-radius: 999px;

    font-size: 0.8rem;
    font-weight: 800;
    line-height: 1;
}

.single-post .logged-in-actions a:first-child {
    background: var(--color-primary);
}

.single-post .logged-in-actions a:last-child {
    background: var(--color-purple);
}

.single-post .logged-in-as .required-field-message {
    color: var(--color-text-muted);

    font-size: 0.9rem;
}


/* ==========================================================================
   SIDEBAR — CATEGORIAS
========================================================================== */

.news-sidebar .sidebar-categories {
    margin: 0;
    padding: 0;

    list-style: none;
}

.news-sidebar .sidebar-categories li {
    margin: 0;
    padding: 0;

    list-style: none;

    border: 0;
}

.news-sidebar .sidebar-categories li + li {
    border-top:
        1px
        solid
        #CDD5E1;
}

.news-sidebar .sidebar-categories a {
    padding:
        0.875rem
        0;

    display: block;

    color: var(--color-blue);

    font-size: 0.95rem;
    font-weight: 700;

    text-transform: uppercase;
}


/* ==========================================================================
   RESPONSIVO
========================================================================== */

@media (max-width: 47.99rem) {

    .single-post .comment-card {
        grid-template-columns:
            3.75rem
            minmax(0, 1fr);

        padding: 1.25rem;
    }

    .single-post .comment-card__avatar {
        width: 3.75rem;
        height: 3.75rem;
    }

    .single-post .comment-card__header {
        grid-template-columns: 1fr;
    }

    .single-post .comment-card__meta {
        align-items: flex-start;

        text-align: left;
    }

    .single-post .comment-card__meta time {
        white-space: normal;
    }

    .internal-page .internal-hero,
    .internal-page .internal-hero__content {
        min-height: 21rem;
    }

}

/* ==========================================================================
   BOTÃO — PUBLICAR COMENTÁRIO
========================================================================== */

.single-post .comment-form .form-submit {
    margin: 0;
}

.single-post .comment-form .form-submit .btn.btn--primary,
.single-post .comment-form .form-submit #submit {
    min-height: 3.75rem;

    padding:
        0
        2rem;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    color: var(--color-white) !important;
    background: var(--color-primary) !important;

    border: 0;
    border-radius: 999px;

    font-family: inherit;
    font-size: 1rem;
    font-weight: 800;
    line-height: 1;

    cursor: pointer;

    transition:
        color var(--ease-fast),
        background-color var(--ease-fast),
        transform var(--ease-fast);
}

.single-post .comment-form .form-submit .btn.btn--primary:hover,
.single-post .comment-form .form-submit .btn.btn--primary:focus-visible,
.single-post .comment-form .form-submit #submit:hover,
.single-post .comment-form .form-submit #submit:focus-visible {
    color: var(--color-white) !important;
    background: var(--color-blue) !important;

    transform: translateY(-0.125rem);
}

.single-post .comment-form .form-submit .btn.btn--primary:active,
.single-post .comment-form .form-submit #submit:active {
    transform: translateY(0);
}

/* ==========================================================================
   BOTÃO EDITAR — COMENTÁRIO
========================================================================== */

.single-post .comment-card__edit {
    width: fit-content;

    min-height: 2.25rem;

    padding:
        0.5rem
        0.9rem;

    display: inline-flex;

    align-items: center;
    justify-content: center;

    color: var(--color-white) !important;
    background: var(--color-purple) !important;

    border: 0;
    border-radius: 999px;

    font-size: 0.8rem;
    font-weight: 800;
    line-height: 1;

    text-decoration: none;

    transition:
        color var(--ease-fast),
        background-color var(--ease-fast),
        transform var(--ease-fast);
}

.single-post .comment-card__edit:hover,
.single-post .comment-card__edit:focus-visible {
    color: var(--color-white) !important;
    background: var(--color-primary) !important;

    transform: translateY(-0.125rem);
}

.single-post .comment-card__edit:active {
    transform: translateY(0);
}

/* ==========================================================================
   LINKS NOS TÍTULOS — ATUAÇÃO E NOTÍCIAS INTERNAS
========================================================================== */

.internal-page .archive-card h2 a,
.internal-page .archive-card h3 a,
.internal-page .news-archive h2 a,
.internal-page .news-archive h3 a {
    color: inherit;

    font: inherit;
    line-height: inherit;
    letter-spacing: inherit;

    text-decoration: none;

    transition:
        color
        var(--ease-fast);
}

.internal-page .archive-card h2 a:hover,
.internal-page .archive-card h2 a:focus-visible,
.internal-page .archive-card h3 a:hover,
.internal-page .archive-card h3 a:focus-visible,
.internal-page .news-archive h2 a:hover,
.internal-page .news-archive h2 a:focus-visible,
.internal-page .news-archive h3 a:hover,
.internal-page .news-archive h3 a:focus-visible {
    color: var(--color-purple);
}


/* ==========================================================================
   PÁGINA CAMPANHA — MATERIAIS
========================================================================== */

.material-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.5rem;
}

.material-card {
    position: relative;
    min-width: 0;

    padding: 1.75rem;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.875rem;

    background: var(--color-surface-soft);

    border-top: 0.25rem solid var(--material-accent, var(--color-blue));
    border-radius: var(--radius-md);

    transition: transform var(--ease), box-shadow var(--ease);
}

.material-card:hover {
    transform: translateY(-0.25rem);
    box-shadow: 0 2rem 5rem rgba(17, 50, 104, 0.2);
}

.material-card__icon {
    width: 3.25rem;
    height: 3.25rem;
    flex-shrink: 0;

    display: grid;
    place-items: center;

    color: var(--color-white);
    background: var(--material-accent, var(--color-blue));

    border-radius: 50%;
}

.material-card__icon svg {
    width: 1.5rem;
    height: 1.5rem;
}

.material-card h3 {
    margin: 0;
    color: var(--color-heading-dark);
    font-size: 1.25rem;
}

.material-card p {
    margin: 0;
    color: var(--color-text);
    line-height: 1.55;
}

.material-card .btn {
    margin-top: auto;
    align-self: stretch;
}

/* Publicações recentes — hover compacto */
.sidebar-widget .sidebar-list li > a:hover,
.sidebar-widget .sidebar-list li > a:focus-visible {
    padding-left: 0;
}



/* AJUSTE FINAL — SIDEBAR + COMPROMISSOS */


/* ============================================================
   SIDEBAR — PUBLICAÇÕES RECENTES
============================================================ */

.sidebar-widget .sidebar-list li > a {
    padding-inline: 0.6rem;
    margin-inline: -0.6rem;

    border-radius: 0.75rem;

    transition:
        background-color var(--ease-fast),
        color var(--ease-fast);
}

.sidebar-widget .sidebar-list li > a:hover,
.sidebar-widget .sidebar-list li > a:focus-visible {
    padding-left: 0.6rem;

    color: var(--color-blue);
    background: var(--color-white);
}

.sidebar-widget .sidebar-list li > a:hover .sidebar-list__copy strong,
.sidebar-widget .sidebar-list li > a:focus-visible .sidebar-list__copy strong {
    color: var(--color-blue);
}


/* ============================================================
   COMPROMISSOS — ACENTO AMARELO
   Escopado: não altera .eyebrow no restante do site.

   O padding-left/border-left que existia aqui foi removido — o
   próprio .eyebrow já tem essa barrinha via ::before (currentColor),
   então as duas juntas duplicavam a borda amarela lado a lado.
============================================================ */

.internal-flags .section-heading .eyebrow,
.internal-flags .section-heading .eyebrow--yellow {
    color: var(--color-yellow);
}

/* SINGLE — TAGS + COMPARTILHAMENTO
========================================================================== */

.post-meta-actions {
    margin-top: 2.5rem;
    padding: 1.5rem 0;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem 2rem;

    border-top: 1px solid rgba(17, 50, 104, 0.15);
    border-bottom: 1px solid rgba(17, 50, 104, 0.15);
}

.post-meta-actions__tags,
.post-meta-actions__share {
    min-width: 0;
}

.tag-badges {
    margin: 0;

    display: flex;
    flex-wrap: wrap;

    gap: 0.625rem;
}


/* Compartilhamento compacto */

.post-share {
    margin: 0;
    padding: 0;

    display: flex;
    align-items: center;

    gap: 0.75rem;

    border: 0;
}

.post-share__title {
    color: var(--color-blue);

    font-size: 0.9375rem;
    font-weight: 700;
    line-height: 1;
}

.post-share__links {
    display: flex;
    align-items: center;

    gap: 0.5rem;
}

.post-share__button {
    padding: 0.75rem 1.25rem;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    gap: 0.625rem;

    color: var(--color-white);

    border: 0;
    border-radius: 0.375rem;

    font: inherit;
    font-weight: 800;
    line-height: 1;

    cursor: pointer;

    transition:
        transform var(--ease-fast),
        filter var(--ease-fast);
}

.post-share__button svg {
    display: block;

    width: 1rem;
    height: 1rem;

    flex: 0 0 1rem;

    fill: currentColor;
}

.post-share__button--facebook {
    background: #1877F2;
}

.post-share__button--whatsapp {
    background: #25D366;
}

.post-share__button--copy {
    background: var(--color-blue);
}

.post-share__button:hover,
.post-share__button:focus-visible {
    transform: translateY(-0.125rem);
    opacity: 0.88;
}

.post-share__button:focus-visible {
    outline: 0.125rem solid rgba(17, 50, 104, 0.22);
    outline-offset: 0.1875rem;
}


/* NAVEGAÇÃO ANTERIOR / PRÓXIMO
========================================================================== */

.post-nav {
    padding: 1.5rem 0;

    display: grid;
    grid-template-columns: 1fr 1fr;

    gap: 1.25rem;

    border-bottom: 1px solid rgba(17, 50, 104, 0.15);
}


/* Mobile */

@media (max-width: 47.5rem) {

    .post-meta-actions {
        align-items: flex-start;
        flex-direction: column;

        gap: 1rem;
    }

    .post-share {
        width: 100%;
    }

}




/* TAGS — RESPIRO NA FAIXA DO SINGLE */
.post-meta-actions .tag {
    padding: 0.4rem 0.8rem;

    display: inline-flex;
    align-items: center;

    line-height: 1;
}


/* Compartilhamento — correção pontual */
.post-share__button {
    padding: 0.75rem 1.25rem;
    border-radius: 0.375rem;
}

.post-share__button svg {
    width: 1.35rem;
    height: 1.35rem;
    flex: 0 0 1.35rem;
}

/* Tags — somente respiro e peso */
.post-meta-actions .tag {
    padding: 0.5rem 1rem;
    font-weight: 400;
}



/* FINAL — TAGS E SHARE DO SINGLE */


/* ==========================================================
   TAGS
========================================================== */

.post-meta-actions .tag-badges {
    gap: 0.75rem;
}

.post-meta-actions .tag {
    min-height: 2.25rem;

    padding: 0.55rem 1rem;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1;

    border-radius: 999px;

    transition:
        background-color var(--ease-fast),
        color var(--ease-fast),
        transform var(--ease-fast);
}

.post-meta-actions .tag:hover,
.post-meta-actions .tag:focus-visible {
    color: var(--color-white);
    background: var(--color-blue);

    transform: translateY(-0.0625rem);
}


/* ==========================================================
   COMPARTILHAMENTO
========================================================== */

.post-meta-actions .post-share__links {
    gap: 0.625rem;
}

.post-meta-actions .post-share__button {
    width: 3rem;
    height: 3rem;
    min-width: 3rem;
    min-height: 3rem;

    padding: 0;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 3rem;

    border: 0;
    border-radius: 0.625rem;

    line-height: 1;

    box-sizing: border-box;
}

.post-meta-actions .post-share__button svg {
    width: 1.4rem;
    height: 1.4rem;

    display: block;

    flex: 0 0 1.4rem;

    fill: currentColor;
    stroke: none;
}

.post-meta-actions .post-share__button:hover,
.post-meta-actions .post-share__button:focus-visible {
    transform: translateY(-0.125rem);
    filter: brightness(0.92);
}



/* FLOATING ACTIONS — ICONES FINAIS */

.floating-action--whatsapp svg {
    width: 1.45rem;
    height: 1.45rem;
}

.floating-action--top svg {
    width: 1.125rem;
    height: 1.125rem;
}


/* Correção pontual — somente desenho dos ícones flutuantes */

.floating-action--whatsapp svg {
    width: 1.25rem;
    height: 1.25rem;

    transform: scale(1.18);
    transform-origin: center;
}

.floating-action--top svg {
    width: 1.05rem;
    height: 1.05rem;

    transform: none;
}


/* ==========================================================
   COMPROMISSOS — PÁGINA INTERNA
   Mesmo código visual das frentes aprovadas na Home
========================================================== */

.internal-flags {
    background: var(--color-surface-soft);
    color: var(--color-text);
}


/* borda superior real — mesma espessura para todas */
.internal-flags .flag-item {
    border-top-width: 0.25rem;
    border-top-style: solid;
}


/* variantes exatamente pelos tokens da Home */
.internal-flags .flag-item.hero-pillar--commitment {
    border-top-color: var(--color-flag-1);
}

.internal-flags .flag-item.hero-pillar--representation {
    border-top-color: var(--color-flag-2);
}

.internal-flags .flag-item.hero-pillar--respect {
    border-top-color: var(--color-flag-3);
}

.internal-flags .flag-item.hero-pillar--sensitivity {
    border-top-color: var(--color-flag-4);
}

.internal-flags .flag-item.hero-pillar--women {
    border-top-color: var(--color-flag-5);
}


/* quando abre, não some a identificação da frente */
.internal-flags .flag-item.is-open {
    border-top-width: 0.25rem;
}

