.plum-form-file-error { display:block; margin-top:8px; color:#b42318; font-weight:600; line-height:1.6; }
.plum-form-file-error[hidden] { display:none; }
.plum-form-file-control:focus-within { outline:3px solid #155eef; outline-offset:3px; }
.plum-form-status--error:focus { outline:3px solid #155eef; outline-offset:4px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior:auto !important; } }

/* Preserve the existing palette, with readable secondary text. */
body {
  --about-muted:#435b62 !important;
  --contact-muted:#435b62 !important;
  --plum-allulose-muted:#435b62 !important;
  --plum-ammonia-muted:#435b62 !important;
  --plum-biopharma-muted:#435b62 !important;
  --plum-botanical-muted:#435b62 !important;
  --plum-coal-muted:#435b62 !important;
  --plum-condensate-muted:#435b62 !important;
  --plum-condiment-muted:#435b62 !important;
  --plum-cooling-muted:#435b62 !important;
  --plum-core-muted:#435b62 !important;
  --plum-detail-tail-muted:#435b62 !important;
  --plum-dilute-muted:#435b62 !important;
  --plum-fermentation-muted:#435b62 !important;
  --plum-fgd-muted:#435b62 !important;
  --plum-hfcs-muted:#435b62 !important;
  --plum-home-muted:#435b62 !important;
  --plum-lactic-muted:#435b62 !important;
  --plum-leachate-muted:#435b62 !important;
  --plum-lithium-muted:#435b62 !important;
  --plum-mine-muted:#435b62 !important;
  --plum-muted:#435b62 !important;
  --plum-nf-muted:#435b62 !important;
  --plum-process-muted:#435b62 !important;
  --plum-reuse-muted:#435b62 !important;
  --plum-starch-muted:#435b62 !important;
  --plum-waste-muted:#435b62 !important;
  --plum-zld-muted:#435b62 !important;
}

.plum-home-eyebrow--light { color:#c8fff7 !important; }
.plum-home-hero__lead, .plum-home-hero__media figcaption { color:#f5fbff !important; }
.plum-cn-case-card--reserved h3 { color:#435b62 !important; }
body main .plum-button--primary, body main .plum-about-button--primary, body main .plum-solution-detail-hero__primary {
  background:#fff !important; color:#155eef !important; border:2px solid #155eef !important;
}
body main .plum-button--primary:hover, body main .plum-about-button--primary:hover, body main .plum-solution-detail-hero__primary:hover {
  background:#155eef !important; color:#fff !important;
}
body main :is(a,button,input,select,textarea,summary):focus-visible { outline:3px solid #155eef; outline-offset:3px; }

/* Unify existing primary actions without styling WordPress wrappers. */
body main p[class*="button--primary"] { background:transparent !important; border:0 !important; padding:0 !important; box-shadow:none !important; }
body main :is(a,button)[class*="button--primary"], body main .plum-jump-link-cta { background:#fff !important; color:#155eef !important; border:2px solid #155eef !important; }
body main :is(a,button)[class*="button--primary"]:is(:hover,:focus-visible), body main .plum-jump-link-cta:is(:hover,:focus-visible) { background:#155eef !important; color:#fff !important; }
/* Original source markup stays readable inside the process explanation. */
body .plum-cn-pfd-source :is(h2,h3,h4,p,strong,small,dt,dd) { color:#202525 !important; }
body .plum-cn-pfd-source header > span { color:#006a70 !important; }

body.page-id-48 .plum-modules-footnote,
body.page-id-48 .plum-modules-selection-path > ol > li > small,
body.page-id-52 .plum-engineering-marker > span,
body.page-id-52 .plum-fgd-eyebrow,
body.page-id-52 .plum-fgd-source-line > div > span,
body.page-id-53 .plum-waste-resource-feed.plum-waste-resource-feed--salt > header > span,
body.page-id-53 .plum-waste-resource-lane.plum-waste-resource-lane--ash > header > span,
body.page-id-53 .plum-waste-resource-lane.plum-waste-resource-lane--salt > header > span,
body.page-id-54 .plum-coal-form-note,
body.page-id-54 .plum-coal-lane.plum-coal-lane--organic > header > span,
body.page-id-54 .plum-coal-sector-band > article > span,
body.page-id-54 .plum-engineering-marker > span,
body.page-id-55 .plum-lithium-boundary-list > article > span,
body.page-id-55 .plum-lithium-feed.plum-lithium-feed--ore > header > span,
body.page-id-56 .plum-leachate-hub-route__label,
body.page-id-57 .plum-ammonia-eyebrow,
body.page-id-57 .plum-ammonia-fit__grid > article > span,
body.page-id-57 .plum-definition-item > dt,
body.page-id-6 .plum-reuse-decision-path > li > span,
body.page-id-6 .plum-reuse-hero__note,
body.page-id-7 .plum-definition-item > dt,
body.page-id-7 .plum-process-fluid-form-note,
body.page-id-7 .plum-process-fluid-hero__note,
body.page-id-7 .plum-process-fluid-validation-band__copy > ol > li > span,
body.page-id-9 .plum-contact-form-section__checklist > span,
body.page-id-9 .plum-contact-index,
body.post-type-archive-plum_download .plum-resource-taxonomy,
body.postid-10 .plum-definition-item > dd,
body.postid-10 .plum-definition-item > dt,
body.postid-10 .plum-pek-boundary-note,
body.postid-10 .plum-pek-boundary-note > strong,
body.postid-10 .plum-pek-principle__figure > figcaption,
body.postid-10 .plum-pek-selector > div > span,
body.postid-10 .plum-product-detail-shell.plum-pek-material__grid > figure > figcaption,
body.postid-13 .plum-definition-item.plum-oil-quality-compare__row > dt > span,
body.postid-13 .plum-definition-item.plum-oil-quality-compare__row.plum-oil-quality-compare__row--key > dt > span,
body.postid-13 .plum-oil-quality-compare__arrow,
body.postid-13 .plum-oil-quality-compare__feed > small,
body.postid-13 .plum-oil-quality-compare__outlet > small,
body.postid-13 .plum-oil-quality-compare__rate > small,
body.postid-193 .plum-pek-s-release-steps > li > p,
body.postid-194 .plum-validation-decision-rail > li > div > p { color:#435b62 !important; }

body.page-id-48 .plum-modules-form-note,
body.page-id-50 .plum-cooling-shell.plum-cooling-loop > i,
body.page-id-55 #lithium-evidence-title,
body.page-id-55 .plum-cn-evidence-intro,
body.page-id-57 .plum-ammonia-form__checklist > span,
body.page-id-59 .plum-allulose-hero__media > figcaption > strong,
body.page-id-59 .plum-allulose-section-head.plum-allulose-section-head--light > p,
body.page-id-59 .plum-allulose-validation-steps > li > small,
body.page-id-59 .plum-allulose-validation-steps > li > span,
body.page-id-61 .plum-hfcs-hero__media > figcaption > strong,
body.page-id-61 .plum-hfcs-section-head.plum-hfcs-section-head--light > p,
body.page-id-61 .plum-hfcs-validation-steps > li > small,
body.page-id-61 .plum-hfcs-validation-steps > li > span,
body.page-id-62 #dilute-evidence-title,
body.page-id-62 .plum-cn-evidence-intro,
body.page-id-65 #condensate-evidence-title,
body.page-id-65 .plum-cn-evidence-intro,
body.page-id-67 #botanical-evidence-title,
body.page-id-67 .plum-cn-evidence-intro,
body.page-id-68 .plum-biopharma-gate > p,
body.page-id-68 .plum-biopharma-gate > span,
body.page-id-68 .plum-biopharma-section-head.plum-biopharma-section-head--light > p,
body.page-id-71 #core-pek-evidence-title,
body.page-id-71 .plum-cn-evidence-intro,
body.page-id-71 .plum-core-pek-boundary > div > strong,
body.page-id-72 #core-nf-evidence-title,
body.page-id-72 .plum-cn-evidence-intro,
body.page-id-73 .plum-core-boundary-note,
body.page-id-73 .plum-core-boundary-note > strong { color:#f5fbff !important; }

/* Instant foreground/background switch avoids unreadable intermediate button colors. */
body main .plum-jump-link-cta { transition:none !important; }
body .plum-contact-hero__actions { align-items:center !important; gap:12px !important; flex-wrap:wrap; }
body .plum-contact-hero__actions > p { display:flex !important; align-items:center !important; margin:0 !important; padding:0 !important; min-height:0 !important; width:auto !important; border:0 !important; background:transparent !important; box-shadow:none !important; }
body .plum-contact-hero__actions > p > a { display:inline-flex !important; align-items:center !important; justify-content:center !important; box-sizing:border-box; min-height:52px !important; margin:0 !important; padding:12px 24px !important; line-height:1.4 !important; background:#fff !important; color:#155eef !important; border:2px solid #155eef !important; border-radius:999px !important; }
body .plum-contact-hero__actions > p > a:is(:hover,:focus-visible) { background:#155eef !important; color:#fff !important; }
@media(max-width:600px) { body .plum-contact-hero__actions { display:grid !important; grid-template-columns:1fr !important; } body .plum-contact-hero__actions > p, body .plum-contact-hero__actions > p > a { width:100% !important; } }
body.page-id-52 .plum-fgd-section-head--light .plum-fgd-eyebrow, body.page-id-52 .plum-fgd-form-intro .plum-fgd-eyebrow,
body.page-id-57 .plum-ammonia-hero .plum-ammonia-eyebrow, body.page-id-57 .plum-ammonia-heading--inverse .plum-ammonia-eyebrow, body.page-id-57 .plum-ammonia-form__intro .plum-ammonia-eyebrow,
body.page-id-7 .plum-process-fluid-family--fermentation .plum-definition-item > dt { color:#f5fbff !important; }

/* The empty case slot uses a light gradient, not a photographic overlay. */
body .plum-cn-case-card__placeholder > span { color: #355d57 !important; }

/* 2026-10-02: final button alignment, retaining the existing Chinese design. */
body main p:is(.plum-button,.plum-home-button,[class*="button--"]):has(>a) {padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;min-height:0!important;}
body main :is(.plum-modules-actions,.plum-modules-product-actions,.plum-modules-selection-path__actions,.plum-process-fluid-actions,.plum-zld-actions) {display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;gap:12px!important;}
body main :is(.plum-modules-actions,.plum-modules-product-actions,.plum-modules-selection-path__actions,.plum-process-fluid-actions,.plum-zld-actions)>p {display:flex!important;align-items:stretch!important;margin:0!important;max-width:100%;min-width:0;}
body main :is(.plum-modules-actions,.plum-modules-selection-path__actions,.plum-process-fluid-actions,.plum-zld-actions)>p>a {height:100%;}
body main .plum-modules-product-actions>p>a {display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box;min-height:44px;max-width:100%;padding:9px 16px!important;border:2px solid #155eef!important;border-radius:8px!important;background:#fff!important;color:#155eef!important;font-size:14px!important;font-weight:700!important;line-height:1.4!important;text-align:center;text-decoration:none;white-space:normal;}
body main .plum-modules-product-actions>p>a:is(:hover,:focus-visible) {background:#155eef!important;color:#fff!important;}
@media(max-width:600px) {
 body main :is(.plum-modules-actions,.plum-modules-product-actions,.plum-modules-selection-path__actions,.plum-process-fluid-actions,.plum-zld-actions) {display:grid!important;grid-template-columns:minmax(0,1fr)!important;}
 body main :is(.plum-modules-actions,.plum-modules-product-actions,.plum-modules-selection-path__actions,.plum-process-fluid-actions,.plum-zld-actions)>p,body main :is(.plum-modules-actions,.plum-modules-product-actions,.plum-modules-selection-path__actions,.plum-process-fluid-actions,.plum-zld-actions)>p>a {width:100%!important;}
}

/* Reset only paragraph wrappers; the real link keeps its button appearance. */
body main p:is(.plum-button,.plum-home-button,.plum-about-button,[class*="button--"]):has(>a) {padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;min-height:0!important;}
body main .plum-about-actions {display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;gap:14px!important;}
body main .plum-about-actions>p {display:flex!important;align-items:stretch!important;min-width:0;max-width:100%;margin:0!important;}
body main .plum-about-actions>p>a {display:inline-flex!important;align-items:center!important;justify-content:center!important;box-sizing:border-box;min-height:52px!important;max-width:100%;height:100%;text-align:center;}
@media(max-width:600px) {body main .plum-about-actions {display:grid!important;grid-template-columns:minmax(0,1fr)!important;}body main .plum-about-actions>p,body main .plum-about-actions>p>a {width:100%!important;}}

/* Mixed button classes must stretch within the same action row. */
body main :is(.plum-about-actions,.plum-leachate-hub-cta__actions) {display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;gap:14px!important;}
body main :is(.plum-about-actions,.plum-leachate-hub-cta__actions)>p {display:flex!important;align-items:stretch!important;min-width:0;max-width:100%;height:auto!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;}
body main :is(.plum-about-actions,.plum-leachate-hub-cta__actions)>p>a {display:flex!important;align-items:center!important;justify-content:center!important;align-self:stretch!important;box-sizing:border-box!important;min-height:52px!important;max-width:100%;height:auto!important;padding:12px 20px!important;line-height:1.4!important;text-align:center;}
@media(max-width:600px) {body main :is(.plum-about-actions,.plum-leachate-hub-cta__actions) {display:grid!important;grid-template-columns:minmax(0,1fr)!important;}body main :is(.plum-about-actions,.plum-leachate-hub-cta__actions)>p,body main :is(.plum-about-actions,.plum-leachate-hub-cta__actions)>p>a {width:100%!important;}}

/* Match the body CTA minimum used across all three languages. */
body main .plum-jump-link-cta {min-height:44px!important;}

/* A shared action row has one outline treatment even when source classes differ. */
body main :is(.plum-about-actions,.plum-leachate-hub-cta__actions)>p>a {border:2px solid #155eef!important;border-radius:8px!important;background:#fff!important;color:#155eef!important;text-decoration:none!important;transition:none!important;}
body main :is(.plum-about-actions,.plum-leachate-hub-cta__actions)>p>a:is(:hover,:focus-visible) {background:#155eef!important;color:#fff!important;}

/* Leachate route entries share the same blue outline in all three languages. */
body .plum-zld-route-branches { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; grid-auto-rows: 1fr; align-items: stretch; gap: 12px !important; }
body .plum-zld-route-branches > p { display: flex !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important; background: transparent !important; }
body .plum-zld-route-branches > p > a { display: inline-flex !important; align-items: center; justify-content: center; box-sizing: border-box; width: 100% !important; min-width: 0 !important; min-height: 44px; padding: 10px 18px !important; border: 2px solid #155eef !important; border-radius: 8px !important; background: #fff !important; color: #155eef !important; font-size: 1rem !important; font-weight: 600 !important; line-height: 1.5 !important; text-align: center; text-decoration: none !important; }
body .plum-zld-route-branches > p > a:hover { background: #155eef !important; color: #fff !important; }
body .plum-zld-route-branches > p > a:focus-visible { outline: 3px solid #13c7cc; outline-offset: 3px; }
@media (max-width: 700px) { body .plum-zld-route-branches { flex-direction: column; } body .plum-zld-route-branches > p > a { width: 100%; } }
