/* ==========================================================
   99-no-horizontal-scroll.css
   Patch conservador: só bloqueia arrasto lateral e estabiliza
   chat/grupo no celular. Não altera tamanho, centralização,
   hero do perfil, feed/index nem organização visual.
   ========================================================== */

html {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
  overscroll-behavior-x: none;
  scrollbar-gutter: auto !important;
}

body {
  width: 100%;
  max-width: 100%;
  overflow-x: hidden !important;
  overscroll-behavior-x: none;
  position: relative;
}

/* Evita que mídias isoladas criem largura extra, sem mexer nos containers */
img,
video,
iframe,
canvas,
svg {
  max-width: 100%;
}

/* Textos muito longos só nos lugares onde realmente podem estourar a tela */
.post-text,
.comment,
.comment-body,
.profile-bio,
.message,
.msg,
.msg-text,
.chat-message,
.chat-bubble,
.wz-msg,
.g-msg {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* ==========================================================
   CHAT / GRUPO no celular
   Mantém a tela fixa; apenas a lista de mensagens rola.
   ========================================================== */
@media (max-width: 899px) {
  body.chat-body,
  body.group-chat-body {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100vh !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
    touch-action: pan-y !important;
  }

  body.chat-body .chat-desktop-shell,
  body.group-chat-body .chat-desktop-shell,
  body.chat-body .chat-page,
  body.group-chat-body .chat-page,
  body.group-chat-body .group-chat {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    overflow: hidden !important;
    overscroll-behavior: none !important;
  }

  body.chat-body .chat-desktop-shell,
  body.group-chat-body .chat-desktop-shell {
    position: fixed !important;
    inset: 0 !important;
    display: flex !important;
  }

  body.chat-body .chat-page,
  body.group-chat-body .chat-page,
  body.group-chat-body .group-chat {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    isolation: isolate;
  }

  /* Fundos/temas animados não podem criar área arrastável */
  body.chat-body .chat-page[data-chat-theme],
  body.group-chat-body .chat-page[data-chat-theme] {
    overflow: hidden !important;
  }

  body.chat-body .chat-page[data-chat-theme]::before,
  body.group-chat-body .chat-page[data-chat-theme]::before {
    inset: -16px !important;
    pointer-events: none !important;
  }

  body.chat-body .chat-header,
  body.group-chat-body .grp-topbar,
  body.chat-body .chat-input-bar,
  body.group-chat-body .grp-composer,
  body.group-chat-body .group-composer,
  body.group-chat-body .chat-input-bar {
    flex: 0 0 auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  body.chat-body .chat-header-user,
  body.group-chat-body .grp-topbar-main,
  body.group-chat-body .grp-topbar-text,
  body.chat-body .chat-header-name,
  body.group-chat-body .grp-topbar-name,
  body.group-chat-body .grp-topbar-status {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  body.chat-body .chat-messages,
  body.group-chat-body .chat-messages,
  body.group-chat-body .grp-messages,
  body.group-chat-body .group-messages {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y !important;
  }

  body.chat-body .chat-messages > *,
  body.group-chat-body .chat-messages > *,
  body.group-chat-body .grp-messages > *,
  body.group-chat-body .group-messages > *,
  body.chat-body .chat-bubble,
  body.group-chat-body .chat-bubble,
  body.group-chat-body .g-msg,
  body.chat-body .wz-msg {
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-wrap: anywhere;
    word-break: break-word;
  }
}
