:root {
    --mh-acc-primary: #000000;
    --mh-acc-accent: #e6007e;
}

.screen-reader-text { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }
.mh-skip-link { position: absolute; top: -100px; left: 0; background: var(--mh-acc-primary); color: white; padding: 15px; z-index: 100000; transition: top 0.3s; }
.mh-skip-link:focus { top: 0; }

/* PANNELLO SINISTRA */
#mh-accessibility-panel {
    position: fixed; left: -280px; top: 15%; width: 280px;
    background: #ffffff !important; box-shadow: 5px 0 25px rgba(0,0,0,0.2);
    z-index: 1000001; transition: left 0.4s ease;
    border-radius: 0 8px 8px 0; font-family: Arial, sans-serif !important;
}
#mh-accessibility-panel.mh-panel-open { left: 0; }

#mh-panel-toggle {
    position: absolute; right: -50px; top: 0; width: 50px; height: 50px;
    background: var(--mh-acc-primary); color: white; border: none; cursor: pointer;
    border-radius: 0 8px 8px 0; font-size: 24px;
}

.mh-panel-header { background: var(--mh-acc-primary); color: white; padding: 15px; text-align: center; }
.mh-panel-header h3 { margin: 0; font-size: 18px; color: white !important; }
.mh-options-grid { padding: 15px; background: #fff; }
.mh-options-grid button { 
    width: 100%; padding: 10px; margin-bottom: 8px; border: 1px solid #ddd; 
    background: #f9f9f9 !important; color: #333 !important; cursor: pointer; 
    font-weight: bold; border-radius: 4px; text-align: left; font-size: 14px !important;
}
.mh-options-grid button:hover { background: var(--mh-acc-accent) !important; color: white !important; }
.mh-options-grid button.mh-reset { background: #333 !important; color: white !important; text-align: center; }

/* MODALITÀ ALTO CONTRASTO - FIX */
/* Applichiamo il contrasto a tutto TRANNE che al pannello del widget */
body.mh-contrast *:not(#mh-accessibility-panel *) { 
    background-color: #000 !important; 
    color: #fff !important; 
    border-color: #fff !important; 
}
body.mh-contrast a:not(#mh-accessibility-panel *) { 
    color: #ffff00 !important; 
    text-decoration: underline !important; 
}

body.mh-grayscale { filter: grayscale(100%); }
body.mh-readable-text p { line-height: 1.8 !important; letter-spacing: 0.05em !important; }
body.mh-dyslexic *:not(.mh-icon) { font-family: 'OpenDyslexic', 'Comic Sans MS', sans-serif !important; }
body.mh-stop-animations * { animation: none !important; transition: none !important; transform: none !important; }

/* FIX INGRANDIMENTO TESTO (ZOOM) */
html.mh-font-big { zoom: 1.2; -moz-transform: scale(1.2); -moz-transform-origin: 0 0; }

:focus { outline: 3px solid var(--mh-acc-accent) !important; outline-offset: 2px; }