/*
 * Parix.ai - shared reading typography for every free-tool page.
 *
 * Formatting only. No word, heading, heading level or link is changed here;
 * this sets measure, rhythm, weight and spacing on copy already in the page.
 *
 * Containers covered (all tool copy lives in one of these):
 *   .px-prose__inner            107 templates with their own prose block
 *   .parix-extras__pagecontent  copy rendered by arolax_render_tool_extras()
 *   .apc-* .acc-* .pxg-*        AI Prompt Checker / Cost Calculator / GIF Maker
 *   .pxroi .feature-copy        Chatbot ROI Calculator
 *   .pxcg .feature-copy         Content Gap Checker
 *
 * !important is deliberate and confined to typographic properties: five of
 * these systems ship CSS in a template <style> block, which loads after
 * enqueued stylesheets and would otherwise win. No colour, no layout.
 *
 * Generated by gen_prose.py - edit the container list there, not this file.
 */

/* tokens */
.px-prose__inner,
.parix-extras__pagecontent,
.apc-feature__copy,
.apc-copy,
.acc-feature__copy,
.acc-copy,
.acc-centercopy,
.pxg-feature__copy,
.pxroi .feature-copy,
.pxcg .feature-copy {
  --pp-measure: 48ch;   /* ch is the width of "0"; 48ch lands at ~62 characters */
  --pp-lh: 1.78;
  --pp-gap: 1.35em;
}

/* measure: about 60-65 characters a line */
.px-prose__inner > p,
.px-prose__inner > ul,
.px-prose__inner > ol,
.px-prose__inner > h2,
.px-prose__inner > h3,
.px-prose__inner > h4,
.parix-extras__pagecontent > p,
.parix-extras__pagecontent > ul,
.parix-extras__pagecontent > ol,
.parix-extras__pagecontent > h2,
.parix-extras__pagecontent > h3,
.parix-extras__pagecontent > h4,
.apc-feature__copy > p,
.apc-feature__copy > ul,
.apc-feature__copy > ol,
.apc-feature__copy > h2,
.apc-feature__copy > h3,
.apc-feature__copy > h4,
.apc-copy > p,
.apc-copy > ul,
.apc-copy > ol,
.apc-copy > h2,
.apc-copy > h3,
.apc-copy > h4,
.acc-feature__copy > p,
.acc-feature__copy > ul,
.acc-feature__copy > ol,
.acc-feature__copy > h2,
.acc-feature__copy > h3,
.acc-feature__copy > h4,
.acc-copy > p,
.acc-copy > ul,
.acc-copy > ol,
.acc-copy > h2,
.acc-copy > h3,
.acc-copy > h4,
.acc-centercopy > p,
.acc-centercopy > ul,
.acc-centercopy > ol,
.acc-centercopy > h2,
.acc-centercopy > h3,
.acc-centercopy > h4,
.pxg-feature__copy > p,
.pxg-feature__copy > ul,
.pxg-feature__copy > ol,
.pxg-feature__copy > h2,
.pxg-feature__copy > h3,
.pxg-feature__copy > h4,
.pxroi .feature-copy > p,
.pxroi .feature-copy > ul,
.pxroi .feature-copy > ol,
.pxroi .feature-copy > h2,
.pxroi .feature-copy > h3,
.pxroi .feature-copy > h4,
.pxcg .feature-copy > p,
.pxcg .feature-copy > ul,
.pxcg .feature-copy > ol,
.pxcg .feature-copy > h2,
.pxcg .feature-copy > h3,
.pxcg .feature-copy > h4 {
  max-width: var(--pp-measure);
}

/* the shared blocks are full width, so centre their measure */
.px-prose__inner > p,
.px-prose__inner > ul,
.px-prose__inner > ol,
.px-prose__inner > h2,
.px-prose__inner > h3,
.px-prose__inner > h4,
.parix-extras__pagecontent > p,
.parix-extras__pagecontent > ul,
.parix-extras__pagecontent > ol,
.parix-extras__pagecontent > h2,
.parix-extras__pagecontent > h3,
.parix-extras__pagecontent > h4 {
  margin-left: auto;
  margin-right: auto;
}

/* paragraphs: looser leading, clear gaps */
.px-prose__inner p,
.parix-extras__pagecontent p,
.apc-feature__copy p,
.apc-copy p,
.acc-feature__copy p,
.acc-copy p,
.acc-centercopy p,
.pxg-feature__copy p,
.pxroi .feature-copy p,
.pxcg .feature-copy p {
  font-size: 16.5px !important;
  line-height: var(--pp-lh) !important;
  margin: 0 0 var(--pp-gap) !important;
}

.px-prose__inner p:last-child,
.parix-extras__pagecontent p:last-child,
.apc-feature__copy p:last-child,
.apc-copy p:last-child,
.acc-feature__copy p:last-child,
.acc-copy p:last-child,
.acc-centercopy p:last-child,
.pxg-feature__copy p:last-child,
.pxroi .feature-copy p:last-child,
.pxcg .feature-copy p:last-child {
  margin-bottom: 0 !important;
}

/* headings: smaller, tighter, balanced */
.px-prose__inner h2,
.parix-extras__pagecontent h2,
.apc-feature__copy h2,
.apc-copy h2,
.acc-feature__copy h2,
.acc-copy h2,
.acc-centercopy h2,
.pxg-feature__copy h2,
.pxroi .feature-copy h2,
.pxcg .feature-copy h2 {
  font-size: clamp(20px, 2.15vw, 26px) !important;
  line-height: 1.28 !important;
  font-weight: 700 !important;
  letter-spacing: -0.015em !important;
  margin: 1.9em 0 0.55em !important;
  text-wrap: balance;
}

