/*
Theme Name: Cassia Souza (Blocksy)
Theme URI: https://cassiasouzaadvocacia.com.br
Description: Tema filho do Blocksy com a identidade do site Cassia Souza Advocacia Tributária: cabeçalho e rodapé do site, tipografia Newsreader + Public Sans, chamada para contato e quadro da autora no fim dos posts.
Author: Cassia Souza Advocacia Tributária
Template: blocksy
Version: 1.0.0
Requires PHP: 7.4
Text Domain: cassia-souza
*/

/* ===================== Tokens (iguais ao tema novo do site) ===================== */

:root:root {
    --cs-plum: #590854;
    --cs-plum-bright: #6E1468;
    --cs-plum-deep: #3A0637;
    --cs-plum-night: #24041F;
    --cs-champagne: #EFCF9F;
    --cs-champagne-light: #F5DDB8;
    --cs-gold-ink: #8A5C17;
    --cs-mist: #F5F1F4;
    --cs-ink: #3B2F3A;
    --cs-ink-soft: #6A5D68;
    --cs-line: #E6DDE4;
    --cs-on-plum: #F3E6F1;
    --cs-display: "Newsreader", Georgia, serif;
    --cs-sans: "Public Sans", system-ui, -apple-system, sans-serif;
    --cs-ease: cubic-bezier(0.22, 0.8, 0.2, 1);

    /* Paleta e fontes do Blocksy apontando para a identidade do site */
    --theme-palette-color-1: var(--cs-plum);
    --theme-palette-color-2: var(--cs-plum-deep);
    --theme-palette-color-3: var(--cs-ink);
    --theme-palette-color-4: var(--cs-plum-night);
    --theme-palette-color-5: var(--cs-line);
    --theme-palette-color-6: var(--cs-mist);
    --theme-palette-color-7: var(--cs-mist);
    --theme-palette-color-8: #fff;
    --theme-text-color: var(--cs-ink);
    --theme-link-initial-color: var(--cs-plum);
    --theme-link-hover-color: var(--cs-plum-deep);
    --theme-headings-color: var(--cs-plum-night);
    --theme-heading-color: var(--cs-plum-night);
    --theme-border-color: var(--cs-line);
    --theme-button-background-initial-color: var(--cs-plum);
    --theme-button-background-hover-color: var(--cs-plum-deep);
    --theme-font-family: var(--cs-sans);
    --theme-narrow-container-max-width: 720px;

    /* Campos de formulário (comentários, busca): claros, como no site */
    --theme-form-field-background-initial-color: #fff;
    --theme-form-field-background-focus-color: #fff;
    --theme-form-field-border-initial-color: var(--cs-line);
    --theme-form-field-border-focus-color: var(--cs-plum);
    --theme-form-text-initial-color: var(--cs-plum-night);
    --theme-form-text-focus-color: var(--cs-plum-night);
    --theme-form-field-border-radius: 10px;
}

/* Comentários: texto legível (o Blocksy usava a paleta antiga em dourado) */
.comment-respond,
.comment-respond :is(label, .comment-notes, .logged-in-as, .comment-form-cookies-consent) {
    color: var(--cs-ink-soft);
}

html body .comment-respond .comment-reply-title {
    color: var(--cs-plum-night);
    font-size: 26px;
}

.comment-respond :is(input[type="text"], input[type="email"], input[type="url"], textarea) {
    border: 1px solid var(--cs-line);
    background: #fff;
    color: var(--cs-plum-night);
}

.comment-respond :is(input, textarea)::placeholder {
    color: var(--cs-ink-soft);
}

.comment-respond .form-submit .submit {
    border-radius: 999px;
    background: var(--cs-plum);
    color: #fff;
    font-weight: 600;
}

.comment-respond .form-submit .submit:hover {
    background: var(--cs-plum-deep);
}

/* Formulário em cartão, na largura de leitura do post */
.single-post .comment-respond {
    max-width: 720px;
    margin-inline: auto;
    padding: clamp(24px, 4vw, 40px);
    border: 1px solid var(--cs-line);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 24px 48px -36px rgba(58, 6, 55, 0.35);
}

html body.single-post .comment-respond .comment-reply-title {
    --theme-font-size: clamp(24px, 2.6vw, 30px);
    margin: 0 0 6px;
    padding-top: 0;
    border-top: 0;
    /* !important: uma regra do Blocksy sobrescreve o tamanho deste título */
    font-size: clamp(24px, 2.6vw, 30px) !important;
    line-height: 1.15;
}

.single-post .comment-respond .comment-notes {
    margin: 0 0 22px;
    font-size: 15px;
}

.single-post .comment-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.single-post .comment-form > :is(.comment-notes, .comment-form-field-textarea, .comment-form-cookies-consent, .cs-recaptcha, .form-submit, .logged-in-as) {
    grid-column: 1 / -1;
}

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

