/* IMAGI777_AI_ASSISTANT_UI_V1 */

#imagiAssistantRoot{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:9999;
  font-family:inherit;
}

#imagiAssistantBubble{
  width:auto;
  min-width:58px;
  height:58px;
  padding:0 18px;
  border:0;
  border-radius:999px;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  background:#111;
  color:#fff;
  box-shadow:0 10px 30px rgba(0,0,0,.28);
  white-space:nowrap;
}

.imagi-assistant-bubble-icon{
  font-size:23px;
  line-height:1;
}

.imagi-assistant-bubble-label{
  font-size:14px;
  font-weight:700;
  line-height:1;
}

#imagiAssistantBubble:hover{
  transform:translateY(-1px);
}

#imagiAssistantPanel{
  position:absolute;
  right:0;
  bottom:72px;
  width:min(390px,calc(100vw - 28px));
  height:min(610px,calc(100vh - 120px));
  background:#fff;
  color:#151515;
  border:1px solid rgba(0,0,0,.10);
  border-radius:20px;
  box-shadow:0 18px 55px rgba(0,0,0,.25);
  overflow:hidden;
  display:none;
  flex-direction:column;
}

#imagiAssistantPanel.open{
  display:flex;
}

.imagi-assistant-header{
  display:flex;
  align-items:center;
  gap:11px;
  padding:15px 16px;
  background:#111;
  color:#fff;
}

.imagi-assistant-avatar{
  width:36px;
  height:36px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
  color:#111;
  font-size:18px;
  flex:0 0 auto;
}

.imagi-assistant-heading{
  min-width:0;
  flex:1;
}

.imagi-assistant-title{
  font-size:14px;
  line-height:1.2;
  font-weight:800;
}

.imagi-assistant-status{
  margin-top:3px;
  font-size:11px;
  opacity:.72;
}

#imagiAssistantClose{
  border:0;
  background:transparent;
  color:#fff;
  font-size:24px;
  line-height:1;
  cursor:pointer;
  padding:3px;
}

#imagiAssistantMessages{
  flex:1;
  overflow-y:auto;
  padding:16px;
  background:#f7f7f7;
}

.imagi-assistant-message{
  max-width:86%;
  margin:0 0 11px;
  padding:10px 12px;
  border-radius:14px;
  font-size:13px;
  line-height:1.45;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}

.imagi-assistant-message.assistant{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-bottom-left-radius:5px;
}

.imagi-assistant-message.user{
  margin-left:auto;
  background:#111;
  color:#fff;
  border-bottom-right-radius:5px;
}

.imagi-assistant-message.typing{
  opacity:.55;
}

#imagiAssistantStarters{
  padding:0 16px 10px;
  display:flex;
  gap:7px;
  flex-wrap:wrap;
  background:#f7f7f7;
}

.imagi-assistant-starter{
  border:1px solid rgba(0,0,0,.13);
  background:#fff;
  border-radius:999px;
  padding:7px 10px;
  font-size:11px;
  cursor:pointer;
  color:#222;
}

.imagi-assistant-starter:hover{
  background:#f0f0f0;
}

.imagi-assistant-form{
  display:flex;
  gap:8px;
  padding:12px;
  border-top:1px solid rgba(0,0,0,.08);
  background:#fff;
}

#imagiAssistantInput{
  flex:1;
  min-width:0;
  resize:none;
  height:42px;
  max-height:110px;
  border:1px solid rgba(0,0,0,.15);
  border-radius:12px;
  padding:10px 11px;
  font:inherit;
  font-size:13px;
  outline:none;
}

#imagiAssistantInput:focus{
  border-color:#111;
}

#imagiAssistantSend{
  width:42px;
  height:42px;
  flex:0 0 42px;
  border:0;
  border-radius:12px;
  background:#111;
  color:#fff;
  cursor:pointer;
  font-size:18px;
}

#imagiAssistantSend:disabled{
  opacity:.4;
  cursor:default;
}

@media(max-width:600px){
  #imagiAssistantRoot{
    right:14px;
    bottom:14px;
  }

  #imagiAssistantPanel{
    right:0;
    bottom:68px;
    width:calc(100vw - 28px);
    height:min(590px,calc(100vh - 100px));
  }
}

/* IMAGI777_AI_ASSISTANT_PERSISTENT_CHAT_V5 */

.imagi-assistant-clear{
  border:0;
  background:transparent;
  color:#fff;
  font-size:18px;
  line-height:1;
  cursor:pointer;
  padding:5px;
  opacity:.72;
}

