/* PHN Chapters: identity v2.2 (PHN Black type, gray rules, outlined boxes, links in the site's red). */
.phn-ch { color: #333132; }
.phn-ch-jump { font-size: 0.95em; border-top: 1px solid #a6a6a6; border-bottom: 1px solid #a6a6a6; padding: 0.6em 0; margin: 0 0 2em; }
.phn-ch-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.25rem; }
/* Each block takes eight rows of the page's grid (subgrid), so its parts line up with its neighbors' (0.1.2). */
.phn-ch-card { border: 1px solid #a6a6a6; padding: 1.25em 1.4em; scroll-margin-top: 140px; display: grid; grid-template-rows: subgrid; grid-row: span 8; row-gap: 0; align-content: start; }
.phn-ch-name { margin: 0 0 0.6em; font-size: 1.25em; line-height: 1.2; }
.phn-ch-logo { display: block; width: auto; max-width: 100%; height: 72px; object-fit: contain; object-position: left center; }
.phn-ch-title { font-weight: 700; margin: 0 0 0.3em; }
.phn-ch-serves, .phn-ch-rhythm { margin: 0 0 0.4em; font-size: 0.95em; }
.phn-ch-label { font-family: "IBM Plex Mono", ui-monospace, monospace; font-size: 0.75em; letter-spacing: 0.04em; text-transform: uppercase; margin: 0.9em 0 0.35em; padding: 0 0 0.3em; border-bottom: 1px solid #a6a6a6; }
.phn-ch-dates { list-style: none; margin: 0 0 0.5em; padding: 0; }
.phn-ch-when { margin: 0 0 0.8em; }
.phn-ch-tznote { font-size: 0.8em; margin: 0; }
.phn-ch-dates li { margin: 0 0 0.25em; font-weight: 600; }
.phn-ch-tba { margin: 0 0 1em; font-size: 0.95em; }
.phn-ch-buttons { margin: 0.2em 0 0.8em; display: flex; flex-wrap: wrap; gap: 0.5em; align-content: start; }
.phn-ch-button { display: inline-block; padding: 0.5em 1.1em; border: 2px solid #333132; color: #333132 !important; text-decoration: none !important; font-weight: 700; }
.phn-ch-button:hover, .phn-ch-button:focus { text-decoration: underline !important; text-underline-offset: 0.2em; }
.phn-ch-links { font-size: 0.9em; margin: 0; }
@media (max-width: 1000px) { .phn-ch-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .phn-ch-grid { grid-template-columns: 1fr; } }
.phn-ch-card > p:empty { margin: 0; }
/* A chapter's own page (0.1.5): its one block, as wide as a reading column. */
.phn-ch-one .phn-ch-card-one { display: block; max-width: 36rem; }
.phn-ch-one .phn-ch-label:first-of-type { margin-top: 0.6em; }
/* [phn_calendar] (0.2.0): a page's next sessions, one per line, with a link to register. */
.phn-cal-list { list-style: none; margin: 0 0 1em; padding: 0; }
.phn-cal-list li { margin: 0 0 0.5em; padding: 0 0 0.5em; border-bottom: 1px solid #d9d9d9; }
.phn-cal-day { font-weight: 700; }
.phn-cal-link { font-weight: 700; }

/* [phn_calendar layout="buttons"] (0.2.4): the day's line, then the session buttons side by side, wrapping on a phone. */
.phn-cal-top .phn-cal-when { margin: 0 0 0.6em; }
.phn-cal-top .phn-cal-buttons { display: flex; flex-wrap: wrap; gap: 0.6em; }