.px-prose__inner h2:first-child,
.parix-extras__pagecontent h2:first-child,
.apc-feature__copy h2:first-child,
.apc-copy h2:first-child,
.acc-feature__copy h2:first-child,
.acc-copy h2:first-child,
.acc-centercopy h2:first-child,
.pxg-feature__copy h2:first-child,
.pxroi .feature-copy h2:first-child,
.pxcg .feature-copy h2:first-child {
  margin-top: 0 !important;
}

.px-prose__inner h3,
.parix-extras__pagecontent h3,
.apc-feature__copy h3,
.apc-copy h3,
.acc-feature__copy h3,
.acc-copy h3,
.acc-centercopy h3,
.pxg-feature__copy h3,
.pxroi .feature-copy h3,
.pxcg .feature-copy h3 {
  font-size: clamp(17px, 1.5vw, 19.5px) !important;
  line-height: 1.32 !important;
  font-weight: 700 !important;
  margin: 1.6em 0 0.45em !important;
  text-wrap: balance;
}

/* bold: present, not shouty */
.px-prose__inner strong,
.parix-extras__pagecontent strong,
.apc-feature__copy strong,
.apc-copy strong,
.acc-feature__copy strong,
.acc-copy strong,
.acc-centercopy strong,
.pxg-feature__copy strong,
.pxroi .feature-copy strong,
.pxcg .feature-copy strong,
.px-prose__inner b,
.parix-extras__pagecontent b,
.apc-feature__copy b,
.apc-copy b,
.acc-feature__copy b,
.acc-copy b,
.acc-centercopy b,
.pxg-feature__copy b,
.pxroi .feature-copy b,
.pxcg .feature-copy b {
  font-weight: 600 !important;
  color: inherit !important;
}

/* lists: breathing room */
.px-prose__inner ul,
.parix-extras__pagecontent ul,
.apc-feature__copy ul,
.apc-copy ul,
.acc-feature__copy ul,
.acc-copy ul,
.acc-centercopy ul,
.pxg-feature__copy ul,
.pxroi .feature-copy ul,
.pxcg .feature-copy ul,
.px-prose__inner ol,
.parix-extras__pagecontent ol,
.apc-feature__copy ol,
.apc-copy ol,
.acc-feature__copy ol,
.acc-copy ol,
.acc-centercopy ol,
.pxg-feature__copy ol,
.pxroi .feature-copy ol,
.pxcg .feature-copy ol {
  margin: 0 0 var(--pp-gap) !important;
  padding-left: 1.3em !important;
}

.px-prose__inner li,
.parix-extras__pagecontent li,
.apc-feature__copy li,
.apc-copy li,
.acc-feature__copy li,
.acc-copy li,
.acc-centercopy li,
.pxg-feature__copy li,
.pxroi .feature-copy li,
.pxcg .feature-copy li {
  line-height: var(--pp-lh) !important;
  margin-bottom: 0.55em !important;
}

.px-prose__inner li:last-child,
.parix-extras__pagecontent li:last-child,
.apc-feature__copy li:last-child,
.apc-copy li:last-child,
.acc-feature__copy li:last-child,
.acc-copy li:last-child,
.acc-centercopy li:last-child,
.pxg-feature__copy li:last-child,
.pxroi .feature-copy li:last-child,
.pxcg .feature-copy li:last-child {
  margin-bottom: 0 !important;
}

/* links keep their colour, just a calmer underline */
.px-prose__inner a,
.parix-extras__pagecontent a,
.apc-feature__copy a,
.apc-copy a,
.acc-feature__copy a,
.acc-copy a,
.acc-centercopy a,
.pxg-feature__copy a,
.pxroi .feature-copy a,
.pxcg .feature-copy a {
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}

/* phones */
@media (max-width: 600px) {
.px-prose__inner,
.parix-extras__pagecontent,
.apc-feature__copy,
.apc-copy,
.acc-feature__copy,
.acc-copy,
.acc-centercopy,
.pxg-feature__copy,
.pxroi .feature-copy,
.pxcg .feature-copy {
  --pp-lh: 1.72;
  --pp-gap: 1.2em;
}
.px-prose__inner p,
.parix-extras__pagecontent p,
.apc-feature__copy p,
.apc-copy p,
.acc-feature__copy p,
.acc-copy p,
.acc-centercopy p,
.pxg-feature__copy p,
.pxroi .feature-copy p,
.pxcg .feature-copy p {
  font-size: 16px !important;
}
.px-prose__inner h2,
.parix-extras__pagecontent h2,
.apc-feature__copy h2,
.apc-copy h2,
.acc-feature__copy h2,
.acc-copy h2,
.acc-centercopy h2,
.pxg-feature__copy h2,
.pxroi .feature-copy h2,
.pxcg .feature-copy h2 {
  font-size: 21px !important;
  margin: 1.6em 0 0.5em !important;
}
.px-prose__inner h3,
.parix-extras__pagecontent h3,
.apc-feature__copy h3,
.apc-copy h3,
.acc-feature__copy h3,
.acc-copy h3,
.acc-centercopy h3,
.pxg-feature__copy h3,
.pxroi .feature-copy h3,
.pxcg .feature-copy h3 {
  font-size: 17.5px !important;
}
}
