.tpbe-box { --tpbe-bg:#eff8f2; --tpbe-border:#cce4d4; --tpbe-accent:#237344; --tpbe-text:#203c2a; }
.tpbe-box--lilas { --tpbe-bg:#f7f1fb; --tpbe-border:#dfd2eb; --tpbe-accent:#75468e; --tpbe-text:#35283f; }
.tpbe-box--azul { --tpbe-bg:#eff6fd; --tpbe-border:#ccdff0; --tpbe-accent:#235e94; --tpbe-text:#20364c; }
.tpbe-box--amarelo { --tpbe-bg:#fff9e8; --tpbe-border:#eadba6; --tpbe-accent:#795900; --tpbe-text:#493a17; }
.tpbe-box--cinza { --tpbe-bg:#f4f5f6; --tpbe-border:#d9dde1; --tpbe-accent:#505c67; --tpbe-text:#303840; }
body .tpbe-box {
  box-sizing:border-box; clear:both; width:100%; max-width:100%; margin:32px 0;
  padding:clamp(20px,4vw,32px); border:1px solid var(--tpbe-border);
  border-left:5px solid var(--tpbe-accent); border-radius:14px;
  background:var(--tpbe-bg); color:var(--tpbe-text); overflow-wrap:break-word;
  font-size:17px; line-height:1.75; text-align:left;
}
body .tpbe-box :is(h2,h3,h4) {
  color:var(--tpbe-accent) !important; font-family:system-ui,sans-serif;
  font-weight:750; line-height:1.3 !important; padding:0 !important;
  border:0 !important; margin:1.1em 0 .7em !important; text-align:left !important;
}
body .tpbe-box > :first-child { margin-top:0 !important; }
body .tpbe-box > :last-child { margin-bottom:0 !important; }
body .tpbe-box h2 { font-size:clamp(23px,3vw,28px) !important; }
body .tpbe-box h3 { font-size:clamp(21px,2.6vw,25px) !important; }
body .tpbe-box h4 { font-size:clamp(19px,2.3vw,22px) !important; }
body .tpbe-box p, body .tpbe-box li { font-size:17px !important; line-height:1.75 !important; color:var(--tpbe-text); }
body .tpbe-box p { margin:0 0 1em !important; }
body .tpbe-box :is(ul,ol) { margin:1em 0; padding-left:1.3em; }
body .tpbe-box li { margin:.65em 0; padding-left:.15em; }
body .tpbe-box li::marker { color:var(--tpbe-accent); }
body .tpbe-box a { color:var(--tpbe-accent); text-decoration:underline; }
body .tpbe-box img { max-width:100%; height:auto; }
@media(max-width:480px) { body .tpbe-box { padding:20px 18px; } body .tpbe-box p, body .tpbe-box li { font-size:16px !important; } }
body.single-post .tpbe-source-credit {
  clear:both; margin:28px 0 12px; padding-top:14px;
  border-top:1px solid var(--jfm-border,#dce3df);
  color:var(--jfm-muted,#58665e);
}
body.single-post .tpbe-source-credit p,
body.single-post .tpbe-source-credit p * {
  font-family:system-ui,sans-serif !important; font-size:13px !important;
  font-weight:500 !important; font-style:normal !important;
  line-height:1.5 !important; letter-spacing:.035em;
  color:inherit !important; text-align:left !important;
}
body.single-post .tpbe-source-credit p { margin:0 !important; }

/* Native WordPress emphasis: keep semantics and inline text flow. */
body.single-post.single-post :is(.jfm-entry-content,.wpcm-single-content.entry-content) :is(p,li) :is(strong,b) {
  font-weight:750 !important; color:inherit;
}
body.single-post.single-post :is(.jfm-entry-content,.wpcm-single-content.entry-content) :is(p,li) :is(em,i) {
  font-style:italic !important; color:inherit;
}
body.single-post.single-post :is(.jfm-entry-content,.wpcm-single-content.entry-content) :is(strong,b) :is(em,i),
body.single-post.single-post :is(.jfm-entry-content,.wpcm-single-content.entry-content) :is(em,i) :is(strong,b) {
  font-weight:750 !important; font-style:italic !important;
}
/* Only top-level editorial quotes; embedded widgets and box palettes stay independent. */
body.single-post.single-post.single-post :is(.jfm-entry-content,.wpcm-single-content.entry-content) > blockquote {
  box-sizing:border-box; clear:both; position:relative;
  margin:28px 0 !important; padding:clamp(20px,3vw,30px) !important;
  border:1px solid #cfe2d7 !important; border-left:4px solid #288453 !important;
  border-radius:0 14px 14px 0 !important;
  background:linear-gradient(115deg,#edf7f1,#f6faf7) !important;
  color:#254535 !important; box-shadow:none !important;
  font-family:Georgia,'Times New Roman',serif !important;
  font-size:20px !important; line-height:1.7 !important;
  font-style:italic; text-align:left !important; overflow-wrap:break-word;
}
body.single-post.single-post.single-post :is(.jfm-entry-content,.wpcm-single-content.entry-content) > blockquote > p {
  font:inherit !important; color:inherit !important; margin:0 0 .85em !important;
}
body.single-post.single-post.single-post :is(.jfm-entry-content,.wpcm-single-content.entry-content) > blockquote > :last-child { margin-bottom:0 !important; }
body.single-post.single-post.single-post :is(.jfm-entry-content,.wpcm-single-content.entry-content) > blockquote cite {
  display:block; margin-top:14px; font:600 13px/1.5 system-ui,sans-serif; color:#496a56;
}
/* Keep captions and source credits quiet even when authors applied bold/italics. */
body.single-post.single-post.single-post :is(.jfm-entry-content,.wpcm-single-content.entry-content) :is(figcaption,.wp-caption-text,.tpbe-source-credit) :is(strong,b,em,i) {
  font-weight:500 !important; font-style:normal !important;
}
@media(max-width:767px) {
  body.single-post.single-post.single-post :is(.jfm-entry-content,.wpcm-single-content.entry-content) > blockquote {
    margin:24px 0 !important; padding:20px 18px !important; font-size:18px !important;
  }
}
.tpbe-box--laranja { --tpbe-bg:#fff3e8; --tpbe-border:#f2cda8; --tpbe-accent:#a44912; --tpbe-text:#4d2d1a; }
