/* 1. Matérias e páginas: tipografia, identidade e imagem no tamanho natural. */
.article-sheet { padding: 20px 16px 24px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--paper); }
.article-links { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-bottom: 16px; }
.category-label { display: inline-block; color: #fff; background: var(--link); border-radius: 3px; padding: 5px 10px; font-size: 12px; line-height: 1.5; font-weight: 700; text-transform: uppercase; letter-spacing: .6px; }
.category-label:hover { color: white; }
.story-link { font-size: 12px; font-weight: 700; }
.post-title { font-family: var(--heading-font); font-size: 36px; font-weight: 700; color: #000; letter-spacing: -1px; line-height: 1.2; margin-bottom: 20px; }
.article-summary { font-size: 17px; line-height: 1.5; color: #333; margin: 20px 0; }
.article-meta { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; padding-bottom: 20px; border-bottom: 1px solid var(--line); margin-bottom: 24px; }
.byline { display: flex; align-items: center; gap: 10px; }
.byline .avatar { flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%; }
.author-name { color: var(--ink); font-size: 14px; font-weight: 700; }
.article-dates { font-size: 11px; color: var(--muted); }
.article-dates time { display: block; }
.post-share { position: relative; display: flex; flex-wrap: wrap; gap: 5px; }
.share-button { display: inline-grid; place-items: center; width: 36px; height: 36px; border: 1px solid var(--line); border-radius: 50%; background: var(--paper); color: var(--muted); padding: 7px; }
.share-button:hover { background: #eaf7fc; color: var(--link); border-color: #a4dbef; }
.share-button .icon { width: 17px; height: 17px; }
.featured-image { margin: 0 0 24px; }
.featured-image img { display: block; width: 100%; height: auto; border-radius: 4px; }
.featured-image figcaption { padding-top: 8px; text-align: center; color: var(--muted); font-size: 12px; }

/* 2. Conteúdo clássico e blocos: evitar estouro horizontal sem remover estilos do editor. */
.entry-content { font-size: 18px; line-height: 1.75; overflow-wrap: anywhere; }
.entry-content::after { content: ""; display: table; clear: both; }
/* Escala de títulos do ZIP: 32, 28, 26, 24, 22 e 20px, todos com peso 700. */
.entry-content :where(h1, h2, h3, h4, h5, h6) { margin: 24px 0 20px; font-weight: 700; line-height: 1.2; color: #000; letter-spacing: 0; }
.entry-content h1 { font-size: 32px; }
.entry-content h2 { font-size: 28px; }
.entry-content h3 { font-size: 26px; }
.entry-content h4 { font-size: 24px; }
.entry-content h5 { font-size: 22px; }
.entry-content h6 { font-size: 20px; }
.entry-content :where(ul, ol) { padding-left: 26px; margin: 0 0 22px; }
.entry-content li { margin-bottom: 8px; }
.entry-content :where(p, ul, ol, blockquote, figure) { margin-bottom: 24px; }
.entry-content a { text-decoration: none; }
.entry-content a:hover { color: #084d79; background: #eef7fb; }
.entry-content blockquote { margin: 24px 0; padding: 18px 22px; border-left: 4px solid var(--accent); background: var(--soft); color: #3c4d5a; }
.entry-content blockquote p:last-child { margin-bottom: 0; }
.entry-content pre { overflow: visible; white-space: pre-wrap; overflow-wrap: anywhere; padding: 20px; border: 1px solid var(--line); border-radius: 5px; background: var(--soft); font-size: 14px; line-height: 1.6; }
.entry-content code { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: .88em; }
.entry-content :not(pre) > code { background: #eef3f6; padding: 2px 5px; border-radius: 3px; }
.entry-content table { display: table; table-layout: fixed; max-width: 100%; width: 100%; border-collapse: collapse; margin-bottom: 24px; font-size: 15px; }
.entry-content :where(th, td) { padding: 10px 14px; border: 1px solid #dce4e9; text-align: left; }
.entry-content th { background: var(--soft); }
.entry-content .wp-block-table { overflow: visible; }
.entry-content :where(th, td, pre, code) { overflow-wrap: anywhere; }
.entry-content iframe { max-width: 100%; border: 0; }
.entry-content .tfn-video { display: block; width: 100%; height: auto; aspect-ratio: var(--tfn-video, 16 / 9); }
.entry-content :where(video, audio, object, embed) { max-width: 100%; }
.entry-content figcaption, .wp-caption-text { font-size: 13px; color: var(--muted); text-align: center; margin-top: 8px; }
.wp-caption { max-width: 100%; }
.alignleft { float: left; margin: 5px 22px 16px 0; }
.alignright { float: right; margin: 5px 0 16px 22px; }
.aligncenter { display: block; margin-inline: auto; }
.alignwide, .alignfull { width: 100%; margin-inline: 0; }
.gallery { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 24px; }
.gallery-item { flex: 0 0 calc(33.333% - 8px); min-width: 0; }
.gallery-item img { width: 100%; height: auto; }
.gallery-columns-1 .gallery-item { flex-basis: 100%; }
.gallery-columns-2 .gallery-item { flex-basis: calc(50% - 6px); }
.gallery-columns-4 .gallery-item { flex-basis: calc(25% - 9px); }
.gallery-columns-5 .gallery-item { flex-basis: calc(20% - 10px); }
.gallery-columns-6 .gallery-item { flex-basis: calc(16.666% - 10px); }
.gallery-columns-7 .gallery-item { flex-basis: calc(14.285% - 11px); }
.gallery-columns-8 .gallery-item { flex-basis: calc(12.5% - 11px); }
.gallery-columns-9 .gallery-item { flex-basis: calc(11.111% - 11px); }
.sticky, .bypostauthor { border-color: var(--line); }

/* 3. Links relacionados e shortcodes antigos, sem scripts ou fontes externos. */
.read-also { margin: 26px 0; padding: 16px 20px; background: #f1f8fc; border-left: 3px solid var(--accent); border-radius: 0 5px 5px 0; line-height: 1.5; }
.read-also span { display: block; font-size: 11px; text-transform: uppercase; font-weight: 700; letter-spacing: 1px; color: var(--muted); margin-bottom: 6px; }
.read-also a { font-size: 17px; font-weight: 700; text-decoration: none; }
.content-insertion { margin: 28px auto; max-width: 100%; text-align: center; }
.post-tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--line); }
.post-tags a { padding: 4px 10px; border: 1px solid #d8e4ec; border-radius: 4px; color: var(--muted); font-size: 12px; }
.tfn-slideshow { margin-bottom: 24px; }
.slideshow-controls { display: flex; gap: 12px; align-items: center; justify-content: center; padding: 12px; border: 1px solid var(--line); background: var(--soft); }
.slideshow-controls button { min-width: 44px; min-height: 40px; }
.slideshow-controls span { font-size: 13px; }
.tfn-slide { padding: 12px 0; }
.tfn-slide img { max-width: 100%; height: auto; }

/* 4. Comentários nativos e editor visual. */
.comments-area { margin: 24px 0; padding: 20px 16px; border: 1px solid var(--line); border-radius: 5px; font-size: 16px; }
.comment-list { list-style: none; padding: 0; }
.comment-list .children { list-style: none; padding-left: 20px; }
.comment-body { padding: 18px 0; border-bottom: 1px solid var(--line); }
.comment-author .avatar { border-radius: 50%; margin-right: 8px; }
.comment-metadata { font-size: 12px; color: var(--muted); margin: 8px 0 12px; }
.reply { font-size: 13px; }
.comment-form label { display: block; margin-bottom: 5px; }
.comment-form input:not([type="checkbox"]), .comment-form textarea { width: 100%; }
.comment-form .comment-form-cookies-consent label { display: inline; }
.comment-form .submit { width: auto; background: var(--link); color: white; border: 0; }
.comment-reply-title { font-size: 23px; margin-top: 24px; }
.page-links { margin: 24px 0; }
.editor-styles-wrapper { font-family: Arial, Helvetica, sans-serif; color: var(--ink); }
.editor-styles-wrapper .wp-block { max-width: 788px; }

/* 5. Telas menores: preservar leitura, controles e proporções das imagens. */
@media (max-width: 900px) { .article-sheet { padding: 18px 14px; } }
@media (max-width: 760px) { .post-title { font-size: 34px; letter-spacing: -.8px; } }
@media (max-width: 500px) {
    .article-sheet { padding: 16px 10px; }
    .post-title { font-size: 34px; line-height: 1.2; letter-spacing: -1px; }
    .article-summary { font-size: 17px; }
    .article-meta { gap: 14px; }
    .post-share { width: 100%; gap: 8px; }
    .share-button { width: 40px; height: 40px; }
    .entry-content { font-size: 18px; line-height: 1.7; }
    .alignleft, .alignright { float: none; display: block; margin: 16px auto; }
    .gallery-item { flex-basis: calc(50% - 6px); }
    .comments-area { padding: 16px 10px; }
}

/* Confirmação visível e anunciada por leitores de tela, sem alterar a posição dos controles. */
.share-button.copy-link { display: inline-flex; gap: 5px; align-items: center; justify-content: center; width: auto; padding-inline: 10px; border-radius: 4px; font-size: 12px; white-space: nowrap; }
.share-button.is-copied { background: #e7f6ec; color: #176236; border-color: #b1d9be; }
.copy-feedback { position: absolute; bottom: calc(100% + 8px); right: 0; max-width: 100%; padding: 9px 12px; border-radius: 4px; background: #173b28; color: #fff; box-shadow: 0 3px 10px #0002; font-size: 13px; line-height: 1.4; z-index: 2; }
.copy-feedback:empty { display: none; }
.copy-feedback.is-error { background: #812727; }
.tag-hash { color: var(--link); font-weight: 700; }
