/* Shared theme geometry. Loaded after the reader and subscription integrations. */
@media screen {
 /* Compact page headings; hidden titles retain their zero-padding layout. */
 body .site > .page-main { padding-top:24px; }
 body .page-main .entry-header { margin-bottom:18px; }
 body .page-main .entry-header .entry-title { margin-block:0 12px; }
 body .site > .page-main.page-title-hidden { padding-top:0; }

 /* Protected category previews use TSM's template instead of single.php.
    Both outer shells must use the same width, independently of categories. */
 body.single-post .single-main,
 body.single-post main.tsm.tsm-shell {
  width:min(1600px,calc(100% - 48px));
  max-width:none;
  margin:0 auto;
  padding:22px 0 70px;
  min-width:0;
 }
 body.single-post main.tsm.tsm-shell > h1 {
  margin:10px 0 24px;
  font-size:clamp(1.8rem,3vw,2.7rem);
  line-height:1.2;
  letter-spacing:-.035em;
  font-weight:500;
 }
 /* Reader Plus hides the preview outline. Remove its unused grid column too. */
 body.single-post .reader-layout.reader-paywall {
  grid-template-columns:minmax(0,1fr) 240px;
  grid-template-areas:"article tools";
 }
 body.single-post .reader-layout.reader-paywall > .reader-sidebar { grid-row:auto; }

 /* Keep the split backgrounds edge-to-edge, including when TSM compacts the form.
    Inner content keeps its existing readable maximum widths. */
 body .site > main.customer-auth {
  width:100%;
  max-width:none;
  min-width:0;
  margin-inline:0;
  align-self:stretch;
  flex:1 0 auto;
 }
}
@media screen and (max-width:1279px) and (min-width:861px) {
 body.single-post .reader-layout.reader-paywall { grid-template-columns:minmax(0,1fr) 230px; }
}
@media screen and (max-width:860px) {
 body.single-post .reader-layout.reader-paywall {
  grid-template-columns:minmax(0,1fr);
  grid-template-areas:"tools" "article";
 }
}
@media screen and (max-width:600px) {
 body .site > .page-main { padding-top:18px; }
 body .page-main .entry-header { margin-bottom:14px; }
 body .site > .page-main.page-title-hidden { padding-top:0; }
 body.single-post .single-main,
 body.single-post main.tsm.tsm-shell { width:calc(100% - 24px);padding-top:18px; }
 body.single-post main.tsm.tsm-shell > h1 { font-size:1.8rem;margin-block:8px 18px; }
}
