/* v55: approved prose only. The last line remains natural in every viewport.
 * Explicit roles; excluded UI text is untouched. Whole words; no automatic hyphenation. */
body.cp-global-shell :is(.cpcm p:not(.cpcm-eyebrow,.cpcm-review-label),
.cp38-brand-copy > p,
.cp-promise-editorial-copy > p,
.cp-promise-compact-row > p,
.cp-standard > p,
.cp-section p.cp-lead,
.cp-v22-hero-copy > p,
.cp-v22-prose p,
.cp-v23-video-copy > p,
.cp-v22-quality-intro > p,
.cp-v22-quality-list details > p,
.cp-v22-values article > p,
.cp-v16-intro,
.cp-v16-quality-copy > p,
.cpc-panel p,
.cpc-section-intro > p:not(.cp-v16-eyebrow),
.cp-v16-assurance > div > span,
.cp-journal-deck,
.cp-journal-body p:not(.cp-journal-eyebrow),
.cp-journal-card > p:not(.cp-journal-eyebrow),
.cp-journal-intro-note > p,
.cp-v30-support-intro,
.cp-v30-rich-content p,
.cp-v32-commerce-intro,
.cp53-delivery p,
.woocommerce-privacy-policy-text p,
.woocommerce-terms-and-conditions p,
.payment_box p,
.cp54-partner-hero p:not(.cp54-eyebrow),
.cp54-three article > p,
.cp54-partner-form-grid > div > p:not(.cp54-eyebrow):not(:has(a[href^="mailto:"])),
.cp54-form-note,
.cp-v22-form-fallback,
.cp-v22-contact-side > p,.cpc-magnesium > p,.cp37-discovery-head p:not(.cp36-eyebrow),.cpcm-answer li,.cpc-panel li,.cp-journal-body > ul > li,.cp-journal-body > ol > li,.cp-v30-rich-content li:not(:has(a,button,input,ul,ol)),.cp-v30-rich-content div:not(:has(*)),.cp54-steps li > span):not(.form-row,.price,.stock,.stars,.comment-form-rating,.comment-form-author,.comment-form-email,.comment-form-comment,.comment-form-cookies-consent,.form-submit):not(:has(input,select,textarea,button,label)):not(table p,nav p,a p) {
 text-align:justify!important;
 text-align-last:start!important;
 -webkit-hyphens:none!important;
 hyphens:none!important;
 word-break:normal!important;
 overflow-wrap:normal!important;
 white-space:normal!important;
 word-spacing:normal!important;
 letter-spacing:normal!important;
 text-wrap:wrap;

 min-width:0;
}
/* Arabic has no English syllabification. English fallback blocks receive their own lang. */
body.cp-global-shell :is(.cpcm p:not(.cpcm-eyebrow,.cpcm-review-label),
.cp38-brand-copy > p,
.cp-promise-editorial-copy > p,
.cp-promise-compact-row > p,
.cp-standard > p,
.cp-section p.cp-lead,
.cp-v22-hero-copy > p,
.cp-v22-prose p,
.cp-v23-video-copy > p,
.cp-v22-quality-intro > p,
.cp-v22-quality-list details > p,
.cp-v22-values article > p,
.cp-v16-intro,
.cp-v16-quality-copy > p,
.cpc-panel p,
.cpc-section-intro > p:not(.cp-v16-eyebrow),
.cp-v16-assurance > div > span,
.cp-journal-deck,
.cp-journal-body p:not(.cp-journal-eyebrow),
.cp-journal-card > p:not(.cp-journal-eyebrow),
.cp-journal-intro-note > p,
.cp-v30-support-intro,
.cp-v30-rich-content p,
.cp-v32-commerce-intro,
.cp53-delivery p,
.woocommerce-privacy-policy-text p,
.woocommerce-terms-and-conditions p,
.payment_box p,
.cp54-partner-hero p:not(.cp54-eyebrow),
.cp54-three article > p,
.cp54-partner-form-grid > div > p:not(.cp54-eyebrow):not(:has(a[href^="mailto:"])),
.cp54-form-note,
.cp-v22-form-fallback,
.cp-v22-contact-side > p,.cpc-magnesium > p,.cp37-discovery-head p:not(.cp36-eyebrow),.cpcm-answer li,.cpc-panel li,.cp-journal-body > ul > li,.cp-journal-body > ol > li,.cp-v30-rich-content li:not(:has(a,button,input,ul,ol)),.cp-v30-rich-content div:not(:has(*)),.cp54-steps li > span):not(.form-row,.price,.stock,.stars,.comment-form-rating,.comment-form-author,.comment-form-email,.comment-form-comment,.comment-form-cookies-consent,.form-submit):not(:has(input,select,textarea,button,label)):not(table p,nav p,a p):lang(ar) { -webkit-hyphens:none!important; hyphens:none!important; direction:rtl; }
/* Long addresses are not prose; prevent overflow without breaking ordinary words. */
body.cp-global-shell main a[href^="mailto:"],
body.cp-global-shell main a.cp-prose-address { overflow-wrap:anywhere!important; word-break:normal!important; hyphens:none!important; }
/* Secondary explanations: same role, same readable size; retain approved font families. */
body.cp-global-shell .cpcm :is(.cpcm-small,.cpcm-refill-reassurance,.cpcm-review-footnote),
body.cp-global-shell .cp-journal-sources p,
body.cp-global-shell .cp54-form-note { font-size:15px!important; line-height:1.65!important; }
body.cp-global-shell .cpcm .cpcm-routine-steps p,
body.cp-global-shell .cpcm .cpcm-refill-card > p:not(.cpcm-eyebrow,.cpcm-small,.cpcm-refill-reassurance) { font-size:16px!important; line-height:1.65!important; }
@media(max-width:767px) {
 body.cp-global-shell .cpcm .cpcm-routine-steps p,
 body.cp-global-shell .cpcm .cpcm-refill-card > p:not(.cpcm-eyebrow,.cpcm-small,.cpcm-refill-reassurance) { font-size:17px!important; }
}

