/* Container + rhythm */
.zr-article__wrap {
  max-width: 980px;
  margin-inline: auto;
  padding: 24px 20px;
}
@media (min-width: 1024px) {
  .zr-article__wrap { padding: 40px 16px; }
}

/* Hero */
.zr-article__hero {
  background: #f4f7f6;
  border-bottom: 1px solid #e6ecea;
}
.zr-article__chips { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.zr-article__chip {
  font-size:12px; line-height:1; padding:6px 10px; border-radius:999px;
  border:1px solid #dbe4e2; background:#fff;
}
.zr-article__title { font-size:clamp(28px, 4vw, 44px); line-height:1.1; margin:10px 0 10px; }
.zr-article__sub   { color:#5f6e70; font-size:18px; max-width: 760px; }
.zr-article__meta  { display:flex; gap:18px; flex-wrap:wrap; margin-top:16px; color:#5f6e70; font-size:14px; }

/* Content typography (styles Gutenberg blocks) */
.zr-article__content { background:#fff; }
.zr-article__content .zr-article__wrap { padding-top:28px; }

.zr-article__content p { margin: 0 0 1.1em; line-height:1.7; font-size:18px; color:#1e2b2c; }
.zr-article__content h2 { font-size:30px; margin:1.6em 0 .6em; }
.zr-article__content h3 { font-size:22px; margin:1.4em 0 .6em; }
.zr-article__content ul, .zr-article__content ol { margin: 0 0 1.2em 1.2em; }
.zr-article__content li { margin: .3em 0; }

/* Images + captions */
.zr-article__content .wp-block-image { margin: 1.2em 0; }
.zr-article__content .wp-block-image img { width:100%; height:auto; border-radius:16px; }
.zr-article__content .wp-block-image figcaption {
  text-align:center; font-size:12px; color:#6c7a7b; margin-top:8px;
}

/* Alignment helpers from Gutenberg */
.zr-article__content .alignleft  { float:left;  margin:0.3em 1.2em 0.8em 0; max-width:45%; }
.zr-article__content .alignright { float:right; margin:0.3em 0 0.8em 1.2em; max-width:45%; }
.zr-article__content .aligncenter{ display:block; margin-left:auto; margin-right:auto; }
@media (max-width: 768px) {
  .zr-article__content .alignleft,
  .zr-article__content .alignright { float:none; max-width:100%; margin:1em 0; }
}

/* Wide & Full bleed */
.zr-article__content .alignwide  { width:min(1200px, 100vw - 32px); margin-left:calc(50% - min(1200px, 100vw - 32px)/2); }
.zr-article__content .alignfull  { width:100vw; margin-left:50%; transform:translateX(-50%); }
.zr-article__content .alignfull img,
.zr-article__content .alignwide img { border-radius:20px; }

/* Quote */
.zr-article__content blockquote {
  border-left:4px solid #0b3d33; padding-left:16px; color:#2b3a3b; margin:1.2em 0;
  font-style:italic; background:#f6faf9; border-radius:8px;
}

/* Author */
.zr-article__footer { background:#f7fbfa; border-top:1px solid #e6ecea; }
.zr-article__author { display:flex; align-items:center; gap:12px; }
.zr-article__avatar { border-radius:50%; }
.zr-article__author-name { font-weight:600; }