.imagi-assistant-clear:hover{
  opacity:1;
}

/* IMAGI777_AI_ASSISTANT_SUPPORT_ESCALATION_V6 */

.imagi-assistant-support-row{
  padding:0 16px 10px;
  background:#f7f7f7;
}

.imagi-assistant-support{
  width:100%;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  color:#222;
  border-radius:11px;
  padding:9px 12px;
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}

.imagi-assistant-support:hover{
  background:#f0f0f0;
}

/* IMAGI777_AI_ASSISTANT_SMART_ESCALATION_V7 */

.imagi-assistant-support-row.recommended{
  padding-top:8px;
}

.imagi-assistant-support.recommended{
  border:2px solid rgba(120,80,255,.72);
  background:rgba(120,80,255,.09);
  color:#5d3bc4;
  font-weight:800;
  box-shadow:0 3px 12px rgba(80,50,180,.10);
}

.imagi-assistant-support.recommended:hover{
  background:rgba(120,80,255,.15);
}

/* IMAGI777_AI_ASSISTANT_FEEDBACK_V9 */

.imagi-assistant-feedback{
  display:flex;
  align-items:center;
  gap:4px;
  margin:-5px 14px 8px 14px;
}

.imagi-assistant-feedback-btn{
  border:0;
  background:transparent;
  padding:3px 5px;
  font-size:14px;
  line-height:1;
  opacity:.48;
  cursor:pointer;
  border-radius:6px;
}

.imagi-assistant-feedback-btn:hover{
  opacity:.9;
  background:rgba(0,0,0,.05);
}

.imagi-assistant-feedback-btn.selected{
  opacity:1;
  background:rgba(0,0,0,.07);
}

.imagi-assistant-feedback-btn:disabled{
  cursor:default;
}

.imagi-assistant-feedback-thanks{
  margin-left:4px;
  font-size:10px;
  opacity:.55;
}


/* IMAGI777_ASK_IMAGI_LAUNCHER_V16 */
@media (max-width:600px){
  #imagiAssistantBubble{
    width:58px;
    min-width:58px;
    padding:0;
    border-radius:50%;
  }

  .imagi-assistant-bubble-label{
    display:none;
  }
}


/* IMAGI777_ASSISTANT_MOBILE_FRIENDLY_V19 */
@media (max-width:600px){

  #imagiAssistantRoot{
    right:max(10px,env(safe-area-inset-right));
    bottom:max(10px,env(safe-area-inset-bottom));
  }

  #imagiAssistantPanel{
    right:0;
    bottom:68px;

    width:min(
      390px,
      calc(
        100vw
        - 20px
        - env(safe-area-inset-left)
        - env(safe-area-inset-right)
      )
    );

    max-width:calc(
      100vw
      - 20px
      - env(safe-area-inset-left)
      - env(safe-area-inset-right)
    );

    height:min(
      590px,
      calc(
        100dvh
        - 96px
        - env(safe-area-inset-top)
        - env(safe-area-inset-bottom)
      )
    );

    max-height:calc(
      100dvh
      - 96px
      - env(safe-area-inset-top)
      - env(safe-area-inset-bottom)
    );

    border-radius:16px;
  }

  .imagi-assistant-header{
    gap:8px;
    padding:12px;
  }

  .imagi-assistant-avatar{
    width:32px;
    height:32px;
    flex:0 0 32px;
    font-size:16px;
  }

  .imagi-assistant-heading{
    min-width:0;
    overflow:hidden;
  }

  .imagi-assistant-title,
  .imagi-assistant-status{
    max-width:100%;
    white-space:normal;
    overflow-wrap:anywhere;
    word-break:normal;
  }

  .imagi-assistant-title{
    font-size:13px;
    line-height:1.25;
  }

  .imagi-assistant-status{
    font-size:10px;
    line-height:1.3;
  }

  #imagiAssistantClose,
  .imagi-assistant-clear{
    flex:0 0 auto;
  }

  #imagiAssistantMessages{
    min-height:0;
    padding:12px;
  }

  .imagi-assistant-message{
    max-width:92%;
    box-sizing:border-box;
    font-size:12px;
    line-height:1.45;
    overflow-wrap:anywhere;
    word-break:normal;
  }

  #imagiAssistantStarters{
    padding:0 12px 8px;
    gap:6px;
  }

  .imagi-assistant-starter{
    max-width:100%;
    box-sizing:border-box;
    white-space:normal;
    overflow-wrap:anywhere;
    text-align:left;
    line-height:1.3;
    padding:7px 9px;
  }

  .imagi-assistant-support-row{
    padding-left:12px;
    padding-right:12px;
  }

  .imagi-assistant-support{
    box-sizing:border-box;
    white-space:normal;
    overflow-wrap:anywhere;
    line-height:1.3;
  }

  .imagi-assistant-form{
    gap:7px;
    padding:
      10px
      10px
      max(10px,env(safe-area-inset-bottom));
  }

  #imagiAssistantInput{
    width:100%;
    min-width:0;
    box-sizing:border-box;
    font-size:16px;
  }

  #imagiAssistantSend{
    flex:0 0 42px;
  }

  .imagi-assistant-feedback{
    flex-wrap:wrap;
    max-width:calc(100% - 24px);
  }
}


