/* Bandeau de témoins (Loi 25) — compact et discret, en bas, non bloquant ; au-dessus de la barre du bas sur mobile ; Accepter et Refuser identiques */
.tm{position:fixed;left:10px;right:10px;bottom:calc(var(--tm-bas,0px) + 8px);z-index:44;max-height:calc(100dvh - 120px);overflow:auto;-webkit-overflow-scrolling:touch;
  background:var(--surface);color:var(--text);border:1px solid var(--border);border-radius:14px;box-shadow:0 6px 20px rgba(0,0,0,.14);animation:tm-in .3s var(--ease-out,ease) backwards}
html:not(.tm-mbar) .tm{bottom:calc(10px + env(safe-area-inset-bottom,0px))}
.tm[hidden]{display:none}
.tm-in{padding:10px 12px}
.tm-txt{margin:0;font:500 12.5px/1.45 var(--font-legal,var(--font));color:var(--text-muted)}
.tm-txt strong{font-weight:600;color:var(--title)}
.tm-txt a{color:var(--text);text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:2px}
.tm-act{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.tm-btn{flex:1 1 0;min-width:0;min-height:36px;padding:7px 16px;border-radius:999px;border:1.5px solid var(--title);background:var(--surface);color:var(--title);font:600 14px/1.2 var(--font);white-space:nowrap;cursor:pointer;-webkit-tap-highlight-color:transparent}
.tm-btn[hidden]{display:none}
.tm-btn:hover{background:var(--surface-2,var(--bg))}
.tm-lien{flex:0 0 auto;background:none;border:0;padding:6px 4px;min-height:36px;font:600 13px/1.2 var(--font);color:var(--text);white-space:nowrap;text-decoration:underline;text-decoration-color:var(--accent);text-decoration-thickness:2px;text-underline-offset:3px;cursor:pointer}
.tm-btn:focus-visible,.tm-lien:focus-visible,.tm-cat input:focus-visible,.tm-txt a:focus-visible{outline:2px solid var(--focus,#000);outline-offset:2px}
/* Réglages : « Enregistrer mes choix » pleine largeur sur sa rangée, jamais coupé ; Refuser et Accepter identiques dessous */
.tm-btn[data-tm=enregistrer]{flex:1 1 100%;order:-1;padding-inline:20px}
.tm-reg{margin-top:8px}
.tm-reg fieldset{border:0;margin:0;padding:0;display:grid;gap:6px}
.tm-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tm-cat{display:grid;grid-template-columns:18px 1fr;gap:8px;align-items:start;padding:7px 10px;border:1px solid var(--border);border-radius:10px;background:var(--bg)}
.tm-cat input{width:18px;height:18px;margin:1px 0 0;accent-color:#000}
.tm-cat strong{font:600 13px/1.35 var(--font);color:var(--title)}
.tm-cat em{font-style:normal;font:600 11.5px/1 var(--font);color:var(--text-muted);margin-left:6px;white-space:nowrap}
.tm-cat small{display:block;margin-top:1px;font:500 12px/1.4 var(--font-legal,var(--font));color:var(--text-muted)}
@keyframes tm-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.tm{animation:none}}
/* Mikaël 15 h 55 : la bulle de chat ne bouge JAMAIS (fixe au-dessus des pilules du bas, dès le 1er rendu). C'est le bandeau
   de témoins qui se place au-dessus de la bulle sur mobile (pleine largeur gardée), au lieu de pousser la bulle au milieu de l'écran. */
@media (max-width:899px){html.ch-mbar.tm-mbar .tm{--tm-b:calc(var(--bas-gap,8px) + var(--ch-bas,0px) + 12px + 56px + 10px);bottom:var(--tm-b);
  max-height:calc(100dvh - var(--tm-b) - var(--haut-top,6px) - var(--pil-h,48px) - 16px)}} /* jamais par-dessus l'en-tête (burger toujours cliquable) ; défile au besoin */
/* bureau : petite carte à gauche, sur une rangée ; la bulle à droite reste libre */
@media (min-width:900px){.tm{left:24px;right:auto;width:min(460px,calc(100vw - 140px));bottom:24px}html:not(.tm-mbar) .tm{bottom:24px}.tm-btn{flex:0 1 auto;min-width:110px}}
html[data-theme="dark"]{.tm{box-shadow:0 6px 20px rgba(0,0,0,.5)}.tm-cat{background:var(--surface-3,#262626)}.tm-cat input{accent-color:var(--accent)}}
/* pied de page : « Gérer les témoins » a l'allure d'un lien */
.legal .tm-gerer{background:none;border:0;padding:0;font:inherit;color:var(--text-muted);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.no-js .legal .tm-gerer{display:none}
.tm-lien[aria-expanded=true]{flex:1 1 100%;order:1;text-align:center;min-height:30px;padding:2px}

/* t1963 : bandeau de témoins < 90 % de la largeur (370/390 = 95 % auparavant) — jamais candidat à la teinte du bas de Safari 26 */
@media (max-width:899px){.tm{left:6vw;right:6vw}}

/* t2489 : bandeau de témoins au-dessus de la barre Safari flottante quand il n'y a pas de rangée CTA */
@media (max-width:899px) and (pointer:coarse) and (display-mode:browser){html:not(.tm-mbar) .tm{bottom:calc(max(8px, env(safe-area-inset-bottom, 0px)) + 58px)}}