.single-post .comment-form :is(input[type="text"], input[type="email"], textarea) {
    width: 100%;
    font-size: 16px;
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

.single-post .comment-form :is(input[type="text"], input[type="email"], textarea):focus {
    border-color: var(--cs-plum);
    box-shadow: 0 0 0 3px rgba(89, 8, 84, 0.12);
}

.single-post .comment-form .comment-form-cookies-consent {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
}

.single-post .comment-form .comment-form-cookies-consent input {
    accent-color: var(--cs-plum);
}

.single-post .comment-form .form-submit .submit {
    padding: 15px 28px;
    font-size: 16px;
}

@media (max-width: 600px) {
    .single-post .comment-form {
        grid-template-columns: 1fr;
    }

    /* O widget do reCAPTCHA tem 304px fixos */
    .single-post .cs-recaptcha {
        overflow: hidden;
    }
}

/* Lista de comentários na mesma largura do formulário */
.single-post .ct-comments {
    max-width: 720px;
    margin-inline: auto;
}

/* Posts relacionados */
html body .ct-related-posts :is(.ct-module-title, .ct-block-title) {
    color: var(--cs-plum-night);
}

.ct-related-posts .related-entry-title a {
    color: var(--cs-plum-night);
    text-decoration: none;
}

.ct-related-posts .related-entry-title a:hover {
    color: var(--cs-plum);
}

html body {
    font-family: var(--cs-sans);
    color: var(--cs-ink);
    background: var(--cs-mist);
    -webkit-font-smoothing: antialiased;
}

html body.single-post {
    background: #fff;
}

html body :is(h1, h2, h3, h4, .entry-title, .page-title) {
    --theme-font-family: var(--cs-display);
    font-family: var(--cs-display);
    font-weight: 600;
    color: var(--cs-plum-night);
    letter-spacing: -0.01em;
    text-wrap: balance;
}

html body :is(p, li) {
    text-wrap: pretty;
}

::selection {
    background: var(--cs-champagne);
    color: var(--cs-plum-night);
}

:focus-visible {
    outline: 2px solid var(--cs-gold-ink);
    outline-offset: 3px;
}

.cs-wrap {
    width: 100%;
    max-width: 1240px;
    margin-inline: auto;
    padding-inline: clamp(16px, 4vw, 48px);
}

.cs-icone {
    display: inline-flex;
    width: 1.15em;
    height: 1.15em;
    flex-shrink: 0;
}

.cs-icone svg {
    width: 100%;
    height: 100%;
}

.cs-botao {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 26px;
    border-radius: 999px;
    font-family: var(--cs-sans);
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: background-color 160ms ease, transform 160ms var(--cs-ease);
}

.cs-botao:active {
    transform: scale(0.98);
}

.cs-botao--champagne {
    background: var(--cs-champagne);
    color: var(--cs-plum-night);
}

.cs-botao--champagne:hover {
    background: var(--cs-champagne-light);
    color: var(--cs-plum-night);
}

/* ===================== Cabeçalho ===================== */

.cs-cabecalho {
    position: relative;
    z-index: 50;
    background: radial-gradient(120% 140% at 10% 0%, var(--cs-plum-bright) 0%, transparent 60%), var(--cs-plum);
    color: #fff;
}

/*
 * Como no site: o cabeçalho é transparente e fica por cima da faixa do topo
 * (foto do post ou faixa da listagem), formando um bloco só.
 */
#main-container {
    position: relative;
}

body:is(.single-post, .blog, .archive, .search) .cs-cabecalho {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    background: transparent;
}

/* A faixa começa no topo da página e reserva o espaço do cabeçalho */
html body.single-post .hero-section[data-type="type-2"] {
    padding-top: 104px;
}

body:is(.blog, .archive, .search) .cs-faixa {
    padding-top: calc(104px + clamp(16px, 3vw, 40px));
}

.cs-cabecalho__barra {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-block: 18px;
}

.cs-cabecalho__marca img {
    display: block;
    width: 128px;
    height: auto;
}

.cs-nav {
    display: flex;
    align-items: center;
    gap: 40px;
}

.cs-nav ul {
    display: flex;
    align-items: center;
    gap: 32px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cs-nav ul a,
.cs-nav summary {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding-block: 8px;
    color: var(--cs-on-plum);
    font-size: 15px;
    font-weight: 500;
    text-decoration: none;
    cursor: pointer;
    transition: color 160ms ease;
}

.cs-nav ul a:hover,
.cs-nav summary:hover {
    color: var(--cs-champagne);
}

.cs-nav ul a[aria-current="page"] {
    color: #fff;
    text-decoration: underline;
    text-decoration-color: var(--cs-champagne);
    text-decoration-thickness: 2px;
    text-underline-offset: 8px;
}

.cs-nav summary {
    list-style: none;
}

.cs-nav summary::-webkit-details-marker {
    display: none;
}

.cs-nav summary .cs-icone {
    width: 12px;
    height: 12px;
    transition: transform 200ms var(--cs-ease);
}

.cs-nav details[open] summary .cs-icone {
    transform: rotate(180deg);
}

.cs-nav__servicos {
    position: relative;
}

.cs-nav__submenu {
    position: absolute;
    left: 50%;
    top: calc(100% + 8px);
    /* Na largura do maior item, sem quebrar linha (igual ao site) */
    width: max-content;
    padding: 8px;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 24px 48px -12px rgba(36, 4, 31, 0.45);
    transform: translateX(-50%);
}

.cs-nav .cs-nav__submenu a {
    white-space: nowrap;
    display: block;
    padding: 10px 16px;
    border-radius: 8px;
    color: var(--cs-plum-night);
    font-weight: 500;
}

.cs-nav .cs-nav__submenu a:hover {
    background: var(--cs-mist);
    color: var(--cs-plum);
}

.cs-nav__whatsapp {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 999px;
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
    text-decoration: none;
    transition: border-color 160ms ease;
}

.cs-nav__whatsapp:hover {
    border-color: var(--cs-champagne);
    color: #fff;
}

.cs-nav__whatsapp .cs-icone {
    color: var(--cs-champagne);
}


/* Menu do celular: botão no cabeçalho e painel de tela cheia (parts/menu-celular.php) */
.cs-cabecalho__abrir {
    display: none;
}

.cs-menu-celular[hidden] {
    display: none;
}

@media (max-width: 1023px) {
    .cs-cabecalho__menu-desktop {
        display: none;
    }

    .cs-cabecalho__abrir {
        position: relative;
        display: block;
        width: 44px;
        height: 44px;
        padding: 0;
        border: 1px solid rgba(255, 255, 255, 0.2);
        border-radius: 50%;
        background: rgba(255, 255, 255, 0.05);
        cursor: pointer;
    }

    .cs-cabecalho__abrir span {
        position: absolute;
        left: 12px;
        right: 12px;
        height: 2px;
        background: #fff;
    }

    .cs-cabecalho__abrir span:first-child { top: 17px; }
    .cs-cabecalho__abrir span:last-child { top: 25px; }
}

.cs-menu-celular {
    position: fixed;
    inset: 0;
    z-index: 2147483000; /* acima do aviso de cookies do Blocksy */
    display: flex;
    flex-direction: column;
    overflow-y: auto;
    background:
        radial-gradient(900px 500px at 90% -10%, rgba(239, 207, 159, 0.14), transparent 60%),
        linear-gradient(160deg, var(--cs-plum) 0%, var(--cs-plum-deep) 55%, var(--cs-plum-night) 100%);
    color: #fff;
    opacity: 0;
    transform: translateY(8px);
    transition: opacity 300ms var(--cs-ease), transform 300ms var(--cs-ease);
}

.cs-menu-celular.cs-menu-celular--aberto {
    opacity: 1;
    transform: none;
}

.cs-menu-celular__topo {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-block: 20px;
}

.cs-menu-celular__topo img {
    display: block;
    width: 128px;
    height: auto;
}

.cs-menu-celular__fechar {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    padding: 0;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.05);
    color: #fff;
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

.cs-menu-celular__nav {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding-block: 16px 40px;
}

.cs-menu-celular__lista {
    margin: 0;
    padding: 0;
    border-block: 1px solid rgba(255, 255, 255, 0.1);
    list-style: none;
}

.cs-menu-celular__lista > li + li {
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}

.cs-menu-celular__lista > li > a,
.cs-menu-celular__lista summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-block: 16px;
    color: #fff;
    font-family: var(--cs-display);
    font-size: 28px;
    font-weight: 600;
    line-height: 1.2;
    text-decoration: none;
    list-style: none;
    cursor: pointer;
}

