/* ZigTech Blog Standard 1.0.0. Every rule is scoped to .zt-blog .zt-post so the theme is untouched.
   Palette: navy #1B3664 (structure, links), orange #D75225 (actions, one accent). See BLOG-STANDARD.md. */
.zt-blog .zt-post {
  --zt-navy: #1B3664; --zt-navy-dark: #12264A; --zt-navy-tint: #EEF1F7;
  --zt-orange: #D75225; --zt-orange-dark: #B8441C; --zt-orange-tint: #FBEDE8;
  --zt-text: #1F2937; --zt-muted: #5B6472; --zt-border: #D5DBE5; --zt-white: #FFFFFF;
  --zt-sans: "IBM Plex Sans", "Segoe UI", system-ui, sans-serif;
  --zt-mono: "IBM Plex Mono", ui-monospace, Consolas, monospace;
  max-width: 720px; margin: 0 auto;
  font: 18px/1.7 var(--zt-sans); color: var(--zt-text);
}

/* Theme parts of a post: title in the blog face, theme's cropped featured image replaced by .zt-hero */
.zt-blog .post-entry .big-preview.single-big { display: none; }
.zt-blog .post-entry .entry-content-header { max-width: 720px; margin: 0 auto; }
/* Enfold forces centered, smaller single-post titles and resets code backgrounds; these win over it */
body.zt-blog .post-entry .entry-content-header, body.zt-blog .post-entry .entry-content-header * { text-align: left !important; }
body.zt-blog .post-entry h1.post-title.entry-title { font-size: 40px !important; line-height: 1.15 !important; }
body.zt-blog .zt-post code.zt-ref { background: #EEF1F7 !important; color: #1B3664 !important; }
.zt-blog .post-entry .entry-content-header h1.post-title { font: 700 40px/1.15 "IBM Plex Sans", "Segoe UI", system-ui, sans-serif; color: #1B3664; letter-spacing: -.01em; text-transform: none; text-wrap: balance; }
.zt-blog .post-entry .post-meta-infos, .zt-blog .post-entry .post-meta-infos a { font: 400 15px/1.5 "IBM Plex Sans", "Segoe UI", system-ui, sans-serif; color: #5B6472; }
.zt-blog .zt-post figure.zt-hero { margin: 0 0 32px; }
.zt-blog .zt-post figure.zt-hero img { display: block; width: 100%; height: auto; border-radius: 10px; }

/* Type scale: H1 40 / H2 28 / H3 20 / body 18 / small 15 / caption 14 */
.zt-blog .zt-post h2 { font: 700 28px/1.2 var(--zt-sans); color: var(--zt-navy); margin: 52px 0 14px; letter-spacing: -.005em; text-wrap: balance; text-transform: none; }
.zt-blog .zt-post h3 { font: 600 20px/1.4 var(--zt-sans); color: var(--zt-text); margin: 32px 0 8px; text-transform: none; }
.zt-blog .zt-post p, .zt-blog .zt-post li { font-size: 18px; line-height: 1.7; color: var(--zt-text); text-align: left; }
.zt-blog .zt-post p { margin: 0 0 18px; }
.zt-blog .zt-post strong { color: var(--zt-text); font-weight: 600; }
.zt-blog .zt-post a { color: var(--zt-navy); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: rgba(27, 54, 100, .4); }
.zt-blog .zt-post a:hover { color: var(--zt-orange-dark); }
.zt-blog .zt-post a:focus-visible, .zt-blog .zt-post summary:focus-visible { outline: 3px solid var(--zt-orange); outline-offset: 2px; border-radius: 4px; }
.zt-blog .zt-post .zt-lede { font-size: 20px; color: var(--zt-muted); }
.zt-blog .zt-post code.zt-ref { font: 500 .86em var(--zt-mono); background: var(--zt-navy-tint); color: var(--zt-navy); padding: 1px 6px; border-radius: 4px; white-space: nowrap; }

/* Summary box */
.zt-blog .zt-post .zt-summary { background: var(--zt-navy-tint); border-radius: 10px; padding: 24px 28px; margin: 8px 0 0; }
.zt-blog .zt-post .zt-summary h2 { font-size: 22px; margin: 0 0 12px; }
.zt-blog .zt-post .zt-summary ul { margin: 0; padding-left: 20px; }
.zt-blog .zt-post .zt-summary li { margin: 0 0 8px; }
.zt-blog .zt-post .zt-summary li::marker { color: var(--zt-orange); }

/* Tables */
.zt-blog .zt-post .zt-table { margin: 24px 0; overflow-x: auto; border: 1px solid var(--zt-border); border-radius: 10px; }
.zt-blog .zt-post .zt-table table { width: 100%; border-collapse: collapse; margin: 0; border: 0; font-size: 16px; }
.zt-blog .zt-post .zt-table th, .zt-blog .zt-post .zt-table td { text-align: left; padding: 12px 16px; border: 0; border-bottom: 1px solid var(--zt-border); vertical-align: top; font-size: 16px; line-height: 1.5; color: var(--zt-text); background: var(--zt-white); }
.zt-blog .zt-post .zt-table thead th, .zt-blog .zt-post .zt-table thead th.zt-num { font: 600 13px/1.3 var(--zt-sans); letter-spacing: .04em; text-transform: uppercase; color: var(--zt-white); background: var(--zt-navy); border-bottom: 0; }
.zt-blog .zt-post .zt-table tbody tr:nth-child(even) td { background: #F6F8FB; }
.zt-blog .zt-post .zt-table tbody tr:last-child td { border-bottom: 0; }
.zt-blog .zt-post .zt-table .zt-num { font-family: var(--zt-mono); font-variant-numeric: tabular-nums; white-space: nowrap; }
.zt-blog .zt-post .zt-table .zt-new { color: var(--zt-navy); font-weight: 600; }
.zt-blog .zt-post .zt-table tr.zt-total td { font-weight: 600; background: var(--zt-navy-tint); }

/* Figures: in-article images are 1600x900 (16:9) */
.zt-blog .zt-post figure.zt-figure { margin: 28px 0; }
.zt-blog .zt-post figure.zt-figure img { display: block; width: 100%; height: auto; border-radius: 10px; border: 1px solid var(--zt-border); }
.zt-blog .zt-post figure.zt-figure figcaption { font-size: 14px; line-height: 1.5; color: var(--zt-muted); margin-top: 10px; }

.zt-blog .zt-post .zt-note { font-size: 15px; color: var(--zt-muted); font-style: italic; }

/* Ordered list and checklist */
.zt-blog .zt-post ol { padding-left: 22px; }
.zt-blog .zt-post ol li::marker { color: var(--zt-navy); font-weight: 700; }
.zt-blog .zt-post ul.zt-checklist { list-style: none; padding-left: 0; margin: 0 0 18px; }
.zt-blog .zt-post ul.zt-checklist li { display: flex; gap: 12px; align-items: baseline; margin: 0 0 10px; }
.zt-blog .zt-post ul.zt-checklist li::before { content: ""; flex: none; width: 14px; height: 14px; border: 2px solid var(--zt-navy); border-radius: 3px; transform: translateY(2px); }

/* Call to action */
.zt-blog .zt-post .zt-cta { margin: 48px 0 0; background: var(--zt-navy); border-radius: 10px; padding: 32px; }
.zt-blog .zt-post .zt-cta h2 { color: var(--zt-white); margin: 0 0 10px; }
.zt-blog .zt-post .zt-cta p { color: var(--zt-navy-tint); margin: 0 0 18px; }
.zt-blog .zt-post .zt-cta a.zt-button { display: inline-block; background: var(--zt-orange); color: var(--zt-white); font-weight: 600; text-decoration: none; padding: 12px 22px; border-radius: 6px; }
.zt-blog .zt-post .zt-cta a.zt-button:hover { background: var(--zt-orange-dark); color: var(--zt-white); }

.zt-blog .zt-post .zt-disclaimer { font-size: 14px; color: var(--zt-muted); margin-top: 28px; }

/* FAQ */
.zt-blog .zt-post details.zt-faq { border-bottom: 1px solid var(--zt-border); padding: 16px 0; }
.zt-blog .zt-post details.zt-faq summary { font-weight: 600; color: var(--zt-navy); cursor: pointer; font-size: 18px; }
.zt-blog .zt-post details.zt-faq summary::marker { color: var(--zt-orange); }
.zt-blog .zt-post details.zt-faq p { margin: 10px 0 0; }

.zt-blog .zt-post .zt-sources, .zt-blog .zt-post .zt-sources li { font-size: 14px; color: var(--zt-muted); }
.zt-blog .zt-post .zt-sources { margin-top: 40px; }

@media (max-width: 600px) {
  .zt-blog .zt-post, .zt-blog .zt-post p, .zt-blog .zt-post li { font-size: 17px; }
  .zt-blog .zt-post h2 { font-size: 24px; margin-top: 40px; }
  body.zt-blog .post-entry h1.post-title.entry-title { font-size: 30px !important; }
  .zt-blog .zt-post .zt-table .zt-num { white-space: normal; }
  .zt-blog .zt-post .zt-table th, .zt-blog .zt-post .zt-table td { padding: 10px 12px; font-size: 15px; }
  .zt-blog .zt-post .zt-cta { padding: 24px; }
}
