/* ============================================================
   SILENTVOICE — ACCESSIBILITÉ PARTAGÉE
   Ce fichier complète les pages secondaires sans modifier leur DA.
   ============================================================ */

@font-face{
  font-family:'OpenDyslexic';
  font-style:normal;
  font-display:swap;
  font-weight:400;
  src:url('https://cdn.jsdelivr.net/fontsource/fonts/opendyslexic@5.3.0/latin-400-normal.woff2') format('woff2');
}
@font-face{
  font-family:'OpenDyslexic';
  font-style:normal;
  font-display:swap;
  font-weight:700;
  src:url('https://cdn.jsdelivr.net/fontsource/fonts/opendyslexic@5.3.0/latin-700-normal.woff2') format('woff2');
}

.sv-access-fab{
  position:fixed;right:22px;bottom:22px;z-index:9998;
  border:0;border-radius:999px;padding:12px 17px;
  display:flex;align-items:center;gap:8px;
  background:linear-gradient(110deg,#087eea,#245fe0 58%,#65ae43);
  color:#fff;font:inherit;font-weight:800;font-size:.82rem;cursor:pointer;
  box-shadow:0 14px 36px rgba(22,100,220,.28);
}
.sv-access-panel{
  position:fixed;right:22px;bottom:80px;z-index:9999;
  width:min(430px,calc(100vw - 28px));max-height:calc(100vh - 110px);overflow:auto;
  padding:24px;border:1px solid #e5e9f0;border-radius:24px;
  background:#fff;color:#142033;box-shadow:0 30px 90px rgba(0,0,0,.24);
}
.sv-access-panel[hidden]{display:none!important}
.sv-access-head{display:flex;justify-content:space-between;gap:15px}
.sv-access-head h2{font-size:1.7rem;margin:0}
.sv-access-eyebrow{display:block;text-transform:uppercase;letter-spacing:.14em;font-weight:800;font-size:.72rem;color:#168cff;margin-bottom:8px}
.sv-access-muted{color:#667085}
.sv-access-close{width:38px;height:38px;flex:0 0 auto;border:0;border-radius:50%;font-size:1.5rem;background:#f0f2f5;color:#142033;cursor:pointer}
.sv-access-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.sv-access-grid button{border:1px solid #e2e6ec;background:#f9fafb;color:#172033;border-radius:14px;padding:14px;text-align:left;cursor:pointer}
.sv-access-grid button b{display:block;font-size:1.15rem;color:#168cff}
.sv-access-grid button span{font-size:.72rem;font-weight:700}
.sv-access-grid button[aria-pressed="true"]{border-color:#168cff;background:#eff7ff;box-shadow:inset 0 0 0 1px #168cff}
.sv-access-reset{width:100%;margin-top:12px;padding:11px;border:0;background:transparent;color:#596273;text-decoration:underline;cursor:pointer}
.sv-tts-toolbar{
  position:fixed;left:50%;bottom:22px;z-index:9997;transform:translateX(-50%);
  display:flex;align-items:center;gap:8px;max-width:calc(100vw - 160px);
  padding:10px 12px;border-radius:16px;background:#111d31;color:#fff;
  box-shadow:0 16px 45px rgba(0,0,0,.28);
}
.sv-tts-toolbar[hidden]{display:none!important}
.sv-tts-toolbar strong{font-size:.75rem;margin-right:4px}
.sv-tts-toolbar button{border:1px solid #3a485d;background:#1a2940;color:#fff;border-radius:10px;padding:8px 10px;cursor:pointer;font-size:.72rem;font-weight:750}
.sv-tts-toolbar span{font-size:.7rem;color:#c7d2e3;white-space:nowrap}

/* Préférences globales partagées. */
html.a-font{font-size:120%}
html.a-dyslexia body,
html.a-dyslexia button,
html.a-dyslexia input,
html.a-dyslexia textarea,
html.a-dyslexia select{
  font-family:'OpenDyslexic',Verdana,Arial,sans-serif!important;
  letter-spacing:.035em;word-spacing:.11em;line-height:1.85
}
html.a-dyslexia h1,html.a-dyslexia h2,html.a-dyslexia h3,html.a-dyslexia strong,html.a-dyslexia b{
  font-family:'OpenDyslexic',Verdana,Arial,sans-serif!important;
  letter-spacing:.015em;line-height:1.28
}
html.a-lowvision{font-size:132%}
html.a-lowvision body{font-weight:560;line-height:1.85}
html.a-lowvision h1,html.a-lowvision h2,html.a-lowvision h3,html.a-lowvision b,html.a-lowvision strong{font-weight:900}
html.a-underline a{text-decoration:underline!important;text-decoration-thickness:2px!important;text-underline-offset:3px!important}
html.a-focus a,html.a-focus button,html.a-focus input,html.a-focus textarea,html.a-focus select{
  outline:2px solid rgba(22,140,255,.5);outline-offset:3px
}
html.a-focus :focus-visible{
  outline:5px solid #ffbf47!important;outline-offset:5px!important;
  box-shadow:0 0 0 8px rgba(255,191,71,.18)!important
}
html.a-reduce *,html.a-reduce *::before,html.a-reduce *::after{
  animation:none!important;transition:none!important;scroll-behavior:auto!important
}

/* Pages espace utilisateur : variantes sombre / contraste. */
html.a-dark body{
  color:#f5f8fc!important;
  background:linear-gradient(180deg,#081321,#0b1829)!important
}
html.a-dark .member-hero,
html.a-dark .auth-card,
html.a-dark .dash-card,
html.a-dark .member-status{
  background:#101d2d!important;color:#f5f8fc!important;border-color:#2b3d52!important
}
html.a-dark .member-hero .lead,
html.a-dark .dash-card p,
html.a-dark .footer-note{color:#c1ccda!important}
html.a-dark input,html.a-dark select,html.a-dark textarea{
  background:#0c1827!important;color:#f5f8fc!important;border-color:#31465f!important
}
html.a-dark .btn.secondary{background:#101d2d!important;color:#f5f8fc!important;border-color:#31465f!important}
html.a-dark .eyebrow{background:#102035!important}
html.a-dark .sv-access-panel{background:#101d2d;color:#f5f8fc;border-color:#2b3d52}
html.a-dark .sv-access-close{background:#18263a;color:#fff}
html.a-dark .sv-access-grid button{background:#18263a;color:#fff;border-color:#344156}
html.a-dark .sv-access-muted{color:#c1ccda}
html.a-contrast body{background:#fff!important;color:#000!important}
html.a-contrast .member-hero,
html.a-contrast .auth-card,
html.a-contrast .dash-card,
html.a-contrast .member-status,
html.a-contrast input,
html.a-contrast select,
html.a-contrast textarea{background:#fff!important;color:#000!important;border:2px solid #000!important}
html.a-contrast .lead,html.a-contrast .dash-card p,html.a-contrast .footer-note{color:#111!important}
html.a-contrast .sv-access-panel{border:2px solid #000}
html.a-simple .member-hero::before{display:none!important}
html.a-simple .dash-card{box-shadow:none!important}

/* Pages légales/confidentialité utilisant styles.css :
   priorités finales nécessaires pour les éléments inline. */
html.a-dark body.sv-secondary-page{background:#081321!important;color:#f5f8fc!important}
html.a-dark body.sv-secondary-page main{color:#f5f8fc}
html.a-dark body.sv-secondary-page p{color:#c1ccda}
html.a-contrast body.sv-secondary-page{background:#fff!important;color:#000!important}
html.a-contrast body.sv-secondary-page p{color:#111!important}

@media(max-width:700px){
  .sv-access-fab{right:max(14px,env(safe-area-inset-right));bottom:max(14px,env(safe-area-inset-bottom));min-width:48px;min-height:48px}
  .sv-access-panel{left:max(14px,env(safe-area-inset-left));right:max(14px,env(safe-area-inset-right));bottom:calc(74px + env(safe-area-inset-bottom));width:auto;max-height:72vh;padding:20px}
  .sv-tts-toolbar{left:14px;right:14px;bottom:14px;transform:none;max-width:none;flex-wrap:wrap}
  .sv-tts-toolbar strong{width:100%}
}
@media(max-width:390px){
  .sv-access-fab span:last-child{display:none}
}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
}


/* ============================================================
   CORRECTIFS MODE SOMBRE — LISIBILITÉ DU PANNEAU ACCESSIBILITÉ
   ============================================================ */
html.a-dark .sv-access-close{
  background:#20334a!important;
  color:#ffffff!important;
  border:1px solid #405671!important;
}
html.a-dark .sv-access-close:hover,
html.a-dark .sv-access-close:focus-visible{
  background:#2c4664!important;
  color:#ffffff!important;
}
