/* Estilos limitados a paginas de posts individuais: sem afetar a home ou biblioteca. */
body.single-post :is(.entry-content, .post-content, .single-content, .wp-block-post-content, .td-post-content) {
  font-size: clamp(17px, 1.15vw, 19px);
  line-height: 1.85;
  overflow-wrap: break-word;
}
body.single-post :is(.entry-content, .post-content, .single-content, .wp-block-post-content, .td-post-content) p {
  margin-top: 0;
  margin-bottom: 1.25em;
}
body.single-post :is(.entry-content, .post-content, .single-content, .wp-block-post-content, .td-post-content) :is(h2, h3, h4) {
  line-height: 1.3;
  color: #0b2a43;
  margin-top: 1.65em;
  margin-bottom: .65em;
  text-wrap: pretty;
}
body.single-post :is(.entry-content, .post-content, .single-content, .wp-block-post-content, .td-post-content) h2 { font-size: clamp(24px, 2.3vw, 31px); }
body.single-post :is(.entry-content, .post-content, .single-content, .wp-block-post-content, .td-post-content) h3 { font-size: clamp(21px, 1.9vw, 26px); }
body.single-post :is(.entry-content, .post-content, .single-content, .wp-block-post-content, .td-post-content) :is(img, figure img) {
  max-width: 100%; height: auto; border-radius: 12px;
}
body.single-post :is(.entry-content, .post-content, .single-content, .wp-block-post-content, .td-post-content) figure { max-width: 100%; margin: 1.8em auto; }
body.single-post :is(.entry-content, .post-content, .single-content, .wp-block-post-content, .td-post-content) figcaption { text-align:center; font-size: .78em; line-height: 1.5; color: #626a72; }
body.single-post :is(.entry-content, .post-content, .single-content, .wp-block-post-content, .td-post-content) blockquote {
  margin: 1.5em 0; padding: 1.1em 1.2em; border-left: 4px solid #c99b43; background:#faf4e7; border-radius:0 8px 8px 0;
}
body.single-post :is(.entry-content, .post-content, .single-content, .wp-block-post-content, .td-post-content) a { text-underline-offset: 3px; }
/* Related articles live within the post body, use their own compact layout. */
body.single-post .vdp-related { clear:both; margin: 54px 0 20px; padding: 30px 0 0; border-top: 1px solid #e4d9c8; font-family: inherit; }
body.single-post .vdp-related #vdp-related-title { font-size: clamp(23px, 2vw, 30px); margin: 0 0 4px; color:#0b2a43; }
body.single-post .vdp-related .vdp-related-intro { font-size: 15px; color:#65707b; margin: 0 0 20px; }
body.single-post .vdp-related-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
body.single-post .vdp-related-card { background:#fff; border:1px solid #e9d9bc; border-radius:12px; overflow:hidden; box-shadow:0 4px 18px rgba(10,32,56,.06); min-width:0; }
body.single-post .vdp-related-photo { display:block; aspect-ratio: 16/10; overflow:hidden; }
body.single-post .vdp-related-photo img { width:100%; height:100% !important; object-fit:cover; border-radius:0 !important; display:block; }
body.single-post .vdp-related-body { padding:15px; }
body.single-post .vdp-related-body h3 { font-size:17px; line-height:1.4; margin:0 0 8px; }
body.single-post .vdp-related-body h3 a { color:#0b2a43; text-decoration:none; }
body.single-post .vdp-related-body p { font-size:14px; line-height:1.55; color:#56616c; margin:0 0 12px; }
body.single-post .vdp-related-read { color:#815a14; font-weight:700; font-size:13px; text-decoration:none; }
body.single-post .vdp-related a:focus-visible { outline:3px solid #b38838; outline-offset:3px; }
@media(max-width:960px) { body.single-post .vdp-related-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media(max-width:580px) {
 body.single-post .vdp-related-grid { grid-template-columns:1fr; }
 body.single-post .vdp-related { margin-top:35px; }
 body.single-post :is(.entry-content,.post-content,.single-content,.wp-block-post-content,.td-post-content) { font-size:17px; line-height:1.75; }
}
