/* Enough breathing room beneath the real navigation and optional WordPress toolbar. */
.single-post { --pm-journal-admin-height: 0px; --pm-journal-top: calc(var(--pm-journal-header-bottom, calc(var(--nav-height, 90px) + var(--pm-journal-admin-height))) + 32px); }
.single-post.admin-bar { --pm-journal-admin-height: var(--wp-admin--admin-bar--height, 32px); }
.single-post .journal-toc { top: var(--pm-journal-top); max-height: calc(100svh - var(--pm-journal-top) - 24px); overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: var(--line) transparent; padding-right: 6px; }
.single-post .journal-toc details[open] { max-height: none; overflow: visible; }
.single-post .journal-toc summary { cursor: pointer; }
.single-post .journal-prose h2 { scroll-margin-top: calc(var(--pm-journal-top) + 25px); }
.journal-toc .pm-journal-invitation { padding: 25px 22px; margin: 20px 0 0; background: var(--wash); border: 1px solid var(--line); }
.journal-toc .pm-journal-invitation .eyebrow { margin: 0 0 16px; font-size: 9px; line-height: 1.6; letter-spacing: .13em; color: var(--muted); }
.journal-toc .pm-journal-invitation h2 { font: 400 30px/1.08 var(--serif); letter-spacing: -.025em; margin: 0 0 16px; }
.journal-toc .pm-journal-invitation p:not(.eyebrow) { font: 12px/1.8 var(--sans); color: var(--muted); margin: 0 0 20px; }
.journal-toc .pm-journal-invitation .wp-block-button { width: 100%; }
.journal-toc .pm-journal-invitation .wp-block-button__link { display: flex; justify-content: center; align-items: center; gap: 9px; padding: 12px 10px; min-height: 44px; font-size: 11px; line-height: 1.5; color: var(--paper); background: var(--ink); }
.journal-toc .pm-journal-invitation .wp-block-button__link:hover { background: var(--muted); }

/* Compact series cards keep the large opening highlights distinct. */
.pm-collection-directory { padding-block: 30px 90px; scroll-margin-top: calc(var(--nav-height, 90px) + 35px); }
.pm-collection-directory-head { display: flex; justify-content: space-between; align-items: end; gap: 45px; padding-top: 38px; border-top: 1px solid var(--line); margin-bottom: 22px; }
.pm-collection-directory-head .eyebrow { margin: 0 0 19px; }
.pm-collection-directory-head h2 { font: 400 clamp(38px,4vw,55px)/1.08 var(--serif); letter-spacing: -.035em; margin: 0; }
.pm-collection-directory-head > p { max-width: 350px; font-size: 14px; line-height: 1.8; color: var(--muted); margin: 0; }
.pm-collection-count { font-size: 10px; letter-spacing: .08em; color: var(--muted); padding-bottom: 18px; margin: 0; }
.pm-collection-mini-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px 35px; }
.pm-collection-mini { min-width: 0; border-top: 1px solid var(--line); padding-top: 22px; }
.pm-collection-mini-link { display: grid; grid-template-columns: minmax(85px,.8fr) minmax(0,1.2fr); gap: 20px; align-items: center; text-decoration: none; height: 100%; }
.pm-collection-mini-image { margin: 0; aspect-ratio: 4/5; background: var(--wash); padding: 12px; display: grid; place-items: center; overflow: hidden; }
.pm-collection-mini-image img { width: 100%; height: 100%; object-fit: contain; transition: transform .45s ease; }
.pm-collection-mini-link:hover img { transform: scale(1.04); }
.pm-collection-mini-copy { min-width: 0; }
.pm-collection-mini .eyebrow { font-size: 9px; color: var(--muted); margin: 0 0 12px; }
.pm-collection-mini h3 { font: 400 clamp(24px,2.1vw,30px)/1.15 var(--serif); letter-spacing: -.025em; margin: 0; overflow-wrap: anywhere; }
.pm-collection-excerpt { font-size: 12px; line-height: 1.7; color: var(--muted); margin: 12px 0 0; }
.pm-collection-view { display: flex; gap: 13px; align-items: center; margin-top: 20px; font-size: 10px; color: var(--muted); }
.pm-collection-view > span { font-size: 19px; color: var(--icon); }
.pm-collection-mark { font: italic 46px var(--serif); color: var(--icon); }
.pm-collection-mini-link:focus-visible { outline: 2px solid var(--icon); outline-offset: 7px; }
.pm-collection-pagination { margin-top: 38px; border-top: 1px solid var(--line); padding-top: 22px; }
.pm-collection-pagination ul { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; list-style: none; padding: 0; margin: 0; }
.pm-collection-pagination li { margin: 0; }
.pm-collection-pagination :is(a,span.page-numbers) { min-width: 42px; min-height: 42px; display: flex; align-items: center; justify-content: center; padding: 8px 13px; border: 1px solid var(--line); font-size: 12px; }
.pm-collection-pagination .current { background: var(--ink); color: var(--paper); }
.pm-collection-pagination a:hover { background: var(--wash); }
.pm-collection-empty { color: var(--muted); font-size: 14px; }
@media(max-width:1100px) {
 .pm-collection-mini-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .pm-collection-mini-link { grid-template-columns: minmax(90px,.7fr) minmax(0,1.3fr); }
}
@media(max-width:760px) {
 .single-post { --pm-journal-top: calc(var(--pm-journal-header-bottom, calc(var(--nav-height, 72px) + var(--pm-journal-admin-height))) + 14px); }
 .single-post .journal-toc { max-height: min(65svh,calc(100svh - var(--pm-journal-top) - 24px)); padding: 15px 14px; border: 1px solid var(--line); }
 .single-post .journal-toc:has(details:not([open])) .pm-journal-invitation { display: none; }
 .single-post .journal-prose h2 { scroll-margin-top: calc(var(--pm-journal-top) + 76px); }
 .journal-toc .pm-journal-invitation { margin-top: 22px; }
 .journal-toc .pm-journal-invitation h2 { font-size: 29px; }
 .pm-collection-directory { padding-block: 15px 55px; }
 .pm-collection-directory-head { display: block; padding-top: 28px; }
 .pm-collection-directory-head > p { margin-top: 20px; }
 .pm-collection-mini-grid { gap: 22px; }
 .pm-collection-mini-link { grid-template-columns: 95px minmax(0,1fr); gap: 18px; }
 .pm-collection-mini-image { padding: 9px; }
}
@media(max-width:600px) {
 .pm-collection-mini-grid { grid-template-columns: minmax(0,1fr); }
 /* WordPress's small-screen toolbar scrolls away instead of remaining fixed. */
 .single-post.admin-bar { --pm-journal-admin-height: 0px; }
 .single-post.admin-bar .site-header { top: 0; }
}
@media(prefers-reduced-motion:reduce) { .pm-collection-mini-image img { transition: none; } }
