/* ======================================================================
   Article pages: reading layout, share rail, related reading.
   ====================================================================== */
.cgs-article__header { padding-top: clamp(1.5rem, 4vw, 2.75rem); }
.cgs-article__title { font-size: clamp(2rem, 4.2vw, 3rem); line-height: 1.15; margin-bottom: .75rem; letter-spacing: -.005em; }
.cgs-article__standfirst { font-size: clamp(1.15rem, 2vw, 1.35rem); line-height: 1.5; margin: 0 0 1rem; }
.cgs-article__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .25rem 1rem; padding-block: .75rem; border-block: 1px solid var(--cgs-border); margin: 1rem 0 1.75rem; }
.cgs-article__meta .cgs-byline { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.cgs-article__meta .cgs-byline p { margin: 0; }
.cgs-article__readtime { margin: 0; font-size: .9rem; color: var(--cgs-muted); }
.cgs-article__readtime::before { content: "·"; margin-right: .75rem; color: var(--cgs-border); }

.cgs-article__figure { max-width: calc(960px + 2 * var(--cgs-gutter)); margin: 0 auto 2rem; padding-inline: var(--cgs-gutter); box-sizing: border-box; }
.cgs-article__figure img { width: 100%; max-height: 560px; object-fit: cover; border-radius: 6px; display: block; }
.cgs-article__figure figcaption { font-size: .85rem; color: var(--cgs-muted); margin-top: .5rem; }

/* Body column with a sticky share rail on wide screens */
.cgs-article__layout { display: grid; grid-template-columns: 1fr minmax(0, var(--cgs-narrow)) 1fr; column-gap: 2rem; padding-inline: var(--cgs-gutter); }
.cgs-article__body { grid-column: 2; min-width: 0; }
.cgs-article__rail { grid-column: 1; justify-self: end; }
.cgs-article__rail .cgs-share { position: sticky; top: 1.5rem; }
@media (max-width: 1100px) {
	.cgs-article__layout { grid-template-columns: minmax(0, 1fr); max-width: calc(var(--cgs-narrow) + 2 * var(--cgs-gutter)); margin-inline: auto; }
	.cgs-article__body { grid-column: 1; }
	.cgs-article__rail { display: none; }
}

/* Reading typography; neutralise legacy inline styling without changing the stored HTML */
.cgs-article__body { font-size: 1.125rem; line-height: 1.75; }
.cgs-article__body > p:first-child { font-size: 1.22rem; line-height: 1.65; color: var(--cgs-ink); }
.cgs-content [style*="color"] { color: inherit !important; }
.cgs-content [style*="font-family"] { font-family: inherit !important; }
.cgs-content [style*="font-size"] { font-size: inherit !important; }
.cgs-content [style*="background"] { background: transparent !important; }
.cgs-content p:empty, .cgs-content p:has(> span:empty:only-child), .cgs-content p:has(> br:only-child) { display: none; }
.cgs-content h2, .cgs-content h3 { margin-top: 2rem; }
.cgs-content a { text-underline-offset: .18em; }
.cgs-content img { border-radius: 4px; }
.cgs-content ul, .cgs-content ol { padding-left: 1.4rem; }
.cgs-content li { margin-bottom: .4rem; }
.cgs-content blockquote { font-family: var(--wp--preset--font-family--heading, Georgia, serif); font-size: 1.25rem; line-height: 1.5; color: var(--cgs-logo-green); }
.cgs-content em:only-child { color: var(--cgs-muted); }

/* Share buttons */
.cgs-share { display: flex; align-items: center; gap: .45rem; flex-wrap: wrap; }
.cgs-share--rail { flex-direction: column; }
.cgs-share__label { font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--cgs-muted); margin-right: .25rem; }
.cgs-share__btn { display: inline-flex; align-items: center; justify-content: center; gap: .4rem; min-height: 2.4rem; min-width: 2.4rem; padding: 0 .65rem; border: 1px solid var(--cgs-border); border-radius: 999px; background: #fff; color: var(--cgs-ink); font: inherit; font-size: .85rem; font-weight: 600; text-decoration: none; cursor: pointer; transition: background .15s, color .15s, border-color .15s; }
.cgs-share--rail .cgs-share__btn { padding: 0; width: 2.4rem; }
.cgs-share__btn:hover, .cgs-share__btn:focus-visible { color: #fff; border-color: transparent; }
.cgs-share__btn--facebook:hover, .cgs-share__btn--facebook:focus-visible { background: #1877f2; }
.cgs-share__btn--x:hover, .cgs-share__btn--x:focus-visible { background: #000; }
.cgs-share__btn--linkedin:hover, .cgs-share__btn--linkedin:focus-visible { background: #0a66c2; }
.cgs-share__btn--whatsapp:hover, .cgs-share__btn--whatsapp:focus-visible { background: #128c3e; }
.cgs-share__btn--telegram:hover, .cgs-share__btn--telegram:focus-visible { background: #1b8ac4; }
.cgs-share__btn--email:hover, .cgs-share__btn--email:focus-visible, .cgs-share__btn--copy:hover, .cgs-share__btn--copy:focus-visible { background: var(--cgs-logo-green); }
.cgs-share__btn.is-copied { background: var(--cgs-logo-green); color: #fff; }
.cgs-icon { flex: none; }
@media (max-width: 600px) { .cgs-share--row .cgs-share__text { display: none; } .cgs-share--row .cgs-share__btn { padding: 0; width: 2.4rem; } }

/* Article footer */
.cgs-article__footer { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--cgs-border); display: flex; flex-direction: column; gap: 1.25rem; }
.cgs-article__footer > * { margin: 0; }
.cgs-article__more-by a { font-weight: 700; text-decoration: none; color: var(--cgs-logo-green); }
.cgs-article__more-by a:hover, .cgs-article__more-by a:focus { text-decoration: underline; }
.cgs-article__chips { gap: .45rem; }
.cgs-article__chips .cgs-chip { font-size: .85rem; padding: .3rem .75rem; }

/* Related reading */
.cgs-related-reading { margin-top: clamp(2.5rem, 6vw, 4rem); padding-block: clamp(2rem, 5vw, 3rem); background: var(--cgs-surface); }
.cgs-related-reading__title { margin: 0 0 1.5rem; padding-bottom: .5rem; border-bottom: 3px solid var(--cgs-logo-green); font-size: clamp(1.4rem, 2.2vw, 1.8rem); }
.cgs-related-reading + .cgs-footer { margin-top: 0; }

/* Publication sidebar stays in view */
@media (min-width: 861px) { .cgs-sticky-side { position: sticky; top: 1.5rem; } }
.cgs-sticky-side > * + * { margin-top: 1.5rem; }
