/* =========================================================
   RABBIT PERFORMANCE CLEANUP V5
   Mobile chat/call responsive leggero.
   Niente MutationObserver, niente scansioni continue.
   ========================================================= */

:root{
  --rabbit-safe-top: env(safe-area-inset-top, 0px);
  --rabbit-safe-bottom: env(safe-area-inset-bottom, 0px);
  --rabbit-z-chat: 2147482000;
}

/* Elimina solo visivamente eventuali vecchi launcher noti */
#rmccButton,
.rmcc-button,
.rmcc-launcher,
#nexaChatButton,
.nexa-chat-button,
.old-chat-floating,
.legacy-chat-floating,
[data-legacy-chat="true"]{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

@media (max-width:768px){

  body.rc22-mobile-open,
  html.rc22-mobile-open,
  body.rc22-mobile-call-open,
  html.rc22-mobile-call-open{
    overflow:hidden !important;
    overscroll-behavior:none !important;
  }

  #rc22Button{
    position:fixed !important;
    right:16px !important;
    bottom:calc(16px + var(--rabbit-safe-bottom)) !important;
    width:62px !important;
    height:62px !important;
    min-width:62px !important;
    min-height:62px !important;
    border-radius:22px !important;
    z-index:var(--rabbit-z-chat) !important;
  }

  #rc22Panel.open{
    position:fixed !important;
    left:8px !important;
    right:8px !important;
    top:calc(8px + var(--rabbit-safe-top)) !important;
    bottom:calc(8px + var(--rabbit-safe-bottom)) !important;
    width:auto !important;
    height:auto !important;
    max-width:none !important;
    max-height:none !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:minmax(0, 1fr) !important;
    overflow:hidden !important;
    z-index:calc(var(--rabbit-z-chat) + 1) !important;
    border-radius:28px !important;
    background:#fff !important;
    border:1px solid #dbe5f2 !important;
    box-shadow:0 24px 70px rgba(15,23,42,.22) !important;
  }

  #rc22Panel.open .rc22-sidebar{
    display:none !important;
  }

  #rc22Panel.open .rc22-main{
    display:grid !important;
    grid-template-rows:auto minmax(0,1fr) auto !important;
    min-height:0 !important;
    height:100% !important;
    overflow:hidden !important;
    background:#f8fbff !important;
  }

  #rc22Panel.open .rc22-thread-head{
    min-height:128px !important;
    padding:16px !important;
    display:grid !important;
    grid-template-columns:72px minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    gap:10px 14px !important;
    align-items:center !important;
    border-bottom:1px solid #dbe5f2 !important;
    background:#fff !important;
  }

  #rc22Panel.open .rc22-peer{
    grid-column:1 / 3 !important;
    display:grid !important;
    grid-template-columns:72px minmax(0,1fr) !important;
    gap:14px !important;
    align-items:center !important;
  }

  #rc22Panel.open .rc22-peer .rc22-avatar{
    width:72px !important;
    height:72px !important;
    min-width:72px !important;
    border-radius:24px !important;
    font-size:24px !important;
  }

  #rc22Panel.open .rc22-peer-text{
    min-width:0 !important;
  }

  #rc22Panel.open .rc22-peer-text b{
    display:block !important;
    font-size:24px !important;
    line-height:1.05 !important;
    letter-spacing:-.04em !important;
    white-space:normal !important;
    overflow:visible !important;
    text-overflow:clip !important;
  }

  #rc22Panel.open .rc22-peer-text small{
    display:block !important;
    margin-top:4px !important;
    color:#64748b !important;
    font-size:16px !important;
    line-height:1.2 !important;
    font-weight:800 !important;
    white-space:normal !important;
    word-break:break-word !important;
  }

  #rc22Panel.open .rc22-tools{
    grid-column:1 / 3 !important;
    display:flex !important;
    gap:10px !important;
    overflow-x:auto !important;
    padding:0 !important;
  }

  #rc22Panel.open .rc22-tool{
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    border-radius:18px !important;
    font-size:24px !important;
    display:grid !important;
    place-items:center !important;
    padding:0 !important;
  }

  #rc22Panel.open #rc22Messages,
  #rc22Panel.open .rc22-messages{
    min-height:0 !important;
    height:100% !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    padding:18px 14px 22px !important;
    background:linear-gradient(180deg,#eef6ff 0%,#f8fbff 100%) !important;
    -webkit-overflow-scrolling:touch !important;
  }

  #rc22Panel.open .rc22-bubble{
    max-width:86% !important;
    width:max-content !important;
    padding:13px 15px !important;
    border-radius:20px !important;
    font-size:16px !important;
    line-height:1.36 !important;
    word-break:break-word !important;
    overflow-wrap:anywhere !important;
  }

  #rc22Panel.open .rc22-bubble.me{
    align-self:flex-end !important;
  }

  #rc22Panel.open #rc22Compose,
  #rc22Panel.open .rc22-compose{
    min-height:86px !important;
    padding:12px 12px calc(12px + var(--rabbit-safe-bottom)) !important;
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:10px !important;
    align-items:center !important;
    border-top:1px solid #dbe5f2 !important;
    background:#fff !important;
  }

  #rc22Panel.open #rc22Input{
    height:58px !important;
    min-width:0 !important;
    border-radius:20px !important;
    padding:0 16px !important;
    font-size:16px !important;
  }

  #rc22Panel.open #rc22Compose button{
    width:72px !important;
    height:58px !important;
    border-radius:20px !important;
    font-size:16px !important;
    font-weight:950 !important;
  }

  /* Call mobile: chat live sotto il video */
  #rc22Call.show{
    position:fixed !important;
    inset:0 !important;
    width:100vw !important;
    height:100dvh !important;
    display:grid !important;
    grid-template-rows:auto minmax(0,1fr) auto !important;
    overflow:hidden !important;
    z-index:calc(var(--rabbit-z-chat) + 10) !important;
    background:#020617 !important;
  }

  #rc22Call.show .rc22-call-head{
    min-height:calc(92px + var(--rabbit-safe-top)) !important;
    padding:calc(14px + var(--rabbit-safe-top)) 14px 14px !important;
    background:#0b1224 !important;
    color:#fff !important;
  }

  #rc22Call.show .rc22-call-body{
    min-height:0 !important;
    height:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-rows:minmax(0,1fr) minmax(170px,30dvh) !important;
    gap:10px !important;
    padding:10px !important;
    overflow:hidden !important;
    background:#020617 !important;
  }

  #rc22Call.show .rc22-stage{
    position:relative !important;
    min-height:0 !important;
    height:100% !important;
    border-radius:24px !important;
    overflow:hidden !important;
    background:#020617 !important;
  }

  #rc22Call.show #rc22Remote,
  #rc22Call.show .rc22-stage > video{
    width:100% !important;
    height:100% !important;
    object-fit:cover !important;
  }

  #rc22Call.show .rc22-local{
    position:absolute !important;
    right:14px !important;
    bottom:14px !important;
    width:108px !important;
    height:144px !important;
    border-radius:22px !important;
    overflow:hidden !important;
    z-index:5 !important;
  }

  #rc22Call.show .rc22-live{
    display:grid !important;
    grid-template-rows:auto minmax(0,1fr) auto !important;
    min-height:0 !important;
    height:100% !important;
    border-radius:24px !important;
    overflow:hidden !important;
    background:#fff !important;
    color:#0f172a !important;
  }

  #rc22Call.show .rc22-live-head{
    min-height:42px !important;
    padding:9px 12px !important;
    border-bottom:1px solid #e2e8f0 !important;
    font-weight:950 !important;
  }

  #rc22Call.show #rc22LiveList{
    min-height:0 !important;
    overflow:auto !important;
    padding:10px 12px !important;
    background:#f8fbff !important;
  }

  #rc22Call.show #rc22LiveForm{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    gap:8px !important;
    padding:8px 10px !important;
    border-top:1px solid #e2e8f0 !important;
    background:#fff !important;
  }

  #rc22Call.show #rc22LiveInput{
    height:44px !important;
    min-width:0 !important;
    border-radius:15px !important;
    font-size:16px !important;
  }

  #rc22Call.show #rc22LiveForm button{
    width:56px !important;
    height:44px !important;
    border-radius:15px !important;
    font-size:14px !important;
    font-weight:950 !important;
  }

  #rc22Call.show .rc22-call-controls{
    min-height:calc(84px + var(--rabbit-safe-bottom)) !important;
    padding:12px 12px calc(12px + var(--rabbit-safe-bottom)) !important;
    display:grid !important;
    grid-template-columns:1fr 1fr 1fr !important;
    gap:10px !important;
    background:#0b1224 !important;
  }

  #rc22Call.show .rc22-call-controls button{
    height:56px !important;
    border-radius:19px !important;
    font-size:16px !important;
    font-weight:950 !important;
  }
}