/* IMAGI777_ASSISTANT_MOBILE_SCROLL_V20 */
@media (max-width:600px){

  #imagiAssistantPanel{
    display:none;
    flex-direction:column;
    overflow:hidden;
    min-height:0;
  }

  #imagiAssistantPanel.open{
    display:flex;
  }

  .imagi-assistant-header{
    flex:0 0 auto;
  }

  #imagiAssistantMessages{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overflow-x:hidden;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior:contain;
    touch-action:pan-y;
  }

  #imagiAssistantStarters,
  .imagi-assistant-support-row,
  .imagi-assistant-form{
    flex:0 0 auto;
  }

  .imagi-assistant-message{
    height:auto;
    min-height:0;
  }
}

/* IMAGI777_ASSISTANT_MOBILE_SEND_BUTTON_V22 */
@media (max-width:600px){

  .imagi-assistant-form{
    width:100%;
    box-sizing:border-box;
    display:flex;
    align-items:flex-end;
  }

  #imagiAssistantInput{
    width:auto;
    flex:1 1 0;
    min-width:0;
  }

  #imagiAssistantSend{
    display:flex;
    align-items:center;
    justify-content:center;
    width:42px;
    min-width:42px;
    height:42px;
    flex:0 0 42px;
  }
}

/* IMAGI777_ASSISTANT_MOBILE_SHEET_V23 */
@media (max-width:600px){

  #imagiAssistantPanel{
    position:fixed;

    top:max(10px,env(safe-area-inset-top));
    left:max(10px,env(safe-area-inset-left));
    right:max(10px,env(safe-area-inset-right));

    bottom:calc(
      76px
      + env(safe-area-inset-bottom)
    );

    width:auto;
    height:auto;
    max-width:none;
    max-height:none;

    min-height:0;

    display:none;
    flex-direction:column;

    overflow:hidden;

    border-radius:16px;

    box-sizing:border-box;
  }

  #imagiAssistantPanel.open{
    display:flex;
  }

  .imagi-assistant-header{
    flex:0 0 auto;
  }

  #imagiAssistantMessages{
    position:relative;

    flex:1 1 0;
    min-height:120px;
    max-height:none;

    overflow-y:scroll !important;
    overflow-x:hidden;

    -webkit-overflow-scrolling:touch;

    touch-action:auto;

    box-sizing:border-box;
  }

  #imagiAssistantStarters{
    flex:0 0 auto;
    max-height:110px;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }

  .imagi-assistant-support-row{
    flex:0 0 auto;
  }

  .imagi-assistant-form{
    flex:0 0 auto;
    width:100%;
    box-sizing:border-box;
  }

  #imagiAssistantInput{
    flex:1 1 0;
    width:auto;
    min-width:0;
  }

  #imagiAssistantSend{
    flex:0 0 42px;
  }
}


/* IMAGI777_ASSISTANT_MOBILE_SCROLL_LOCK_V26 */
@media (max-width:600px){

  html.imagi-assistant-mobile-open,
  body.imagi-assistant-mobile-open{
    overflow:hidden !important;
    overscroll-behavior:none !important;
    touch-action:none;
  }

  #imagiAssistantPanel.open{
    overflow:hidden !important;
    overscroll-behavior:contain;
    touch-action:none;
  }

  #imagiAssistantMessages{
    flex:1 1 0 !important;
    min-height:0 !important;

    overflow-y:auto !important;
    overflow-x:hidden !important;

    -webkit-overflow-scrolling:touch;

    overscroll-behavior-y:contain !important;
    touch-action:pan-y !important;

    pointer-events:auto;
  }

  #imagiAssistantMessages *{
    touch-action:pan-y;
  }

  .imagi-assistant-header,
  #imagiAssistantStarters,
  .imagi-assistant-support-row,
  .imagi-assistant-form{
    touch-action:auto;
  }
}