.cs-menu-celular__lista summary::-webkit-details-marker {
    display: none;
}

.cs-menu-celular__lista a[aria-current="page"] {
    color: var(--cs-champagne);
}

.cs-menu-celular__lista summary .cs-icone {
    width: 18px;
    height: 18px;
    transition: transform 200ms var(--cs-ease);
}

.cs-menu-celular__lista details[open] summary {
    color: var(--cs-champagne);
}

.cs-menu-celular__lista details[open] summary .cs-icone {
    transform: rotate(180deg);
}

.cs-menu-celular__servicos {
    margin: 0;
    padding: 0 0 16px;
    list-style: none;
}

.cs-menu-celular__servicos a {
    display: block;
    padding-block: 8px;
    color: var(--cs-on-plum);
    font-size: 16px;
    text-decoration: none;
}

.cs-menu-celular__servicos a:hover {
    color: #fff;
}

.cs-menu-celular__servicos .cs-menu-celular__todos {
    color: var(--cs-champagne);
    font-weight: 600;
}

.cs-menu-celular__rodape {
    margin-top: auto;
    padding-top: 40px;
    text-align: center;
}

.cs-menu-celular__whatsapp {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 16px 24px;
    border-radius: 999px;
    background: var(--cs-champagne);
    color: var(--cs-plum-night);
    font-weight: 600;
    text-decoration: none;
}

.cs-menu-celular__whatsapp:hover {
    background: var(--cs-champagne-light);
    color: var(--cs-plum-night);
}

.cs-menu-celular__whatsapp .cs-icone {
    width: 20px;
    height: 20px;
}

.cs-menu-celular__email {
    display: block;
    margin-top: 16px;
    color: var(--cs-on-plum);
    font-size: 15px;
    overflow-wrap: anywhere;
    text-decoration: none;
}

.cs-menu-celular__redes {
    display: flex;
    justify-content: center;
    gap: 12px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.cs-menu-celular__redes a {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.2);
    border-radius: 50%;
    color: #fff;
}

.cs-menu-celular__redes .cs-icone {
    width: 18px;
    height: 18px;
}

@media (prefers-reduced-motion: reduce) {
    .cs-menu-celular {
        transform: none;
        transition: opacity 150ms linear;
    }
}

/* ===================== Faixa das listagens (home do blog, categorias, busca) ===================== */

.cs-faixa {
    /* Mesmo tratamento dos banners do site: roxo denso à esquerda (texto), foto à direita */
    background: linear-gradient(100deg, rgba(36, 4, 31, 0.94) 0%, rgba(89, 8, 84, 0.86) 45%, rgba(89, 8, 84, 0.55) 100%), var(--cs-faixa-foto, none) center / cover no-repeat, var(--cs-plum);
    color: #fff;
    padding-block: clamp(32px, 5vw, 64px) clamp(40px, 6vw, 72px);
}

html body .cs-faixa__titulo {
    margin: 0;
    color: #fff;
    font-size: clamp(40px, 5.4vw, 68px);
    line-height: 1.04;
    letter-spacing: -0.02em;
}

.cs-faixa__descricao {
    max-width: 40em;
    margin: 16px 0 0;
    color: var(--cs-on-plum);
    font-size: 18px;
    line-height: 1.6;
}

.cs-faixa__categorias {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 28px;
}

.cs-faixa__categorias a {
    padding: 8px 16px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 999px;
    color: var(--cs-on-plum);
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 160ms ease, border-color 160ms ease, color 160ms ease;
}

.cs-faixa__categorias a:hover {
    border-color: var(--cs-champagne);
    color: #fff;
}

.cs-faixa__categorias a[aria-current="page"] {
    border-color: var(--cs-champagne);
    background: var(--cs-champagne);
    color: var(--cs-plum-night);
}

/* No celular as categorias viram uma faixa que rola para o lado */
@media (max-width: 700px) {
    .cs-faixa__categorias {
        flex-wrap: nowrap;
        margin-inline: calc(clamp(16px, 4vw, 48px) * -1);
        padding-inline: clamp(16px, 4vw, 48px);
        overflow-x: auto;
        scrollbar-width: none;
        -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent);
        mask-image: linear-gradient(90deg, #000 85%, transparent);
    }

    .cs-faixa__categorias::-webkit-scrollbar {
        display: none;
    }

    .cs-faixa__categorias a {
        flex-shrink: 0;
        white-space: nowrap;
    }
}

/* O título do Blocksy nas listagens dá lugar à faixa */
body:is(.blog, .archive, .search) .hero-section {
    display: none;
}

/* ===================== Cards da listagem ===================== */

body:is(.blog, .archive, .search) .ct-container {
    padding-top: clamp(40px, 5vw, 64px);
}

/* Imagem no topo, depois categoria, título, resumo e "Ler artigo"; card todo clicável */
.entries .entry-card {
    --card-inner-spacing: 0px;
    /* Referência do link que cobre o card inteiro (sem isto ele cobre a grade toda) */
    position: relative;
    display: flex;
    flex-direction: column;
    min-height: 0;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--cs-line);
    border-radius: 16px;
    background: #fff;
    box-shadow: 0 24px 48px -36px rgba(58, 6, 55, 0.45);
    transition: box-shadow 300ms var(--cs-ease), border-color 300ms var(--cs-ease);
}

/* Sem deslocar o card no hover: ele sairia de baixo do mouse e ficaria tremendo */
.entries .entry-card:hover {
    border-color: rgba(89, 8, 84, 0.25);
    box-shadow: 0 32px 64px -36px rgba(58, 6, 55, 0.6);
}

.entries .entry-card > .ct-media-container {
    order: -1;
    width: 100%;
    margin: 0 !important;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}

.entries .entry-card > .ct-media-container img {
    width: 100%;
    height: 100%;
    aspect-ratio: auto !important;
    object-fit: cover;
    transition: transform 500ms var(--cs-ease);
}

.entries .entry-card:hover > .ct-media-container img {
    transform: scale(1.04);
}

