/**
 * BT Editorial — sistema de design completo
 *
 * Princípios:
 *  - Tipografia dramática (display até 88px)
 *  - Single column editorial (max 680px de leitura)
 *  - Hover minimalista (slide/fill, nunca bounce)
 *  - Meta em peso leve (autor, data, legenda)
 *  - Whitespace generoso
 *  - Drop cap na primeira letra
 *  - Pull quotes destacadas
 *  - Sticky reading bar
 *  - Cor primária: tinta preta. Accent: lilás (#7C3AED) usado com parcimônia
 *
 * Substitui o legacy CSS do tema via specificity alta + !important nas regras críticas.
 *
 * @version 3.0
 */

/* ============================================================ */
/* RESET DE TIPOGRAFIA                                          */
/* ============================================================ */

html { font-size: 16px; }
body, .single, .home, .archive, .page {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif !important;
    color: var(--bt-ink, #0F172A);
    line-height: 1.6;
    background: var(--bt-bg, #FFFFFF);
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    font-feature-settings: 'kern' on, 'liga' on, 'calt' on;
}

/* HEADINGS: Fraunces dramática.
 *
 * 1.3.6: ESCOPADAS pra .entry-content (PROSE de artigo) somente.
 * Antes essas regras atacavam h1/h2/h3 GLOBALMENTE com !important,
 * quebrando o font-size dos cards de lista (Mais Lidas, Últimas) que
 * usam <h3 class="ed-title text-[14px]"> — o clamp(1.25rem, 1.8vw, 1.55rem)
 * sobrescrevia o text-[14px] do Tailwind. Resultado: texto gigante 24.8px
 * em vez de 14px, "linhas duplicadas" no hover (gradient 1px com
 * line-height 32px gerava gap visível). Causa raiz do bug que perseguimos
 * de 1.2.4 a 1.3.5.
 *
 * Agora só prose de artigo recebe o tratamento editorial — cards usam
 * Tailwind text-[X] + hierarquia Fraunces de components.css. */
.entry-content h1, .entry-content h2, .entry-content h3,
.entry-content h4, .entry-content h5, .entry-content h6,
.single article h1:not(.ed-title),
.single article h2:not(.ed-title),
.single article h3:not(.ed-title),
.single article h4:not(.ed-title) {
    font-family: 'Fraunces', Georgia, 'Times New Roman', serif !important;
    color: #0F172A !important;
    letter-spacing: -0.025em !important;
    font-feature-settings: 'opsz' on, 'kern' on, 'liga' on, 'calt' on, 'ss01' on !important;
    margin: 0 0 .5em 0 !important;
}

/* 1.4.17: override em dark mode pros mesmos seletores acima.
 * A regra base força #0F172A (preto) com !important pra light mode.
 * Em dark, precisa virar branco. Adicionado AQUI mesmo (e não no bloco
 * dark do fim do arquivo) pra garantir que está depois da regra base
 * e vence em case of empate de especificidade. */
html[data-bt-theme="dark"] .entry-content h1,
html[data-bt-theme="dark"] .entry-content h2,
html[data-bt-theme="dark"] .entry-content h3,
html[data-bt-theme="dark"] .entry-content h4,
html[data-bt-theme="dark"] .entry-content h5,
html[data-bt-theme="dark"] .entry-content h6,
html[data-bt-theme="dark"] .single article h1:not(.ed-title),
html[data-bt-theme="dark"] .single article h2:not(.ed-title),
html[data-bt-theme="dark"] .single article h3:not(.ed-title),
html[data-bt-theme="dark"] .single article h4:not(.ed-title),
html[data-bt-theme="dark"] .prose-v6 h1,
html[data-bt-theme="dark"] .prose-v6 h2,
html[data-bt-theme="dark"] .prose-v6 h3,
html[data-bt-theme="dark"] .prose-v6 h4 {
    color: #FAFAFC !important;
}

.entry-content h1,
.single article h1:not(.ed-title) {
    font-size: clamp(2.4rem, 5vw, 4.6rem) !important;
    font-weight: 800 !important;
    line-height: 1.04 !important;
    letter-spacing: -0.03em !important;
    margin-bottom: 0.4em !important;
}

.entry-content h2,
.single article h2:not(.ed-title) {
    font-size: clamp(1.6rem, 2.6vw, 2.2rem) !important;
    font-weight: 700 !important;
    line-height: 1.18 !important;
    margin-top: 2em !important;
    margin-bottom: 0.6em !important;
}

.entry-content h3,
.single article h3:not(.ed-title) {
    font-size: clamp(1.25rem, 1.8vw, 1.55rem) !important;
    font-weight: 600 !important;
    line-height: 1.3 !important;
    margin-top: 1.6em !important;
}

.entry-content h4,
.single article h4:not(.ed-title) {
    font-size: 1.15rem !important;
    font-weight: 600 !important;
}

/* PARÁGRAFOS */
.entry-content p,
article p,
.post-content p {
    font-family: 'Inter', sans-serif !important;
    font-size: 1.125rem !important;
    line-height: 1.78 !important;
    margin: 0 0 1.5em 0 !important;
    color: #1F2937;
    font-weight: 400;
}

/* ============================================================ */
/* ARTICLE HERO                                                 */
/* ============================================================ */

.single article,
.single .entry-content,
.single main {
    max-width: 760px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 24px !important;
    padding-right: 24px !important;
}

.single .entry-header,
.single header.entry-header {
    padding: 80px 0 32px !important;
    border-bottom: 1px solid #E5E7EB !important;
    margin-bottom: 56px !important;
    text-align: left !important;
    background: transparent !important;
}

/* Categoria pill clean (acima do título) */
.single .entry-header .post-categories,
.single .entry-header .cat-links {
    display: inline-block !important;
    margin-bottom: 18px !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    color: #7C3AED !important;
}
.single .entry-header .post-categories a,
.single .entry-header .cat-links a {
    color: #7C3AED !important;
    text-decoration: none !important;
    background: none !important;
}

/* Lide (excerpt) abaixo do título */
.single .entry-header .resumo-post,
.single .entry-summary {
    font-family: 'Fraunces', serif !important;
    font-size: 1.45rem !important;
    line-height: 1.45 !important;
    color: #475569 !important;
    font-weight: 400 !important;
    font-style: italic !important;
    margin-top: 24px !important;
    max-width: 620px !important;
}

/* AUTOR / DATA — peso leve, italic, discreto */
.single .author-link-profile,
.single .author-row,
.single .author,
.single .post-meta,
.single .entry-meta,
.single .byline {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.85rem !important;
    color: #94A3B8 !important;
    font-weight: 400 !important;
    font-style: normal !important;
    letter-spacing: 0.02em !important;
    margin-top: 32px !important;
    text-transform: none !important;
}
.single .author-link-profile a,
.single .author a,
.single .byline a {
    color: #475569 !important;
    font-weight: 500 !important;
    text-decoration: none !important;
    background: none !important;
    border-bottom: 1px solid transparent !important;
    transition: border-color 200ms !important;
}
.single .author-link-profile a:hover,
.single .author a:hover,
.single .byline a:hover {
    border-bottom-color: #0F172A !important;
}

/* Sumir avatar gigantesco se existir, manter pequeno */
.single .author img,
.single .avatar {
    width: 32px !important;
    height: 32px !important;
    border-radius: 999px !important;
    margin-right: 8px !important;
    vertical-align: middle !important;
}

/* ============================================================ */
/* ARTICLE BODY                                                 */
/* ============================================================ */

.single .entry-content,
.single article .entry-content {
    font-size: 1.125rem !important;
    line-height: 1.78 !important;
    color: #1F2937 !important;
}

/* Drop cap na primeira letra do primeiro <p> */
.single .entry-content > p:first-of-type::first-letter {
    font-family: 'Fraunces', serif !important;
    font-size: 4.4em !important;
    font-weight: 700 !important;
    float: left !important;
    line-height: 0.9 !important;
    margin: 0.08em 0.12em -0.05em -0.05em !important;
    color: #0F172A !important;
}

/* Pull quotes (blockquote) */
.single blockquote,
.single .entry-content blockquote,
.single article blockquote {
    font-family: 'Fraunces', serif !important;
    font-size: 1.65rem !important;
    line-height: 1.36 !important;
    font-weight: 500 !important;
    font-style: normal !important;
    color: #0F172A !important;
    border: 0 !important;
    border-top: 3px solid #0F172A !important;
    border-bottom: 1px solid #E5E7EB !important;
    background: transparent !important;
    margin: 56px -8% !important;
    padding: 32px 0 !important;
    text-align: left !important;
    border-radius: 0 !important;
}
.single blockquote::before {
    content: '"' !important;
    font-family: 'Fraunces', serif !important;
    font-size: 4rem !important;
    line-height: 0 !important;
    color: #7C3AED !important;
    display: block !important;
    margin-bottom: 0.2em !important;
    font-weight: 700 !important;
}
.single blockquote p {
    font-family: 'Fraunces', serif !important;
    font-size: inherit !important;
    line-height: inherit !important;
    margin: 0 !important;
}
.single blockquote cite,
.single blockquote footer {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.85rem !important;
    font-style: normal !important;
    color: #94A3B8 !important;
    display: block !important;
    margin-top: 16px !important;
    font-weight: 500 !important;
}

/* H2 com decoração clean */
.single .entry-content h2 {
    margin-top: 64px !important;
    padding-top: 24px !important;
    border-top: 1px solid #E5E7EB !important;
}
.single .entry-content h2:first-child {
    border-top: 0 !important;
    padding-top: 0 !important;
}

/* H3 */
.single .entry-content h3 {
    margin-top: 40px !important;
}

/* Listas */
.single .entry-content ul,
.single .entry-content ol {
    margin: 1.5em 0 !important;
    padding-left: 1.4em !important;
    font-size: 1.075rem !important;
    line-height: 1.7 !important;
}
.single .entry-content ul li,
.single .entry-content ol li {
    margin-bottom: 0.6em !important;
    color: #1F2937 !important;
}
.single .entry-content ul li::marker { color: #7C3AED !important; }

/* Imagens / figures */
.single .entry-content img,
.single article img,
.single figure img {
    border-radius: 4px !important;
    margin: 32px auto !important;
    display: block !important;
    max-width: 100% !important;
    height: auto !important;
}

/* Figure caption — peso BEM leve */
.single figcaption,
.single .wp-caption-text,
.single .wp-block-image figcaption,
.single .image-caption {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.78rem !important;
    line-height: 1.55 !important;
    color: #94A3B8 !important;
    font-weight: 400 !important;
    font-style: italic !important;
    text-align: center !important;
    margin: 8px auto 0 !important;
    max-width: 540px !important;
    letter-spacing: 0.01em !important;
}

/* ============================================================ */
/* LINKS — underline minimalista (slide subtil)                 */
/* ============================================================ */

/* 1.4.18: REESCRITO — doutrina Marcelo de hover de links inline.
 * Base: cor roxa accent estável, SEM underline visível.
 * Hover: MESMA cor, underline esq→dir cresce via background-size.
 * Sem mudança de cor, sem mudança de background, sem lift.
 *
 * Os seletores excluem .bt-link-anim e wrappers de card pra não
 * vazar pra outros contextos. */
.entry-content a:not(.btn):not(.button):not(.bt-btn):not(.bt-link-anim):not(.bt-single-cat):not(.v6-tag),
.single article a:not(.btn):not(.button):not(.bt-btn):not(.bt-link-anim):not(.bt-single-cat):not(.v6-tag):not(.bt-single-byline__author):not(.bt-infinite-article a) {
    color: var(--bt-accent) !important;
    text-decoration: none !important;
    background-image: linear-gradient(currentColor, currentColor) !important;
    background-position: 0 100% !important;
    background-repeat: no-repeat !important;
    background-size: 0% 1px !important;
    border-bottom: 0 !important;
    padding-bottom: 1px !important;
    transition: background-size 280ms cubic-bezier(0.22, 1, 0.36, 1) !important;
}
.entry-content a:not(.btn):not(.button):not(.bt-btn):not(.bt-link-anim):not(.bt-single-cat):not(.v6-tag):hover,
.single article a:not(.btn):not(.button):not(.bt-btn):not(.bt-link-anim):not(.bt-single-cat):not(.v6-tag):not(.bt-single-byline__author):hover {
    /* 1.4.19: TODOS os property values congelados do estado base
     * pra eliminar qualquer "lift" — bold, scale, translate, padding
     * etc. Apenas background-size cresce (esq→dir é o efeito). */
    background-size: 100% 1px !important;
    color: var(--bt-accent) !important;
    background-color: transparent !important;
    font-weight: inherit !important;
    font-size: inherit !important;
    font-style: inherit !important;
    letter-spacing: inherit !important;
    line-height: inherit !important;
    text-decoration: none !important;
    text-decoration-line: none !important;
    transform: none !important;
    padding: 0 !important;
    padding-bottom: 1px !important;
    margin: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    filter: none !important;
    opacity: 1 !important;
}

/* ============================================================ */
/* HOMEPAGE / ARCHIVE — cards de matéria                        */
/* ============================================================ */

/* Cards de matéria em ARCHIVE/CATEGORY/SEARCH apenas — NÃO na home v6
 * (front-page.php usa .ed-card layout próprio, sem divider). Bug 1.2.0
 * corrigido em 1.2.2: regra atacava .home article e .category article,
 * vazando border-bottom no lead story do hero. */
.archive .post,
.archive article,
.search-results article {
    border-bottom: 1px solid #E5E7EB !important;
    padding: 40px 0 !important;
    background: transparent !important;
    transition: padding-left 240ms cubic-bezier(0.22, 1, 0.36, 1) !important;
}
.archive .post:hover,
.archive article:hover {
    padding-left: 16px !important;
}

.archive .entry-title a,
.home .entry-title a,
.archive .post-title a {
    color: #0F172A !important;
    text-decoration: none !important;
    border: 0 !important;
    background: none !important;
    transition: color 180ms !important;
}
.archive .entry-title a:hover,
.home .entry-title a:hover {
    color: #7C3AED !important;
}

/* ============================================================ */
/* SIDEBAR / "MAIS LIDAS"                                       */
/* ============================================================ */

.widget,
.mais-lidas,
.bt-sidebar,
.sticky-side {
    font-family: 'Inter', sans-serif !important;
}
.widget-title,
.mais-lidas h3,
.widgettitle {
    font-family: 'Inter', sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.18em !important;
    text-transform: uppercase !important;
    color: #0F172A !important;
    margin-bottom: 24px !important;
    padding-bottom: 12px !important;
    border-bottom: 2px solid #0F172A !important;
}

.widget li,
.mais-lidas li,
.ml-internas li {
    list-style: none !important;
    border-bottom: 1px solid #E5E7EB !important;
    padding: 14px 0 !important;
    transition: padding-left 200ms !important;
}
.widget li:hover,
.mais-lidas li:hover {
    padding-left: 8px !important;
}
.widget li a,
.mais-lidas li a {
    font-family: 'Fraunces', serif !important;
    font-size: 1rem !important;
    font-weight: 500 !important;
    line-height: 1.35 !important;
    color: #1F2937 !important;
    text-decoration: none !important;
    border: 0 !important;
    background: none !important;
    transition: color 180ms !important;
}
.widget li:hover a,
.mais-lidas li:hover a {
    color: #7C3AED !important;
}

/* ============================================================ */
/* FLOATING SHARE — refinamento minimalista                     */
/* ============================================================ */

.bt-floating-share {
    left: 32px !important;
    gap: 6px !important;
}
.bt-floating-share button,
.bt-floating-share a {
    width: 38px !important;
    height: 38px !important;
    border-radius: 0 !important;
    background: transparent !important;
    border: 0 !important;
    color: #94A3B8 !important;
    transition: color 200ms, transform 200ms !important;
    box-shadow: none !important;
}
.bt-floating-share button:hover,
.bt-floating-share a:hover {
    color: #0F172A !important;
    transform: translateY(-2px) !important;
    box-shadow: none !important;
    background: transparent !important;
    border: 0 !important;
}

/* ============================================================ */
/* READING PROGRESS BAR — cor única lilás                       */
/* ============================================================ */

.bt-reading-progress-fixed { height: 2px !important; }
.bt-reading-progress-fixed__bar {
    background: #7C3AED !important;
}

/* ============================================================ */
/* THEME TOGGLE                                                 */
/* ============================================================ */

.bt-theme-toggle {
    width: 34px !important; height: 34px !important;
    border: 0 !important;
    background: transparent !important;
    color: #475569 !important;
    transition: color 200ms, transform 200ms !important;
}
.bt-theme-toggle:hover {
    color: #0F172A !important;
    transform: rotate(0) scale(1.08) !important;
    border: 0 !important;
}

/* ============================================================ */
/* HEADER / NAV — limpeza                                       */
/* ============================================================ */

/* 1.4.2: escopar pra NÃO atacar os elementos novos do nav redesign (1.4.0).
 * .bt-nav-link, .bt-nav-trigger, .bt-dropdown-item têm sua própria
 * tipografia (12px font-bold uppercase tracking 0.1em via Tailwind),
 * mas essa regra legacy com !important estava sobrescrevendo.
 * Resultado: Certificação ficava 14.72px (0.92rem) em vez de 12px. */
header nav a:not(.bt-nav-link):not(.bt-nav-trigger):not(.bt-dropdown-item),
.menu a:not(.bt-nav-link):not(.bt-nav-trigger):not(.bt-dropdown-item),
.menu-item a:not(.bt-nav-link):not(.bt-nav-trigger):not(.bt-dropdown-item) {
    font-family: 'Inter', sans-serif !important;
    font-weight: 500 !important;
    font-size: 0.92rem !important;
    color: #0F172A !important;
    letter-spacing: -0.005em !important;
    transition: color 180ms !important;
    text-decoration: none !important;
    border: 0 !important;
    background: none !important;
    padding-bottom: 2px !important;
    position: relative !important;
}
/* 1.4.9: adicionado :not(.bt-dropdown-item) em TODAS as regras
 * abaixo. Antes só estava na primeira (tipografia, linha 501-503),
 * mas as regras de ::after e :hover não tinham — resultado: linha
 * preta horizontal aparecia embaixo dos itens Calendário/Análises/
 * Cursos/Finanças/Tecnologia/Criptomoedas no hover. Marcelo viu e
 * mandou tirar. */
header nav a:not(.bt-nav-link):not(.bt-nav-trigger):not(.bt-dropdown-item)::after,
.menu-item a:not(.bt-nav-link):not(.bt-nav-trigger):not(.bt-dropdown-item)::after {
    content: '' !important;
    position: absolute !important;
    left: 0 !important; right: 0 !important; bottom: -2px !important;
    height: 2px !important;
    background: #0F172A !important;
    transform: scaleX(0) !important;
    transform-origin: left !important;
    transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1) !important;
}
header nav a:not(.bt-nav-link):not(.bt-nav-trigger):not(.bt-dropdown-item):hover,
.menu-item a:not(.bt-nav-link):not(.bt-nav-trigger):not(.bt-dropdown-item):hover {
    color: #0F172A !important;
}
header nav a:not(.bt-nav-link):not(.bt-nav-trigger):not(.bt-dropdown-item):hover::after,
.menu-item a:not(.bt-nav-link):not(.bt-nav-trigger):not(.bt-dropdown-item):hover::after,
.menu-item.current-menu-item > a:not(.bt-nav-link):not(.bt-nav-trigger):not(.bt-dropdown-item)::after {
    transform: scaleX(1) !important;
}

/* ============================================================ */
/* BUTTONS — legacy primary preto (forms + .btn/.button apenas) */
/* 1.4.4: REMOVIDO .bt-btn deste cluster — era a causa raiz dos */
/* bugs visuais do header (perda de pill, perda de fundo lilás, */
/* fonte aumentada). O componente .bt-btn agora vive isolado em */
/* components.css com sua doutrina sistêmica. Esta regra antiga */
/* trata apenas formulários e classes legadas .btn/.button.     */
/* ============================================================ */

.btn, .button,
input[type=submit], button[type=submit],
.relatorio-button {
    font-family: 'Inter', sans-serif !important;
    font-weight: 600 !important;
    font-size: 0.875rem !important;
    letter-spacing: 0.01em !important;
    padding: 12px 22px !important;
    border-radius: 0 !important;
    background: #0F172A !important;
    color: #FFFFFF !important;
    border: 0 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: background 180ms, transform 180ms !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
}
.btn:hover, .button:hover,
input[type=submit]:hover, button[type=submit]:hover {
    background: #7C3AED !important;
    transform: none !important;
    color: #FFFFFF !important;
    box-shadow: none !important;
}

/* ============================================================ */
/* TAGS / CATEGORY PILLS — minimal                              */
/* ============================================================ */

.bt-tag,
.post-categories,
.post-categories a,
a[rel="category tag"],
.tag,
.cat-links a {
    display: inline-block !important;
    padding: 0 !important;
    background: transparent !important;
    color: #7C3AED !important;
    font-family: 'Inter', sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.7rem !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border: 0 !important;
    transition: color 180ms !important;
}
.post-categories a:hover,
a[rel="category tag"]:hover {
    background: transparent !important;
    color: #0F172A !important;
    transform: none !important;
}

/* ============================================================ */
/* SECTION DIVIDERS                                             */
/* ============================================================ */

hr, .separator {
    border: 0 !important;
    border-top: 1px solid #E5E7EB !important;
    margin: 56px 0 !important;
}

/* ============================================================ */
/* FOOTER                                                       */
/* ============================================================ */

footer, .site-footer, .rodape-gerais, .colunas-footer {
    font-family: 'Inter', sans-serif !important;
    background: #0F172A !important;
    color: #94A3B8 !important;
    padding: 64px 24px !important;
}
footer a, .site-footer a {
    color: #94A3B8 !important;
    text-decoration: none !important;
    transition: color 180ms !important;
    border: 0 !important;
    background: none !important;
}
footer a:hover, .site-footer a:hover {
    color: #FFFFFF !important;
}
footer h2, footer h3, footer h4 {
    color: #FFFFFF !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 0.72rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.16em !important;
    text-transform: uppercase !important;
    margin-bottom: 16px !important;
}

/* ============================================================ */
/* FORMS                                                        */
/* ============================================================ */

input[type=text], input[type=email], input[type=search],
input[type=password], select, textarea {
    font-family: 'Inter', sans-serif !important;
    padding: 12px 16px !important;
    border-radius: 0 !important;
    border: 1px solid #E5E7EB !important;
    background: #FFFFFF !important;
    color: #0F172A !important;
    font-size: 0.95rem !important;
    transition: border-color 180ms !important;
}
input:focus, select:focus, textarea:focus {
    outline: 0 !important;
    border-color: #0F172A !important;
    box-shadow: none !important;
}

/* ============================================================ */
/* SCROLLBAR refined                                            */
/* ============================================================ */

::-webkit-scrollbar { width: 8px; height: 8px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: #C4C4C4; border-radius: 0; }
::-webkit-scrollbar-thumb:hover { background: #0F172A; }

/* ============================================================ */
/* DARK MODE                                                    */
/* ============================================================ */

html[data-bt-theme="dark"] body,
html[data-bt-theme="dark"] .single article,
html[data-bt-theme="dark"] .home,
html[data-bt-theme="dark"] .archive {
    background: #0B0E13 !important;
    color: #F1F5F9 !important;
}
html[data-bt-theme="dark"] h1,
html[data-bt-theme="dark"] h2,
html[data-bt-theme="dark"] h3,
html[data-bt-theme="dark"] h4,
html[data-bt-theme="dark"] .entry-title,
html[data-bt-theme="dark"] .post-title {
    color: #F1F5F9 !important;
}
html[data-bt-theme="dark"] .entry-content p,
html[data-bt-theme="dark"] .single .entry-content {
    color: #E2E8F0 !important;
}
html[data-bt-theme="dark"] .single .entry-summary,
html[data-bt-theme="dark"] .resumo-post {
    color: #94A3B8 !important;
}
html[data-bt-theme="dark"] .single blockquote {
    border-top-color: #F1F5F9 !important;
    color: #F1F5F9 !important;
}
html[data-bt-theme="dark"] .widget li,
html[data-bt-theme="dark"] .archive .post {
    border-bottom-color: #2A3142 !important;
}
html[data-bt-theme="dark"] .widget li a,
html[data-bt-theme="dark"] .mais-lidas li a {
    color: #E2E8F0 !important;
}
html[data-bt-theme="dark"] header nav a:not(.bt-nav-link):not(.bt-nav-trigger),
html[data-bt-theme="dark"] .menu-item a:not(.bt-nav-link):not(.bt-nav-trigger) {
    color: #F1F5F9 !important;
}
html[data-bt-theme="dark"] header nav a:not(.bt-nav-link):not(.bt-nav-trigger)::after,
html[data-bt-theme="dark"] .menu-item a:not(.bt-nav-link):not(.bt-nav-trigger)::after { background: #F1F5F9 !important; }
html[data-bt-theme="dark"] .single figcaption,
html[data-bt-theme="dark"] .wp-caption-text {
    color: #64748B !important;
}
html[data-bt-theme="dark"] .single .author,
html[data-bt-theme="dark"] .single .byline {
    color: #64748B !important;
}
html[data-bt-theme="dark"] .btn, html[data-bt-theme="dark"] .button {
    background: #F1F5F9 !important;
    color: #0F172A !important;
}
html[data-bt-theme="dark"] .btn:hover, html[data-bt-theme="dark"] .button:hover {
    background: #7C3AED !important;
    color: #FFFFFF !important;
}
html[data-bt-theme="dark"] hr {
    border-top-color: #2A3142 !important;
}

/* ============================================================ */
/* 1.4.13: DARK MODE — REFINOS PRA SINGLE                       */
/* ============================================================ */
/* Bugs reportados por Marcelo 2026-05-15:                       */
/*   - título (.ed-title) renderizando com cor escura            */
/*   - categoria pill (.v6-eyebrow-pill) com topo cortado        */
/*   - tags (.bt-tag) com texto preto invisível                  */
/*   - link inline no parágrafo (.entry-content a) preto         */
/*   - autor no byline preto                                     */
/* Causa: cascata de regras com !important não cobria todos os  */
/* contextos em dark. Patch força cores claras explicitamente.   */
/* ============================================================ */

/* Título do single em dark → branco luminoso */
html[data-bt-theme="dark"] .single h1.ed-title,
html[data-bt-theme="dark"] .single .ed-title,
html[data-bt-theme="dark"] .single .ed-title-fx,
html[data-bt-theme="dark"] h1.ed-title,
html[data-bt-theme="dark"] .ed-title {
    color: #FAFAFC !important;
}

/* Categoria pill no single: z-index alto pra não ser sobreposta
 * por nada (header sticky, reading bar). Position relative
 * estabelece stacking context. Padding maior pra não cortar. */
html[data-bt-theme="dark"] .v6-eyebrow-pill,
.single .v6-eyebrow-pill {
    position: relative;
    z-index: 2;
    background: var(--bt-accent) !important;
    color: #FFFFFF !important;
    padding: 6px 14px !important;
    line-height: 1.4 !important;
    border-radius: 9999px !important;
    isolation: isolate;
}

html[data-bt-theme="dark"] .v6-eyebrow-pill {
    background: #6F4EFF !important;
    color: #FFFFFF !important;
}

/* TAGS em dark — border lilás visível + texto lilás claro */
html[data-bt-theme="dark"] .bt-tag,
html[data-bt-theme="dark"] .single .post-categories a,
html[data-bt-theme="dark"] .single a[rel="tag"],
html[data-bt-theme="dark"] .single .tag a,
html[data-bt-theme="dark"] .single .tags-section a {
    color: #A8A8B5 !important;
    background: transparent !important;
    border: 1px solid rgba(111, 78, 255, 0.4) !important;
    padding: 4px 12px !important;
    border-radius: 9999px !important;
    transition: all 180ms !important;
}

html[data-bt-theme="dark"] .bt-tag:hover,
html[data-bt-theme="dark"] .single .post-categories a:hover,
html[data-bt-theme="dark"] .single a[rel="tag"]:hover {
    color: #FFFFFF !important;
    background: #6F4EFF !important;
    border-color: #6F4EFF !important;
}

/* 1.4.18: REMOVIDO bloco "Links inline em prose no dark" (1.4.13).
 * Era a regra que fazia cor mudar de roxo escuro pra lilás claro
 * no hover + underline default sempre visível. Substituído pela
 * doutrina unificada acima (linhas ~356), que usa --bt-accent
 * (já dark-aware via tokens) e mantém cor estável.
 *
 * Em dark mode --bt-accent = #6F4EFF (lilás vibrante), em light
 * = #5A3FE6 (lilás mais escuro). Ambos têm contraste suficiente. */

/* Byline (autor + data) no single em dark → cinza claro */
html[data-bt-theme="dark"] .single .byline,
html[data-bt-theme="dark"] .single article .text-bt-fg-3,
html[data-bt-theme="dark"] .single .text-bt-fg-3 {
    color: #6F6F80 !important;
}

html[data-bt-theme="dark"] .single .byline a,
html[data-bt-theme="dark"] .single .text-bt-fg-2,
html[data-bt-theme="dark"] .single article .text-bt-fg-2 {
    color: #A8A8B5 !important;
}

html[data-bt-theme="dark"] .single .ulink,
html[data-bt-theme="dark"] .single .bt-link-anim {
    color: #A8A8B5 !important;
}

html[data-bt-theme="dark"] .single .ulink:hover,
html[data-bt-theme="dark"] .single .bt-link-anim:hover {
    color: #FAFAFC !important;
}

/* Lide (excerpt do hero) — cinza claro alto contraste */
html[data-bt-theme="dark"] .single article .text-bt-fg-2 {
    color: #A8A8B5 !important;
}

/* TAGS label (eyebrow "TAGS") em dark */
html[data-bt-theme="dark"] .single .eyebrow {
    color: #A8A8B5 !important;
}

/* ============================================================ */
/* 1.4.14: SINGLE — classes dedicadas .bt-single-*              */
/* ============================================================ */
/* Migração de classes Tailwind genéricas (.text-bt-fg, .bg-bt-  */
/* accent, .v6-eyebrow-pill) pra classes próprias com prefixo    */
/* .bt-single-* — isso encurta cascade e elimina conflito com   */
/* regras legacy (editorial.css:583 .post-categories a,         */
/* components.css :ed-title, v6-hover.css :v6-eyebrow-pill).    */
/* ============================================================ */

/* CATEGORIA PILL ----------------------------------------------- */
html .bt-single-cat,
html body .bt-single-cat,
html body .single .bt-single-cat,
a.bt-single-cat {
    display: inline-flex !important;
    align-items: center !important;
    padding: 6px 14px !important;
    line-height: 1.4 !important;
    border-radius: 9999px !important;
    background: #6F4EFF !important;
    color: #FFFFFF !important;
    font-family: 'Inter', sans-serif !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    text-decoration: none !important;
    border: 0 !important;
    position: relative;
    z-index: 2;
    isolation: isolate;
    transition: background 180ms, transform 180ms !important;
}

html body .bt-single-cat:hover,
a.bt-single-cat:hover {
    background: #5A3FE6 !important;
    color: #FFFFFF !important;
    transform: translateY(-1px);
}

/* Light mode: usa accent mais escuro (#5A3FE6) pro contraste */
html[data-bt-theme="light"] body .bt-single-cat,
html[data-bt-theme="light"] a.bt-single-cat {
    background: #5A3FE6 !important;
    color: #FFFFFF !important;
}

/* TÍTULO ------------------------------------------------------- */
html body .bt-single-title,
html body .single h1.bt-single-title,
html body h1.ed-title.bt-single-title {
    color: #FAFAFC !important;
}

html[data-bt-theme="light"] body .bt-single-title,
html[data-bt-theme="light"] body .single h1.bt-single-title,
html[data-bt-theme="light"] body h1.ed-title.bt-single-title {
    color: #0E0E14 !important;
}

html body .bt-single-title .ed-title-fx {
    color: inherit !important;
}

/* LIDE --------------------------------------------------------- */
html body .bt-single-lide,
html body .single .bt-single-lide,
html body .single p.bt-single-lide {
    color: #A8A8B5 !important;
}

html[data-bt-theme="light"] body .bt-single-lide,
html[data-bt-theme="light"] body .single p.bt-single-lide {
    color: #4A4A55 !important;
}

/* BYLINE ------------------------------------------------------- */
html body .bt-single-byline,
html body .single .bt-single-byline {
    color: #6F6F80 !important;
    font-family: 'Inter', sans-serif !important;
}

html body .bt-single-byline__author,
html body .single a.bt-single-byline__author {
    color: #A8A8B5 !important;
    text-decoration: none !important;
}

html body .bt-single-byline__author:hover {
    color: #FAFAFC !important;
}

html body .bt-single-byline__dot {
    color: #6F6F80 !important;
}

html body .bt-single-byline__date,
html body .single time.bt-single-byline__date {
    color: #6F4EFF !important;
}

/* Light mode byline */
html[data-bt-theme="light"] body .bt-single-byline {
    color: #7C7C88 !important;
}
html[data-bt-theme="light"] body .bt-single-byline__author,
html[data-bt-theme="light"] body a.bt-single-byline__author {
    color: #4A4A55 !important;
}
html[data-bt-theme="light"] body .bt-single-byline__author:hover {
    color: #0E0E14 !important;
}
html[data-bt-theme="light"] body .bt-single-byline__dot {
    color: #7C7C88 !important;
}
html[data-bt-theme="light"] body .bt-single-byline__date {
    color: #5A3FE6 !important;
}

/* ============================================================ */
/* 1.4.15: SCROLL INFINITO — separador e status                 */
/* ============================================================ */
/* Quando o leitor termina o artigo atual, a próxima matéria    */
/* inteira aparece em sequência. Entre uma e outra, separador   */
/* com eyebrow "PRÓXIMA MATÉRIA" pra dar âncora visual.         */
/* ============================================================ */

.bt-infinite-article {
    display: block;
}

.bt-infinite-separator {
    max-width: 760px;
    margin: 80px auto 40px;
    padding: 0 24px;
    text-align: center;
    position: relative;
}

.bt-infinite-separator::before {
    content: '';
    position: absolute;
    left: 24px;
    right: 24px;
    top: 50%;
    height: 1px;
    background: var(--bt-divider);
    z-index: 1;
}

.bt-infinite-eyebrow {
    position: relative;
    z-index: 2;
    display: inline-block;
    padding: 0 16px;
    background: var(--bt-bg);
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: var(--bt-accent);
}

#bt-infinite-sentinel {
    padding: 32px 24px 80px;
}

.bt-infinite-status {
    font-family: 'Inter', sans-serif;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: var(--bt-fg-3);
}

/* Dark mode tweaks */
html[data-bt-theme="dark"] .bt-infinite-eyebrow {
    background: #0A0A0F;
    color: #6F4EFF;
}

html[data-bt-theme="dark"] .bt-infinite-status {
    color: #6F6F80;
}

/* Light mode tweaks */
html[data-bt-theme="light"] .bt-infinite-eyebrow {
    background: #FAFAF7;
    color: #5A3FE6;
}

html[data-bt-theme="light"] .bt-infinite-status {
    color: #7C7C88;
}

/* ============================================================ */
/* RESPONSIVE                                                   */
/* ============================================================ */

@media (max-width: 768px) {
    .single .entry-content > p:first-of-type::first-letter {
        font-size: 3.6em !important;
    }
    .single blockquote {
        margin: 32px 0 !important;
        font-size: 1.35rem !important;
    }
    .single .entry-header { padding: 48px 0 24px !important; }
    .bt-floating-share { display: none !important; }
}
