/* Widget di accessibilità del negozio (0.11.0): pulsante, pannello e opzioni (classi su <html> messe da a11y.js). */
:root:root .a11y-fab{position:fixed;left:16px;bottom:16px;z-index:56;width:52px;height:52px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;background:var(--blue,#236786);color:#fff;border:2px solid #fff;box-shadow:0 4px 14px #0000004d;cursor:pointer;gap:0}
:root:root .a11y-fab:hover{background:var(--blue,#236786);filter:brightness(1.12)}
:root:root .a11y-fab.raised{bottom:76px}
:root:root .a11y-fab.active::after{content:"";position:absolute;top:2px;right:2px;width:12px;height:12px;border-radius:50%;background:#2fb344;border:2px solid #fff}
:root:root .a11y-fab:focus-visible{outline:3px solid #111;outline-offset:3px;box-shadow:0 0 0 6px #fff}
:root:root .a11y-panel{position:fixed;inset:auto auto 80px 16px;margin:0;padding:0;width:min(380px,calc(100vw - 32px));max-height:calc(100vh - 110px);max-height:calc(100dvh - 110px);overflow:auto;border:1px solid #d6dadf;border-radius:14px;background:#fff;color:#1f2328;box-shadow:0 18px 48px #0000004d;font:15px/1.45 Arial,Helvetica,sans-serif}
:root:root .a11y-fab.raised+.a11y-panel{bottom:140px;max-height:calc(100vh - 170px);max-height:calc(100dvh - 170px)}
:root:root .a11y-panel::backdrop{background:#0000001f}
:root:root .a11y-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px 6px;position:sticky;top:0;background:inherit;z-index:1}
:root:root .a11y-head h2{margin:0;font-size:19px;line-height:1.2}
:root:root .a11y-close{min-width:0;width:40px;height:40px;padding:0;border-radius:50%;background:#f1f3f5;color:#1f2328;font-size:24px;line-height:1;font-weight:400}
:root:root .a11y-close:hover{background:#e3e6ea}
:root:root .a11y-intro{margin:0 16px 10px;color:#4b5563;font-size:13px}
:root:root .a11y-size{display:grid;grid-template-columns:1fr auto auto auto;align-items:center;gap:8px;margin:0 16px 12px;padding:10px 12px;border:1px solid #e1e4e8;border-radius:10px;background:#f8f9fa}
:root:root .a11y-size span{font-weight:700;font-size:14px}
:root:root .a11y-size button{min-width:0;width:46px;height:40px;padding:0;border-radius:8px;background:#fff;color:#1f2328;border:1px solid #c9ced4;font-weight:700;font-size:16px}
:root:root .a11y-size button:hover:not([aria-disabled="true"]){background:#eef1f4}
:root:root .a11y-size button[aria-disabled="true"]{opacity:.45;cursor:not-allowed}
:root:root .a11y-inner{min-height:100%}
:root:root .a11y-size output{min-width:52px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
:root:root .a11y-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:0 16px}
:root:root .a11y-option{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:4px;text-align:left;min-height:96px;padding:11px 12px;border-radius:10px;background:#fff;color:#1f2328;border:1px solid #c9ced4;font-weight:700;font-size:14px;line-height:1.25}
:root:root .a11y-option svg{color:var(--blue,#236786)}
:root:root .a11y-option:hover{background:#f3f5f7}
:root:root .a11y-option[aria-pressed="true"]{background:var(--blue,#236786);color:#fff;border-color:var(--blue,#236786);box-shadow:inset 0 0 0 2px #fff}
:root:root .a11y-option[aria-pressed="true"] svg{color:#fff}
:root:root .a11y-option[aria-pressed="true"]::after{content:"✓ attivo";font-size:11px;font-weight:700;margin-top:auto}
:root:root .a11y-hint{font-weight:400;font-size:12px;opacity:.85}
:root:root .a11y-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px 16px}
:root:root .a11y-reset{min-width:0;padding:9px 16px;border-radius:8px;background:#fff;color:#1f2328;border:1px solid #c9ced4;font-weight:700}
:root:root .a11y-reset:hover{background:#f3f5f7}
:root:root .a11y-statement{font-size:13px;color:var(--blue,#236786);text-decoration:underline}
@media(max-width:520px){:root:root .a11y-fab{width:46px;height:46px;left:12px;bottom:12px}:root:root .a11y-fab.raised{bottom:70px}:root:root .a11y-panel{left:8px;bottom:68px;width:calc(100vw - 16px)}:root:root .a11y-fab.raised+.a11y-panel{bottom:126px}:root:root .a11y-option{min-height:84px}}
@media print{.a11y-fab,.a11y-panel{display:none!important}}

/* ---------- Opzioni ---------- */
/* Dimensione: tutta la pagina come lo zoom del browser (i fogli di stile del negozio sono in pixel). */
html.a11y-text-1 body{zoom:1.15}
html.a11y-text-2 body{zoom:1.3}
html.a11y-text-3 body{zoom:1.5}
/* Il widget resta della sua misura (sempre tutto visibile sullo schermo). */
html.a11y-text-1 :is(.a11y-fab,.a11y-panel){zoom:.8696}
html.a11y-text-2 :is(.a11y-fab,.a11y-panel){zoom:.7693}
html.a11y-text-3 :is(.a11y-fab,.a11y-panel){zoom:.6667}
/* Contrasto elevato: fondo nero, testo bianco, link gialli; immagini invariate. */
html.a11y-contrast,html.a11y-contrast body{background:#000!important;color:#fff!important}
html.a11y-contrast body :where(*:not(svg,svg *,img,video,picture,canvas,iframe)){background-color:transparent!important;background-image:none!important;color:#fff!important;border-color:#8a8a8a!important;box-shadow:none!important;text-shadow:none!important}
/* Riquadri che stanno sopra altri contenuti (menu, finestre, barre) e campi: fondo nero pieno. */
html.a11y-contrast body :where(dialog,[role="dialog"],header,footer,nav,aside,details,summary,table,input,select,textarea,option,button,.button,.card,.panel,.notice,.alert,.mega-menu-panel,.mini-cart-panel,.search-suggest,.cookie-banner,.cookie-fab,.a11y-fab,.a11y-panel,.store-header,.store-toolbar,.site-footer){background-color:#000!important}
html.a11y-contrast body svg{color:inherit!important}
/* Foto con il fondo bianco "fuso" nel riquadro (multiply): su fondo nero sparirebbero. */
html.a11y-contrast body img{mix-blend-mode:normal!important}
html.a11y-contrast body :is(a,a *,.link){color:#ffe14d!important}
html.a11y-contrast body :is(button,.button,input,select,textarea){border:2px solid #fff!important}
html.a11y-contrast body :is(button,.button)[aria-pressed="true"],html.a11y-contrast .a11y-option[aria-pressed="true"]{background-color:#ffe14d!important;color:#000!important}
html.a11y-contrast body :is(button,.button)[aria-pressed="true"] *{color:#000!important;background-color:transparent!important}
html.a11y-contrast ::placeholder{color:#cfcfcf!important}
html.a11y-contrast .a11y-panel::backdrop{background:#ffffff26}
/* Bianco e nero: sul documento intero (gli elementi fissi restano al loro posto). */
html.a11y-gray{filter:grayscale(1)}
/* Link evidenziati. */
html.a11y-links body :is(a,button.link){text-decoration:underline!important;text-decoration-thickness:.14em!important;text-underline-offset:.2em!important;font-weight:700!important}
html.a11y-links body a:is(:hover,:focus-visible){outline:3px solid #f2b705;outline-offset:2px}
/* Carattere leggibile e spaziatura del testo (WCAG 1.4.12). */
html.a11y-font body,html.a11y-font body :where(*:not(svg,svg *)){font-family:Verdana,"Atkinson Hyperlegible",Tahoma,"DejaVu Sans",Arial,sans-serif!important}
html.a11y-spacing body :where(*:not(svg,svg *)){line-height:1.8!important;letter-spacing:.08em!important;word-spacing:.16em!important}
html.a11y-spacing body :where(p,li,dd){margin-bottom:1em}
/* Animazioni ferme (anche lo scorrimento automatico delle slide: shop.js). */
html.a11y-motion,html.a11y-motion *,html.a11y-motion *::before,html.a11y-motion *::after{animation-duration:0s!important;animation-iteration-count:1!important;transition:none!important;scroll-behavior:auto!important}
/* Puntatore grande. */
html.a11y-cursor,html.a11y-cursor *{cursor:url(a11y-cursor.svg) 3 2,auto!important}
html.a11y-cursor :is(a,button,label,summary,select,[role="button"]),html.a11y-cursor :is(a,button,label,summary) *{cursor:url(a11y-pointer.svg) 14 3,pointer!important}
/* Fuoco ben visibile. */
html.a11y-focus :focus-visible{outline:4px solid #f2b705!important;outline-offset:3px!important;box-shadow:0 0 0 8px #111!important;border-radius:4px}
