/* ==========================================================================
   salle.css — Refonte « verre bleu » de la salle élève/prof (salle.php)
   Re-skin par-dessus le markup existant : aucune perte de fonctionnalité.
   Chargé en FIN de page pour surcharger les styles inline historiques.
   Tout est scellé sous body.body-room pour ne rien impacter ailleurs.
   TRANCHE 1 : topbar (.room-header) + cartes d'outils (.feature-block).
   ========================================================================== */
body.body-room {
  --bg: #EAF1FC; --surface: #FFFFFF; --surface-2: #F4F8FF;
  --ink: #0C1730; --muted: #5A6B8C; --faint: #8394B4;
  --border: #E2E9F7; --border-strong: #D3DDF2;
  --primary: #2563EB; --primary-strong: #1D4ED8; --primary-soft: #DCE7FF;
  --shadow: 0 10px 30px rgba(30,64,148,.10); --shadow-sm: 0 4px 14px rgba(30,64,148,.07);
  --hero: linear-gradient(118deg, #16307A 0%, #2456C8 52%, #2F6BFF 100%);
  --font-title: 'Plus Jakarta Sans', ui-sans-serif, system-ui, 'Segoe UI', Roboto, sans-serif;
  --font-body: 'Nunito', ui-sans-serif, system-ui, 'Segoe UI', Roboto, sans-serif;
}
body.body-room[data-salle-theme="dark"] {
  --bg:#080E1D; --surface:#111B31; --surface-2:#0D1526; --ink:#EAF1FF; --muted:#9FB1D6; --faint:#6C7FA6;
  --border:#1E2A45; --border-strong:#26355A; --primary:#4C86FF; --primary-strong:#3B82F6; --primary-soft:#16294F;
  --shadow:0 14px 34px rgba(0,0,0,.42); --shadow-sm:0 4px 16px rgba(0,0,0,.34);
  --hero:linear-gradient(118deg,#0A1B44 0%,#123577 52%,#1E4CB0 100%);
}

/* fond général de la salle (verre → il faut un fond dégradé pour lire la translucidité) */
body.body-room {
  background: linear-gradient(158deg, #E7EEFF 0%, #EAF1FC 55%, #EAF6FF 100%);
  color: var(--ink);
}
body.body-room[data-salle-theme="dark"] {
  /* fond solide + lueur radiale qui s'estompe → pas de banding sur les grands aplats */
  background-color: #0A1220;
  background-image: radial-gradient(1200px 620px at 80% -80px, rgba(46,107,255,.16), rgba(10,18,32,0) 60%);
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* ── TOPBAR (.room-header) ─────────────────────────────────────────────── */
body.body-room .room-header {
  background: var(--hero);           /* respecte le style inline de branding si présent */
  color: #fff;
  box-shadow: 0 8px 26px rgba(20,45,110,.28);
  border: 0;
  padding: 13px 20px;
  gap: 14px;
}
body.body-room .room-header .header-left h1,
body.body-room .room-header h1 {
  font-family: var(--font-title); font-weight: 800; font-size: 1.05rem; letter-spacing: -.01em; color: #fff;
}
body.body-room .room-header .user-badge {
  background: rgba(255,255,255,.14); border: 1px solid rgba(255,255,255,.26); color: #fff;
  border-radius: 999px; padding: 8px 14px; font-weight: 700; font-size: .84rem; height: 40px;
  display: inline-flex; align-items: center; gap: 8px;
}
/* Identité en-tête : avatars + chip compteur + chip « moi » (écart maquette #3).
   Les chips héritent de la couleur de texte de marque (currentColor) → lisibles
   sur en-tête dégradé foncé OU couleur perso claire. */
body.body-room .room-header .room-identity { display: inline-flex; align-items: center; gap: 10px; }
body.body-room .room-header .room-avatars { display: flex; cursor: pointer; }
body.body-room .room-header .room-avatars:empty { display: none; }
body.body-room .room-header .room-avatars .rav {
  width: 30px; height: 30px; border-radius: 50%; margin-left: -8px;
  border: 2px solid rgba(255,255,255,.6);                             /* fallback */
  border: 2px solid color-mix(in srgb, currentColor 55%, transparent);
  display: grid; place-items: center; font-size: .7rem; font-weight: 800; color: #fff;
  font-family: var(--font-title);
}
body.body-room .room-header .room-avatars .rav:first-child { margin-left: 0; }
body.body-room .room-header .chip-w,
body.body-room .room-header .me-chip {
  display: inline-flex; align-items: center; gap: 8px; height: 40px; white-space: nowrap;
  border-radius: 999px; font-weight: 700; font-size: .83rem; color: inherit;
  background: rgba(255,255,255,.14);                                  /* fallback en-tête foncé */
  background: color-mix(in srgb, currentColor 12%, transparent);
  border: 1px solid rgba(255,255,255,.26);                           /* fallback */
  border: 1px solid color-mix(in srgb, currentColor 26%, transparent);
}
body.body-room .room-header .chip-w { padding: 0 14px; cursor: pointer; }
body.body-room .room-header .chip-w svg { width: 16px; height: 16px; flex: none; }
body.body-room .room-header .me-chip { padding: 0 12px 0 5px; }
body.body-room .room-header .me-chip .me-av {
  width: 26px; height: 26px; border-radius: 50%; background: #fff; color: var(--primary-strong);
  display: grid; place-items: center; font-family: var(--font-title); font-weight: 800; font-size: .8rem;
}
body.body-room .room-header .me-chip .me-adm {
  background: rgba(255,255,255,.28);                                  /* fallback */
  background: color-mix(in srgb, currentColor 22%, transparent);
  color: inherit; border-radius: 6px; padding: 1px 6px; font-size: .64rem; letter-spacing: .04em; font-weight: 800;
}
body.body-room .room-header .me-chip .me-grp { opacity: .82; font-weight: 700; }
@media (max-width: 720px) { body.body-room .room-header .chip-w .participants-lbl, body.body-room .room-header .me-chip .me-name { display: none; } }
body.body-room .room-header .btn-quit {
  height: 40px; display: inline-flex; align-items: center; gap: 7px; border-radius: 11px;
  padding: 0 14px; font-weight: 700; font-size: .84rem; font-family: var(--font-body);
  background: rgba(255,255,255,.12) !important; border: 1px solid rgba(255,255,255,.26) !important; color: #fff !important;
}
body.body-room .room-header form .btn-quit,
body.body-room .room-header .btn-quit[type="submit"] { background: #EF4444 !important; border-color: #EF4444 !important; }
body.body-room .room-header .btn-quit:hover { filter: brightness(1.06); }

/* ── CARTES D'OUTILS (.feature-block) ─────────────────────────────────── */
body.body-room .dashboard-blocks-grid {
  display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 15px;
}
body.body-room .feature-block {
  --c: var(--primary); --cs: var(--primary-soft);
  position: relative;
  background: rgba(255,255,255,.74);                                  /* fallback */
  background: color-mix(in srgb, var(--surface) 66%, transparent);
  -webkit-backdrop-filter: blur(16px) saturate(1.3);
  backdrop-filter: blur(16px) saturate(1.3);
  border: 1px solid rgba(255,255,255,.55) !important;                 /* fallback */
  border: 1px solid color-mix(in srgb, #ffffff 45%, transparent) !important;
  border-radius: 20px !important; padding: 17px !important; overflow: hidden;
  box-shadow: 0 12px 40px rgba(20,45,110,.12) !important;
  transition: transform .16s, box-shadow .16s, border-color .16s;
  text-align: left; cursor: pointer; min-height: 0;
}
body.body-room[data-salle-theme="dark"] .feature-block {
  background: rgba(17,27,49,.72) !important;                          /* fallback + force sur fonds inline clairs */
  background: color-mix(in srgb, var(--surface) 72%, transparent) !important;
  border-color: rgba(76,134,255,.32) !important;                     /* fallback */
  border-color: color-mix(in srgb, var(--primary) 32%, transparent) !important;
  box-shadow: 0 16px 42px rgba(0,0,0,.5) !important;
}
/* Tuiles spéciales (Notes, Parcours, présentations…) : lisibilité complète en mode sombre */
/* Pastille d'icône : tint sombre de la couleur de catégorie, au lieu de la couleur douce CLAIRE (--cs) */
body.body-room[data-salle-theme="dark"] .feature-block .block-icon {
  background: rgba(76,134,255,.16) !important;                        /* fallback */
  background: color-mix(in srgb, var(--c) 24%, transparent) !important;
}
/* Titres + sous-textes colorés en dur (inline) → lisibles sur fond sombre */
body.body-room[data-salle-theme="dark"] .feature-block .block-title,
body.body-room[data-salle-theme="dark"] .feature-block h3,
body.body-room[data-salle-theme="dark"] .feature-block [style*="color:#"],
body.body-room[data-salle-theme="dark"] .feature-block [style*="color: #"] { color: var(--ink) !important; }
/* Badges/compteurs à fond clair (block-count avec fond inline) → fond sombre + texte lisible.
   NB : on ne touche PAS aux fonds inline génériques (barres de progression) pour préserver leur couleur. */
/* Pilule "disponible(s) / en cours / …" : fond clair de base (#f1f5f9) → fond sombre en mode nuit */
body.body-room[data-salle-theme="dark"] .feature-block .block-count {
  background: var(--surface-2) !important; color: var(--muted) !important;
}
body.body-room .feature-block::before {
  content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: var(--c); z-index: 1;
}
body.body-room .feature-block:hover {
  transform: translateY(-4px);
  border-color: var(--c) !important;                                 /* fallback */
  border-color: color-mix(in srgb, var(--c) 55%, transparent) !important;
  box-shadow: 0 18px 46px rgba(20,45,110,.2) !important;
}
body.body-room .feature-block .block-icon {
  width: 46px; height: 46px; border-radius: 13px; background: var(--cs); color: var(--c);
  display: inline-flex; align-items: center; justify-content: center; font-size: 24px;
  margin: 0 0 12px; line-height: 1;
}
body.body-room .feature-block .block-icon svg { width: 26px; height: 26px; }
body.body-room .feature-block .block-title {
  font-family: var(--font-title); font-weight: 800; font-size: 1.02rem; color: var(--ink) !important; margin: 0;
}
body.body-room .feature-block .block-count { color: var(--muted) !important; font-size: .82rem; margin-top: 3px; }

/* Accents par catégorie (couleur --c / fond doux --cs) */
body.body-room .feature-block.cat-quiz       { --c:#4F46E5; --cs:#E5E7FF; }
body.body-room .feature-block.cat-postit     { --c:#0EA5E9; --cs:#DEF1FF; }
body.body-room .feature-block.cat-whiteboard { --c:#2563EB; --cs:#DCE7FF; }
body.body-room .feature-block.cat-doc        { --c:#0D9488; --cs:#D6F5F0; }
body.body-room .feature-block.cat-mindmap    { --c:#7C3AED; --cs:#EDE4FF; }
body.body-room .feature-block.cat-kanban     { --c:#6366F1; --cs:#E6E7FF; }
body.body-room .feature-block.cat-flashcard  { --c:#0891B2; --cs:#D5F2F8; }
body.body-room .feature-block.cat-video      { --c:#2563EB; --cs:#DCE7FF; }
body.body-room .feature-block.cat-qna        { --c:#6366F1; --cs:#E6E7FF; border-bottom: 0 !important; }

@media (prefers-reduced-motion: reduce) { body.body-room .feature-block { transition: none; } }

/* ========================================================================
   TRANCHE 2 — Chat (rail droit), barre du bas, widgets prof, barre animation
   Reskin COULEURS uniquement (positionnement/drag existants préservés).
   ======================================================================== */

/* Barre « Nouvelle Animation » (prof) : crème inline → verre bleu */
body.body-room .feature-block.cat-teacher-anim {
  background: rgba(255,255,255,.72) !important;                        /* fallback */
  background: color-mix(in srgb, var(--surface) 66%, transparent) !important;
  border-bottom: 0 !important;
}
body.body-room .feature-block.cat-teacher-anim .block-title { color: var(--ink) !important; }
body.body-room .feature-block.cat-teacher-anim .block-icon { background: var(--primary-soft); color: var(--primary); }

/* ── CHAT (rail ancré) ─────────────────────────────────────────────── */
body.body-room #chat-container {
  background: rgba(255,255,255,.84);                                   /* fallback */
  background: color-mix(in srgb, var(--surface) 84%, transparent);
  -webkit-backdrop-filter: blur(16px) saturate(1.2);
  backdrop-filter: blur(16px) saturate(1.2);
  border-left: 1px solid var(--border);
  color: var(--ink);
}
body.body-room[data-salle-theme="dark"] #chat-container {
  background: rgba(17,27,49,.82);                                      /* fallback */
  background: color-mix(in srgb, var(--surface) 84%, transparent);
}
body.body-room .chat-header { background: var(--hero); border: 0; }
body.body-room .chat-header, body.body-room .chat-header * { color: #fff; }
body.body-room .chat-icon-btn {
  color: #fff; border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.12); border-radius: 8px;
}
body.body-room #chat-messages .chat-msg {
  background: var(--surface-2); border: 1px solid var(--border); border-radius: 13px; color: var(--ink);
}
body.body-room #chat-messages .chat-msg.admin {
  background: var(--primary-soft);
  border-color: rgba(37,99,235,.28);                                  /* fallback */
  border-color: color-mix(in srgb, var(--primary) 28%, var(--border));
}
body.body-room .chat-msg-author { color: var(--primary-strong); }
body.body-room .chat-msg-time { color: var(--faint); }
body.body-room .chat-msg-body { color: var(--ink); }
body.body-room .chat-msg-body a { color: var(--primary); }
body.body-room .chat-input-area { border-top: 1px solid var(--border); background: transparent; }
body.body-room #chat-input {
  background: var(--surface-2); border: 1px solid var(--border-strong); color: var(--ink); border-radius: 999px;
}
body.body-room #chat-input:focus { border-color: var(--primary); outline: none; }
body.body-room .btn-send { background: var(--primary) !important; color: #fff !important; }
body.body-room .btn-send:hover { background: var(--primary-strong) !important; }
body.body-room .chat-tool-btn { color: var(--muted); }

/* ── BARRE DU BAS (#feedbackBar) ──────────────────────────────────── */
body.body-room #feedbackBar {
  background: rgba(255,255,255,.88);                                   /* fallback */
  background: color-mix(in srgb, var(--surface) 88%, transparent);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid var(--border); box-shadow: var(--shadow);
}
body.body-room #feedbackBar .fb-btn {
  background: var(--surface); border: 1px solid var(--border); color: var(--ink); border-radius: 12px;
}
body.body-room #feedbackBar .fb-btn:hover { border-color: var(--primary); }
body.body-room #feedbackBar .fb-comp-btn.understood { color: var(--ink); }
body.body-room #feedbackBar .fb-comp-btn.lost { color: var(--ink); }

/* ── WIDGET COMPRÉHENSION (prof, flottant) ────────────────────────── */
body.body-room #compStatsWidget {
  background: rgba(255,255,255,.9);                                    /* fallback */
  background: color-mix(in srgb, var(--surface) 90%, transparent);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  border: 1px solid var(--border); border-radius: 14px; box-shadow: var(--shadow); color: var(--ink);
}
body.body-room #compStatsWidget .cs-title,
body.body-room #compStatsWidget .cs-row { color: var(--ink); }

/* ── TRANCHE 3 : bouton bascule clair / nuit (injecté dans le header) ── */
body.body-room .salle-theme-toggle {
  height: 40px; display: inline-flex; align-items: center; justify-content: center; gap: 7px;
  border-radius: 11px; padding: 0 13px; font-weight: 700; font-size: .84rem; font-family: var(--font-body);
  background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.26); color: #fff; cursor: pointer;
  margin-right: 10px;
}
body.body-room .salle-theme-toggle:hover { background: rgba(255,255,255,.22); }
body.body-room .salle-theme-toggle svg { width: 17px; height: 17px; }

/* ── FINITION : dark des surfaces internes + mobile ──────────────────── */
body.body-room #chat-body,
body.body-room #chat-messages { background: transparent; }
body.body-room[data-salle-theme="dark"] #chat-emoji-picker,
body.body-room[data-salle-theme="dark"] .chat-attachment-preview {
  background: var(--surface); border-color: var(--border); color: var(--ink);
}
/* le champ de saisie et les compteurs internes restent lisibles en sombre */
body.body-room[data-salle-theme="dark"] .chat-msg-body { color: var(--ink); }

/* Mobile : bouton thème en icône seule si l'en-tête est étroit */
@media (max-width: 640px) {
  body.body-room .salle-theme-toggle span { display: none; }
  body.body-room .salle-theme-toggle { padding: 0 10px; margin-right: 8px; }
}

/* ── ALIGNEMENT MAQUETTE : barre animation en chips sobres + flèche d'action ── */
body.body-room .feature-block.cat-teacher-anim .btn-modal-action {
  background: var(--surface-2) !important; color: var(--ink) !important;
  border: 1px solid var(--border) !important; border-radius: 11px !important;
  font-weight: 700 !important; box-shadow: none !important;
}
body.body-room .feature-block.cat-teacher-anim .btn-modal-action:hover {
  border-color: var(--primary) !important; color: var(--primary) !important; transform: translateY(-2px);
}
/* Flèche « → » d'action au survol des cartes d'outils (pas sur la barre animation) */
body.body-room .feature-block:not(.cat-teacher-anim)::after {
  content: "→"; position: absolute; right: 16px; bottom: 13px; z-index: 1;
  color: var(--c); font-family: var(--font-title); font-weight: 800; font-size: 1.05rem;
  opacity: 0; transform: translateX(-5px); transition: opacity .16s, transform .16s;
}
body.body-room .feature-block:not(.cat-teacher-anim):hover::after { opacity: 1; transform: none; }

/* ── PIED DE PAGE pleine largeur, BORD À BORD (exactement comme la maquette) ──
   Le chat s'arrête au-dessus (voir plus bas), donc le pied court sur toute la
   largeur de l'écran, sous le chat. */
body.body-room { --edu-footer-h: 62px; }
body.body-room #feedbackBar {
  left: 0 !important; right: 0 !important; bottom: 0 !important; top: auto !important; width: 100%;
  height: var(--edu-footer-h); box-sizing: border-box;
  z-index: 1000;                                     /* au-dessus du chat */
  border-radius: 0 !important; border: 0; border-top: 1px solid var(--border);
  padding: 0 20px; gap: 14px; flex-wrap: nowrap; align-items: center; justify-content: flex-start;
  background: rgba(255,255,255,.94);                                  /* fallback */
  background: color-mix(in srgb, var(--surface) 94%, transparent);
  -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px);
  box-shadow: none;
}
/* Emojis NUS : plus de boîte blanche arrondie autour des groupes */
body.body-room #feedbackBar .fb-group {
  background: transparent !important; box-shadow: none !important; padding: 0 !important; border-radius: 0 !important; gap: 4px;
}
/* « Je suis / Décroche » = boutons pilules ; les emojis restent nus */
body.body-room #feedbackBar .fb-comp-btn {
  background: var(--surface); border: 1px solid var(--border-strong); border-radius: 12px;
  color: var(--ink); font-weight: 800; font-size: .86rem; padding: 9px 14px;
}
body.body-room #feedbackBar .fb-comp-btn.active.understood { background: #DCFCE7 !important; border-color: #16A34A; color: #166534 !important; }
body.body-room #feedbackBar .fb-comp-btn.active.lost { background: #FEF3C7 !important; border-color: #F59E0B; color: #B45309 !important; }
/* emojis centrés, statut à gauche, cloche à droite */
body.body-room #feedbackBar .fb-rx-group { margin: 0 auto; }

/* ── CHAT entre l'en-tête et le pied (s'arrête au-dessus du pied) ──────── */
body.body-room.chat-is-docked #chat-container.chat-docked {
  bottom: var(--edu-footer-h) !important;
  height: calc(100vh - 68px - var(--edu-footer-h)) !important;
}

/* ── Cartes-widgets de la zone centrale (À faire élève…) ─────────────── */
/* .salle-widgets est un enfant de .dashboard-blocks-grid → il occupe toute la
   largeur de la grille (mêmes marges/origine que les outils), puis dispose ses
   cartes dans sa propre grille interne. */
body.body-room .salle-widgets { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; margin-top: 12px; align-items: start; }
body.body-room .salle-card {
  background: rgba(255,255,255,.66);                                   /* fallback */
  background: color-mix(in srgb, var(--surface) 66%, transparent);
  -webkit-backdrop-filter: blur(16px) saturate(1.3); backdrop-filter: blur(16px) saturate(1.3);
  border: 1px solid rgba(255,255,255,.55);                            /* fallback */
  border: 1px solid color-mix(in srgb, #ffffff 45%, transparent);
  border-radius: 18px; padding: 18px; box-shadow: 0 12px 40px rgba(20,45,110,.12);
}
body.body-room[data-salle-theme="dark"] .salle-card {
  background: rgba(17,27,49,.66); background: color-mix(in srgb, var(--surface) 66%, transparent);
  border-color: rgba(76,134,255,.3);
}
body.body-room .salle-card__title { font-family: var(--font-title); font-weight: 800; font-size: .96rem; color: var(--ink); margin: 0 0 12px; display: flex; align-items: center; gap: 8px; }
body.body-room .salle-card__dot { width: 8px; height: 8px; border-radius: 50%; background: #16A34A; box-shadow: 0 0 0 4px rgba(22,163,74,.18); }
body.body-room .salle-todo { display: flex; align-items: center; gap: 11px; padding: 8px 0; border-bottom: 1px dashed var(--border); }
body.body-room .salle-todo:last-child { border-bottom: 0; }
body.body-room .salle-todo__ico { width: 34px; height: 34px; border-radius: 10px; display: grid; place-items: center; font-size: 1rem; flex: none; }
body.body-room .salle-todo__txt { font-size: .88rem; color: var(--ink); }
body.body-room .salle-todo__txt b { font-weight: 800; }

/* ── Ma progression (élève) ─────────────────────────────────────────── */
body.body-room .salle-card--prog .comp-bar { margin-bottom: 10px; }
body.body-room .salle-prog__hint { font-size: .82rem; color: var(--muted); }

/* ── Activité en direct (prof) : flux d'événements réels ────────────── */
body.body-room .salle-feed { display: flex; flex-direction: column; }
body.body-room .salle-feed__item { display: flex; align-items: center; gap: 11px; padding: 8px 0; border-bottom: 1px dashed var(--border); }
body.body-room .salle-feed__item:last-child { border-bottom: 0; }
body.body-room .salle-feed__ico { width: 33px; height: 33px; border-radius: 10px; display: grid; place-items: center; font-size: .98rem; flex: none; }
body.body-room .salle-feed__txt { font-size: .87rem; color: var(--ink); }
body.body-room .salle-feed__txt b { font-weight: 800; }
body.body-room .salle-feed__empty { font-size: .85rem; color: var(--muted); padding: 6px 0; }

/* ── Compréhension en carte (prof) : remplace le widget flottant ─────── */
body.body-room #compStatsWidget { display: none !important; }
body.body-room .salle-card__rt { margin-left: auto; font-size: .8rem; color: var(--muted); font-weight: 700; }
body.body-room .comp-bar { height: 12px; border-radius: 999px; overflow: hidden; display: flex; background: var(--surface-2); border: 1px solid var(--border); margin: 4px 0 12px; }
body.body-room .comp-bar__ok { background: linear-gradient(90deg,#22C55E,#16A34A); transition: width .4s; }
body.body-room .comp-bar__no { background: linear-gradient(90deg,#FBBF24,#F59E0B); transition: width .4s; }
body.body-room .comp-stats { display: flex; justify-content: space-between; font-size: .9rem; color: var(--ink); }
body.body-room .comp-stats b { font-family: var(--font-title); font-weight: 800; }

/* ── Badge numérique (compteur) en haut à droite des tuiles ─────────── */
body.body-room .feature-block .fb-badge {
  position: absolute; top: 15px; right: 15px; z-index: 2;
  min-width: 24px; height: 22px; padding: 0 7px; border-radius: 999px;
  background: var(--cs); color: var(--c);
  font-family: var(--font-title); font-weight: 800; font-size: .78rem;
  display: inline-flex; align-items: center; justify-content: center; line-height: 1;
}
/* Mode sombre : badge compteur en tint sombre (au lieu de la couleur douce claire --cs) */
body.body-room[data-salle-theme="dark"] .feature-block .fb-badge {
  background: rgba(76,134,255,.20) !important;                        /* fallback */
  background: color-mix(in srgb, var(--c) 28%, transparent) !important;
  color: #EAF0FF !important;                                          /* fallback */
  color: color-mix(in srgb, var(--c) 45%, #ffffff) !important;
}
