/* ------------------------------------------------------------------
   SIMONE — high-contrast mode (theme 1.9.32, 15-10-2026).
   Active while <html data-contrast="high">: set by the footer switch
   (remembered in localStorage «simone-contrast») or, with no choice
   saved, by the visitor's system preference (prefers-contrast: more).
   Markup and script: inc/contrast.php. The brand palette stays light;
   it goes to pure black on pure white, body text to regular weight,
   thicker rules and a visible focus ring (no underlines: Pablo, 15-10).
   ------------------------------------------------------------------ */

/* Footer switch (always present) */
.lx-a11y{margin-top:clamp(40px,4.5vw,64px);display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.lx-contrast{display:inline-flex;align-items:center;gap:14px;min-height:44px;margin:0;padding:0;border:0;background:none;font:inherit;font-size:13px;font-weight:300;letter-spacing:0;text-transform:none;color:#d6d6d3;cursor:pointer}
.lx-contrast:hover{color:#fff}
.lx-contrast:focus-visible{outline:2px solid #fff;outline-offset:4px}
.lx-contrast-sw{position:relative;display:inline-block;width:44px;height:24px;flex:none;box-sizing:border-box;border:1px solid #d6d6d3;border-radius:12px;background:transparent;transition:background .2s,border-color .2s}
.lx-contrast-sw i{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#d6d6d3;transition:transform .2s,background .2s}
.lx-contrast[aria-pressed="true"] .lx-contrast-sw{background:#fff;border-color:#fff}
.lx-contrast[aria-pressed="true"] .lx-contrast-sw i{background:#0A0A0A;transform:translateX(20px)}
@media (prefers-reduced-motion:reduce){.lx-contrast-sw,.lx-contrast-sw i{transition:none}}

/* 1 · Palette: every token used by the skin, to pure black / pure white */
html[data-contrast="high"]{--lx-ink:#000;--lx-ink-2:#000;--lx-mute:#000;--lx-mute-2:#000;--lx-line:#000;--lx-paper:#fff;--lx-grey:#fff;--lx-white:#fff}
html[data-contrast="high"] body{background:#fff;color:#000}

/* 2 · Dark surfaces keep their ink background; their grey text becomes white */
html[data-contrast="high"] :is(.lx-topbar,.mega,.lx-dark,.lx-pro,.lx-footer,.lx-mnav,.lx-tech-grid div,.lx-quote.on-dark,.lx-channels a.dark,.on-dark,.lx-play,.lx-mnav-door,.lx-mnav-card,.lx-mnav-tile .visual){--lx-mute:#fff;--lx-mute-2:#fff;--lx-ink-2:#fff;--lx-line:#fff}
html[data-contrast="high"] :is(.lx-footer .about,.lx-footer .col-title,.lx-footer .tagline,.lx-footer ul,.lx-footer ul a,.lx-footer .colophon,.lx-footer .colophon span,.mega-list a:hover,.mega-list a .i,.mega-list a .c,.mega-list-col .lx-eyebrow,.mega-card p,.lx-eyebrow.on-dark,.lx-pro-list .i,.lx-pro-list p,.lx-pro .lx-fig,.lx-channels a.dark .k,.lx-channels a.dark .d,.lx-num.on-dark p,.lx-num.on-dark .i,.lx-dark .lx-cards .d,.lx-steps.on-dark p,.lx-steps.on-dark .i,.lx-tech-grid .i,.lx-mnav-head .basket-count,.lx-mnav-search svg,.lx-mnav-door .eyebrow,.lx-mnav-door .sub,.lx-mnav-list svg,.lx-mnav-foot .lang a,.lx-mnav-foot .promise,.lx-mnav-title .eyebrow,.lx-mnav-title h2 span,.lx-mnav-tile .visual .i,.lx-mnav-tile .c,.lx-mnav-chapters .i,.lx-mnav-chapters svg,.lx-mnav-card .eyebrow,.lx-mnav-card .p,.lx-mnav-cta span,.lx-contrast){color:#fff!important}
html[data-contrast="high"] :is(.lx-mnav-tile.is-all .visual .eyebrow,.lx-mnav-hero .chip .m){color:#000!important}
html[data-contrast="high"] .lx-footer .colophon{border-top-color:#fff!important}
html[data-contrast="high"] .lx-mnav :is(.lx-mnav-search,.lx-mnav-door,.lx-mnav-door .visual,.lx-mnav-list,.lx-mnav-list a,.lx-mnav-foot,.lx-mnav-tile .visual,.lx-mnav-hero,.lx-mnav-chapters,.lx-mnav-chapters a,.lx-mnav-card,.lx-mnav-card .visual,.lx-mnav-cta){border-color:#fff!important}
html[data-contrast="high"] .lx-mnav ::placeholder{color:#fff!important;opacity:1}
html[data-contrast="high"] :is(.lx-topbar,.mega,.lx-dark,.lx-pro,.lx-footer,.lx-mnav) :focus-visible{outline-color:#fff!important}

/* 3 · Text: light weights to regular; the thin greys are the hardest to read */
html[data-contrast="high"] :is(p,li,dd,dt,td,th,label,small,figcaption,blockquote,input,select,textarea,button,.lx-eyebrow,.lx-fig,.about,.lx-contrast){font-weight:400!important}
html[data-contrast="high"] ::placeholder{color:#000!important;opacity:1}
html[data-contrast="high"] :is(input,select,textarea){border-color:#000!important}

/* 4 · Focus ring */
html[data-contrast="high"] :focus-visible{outline:3px solid #000!important;outline-offset:3px!important}

/* 5 · Rules and borders */
html[data-contrast="high"] :is(hr,.lx-acc > *,.lx-faq-grid > div,.lx-steps li,.lx-num li){border-color:#000!important}
html[data-contrast="high"] .lx-btn.ghost{border-width:2px}
html[data-contrast="high"] .woocommerce-message,html[data-contrast="high"] .woocommerce-info,html[data-contrast="high"] .woocommerce-error{border-color:#000!important;color:#000!important}
