/* Flèche « remonter en haut » + bouton et panneau d'accessibilité (skill a11y-widget, Manu, 03/11).
   Tout est préfixé a11y- : aucune classe partagée avec le site. Bas à droite ; la languette bug reste au milieu du
   bord droit. Au-dessus des barres d'achat collées en bas (fiche et panier sur mobile, récapitulatif). */
:root{--a11y-bas:20px}
@media (max-width:760px){body:has(.barre-achat){--a11y-bas:92px}}
body:has(.rc-barre:not(.rc-barre-masquee)){--a11y-bas:112px}
.a11y-btn,.a11y-haut{position:fixed;right:max(16px,env(safe-area-inset-right,0px));z-index:75;width:46px;height:46px;border-radius:50%;border:0;
  display:inline-flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;box-shadow:0 8px 22px -10px rgba(58,36,34,.6);
  transition:transform .2s ease,filter .2s ease,bottom .25s ease}
.a11y-btn{bottom:calc(var(--a11y-bas) + env(safe-area-inset-bottom,0px));background:var(--bordeaux)}
.a11y-haut{bottom:calc(var(--a11y-bas) + 56px + env(safe-area-inset-bottom,0px));background:var(--soleil);display:none}
.a11y-haut.a11y-visible{display:inline-flex}
.a11y-btn:hover,.a11y-haut:hover{transform:translateY(-2px);filter:brightness(1.06)}
.a11y-btn:focus-visible,.a11y-haut:focus-visible{outline:3px solid var(--orange);outline-offset:3px}
.a11y-panel{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:calc(var(--a11y-bas) + 56px + env(safe-area-inset-bottom,0px));z-index:85;
  width:260px;max-width:calc(100vw - 32px);max-height:calc(100vh - var(--a11y-bas) - 80px);overflow-y:auto;background:var(--blanc);color:var(--texte);
  border:1px solid var(--creme-2);border-radius:18px;padding:16px 18px;box-shadow:0 18px 40px -18px rgba(58,36,34,.55);font:400 15px/1.4 var(--corps);display:none}
.a11y-panel.a11y-ouvert{display:block}
.a11y-panel h2{font:800 19px/1.15 var(--titre);color:var(--texte);margin:0 0 10px}
.a11y-panel label{display:flex;align-items:center;gap:10px;padding:6px 0;cursor:pointer}
.a11y-panel input[type=checkbox]{width:18px;height:18px;margin:0;accent-color:var(--bordeaux);flex:none}
.a11y-reset{width:100%;margin-top:12px;padding:9px;border-radius:999px;border:1px solid var(--creme-2);background:var(--creme);color:var(--texte);
  font:700 14px/1 var(--corps);cursor:pointer}
.a11y-reset:hover{border-color:var(--bordeaux)}

/* Agrandir le texte : les tailles du site sont en px, on agrandit donc le contenu principal par zoom. */
html.a11y-larger main{zoom:1.15}
/* Espacer le texte */
html.a11y-spacing main{line-height:1.9;letter-spacing:.02em;word-spacing:.08em}
html.a11y-spacing main p,html.a11y-spacing main li{margin-bottom:.55em}
/* Souligner les liens (pas les boutons) */
html.a11y-links a:not(.btn):not(.a11y-btn){text-decoration:underline;text-underline-offset:.18em}
/* Réduire les animations (en plus du réglage du système) */
html.a11y-motion *,html.a11y-motion *::before,html.a11y-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;
  transition-duration:.001ms!important;scroll-behavior:auto!important}
/* Police dyslexie, chargée seulement si l'option est cochée ; l'en-tête garde sa police (barre étroite). */
@font-face{font-family:"OpenDyslexic";src:url("/assets/fonts/opendyslexic-400.woff2") format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:"OpenDyslexic";src:url("/assets/fonts/opendyslexic-700.woff2") format("woff2");font-weight:700;font-display:swap}
html.a11y-dys main *,html.a11y-dys .foot *,html.a11y-dys .a11y-panel *{font-family:"OpenDyslexic",var(--corps)!important;letter-spacing:0}
@media (prefers-reduced-motion:reduce){.a11y-btn,.a11y-haut{transition:none}}
@media print{.a11y-btn,.a11y-haut,.a11y-panel{display:none!important}}
