/* =====================================================================
   Bannière de consentement cookies (CMP) — .brc-*
   SOURCE UNIQUE des styles de la bannière, partagée par :
   - le site public (concaténée dans site.css par scripts/build-public-css.mjs)
   - les pages webinaire (chargée directement : /css/consent.css)
   Autonome : chaque token est consommé en var(--x, fallback) — les fallbacks
   reproduisent la charte publique pour les pages qui ne chargent pas le shell.
   Design v2 (08/2026) : carte compacte ancrée bas-droite (desktop), SANS voile
   plein écran, entrée douce — moins intrusive, boutons symétriques CNIL.
   ===================================================================== */

.brc-banner{position:fixed;right:16px;bottom:16px;left:auto;z-index:9999;width:min(440px,calc(100vw - 32px));background:none;padding:0}
.brc-banner[hidden]{display:none}
.brc-inner{background:var(--bg,#fff);color:var(--ink,#22324a);border:1px solid var(--line,#dde5ef);border-left:4px solid var(--gold,#d9a527);border-radius:var(--r,14px);box-shadow:var(--sh-lg,0 18px 50px rgba(8,38,82,.18));padding:20px 22px;animation:brc-in .35s ease-out both}
@keyframes brc-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
.brc-title{font-family:var(--ff-display,Poppins,system-ui,sans-serif);font-weight:700;font-size:1.06rem;color:var(--navy-900,#0c2f5f);margin:0 0 .45rem}
.brc-text{font-size:.9rem;line-height:1.55;color:var(--ink,#22324a);margin:0 0 .9rem}
.brc-link{color:var(--navy,#1b4f9c);font-weight:600;text-decoration:underline}
.brc-link:hover{color:var(--navy-700,#173f7c)}

/* Panneau de préférences : masqué tant que « Personnaliser » non cliqué */
.brc-panel{display:none;margin:0 0 .9rem;border-top:1px solid var(--line,#dde5ef);max-height:46vh;overflow:auto}
.brc-banner--prefs .brc-panel{display:block}
.brc-category{padding:12px 0;border-bottom:1px solid var(--line,#dde5ef)}
.brc-category__head{display:flex;align-items:center;justify-content:space-between;gap:16px}
.brc-category__label{font-family:var(--ff-display,Poppins,system-ui,sans-serif);font-weight:600;font-size:.95rem;color:var(--navy-900,#0c2f5f)}
.brc-category__desc{font-size:.84rem;line-height:1.5;color:var(--slate,#5b6b82);margin:.35rem 0 0}

/* Switch accessible */
.brc-switch{position:relative;flex:0 0 auto;width:48px;height:28px;border-radius:var(--pill,999px);background:var(--line,#dde5ef);border:0;padding:0;cursor:pointer;transition:background .18s ease}
.brc-switch__knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:var(--sh-sm,0 2px 6px rgba(8,38,82,.15));transition:left .18s ease}
.brc-switch--on{background:var(--navy,#1b4f9c)}
.brc-switch--on .brc-switch__knob{left:23px}
.brc-switch--disabled{background:var(--navy-400,#7d9cc9);opacity:.7;cursor:not-allowed}
.brc-switch:focus-visible{outline:3px solid var(--gold,#d9a527);outline-offset:2px}

/* Boutons — symétrie CNIL : accepter / refuser MÊME rang, MÊME taille, même ligne. */
.brc-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:stretch}
.brc-btn{min-height:44px;padding:.6rem 1rem;border-radius:var(--r-sm,10px);font-family:var(--ff-display,Poppins,system-ui,sans-serif);font-weight:600;font-size:.92rem;line-height:1.2;border:1.5px solid transparent;cursor:pointer;transition:background .15s ease,color .15s ease,border-color .15s ease}
.brc-btn:focus-visible{outline:3px solid var(--gold,#d9a527);outline-offset:2px}
.brc-btn--accept{background:var(--navy,#1b4f9c);color:#fff}
.brc-btn--accept:hover{background:var(--navy-700,#173f7c)}
.brc-btn--reject{background:#fff;color:var(--navy-900,#0c2f5f);border-color:var(--navy,#1b4f9c)}
.brc-btn--reject:hover{background:var(--navy-soft,#eef4fc)}
.brc-btn--customize{grid-column:1 / -1;background:none;color:var(--slate,#5b6b82);border:0;min-height:34px;text-decoration:underline;font-weight:500;font-size:.86rem}
.brc-btn--customize:hover{color:var(--navy,#1b4f9c)}
.brc-btn--save{display:none;grid-column:1 / -1;background:var(--gold,#d9a527);color:var(--navy-900,#0c2f5f)}
.brc-btn--save:hover{background:var(--gold-600,#c2911d)}
.brc-banner--prefs .brc-btn--save{display:inline-flex;align-items:center;justify-content:center}
.brc-banner--prefs .brc-btn--customize{display:none}

/* Déclencheur permanent (footer + page cookies) */
.brc-trigger{background:none;border:0;padding:0;cursor:pointer;color:inherit;font:inherit;text-decoration:underline}

@media (max-width:600px){
  .brc-banner{right:8px;left:8px;bottom:8px;width:auto}
  .brc-inner{padding:16px}
}
@media (prefers-reduced-motion:reduce){
  .brc-inner{animation:none}
  .brc-switch,.brc-switch__knob,.brc-btn{transition:none}
}