.entries .entry-card > :not(.ct-media-container) {
    margin-inline: 26px;
}

.entries .entry-card > [data-id="meta_1"] {
    position: relative;
    z-index: 1;
    /* Só o link da categoria fica por cima; o resto da linha abre o post */
    pointer-events: none;
    margin-top: 24px;
    margin-bottom: 10px;
}

.entries .entry-card .meta-categories a {
    pointer-events: auto;
    color: var(--cs-gold-ink);
    font-size: 13px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

html body .entries .entry-card .entry-title {
    margin-bottom: 12px;
    font-size: 22px;
    line-height: 1.22;
}

.entries .entry-card .entry-title a {
    color: var(--cs-plum-night);
    text-decoration: none;
    transition: color 160ms ease;
}

.entries .entry-card .entry-title a::after {
    content: "";
    position: absolute;
    inset: 0;
}

.entries .entry-card:hover .entry-title a {
    color: var(--cs-plum);
}

.entries .entry-card .entry-excerpt {
    margin-bottom: 20px;
    color: var(--cs-ink-soft);
    font-size: 15px;
    line-height: 1.65;
}

.entries .entry-card .entry-excerpt p {
    display: -webkit-box;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.entries .entry-card > [data-id="meta_2"] {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-top: auto;
    padding-block: 18px 22px;
    border-top: 1px solid var(--cs-line);
    color: var(--cs-ink-soft);
    font-size: 13px;
    text-transform: none;
}

.entries .entry-card > [data-id="meta_2"]::after {
    content: "Ler artigo →";
    color: var(--cs-plum);
    font-size: 14px;
    font-weight: 600;
}

.entries .entry-card [data-id="meta_2"] .meta-author {
    display: none;
}

/* Post mais recente em destaque, em largura total (primeira página do blog e das categorias) */
@media (min-width: 1000px) {
    body:is(.blog, .category):not(.paged) .entries > .entry-card:first-child {
        display: grid;
        grid-column: 1 / -1;
        grid-template-columns: 1.2fr 1fr;
        grid-template-rows: 1fr auto auto auto 1fr auto;
        column-gap: 0;
    }

    body:is(.blog, .category):not(.paged) .entries > .entry-card:first-child {
        min-height: 440px;
    }

    /* A imagem preenche a coluna sem impor a altura dela ao card */
    body:is(.blog, .category):not(.paged) .entries > .entry-card:first-child > .ct-media-container {
        position: relative;
        grid-column: 1;
        grid-row: 1 / -1;
        aspect-ratio: auto;
    }

    body:is(.blog, .category):not(.paged) .entries > .entry-card:first-child > .ct-media-container img {
        position: absolute;
        inset: 0;
    }

    body:is(.blog, .category):not(.paged) .entries > .entry-card:first-child > :not(.ct-media-container) {
        grid-column: 2;
        margin-inline: 48px;
    }

    body:is(.blog, .category):not(.paged) .entries > .entry-card:first-child > [data-id="meta_1"] { grid-row: 2; }
    body:is(.blog, .category):not(.paged) .entries > .entry-card:first-child > .entry-title { grid-row: 3; }
    body:is(.blog, .category):not(.paged) .entries > .entry-card:first-child > .entry-excerpt { grid-row: 4; }
    body:is(.blog, .category):not(.paged) .entries > .entry-card:first-child > [data-id="meta_2"] { grid-row: 6; }

    html body:is(.blog, .category):not(.paged) .entries > .entry-card:first-child .entry-title {
        font-size: clamp(30px, 2.8vw, 38px);
        line-height: 1.12;
    }

    body:is(.blog, .category):not(.paged) .entries > .entry-card:first-child .entry-excerpt {
        font-size: 17px;
    }
}

.ct-pagination {
    margin-top: 48px;
}

.ct-pagination .page-numbers {
    border-radius: 999px;
}

.ct-pagination .page-numbers.current {
    background: var(--cs-plum);
    color: #fff;
}

/* ===================== Post ===================== */

.single-post .hero-section[data-type="type-2"] figure .ct-media-container {
    max-height: 520px;
}

/* Topo do post na mesma faixa roxa da listagem e das páginas do site */
html body.single-post [data-prefix] .hero-section[data-type="type-2"],
html body.single-post .hero-section[data-type="type-2"] {
    background: radial-gradient(80% 120% at 100% 100%, rgba(239, 207, 159, 0.08) 0%, transparent 60%), linear-gradient(180deg, var(--cs-plum) 0%, var(--cs-plum-deep) 100%);
}

/* A foto de capa vira o fundo da faixa (functions.php); a <figure> do Blocksy não é usada */
.single-post .hero-section[data-type="type-2"] > figure {
    display: none;
}

.single-post .hero-section .entry-header {
    padding-block: clamp(32px, 5vw, 64px) clamp(40px, 6vw, 72px);
}

html body.single-post .hero-section .page-title {
    color: #fff;
    font-size: clamp(34px, 4.6vw, 54px);
    line-height: 1.08;
    letter-spacing: -0.02em;
}

.single-post .hero-section .entry-meta {
    color: var(--cs-on-plum);
    font-size: 14px;
    text-transform: none;
}

.single-post .hero-section .entry-meta .meta-categories a {
    color: var(--cs-champagne);
    font-weight: 600;
}

/* Todos os itens da linha de dados (data, comentários) legíveis sobre o roxo */
html body.single-post .hero-section .entry-meta :is(li, a, span, time) {
    color: var(--cs-on-plum);
}

html body.single-post .hero-section .entry-meta .meta-categories a {
    color: var(--cs-champagne);
}

html body.single-post .hero-section .entry-meta li::after {
    color: rgba(243, 230, 241, 0.5);
}

/* Lista de comentários: data e "Responder" com contraste */
.ct-comments .ct-comment-meta-data,
.ct-comments .ct-comment-meta-data a,
.ct-comments .comment-reply-link {
    color: var(--cs-ink-soft);
    font-size: 13px;
    text-transform: none;
    letter-spacing: 0;
}

.ct-comments .comment-reply-link:hover {
    color: var(--cs-plum);
}

html body .ct-comments .ct-comment-author,
html body .ct-comments .ct-comment-author a {
    color: var(--cs-plum-night);
}

/* A autora já aparece no quadro do fim do post */
.single-post .hero-section .entry-meta .meta-author {
    display: none;
}

.single-post .entry-content > :first-child {
    margin-top: 0;
}

.single-post .entry-content {
    color: var(--cs-ink);
    font-size: 18px;
    line-height: 1.75;
}

.single-post .entry-content > p,
.single-post .entry-content > ul,
.single-post .entry-content > ol {
    margin-block: 0 1.25em;
}

html body.single-post .entry-content h2 {
    margin-top: 2em;
    margin-bottom: 0.6em;
    font-size: clamp(28px, 3vw, 34px);
    line-height: 1.15;
}

html body.single-post .entry-content h3 {
    margin-top: 1.7em;
    margin-bottom: 0.5em;
    font-size: 24px;
    line-height: 1.2;
}

html body.single-post .entry-content h4 {
    font-size: 20px;
}

.single-post .entry-content a {
    color: var(--cs-plum);
    text-decoration: underline;
    text-decoration-color: rgba(89, 8, 84, 0.35);
    text-underline-offset: 4px;
    transition: text-decoration-color 160ms ease;
}

.single-post .entry-content a:hover {
    text-decoration-color: var(--cs-plum);
}

.single-post .entry-content strong {
    color: var(--cs-plum-night);
    font-weight: 600;
}

.single-post .entry-content li::marker {
    color: var(--cs-plum);
}

.single-post .entry-content .wp-block-image img {
    border-radius: 12px;
}

.single-post .entry-content :is(blockquote, .wp-block-pullquote) {
    margin-block: 2em;
    padding: 28px 32px;
    border: 0;
    border-radius: 16px;
    background: var(--cs-mist);
    color: var(--cs-plum-night);
    font-family: var(--cs-display);
    font-size: 24px;
    font-weight: 600;
    line-height: 1.35;
    text-align: left;
}

.single-post .entry-content :is(blockquote, .wp-block-pullquote) p {
    margin: 0;
}

/* Sumário do Rank Math */
.single-post .entry-content .wp-block-rank-math-toc-block {
    margin-block: 2em;
    padding: 24px 28px;
    border: 1px solid var(--cs-line);
    border-radius: 16px;
    background: var(--cs-mist);
    font-size: 16px;
    line-height: 1.6;
}

html body.single-post .entry-content .wp-block-rank-math-toc-block h2 {
    margin: 0 0 12px;
    font-size: 22px;
}

.single-post .entry-content .wp-block-rank-math-toc-block :is(ul, ol) {
    margin: 0;
    padding-left: 1.2em;
}

.single-post .entry-content .wp-block-rank-math-toc-block a {
    text-decoration: none;
}

.single-post .entry-content .wp-block-rank-math-toc-block a:hover {
    text-decoration: underline;
}

.single-post .entry-content .wp-block-button__link {
    border-radius: 999px;
    background: var(--cs-plum);
    color: #fff;
    font-weight: 600;
    text-decoration: none;
}

/* ===================== Fim do post: chamada + autora ===================== */

.cs-fim-do-post {
    display: grid;
    gap: 20px;
    margin-top: 3em;
}

.cs-chamada {
    padding: clamp(28px, 4vw, 40px);
    border-radius: 20px;
    background: radial-gradient(120% 90% at 12% 0%, var(--cs-plum-bright) 0%, transparent 60%), linear-gradient(160deg, var(--cs-plum) 0%, var(--cs-plum-deep) 100%);
    color: #fff;
}

.single-post .entry-content .cs-chamada__titulo {
    margin: 0;
    color: #fff;
    font-family: var(--cs-display);
    font-size: clamp(26px, 3vw, 32px);
    font-weight: 600;
    line-height: 1.15;
}

.single-post .entry-content .cs-chamada__texto {
    margin: 12px 0 0;
    color: var(--cs-on-plum);
    font-size: 17px;
    line-height: 1.6;
}

.single-post .entry-content .cs-chamada__texto strong {
    color: #fff;
}

.cs-chamada__acoes {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 16px 28px;
    margin-top: 24px;
}

.single-post .entry-content .cs-chamada .cs-botao {
    color: var(--cs-plum-night);
    text-decoration: none;
}

.single-post .entry-content .cs-chamada__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #fff;
    font-weight: 600;
    text-decoration-color: rgba(239, 207, 159, 0.6);
}

.single-post .entry-content .cs-chamada__link:hover {
    text-decoration-color: var(--cs-champagne);
}

.cs-autora {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 24px;
    border: 1px solid var(--cs-line);
    border-radius: 20px;
    background: var(--cs-mist);
}

.cs-autora img {
    width: 88px;
    height: 88px;
    flex-shrink: 0;
    border-radius: 50%;
    object-fit: cover;
    object-position: 55% 30%;
}

.single-post .entry-content .cs-autora p {
    margin: 0;
    font-size: 16px;
    line-height: 1.5;
}

.single-post .entry-content .cs-autora__nome {
    color: var(--cs-plum-night);
    font-family: var(--cs-display);
    font-size: 22px;
    font-weight: 600;
}

.single-post .entry-content .cs-autora__cargo {
    color: var(--cs-ink-soft);
}

.single-post .entry-content .cs-autora__frase {
    margin-top: 8px;
    color: var(--cs-plum);
    font-family: var(--cs-display);
    font-size: 20px;
    font-weight: 600;
}

.single-post .entry-content .cs-autora__link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 10px;
    font-size: 15px;
    font-weight: 600;
}

