/* V35.17 — MOBILE COMPOSER / EMOJI VIEWPORT TARGETED ONLY
 * Fixes only the mobile composer + emoji surface relationship.
 * Menu, message rendering, PC/tablet and data logic are untouched.
 */
@media (max-width:767px){
  /* The active composer owns the bottom of the mobile viewport.
     The conversation gets only an inset, not a message-layout change. */
  .chat-main.mobile-active .chat-input-zone.v3517-emoji-layout,
  #chatMainContainer.mobile-active .chat-input-zone.v3517-emoji-layout,
  body.mobile-chat-focus .chat-input-zone.v3517-emoji-layout{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:0 !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:flex-end !important;
    align-items:stretch !important;
    overflow:visible !important;
    z-index:2146 !important;
    box-sizing:border-box !important;
    background:var(--bg-main,#111b21) !important;
  }

  .chat-input-zone.v3517-emoji-layout > .zalo-input-area{
    order:1 !important;
    flex:0 0 auto !important;
    width:100% !important;
    min-height:54px !important;
    visibility:visible !important;
    opacity:1 !important;
    position:relative !important;
    z-index:2150 !important;
    box-sizing:border-box !important;
  }

  /* Picker is a CHILD of the composer. This is the key fix: it can no longer
     float over/behind the input row or cover the last message unpredictably. */
  .chat-input-zone.v3517-emoji-layout > #emojiPanel.v3517-emoji-open{
    order:2 !important;
    position:relative !important;
    inset:auto !important;
    width:100% !important;
    max-width:100% !important;
    height:min(40dvh,300px) !important;
    max-height:min(40dvh,300px) !important;
    min-height:0 !important;
    margin:0 !important;
    padding:0 !important;
    display:flex !important;
    flex-direction:column !important;
    overflow:hidden !important;
    visibility:visible !important;
    opacity:1 !important;
    transform:none !important;
    z-index:2147 !important;
    box-sizing:border-box !important;
    border-radius:18px 18px 0 0 !important;
    background:#111b21 !important;
    box-shadow:0 -8px 28px rgba(0,0,0,.25) !important;
  }

  .chat-input-zone.v3517-emoji-layout > #emojiPanel.v3517-emoji-open .zalo-popup-tabs{
    order:1 !important;
    flex:0 0 42px !important;
    height:42px !important;
    min-height:42px !important;
    padding:3px 10px !important;
    box-sizing:border-box !important;
  }

  .chat-input-zone.v3517-emoji-layout > #emojiPanel.v3517-emoji-open .emoji-content-tab{
    order:2 !important;
    flex:1 1 auto !important;
    min-height:0 !important;
    overflow:auto !important;
    -webkit-overflow-scrolling:touch !important;
    scrollbar-width:none !important;
  }
  .chat-input-zone.v3517-emoji-layout > #emojiPanel.v3517-emoji-open .emoji-content-tab::-webkit-scrollbar{display:none !important;}

  .chat-input-zone.v3517-emoji-layout > #emojiPanel.v3517-emoji-open .emoji-grid{
    grid-template-columns:repeat(8,minmax(0,1fr)) !important;
    gap:0 !important;
    padding:5px 7px 8px !important;
    max-height:none !important;
    overflow:visible !important;
  }
  .chat-input-zone.v3517-emoji-layout > #emojiPanel.v3517-emoji-open .emoji-cell{
    height:38px !important;
    min-height:38px !important;
    font-size:25px !important;
    line-height:38px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:9px !important;
  }

  /* The old category/footer strip is the unused area seen in the screenshot.
     Removing it gives the emoji grid the space instead. */
  .chat-input-zone.v3517-emoji-layout > #emojiPanel.v3517-emoji-open .zalo-popup-footer{
    display:none !important;
  }

  :root[data-theme="light"] .chat-input-zone.v3517-emoji-layout > #emojiPanel.v3517-emoji-open,
  body[data-theme="light"] .chat-input-zone.v3517-emoji-layout > #emojiPanel.v3517-emoji-open{
    background:#f0f2f5 !important;
  }

  /* Keep the latest message visually above the entire composer surface.
     JS supplies the exact current composer height; no message markup is changed. */
  #chatMainContainer.mobile-active .chat-window.v3517-composer-inset,
  body.mobile-chat-focus .chat-window.v3517-composer-inset{
    padding-bottom:var(--v3517-composer-height,0px) !important;
    scroll-behavior:auto !important;
    box-sizing:border-box !important;
  }

  /* Keyboard state: the normal composer stays visible above the native keyboard. */
  .chat-main.mobile-active .chat-input-zone.v3517-keyboard-layout,
  #chatMainContainer.mobile-active .chat-input-zone.v3517-keyboard-layout,
  body.mobile-chat-focus .chat-input-zone.v3517-keyboard-layout{
    position:fixed !important;
    left:0 !important;
    right:0 !important;
    bottom:var(--v3517-keyboard-offset,0px) !important;
    width:100% !important;
    height:auto !important;
    margin:0 !important;
    padding:0 !important;
    z-index:2146 !important;
    box-sizing:border-box !important;
  }
}
