/* ==================================================================
   Preferenze di accessibilita'
   ================================================================== */

/* ── Pulsante fisso ── */
.fp-a11y-apri{position:fixed;left:24px;bottom:24px;z-index:71;width:58px;height:58px;border-radius:50%;border:3px solid #fff;
  background:var(--verde-scuro,#1F5F3A);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;
  box-shadow:0 10px 26px rgba(0,0,0,.22);transition:transform .2s ease}
.fp-a11y-apri:hover{transform:scale(1.07)}
.fp-a11y-apri:focus-visible,.fp-a11y button:focus-visible,.fp-a11y a:focus-visible{outline:3px solid #FFB300;outline-offset:3px}
.fp-a11y-apri svg{width:32px;height:32px}
@media (max-width:560px){.fp-a11y-apri{left:16px;bottom:16px;width:52px;height:52px}}
@media print{.fp-a11y-apri,.fp-a11y,.fp-a11y-maschera,.fp-a11y-lente-box{display:none!important}}

/* ── Pannello ── */
.fp-a11y{position:fixed;top:0;left:0;bottom:0;z-index:130;width:min(440px,100vw);display:flex;flex-direction:column;
  background:#fff;color:#1B2420;box-shadow:12px 0 40px rgba(0,0,0,.25);font-family:var(--font-body,system-ui,sans-serif);
  font-size:16px;line-height:1.4;letter-spacing:normal;text-align:left;animation:fp-a11y-entra .25s ease-out}
.fp-a11y[hidden]{display:none}
@keyframes fp-a11y-entra{from{transform:translateX(-24px);opacity:0}to{transform:none;opacity:1}}
.fp-a11y-testa{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 20px;
  background:var(--verde-scuro,#1F5F3A);color:#fff}
.fp-a11y-testa h2{margin:0;font-family:var(--font-display,inherit);font-size:20px;line-height:1.2;color:#fff;letter-spacing:-.01em}
.fp-a11y-testa p{margin:3px 0 0;font-size:13px;opacity:.85;color:#fff}
.fp-a11y-chiudi{flex:none;width:44px;height:44px;border-radius:50%;border:2px solid rgba(255,255,255,.6);background:transparent;color:#fff;
  display:flex;align-items:center;justify-content:center;cursor:pointer}
.fp-a11y-chiudi:hover{background:rgba(255,255,255,.14)}
.fp-a11y-corpo{flex:1;overflow-y:auto;padding:18px;background:#F4F7F5}
.fp-a11y-griglia{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.fp-a11y-tile{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;min-height:112px;
  padding:14px 10px;border:2px solid transparent;border-radius:14px;background:#fff;color:#1B2420;font:inherit;font-size:15px;
  text-align:center;cursor:pointer;box-shadow:0 1px 3px rgba(0,0,0,.06);transition:border-color .15s,background .15s}
button.fp-a11y-tile:hover{border-color:#B9D3C2}
.fp-a11y-tile[aria-pressed="true"]{border-color:var(--verde-scuro,#1F5F3A);background:#E7F2EB}
.fp-a11y-tile[aria-pressed="true"]::after{content:"✓";position:absolute;top:7px;right:9px;width:20px;height:20px;border-radius:50%;
  background:var(--verde-scuro,#1F5F3A);color:#fff;font-size:12px;line-height:20px;text-align:center}
.fp-a11y-tile svg{color:var(--verde-scuro,#1F5F3A)}
.fp-a11y-nome{font-weight:600;line-height:1.25}
.fp-a11y-livello{grid-column:span 2;flex-direction:row;justify-content:flex-start;min-height:0;gap:12px;text-align:left}
.fp-a11y-livello .fp-a11y-nome{flex:1}
.fp-a11y-passi{display:flex;align-items:center;gap:6px}
.fp-a11y-passi button{width:38px;height:38px;border-radius:50%;border:0;background:#1B2420;color:#fff;font-size:20px;line-height:1;cursor:pointer}
.fp-a11y-passi button:disabled{opacity:.35;cursor:not-allowed}
.fp-a11y-passi output{min-width:52px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums}
.fp-a11y-reset{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;margin-top:16px;padding:14px;border-radius:12px;
  border:2px solid #1B2420;background:#fff;color:#1B2420;font:inherit;font-weight:700;cursor:pointer}
.fp-a11y-reset:hover{background:#1B2420;color:#fff}
.fp-a11y-reset svg{width:20px;height:20px}
.fp-a11y-nota{margin:14px 0 0;text-align:center;font-size:14px}
.fp-a11y-nota a{color:var(--verde-scuro,#1F5F3A);text-decoration:underline}
@media (max-width:380px){.fp-a11y-griglia{grid-template-columns:1fr}.fp-a11y-livello{grid-column:auto;flex-wrap:wrap}}

/* ── Maschera di lettura ── */
.fp-a11y-maschera[hidden]{display:none}
.fp-a11y-maschera span{position:fixed;left:0;right:0;z-index:125;background:rgba(0,0,0,.6);pointer-events:none}
.fp-a11y-m-su{top:0;height:0}
.fp-a11y-m-giu{bottom:0;top:100vh}

/* ── Lente ── */
.fp-a11y-lente-box{position:fixed;z-index:126;max-width:min(560px,92vw);padding:14px 18px;border-radius:12px;background:#111;color:#fff;
  font-family:var(--font-body,system-ui,sans-serif);font-size:28px;line-height:1.35;letter-spacing:normal;text-align:left;
  box-shadow:0 12px 30px rgba(0,0,0,.35);pointer-events:none}
.fp-a11y-lente-box[hidden]{display:none}

/* ==================================================================
   Effetti sulla pagina (il pannello resta com'e')
   ================================================================== */
html.fp-a11y-contrasto body,
html.fp-a11y-contrasto body *:not(.fp-a11y):not(.fp-a11y *):not(.fp-a11y-apri):not(.fp-a11y-apri *):not(.fp-a11y-maschera *):not(.fp-a11y-lente-box){
  background-color:#000!important;background-image:none!important;color:#fff!important;border-color:#fff!important;
  box-shadow:none!important;text-shadow:none!important}
html.fp-a11y-contrasto body a:not(.fp-a11y *),
html.fp-a11y-contrasto body a:not(.fp-a11y *) *{color:#FFE600!important;text-decoration:underline!important}
html.fp-a11y-contrasto body button:not(.fp-a11y *):not(.fp-a11y-apri),
html.fp-a11y-contrasto body .btn{outline:2px solid #FFE600!important}
html.fp-a11y-contrasto body input,html.fp-a11y-contrasto body select,html.fp-a11y-contrasto body textarea{border:2px solid #fff!important}

html.fp-a11y-leggibile body *:not(.fp-a11y *):not(code):not(pre){font-family:Verdana,Tahoma,"Segoe UI",Arial,sans-serif!important}

html.fp-a11y-lh body :is(p,li,a,span,strong,em,h1,h2,h3,h4,h5,h6,td,th,label,dd,dt,blockquote,figcaption):not(.fp-a11y *){
  line-height:calc(1.6 * var(--fp-a11y-lh,1))!important}
html.fp-a11y-ls body *:not(.fp-a11y *){letter-spacing:calc((var(--fp-a11y-ls,1) - 1) * .5em)!important;
  word-spacing:calc((var(--fp-a11y-ls,1) - 1) * .8em)!important}

html.fp-a11y-al-sinistra body *:not(.fp-a11y *){text-align:left!important}
html.fp-a11y-al-centro body *:not(.fp-a11y *){text-align:center!important}
html.fp-a11y-al-destra body *:not(.fp-a11y *){text-align:right!important}

html.fp-a11y-noimg body :is(img,picture,video,iframe):not(.fp-a11y *){visibility:hidden!important}
html.fp-a11y-noimg body *:not(.fp-a11y *){background-image:none!important}

html.fp-a11y-link body a:not(.fp-a11y *){outline:3px solid #FFB300!important;outline-offset:2px;text-decoration:underline!important;
  text-decoration-thickness:2px!important}

html.fp-a11y-titoli body :is(h1,h2,h3,h4,h5,h6):not(.fp-a11y *){outline:3px dashed #FFB300!important;outline-offset:4px}

html.fp-a11y-animazioni *,html.fp-a11y-animazioni *::before,html.fp-a11y-animazioni *::after{
  animation:none!important;transition:none!important;scroll-behavior:auto!important}
