.erpt-a11y { position: fixed; right: var(--erp-space-4); bottom: calc(var(--erp-a11y-bottom, var(--erp-space-4)) + var(--erpt-a11y-lift, 0px)); z-index: 9999; }
body.erpt-a11y-left .erpt-a11y { right: auto; left: var(--erp-space-4); }
.erpt-a11y.is-ready { transition: bottom .25s; } /* no slide-up on page load: a11y.js sets the lift first, then enables the transition */
/* Before a11y.js runs (deferred), start above a visible sticky add-to-cart bar at every width; JS then sets the exact lift. */
body:has([data-cg-sumbar]:not(.is-hidden):not([hidden])) .erpt-a11y:not(.is-ready) { --erpt-a11y-lift: 6rem; } /* lift: set by a11y.js above a fixed bottom bar */
.erpt-a11y__toggle { width: 3.25rem; height: 3.25rem; border-radius: 50%; border: 0; background: var(--erp-primary); color: #fff; display: grid; place-items: center; box-shadow: var(--erp-shadow-lg); }
.erpt-a11y__panel { position: absolute; right: 0; bottom: calc(100% + var(--erp-space-2)); width: min(20rem, calc(100vw - 2rem)); background: var(--erp-bg); color: var(--erp-text); border: 1px solid var(--erp-line); border-radius: var(--erp-r-lg); box-shadow: var(--erp-shadow-lg); padding: var(--erp-space-4); max-height: calc(100vh - 3.25rem - 2 * var(--erp-space-4) - var(--erp-a11y-bottom, var(--erp-space-4)) - var(--erpt-a11y-lift, 0px)); max-height: calc(100dvh - 3.25rem - 2 * var(--erp-space-4) - var(--erp-a11y-bottom, var(--erp-space-4)) - var(--erpt-a11y-lift, 0px)); overflow: auto; overscroll-behavior: contain; }
body.erpt-a11y-left .erpt-a11y__panel { right: auto; left: 0; }
.erpt-a11y__title { margin: 0 0 var(--erp-space-3); font-weight: 800; color: var(--erp-ink); }
.erpt-a11y__grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--erp-space-2); }
.erpt-a11y__btn { padding: var(--erp-space-3); border: 1px solid var(--erp-line-strong); border-radius: var(--erp-r); background: var(--erp-soft); font-size: var(--erp-fs-sm); font-weight: 600; text-align: left; }
.erpt-a11y__btn[aria-pressed="true"] { background: var(--erp-ink); color: #fff; border-color: var(--erp-ink); }
.erpt-a11y__link { display: inline-block; margin-top: var(--erp-space-3); font-size: var(--erp-fs-sm); text-decoration: underline; }

html[data-a11y-size="1"] { font-size: 112.5%; }
html[data-a11y-size="2"] { font-size: 125%; }
html[data-a11y-size="3"] { font-size: 140%; }
html[data-a11y-contrast="on"] { --erp-ink: #000; --erp-bg: #fff; --erp-dark: #000; --erp-focus: 3px solid #0033cc; --erp-primary-50: #eef2ff; --erp-primary-100: #dfe6ff; --erp-primary-200: #b9c7ff; --erp-primary-600: #002db3; --erp-primary-700: #002080; --erp-green: #006b2b; --erp-text: #000; --erp-muted: #1a1a1a; --erp-subtle: #333; --erp-line: #000; --erp-line-strong: #000; --erp-soft: #fff; --erp-primary: #0033cc; }
html[data-a11y-contrast="on"] body { background: #fff; color: #000; }
html[data-a11y-font="on"] body, html[data-a11y-font="on"] :is(h1, h2, h3, h4, h5, h6), html[data-a11y-font="on"] button, html[data-a11y-font="on"] input { font-family: Verdana, Tahoma, "Segoe UI", sans-serif !important; letter-spacing: .02em; word-spacing: .08em; }
html[data-a11y-links="on"] a { text-decoration: underline !important; text-underline-offset: 3px; }
html[data-a11y-motion="on"] *, html[data-a11y-motion="on"] *::before, html[data-a11y-motion="on"] *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
html[data-a11y-cursor="on"], html[data-a11y-cursor="on"] * { cursor: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' stroke='%23fff' stroke-width='1.5' d='M4 2l14 10-6 1 3 7-3 1-3-7-5 4z'/%3E%3C/svg%3E") 4 2, auto !important; }
@media (prefers-reduced-motion: reduce) { * { animation-duration: .01ms !important; transition-duration: .01ms !important; } }
