:root:root[data-theme="dark"] .db-tabs,:root:root[data-theme="dark"] .tool-sort-btn{background:#20202b!important;color:#b8b8ca!important;} :root:root[data-theme="dark"] .tool-sort-btn.active{background:#292938!important;color:#bcabf2!important;} :root:root[data-theme="dark"] .pcz-collapse summary .meta{color:#b8b8ca!important;} :root:root[data-theme="dark"] .pcz-review-badge{color:#8bd6bb!important;}:root[data-theme="dark"]{--bg:#15151c;--bg2:#20202b;--soft:#292938;--dm-card:#20202b;--ink:#eeeef5;--ink-soft:#b8b8ca;--ink-faint:#b8b8ca;--line:#3b3b50;--line-strong:#3b3b50;--logo-purple:#bcabf2;--violet:#bcabf2;--violet-deep:#bcabf2;--violet-tint:#292938;--sky-h1:#bcabf2;--db-h1:#bcabf2;--db-color:#bcabf2;--db-deep:#bcabf2;--db-tint:#292938;--db-line:#3b3b50;--sup-color:#bcabf2;--sup-deep:#bcabf2;--sup-tint:#292938;--sup-line:#3b3b50;color-scheme:dark;}
:root:root[data-theme="dark"] body{background:#15151c!important;color:#eeeef5!important;}
:root:root[data-theme="dark"] header.site,:root:root[data-theme="dark"] nav,:root:root[data-theme="dark"] .main-nav{background:#20202b!important;color:#b8b8ca!important;}
:root:root[data-theme="dark"] .hero,:root:root[data-theme="dark"] .ps-spotlight,:root:root[data-theme="dark"] .ps-spotlight-inner{background:#15151c!important;}
:root:root[data-theme="dark"] h1,:root:root[data-theme="dark"] h2,:root:root[data-theme="dark"] h3{color:#eeeef5!important;}
:root:root[data-theme="dark"] a:not([class]),:root:root[data-theme="dark"] .hero h1,:root:root[data-theme="dark"] .logo,:root:root[data-theme="dark"] .logo span{color:#bcabf2!important;}
:root:root[data-theme="dark"] .pcz-page,:root:root[data-theme="dark"] .pcz-product,:root:root[data-theme="dark"] .pcz-collapse,:root:root[data-theme="dark"] input,:root:root[data-theme="dark"] select{background:#20202b!important;color:#eeeef5!important;border-color:#3b3b50!important;}
:root:root[data-theme="dark"] .pcz-about p,:root:root[data-theme="dark"] .pcz-review blockquote,:root:root[data-theme="dark"] .pcz-product-body dt{color:#eeeef5!important;}
:root:root[data-theme="dark"] .pcz-sub,:root:root[data-theme="dark"] .pcz-review .src,:root:root[data-theme="dark"] .pcz-product-body dd{color:#b8b8ca!important;}
:root:root[data-theme="dark"] .pcz-review,:root:root[data-theme="dark"] .pcz-product summary:hover,:root:root[data-theme="dark"] .pcz-collapse>summary{background:#292938!important;}
:root:root[data-theme="dark"] body .btn-primary,:root:root[data-theme="dark"] body .pcz-hero-cta,:root:root[data-theme="dark"] body .ps-spotlight-cta,:root:root[data-theme="dark"] body .shop-btn,:root:root[data-theme="dark"] body .type-btn.active{background:#7456bd!important;color:#fff!important;}
:root:root[data-theme="dark"] .top-banner,:root:root[data-theme="dark"] .research-banner{background:#7456bd!important;color:#fff!important;}
:root:root[data-theme="dark"] .disclaimer{background:#7456bd!important;color:#fff!important;}
:root:root[data-theme="dark"] .enc-intro{background:#20202b!important;border-color:#3b3b50!important;}
:root:root[data-theme="dark"] .enc-intro p{color:#b8b8ca!important;}
:root:root[data-theme="dark"] .enc-intro h2{color:#eeeef5!important;}
:root:root[data-theme="dark"] .type-toggle button.active,:root:root[data-theme="dark"] .tool-type button.active{background:#7456bd!important;color:#fff!important;}
:root:root[data-theme="dark"] .format-switch a.active{background:#7456bd!important;color:#fff!important;}

/* Menu starts immediately below the current header, on every screen size. */
#mobileNav.mobile-nav{padding-top:12px;overscroll-behavior:contain;}

/* Version 190: page accents shared by navigation, actions and controls.
   Status colours, quality badges, charts and supplier artwork stay semantic. */
body {
  --page-accent:#6a4fc4; --page-hover:#53399f; --page-text:#6045b5;
  --page-tint:#f1ecfb; --page-line:#d9cff1; --page-heading:#6a4fc4;
}
body.db-theme {--page-accent:#856f19;--page-hover:#665410;--page-text:#756015;--page-tint:#f3f1e8;--page-line:#dad4ba;--page-heading:#a18c39;}
body.reviews-theme {--page-accent:#a94b24;--page-hover:#813719;--page-text:#a04a25;--page-tint:#f7ede8;--page-line:#e7cabb;--page-heading:#b66e4d;}
body.quality-theme,body.supplier-theme:not([data-supplier-slug]) {--page-accent:#2b5ca1;--page-hover:#21477d;--page-text:#2b5ca1;--page-tint:#eaeff6;--page-line:#bfcee3;--page-heading:#6d8ebf;}
body.faq-theme {--page-accent:#ae2934;--page-hover:#861f28;--page-text:#ae2934;--page-tint:#f7eaeb;--page-line:#e7bfc2;--page-heading:#bf626b;}
body.contact-theme {--page-accent:#a84930;--page-hover:#863922;--page-text:#a84930;--page-tint:#fcf0ec;--page-line:#e8c8bc;--page-heading:#bd664c;}
body.beleid-theme {--page-accent:#376f60;--page-hover:#285346;--page-text:#376f60;--page-tint:#edf5f1;--page-line:#c3dcd1;--page-heading:#5f9587;}
body.enc-theme:has(.enc-index) {--page-accent:#3d7059;--page-hover:#2c5342;--page-text:#3d7059;--page-tint:#eaf3ee;--page-line:#c3ddd0;--page-heading:#608872;}
/* Dark mode uses the existing lavender identity, with separate text and fill
   tokens so white labels remain legible on every filled control. */
:root[data-theme="dark"] body {--page-accent:#7456bd;--page-hover:#6345aa;--page-text:#c6b4fa;--page-tint:#292938;--page-line:#51456b;--page-heading:#c6b4fa;}
@media(prefers-color-scheme:dark){:root:not([data-theme]) body {--page-accent:#7456bd;--page-hover:#6345aa;--page-text:#c6b4fa;--page-tint:#292938;--page-line:#51456b;--page-heading:#c6b4fa;}}

/* Explicit priority replaces the legacy per-section !important overrides. */
:root:root:root body :is(.btn-primary,.cmp-cta,.page-cta-btn,.page-submit,.btn-write,.pcz-hero-cta,.shop-btn:not(.notify),.cookie-btn.accept,.coach-input button,.coach-fab,.coach-head,.coach-msg.user,.calc-chip.active,.calc-toggle button.active,.calc-step .n,.format-switch a.active,.type-btn.active,.type-toggle button.active,.tool-type button.active) {
  background:var(--page-accent)!important;color:#fff!important;border-color:var(--page-accent)!important;
}
:root:root:root body :is(.btn-primary,.cmp-cta,.page-cta-btn,.page-submit,.btn-write,.pcz-hero-cta,.shop-btn:not(.notify),.cookie-btn.accept,.coach-input button,.coach-fab,.calc-chip.active,.format-switch a.active):hover {
  background:var(--page-hover)!important;color:#fff!important;border-color:var(--page-hover)!important;
}
:root:root:root body :is(.tool-filter.active,.tool-sort-btn.active,.sort-btn.active,.lang-menu a.active,.db-tab.active) {
  background:var(--page-tint)!important;color:var(--page-text)!important;border-color:var(--page-accent)!important;
}
:root:root:root body :is(.eyebrow,.btn-link,.live-guide-link,.calc-result-eyebrow,.calc-result-value,.calc-result-sub,.howto-card strong,.quicklink-banner .qlb-eyebrow) {color:var(--page-text)!important;}
:root:root:root body :is(nav.primary a.active,nav.primary a:hover,.mobile-nav a.active,.mobile-nav a:hover,.crumbs a:hover,.format-switch a:hover:not(.active),.coach-suggest span,.coach-msg:not(.user) a) {color:var(--page-text)!important;}
:root:root:root body nav.primary a.active {border-color:var(--page-accent)!important;}
:root:root:root body :is(.btn-ghost:hover,.tool-filter:hover,.calc-chip:not(.active):hover,.coach-suggest span:hover) {background:var(--page-tint)!important;color:var(--page-text)!important;border-color:var(--page-accent)!important;}
:root:root:root body :is(.howto-card,.calc-result-card,.quicklink-banner) {background:var(--page-tint)!important;border-color:var(--page-line)!important;}
:root:root:root body :is(.disclaimer,.quicklink-banner .qlb-icon,.coach-head-av) {background:var(--page-accent)!important;color:#fff!important;}
:root:root:root body .coach-head-status {border-color:var(--page-accent)!important;}
:root:root:root body :focus-visible {outline-color:var(--page-accent);}
:root:root:root body :is(.calc-input,.calc-select,.page-input,.enc-search,.tool-search):focus {border-color:var(--page-accent)!important;box-shadow:0 0 0 3px var(--page-tint)!important;}
:root:root:root body :is(input[type=checkbox],input[type=radio],input[type=range]) {accent-color:var(--page-accent);}
:root:root:root body .shop-btn.notify {background:transparent!important;color:var(--ink-soft)!important;border-color:var(--line-strong)!important;}

/* Keep page titles and decorative accents in the same colour family. */
:root:root:root body h1,:root:root:root body h1 em {color:var(--page-heading)!important;}
:root:root:root body .calc-output {background:linear-gradient(165deg,var(--page-accent),var(--page-hover))!important;color:#fff!important;}
:root:root:root body .calc-output :is(.calc-big,.calc-big span,.calc-units,.s-v) {color:#fff!important;}
:root:root:root body .calc-output :is(.calc-output-eyebrow,.s-l) {color:rgba(255,255,255,.85)!important;}
:root:root:root body.articles-theme :is(.art-hero h1 em,.step-flow .sf-head,.mini-callout strong,.key-takeaways h3,.key-takeaways .kt-label,.body-content a,.art-toc a:hover) {color:var(--page-text)!important;}
:root:root:root body.articles-theme :is(.read-progress,.sf-num) {background:var(--page-accent)!important;color:#fff!important;}
:root:root:root body.articles-theme :is(.key-takeaways,.mini-callout) {background:var(--page-tint)!important;border-color:var(--page-line)!important;}
:root:root:root body.articles-theme :is(.news-num,.news-cat) {color:var(--page-text)!important;}
/* Cross-site call to action follows the surrounding dark promotional panel. */
:root:root:root body .ps-spotlight-cta {background:#c6b4fa!important;color:#241438!important;box-shadow:0 8px 24px rgba(116,86,189,.22);}
:root:root:root body .ps-spotlight-cta:hover {background:#dfd3ff!important;}

/* Version 191 — typographic rhythm.
   The site uses two deliberate faces: Fraunces for hierarchy and Source Sans 3
   for reading and controls. These rules remove the remaining one-off scales
   from the common page shells without touching price tables or data labels. */
body{font-size:15px;line-height:1.6;}
:root:root:root body :is(h1,.body-content h1,.article-h1){font-size:clamp(34px,4vw,46px)!important;line-height:1.12!important;letter-spacing:-.55px!important;}
:root:root:root body :is(h2,.body-content h2){font-size:clamp(24px,2.8vw,30px)!important;line-height:1.2!important;letter-spacing:-.35px!important;}
:root:root:root body :is(h3,.body-content h3,.calc-step h4,.calc-ref h4){font-size:18px!important;line-height:1.3!important;letter-spacing:-.15px!important;}
:root:root:root body :is(.lead,.art-lead){font-size:clamp(16px,1.7vw,18px)!important;line-height:1.62!important;max-width:62ch;}
:root:root:root body .body-content p{font-size:16px!important;line-height:1.72!important;}
:root:root:root body :is(.body-content ul li,.body-content ol li){font-size:15.5px!important;line-height:1.68!important;}
:root:root:root body :is(.eyebrow,.calc-label,.calc-output-eyebrow,.key-takeaways .kt-head,.callout-soft .callout-label){font-size:11px!important;letter-spacing:.85px!important;line-height:1.35!important;}
:root:root:root body :is(nav.primary,.mobile-nav,.btn-primary,.btn-ghost,.page-cta-btn,.page-submit,.btn-write,.tool-filter,.tool-sort-btn,.sort-btn,.calc-chip,.calc-toggle button){font-size:13px!important;}
:root:root:root body :is(.btn-primary,.btn-ghost,.page-cta-btn,.page-submit,.btn-write){min-height:42px;}
:root:root:root body :is(.tool-filter,.tool-sort-btn,.sort-btn){min-height:40px;display:inline-flex;align-items:center;justify-content:center;}
:root:root:root body :is(.calc-input,.calc-select){font-size:15px!important;min-height:48px;}
/* Formulae and small technical labels use the existing shared UI face too;
   removes the occasional fallback to a third, unbundled font. */
:root:root:root body .molpk :is(span,dd),:root:root:root body .sup-sub span[style*="font-family"]{font-family:var(--mono)!important;}
@media(max-width:640px){
  :root:root:root body :is(h1,.body-content h1,.article-h1){font-size:34px!important;}
  :root:root:root body :is(h2,.body-content h2){font-size:24px!important;}
  :root:root:root body :is(.lead,.art-lead){font-size:16px!important;line-height:1.58!important;}
  :root:root:root body .body-content p{font-size:15.5px!important;line-height:1.68!important;}
}

/* Trusted Performer supplier galleries — opened photos at half the former
   maximum dimensions. Profile thumbnails stay unchanged. */
body.supplier-theme.tier-blue .sp-gallery-lb img{max-width:45vw;max-height:44vh;}