@media (max-width: 560px) {
    .cs-autora {
        flex-direction: column;
    }
}

/* ===================== Rodapé ===================== */

.cs-rodape {
    background: var(--cs-plum-night);
    color: var(--cs-on-plum);
    font-size: 15px;
}

.cs-rodape a {
    color: var(--cs-on-plum);
    text-decoration: none;
    transition: color 160ms ease;
}

.cs-rodape a:hover {
    color: var(--cs-champagne);
}

.cs-rodape__chamada {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding-block: 48px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.cs-rodape__frase {
    margin: 0;
    color: #fff;
    font-family: var(--cs-display);
    font-size: clamp(24px, 2.6vw, 30px);
    font-weight: 600;
    line-height: 1.2;
}

.cs-rodape .cs-botao--champagne {
    color: var(--cs-plum-night);
}

.cs-rodape__colunas {
    display: grid;
    gap: 40px;
    padding-block: 56px;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

@media (min-width: 1024px) {
    .cs-rodape__colunas {
        grid-template-columns: 1.25fr 1fr 0.75fr 1.2fr;
    }
}

.cs-rodape__colunas img {
    width: 150px;
    height: auto;
}

.cs-rodape__texto {
    max-width: 22em;
    margin: 20px 0 0;
    color: rgba(243, 230, 241, 0.8);
    line-height: 1.6;
}

.cs-rodape__redes {
    display: flex;
    gap: 12px;
    margin: 24px 0 0;
    padding: 0;
    list-style: none;
}

.cs-rodape__redes a {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    color: #fff;
}

.cs-rodape__redes a:hover {
    border-color: var(--cs-champagne);
}

.cs-rodape__titulo {
    margin: 0;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
}

.cs-rodape__lista {
    display: grid;
    gap: 10px;
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
}

.cs-rodape__lista a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.cs-rodape__lista .cs-icone {
    color: var(--cs-champagne);
}

.cs-rodape__copyright {
    margin: 0;
    padding-block: 24px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    color: rgba(243, 230, 241, 0.6);
    font-size: 14px;
}

/* ===================== WhatsApp flutuante ===================== */

.cs-whatsapp-flutuante {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 60;
    display: grid;
    width: 56px;
    height: 56px;
    place-items: center;
    border-radius: 50%;
    background: #25d366;
    color: #fff;
    box-shadow: 0 12px 28px -8px rgba(0, 0, 0, 0.45);
    transition: transform 200ms var(--cs-ease);
}

.cs-whatsapp-flutuante:hover {
    color: #fff;
    transform: scale(1.06);
}

.cs-whatsapp-flutuante .cs-icone {
    width: 28px;
    height: 28px;
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        transition-duration: 0.01ms !important;
    }
}

/* ===================== Coluna lateral do post ===================== */

.cs-lateral {
    display: none;
}

@media (min-width: 1200px) {
    body.single-post .ct-container-full[data-content="narrow"] {
        display: grid;
        grid-template-columns: minmax(0, 720px) 320px;
        justify-content: center;
        align-items: start;
        column-gap: 64px;
    }

    body.single-post .ct-container-full[data-content="narrow"] > article {
        min-width: 0;
    }

    /* O conteúdo ocupa a coluna inteira em vez de se centralizar na página */
    body.single-post .ct-container-full[data-content="narrow"] > article .entry-content > * {
        margin-inline: 0;
        max-width: 100%;
    }

    .cs-lateral {
        position: sticky;
        top: 24px;
        display: grid;
        gap: 24px;
        margin-top: 0;
    }
}

.cs-lateral__bloco {
    padding: 22px;
    border: 1px solid var(--cs-line);
    border-radius: 18px;
    background: #fff;
}

html body .cs-lateral__titulo {
    margin: 0 0 14px;
    font-size: 20px !important;
    line-height: 1.2;
}

.cs-lateral__posts,
.cs-lateral__categorias {
    margin: 0;
    padding: 0;
    list-style: none;
}

.cs-lateral__posts li + li {
    border-top: 1px solid var(--cs-line);
}

.cs-lateral__post {
    display: grid;
    grid-template-columns: 76px 1fr;
    gap: 14px;
    align-items: start;
    padding-block: 14px;
    color: inherit;
    text-decoration: none;
}

.cs-lateral__posts li:first-child .cs-lateral__post {
    padding-top: 0;
}

.cs-lateral__img {
    width: 76px;
    height: 76px;
    border-radius: 12px;
    object-fit: cover;
    transition: transform 300ms var(--cs-ease);
}

.cs-lateral__post:hover .cs-lateral__img {
    transform: scale(1.04);
}

.cs-lateral__texto {
    display: grid;
    gap: 4px;
}

.cs-lateral__cat {
    color: var(--cs-gold-ink);
    font-size: 12px;
    font-weight: 600;
}

.cs-lateral__nome {
    color: var(--cs-plum-night);
    font-family: var(--cs-display);
    font-size: 16px;
    font-weight: 600;
    line-height: 1.25;
    transition: color 160ms ease;
}

.cs-lateral__post:hover .cs-lateral__nome {
    color: var(--cs-plum);
}

.cs-lateral__data {
    color: var(--cs-ink-soft);
    font-size: 12px;
}

.cs-lateral__categorias {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.cs-lateral__categorias a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 12px;
    border: 1px solid var(--cs-line);
    border-radius: 999px;
    color: var(--cs-plum-night);
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: border-color 160ms ease, background-color 160ms ease;
}

.cs-lateral__categorias a span {
    color: var(--cs-ink-soft);
    font-size: 12px;
}

.cs-lateral__categorias a:hover {
    border-color: var(--cs-plum);
}

.cs-lateral__categorias a[aria-current="true"] {
    border-color: var(--cs-champagne);
    background: var(--cs-champagne);
}

.cs-lateral__contato {
    padding: 24px;
    border-radius: 18px;
    background: radial-gradient(120% 90% at 12% 0%, var(--cs-plum-bright) 0%, transparent 60%), linear-gradient(160deg, var(--cs-plum) 0%, var(--cs-plum-deep) 100%);
    color: #fff;
}

.cs-lateral__contato-titulo {
    margin: 0;
    font-family: var(--cs-display);
    font-size: 22px;
    font-weight: 600;
    line-height: 1.2;
}

.cs-lateral__contato-texto {
    margin: 8px 0 18px;
    color: var(--cs-on-plum);
    font-size: 15px;
    line-height: 1.5;
}

.cs-lateral__contato .cs-botao {
    width: 100%;
    color: var(--cs-plum-night);
}

/* ===================== Modal de saída ===================== */

.cs-saida[hidden] {
    display: none;
}

.cs-saida {
    position: fixed;
    inset: 0;
    z-index: 9998;
    display: grid;
    place-items: center;
    padding: 16px;
}

.cs-saida__fundo {
    position: absolute;
    inset: 0;
    background: rgba(36, 4, 31, 0.6);
    opacity: 0;
    transition: opacity 200ms ease;
}

.cs-saida__caixa {
    position: relative;
    width: 100%;
    max-width: 480px;
    max-height: calc(100vh - 32px);
    overflow: auto;
    border-radius: 24px;
    background: #fff;
    box-shadow: 0 40px 80px -24px rgba(36, 4, 31, 0.6);
    opacity: 0;
    transform: translateY(12px) scale(0.98);
    transition: opacity 250ms var(--cs-ease), transform 300ms var(--cs-ease);
}

.cs-saida--aberto .cs-saida__fundo,
.cs-saida--aberto .cs-saida__caixa {
    opacity: 1;
    transform: none;
}

.cs-saida__topo {
    position: relative;
    padding: 40px 32px 28px;
    background: radial-gradient(120% 90% at 12% 0%, var(--cs-plum-bright) 0%, transparent 60%), linear-gradient(160deg, var(--cs-plum) 0%, var(--cs-plum-deep) 100%);
    color: #fff;
}

.cs-saida__topo img {
    width: 72px;
    height: 72px;
    border: 2px solid rgba(239, 207, 159, 0.6);
    border-radius: 50%;
    object-fit: cover;
    object-position: 55% 30%;
}

html body .cs-saida__titulo {
    margin: 18px 0 0;
    color: #fff;
    font-family: var(--cs-display);
    font-weight: 600;
    letter-spacing: -0.01em;
    font-size: 28px !important;
    line-height: 1.12;
}

.cs-saida__texto {
    margin: 10px 0 0;
    color: var(--cs-on-plum);
    font-size: 16px;
    line-height: 1.55;
}

.cs-saida__fechar {
    position: absolute;
    top: 14px;
    right: 14px;
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--cs-on-plum);
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
}

