/* Peter Singer · Books extension v8.2.0. Source: Book inner page PDF. */
.psh-books-page,.psh-book-page{--bk-ink:var(--wp--preset--color--ink,#28211c);--bk-body:var(--wp--preset--color--body-text,#514b4e);--bk-paper:var(--wp--preset--color--paper,#f5f2ed);--bk-tan:#efe2cf;--bk-line:#ded4ca;color:var(--bk-ink);background:var(--bk-paper);font-family:Archivo,Arial,sans-serif;box-sizing:border-box}
.psh-books-page *,.psh-book-page *{box-sizing:border-box}
.psh-books-page :is(h1,h2,h3,p),.psh-book-page :is(h1,h2,h3,p){margin:0}
.psh-books-page :is(h1,h2,h3),.psh-book-page :is(h1,h2,h3){font-family:Archivo,Arial,sans-serif}
.psh-books-page a,.psh-book-page a{text-decoration:none;color:inherit}
.psh-books-page a:focus-visible,.psh-book-page a:focus-visible{outline:3px solid var(--wp--preset--color--wine,#692f3b);outline-offset:3px}
.psh-bk-hero{background:var(--wp--preset--color--book-sand,#f0e3ce);padding:20px clamp(20px,3vw,48px) 42px}
.psh-bk-crumbs{font-size:12px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;margin-bottom:22px;color:#7b5d52}
.psh-bk-crumbs a:hover{text-decoration:underline}
.psh-bk-hero-grid{display:grid;grid-template-columns:minmax(200px,29%) minmax(0,1fr);align-items:start;gap:clamp(28px,4.1vw,70px)}
.psh-bk-cover .psh-tpx-cover{min-height:330px;height:clamp(350px,36vw,520px);width:100%;border-radius:12px;padding:28px 27px;box-shadow:0 18px 24px -20px #24192266}
.psh-bk-cover .psh-tpx-cover-title{font-size:clamp(23px,2.45vw,38px)}
.psh-bk-cover img{width:100%;height:auto;max-height:520px;object-fit:contain}
.psh-bk-hero-text{padding-top:7px}
.psh-bk-eyebrow{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#a65c3f;margin:0 0 14px!important}
.psh-bk-hero h1{font-size:clamp(38px,4.5vw,78px);font-weight:850;letter-spacing:-.049em;line-height:1.02;text-transform:uppercase;margin:0 0 10px!important;max-width:980px}
.psh-bk-subtitle{font-size:20px;font-weight:600;line-height:1.25;margin-bottom:11px!important}
.psh-bk-summary{font-size:17px;line-height:1.5;color:#594d45;max-width:820px;margin-bottom:16px!important}
.psh-bk-credit{font-size:14px;line-height:1.45;color:#664d42;margin-top:5px!important}
.psh-bk-actions{display:flex;flex-wrap:wrap;gap:11px;align-items:center;margin:23px 0 21px}
.psh-bk-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 22px;border-radius:30px;font-size:13px;font-weight:650;line-height:1.25;border:1px solid #9f725e;transition:background .15s ease}
.psh-bk-primary{background:var(--wp--preset--color--book-copper,#b85f3f);color:white!important;border-color:#b85f3f}
.psh-bk-primary:hover{background:#984a30}
.psh-bk-secondary{background:#dbbd98;color:#27201c!important;border-color:#dbbd98}
.psh-bk-secondary:hover{background:#d0a878}
.psh-bk-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px;margin:22px 0 0;padding-top:9px;border-top:1px solid #d6c8b8}
.psh-bk-facts>div{padding:12px 0 10px;border-bottom:1px solid #dfd3c5;min-width:0}
.psh-bk-facts dt{font-size:11px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:#806653;margin:0 0 4px}
.psh-bk-facts dd{font-size:14px;line-height:1.45;margin:0;overflow-wrap:anywhere}
.psh-bk-layout{display:grid!important;grid-template-columns:minmax(0,2.1fr) minmax(245px,1fr);gap:clamp(25px,4vw,70px);padding:44px clamp(20px,3vw,48px) 56px;background:var(--wp--preset--color--book-cream,#f7f2e9);align-items:start}
.psh-bk-editorial{min-width:0}
.psh-bk-editorial h2,.psh-bk-buy h2{font-size:clamp(28px,3vw,47px);font-weight:850;line-height:1.1;letter-spacing:-.035em;text-transform:uppercase;margin:0 0 16px}
.psh-bk-editorial h2:not(:first-child){margin-top:38px}
.psh-bk-editorial p,.psh-bk-editorial li{font-size:17px;line-height:1.7;max-width:880px;color:#4d4742}
.psh-bk-editorial p+p{margin-top:14px}
.psh-bk-editorial ul,.psh-bk-editorial ol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:10px 0 20px;padding:0;list-style:none}
.psh-bk-editorial li{list-style:none;border-radius:12px;padding:15px 17px;background:#eee7de;font-size:15px;line-height:1.45}
.psh-bk-editorial blockquote{border:1px solid #dfd4c9;border-radius:12px;padding:22px 25px;background:#f3eee7}
.psh-bk-editorial blockquote p{font-size:18px;line-height:1.5}
.psh-bk-editorial blockquote cite{display:block;font-size:12px;color:var(--bk-body);letter-spacing:.04em;text-transform:uppercase;margin-top:14px}
.psh-bk-buy-column{min-width:0}
.psh-bk-buy{padding-left:0}
.psh-bk-overline{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#865b4d;font-weight:700;margin-bottom:7px!important}
.psh-bk-buy h2{font-size:27px;margin-bottom:18px}
.psh-bk-retailer{border-top:1px solid #d8ccbf;padding:14px 0 12px}
.psh-bk-retailer:last-child{border-bottom:1px solid #d8ccbf}
.psh-bk-retailer-name,.psh-bk-retailer strong{font-size:16px;font-weight:750}
.psh-bk-retailer-name:hover{text-decoration:underline}
.psh-bk-retailer p{font-size:14px;line-height:1.45;color:#72645d;margin-top:4px}
.psh-bk-buy-note,.psh-bk-empty{font-size:13px;line-height:1.6;color:#827269;margin:18px 0 0!important}
.psh-bk-related{padding:40px clamp(20px,3vw,48px) 50px;background:#f4efe5}
.psh-bk-related>h2{font-size:clamp(31px,3.1vw,49px);font-weight:850;text-transform:uppercase;letter-spacing:-.037em;line-height:1.12;margin:0 0 22px}
.psh-bk-related-track{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:23px}
.psh-bk-related-card{min-width:0;scroll-snap-align:start}
.psh-bk-related-card .psh-tpx-cover{height:clamp(220px,24vw,360px);padding:20px}
.psh-bk-related-card .psh-tpx-cover-title{font-size:clamp(17px,2.1vw,28px)}
.psh-bk-related-card .psh-tpx-cover-author,.psh-bk-related-card .psh-tpx-cover-year{font-size:10px}
.psh-bk-related-card h3{font-size:17px;font-weight:750;line-height:1.3;margin:11px 0 0}
.psh-bk-related.is-carousel .psh-bk-related-track{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(230px,25%);overflow-x:auto;scroll-snap-type:x mandatory;overscroll-behavior-x:contain;scrollbar-width:thin}
.psh-bk-slider-controls{display:flex;justify-content:flex-end;gap:8px;margin:-50px 0 22px}
.psh-bk-slider-controls button{border:1px solid #b4a69a;background:transparent;border-radius:50%;height:38px;width:38px;cursor:pointer}
.psh-books-page{min-height:80vh;padding:45px clamp(20px,3vw,48px) 80px}
.psh-books-page>h1{font-size:clamp(43px,5vw,76px);font-weight:850;text-transform:uppercase;line-height:1.08;letter-spacing:-.05em;margin-bottom:12px}
.psh-books-page>.wp-block-paragraph,.psh-books-page>p{font-size:19px;color:var(--bk-body);margin-bottom:26px}
.psh-bk-filters{display:grid;grid-template-columns:minmax(170px,1.6fr) repeat(5,minmax(115px,1fr)) auto auto;gap:12px;align-items:end;background:#eee7de;padding:22px 20px;margin:26px 0 16px}
.psh-bk-filters label{display:grid;gap:5px;min-width:0;font-size:12px;letter-spacing:.02em;font-weight:750}
.psh-bk-filters :is(input,select){width:100%;font:inherit;font-size:14px;min-height:44px;padding:8px 9px;background:#fffdf9;color:var(--bk-ink);border:1px solid #c7b9ad;border-radius:2px}
.psh-bk-filters button{height:44px;padding:0 17px;background:var(--wp--preset--color--wine,#692f3b);color:white;border:0;font:inherit;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap}
.psh-bk-clear{font-size:13px;padding:14px 0;text-align:center}
.psh-bk-result-count{font-size:14px;color:var(--bk-body);margin:16px 0 23px!important}
.psh-bk-library-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:35px 22px}
.psh-bk-library-card{min-width:0}
.psh-bk-library-card .psh-tpx-cover{height:clamp(220px,25vw,360px);padding:22px}
.psh-bk-library-card .psh-tpx-cover-title{font-size:clamp(18px,2.2vw,29px)}
.psh-bk-role{display:block;color:#995a42;text-transform:uppercase;letter-spacing:.035em;font-size:12px;font-weight:650;margin:14px 0 5px}
.psh-bk-library-card h2{font-size:21px;font-weight:750;line-height:1.27}
.psh-bk-library-card p{font-size:15px;line-height:1.45;color:var(--bk-body);margin-top:7px}
.psh-bk-pagination{display:flex;gap:11px;justify-content:center;margin:45px 0 0}
.psh-bk-pagination a{padding:9px 13px;border:1px solid #d2c7ba}
.psh-bk-pagination a[aria-current="page"]{background:var(--wp--preset--color--wine,#692f3b);color:white}
/* The global newsletter appears BEFORE the existing footer without modifying footer.php. */
.psh-global-substack{width:100%;display:grid;grid-template-columns:1fr 1fr;gap:50px;background:#e7e9e2;padding:50px clamp(20px,3vw,48px);font-family:Archivo,Arial,sans-serif}
.psh-global-substack .ap-newsletter-heading,.psh-global-substack .ap-newsletter-action{min-width:0}
.psh-global-substack .ap-newsletter-heading h2{font-size:clamp(31px,3.5vw,53px);line-height:1.1;font-weight:850}
.psh-global-substack .ap-newsletter-action h3{font-size:19px;margin-bottom:12px}
.psh-global-substack .ap-newsletter-read{display:inline-flex;margin-top:12px;margin-right:18px}
/* Editor preview shares the exact same styles, never fixed 1400px widths. */
.editor-styles-wrapper .psh-book-page,.editor-styles-wrapper .psh-books-page{font-family:Archivo,Arial,sans-serif;max-width:none}
.editor-styles-wrapper .psh-bk-layout{width:100%;max-width:none}
@media(max-width:1250px){.psh-bk-filters{grid-template-columns:repeat(3,minmax(170px,1fr))}.psh-bk-filters button{width:max-content}.psh-bk-library-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.psh-bk-hero-grid{grid-template-columns:minmax(160px,32%) minmax(0,1fr);gap:30px}.psh-bk-layout{grid-template-columns:minmax(0,1fr)}.psh-bk-retailers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px}.psh-bk-related-track{grid-template-columns:repeat(2,minmax(0,1fr))}.psh-bk-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.psh-bk-hero-grid{grid-template-columns:1fr}.psh-bk-cover{max-width:330px}.psh-bk-hero{padding:18px 20px 35px}.psh-bk-facts{gap:0 12px}.psh-bk-layout{padding:34px 20px}.psh-bk-editorial ul,.psh-bk-editorial ol{grid-template-columns:1fr}.psh-bk-retailers{grid-template-columns:1fr}.psh-bk-related-track{gap:14px}.psh-bk-related-card .psh-tpx-cover{height:260px;padding:15px}.psh-bk-related.is-carousel .psh-bk-related-track{grid-auto-columns:minmax(205px,72vw)}.psh-bk-library-grid{gap:28px 14px}.psh-bk-library-card .psh-tpx-cover{height:260px;padding:14px}.psh-bk-library-card h2{font-size:17px}.psh-bk-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.psh-bk-filters label:first-child{grid-column:1/-1}.psh-global-substack{grid-template-columns:1fr;gap:22px}}

/* v8.2.1: harmonize Gutenberg block wrappers with the reference design. */
.psh-book-page > :where(.wp-block-psh-book-hero,.wp-block-group,.wp-block-psh-book-related,.psh-book-dynamic-root){margin-block-start:0!important;margin-block-end:0!important}
.psh-book-page > .wp-block-group.psh-bk-layout{margin:0!important}
.psh-book-page .psh-bk-layout > :where(.wp-block-group){margin-block:0!important;min-width:0}
.psh-book-page .psh-bk-editorial > :first-child{margin-block-start:0!important}
.psh-book-page .psh-bk-editorial > .wp-block-heading{margin-block-end:14px!important}
.psh-book-page .psh-bk-editorial > .wp-block-heading:not(:first-child){margin-block-start:26px!important}
.psh-book-page .psh-bk-editorial > p{margin-block-start:0!important;margin-block-end:13px!important}
.psh-book-page .psh-bk-editorial > :is(ul,ol,blockquote){margin-block-start:10px!important;margin-block-end:14px!important}
.psh-book-page .psh-bk-layout{gap:clamp(24px,3.2vw,54px);padding-top:34px;padding-bottom:38px}
.psh-bk-related{padding-top:36px;padding-bottom:44px}
.psh-bk-related-heading{display:flex;align-items:center;gap:14px;justify-content:space-between;margin:0 0 20px}
.psh-bk-related-heading h2{font-size:clamp(31px,3.1vw,49px);font-weight:850;text-transform:uppercase;letter-spacing:-.037em;line-height:1.12;margin:0!important}
.psh-bk-related-heading .psh-bk-slider-controls{margin:0;flex-shrink:0}
.psh-bk-related-card a{display:block}
.psh-bk-related-card h3,.psh-bk-library-card h2{margin-block-start:14px!important;margin-block-end:0!important}
.psh-bk-related.is-carousel .psh-bk-related-track{gap:23px;grid-auto-columns:minmax(240px,calc((100% - 69px)/4))}
.psh-bk-related-card .psh-tpx-cover{display:flex;flex-direction:column;justify-content:space-between}
.psh-books-page > .wp-block-heading{margin-top:0!important;margin-bottom:12px!important}
.psh-books-page > .wp-block-paragraph,.psh-books-page > p{margin-top:0!important;margin-bottom:22px!important}
.psh-books-page > .wp-block-psh-books-library{margin-block-start:0!important}
.psh-book-page,.psh-books-page{overflow-wrap:break-word}
.editor-styles-wrapper .psh-book-page > .wp-block-group{margin-block-start:0!important}
@media(max-width:900px){.psh-bk-related.is-carousel .psh-bk-related-track{grid-auto-columns:minmax(240px,calc((100% - 23px)/2))}}
@media(max-width:650px){.psh-bk-related.is-carousel .psh-bk-related-track{grid-auto-columns:minmax(205px,76vw)}.psh-bk-related-heading h2{font-size:28px}.psh-bk-layout{padding-top:30px;padding-bottom:30px}}

/* v8.2.2 – PDF-fidelity and instant-book-filter refinements. */
.psh-bk-actions .psh-bk-button{font-size:13px;font-weight:600;min-height:40px;padding:10px 19px;white-space:normal;text-align:center;letter-spacing:0;border:0;border-radius:999px}
.psh-bk-actions .psh-bk-button span[aria-hidden]{display:none}
.psh-bk-related-card .psh-tpx-cover{height:clamp(210px,22vw,330px);padding:17px 19px;box-shadow:none}
.psh-bk-related-card .psh-tpx-cover-title{font-size:clamp(17px,1.75vw,25px);line-height:1.1}
.psh-bk-related-card h3{font-size:15px;line-height:1.3;margin-top:10px!important}
.psh-bk-editorial .wp-block-list{list-style:none;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0;margin:12px 0 24px}
.psh-bk-editorial .wp-block-list li{list-style:none;border:1px solid #e3d7cb;border-radius:12px;background:#eee7dd;padding:12px 16px;font-size:15px;line-height:1.4}
.psh-bk-editorial .wp-block-quote{position:relative;padding:20px 24px;margin-top:10px;margin-bottom:22px;border:1px solid #ded3c6;border-radius:12px;background:#f3eee7}
.psh-bk-editorial .wp-block-quote p{color:#332b26;font-size:17px;line-height:1.5}
.psh-bk-filters{grid-template-columns:minmax(180px,1.7fr) repeat(3,minmax(140px,1fr)) auto;gap:14px;align-items:end}
.psh-bk-library[aria-busy=true] .psh-bk-library-results{opacity:.55;transition:opacity .15s ease}
.psh-bk-library-results{transition:opacity .15s ease}
.psh-bk-filters .psh-bk-clear{align-self:end;display:flex;align-items:center;min-height:44px}
@media(max-width:900px){.psh-bk-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.psh-bk-filters label:first-child{grid-column:1/-1}}
@media(max-width:650px){.psh-bk-editorial .wp-block-list{grid-template-columns:1fr}.psh-bk-filters{grid-template-columns:1fr}.psh-bk-filters label:first-child{grid-column:auto}}


/* v8.2.4 — Book single page typography and Gutenberg editorial details.
   Based on the Book inner page design PDF. This is deliberately restricted
   to the book editorial/related sections and works in Gutenberg and frontend.
   No content markup, ACF values, or global styles are changed. */
.psh-bk-editorial > h2.wp-block-heading,
.psh-bk-editorial > h2 {
  font-family:Archivo,Arial,sans-serif;
  font-size:clamp(29px,2.75vw,40px);
  font-weight:850;
  line-height:1.08;
  letter-spacing:-.035em;
  text-transform:uppercase;
  color:var(--bk-ink,#28211c);
  margin-block-end:39px!important;
}
.psh-bk-editorial > h2.wp-block-heading:not(:first-child),
.psh-bk-editorial > h2:not(:first-child) {
  margin-block-start:82px!important;
}
.psh-bk-editorial > p,
.psh-bk-editorial > .wp-block-paragraph {
  font-size:clamp(16px,1.35vw,19px);
  line-height:1.5;
  color:var(--bk-body,#514b4e);
  margin-block-end:17px!important;
}
/* Native Gutenberg List items remain editable, but read as the PDF's
   two-column rounded idea chips instead of a default bullet list. */
.psh-bk-editorial > :is(ul.wp-block-list,ol.wp-block-list) {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  list-style:none;
  padding:0;
  margin-block-start:8px!important;
  margin-block-end:0!important;
}
.psh-bk-editorial > :is(ul.wp-block-list,ol.wp-block-list) > li {
  list-style:none;
  min-width:0;
  padding:20px 24px;
  border:1px solid #ded3c8;
  border-radius:21px;
  background:#eee7dd;
  font-family:Archivo,Arial,sans-serif;
  font-size:clamp(15px,1.25vw,18px);
  font-weight:400;
  line-height:1.45;
  letter-spacing:0;
  color:#403832;
}
.psh-bk-editorial > :is(ul.wp-block-list,ol.wp-block-list) > li::marker {content:"";}
/* The copper opening-quote symbol is decorative. It is supplied from CSS
   so editors can keep using the regular Gutenberg Quote block. */
.psh-bk-editorial blockquote.wp-block-quote {
  position:relative;
  display:block;
  box-sizing:border-box;
  border:1px solid #ded3c8;
  border-radius:22px;
  padding:27px 29px 27px;
  margin-block-start:8px!important;
  margin-block-end:0!important;
  margin-inline:0!important;
  width:100%;
  background:#f3eee7;
  color:#332b26;
  box-shadow:0 3px 12px rgba(40,28,23,.035);
}
.psh-bk-editorial blockquote.wp-block-quote::before {
  content:"";
  display:block;
  width:24px;
  height:24px;
  margin:0 0 12px;
  background-position:center;
  background-repeat:no-repeat;
  background-size:contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23bf6544' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 21c3 0 7-1 7-8V5H2v8h4c0 3-1 4-3 4v4z'/%3E%3Cpath d='M15 21c3 0 7-1 7-8V5h-8v8h4c0 3-1 4-3 4v4z'/%3E%3C/svg%3E");
}
.psh-bk-editorial blockquote.wp-block-quote > p {
  font-family:Archivo,Arial,sans-serif;
  font-size:clamp(17px,1.45vw,21px);
  line-height:1.43;
  color:#332b26;
  font-style:normal;
  margin:0;
}
.psh-bk-editorial blockquote.wp-block-quote > cite {
  display:block;
  font-family:Archivo,Arial,sans-serif;
  font-size:12px;
  font-weight:750;
  font-style:normal;
  line-height:1.45;
  letter-spacing:.095em;
  text-transform:uppercase;
  color:#554c45;
  margin-top:16px;
}
/* Related-books heading belongs to the same editorial type scale;
   the carousel grid and JS remain exactly as fixed in v8.2.3. */
.psh-bk-related-heading > h2,
.psh-bk-related > h2 {
  font-size:clamp(29px,2.8vw,42px);
  line-height:1.1;
  font-weight:850;
  letter-spacing:-.035em;
}
@media(max-width:650px){
  .psh-bk-editorial > h2.wp-block-heading,
  .psh-bk-editorial > h2{font-size:clamp(27px,7vw,33px);margin-block-end:25px!important;}
  .psh-bk-editorial > h2.wp-block-heading:not(:first-child),
  .psh-bk-editorial > h2:not(:first-child){margin-block-start:50px!important;}
  .psh-bk-editorial > :is(ul.wp-block-list,ol.wp-block-list){grid-template-columns:1fr;gap:11px;}
  .psh-bk-editorial > :is(ul.wp-block-list,ol.wp-block-list) > li{padding:17px 19px;border-radius:18px;font-size:16px;}
  .psh-bk-editorial blockquote.wp-block-quote{padding:22px 20px 24px;border-radius:18px;}
  .psh-bk-editorial blockquote.wp-block-quote > p{font-size:18px;}
  .psh-bk-related-heading > h2,.psh-bk-related > h2{font-size:clamp(27px,7vw,33px);}
}
/* Overrule earlier book-only Gutenberg margin fixes at matching specificity;
   this is necessary for the editorial spacing to match in both contexts. */
:is(.psh-book-page,.editor-styles-wrapper) .psh-bk-editorial > h2.wp-block-heading {
  margin-block-end:39px!important;
}
:is(.psh-book-page,.editor-styles-wrapper) .psh-bk-editorial > h2.wp-block-heading:not(:first-child) {
  margin-block-start:82px!important;
}
@media(max-width:650px){
  :is(.psh-book-page,.editor-styles-wrapper) .psh-bk-editorial > h2.wp-block-heading {margin-block-end:25px!important;}
  :is(.psh-book-page,.editor-styles-wrapper) .psh-bk-editorial > h2.wp-block-heading:not(:first-child) {margin-block-start:50px!important;}
}



/* v8.2.7 — One fixed-size cover system shared in principle with Topics.
 * Never derive Book cover/card dimensions from viewport percentages.
 * <=4 books: non-scrolling wrap layout, matching the design's complete cards.
 * >4 books: fixed-width sliding cards; JS fits *whole* cards only. */
.psh-book-page .psh-bk-hero-grid {
  grid-template-columns: minmax(0, 356px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(28px,4.1vw,70px);
}
.psh-book-page .psh-bk-cover {
  width: 356px;
  max-width: 100%;
  min-width: 0;
  justify-self: start;
  align-self: start;
}
.psh-book-page .psh-bk-cover > .psh-tpx-cover {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  max-width: 356px;
  min-width: 0;
  height: auto;
  min-height: 0;
  max-height: none;
  aspect-ratio: 356 / 478;
  padding: 32px 26px;
  border-radius: 19px;
  box-sizing: border-box;
  overflow: hidden;
}
.psh-book-page .psh-bk-cover > img,
.psh-book-page .psh-bk-cover > .wp-post-image {
  display: block;
  width: 100%;
  max-width: 356px;
  height: auto;
  max-height: none;
  aspect-ratio: 356 / 478;
  object-fit: contain;
}
.psh-book-page .psh-bk-cover .psh-tpx-cover-title {
  font-size: 34px;
  line-height: 1.12;
}
/* Related Books: fixed 356px Topics-width cards regardless of viewport size. */
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related {
  --psh-book-card-width: 356px;
  --psh-book-card-gap: 26px;
}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .psh-bk-related-track {
  display: grid;
  grid-template-columns: none;
  grid-template-rows: none;
  grid-auto-flow: column;
  grid-auto-columns: var(--psh-book-card-width);
  gap: var(--psh-book-card-gap);
  align-items: start;
  justify-content: start;
  width: 100%;
  min-width: 0;
  padding: 0 0 14px;
}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .psh-bk-related-card {
  box-sizing: border-box;
  width: var(--psh-book-card-width);
  min-width: 0;
  max-width: none;
  scroll-snap-align: start;
}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .psh-bk-related-card .psh-tpx-cover {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: var(--psh-book-card-width);
  max-width: 100%;
  height: 478px;
  min-height: 0;
  max-height: none;
  aspect-ratio: 356 / 478;
  border-radius: 19px;
  padding: 32px 26px;
  overflow: hidden;
  box-shadow: 0 12px 17px -14px #33242f66;
}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .psh-bk-related-card .psh-tpx-cover-title {
  font-size: 30px;
  font-weight: 800;
  line-height: 1.13;
  letter-spacing: -.018em;
}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .psh-bk-related-card .psh-tpx-cover-subtitle {
  font-size: 16px;
  line-height: 1.4;
  margin-top: 13px;
}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .psh-bk-related-card .psh-tpx-cover-author,
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .psh-bk-related-card .psh-tpx-cover-year {
  font-size: 12px;
}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .psh-bk-related-card h3 {
  font-size: 19px;
  font-weight: 750;
  line-height: 1.3;
  margin: 12px 0 0 !important;
}
/* Four or fewer selected books stay in a non-scrolling, non-stretching row.
   If they can't all fit, they WRAP instead of being cut off. */
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related:not(.is-carousel) .psh-bk-related-track {
  display: flex;
  flex-wrap: wrap;
  gap: var(--psh-book-card-gap);
  overflow: visible;
  scroll-snap-type: none;
}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related:not(.is-carousel) .psh-bk-related-card {
  flex: 0 0 var(--psh-book-card-width);
}
/* More than four selected books: scroll *whole* fixed-size cards. JS sets
   a track width of 1/2/3/4 whole cards according to available space. */
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related.is-carousel .psh-bk-related-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: var(--psh-book-card-width);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scroll-padding-inline: 0;
  overscroll-behavior-inline: contain;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related.is-carousel .psh-bk-related-track::-webkit-scrollbar {display:none;}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related.is-carousel .psh-bk-related-card {scroll-snap-stop:always;}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related.is-carousel .psh-bk-slider-controls button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition:background-color .18s ease,border-color .18s ease,opacity .18s ease;
}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related.is-carousel .psh-bk-slider-controls button:disabled {opacity:.32;cursor:default;}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related.is-carousel.psh-carousel-static .psh-bk-slider-controls {display:none;}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related.is-carousel .psh-bk-related-track:focus-visible {
  outline:3px solid var(--wp--preset--color--wine,#692f3b);
  outline-offset:4px;
}
@media(max-width: 900px) {
  .psh-book-page .psh-bk-hero-grid {grid-template-columns:minmax(0,356px) minmax(0,1fr);}
}
@media(max-width: 800px) {
  :is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related {--psh-book-card-width:310px;--psh-book-card-gap:20px;}
  :is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .psh-bk-related-card .psh-tpx-cover {height:420px;padding:29px 26px;}
  :is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .psh-bk-related-card .psh-tpx-cover-title {font-size:28px;}
}
@media(max-width: 650px) {
  .psh-book-page .psh-bk-hero-grid {grid-template-columns:minmax(0,1fr);}
  .psh-book-page .psh-bk-cover {width:356px;max-width:100%;}
}
@media(max-width: 380px) {
  :is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related {--psh-book-card-width: min(310px,calc(100vw - 40px));}
  :is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .psh-bk-related-card .psh-tpx-cover {
    height:auto;
    aspect-ratio:356 / 478;
  }
}

/* v8.2.9 — More Books visual-only skin.
 * Keep the v8.2.8 Topics carousel functionality, but restyle the cards
 * to match the single-book design language: rounded corners, fixed cover
 * sizing, simplified text treatment, and no extra Topics-only summary/meta.
 */
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related {
  --psh-book-card-width: 356px;
  --psh-book-card-gap: 30px;
}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .tp-reading-track {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: var(--psh-book-card-width);
  gap: var(--psh-book-card-gap);
  align-items: start;
  width: 100%;
  min-width: 0;
  padding: 0 0 14px;
}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .tp-reading-card {
  width: var(--psh-book-card-width);
  min-width: 0;
  max-width: none;
  scroll-snap-align: start;
}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .tp-card-link {
  display: block;
}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .tp-cover {
  box-sizing: border-box;
  width: 100%;
  height: 478px;
  min-height: 0;
  max-height: none;
  aspect-ratio: 356 / 478;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 30px 26px 24px;
  border-radius: 26px;
  box-shadow: 0 18px 24px -20px rgba(51, 36, 47, .34);
  overflow: hidden;
}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .tp-cover > div {
  margin-block: auto;
}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .tp-cover-byline {
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: .015em;
  text-transform: uppercase;
}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .tp-cover-title {
  display: block;
  font-size: 31px;
  line-height: 1.05;
  font-weight: 820;
  letter-spacing: -.03em;
  text-transform: uppercase;
}
/* Match the single-book design more closely: cover subtitles do not appear
   on the More Books cards. */
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .tp-cover-subtitle,
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .tp-card-meta,
.psh-book-page .psh-bk-related .tp-card-summary {
  display: none !important;
}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .tp-cover-year {
  display: block;
  font-size: 12px;
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: .015em;
  text-transform: uppercase;
}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .tp-reading-card h3 {
  margin: 16px 0 0 !important;
  font-family: Archivo, Arial, sans-serif;
  font-size: 18px;
  font-weight: 750;
  line-height: 1.24;
  letter-spacing: -.02em;
  color: var(--bk-ink, #28211c);
}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .tp-card-link:hover h3 {
  text-decoration: underline;
  text-underline-offset: 4px;
  text-decoration-thickness: 1px;
}
:is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .tp-card-link:hover .tp-cover {
  box-shadow: 0 20px 28px -20px rgba(51, 36, 47, .42);
}
@media (max-width: 800px) {
  :is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related {
    --psh-book-card-width: 310px;
    --psh-book-card-gap: 20px;
  }
  :is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .tp-cover {
    height: 420px;
    padding: 28px 24px 22px;
    border-radius: 24px;
  }
  :is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .tp-cover-title {
    font-size: 28px;
  }
  :is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .tp-reading-card h3 {
    font-size: 17px;
  }
}
@media (max-width: 380px) {
  :is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related {
    --psh-book-card-width: min(310px, calc(100vw - 40px));
  }
  :is(.psh-book-page,.psh-topic-books-wrapper) .psh-bk-related .tp-cover {
    height: auto;
    aspect-ratio: 356 / 478;
  }
}

/* Shared Substack call to action, using the existing newsletter layout. */
.psh-global-substack.psh-compact-substack{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:center;
  gap:clamp(32px,6vw,100px);
  width:100%;
  min-height:0;
  padding:42px clamp(24px,3.4vw,48px);
  background:var(--wp--preset--color--paper,#f5f2ed);
  color:var(--wp--preset--color--ink,#242324);
  font-family:Archivo,Arial,sans-serif;
  scroll-margin-top:110px;
}
.psh-compact-substack .ap-newsletter-heading,
.psh-compact-substack .ap-newsletter-action{min-width:0}
/* Keep the existing reading measure at the desktop grid's right edge. */
@media(min-width:801px){
  .psh-global-substack.psh-compact-substack > .ap-newsletter-action{
    justify-self:end;width:100%;max-width:48ch;
  }
}
.psh-compact-substack .ap-newsletter-eyebrow{
  font-size:12px;line-height:1.5;font-weight:650;letter-spacing:.1em;
  color:var(--wp--preset--color--wine,#692f3b);
  margin:0 0 16px!important;
}
.psh-global-substack.psh-compact-substack .ap-newsletter-heading h2{
  font-size:clamp(34px,3.9vw,56px);line-height:1.08;
  font-weight:750;letter-spacing:-.045em;margin:0 0 16px;
}
.psh-compact-substack .ap-newsletter-tagline{
  font-size:21px;line-height:1.5;letter-spacing:-.01em;
  color:var(--wp--preset--color--body-text,#514b4e);
  margin:0;max-width:30ch;
}
.psh-global-substack.psh-compact-substack .ap-newsletter-action h3{
  font-size:23px;line-height:1.3;font-weight:600;
  letter-spacing:-.02em;margin:0 0 10px;
}
.psh-compact-substack .ap-newsletter-action>p{
  font-size:17px;line-height:1.6;
  color:var(--wp--preset--color--body-text,#514b4e);
  max-width:48ch;margin:0!important;
}
/* Match the existing header button without making it span the full column. */
.psh-global-substack .psh-footer-subscribe{
  display:inline-flex;max-width:100%;margin:20px 0 12px;
  color:var(--wp--preset--color--ink,#242324);text-decoration:none;
}
.psh-global-substack .psh-footer-subscribe:focus-visible{
  outline:2px solid var(--wp--preset--color--wine,#692f3b);outline-offset:4px;
}
.psh-global-substack.psh-compact-substack .ap-newsletter-read{
  display:flex;width:fit-content;max-width:100%;align-items:center;gap:13px;min-height:42px;
  font-size:14px;line-height:1.5;font-weight:400;
  color:var(--wp--preset--color--wine,#692f3b)!important;
  margin:2px 0 0;text-decoration:none;
}
.psh-compact-substack .ap-newsletter-read:hover{
  text-decoration:underline!important;text-underline-offset:5px;
}
.psh-compact-substack .ap-newsletter-read:focus-visible{
  outline:2px solid var(--wp--preset--color--wine,#692f3b);outline-offset:4px;
}
@media(max-width:800px){
  .psh-global-substack.psh-compact-substack{grid-template-columns:minmax(0,1fr);gap:26px;padding:32px 24px 28px}
  .psh-global-substack.psh-compact-substack .ap-newsletter-heading h2{font-size:40px;margin-bottom:12px}
  .psh-compact-substack .ap-newsletter-eyebrow{margin-bottom:12px!important}
  .psh-compact-substack .ap-newsletter-tagline{font-size:19px}
  .psh-global-substack.psh-compact-substack .ap-newsletter-action h3{font-size:21px}
  .psh-compact-substack .ap-newsletter-action>p{font-size:16px}
}
@media(max-width:360px){
  .psh-global-substack.psh-compact-substack{padding-left:20px;padding-right:20px}
  .psh-global-substack.psh-compact-substack .ap-newsletter-heading h2{font-size:36px}
}

/* Topic carousels share the Book cover layout and controller; surrounding Topic content remains. */
.psh-topic-books-wrapper .psh-bk-related--topic{padding:0!important;margin:0;background:transparent}
.psh-topic-books-wrapper .psh-bk-related--topic .psh-topic-carousel-label{font-size:13px;line-height:1.5;font-weight:700;letter-spacing:.02em;text-transform:uppercase}
.psh-topic-books-wrapper .psh-bk-related--topic .tp-card-summary{display:block;margin-top:10px!important;font-size:16px;line-height:1.5;color:var(--tpx-body,#514b4e)}
.psh-topic-books-wrapper .psh-bk-related--topic .tp-reading-track:focus-visible{outline:2px solid var(--wp--preset--color--wine,#692f3b);outline-offset:4px}

/* Listing descriptions share the Book summary field; subtitles remain on the single Book. */
.psh-bk-library-card .psh-bk-card-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:4.35em;margin-top:8px;line-height:1.45}
.psh-bk-library-card h2{min-height:2.54em}
.psh-bk-acf-section{margin-top:38px}
.psh-bk-acf-section .psh-bk-review-source{display:inline;text-decoration:underline;text-underline-offset:3px}
@media(max-width:650px){.psh-bk-library-card .psh-bk-card-summary{font-size:14px}}

.psh-bk-review-link{padding:20px 0;border-bottom:1px solid var(--ps-rule,#d8cfc3)}
.psh-bk-review-link>a{font-weight:600;text-decoration:underline;text-underline-offset:3px}
.psh-bk-review-link>span{font-size:14px;color:var(--ps-muted,#665f58)}
