/* Overlay */
#a11y-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.5);
    z-index: 999;
}

/* Modale */
#a11y-modal {
    display: none;
    position: fixed;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    background: #fff;
    border-radius: 8px;
    padding: 30px;
    z-index: 1000;
    min-width: 320px;
    box-shadow: 0 4px 30px rgba(0,0,0,.2);
}
#a11y-modal h2       { margin: 0 0 20px; font-size: 1.2em; }
#a11y-close          { position: absolute; top: 12px; right: 12px; border: none; background: none; font-size: 1.2em; cursor: pointer; }
.a11y-group          { margin-bottom: 18px; }
.a11y-group label    { display: block; font-weight: bold; margin-bottom: 8px; }
.a11y-options        { display: flex; gap: 8px; }
.a11y-btn            { padding: 6px 14px; border: 2px solid #ccc; border-radius: 4px; background: #f5f5f5; cursor: pointer; }
.a11y-btn.active     { border-color: var(--violet); background: var(--violet); color: #fff; }
#a11y-reset          { color:white;margin-top: 10px; padding: 8px 16px; background: var(--rose); border: none; border-radius: 4px; cursor: pointer; }
#a11y-reset:hover    { background: var(--violet); }
/* --- Classes appliquées sur body --- */
body.a11y-contrast            { filter: contrast(150%); }
body.a11y-text-gros           { font-size: 110% !important; }
body.a11y-text-tres-gros      { font-size: 130% !important; }
body.a11y-lineheight-grand    { line-height: 150% !important; }


body.a11y-text-gros .txt li::before{top:4px!important;}
body.a11y-text-tres-gros .txt li::before{top:4px!important;}

body.a11y-lineheight-grand .txt li::before{top:5px!important;}
body.a11y-lineheight-grand.a11y-text-gros .txt li::before{top:5px!important;}
body.a11y-lineheight-grand.a11y-text-tres-gros .txt li::before{top:8px!important;}

@font-face {
    font-family: "OpenDyslexic";
    src: url("/fonts/OpenDyslexic-Regular.otf") format("opentype");
}

body.dyslexia-mode *{
    font-family: "OpenDyslexic", Arial, sans-serif !important;
    letter-spacing: 0.05em;
    word-spacing: 0.15em;
    line-height: 1.5;
}