/* =====================================================================
   Pertinacity — child theme stylesheet
   Loaded by templates/layouts/base.html AFTER the parent theme's
   main-head.css and after standard_header_includes, so declarations here
   win on load order. That is why !important should not be needed.

   STAGED 2026-08-22 — not yet in effect. child.css only loads for pages whose
   template lives in this child theme. Until the six page templates are
   copied down from the parent and pages are repointed, this file is inert.

   Provenance: copied VERBATIM from the blog's post_html_head so that
   cutover changes exactly one thing (where the CSS lives) and not two
   (where it lives AND what it says). Strip the !important flags only
   after cutover is verified, one group at a time.

   On cutover, remove the duplicate from blog settings html_head /
   post_html_head or these will both be live.
   ===================================================================== */

/* Pertinacity blog styling. Lives in blog settings, NOT post bodies — HubSpot's
   rich text editor strips <style> blocks when a post is saved in the UI.
   NOTE: listing-page CSS now lives in the custom template
   pertinacity-custom/blog/pth-blog-listing.html — do not re-add it here. */

/* header logo: white on the dark bar */
.focus_sticky_bar .mwh_el_logo img,
.focus_sticky_bar img[alt="Pertinacity"]{filter:brightness(0) invert(1);}
img[alt="Pertinacity"]{width:190px!important;max-width:190px!important;height:auto!important;}

/* ---------- POST BODY ---------- */
.pth-post p{margin:0 0 1.05em!important;}
.pth-post br{display:none!important;}
.pth-post p:empty{display:none!important;}
.pth-post a{color:#534AB7;text-decoration:underline;text-underline-offset:2px;}
.pth-post a:hover{color:#3C3489;}
.pth-post h2{color:#211C43;margin:1.2em 0 .7em;padding-top:.55em;border-top:1px solid #EEEDF6;}
.pth-post > p:first-of-type{font-size:1.18em;line-height:1.55;color:#615E7A;margin-bottom:1.9em!important;}
.pth-post .pth-payoff{border-left:3px solid #8983D6;background:#F9F8FD;padding:18px 22px;
  margin:30px 0 0!important;border-radius:0 12px 12px 0;}
.pth-post .pth-payoff em{font-size:1.06em;line-height:1.5;color:#211C43;}

/* Sources = Heading 3, links at footnote size (Michael's feedback) */
.pth-post h3.pth-sources{font-size:1.5rem!important;line-height:1.25!important;letter-spacing:normal!important;text-transform:none!important;color:#211C43!important;
  border-top:1px solid #EEEDF6;margin:2.2em 0 .7em!important;padding-top:.9em!important;}
.pth-post ul.pth-refs{background:#F5F4FB;border-radius:12px;padding:18px 20px 18px 38px;margin:.9em 0 0;}
.pth-post ul.pth-refs li{font-size:14px!important;line-height:1.55!important;color:#615E7A!important;margin:0 0 9px;}
.pth-post ul.pth-refs li:last-child{margin-bottom:0;}
.pth-post ul.pth-refs a{font-size:14px!important;word-break:break-word;}
.pth-post hr{margin:34px 0 24px!important;}

/* =====================================================================
   System pages — 404, 500, search results, subscription and password
   pages. CLEAN Pro's structure, classes and HubL are unchanged upstream
   so future theme updates stay mergeable against the pristine copies in
   backups/childtheme-*/theme/parent_templates/.

   Overrides carry a `body` prefix on purpose: the theme's
   css/_system_pages.css loads through main-foot.css with async:true, so
   relative order against child.css is not guaranteed. Raising
   specificity one step removes the race.
   ===================================================================== */

/* --- Search results ------------------------------------------------
   .results-pre-header and .results-full have NO rules anywhere in the
   parent theme. These are additions, not overrides, so a bare class is
   enough. Type scale matches the site's section headers. */
.results-pre-header{padding:86px 0 0;}
.results-pre-header h5{font-size:12px;letter-spacing:.16em;text-transform:uppercase;
  font-weight:700;color:#8983D6;margin:0 0 12px;}
.results-pre-header h1{color:#211C43;margin:0;font-size:clamp(28px,3.4vw,42px);
  line-height:1.12;}
.results-full{padding:0 0 88px;}

/* --- Error pages ---------------------------------------------------
   Theme ships .error-page-con at 20rem (320px) top and bottom, which is
   why the 404 renders as mostly empty space. overflow:hidden clips the
   oversized data-error watermark, which would otherwise spill past the
   shorter container. */
body .error-page-con{padding:140px 0;overflow:hidden;}

/* The watermark is content:attr(data-error) at 20rem. The theme sets no
   color, so it inherited body text and read as a near-black slab. */
body .error-page[data-error]::before{color:#EEEDFA;}

/* --- Subscription, confirmation, unsubscribe, password prompt -------
   .head-overlay is a 50% black wash absolutely positioned over the whole
   header, designed to sit on a background image the theme never sets.
   With no image it darkened dark text on a light page. */
body .sub-pre-header{padding:86px 0 0;}
body .sub-pre-header .head-overlay{background-color:transparent;}