/* Blog post pages only (pages-blog tab, 3 Nov), beside pages-campaign.css's post styles. */
/* Embedded players keep the size their post gives them, but never wider than the column (a YouTube player is 560px wide). */
.post-body iframe { max-width: 100%; }
/* A long web address in a post's words wraps rather than pushing the page sideways on a phone. */
.post-body { overflow-wrap: anywhere; }
.post-grid > * { min-width: 0; }
/* A post's own embedded button (the mental fitness post's 400px Calendly button) fits the column on a phone. */
.post-body .w-embed a { max-width: 100%; }
/* A post with no headings has no contents list: the script hides it, and display: grid mustn't bring it back. */
.post-toc[hidden] { display: none; }
/* Fix list 10 (3 Nov). 4 and 9: a post with fewer than two headings has no contents list; the article takes the one column. */
.post-grid.no-toc { grid-template-columns: minmax(0, 720px); }
/* 7: a main picture that is a text banner, or far from 2:1, is shown whole rather than cropped. */
.post-main-pic img.fit { aspect-ratio: auto; height: auto; max-height: 560px; object-fit: contain; background: #fff; }
/* 11: no lone last word in a long post title on a phone. */
.post-hero h1 { text-wrap: balance; }
/* Full sweep, 11 Nov (golive-order/full-sweep-11nov/report.md) */
/* 28: every post carries one of three import dates (14 May, 15 May, 17 Jun 2026), so the date is hidden until Adam's list of real dates arrives. The byline, on the same class, still shows. */
.post-date:not(.post-byline) { display: none; }
