/* BF POS Guide — geführter Chat-Wegweiser (bfpos.ch). Nutzt die Site-Tokens (--bg, --text, --brand-*),
   damit Light/Dark automatisch stimmen. Beta, rein clientseitig. */
.bfg-launcher{position:fixed;right:20px;bottom:20px;z-index:110;width:56px;height:56px;border-radius:50%;border:0;cursor:pointer;
  background:linear-gradient(135deg,var(--brand-royal,#183ae0),var(--brand-electric,#3e7bff));color:#fff;box-shadow:0 10px 30px rgba(24,58,224,.35);
  display:flex;align-items:center;justify-content:center;transition:transform .2s ease,box-shadow .2s ease}
.bfg-launcher:hover{transform:translateY(-2px);box-shadow:0 14px 34px rgba(24,58,224,.45)}
.bfg-launcher svg{width:26px;height:26px}
.bfg-launcher .bfg-badge{position:absolute;top:-2px;right:-2px;width:14px;height:14px;border-radius:50%;background:#ff5a5f;border:2px solid var(--bg,#fff)}
.bfg-launcher.bfg-pulse::after{content:"";position:absolute;inset:-6px;border-radius:50%;border:2px solid var(--brand-electric,#3e7bff);opacity:0;animation:bfgPulse 2.2s ease-out infinite}
@keyframes bfgPulse{0%{transform:scale(.8);opacity:.7}100%{transform:scale(1.35);opacity:0}}
.bfg-panel{position:fixed;right:20px;bottom:88px;z-index:111;width:min(380px,calc(100vw - 32px));max-height:min(640px,calc(100vh - 110px));
  display:flex;flex-direction:column;background:var(--bg,#fff);color:var(--text,#0a0e2a);border:1px solid var(--border,rgba(10,14,42,.1));
  border-radius:18px;box-shadow:0 24px 60px rgba(10,14,42,.22);overflow:hidden;font-family:Inter,system-ui,-apple-system,"Segoe UI",sans-serif;
  transform:translateY(12px) scale(.98);opacity:0;pointer-events:none;transition:transform .22s ease,opacity .22s ease}
.bfg-panel.bfg-open{transform:none;opacity:1;pointer-events:auto}
.bfg-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:linear-gradient(135deg,var(--brand-navy,#08125c),var(--brand-royal,#183ae0));color:#fff}
.bfg-avatar{width:36px;height:36px;border-radius:12px;background:rgba(255,255,255,.14);display:flex;align-items:center;justify-content:center;font:800 13px/1 Nunito,Inter,sans-serif;letter-spacing:.5px}
.bfg-title{font:700 15px/1.2 Nunito,Inter,sans-serif}
.bfg-sub{font-size:12px;opacity:.8;margin-top:2px}
.bfg-beta{font-size:10px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;background:rgba(255,255,255,.18);padding:2px 6px;border-radius:6px;margin-left:6px;vertical-align:middle}
.bfg-close{margin-left:auto;background:transparent;border:0;color:#fff;font-size:22px;line-height:1;cursor:pointer;opacity:.85;padding:4px 6px;border-radius:8px}
.bfg-close:hover{opacity:1;background:rgba(255,255,255,.12)}
.bfg-body{flex:1;overflow-y:auto;padding:16px 14px 6px;display:flex;flex-direction:column;gap:10px;background:var(--bg-elev,#f6f7fb)}
.bfg-msg{max-width:88%;padding:10px 13px;border-radius:14px;font-size:14px;line-height:1.45;white-space:pre-line;animation:bfgIn .18s ease}
.bfg-msg.bot{align-self:flex-start;background:var(--bg,#fff);border:1px solid var(--border,rgba(10,14,42,.1));border-bottom-left-radius:4px}
.bfg-msg.user{align-self:flex-end;background:var(--brand-royal,#183ae0);color:#fff;border-bottom-right-radius:4px}
.bfg-msg a{color:var(--brand-royal,#183ae0);font-weight:600;text-decoration:none}
.bfg-msg.user a{color:#fff}
.bfg-msg a:hover{text-decoration:underline}
@keyframes bfgIn{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.bfg-typing{align-self:flex-start;display:flex;gap:4px;padding:10px 14px}
.bfg-typing i{width:6px;height:6px;border-radius:50%;background:var(--text-dim,rgba(10,14,42,.28));animation:bfgDot 1s infinite}
.bfg-typing i:nth-child(2){animation-delay:.15s}.bfg-typing i:nth-child(3){animation-delay:.3s}
@keyframes bfgDot{0%,100%{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-3px)}}
.bfg-rec{align-self:flex-start;max-width:96%;background:var(--bg,#fff);border:1px solid var(--border,rgba(10,14,42,.1));border-radius:14px;border-bottom-left-radius:4px;padding:12px 13px;font-size:14px;animation:bfgIn .18s ease}
.bfg-rec h4{margin:0 0 8px;font:700 14px/1.3 Nunito,Inter,sans-serif}
.bfg-rec .bfg-item{display:block;padding:9px 10px;border-radius:10px;border:1px solid var(--border,rgba(10,14,42,.1));margin-bottom:6px;text-decoration:none;color:inherit;background:var(--bg-card,rgba(10,14,42,.025))}
.bfg-rec .bfg-item:hover{background:var(--bg-card-hover,rgba(10,14,42,.05))}
.bfg-rec .bfg-item b{color:var(--brand-royal,#183ae0)}
.bfg-rec .bfg-item span{display:block;font-size:12.5px;color:var(--text-muted,rgba(10,14,42,.62));margin-top:2px}
.bfg-chips{display:flex;flex-wrap:wrap;gap:6px;padding:6px 14px 10px;background:var(--bg-elev,#f6f7fb)}
.bfg-chip{border:1px solid var(--brand-royal,#183ae0);color:var(--brand-royal,#183ae0);background:var(--bg,#fff);border-radius:999px;padding:7px 12px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit}
.bfg-chip:hover{background:var(--brand-royal,#183ae0);color:#fff}
.bfg-chip.bfg-primary{background:var(--brand-royal,#183ae0);color:#fff}
.bfg-chip.bfg-ghost{border-color:var(--border-strong,rgba(10,14,42,.2));color:var(--text-muted,rgba(10,14,42,.62))}
.bfg-input{display:flex;gap:8px;padding:10px 12px;border-top:1px solid var(--border,rgba(10,14,42,.1));background:var(--bg,#fff)}
.bfg-input input{flex:1;border:1px solid var(--border-strong,rgba(10,14,42,.2));border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;background:var(--bg,#fff);color:var(--text,#0a0e2a);outline:none}
.bfg-input input:focus{border-color:var(--brand-electric,#3e7bff);box-shadow:0 0 0 3px rgba(62,123,255,.18)}
.bfg-input button{border:0;border-radius:10px;padding:0 14px;background:var(--brand-royal,#183ae0);color:#fff;font-weight:700;cursor:pointer;font-family:inherit}
.bfg-input button:disabled{opacity:.5;cursor:default}
.bfg-foot{font-size:11px;color:var(--text-faint,rgba(10,14,42,.45));text-align:center;padding:0 12px 8px;background:var(--bg,#fff)}
@media (max-width:480px){.bfg-panel{right:8px;left:8px;bottom:80px;width:auto;max-height:calc(100vh - 96px)}.bfg-launcher{right:14px;bottom:14px}}
@media (prefers-reduced-motion:reduce){.bfg-panel,.bfg-msg,.bfg-rec,.bfg-launcher{transition:none;animation:none}.bfg-launcher.bfg-pulse::after{animation:none}}
