/* ======================================================================
   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(1040px + 2 * var(--cgs-gutter)); margin: 0 auto clamp(1.75rem, 4vw, 2.75rem); padding-inline: var(--cgs-gutter); box-sizing: border-box; }
.cgs-article__frame { position: relative; overflow: hidden; isolation: isolate; border-radius: 8px; background: #10251a; display: flex; justify-content: center; }
.cgs-article__frame::before { content: ""; position: absolute; inset: -30px; z-index: -1; background: var(--cgs-bg, none) center / cover no-repeat; filter: blur(26px) brightness(.7) saturate(1.1); }
.cgs-article__frame img { display: block; width: auto; max-width: 100%; height: auto; max-height: min(620px, 70vh); }
.cgs-article__figure figcaption { font-size: .85rem; color: var(--cgs-muted); margin-top: .6rem; padding-left: .75rem; border-left: 2px solid var(--cgs-logo-green); }

/* Three columns on wide screens: share rail | text | contents */
.cgs-article__layout { display: grid; grid-template-columns: minmax(3.5rem, 1fr) minmax(0, var(--cgs-narrow)) minmax(0, 1fr); column-gap: clamp(1.5rem, 3vw, 3rem); 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; }
.cgs-article__aside { grid-column: 3; min-width: 0; max-width: 17rem; }
.cgs-toc--side { position: sticky; top: 1.5rem; max-height: calc(100vh - 3rem); overflow: auto; padding-left: 1rem; border-left: 2px solid var(--cgs-border); }
.cgs-toc__title { margin: 0 0 .6rem; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--cgs-muted); }
.cgs-toc ol { list-style: none; margin: 0; padding: 0; display: grid; gap: .1rem; }
.cgs-toc a { display: block; padding: .3rem 0; font-size: .86rem; line-height: 1.35; color: var(--cgs-muted); text-decoration: none; transition: color .15s; }
.cgs-toc__item--3 a { padding-left: .8rem; font-size: .82rem; }
.cgs-toc a:hover, .cgs-toc a:focus { color: var(--cgs-logo-green); text-decoration: underline; }
.cgs-toc--side a.is-active { color: var(--cgs-logo-green); font-weight: 700; position: relative; }
.cgs-toc--side a.is-active::before { content: ""; position: absolute; left: calc(-1rem - 2px); top: .25rem; bottom: .25rem; width: 2px; background: var(--cgs-logo-green); }
.cgs-toc--inline { display: none; margin: 0 0 1.75rem; border: 1px solid var(--cgs-border); border-radius: 6px; background: var(--cgs-surface); font-size: 1rem; }
.cgs-toc--inline summary { cursor: pointer; padding: .8rem 1rem; font-weight: 700; font-size: .92rem; list-style: none; display: flex; align-items: center; gap: .5rem; }
.cgs-toc--inline summary::-webkit-details-marker { display: none; }
.cgs-toc--inline summary::after { content: "+"; margin-left: auto; font-size: 1.2rem; color: var(--cgs-logo-green); }
.cgs-toc--inline[open] summary::after { content: "\2013"; }
.cgs-toc__count { min-width: 1.4rem; padding: 0 .35rem; border-radius: 999px; background: #eaf3ed; color: var(--cgs-logo-green); font-size: .75rem; text-align: center; }
.cgs-toc--inline ol { padding: 0 1rem .9rem; }
@media (max-width: 1199px) {
	.cgs-article__aside { display: none; }
	.cgs-article__layout.has-toc .cgs-toc--inline { display: block; }
}
@media (max-width: 1000px) {
	.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 progress */
.cgs-progress { position: fixed; top: 0; left: 0; right: 0; z-index: 1000; height: 3px; pointer-events: none; }
.cgs-progress span { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--cgs-logo-green), #0b9a5c); transition: width .1s linear; }
body.admin-bar .cgs-progress { top: 32px; }

/* Byline with author photos */
.cgs-byline2 { display: flex; align-items: center; gap: .85rem; min-width: 0; }
.cgs-byline2__avatars { display: flex; flex: none; }
.cgs-byline2__avatar { width: 46px; height: 46px; border-radius: 50%; object-fit: cover; border: 2px solid #fff; box-shadow: 0 0 0 1px var(--cgs-border); box-sizing: border-box; }
.cgs-byline2__avatars > * + * { margin-left: -12px; }
.cgs-byline2__avatar--initials { display: inline-flex; align-items: center; justify-content: center; background: linear-gradient(160deg, #0b7a49, #006238); color: #fff; font-weight: 700; font-size: .9rem; }
.cgs-byline2__text p { margin: 0; }
.cgs-byline2__names { font-weight: 700; font-size: .98rem; line-height: 1.35; }
.cgs-byline2__names a { color: var(--cgs-ink); text-decoration: none; border-bottom: 1px solid rgba(0, 98, 56, .35); }
.cgs-byline2__names a:hover, .cgs-byline2__names a:focus { color: var(--cgs-logo-green); border-bottom-color: currentColor; }
.cgs-byline2__role { display: block; font-weight: 500; font-size: .84rem; color: var(--cgs-muted); }
.cgs-byline2__meta { font-size: .86rem; color: var(--cgs-muted); display: flex; flex-wrap: wrap; align-items: center; gap: .2rem .35rem; margin-top: .15rem !important; }
.cgs-byline2__meta .cgs-badge { margin-left: .5rem; }

/* Reading typography; neutralise legacy inline styling without changing the stored HTML */
.cgs-article__body { font-size: clamp(1.06rem, 1.1vw + .8rem, 1.18rem); line-height: 1.8; }
.cgs-content .cgs-subhead, .cgs-article__body h2 { font-size: clamp(1.3rem, 2vw, 1.6rem); line-height: 1.3; margin: 2.4rem 0 .9rem; scroll-margin-top: 1.5rem; }
.cgs-article__body h3 { font-size: 1.25rem; margin: 2rem 0 .75rem; scroll-margin-top: 1.5rem; }
.cgs-single--post:not([lang="bn"]) .cgs-article__body > p:first-of-type::first-letter { float: left; font-family: var(--wp--preset--font-family--heading, Georgia, serif); font-size: 3.5em; line-height: .82; font-weight: 700; color: var(--cgs-logo-green); margin: .08em .1em 0 0; }
.cgs-article__body > p:first-of-type { font-size: 1.1em; line-height: 1.7; 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; } }
/* Small figures (portraits, logos): their own size, no frame (O48) */
.cgs-figure--small { display: inline-block; padding: 0; border: 0; background: none; box-shadow: none; }
.cgs-figure--small img { width: auto; max-width: 100%; height: auto; border-radius: 8px; }
/* Phones: the share icons stay on one line */
@media (max-width: 480px) {
	.cgs-share--row { flex-wrap: nowrap; gap: .35rem; }
	.cgs-share--row .cgs-share__label { display: none; }
	.cgs-share--row .cgs-share__btn { width: 2.3rem; height: 2.3rem; flex: 0 0 auto; }
}

/* 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; }

/* How to cite */
.cgs-cite { padding: 1rem 1.15rem; border: 1px dashed #b9d4c2; border-radius: 6px; background: #f6faf7; }
.cgs-cite__title { margin: 0 0 .35rem; font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--cgs-logo-green); }
.cgs-cite__text { margin: 0 0 .7rem; font-size: .9rem; line-height: 1.55; color: var(--cgs-ink); word-break: break-word; }
.cgs-cite__copy { display: inline-flex; align-items: center; gap: .4rem; padding: .35rem .75rem; border: 1px solid var(--cgs-border); border-radius: 999px; background: #fff; font: inherit; font-size: .8rem; font-weight: 700; color: var(--cgs-ink); cursor: pointer; }
.cgs-cite__copy:hover, .cgs-cite__copy:focus-visible, .cgs-cite__copy.is-copied { background: var(--cgs-logo-green); border-color: var(--cgs-logo-green); color: #fff; }
.cgs-cite__copy .cgs-icon { width: 14px; height: 14px; }

/* More by the author, related reading: three columns */
.cgs-more-by { margin-top: clamp(2.5rem, 6vw, 4rem); }
.cgs-more-by + .cgs-related-reading { margin-top: clamp(2rem, 5vw, 3rem); }
.cgs-collection--three .cgs-collection__items { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 900px) { .cgs-collection--three .cgs-collection__items { grid-template-columns: repeat(2, minmax(0, 1fr)); } .cgs-collection--three .cgs-card:nth-child(3) { display: none; } }
@media (max-width: 560px) { .cgs-collection--three .cgs-collection__items { grid-template-columns: 1fr; } .cgs-collection--three .cgs-card:nth-child(3) { display: flex; } }
.cgs-collection--three .cgs-card__excerpt { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: .92rem; }

/* Article footer spacing */
.cgs-article__footer { gap: 1.5rem; }
.cgs-article__footer .cgs-author-box { margin: 0; }
.cgs-related-reading .cgs-card--cgs_coverage:not(:has(.cgs-card__media)) { padding: 1rem 1.1rem; border: 1px solid var(--cgs-border); border-top: 3px solid var(--cgs-logo-green); border-radius: 6px; background: #fff; }
