/* Article layout: clear reading column, section rhythm and a shared closing CTA. */
body.single-post .siroc-post #hero-singleblog {
  position: relative;
  isolation: isolate;
  display: flex;
  min-height: 330px;
  height: auto;
  padding: 64px 0;
  background-color: #252162;
  background-position: center;
  background-size: cover;
  color: #fff;
}
body.single-post .siroc-post #hero-singleblog::before { content: ""; position: absolute; inset: 0; background: rgba(15, 14, 40, .72); pointer-events: none; z-index: -1; }
body.single-post .siroc-post #hero-singleblog .container { padding-top: 0; }
body.single-post .siroc-post #hero-singleblog h1 { color: #fff; max-width: 950px; margin-bottom: 20px; }
body.single-post .siroc-post #hero-singleblog .post-hero-summary { color: #fff; font-size: var(--siroc-text-lead) !important; max-width: 65ch; margin: 0; }
body.single-post .post-eyebrow { font-size: var(--siroc-text-small) !important; font-weight: 600; margin: 0 0 12px; }
body.single-post .siroc-post #contenido_blog { padding: 48px 0 0; }
body.single-post #contenido_blog .post-layout { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 40px; align-items: start; }
body.single-post #contenido_blog .post-layout .contenido { width: auto; float: none; min-width: 0; }
.post-meta { display: flex; flex-wrap: wrap; gap: 8px 24px; padding-bottom: 24px; margin-bottom: 32px; border-bottom: 1px solid #dedde7; font-size: var(--siroc-text-small); color: #555; }
.post-body { overflow-wrap: break-word; }
body.single-post .post-body > :first-child { margin-top: 0; }
body.single-post .post-body :is(h2, h3, h4) { margin-top: 2em; margin-bottom: .8em; }
body.single-post .post-body :is(p, ul, ol, blockquote, figure, .wp-block-embed, table) { margin-bottom: 1.5rem; }
body.single-post .post-body li + li { margin-top: .55rem; }
.post-body :is(img, video, iframe) { max-width: 100%; }
.post-body img { height: auto; }
.post-body iframe { border: 0; }
.post-body .wp-block-embed.is-type-video iframe { width: 100%; aspect-ratio: 16 / 9; height: auto; }
.post-body blockquote { padding: 20px 24px; border-left: 4px solid #efb143; background: #f5f5f8; }
.post-body .wp-block-table { overflow-x: auto; }
.post-sidebar { background: #f5f5f8; padding: 24px; border-radius: 12px; border: 1px solid #e8e7ee; }
body.single-post .post-sidebar h2 { font-size: var(--siroc-h3) !important; }
body.single-post .post-sidebar h3 { font-size: var(--siroc-h6) !important; }
.post-sidebar ul { list-style: none; padding: 0; margin: 0; }
.post-sidebar li + li { margin-top: 0; border-top: 1px solid #e2e1ea; }
.post-sidebar li a { display: block; padding: 12px 0; }
.post-sidebar hr { margin: 24px 0; }
body.single-post .post-sidebar h2 { margin: 0 0 16px; }
body.single-post .post-sidebar h3 { margin: 0 0 8px; }
.post-sidebar > p:not(.post-eyebrow) { margin: 0 0 20px; }
.post-sidebar .post-advisor { display: block; width: 180px; max-width: 100%; height: auto; margin: 0 auto 24px; border-radius: 8px; }
body.single-post .post-sidebar .post-button { display: flex; width: 100%; }

.post-sidebar a:not(.post-button), .post-body a, .post-meta a, .post-related-card > a:last-child { color: #252162; text-decoration: underline; text-underline-offset: 3px; }
body.single-post .post-cta { padding: 48px 0; clear: both; }
.post-cta-panel { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: 32px; padding: 40px; background: #252162; border-radius: 16px; color: #fff; align-items: center; }
body.single-post .post-cta-panel h2 { color: #fff; }
.post-cta-panel p:last-child { margin-bottom: 0; }
.post-cta-actions { display: flex; flex-direction: column; gap: 12px; }
body.single-post .post-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 18px; font-size: var(--siroc-text-base); line-height: 1.4; font-weight: 600; border: 2px solid #efb143; border-radius: 8px; background: #efb143; color: #252162; text-align: center; }
body.single-post .post-button-outline { background: transparent; color: #fff; border-color: #fff; }
body.single-post .post-button:hover { background: #fff; border-color: #252162; color: #252162; }
body.single-post .post-calculator-link { color: #fff; text-decoration: underline; text-align: center; padding: 6px; }
body.single-post .post-navigation { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; padding-top: 24px; padding-bottom: 40px; border-top: 1px solid #dedde7; }
.post-navigation span { display: block; color: #666; font-size: var(--siroc-text-small); margin-bottom: 8px; }
.post-navigation a { color: #252162; font-weight: 600; }
body.single-post .post-related { padding: 48px 0 64px; background: #f5f5f8; }
.post-related-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; margin-top: 28px; }
.post-related-card { padding: 20px; background: #fff; border: 1px solid #e8e7ee; border-radius: 12px; }
.post-related-card img { width: 100%; height: 170px; object-fit: cover; border-radius: 6px; margin-bottom: 20px; }
body.single-post .post-related-card h3 { font-size: var(--siroc-h4) !important; color: #252162; }
body.single-post .siroc-post a:focus-visible, .post-cta a:focus-visible { outline: 3px solid #196dfb; outline-offset: 4px; }
.post-cta a:focus-visible { outline-color: #fff; }
@media (max-width: 991px) {
  body.single-post #contenido_blog .post-layout { grid-template-columns: minmax(0, 1fr); gap: 32px; }
  .post-sidebar { max-width: none; }
  .post-cta-panel { grid-template-columns: minmax(0, 1fr); }
  .post-related-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  body.single-post .siroc-post #hero-singleblog { min-height: 0; padding: 40px 0; }
  body.single-post .siroc-post #contenido_blog { padding-top: 32px; }
  .post-cta-panel { padding: 24px; }
  body.single-post .post-navigation, .post-related-grid { grid-template-columns: minmax(0, 1fr); }
}
