/* UNIQ STUDIO — widgets partagés (IA + accessibilité) */
.ai-fab{position:fixed;bottom:1.5rem;right:1.5rem;z-index:1320;width:58px;height:58px;border-radius:50%;background:var(--ink);color:#fff;border:0;display:grid;place-items:center;box-shadow:0 12px 36px rgba(22,20,14,.3);transition:transform .3s var(--ease)}
    .ai-fab:hover{transform:scale(1.08)}.ai-fab svg{width:25px;height:25px}
    .ai-panel{position:fixed;bottom:1.5rem;right:1.5rem;z-index:1320;width:min(380px,calc(100vw - 2rem));height:min(560px,calc(100vh - 3rem));background:#ffffff;border:1px solid var(--line);border-radius:18px;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(22,20,14,.22);transform:translateY(20px) scale(.96);opacity:0;pointer-events:none;transition:.35s var(--ease)}
    .ai-panel.open{transform:none;opacity:1;pointer-events:auto}
    .ai-head{padding:1.1rem 1.2rem;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:.8rem}
    .ai-dot{width:9px;height:9px;border-radius:50%;background:var(--ink)}
    .ai-head .t{font-family:'Bricolage Grotesque';font-weight:700;font-size:1.05rem}.ai-head .s{font-size:.75rem;color:var(--muted)}
    .ai-close{margin-left:auto;background:none;border:0;color:var(--muted);font-size:1.4rem}
    .ai-body{flex:1;overflow-y:auto;padding:1.2rem;display:flex;flex-direction:column;gap:.9rem}
    .msg{max-width:85%;padding:.7rem 1rem;border-radius:14px;font-size:.92rem;line-height:1.5}
    .msg.bot{background:#fff;border:1px solid var(--line);color:var(--ink);align-self:flex-start;border-bottom-left-radius:4px}
    .msg.user{background:var(--ink);color:var(--paper);align-self:flex-end;border-bottom-right-radius:4px}
    .typing{display:flex;gap:4px;align-self:flex-start;padding:.8rem 1rem}
    .typing span{width:7px;height:7px;border-radius:50%;background:var(--ink);animation:blink 1.2s infinite}
    .typing span:nth-child(2){animation-delay:.2s}.typing span:nth-child(3){animation-delay:.4s}
    @keyframes blink{0%,60%,100%{opacity:.25}30%{opacity:1}}
    .ai-foot{padding:.9rem;border-top:1px solid var(--line);display:flex;gap:.6rem}
    .ai-foot input{flex:1;background:#f5f4f1;border:1px solid var(--line);border-radius:30px;padding:.7rem 1.1rem;color:var(--ink);font-family:inherit;font-size:.92rem}
    .ai-foot input:focus{outline:0;border-color:var(--ink)}
    .ai-foot button{background:var(--ink);color:var(--paper);border:0;border-radius:50%;width:42px;height:42px;flex-shrink:0}

    
/* Marges égales à gauche/droite sur mobile (assistant + cookies) */
    @media(max-width:520px){
      .ai-panel{left:1rem;right:1rem;width:auto}
      .cookie{left:1rem;right:1rem;max-width:none}
    }
/* ═══ ACCESSIBILITÉ : bouton flottant + panneau ═══ */
    @font-face{font-family:'OpenDyslexic';src:url('/fonts/opendyslexic-regular.woff2') format('woff2'),url('/fonts/opendyslexic-regular.otf') format('opentype'),url('https://cdn.jsdelivr.net/npm/@fontsource/opendyslexic/files/opendyslexic-latin-400-normal.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}
    .a11y-fab{position:fixed;bottom:1.5rem;left:1.5rem;z-index:1310;width:58px;height:58px;border-radius:50%;background:var(--ink);color:#fff;border:0;display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 36px rgba(22,20,14,.3);transition:transform .3s var(--ease)}
    .a11y-fab:hover{transform:scale(1.06)}
    .a11y-panel{position:fixed;bottom:5.8rem;left:1.5rem;z-index:1311;width:min(290px,calc(100vw - 2rem));background:var(--paper-2);color:var(--ink);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 60px rgba(22,20,14,.28);padding:1rem;transform:translateY(10px);opacity:0;visibility:hidden;transition:opacity .25s var(--ease),transform .25s var(--ease)}
    .a11y-panel.open{transform:translateY(0);opacity:1;visibility:visible}
    .a11y-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}
    .a11y-head strong{font-family:'Bricolage Grotesque',sans-serif;font-size:1.05rem;font-weight:600}
    .a11y-close{background:none;border:0;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--muted);padding:0 .2rem}
    .a11y-opts{display:flex;flex-direction:column;gap:.45rem}
    .a11y-opt{display:flex;align-items:center;justify-content:space-between;gap:.6rem;width:100%;text-align:left;background:var(--paper);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:.62rem .8rem;font-size:.92rem;cursor:pointer;font-family:inherit;transition:background .2s,color .2s,border-color .2s}
    .a11y-opt::after{content:"";font-weight:700;font-size:.95rem;width:1em;text-align:center}
    .a11y-opt[aria-pressed="true"]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
    .a11y-opt[aria-pressed="true"]::after{content:"✓"}
    .a11y-reset{margin-top:.75rem;width:100%;background:none;border:0;color:var(--muted);font-size:.82rem;cursor:pointer;text-decoration:underline;font-family:inherit}
    .a11y-reset:hover{color:var(--ink)}
    .bottom-fixed.revealed ~ .a11y-fab,.bottom-fixed.revealed ~ .ai-fab{background:#fff;color:#2b2a28}  /* inversés : icône sombre sur fond blanc */
    html.a11y-dark .a11y-fab,html.a11y-dark .ai-fab{background:#fff;color:#2b2a28}
    /* — Modes d'accessibilité — */
    html.a11y-dark{--paper:#1a1916;--paper-2:#232118;--ink:#ece9e1;--muted:#9c9588;--line:rgba(236,233,225,.16);--anthra:#0e0d0a}
    html.a11y-dark body{background:#141310}
    html.a11y-dark .scroll-content{background:#161512}
    html.a11y-dark .msg.bot{background:#232118}
    html.a11y-dark .legal-box{background:#1a1916}
    html.a11y-dys,html.a11y-dys *{font-family:'OpenDyslexic',sans-serif !important}
    html.a11y-big{font-size:112.5%}
    html.a11y-contrast{--ink:#000;--muted:#3b352d;--line:rgba(0,0,0,.55)}
    html.a11y-contrast.a11y-dark{--ink:#fff;--muted:#ddd6c8;--line:rgba(255,255,255,.55)}
    html.a11y-underline a,html.a11y-contrast a{text-decoration:underline !important}
    html.a11y-still *,html.a11y-still *::before,html.a11y-still *::after{animation-duration:.001ms !important;animation-iteration-count:1 !important;transition-duration:.001ms !important;scroll-behavior:auto !important}
      /* menu ouvert → on masque les boutons flottants */
    .overlay.open ~ .a11y-fab,.overlay.open ~ .ai-fab,.overlay.open ~ .a11y-panel,.overlay.open ~ .ai-panel{opacity:0 !important;visibility:hidden !important;pointer-events:none !important}
    /* mobile : boutons + cookie alignés sur la largeur du texte */
    @media(max-width:860px){
      .a11y-fab,.a11y-panel{left:clamp(1.25rem,2.5vw,2.25rem)}
      .ai-fab,.ai-panel{right:clamp(1.25rem,2.5vw,2.25rem)}
      .cookie{left:clamp(1.25rem,2.5vw,2.25rem);right:clamp(1.25rem,2.5vw,2.25rem)}
    }
  