/* Accessibility panel and user-selectable modes. */
.a11y-launch{position:fixed;left:max(18px,env(safe-area-inset-left));bottom:max(20px,env(safe-area-inset-bottom));z-index:150;display:grid;place-items:center;width:56px;height:56px;border:0;border-radius:50%;background:var(--card);color:var(--rose-strong);box-shadow:var(--clay);transition:transform .4s var(--spring)}
.a11y-launch:hover{transform:translateY(-4px) rotate(-8deg)}.a11y-launch .ic{width:28px;height:28px}
.a11y-panel{position:fixed;left:max(18px,env(safe-area-inset-left));bottom:92px;z-index:160;width:min(340px,calc(100vw - 36px));max-height:calc(100vh - 130px);overflow:auto;padding:22px;box-shadow:var(--clay-lg);animation:fadeUp .4s var(--ease) both}
.a11y-panel[hidden]{display:none}
.a11y-panel h2{font-size:1.3rem;margin:0 0 4px}.a11y-panel h3{font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:16px 0 8px}
.a11y-panel .opts{display:grid;gap:8px}
.a11y-panel button.a11y-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:46px;padding:0 16px;border:0;border-radius:16px;background:var(--card);box-shadow:var(--clay-sm);font-weight:800;text-align:left;color:var(--text);transition:box-shadow .25s}
.a11y-panel button.a11y-opt[aria-pressed="true"]{box-shadow:var(--clay-in);background:var(--rose-tint);color:var(--rose-strong)}
.a11y-panel button.a11y-opt[aria-pressed="true"]::after{content:"On";font-size:.75rem;background:var(--rose-strong);color:var(--btn-text);padding:2px 9px;border-radius:99px}
.a11y-panel button.a11y-opt[aria-pressed="false"]::after{content:"Off";font-size:.75rem;color:var(--muted)}
.a11y-foot{display:flex;gap:8px;margin-top:16px}.a11y-foot .btn{flex:1}
html.a11y-high-contrast .content-card,html.a11y-high-contrast .product-card,html.a11y-high-contrast .btn,html.a11y-high-contrast input,html.a11y-high-contrast select,html.a11y-high-contrast textarea,html.a11y-high-contrast .opt,html.a11y-high-contrast .nav-shell,html.a11y-high-contrast .bento-tile,html.a11y-high-contrast .step-card,html.a11y-high-contrast .cart-fab,html.a11y-high-contrast .cd-panel{outline:2px solid var(--text);outline-offset:-2px}
html.a11y-high-contrast a:not(.btn){text-decoration:underline}
html.a11y-color-friendly .tag,html.a11y-color-friendly .status-pill{border:2px solid currentColor}
html.a11y-focus :focus-visible{outline:5px solid var(--ring);outline-offset:4px;box-shadow:0 0 0 9px color-mix(in srgb,var(--ring) 25%,transparent)}
html.a11y-dyslexia{--font-heading:"Verdana","Nunito",sans-serif}html.a11y-dyslexia body{font-family:Verdana,"Trebuchet MS",sans-serif;letter-spacing:.04em;word-spacing:.12em;line-height:1.9}
html.a11y-reading p,html.a11y-reading li{line-height:2}
html.a11y-large-controls .btn,html.a11y-large-controls .icon-btn,html.a11y-large-controls .filter-chip,html.a11y-large-controls input,html.a11y-large-controls select{min-height:58px}
html.a11y-large-controls .icon-btn{min-width:58px}
html.a11y-hide-decor .hearts,html.a11y-hide-decor .float,html.a11y-hide-decor .icing-wave,html.a11y-hide-decor .order-cta::after{display:none!important}
html.a11y-hide-decor body::before{background:var(--bg)}
html.a11y-stop-motion *,html.a11y-stop-motion *::before,html.a11y-stop-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
html.a11y-stop-motion .reveal{opacity:1!important;transform:none!important}
.reading-guide{position:fixed;left:0;right:0;height:46px;margin-top:-23px;z-index:900;pointer-events:none;background:rgba(255,230,120,.28);border-block:2px solid rgba(120,80,0,.5);display:none}
html.a11y-reading-guide .reading-guide{display:block}

/* Phones: the accessibility button stays in one fixed spot (it no longer moves while scrolling) */
@media(max-width:768px){
  .a11y-launch{width:46px;height:46px;left:max(12px,env(safe-area-inset-left));bottom:max(14px,env(safe-area-inset-bottom));translate:none!important;transition:none}
  .a11y-launch:hover{transform:none}.a11y-launch .ic{width:24px;height:24px}
  .site-footer{padding-bottom:78px}
}