body.cp-global-shell .cp-v16-assurance > div > span,
body.cp-global-shell .woocommerce-privacy-policy-text p,
body.cp-global-shell .woocommerce-terms-and-conditions p,
body.cp-global-shell body.cp-global-shell .cp54-steps li > span { font-size:15px!important; line-height:1.65!important; }

body.cp-global-shell .cpcm .cpcm-support p:not(.cpcm-eyebrow){font-size:15px!important;line-height:1.65!important;}

body.cp-global-shell [data-cp-prose-lang]:lang(en){text-justify:inter-word;}

/* Short editorial takeaways must never stretch words across a narrow column. */
body.cp-global-shell .cp-journal-takeaway{ text-align:start!important;text-align-last:start!important;word-spacing:normal!important;letter-spacing:normal!important;hyphens:none!important;-webkit-hyphens:none!important;white-space:normal!important;word-break:normal!important;overflow-wrap:normal!important;text-wrap:pretty; }
body.cp-global-shell .cp-journal-takeaway .cp58-line{display:inline!important;white-space:normal!important;word-spacing:normal!important}

/* v66: remove unused mobile padding from expanded explanations. */
@media(max-width:767px){html[data-cp66-active] body.cp-global-shell .cp-v22-quality-list details>p:lang(en){padding-right:0!important}}

/* Restore the photographic composition with a soft contrast layer. */
@media(max-width:767px){
 body.cp-global-shell.cp-site-v38 .cp38-brand{grid-template-columns:minmax(0,1fr)!important;min-height:560px;}
 body.cp-global-shell.cp-site-v38 .cp38-brand-copy{grid-area:1/1!important;align-self:start!important;z-index:2;width:100%!important;max-width:none!important;margin:0!important;background:transparent!important;padding:28px 24px!important;}
 body.cp-global-shell.cp-site-v38 .cp38-brand>.cp38-picture{grid-area:1/1!important;align-self:stretch!important;width:100%;overflow:hidden;min-height:560px;}
 body.cp-global-shell.cp-site-v38 .cp38-brand>.cp38-picture img{display:block!important;width:100%!important;height:100%!important;object-fit:cover!important;object-position:center center!important;}
 body.cp-global-shell.cp-site-v38 .cp38-brand::after{content:"";position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(180deg,rgba(247,244,236,.82) 0px,rgba(247,244,236,.82) 290px,rgba(247,244,236,0) 360px);}
}


body.cp-global-shell .cp66-ink{letter-spacing:var(--cp68-tracking,normal)!important;transform:none!important;}

/* Give narrow phones a readable 16px measure without compressing glyphs. */
@media(max-width:374px){
 body.cp-global-shell .cp-v22-who-page .cp-v22-shell{width:calc(100% - 24px)!important;}
 body.cp-global-shell .cp-v22-who-page :is(.cp-v22-hero-copy>p,.cp-v22-prose p,.cp-v23-video-copy>p,.cp-v22-quality-intro>p,.cp-v22-quality-list details>p,.cp-v22-values article>p){font-size:16px!important;line-height:1.7!important;}
}

@media(max-width:767px){body.cp-global-shell.cp-site-v38 .cp-standard>p{font-size:16px!important;}}

/* Avoid stacking Astra and Journal margins on narrow screens. */
@media(max-width:767px){
 body.cp-global-shell #content>.ast-container:has(>#cp-journal-main){padding-inline:0!important;}
 body.cp-global-shell .cp-journal-shell{width:calc(100% - 32px)!important;}
}

@media(max-width:767px){
 body.cp-global-shell .cp-journal-product{padding:24px 16px;}
 body.cp-global-shell .cpc-journal-companion{padding-inline:16px;}
}
/* A consistent reading size leaves room for whole words on phones. */
@media(max-width:767px){
 body.cp-global-shell .cp-journal-body p:not(.cp-journal-eyebrow),
 body.cp-global-shell .cp-journal-body>ul>li,
 body.cp-global-shell .cp-journal-body>ol>li{font-size:16px!important;line-height:1.75!important;}
}

@media(max-width:767px){
 body.cp-global-shell .cpc-panel p,
 body.cp-global-shell .cpc-panel li{font-size:16px!important;line-height:1.75!important;}
}

/* Recover useful line length on the narrowest phone viewport. */
@media(max-width:374px){
 body.cp-global-shell .cp-journal-shell{width:calc(100% - 20px)!important;}
 body.cp-global-shell .cpc-information>.cp-v16-shell{width:calc(100% - 20px)!important;}
}

@media(max-width:767px){
 body.cp-global-shell .cpcm-answer p:not(.cpcm-small),
 body.cp-global-shell .cpcm-answer li{font-size:16px!important;line-height:1.75!important;}
}

/* Partnership cards: readable mobile type gives long compounds room without hyphenation. */
@media(max-width:767px){
 body.cp-global-shell .cp54-three article>p{font-size:16px!important;line-height:1.75!important;}
}
/* Contact prompts are labels, not justified prose. */
body.cp-global-shell #partner-form .cp54-partner-form-grid>div>p:has(a[href^="mailto:"]){
 text-align:start!important;text-align-last:start!important;word-spacing:normal!important;letter-spacing:normal!important;
}
