/* Shared page geometry (loaded site-wide). --jb-cw is the width of the theme's content box,
   measured: min(96vw, 1800px) minus the container padding (112px; 64px below 768px).
   The title band's text starts exactly where each page's content starts. */
:root { --jb-cw: calc(min(96vw, 1800px) - 112px); }
@media (max-width: 767px) { :root { --jb-cw: calc(96vw - 64px); } }
.jb-page-hero .jb-page-hero-inner { box-sizing: border-box; width: var(--jb-cw); max-width: none; margin-inline: auto; padding-inline: 0; }
.jb-post-hero .jb-page-hero-inner { width: min(1270px, var(--jb-cw)); } /* guide posts keep a 1270px reading width */

/* Phone header: the theme toggle sits beside the menu button; without this it stretches to the top of the 80px header row. */
.site-header-section-right > .jb-theme-toggle { align-self: center; }

/* Tablet header (720–1024px): Kadence hides the site title there (tablet title visibility off), which left the header with no brand. */
@media (min-width: 720px) and (max-width: 1024px) { .mobile-site-branding .site-title.vs-md-false { display: flex !important; } }

/* Affiliate note at the top of guides with Amazon links (functions.php affiliate filter). */
.jbp-article > p.jb-aff-note, .jb-aff-note { margin: 0 0 20px; padding-bottom: 14px; border-bottom: 1px solid var(--hairline); font-size: 14px; line-height: 1.55; color: var(--cream-400); }
.jbp-article > .jb-aff-note + p { font-size: 19.5px; line-height: 1.6; }
@media (max-width: 560px) { .jbp-article > .jb-aff-note + p { font-size: 18px; } }

/* Footer content lines up with the page content column (same --jb-cw as the title band and page content). */
.jb-ftr .jb-ftr-inner { width: var(--jb-cw); max-width: none; margin-inline: auto; padding-inline: 0; }
