/* ========================================================================
   STREXO — MESSAGERIE MOBILE IMMERSIVE
   Téléphone uniquement. Le desktop reste entièrement géré par les CSS
   existants. Le fichier est chargé en dernier pour prendre la priorité.
   ======================================================================== */

@media (max-width: 860px) {
  html.strexo-conversation-open,
  html.strexo-conversation-open body {
    width: 100%;
    height: 100%;
    margin: 0;
    overflow: hidden !important;
  }

  body.strexo-conversation-open {
    background: #fff !important;
    overscroll-behavior: none;
  }

  body.strexo-conversation-open #app {
    position: fixed !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    padding: 0 !important;
    margin: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
  }

  body.strexo-conversation-open #app-header,
  body.strexo-conversation-open #block-banner-slot,
  body.strexo-conversation-open #main-nav,
  body.strexo-conversation-open #admin-tabs-slot {
    display: none !important;
  }

  body.strexo-conversation-open .content,
  body.strexo-conversation-open #content-shell {
    position: fixed !important;
    inset: 0 !important;
    z-index: 1000 !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
    animation: none !important;
  }

  body.strexo-conversation-open #content {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  body.strexo-conversation-open .conversation-page {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1001 !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border: 0 !important;
    border-radius: 0 !important;
    background:
      radial-gradient(700px 360px at 50% -12%, rgba(79,150,247,.075), transparent 70%),
      linear-gradient(180deg, #ffffff 0%, #fbfcfe 55%, #f7f9fc 100%) !important;
    box-shadow: none !important;
    transform: translate3d(0, 0, 0);
    will-change: transform, opacity;
    animation: strexo-msg-page-in .34s cubic-bezier(.22,1,.36,1) both;
  }

  body.strexo-conversation-closing .conversation-page {
    animation: strexo-msg-page-out .28s cubic-bezier(.55,0,.82,.24) both !important;
    pointer-events: none !important;
  }

  body.strexo-conversation-open .conversation-toolbar {
    position: relative !important;
    z-index: 5 !important;
    flex: 0 0 auto !important;
    display: grid !important;
    grid-template-columns: 44px minmax(0,1fr) 44px !important;
    align-items: center !important;
    width: 100% !important;
    min-height: calc(62px + env(safe-area-inset-top, 0px)) !important;
    margin: 0 !important;
    padding: env(safe-area-inset-top, 0px) 10px 8px !important;
    gap: 8px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(24,63,128,.07) !important;
    border-radius: 0 !important;
    background: rgba(255,255,255,.90) !important;
    box-shadow: 0 5px 20px rgba(24,63,128,.045) !important;
    backdrop-filter: blur(22px) saturate(140%);
    -webkit-backdrop-filter: blur(22px) saturate(140%);
  }

  body.strexo-conversation-open .conversation-back-btn {
    appearance: none !important;
    -webkit-appearance: none !important;
    display: grid !important;
    place-items: center !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: #172236 !important;
    box-shadow: none !important;
    font-size: 0 !important;
    line-height: 1 !important;
    cursor: pointer;
  }

  body.strexo-conversation-open .conversation-back-btn span:first-child {
    display: block !important;
    font-family: Arial, sans-serif !important;
    font-size: 28px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    transform: translateX(-1px) translateY(-1px) !important;
  }

  body.strexo-conversation-open .conversation-back-btn span:last-child {
    display: none !important;
  }

  body.strexo-conversation-open .conversation-back-btn:active {
    transform: scale(.91) !important;
    background: rgba(24,63,128,.055) !important;
  }

  body.strexo-conversation-open .conversation-head {
    min-width: 0 !important;
    width: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 9px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  body.strexo-conversation-open .conversation-avatar {
    flex: 0 0 40px !important;
    width: 40px !important;
    height: 40px !important;
    margin: 0 !important;
    border-radius: 50% !important;
  }

  body.strexo-conversation-open .conversation-head-copy {
    min-width: 0 !important;
    max-width: calc(100vw - 150px) !important;
  }

  body.strexo-conversation-open .conversation-name {
    overflow: hidden !important;
    color: #172236 !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    line-height: 1.15 !important;
    text-align: left !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  body.strexo-conversation-open .conversation-id {
    display: none !important;
  }

  body.strexo-conversation-open .conversation-more {
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.strexo-conversation-open .conversation-banner {
    position: relative !important;
    z-index: 4 !important;
    flex: 0 0 auto !important;
    margin: 10px 10px 0 !important;
    padding: 11px 13px !important;
    border-radius: 14px !important;
    box-shadow: 0 4px 14px rgba(24,63,128,.06) !important;
  }

  body.strexo-conversation-open .msg-thread {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    width: 100% !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 14px 12px 12px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    overscroll-behavior: contain !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: none !important;
  }

  body.strexo-conversation-open .msg-thread::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }

  body.strexo-conversation-open .msg-row {
    width: 100% !important;
    margin-top: 2px !important;
    margin-bottom: 4px !important;
  }

  body.strexo-conversation-open .msg-bubble {
    max-width: min(82vw, 520px) !important;
    padding: 9px 13px !important;
    border-radius: 18px !important;
    box-shadow: 0 5px 15px rgba(24,63,128,.065) !important;
  }

  body.strexo-conversation-open .msg-row.is-other .msg-bubble {
    background: #eef2f6 !important;
    color: #202b3d !important;
    border-color: transparent !important;
    border-bottom-left-radius: 7px !important;
  }

  body.strexo-conversation-open .msg-row.is-me .msg-bubble {
    background: linear-gradient(145deg, #5d97ff 0%, #347cff 100%) !important;
    color: #fff !important;
    border-color: transparent !important;
    border-bottom-right-radius: 7px !important;
    box-shadow: 0 7px 17px rgba(52,124,255,.17) !important;
  }

  body.strexo-conversation-open .msg-text {
    font-size: 14px !important;
    line-height: 1.43 !important;
  }

  body.strexo-conversation-open .msg-meta {
    margin-top: 3px !important;
    font-size: 9px !important;
  }

  body.strexo-conversation-open .chat-avatar,
  body.strexo-conversation-open .msg-avatar-spacer {
    flex-shrink: 0 !important;
  }

  body.strexo-conversation-open .modern-msg-form {
    position: relative !important;
    z-index: 5 !important;
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: flex-end !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 8px 10px max(10px, env(safe-area-inset-bottom, 0px)) !important;
    gap: 8px !important;
    border: 0 !important;
    border-top: 1px solid rgba(24,63,128,.07) !important;
    border-radius: 0 !important;
    background: rgba(255,255,255,.92) !important;
    box-shadow: 0 -7px 20px rgba(24,63,128,.045) !important;
    backdrop-filter: blur(22px) saturate(140%);
    -webkit-backdrop-filter: blur(22px) saturate(140%);
  }

  body.strexo-conversation-open .msg-input-shell {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    min-height: 44px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 23px !important;
    background: #f0f3f7 !important;
    box-shadow: inset 0 1px 2px rgba(23,34,54,.025) !important;
  }

  body.strexo-conversation-open .msg-input-shell textarea {
    display: block !important;
    width: 100% !important;
    min-height: 44px !important;
    max-height: 126px !important;
    margin: 0 !important;
    padding: 11px 14px !important;
    border: 0 !important;
    border-radius: 23px !important;
    outline: 0 !important;
    resize: none !important;
    background: transparent !important;
    color: #172236 !important;
    font-size: 14px !important;
    line-height: 1.45 !important;
    box-shadow: none !important;
  }

  body.strexo-conversation-open .msg-input-shell textarea::placeholder {
    color: #8793a5 !important;
    opacity: 1 !important;
  }

  body.strexo-conversation-open .msg-input-shell textarea:focus {
    border: 0 !important;
    box-shadow: none !important;
  }

  body.strexo-conversation-open .msg-send-btn {
    flex: 0 0 44px !important;
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 50% !important;
    box-shadow: 0 8px 18px rgba(52,124,255,.20) !important;
  }

  body.strexo-conversation-open .msg-send-btn:active {
    transform: scale(.92) !important;
  }

  body.strexo-conversation-open .msg-thread.is-loading {
    align-items: stretch !important;
    justify-content: flex-end !important;
  }

  body.strexo-conversation-open .message-loading {
    width: 100% !important;
    padding-bottom: 8px !important;
  }
}

@keyframes strexo-msg-page-in {
  from {
    transform: translate3d(100%, 0, 0);
    opacity: .98;
  }
  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes strexo-msg-page-out {
  from {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
  to {
    transform: translate3d(100%, 0, 0);
    opacity: .98;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.strexo-conversation-open .conversation-page,
  body.strexo-conversation-closing .conversation-page {
    animation: none !important;
  }
}
