/* BPM 370 R25 — caméra en direct intégrée à la messagerie */
.bpm-live-call-overlay[hidden]{display:none!important}
.bpm-live-call-overlay{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.78);backdrop-filter:blur(12px);overscroll-behavior:contain}
body.bpm-live-call-open{overflow:hidden!important;touch-action:none}
.bpm-live-call-dialog{width:min(980px,100%);height:min(760px,calc(100dvh - 36px));min-height:520px;display:flex;flex-direction:column;overflow:hidden;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:#040914;box-shadow:0 35px 120px rgba(0,0,0,.65)}
.bpm-live-call-head{min-height:62px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 14px;background:#07101f;border-bottom:1px solid rgba(255,255,255,.1)}
.bpm-live-call-head-copy{display:flex;align-items:center;gap:11px;min-width:0}
.bpm-live-call-head-copy>div{display:grid;min-width:0}
.bpm-live-call-head strong{color:#fff;font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bpm-live-call-head small{color:#9aa8bd;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bpm-live-call-head small.is-error{color:#fca5a5}
.bpm-live-call-dot{width:10px;height:10px;flex:0 0 auto;border-radius:999px;background:#ef4444;box-shadow:0 0 0 5px rgba(239,68,68,.18);animation:bpmLiveCallPulse 1.45s infinite}
@keyframes bpmLiveCallPulse{50%{box-shadow:0 0 0 10px rgba(239,68,68,0)}}
.bpm-live-call-close{width:40px;height:40px;display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(255,255,255,.12);border-radius:12px;background:#0f172a;color:#fff;cursor:pointer}
.bpm-live-call-ringing{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:28px;text-align:center;background:radial-gradient(circle at 50% 20%,rgba(40,116,255,.2),transparent 46%),#040914}
.bpm-live-call-ringing[hidden]{display:none!important}
.bpm-live-call-ringing>span{color:#8fb7ff;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.bpm-live-call-ringing>strong{color:#fff;font-size:clamp(24px,5vw,40px);line-height:1.05}
.bpm-live-call-ringing>p{max-width:520px;margin:0;color:#9aa8bd;font-size:13px}
.bpm-live-call-avatar{width:96px;height:96px;margin-bottom:8px;display:grid;place-items:center;overflow:hidden;border-radius:50%;border:3px solid rgba(255,255,255,.18);background:#111c31;color:#fff;font-size:34px;box-shadow:0 20px 60px rgba(0,0,0,.35)}
.bpm-live-call-avatar img{width:100%;height:100%;object-fit:cover}
.bpm-live-call-ringing-actions{display:flex;align-items:center;justify-content:center;gap:28px;margin-top:18px}
.bpm-live-call-ringing-actions button,.bpm-live-call-controls button{border:0;color:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}
.bpm-live-call-ringing-actions button{width:78px;min-height:78px;display:grid;place-items:center;gap:4px;border-radius:50%}
.bpm-live-call-ringing-actions button i{font-size:26px}
.bpm-live-call-ringing-actions button span{font-size:11px}
.bpm-live-call-ringing-actions .decline{background:#dc2626}
.bpm-live-call-ringing-actions .accept{background:#16a34a}
.bpm-live-call-stage{position:relative;flex:1;min-height:0;overflow:hidden;background:#020617}
.bpm-live-call-stage[hidden]{display:none!important}
.bpm-live-call-remote{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:cover;background:#020617}
.bpm-live-call-waiting{position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:25px;text-align:center;background:radial-gradient(circle at center,rgba(42,127,255,.17),transparent 50%),#020617;color:#fff}
.bpm-live-call-waiting[hidden]{display:none!important}
.bpm-live-call-waiting i{font-size:45px;color:#8fb7ff}
.bpm-live-call-waiting strong{font-size:20px}
.bpm-live-call-waiting span{max-width:500px;color:#9aa8bd;font-size:13px}
.bpm-live-call-local-wrap{position:absolute;z-index:4;right:16px;top:16px;width:clamp(120px,21%,205px);aspect-ratio:3/4;overflow:hidden;border:2px solid rgba(255,255,255,.22);border-radius:16px;background:#111827;box-shadow:0 16px 45px rgba(0,0,0,.48)}
.bpm-live-call-local{width:100%;height:100%;display:block;object-fit:cover;transform:scaleX(-1)}
.bpm-live-call-local-wrap>span{position:absolute;left:7px;bottom:7px;padding:3px 7px;border-radius:999px;background:rgba(0,0,0,.68);color:#fff;font-size:10px}
.bpm-live-call-tap{position:absolute;z-index:6;left:50%;bottom:22px;transform:translateX(-50%);display:flex;align-items:center;gap:8px;max-width:calc(100% - 32px);padding:10px 13px;border:1px solid rgba(255,255,255,.16);border-radius:999px;background:rgba(2,6,23,.86);color:#fff;font-size:12px;cursor:pointer}
.bpm-live-call-tap[hidden]{display:none!important}
.bpm-live-call-controls{min-height:78px;display:flex;align-items:center;justify-content:center;gap:10px;padding:10px 14px calc(10px + env(safe-area-inset-bottom));background:#07101f;border-top:1px solid rgba(255,255,255,.1)}
.bpm-live-call-controls[hidden]{display:none!important}
.bpm-live-call-controls button{min-width:68px;min-height:56px;display:grid;place-items:center;gap:2px;padding:7px 10px;border:1px solid rgba(255,255,255,.13);border-radius:14px;background:#111c31}
.bpm-live-call-controls button i{font-size:20px}
.bpm-live-call-controls button span{font-size:10px}
.bpm-live-call-controls button.is-off{background:#7f1d1d}
.bpm-live-call-controls button.hangup{background:#dc2626;border-color:#dc2626}
.bpm-live-call-controls button:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:760px){
 .bpm-live-call-overlay{padding:0;place-items:stretch;background:#020617}
 .bpm-live-call-dialog{width:100%;height:100dvh;min-height:0;border:0;border-radius:0}
 .bpm-live-call-head{min-height:56px;padding:8px max(10px,env(safe-area-inset-right)) 8px max(10px,env(safe-area-inset-left))}
 .bpm-live-call-local-wrap{right:10px;top:10px;width:clamp(92px,28vw,138px);border-radius:13px}
 .bpm-live-call-controls{justify-content:flex-start;overflow-x:auto;scrollbar-width:none;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}
 .bpm-live-call-controls::-webkit-scrollbar{display:none}
 .bpm-live-call-controls button{flex:1 0 66px;min-width:66px}
 .bpm-live-call-ringing{padding:22px max(18px,env(safe-area-inset-right)) calc(22px + env(safe-area-inset-bottom)) max(18px,env(safe-area-inset-left))}
 .bpm-live-call-avatar{width:88px;height:88px}
}
@media(max-width:390px){.bpm-live-call-controls{gap:6px}.bpm-live-call-controls button{min-width:62px;padding-inline:6px}.bpm-live-call-ringing-actions{gap:22px}}
@media(max-height:540px) and (orientation:landscape){
 .bpm-live-call-head{min-height:46px;padding-block:4px}
 .bpm-live-call-controls{min-height:58px;padding-top:5px;padding-bottom:calc(5px + env(safe-area-inset-bottom))}
 .bpm-live-call-controls button{min-height:46px;grid-template-columns:auto auto;gap:5px}
 .bpm-live-call-local-wrap{width:130px;aspect-ratio:4/3}
}
.chat-action-call[data-bpm-live-call-trigger]{appearance:none;-webkit-appearance:none;font:inherit}

/* BPM 370 R28 — appel caméra directement dans la conversation */
.bpm-live-call-overlay.bpm-live-call-inline{
  position:relative;
  inset:auto;
  z-index:30;
  flex:1 1 auto;
  min-width:0;
  min-height:0;
  width:100%;
  height:auto;
  padding:0;
  place-items:stretch;
  background:#020617;
  backdrop-filter:none;
  overscroll-behavior:contain;
}
.bpm-live-call-overlay.bpm-live-call-inline:not([hidden]){display:flex}
.bpm-live-call-inline .bpm-live-call-dialog{
  width:100%;
  height:100%;
  min-height:0;
  max-height:none;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.bpm-live-call-inline .bpm-live-call-head{flex:0 0 auto}
.bpm-live-call-inline .bpm-live-call-stage{flex:1 1 auto;min-height:0}
.bpm-live-call-inline .bpm-live-call-controls{flex:0 0 auto}

.msg-main.bpm-inline-call-active>.msg-body,
.msg-main.bpm-inline-call-active>.typing-indicator,
.msg-main.bpm-inline-call-active>.msg-compose,
.msg-main.bpm-inline-call-active>.bpm260-message-search{display:none!important}
.msg-main.bpm-inline-call-active .chat-action-call,
.bpm-qm-chat-screen.bpm-inline-call-active .bpm-qm-video-call{
  background:#2a7fff!important;
  border-color:#65a4ff!important;
  color:#fff!important;
  box-shadow:0 0 0 3px rgba(42,127,255,.18)
}

.bpm-qm-chat-screen.bpm-inline-call-active{
  display:flex!important;
  flex-direction:column;
  min-height:0;
}
.bpm-qm-chat-screen.bpm-inline-call-active>.bpm-qm-messages,
.bpm-qm-chat-screen.bpm-inline-call-active>.bpm-qm-tools,
.bpm-qm-chat-screen.bpm-inline-call-active>.bpm-qm-emoji-picker,
.bpm-qm-chat-screen.bpm-inline-call-active>.bpm-qm-compose,
.bpm-qm-chat-screen.bpm-inline-call-active>.bpm-qm-note{display:none!important}
.bpm-live-call-inline-quick .bpm-live-call-head{min-height:50px;padding:7px 9px}
.bpm-live-call-inline-quick .bpm-live-call-head strong{font-size:13px}
.bpm-live-call-inline-quick .bpm-live-call-head small{font-size:10px}
.bpm-live-call-inline-quick .bpm-live-call-close{width:34px;height:34px;border-radius:10px}
.bpm-live-call-inline-quick .bpm-live-call-local-wrap{right:9px;top:9px;width:clamp(82px,28%,120px);border-radius:12px}
.bpm-live-call-inline-quick .bpm-live-call-controls{min-height:66px;gap:6px;padding:7px}
.bpm-live-call-inline-quick .bpm-live-call-controls button{min-width:54px;min-height:48px;padding:5px 7px;border-radius:12px}
.bpm-live-call-inline-quick .bpm-live-call-controls button i{font-size:18px}
.bpm-live-call-inline-quick .bpm-live-call-controls button span{font-size:9px}
.bpm-live-call-inline-quick .bpm-live-call-ringing{padding:18px 12px}
.bpm-live-call-inline-quick .bpm-live-call-avatar{width:72px;height:72px;font-size:28px}
.bpm-live-call-inline-quick .bpm-live-call-ringing>strong{font-size:24px}
.bpm-live-call-inline-quick .bpm-live-call-ringing-actions{gap:18px;margin-top:10px}
.bpm-live-call-inline-quick .bpm-live-call-ringing-actions button{width:66px;min-height:66px}

@media(max-width:760px){
  .bpm-live-call-overlay.bpm-live-call-inline{
    position:relative;
    inset:auto;
    width:100%;
    height:auto;
    min-height:0;
    padding:0;
    background:#020617;
  }
  .bpm-live-call-inline .bpm-live-call-dialog{
    width:100%;
    height:100%;
    min-height:0;
    border-radius:0;
  }
  .bpm-live-call-inline-full .bpm-live-call-head{min-height:52px}
  .bpm-live-call-inline-full .bpm-live-call-controls{justify-content:center;overflow-x:auto}
  .bpm-live-call-inline-full .bpm-live-call-controls button{flex:1 0 62px;max-width:92px}
}

@media(max-width:420px){
  .bpm-live-call-inline .bpm-live-call-head-copy{gap:7px}
  .bpm-live-call-inline .bpm-live-call-dot{width:8px;height:8px}
  .bpm-live-call-inline .bpm-live-call-controls{gap:5px;padding-left:6px;padding-right:6px}
  .bpm-live-call-inline .bpm-live-call-controls button{min-width:58px;padding-inline:5px}
}
button.bpm-qm-open-full.bpm-qm-video-call{
  appearance:none;
  -webkit-appearance:none;
  font:inherit;
  padding:0;
  cursor:pointer;
}

/* BPM 370 R30 — appels Messenger intégrés dans la conversation */
.chat-call-actions,
.bpm-qm-call-actions{
  display:inline-flex;
  align-items:center;
  gap:6px;
  flex:0 0 auto;
}
.chat-call-actions-left{order:-1}
.chat-call-actions-right{margin-left:auto;order:20}
.chat-call-actions .chat-action-call,
.bpm-qm-call-actions .bpm-qm-call-button{
  display:inline-grid;
  place-items:center;
  width:38px;
  min-width:38px;
  height:38px;
  padding:0;
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;
  background:rgba(255,255,255,.055);
  color:#dbeafe;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
  touch-action:manipulation;
}
.chat-call-actions .chat-action-call:hover,
.chat-call-actions .chat-action-call:focus-visible,
.bpm-qm-call-actions .bpm-qm-call-button:hover,
.bpm-qm-call-actions .bpm-qm-call-button:focus-visible{
  background:rgba(42,127,255,.2);
  border-color:rgba(96,165,250,.55);
  color:#fff;
  outline:none;
}
.chat-call-actions .chat-action-audio i,
.bpm-qm-call-actions [data-call-mode="audio"] i{color:#86efac}
.chat-call-actions .chat-action-video i,
.bpm-qm-call-actions [data-call-mode="video"] i{color:#93c5fd}
.bpm-qm-call-actions[hidden]{display:none!important}

.bpm-live-call-overlay.is-audio-call .bpm-live-call-stage{
  background:radial-gradient(circle at 50% 32%,rgba(42,127,255,.3),transparent 38%),#020617;
}
.bpm-live-call-overlay.is-audio-call .bpm-live-call-remote{opacity:0;pointer-events:none}
.bpm-live-call-overlay.is-audio-call .bpm-live-call-waiting{background:transparent}
.bpm-live-call-overlay.is-audio-call .bpm-live-call-waiting i::before{content:"\ebde"}

/* L'appel occupe exactement l'espace de la conversation, sans sortir de l'écran. */
.msg-main.bpm-inline-call-active{
  display:flex!important;
  flex-direction:column!important;
  min-width:0!important;
  min-height:0!important;
  overflow:hidden!important;
}
.msg-main.bpm-inline-call-active>.bpm-live-call-inline{
  flex:1 1 auto!important;
  min-height:0!important;
}
.bpm-qm-chat-screen.bpm-inline-call-active>.bpm-live-call-inline{
  flex:1 1 auto!important;
  min-height:0!important;
}

@media(max-width:760px){
  .chat-top{
    display:grid!important;
    grid-template-columns:auto minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:7px!important;
    padding-left:max(8px,env(safe-area-inset-left))!important;
    padding-right:max(8px,env(safe-area-inset-right))!important;
  }
  .chat-top>.back-btn{grid-column:1;grid-row:1}
  .chat-top>.chat-call-actions{grid-column:3;grid-row:1}
  .chat-top>.msg-avatar.small{display:none!important}
  .chat-top>.chat-meta{grid-column:2;grid-row:1;min-width:0}
  .chat-top>.msg-live-status{display:none!important}
  .chat-top>.bpm-r20-wizz-button,
  .chat-top>.bpm-message-sound-toggle,
  .chat-top>a.chat-action,
  .chat-top>button.chat-action:not(.chat-action-call){display:none!important}
  .chat-call-actions .chat-action-call{width:36px;min-width:36px;height:36px;border-radius:11px}
  .chat-call-actions{gap:4px}
  .chat-meta .chat-name,.chat-meta .chat-sub{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

  .bpm-qm-chat-head{
    display:grid!important;
    grid-template-columns:auto auto minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:6px!important;
  }
  .bpm-qm-chat-head>.bpm-qm-back{grid-column:1}
  .bpm-qm-chat-head>.bpm-qm-call-actions{grid-column:2}
  .bpm-qm-chat-head>.bpm-qm-chat-avatar{display:none!important}
  .bpm-qm-chat-head>.bpm-qm-chat-title{grid-column:3;min-width:0}
  .bpm-qm-chat-head>.bpm-qm-open-full:not(.bpm-qm-call-button){grid-column:4}
  .bpm-qm-call-actions{gap:4px}
  .bpm-qm-call-actions .bpm-qm-call-button{width:34px;min-width:34px;height:34px;border-radius:10px}

  .bpm-live-call-inline .bpm-live-call-dialog{height:100%!important;max-height:100%!important}
  .bpm-live-call-inline .bpm-live-call-stage{min-height:180px}
  .bpm-live-call-inline .bpm-live-call-controls{padding-bottom:max(8px,env(safe-area-inset-bottom))}
}

@media(max-width:390px){
  .chat-top{grid-template-columns:auto minmax(0,1fr) auto!important}
  .chat-top>.chat-call-actions{gap:3px}
  .chat-call-actions .chat-action-call{width:33px;min-width:33px;height:33px}
  .bpm-qm-chat-head{grid-template-columns:auto auto minmax(0,1fr)!important}
  .bpm-qm-chat-head>.bpm-qm-open-full:not(.bpm-qm-call-button){display:none!important}
}

/* BPM 370 R37 — apparence choisie : appels en haut à droite */
.chat-top>.chat-call-actions-right{margin-left:auto}
.chat-call-actions-right .chat-action-call{box-shadow:0 8px 24px rgba(0,0,0,.18)}
.chat-call-actions-right .chat-action-audio:hover{border-color:rgba(74,222,128,.65);background:rgba(34,197,94,.16)}
.chat-call-actions-right .chat-action-video:hover{border-color:rgba(96,165,250,.72);background:rgba(37,99,235,.18)}
@media(max-width:760px){
  .chat-top>.chat-call-actions-right{grid-column:3;justify-self:end;margin-left:0}
}