.cs-saida__fechar:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
}

.cs-saida__corpo {
    display: grid;
    gap: 12px;
    padding: 24px 32px 28px;
}

.cs-saida__form {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
}

.cs-saida__form input {
    height: 52px;
    padding: 0 16px;
    border: 1px solid var(--cs-line);
    border-radius: 999px;
    background: #fff;
    color: var(--cs-plum-night);
    font-size: 16px;
}

.cs-saida__form input:focus {
    border-color: var(--cs-plum);
    outline: none;
    box-shadow: 0 0 0 3px rgba(89, 8, 84, 0.12);
}

.cs-saida__inscrever {
    white-space: nowrap;
    height: 52px;
    padding: 0 22px;
    border: 0;
    border-radius: 999px;
    background: var(--cs-plum);
    color: #fff;
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 160ms ease;
}

.cs-saida__inscrever:hover {
    background: var(--cs-plum-deep);
}

.cs-saida__inscrever:disabled {
    opacity: 0.6;
    cursor: default;
}

.cs-saida__recaptcha p {
    margin: 0 0 8px;
    color: var(--cs-ink-soft);
    font-size: 14px;
}

.cs-saida__mensagem {
    margin: 0;
    font-size: 15px;
    font-weight: 500;
}

.cs-saida__mensagem:empty {
    display: none;
}

