/* TEG Blog — usa os tokens do kit (cores, fontes, espaçamentos) */
.teg-blog { background: var(--paper); }
.teg-blog .header { background: rgba(6, 10, 18, .92); }
.tb-header .nav__link.is-active { color: #fff; }
.tb-header__actions { display: flex; align-items: center; gap: 1rem; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Hero da listagem */
.tb-hero { padding-top: calc(var(--header-h) + clamp(3rem, 7vw, 6rem)); padding-bottom: clamp(3rem, 6vw, 5rem); }
.tb-hero__title { margin-top: 1.25rem; font-size: var(--text-4xl); color: #fff; max-width: 18ch; }
.tb-hero__lead { margin-top: 1.25rem; color: var(--text-light); }
.tb-toolbar { margin-top: 2.5rem; display: flex; flex-wrap: wrap; gap: 1rem 2rem; align-items: center; justify-content: space-between; }
.tb-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.tb-chip { display: inline-flex; padding: .45rem 1rem; border: 1px solid var(--line-dark); border-radius: 999px; font-size: var(--text-sm); color: var(--text-light); transition: background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast); }
.tb-chip:hover { border-color: var(--line-brand); color: #fff; }
.tb-chip.is-active { background: var(--brand-gradient); border-color: transparent; color: #fff; }
.tb-chip--light { border-color: var(--line-light); color: var(--text-body); }
.tb-chip--light:hover { color: var(--brand-2); }
.tb-search { display: flex; align-items: center; min-width: min(100%, 320px); border: 1px solid var(--line-dark); border-radius: 999px; padding-inline: 1.1rem .4rem; background: rgba(255, 255, 255, .04); }
.tb-search input { flex: 1; min-width: 0; background: none; border: 0; padding: .7rem 0; color: #fff; font: inherit; font-size: var(--text-sm); outline: none; }
.tb-search input::placeholder { color: var(--text-light-dim); }
.tb-search button { width: 38px; height: 38px; display: grid; place-items: center; color: var(--text-light); }
.tb-search button svg { width: 18px; height: 18px; }
.tb-search:focus-within { border-color: var(--brand-3); }

/* Listagem */
.tb-list { padding-top: clamp(3rem, 6vw, 5rem); }
.tb-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(1.25rem, 2.5vw, 2rem); }
.tb-featured { display: grid; grid-template-columns: 1.15fr 1fr; gap: clamp(1.5rem, 4vw, 3.5rem); align-items: center; margin-bottom: clamp(3rem, 6vw, 5rem); padding-bottom: clamp(3rem, 6vw, 5rem); border-bottom: 1px solid var(--line-light); }
.tb-featured__media, .tb-card__media { display: block; overflow: hidden; border-radius: var(--radius-lg); background: var(--ink-2); aspect-ratio: 16 / 10; }
.tb-featured__media img, .tb-card__media img:not(.tb-card__placeholder img) { width: 100%; height: 100%; object-fit: cover; transition: transform .8s var(--ease); }
.tb-featured:hover .tb-featured__media img, .tb-card:hover .tb-card__media img { transform: scale(1.04); }
.tb-card__placeholder { width: 100%; height: 100%; display: grid; place-items: center; background: radial-gradient(120% 90% at 20% 0%, var(--ink-3), var(--ink)); }
.tb-card__placeholder img { width: 64px; height: auto; opacity: .55; transform: none !important; }
.tb-featured__body { display: flex; flex-direction: column; gap: 1.1rem; align-items: flex-start; }
.tb-featured__title { font-size: var(--text-3xl); }
.tb-featured__title a:hover, .tb-card__title a:hover { color: var(--brand-2); }

.tb-card { display: flex; flex-direction: column; gap: 1.1rem; }
.tb-card__body { display: flex; flex-direction: column; gap: .7rem; }
.tb-card__title { font-size: var(--text-xl); line-height: 1.18; }
.tb-card__title a { transition: color var(--transition-fast); }
.tb-card__excerpt { font-size: var(--text-sm); line-height: 1.6; }
.tb-card__more { margin-top: .2rem; font-size: var(--text-sm); font-weight: 500; color: var(--brand-2); }
.tb-card__more span { display: inline-block; transition: transform var(--transition-fast); }
.tb-card__more:hover span { transform: translateX(4px); }

.tb-meta { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem 1rem; font-size: var(--text-xs); letter-spacing: .04em; color: var(--text-body); }
.tb-meta--light { color: var(--text-light-dim); }
.tb-tag { color: var(--brand-2); font-weight: 600; text-transform: uppercase; letter-spacing: .14em; }

.tb-pagination { margin-top: clamp(3rem, 6vw, 4.5rem); display: flex; flex-wrap: wrap; justify-content: center; gap: .5rem; }
.tb-pagination .page-numbers { min-width: 44px; height: 44px; padding-inline: .9rem; display: inline-grid; place-items: center; border: 1px solid var(--line-light); border-radius: 999px; font-size: var(--text-sm); color: var(--text-strong); }
.tb-pagination .page-numbers:hover { border-color: var(--brand-2); color: var(--brand-2); }
.tb-pagination .current { background: var(--brand-gradient); border-color: transparent; color: #fff; }
.tb-empty { text-align: center; padding-block: 3rem; }
.tb-empty h2 { font-size: var(--text-2xl); margin-bottom: 1rem; }
.tb-empty .body-text { margin-inline: auto; }

/* Post individual */
.tb-single__hero { padding-top: calc(var(--header-h) + clamp(3rem, 6vw, 5rem)); padding-bottom: clamp(3rem, 6vw, 5rem); }
.tb-single__head { max-width: 980px; }
.tb-crumbs { display: flex; flex-wrap: wrap; gap: .6rem; font-size: var(--text-xs); letter-spacing: .14em; text-transform: uppercase; color: var(--text-light-dim); }
.tb-crumbs a:hover { color: var(--brand-4); }
.tb-single__title { margin-top: 1.5rem; font-size: var(--text-4xl); color: #fff; }
.tb-single__lead { margin-top: 1.25rem; color: var(--text-light); max-width: 62ch; }
.tb-single__hero .tb-meta { margin-top: 2rem; }
.tb-author-mini { display: inline-flex; align-items: center; gap: .6rem; color: #fff; }
.tb-author-mini img { border-radius: 50%; }
.tb-single__cover { margin: 0 auto; margin-top: calc(clamp(2rem, 4vw, 3rem) * -1); position: relative; }
.tb-single__cover img { width: 100%; height: auto; border-radius: var(--radius-lg); aspect-ratio: 16 / 9; object-fit: cover; }
.tb-single__hero:has(+ .tb-single__cover) { padding-bottom: calc(clamp(3rem, 6vw, 5rem) + clamp(2rem, 4vw, 3rem)); }

.tb-single__layout { display: grid; grid-template-columns: 160px minmax(0, 720px); justify-content: center; gap: clamp(2rem, 5vw, 4.5rem); padding-block: clamp(3rem, 6vw, 5rem); }
.tb-share { position: sticky; top: calc(var(--header-h) + 1.5rem); align-self: start; display: flex; flex-direction: column; gap: .6rem; font-size: var(--text-sm); }
.tb-share span { font-size: var(--text-xs); letter-spacing: .16em; text-transform: uppercase; color: var(--text-body); margin-bottom: .3rem; }
.tb-share a, .tb-share button { text-align: left; padding: 0; color: var(--text-strong); transition: color var(--transition-fast); }
.tb-share a:hover, .tb-share button:hover { color: var(--brand-2); }

.tb-prose { color: var(--text-body); font-size: var(--text-base); line-height: 1.8; }
.tb-prose > * + * { margin-top: 1.4em; }
.tb-prose h2 { margin-top: 2.2em; font-size: var(--text-2xl); line-height: 1.15; }
.tb-prose h3 { margin-top: 1.9em; font-size: var(--text-xl); line-height: 1.2; }
.tb-prose h4 { margin-top: 1.6em; font-size: var(--text-lg); }
.tb-prose a:not(.tb-chip) { color: var(--brand-2); text-decoration: underline; text-underline-offset: 3px; }
.tb-prose strong { color: var(--text-strong); font-weight: 600; }
.tb-prose ul, .tb-prose ol { padding-left: 1.3em; }
.tb-prose ul { list-style: disc; }
.tb-prose ol { list-style: decimal; }
.tb-prose li + li { margin-top: .5em; }
.tb-prose li::marker { color: var(--brand-2); }
.tb-prose blockquote { margin: 2em 0; padding: .4em 0 .4em 1.5em; border-left: 2px solid var(--brand-2); font-family: var(--font-display); font-size: var(--text-xl); line-height: 1.4; color: var(--text-strong); }
.tb-prose img, .tb-prose video, .tb-prose iframe { max-width: 100%; height: auto; border-radius: var(--radius-md); }
.tb-prose figure { margin: 2em 0; }
.tb-prose figcaption { margin-top: .6em; font-size: var(--text-sm); color: var(--text-body); text-align: center; }
.tb-prose hr { border: 0; height: 1px; background: var(--line-light); margin: 2.5em 0; }
.tb-prose table { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.tb-prose th, .tb-prose td { padding: .7em .9em; border-bottom: 1px solid var(--line-light); text-align: left; }
.tb-prose code { padding: .1em .35em; border-radius: var(--radius-sm); background: var(--paper-2); font-size: .9em; }
.tb-prose .wp-block-embed iframe { width: 100%; aspect-ratio: 16 / 9; }

.tb-tags { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: 3rem; }
.tb-authorbox { display: flex; gap: 1.5rem; align-items: flex-start; margin-top: 3rem; padding: 2rem; border-radius: var(--radius-lg); background: var(--ink); color: var(--text-light); }
.tb-authorbox img { width: 96px; height: 96px; flex: none; border-radius: 50%; object-fit: cover; object-position: top; border: 1px solid var(--line-brand); }
.tb-authorbox h2 { margin: .5rem 0 .6rem; font-size: var(--text-xl); color: #fff; }
.tb-authorbox p:not(.eyebrow) { font-size: var(--text-sm); line-height: 1.65; }
.tb-authorbox .eyebrow { color: var(--brand-4); }
.tb-postnav { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-top: 3rem; }
.tb-postnav a { display: flex; flex-direction: column; gap: .4rem; padding: 1.25rem 1.4rem; border: 1px solid var(--line-light); border-radius: var(--radius-md); color: var(--text-strong) !important; text-decoration: none !important; font-family: var(--font-display); font-size: var(--text-lg); line-height: 1.25; transition: border-color var(--transition-fast); }
.tb-postnav a:hover { border-color: var(--brand-2); }
.tb-postnav span { font-family: var(--font-body); font-size: var(--text-xs); letter-spacing: .14em; text-transform: uppercase; color: var(--brand-2); }
.tb-postnav__next { grid-column: 2; text-align: right; }

.tb-related__title { margin: 1rem 0 clamp(2rem, 4vw, 3rem); font-size: var(--text-3xl); }
.tb-narrow { max-width: 760px; }

/* CTA final */
.tb-cta__inner { display: flex; flex-direction: column; align-items: flex-start; gap: 1.25rem; }
.tb-cta h2 { font-size: var(--text-3xl); max-width: 20ch; }

@media (max-width: 1024px) {
  .tb-grid { grid-template-columns: repeat(2, 1fr); }
  .tb-featured { grid-template-columns: 1fr; }
  .tb-single__layout { grid-template-columns: minmax(0, 720px); }
  .tb-share { position: static; flex-direction: row; flex-wrap: wrap; gap: .5rem 1.25rem; align-items: center; order: 2; padding-top: 2rem; border-top: 1px solid var(--line-light); }
  .tb-share span { margin: 0; }
}
@media (max-width: 640px) {
  .tb-grid { grid-template-columns: 1fr; }
  .tb-toolbar { flex-direction: column; align-items: stretch; }
  .tb-chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: .25rem; }
  .tb-chip { flex: none; }
  .tb-authorbox { flex-direction: column; padding: 1.5rem; }
  .tb-postnav { grid-template-columns: 1fr; }
  .tb-postnav__next { grid-column: auto; }
}

/* ajustes: neutraliza estilos de botão do tema Hello */
.teg-blog .tb-search button, .teg-blog .tb-copy, .teg-blog .burger { border: 0; background: none; border-radius: 0; padding: 0; font: inherit; }
.teg-blog .tb-search button { width: 38px; height: 38px; color: var(--text-light); }
.teg-blog .tb-search button:hover, .teg-blog .tb-search button:focus { background: none; color: #fff; }
.teg-blog .tb-copy { color: var(--text-strong); font-size: var(--text-sm); cursor: pointer; }
.teg-blog .tb-copy:hover, .teg-blog .tb-copy:focus { background: none; color: var(--brand-2); }
.teg-blog .tb-search input[type=search] { border: 0; border-radius: 0; box-shadow: none; }
.tb-featured:last-child { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.tb-featured:has(+ .tb-pagination) { margin-bottom: 0; padding-bottom: 0; border-bottom: 0; }
.teg-blog { background: var(--ink); }
.teg-blog .tb-main { background: var(--paper); }
