/* plg_system_accessibilita – Menu di accessibilità */

/* ---------- Widget ---------- */
.acc-root{--acc-c:#0a4ea3;--acc-bottom:24px;position:fixed;z-index:2147483000;bottom:var(--acc-bottom);left:20px;font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.35;color:#1d1d1d;letter-spacing:normal;word-spacing:normal;text-transform:none}
.acc-root.acc-right{left:auto;right:20px}
.acc-root *,.acc-root *::before,.acc-root *::after{box-sizing:border-box;font-family:inherit;letter-spacing:normal;word-spacing:normal;text-transform:none;filter:none}
.acc-fab{width:56px;height:56px;border-radius:50%;border:3px solid #fff;background:var(--acc-c);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.3);padding:0}
.acc-fab svg{width:32px;height:32px;fill:#fff}
.acc-fab:hover{transform:scale(1.06)}
.acc-fab:focus-visible,.acc-panel button:focus-visible,.acc-panel select:focus-visible,.acc-panel a:focus-visible{outline:3px solid #ffbf00!important;outline-offset:2px}
.acc-fab-dot{position:absolute;top:-2px;right:-2px;width:16px;height:16px;border-radius:50%;background:#1e9e4a;border:2px solid #fff;display:none}
.acc-root.acc-active .acc-fab-dot{display:block}

.acc-panel{position:absolute;bottom:70px;left:0;width:360px;max-width:calc(100vw - 24px);max-height:calc(100vh - 110px);background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.28);display:flex;flex-direction:column;overflow:hidden}
.acc-right .acc-panel{left:auto;right:0}
.acc-panel[hidden]{display:none}
.acc-head{background:var(--acc-c);color:#fff;padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px}
.acc-head h2{margin:0;font-size:19px;font-weight:700;color:#fff;line-height:1.25}
.acc-close{background:rgba(255,255,255,.18);border:0;color:#fff;width:34px;height:34px;border-radius:8px;cursor:pointer;font-size:22px;line-height:1;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.acc-close:hover{background:rgba(255,255,255,.3)}
.acc-body{padding:16px 18px;overflow-y:auto;flex:1 1 auto}
.acc-reset{width:100%;background:#e5383b;color:#fff;border:0;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px}
.acc-reset:hover{background:#c92a2d}
.acc-sec{margin:18px 0 8px;font-size:12px;font-weight:700;letter-spacing:.12em!important;text-transform:uppercase!important;color:#6b6f7b}
.acc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.acc-grid.acc-grid2{grid-template-columns:repeat(2,1fr)}
.acc-tile{background:#fff;border:1.5px solid #e1e4ea;border-radius:10px;padding:10px 6px 8px;min-height:92px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;cursor:pointer;color:#1d1d1d;font-size:12.5px;font-weight:700;text-align:center;line-height:1.2}
.acc-tile:hover{border-color:var(--acc-c)}
.acc-tile[aria-pressed="true"]{border-color:var(--acc-c);background:#eaf1fb;box-shadow:inset 0 0 0 1.5px var(--acc-c)}
.acc-ico{font-size:22px;line-height:1;height:24px;display:flex;align-items:center;justify-content:center;color:var(--acc-c)}
.acc-ico svg{width:24px;height:24px;fill:currentColor}
.acc-key{font-size:10px;font-weight:700;color:#6b6f7b;background:#eef0f4;border-radius:4px;padding:1px 5px}
.acc-grid2 .acc-tile{min-height:76px;font-size:13.5px}
.acc-size{display:flex;align-items:center;justify-content:center;gap:14px;background:#f4f6f9;border-radius:10px;padding:10px;margin-top:14px}
.acc-size button{width:40px;height:34px;border-radius:8px;border:1.5px solid #d7dbe3;background:#fff;cursor:pointer;font-weight:700;font-size:14px;color:#1d1d1d}
.acc-size button:hover{border-color:var(--acc-c)}
.acc-size output{min-width:56px;text-align:center;font-size:17px;font-weight:700}
.acc-move{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#f4f6f9;border-radius:10px;padding:10px 12px;margin-top:10px;font-size:14px;font-weight:700}
.acc-move select{border:1.5px solid #d7dbe3;border-radius:6px;padding:5px 8px;font-size:14px;background:#fff;color:#1d1d1d}
.acc-foot{border-top:1px solid #eceef2;padding:10px 18px;font-size:12px;color:#6b6f7b;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap}
.acc-foot a{color:var(--acc-c);font-weight:700;text-decoration:underline}
.acc-sr{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important}
@media (max-width:480px){.acc-root{left:12px}.acc-root.acc-right{right:12px}.acc-fab{width:50px;height:50px}.acc-panel{bottom:62px;max-height:calc(100vh - 90px)}}

/* ---------- Effetti sulla pagina (mai sul widget) ---------- */
html.acc-zoom body>*:not(.acc-root):not(.acc-mask):not(.acc-guide-bar){zoom:var(--acc-zoom,1)}

html.acc-contrast,html.acc-contrast body{background-color:#000!important;color:#fff!important}
html.acc-contrast body *:not(.acc-root):not(.acc-root *):not(.acc-mask):not(.acc-guide-bar):not(img):not(video):not(svg):not(svg *):not(iframe){color:#fff!important;border-color:#fff!important;text-shadow:0 0 2px #000,0 0 4px #000!important;box-shadow:none!important}
html.acc-contrast body *:not(.acc-root):not(.acc-root *):not(.acc-mask):not(.acc-guide-bar):not(img):not(video):not(svg):not(svg *):not(iframe):not(.acc-tr):not(.acc-bgimg){background-color:#000!important}
html.acc-contrast body *:not(.acc-root):not(.acc-root *):not(.acc-mask):not(.acc-guide-bar):not(img):not(video):not(svg):not(svg *):not(iframe):not(.acc-bgimg){background-image:none!important}
/* immagini di sfondo (slider, sezioni): restano visibili con una velatura scura per la leggibilita' */
html.acc-contrast body .acc-bgimg:not(.acc-root *){background-blend-mode:multiply!important;background-color:rgba(0,0,0,.45)!important}
html.acc-contrast body a:not(.acc-root a),html.acc-contrast body a *:not(.acc-root *){color:#ffeb3b!important}
html.acc-contrast body button:not(.acc-root button),html.acc-contrast body .btn,html.acc-contrast body .sppb-btn{border:2px solid #ffeb3b!important}

html.acc-readable body *:not(.acc-root *):not([class*="fa-"]):not([class*="icon"]):not(i){font-family:Verdana,Tahoma,Arial,Helvetica,sans-serif!important}

html.acc-noanim body *:not(.acc-root *),html.acc-noanim body *::before,html.acc-noanim body *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}

html.acc-gray body>*:not(.acc-root):not(.acc-mask):not(.acc-guide-bar){filter:grayscale(1)}
html.acc-dalt body>*:not(.acc-root):not(.acc-mask):not(.acc-guide-bar){filter:url(#acc-daltonismo)}
html.acc-gray.acc-dalt body>*:not(.acc-root):not(.acc-mask):not(.acc-guide-bar){filter:grayscale(1)}

html.acc-links body a:not(.acc-root a){text-decoration:underline!important;text-underline-offset:3px;outline:2px dashed currentColor!important;outline-offset:2px}
html.acc-links body a:not(.acc-root a):hover,html.acc-links body a:not(.acc-root a):focus{background:#ffeb3b!important;color:#000!important}

html.acc-cursor,html.acc-cursor *{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='48' height='48' viewBox='0 0 48 48'%3E%3Cpath d='M6 3l34 21-15 3 9 16-6 3-9-16-11 10z' fill='%23000' stroke='%23fff' stroke-width='3'/%3E%3C/svg%3E") 4 2,auto!important}

html.acc-spacing body *:not(.acc-root *){letter-spacing:.12em!important;word-spacing:.16em!important;line-height:1.8!important}
html.acc-spacing body p:not(.acc-root p){margin-bottom:1.5em!important}

html.acc-noimg body img:not(.acc-root img),html.acc-noimg body video,html.acc-noimg body picture,html.acc-noimg body figure img{visibility:hidden!important}
html.acc-noimg body *:not(.acc-root *){background-image:none!important}

html.acc-tts body *:not(.acc-root *){cursor:help}
.acc-speaking{outline:3px solid #ffbf00!important;outline-offset:2px;background:rgba(255,191,0,.15)!important}

.acc-mask{position:fixed;left:0;right:0;background:rgba(0,0,0,.55);pointer-events:none;z-index:2147482999;display:none}
html.acc-guide-on .acc-mask{display:block}
.acc-guide-bar{position:fixed;left:0;right:0;height:4px;background:#ffbf00;top:-10px;display:none;pointer-events:none;z-index:2147482999}
html.acc-guide-on .acc-guide-bar{display:block}

/* ---------- Correzioni automatiche ---------- */
.acc-skip{position:fixed;left:12px;top:-100px;z-index:2147483646;background:#0a4ea3;color:#fff!important;padding:12px 18px;border-radius:0 0 8px 8px;font:700 16px/1.2 Arial,Helvetica,sans-serif;text-decoration:none;box-shadow:0 4px 14px rgba(0,0,0,.3)}
.acc-skip:focus{top:0;outline:3px solid #ffbf00;outline-offset:2px}
.acc-sr,h1.acc-auto-h1{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;border:0!important}
body a:focus-visible,body button:focus-visible,body input:focus-visible,body select:focus-visible,body textarea:focus-visible,body [tabindex]:focus-visible,body summary:focus-visible{outline:3px solid #ffbf00!important;outline-offset:2px!important;box-shadow:0 0 0 5px rgba(0,0,0,.65)!important}
main:focus,[id="acc-contenuto"]:focus{outline:none}