.cs-saida__mensagem[data-tipo="ok"] {
    padding: 12px 16px;
    border-radius: 12px;
    background: #e9f7ef;
    color: #14532d;
}

.cs-saida__mensagem[data-tipo="erro"] {
    color: #b42318;
}

.cs-saida__ou {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 4px 0;
    color: var(--cs-ink-soft);
    font-size: 13px;
}

.cs-saida__ou::before,
.cs-saida__ou::after {
    content: "";
    flex: 1;
    height: 1px;
    background: var(--cs-line);
}

.cs-saida__whatsapp {
    display: inline-flex;
    white-space: nowrap;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 15px 22px;
    border-radius: 999px;
    background: #1f9e4f;
    color: #fff;
    font-weight: 600;
    text-decoration: none;
    transition: background-color 160ms ease;
}

.cs-saida__whatsapp:hover {
    background: #188a44;
    color: #fff;
}

.cs-saida__redes {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
    gap: 8px 12px;
    color: var(--cs-ink-soft);
    font-size: 14px;
}

.cs-saida__redes ul {
    display: flex;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cs-saida__redes a {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid var(--cs-line);
    border-radius: 50%;
    color: var(--cs-plum);
    transition: border-color 160ms ease, background-color 160ms ease;
}

.cs-saida__redes a:hover {
    border-color: var(--cs-plum);
    background: var(--cs-mist);
    color: var(--cs-plum);
}

.cs-saida__redes .cs-icone {
    width: 17px;
    height: 17px;
}

.cs-saida__agora-nao {
    justify-self: center;
    border: 0;
    background: none;
    color: var(--cs-ink-soft);
    font-size: 14px;
    text-decoration: underline;
    text-underline-offset: 4px;
    cursor: pointer;
}

@media (max-width: 480px) {
    .cs-saida__form {
        grid-template-columns: 1fr;
    }

    .cs-saida__topo,
    .cs-saida__corpo {
        padding-inline: 22px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .cs-saida__caixa {
        transform: none;
    }
}

/* ===================== Rolagem infinita (rolagem-infinita.js) ===================== */

.cs-mais {
    display: grid;
    justify-items: center;
    gap: 10px;
    margin-top: 48px;
}

.cs-mais__botao {
    padding: 15px 30px;
    border: 1px solid var(--cs-plum);
    border-radius: 999px;
    background: #fff;
    color: var(--cs-plum);
    font-size: 15px;
    font-weight: 600;
    cursor: pointer;
    transition: background-color 160ms ease, color 160ms ease;
}

.cs-mais__botao:hover {
    background: var(--cs-plum);
    color: #fff;
}

.cs-mais__botao:disabled {
    opacity: 0.6;
    cursor: default;
}

.cs-mais__status {
    margin: 0;
    color: var(--cs-ink-soft);
    font-size: 14px;
}

.cs-mais__status:empty {
    display: none;
}

/* ===================== Autora: linha na faixa e bloco no fim da listagem ===================== */

.cs-faixa__autora {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 14px;
    margin-top: 24px;
}

.cs-faixa__autora img {
    width: 44px;
    height: 44px;
    border: 2px solid rgba(239, 207, 159, 0.6);
    border-radius: 50%;
    object-fit: cover;
    object-position: 55% 30%;
}

.cs-faixa__autora p {
    margin: 0;
    color: var(--cs-on-plum);
    font-size: 15px;
}

.cs-faixa__autora strong {
    color: #fff;
}

.cs-faixa__autora ul {
    display: flex;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cs-faixa__autora a {
    display: grid;
    width: 34px;
    height: 34px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, 0.22);
    border-radius: 50%;
    color: #fff;
    transition: border-color 160ms ease, color 160ms ease;
}

.cs-faixa__autora a:hover {
    border-color: var(--cs-champagne);
    color: var(--cs-champagne);
}

.cs-faixa__autora .cs-icone {
    width: 16px;
    height: 16px;
}

.cs-sobre-autora {
    padding-block: clamp(64px, 8vw, 112px);
    background: #fff;
}

.cs-sobre-autora__grade {
    display: grid;
    align-items: center;
    gap: clamp(32px, 5vw, 72px);
}

@media (min-width: 900px) {
    .cs-sobre-autora__grade {
        grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    }
}

.cs-sobre-autora__foto {
    max-width: 420px;
    margin: 0 auto;
}

.cs-sobre-autora__foto img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 860 / 968;
    border-radius: 20px;
    object-fit: cover;
    box-shadow: 0 40px 80px -40px rgba(58, 6, 55, 0.5);
}

html body .cs-sobre-autora__titulo {
    margin: 0;
    font-size: clamp(32px, 3.6vw, 46px) !important;
    line-height: 1.08;
}

.cs-sobre-autora__nome {
    margin: 12px 0 0;
    color: var(--cs-plum-night);
    font-weight: 600;
}

.cs-sobre-autora__nome span {
    color: var(--cs-ink-soft);
    font-weight: 400;
}

.cs-sobre-autora__texto {
    max-width: 36em;
    margin: 16px 0 0;
    color: var(--cs-ink);
    font-size: 17px;
    line-height: 1.7;
}

.cs-sobre-autora__frase {
    margin: 18px 0 0;
    color: var(--cs-plum);
    font-family: var(--cs-display);
    font-size: clamp(24px, 2.4vw, 30px);
    font-weight: 600;
    line-height: 1.2;
}

.cs-sobre-autora__chamada {
    margin: 28px 0 12px;
    color: var(--cs-ink-soft);
    font-size: 14px;
    font-weight: 600;
}

.cs-sobre-autora__redes {
    /* Cards do tamanho do texto: o @ de cada rede nunca quebra no meio */
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cs-sobre-autora__redes li {
    flex: 1 1 auto;
}

.cs-sobre-autora__redes a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--cs-line);
    border-radius: 14px;
    color: var(--cs-plum-night);
    text-decoration: none;
    transition: border-color 160ms ease, background-color 160ms ease;
}

.cs-sobre-autora__redes a:hover {
    border-color: var(--cs-plum);
    background: var(--cs-mist);
}

.cs-sobre-autora__redes .cs-icone {
    width: 22px;
    height: 22px;
    color: var(--cs-plum);
}

.cs-sobre-autora__redes span {
    display: grid;
    min-width: 0;
    font-size: 13px;
    color: var(--cs-ink-soft);
    white-space: nowrap;
}

.cs-sobre-autora__redes strong {
    color: var(--cs-plum-night);
    font-size: 15px;
}

.cs-sobre-autora__acoes {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px 24px;
    margin-top: 28px;
}

.cs-botao--plum {
    background: var(--cs-plum);
    color: #fff;
}

.cs-botao--plum:hover {
    background: var(--cs-plum-deep);
    color: #fff;
}

.cs-sobre-autora__whatsapp {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--cs-plum);
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: rgba(89, 8, 84, 0.35);
    text-underline-offset: 5px;
}

/* Celular: foto à esquerda, texto e redes empilhados ao lado */
@media (max-width: 600px) {
    .cs-faixa__autora {
        display: grid;
        grid-template-columns: 44px 1fr;
        column-gap: 12px;
        row-gap: 8px;
    }

    .cs-faixa__autora img {
        grid-row: span 2;
        align-self: start;
    }
}

/* Capa do artigo: a linha "Escrito por" substitui o autor do Blocksy */
body.single-post .hero-section .entry-meta .meta-author {
    display: none;
}

body.single-post .hero-section .cs-faixa__autora {
    justify-content: center;
    margin-block: 18px 6px;
}

@media (max-width: 600px) {
    /* Na capa (texto centralizado): foto e texto lado a lado, redes embaixo */
    body.single-post .hero-section .cs-faixa__autora {
        display: flex;
        justify-content: center;
        text-align: left;
    }

    body.single-post .hero-section .cs-faixa__autora p {
        max-width: calc(100% - 60px);
    }

    body.single-post .hero-section .cs-faixa__autora ul {
        flex-basis: 100%;
        justify-content: center;
    }
}

/* ===================== "Em alta agora" (extensão Trending do Blocksy) ===================== */
/* No padrão do site: fundo claro, título em Newsreader, cartões brancos e setas redondas */
html body .ct-trending-block {
    padding-block: clamp(40px, 5vw, 64px) !important;
    border-top: 1px solid var(--cs-line);
    background: var(--cs-mist) !important;
}

html body .ct-trending-block .ct-module-title {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 24px !important;
    color: var(--cs-plum-night) !important;
    font-family: var(--cs-display) !important;
    font-size: clamp(24px, 2.4vw, 30px) !important;
    font-weight: 600 !important;
    line-height: 1.15;
}

html body .ct-trending-block .ct-module-title > svg {
    width: 16px;
    height: 16px;
    color: var(--cs-plum);
}

html body .ct-trending-block .ct-slider-arrows {
    display: flex;
    gap: 8px;
    margin-inline-start: auto;
}

html body .ct-trending-block .ct-slider-arrows > span {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    border: 1px solid var(--cs-line) !important;
    border-radius: 50% !important;
    background: #fff !important;
    color: var(--cs-plum) !important;
    cursor: pointer;
    transition: border-color 200ms var(--cs-ease), background-color 200ms var(--cs-ease);
}

html body .ct-trending-block .ct-slider-arrows > span:hover {
    border-color: var(--cs-plum) !important;
}

html body .ct-trending-block .ct-slider-arrows svg {
    width: 10px;
    height: 10px;
}

html body .ct-trending-block .ct-trending-block-item {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 14px;
    border: 1px solid var(--cs-line);
    border-radius: 16px;
    background: #fff;
    transition: border-color 200ms var(--cs-ease), box-shadow 200ms var(--cs-ease);
}

html body .ct-trending-block .ct-trending-block-item:hover {
    border-color: rgba(89, 8, 84, 0.35);
    box-shadow: 0 18px 36px -24px rgba(58, 6, 55, 0.45);
}

html body .ct-trending-block .ct-trending-block-item .ct-media-container {
    flex: none;
    width: 64px !important;
    height: 64px;
    overflow: hidden;
    border-radius: 12px !important;
}

html body .ct-trending-block .ct-trending-block-item .ct-media-container img {
    width: 100%;
    height: 100%;
    border-radius: 12px !important;
    object-fit: cover;
}

html body .ct-trending-block .ct-post-title {
    display: -webkit-box;
    overflow: hidden;
    color: var(--cs-plum-night) !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    line-height: 1.4 !important;
    text-decoration: none;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

html body .ct-trending-block .ct-post-title:hover {
    color: var(--cs-plum) !important;
}
