/* DragueQueen. Scoped to the protected default AI Engine chatbot. */
#mwai-chatbot-default {
  --dq-berry: #be1e5f;
  --dq-berry-dark: #98174c;
  --dq-ink: #2d1a24;
  --dq-muted: #705763;
  --dq-blush: #fff3f7;
  --mwai-fontFamily: "Poppins", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --mwai-fontSize: 14px;
  --mwai-fontColor: var(--dq-ink);
  --mwai-lineHeight: 1.65;
  --mwai-backgroundPrimaryColor: #fff;
  --mwai-backgroundSecondaryColor: #fff8fb;
  --mwai-backgroundHeaderColor: #be1e5f;
  --mwai-headerColor: #fff;
  --mwai-backgroundUserColor: #be1e5f;
  --mwai-backgroundAiColor: #fff3f7;
  --mwai-backgroundAiSecondaryColor: #f7e2ea;
  --mwai-accentColor: #be1e5f;
  --mwai-linkColor: #98174c;
  --mwai-bubbleColor: #be1e5f;
  --mwai-borderColor: #ecd9e1;
  --mwai-lineColor: #ecd9e1;
  --mwai-borderRadius: 22px;
  --mwai-width: 410px;
  --mwai-iconSize: 64px;
  --mwai-iconTextBackgroundColor: #2d1a24;
  --mwai-iconTextColor: #fff;
  --mwai-errorBackgroundColor: #fff0f0;
  --mwai-errorTextColor: #962f39;
  --mwai-headerHeight: 86px;
  font-family: var(--mwai-fontFamily);
  line-height: 1.65;
  color-scheme: light;
}
#mwai-chatbot-default.mwai-window {
  --mwai-maxHeight: min(570px, calc(100dvh - 148px)) !important;
  z-index: 9999;
  right: 24px;
  bottom: 24px;
  height: auto !important;
  max-width: calc(100vw - 32px);
}
#mwai-chatbot-default.mwai-window .mwai-window-box {
  border: 1px solid #ecd9e1;
  box-shadow: 0 20px 64px #581b3429, 0 3px 14px #581b3412;
  border-radius: 22px;
}
#mwai-chatbot-default .mwai-header {
  background: linear-gradient(120deg, #be1e5f, #a71d56);
  color: #fff;
  border-radius: 22px 22px 0 0;
}
#mwai-chatbot-default .mwai-header .mwai-name,
#mwai-chatbot-default .mwai-header h2 {
  font-family: var(--mwai-fontFamily);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -.35px;
  line-height: 1.35;
  color: #fff;
}
#mwai-chatbot-default .mwai-header .mwai-name { display: flex; flex-direction: column; margin-left: 12px; }
#mwai-chatbot-default .mwai-header .mwai-name small {
  order: 2;
  display: block;
  margin-top: 3px;
  font-family: inherit;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: 0;
  color: #fff3f7;
}
#mwai-chatbot-default .mwai-header .mwai-avatar img {
  width: 48px;
  height: 48px;
  object-fit: cover;
  border: 2px solid #ffffffc9;
  border-radius: 50%;
}
#mwai-chatbot-default .mwai-header .mwai-buttons { gap: 2px; margin-right: 8px; }
#mwai-chatbot-default .mwai-header .mwai-buttons .mwai-close-button,
#mwai-chatbot-default .mwai-header .mwai-buttons .mwai-resize-button {
  min-width: 40px;
  min-height: 44px;
  margin-left: 0;
  border-radius: 10px;
}
#mwai-chatbot-default .mwai-header .mwai-buttons :is(.mwai-close-button,.mwai-resize-button):hover { background-color: #ffffff18; }
#mwai-chatbot-default .mwai-conversation {
  padding: 20px 16px 14px;
  scrollbar-width: thin;
  scrollbar-color: #dbb1c2 #fff8fb;
  background: linear-gradient(180deg, #fffafc 0, #fff 180px);
}
#mwai-chatbot-default .mwai-conversation .mwai-reply {
  padding: 12px 15px;
  max-width: 95%;
  line-height: 1.65;
  overflow-wrap: anywhere;
}
#mwai-chatbot-default .mwai-conversation .mwai-reply.mwai-ai {
  border: 1px solid #f3e3ea;
  box-shadow: none;
  border-bottom-left-radius: 6px;
}
#mwai-chatbot-default .mwai-conversation .mwai-reply.mwai-user {
  color: #fff;
  box-shadow: none;
  border-bottom-right-radius: 6px;
}
#mwai-chatbot-default .mwai-text p { line-height: 1.65; }
#mwai-chatbot-default .mwai-ai a {
  color: var(--dq-berry-dark);
  font-weight: 500;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
#mwai-chatbot-default .mwai-ai a:hover { text-decoration-thickness: 2px; }
#mwai-chatbot-default .mwai-input { display: flex; flex-direction: row; align-items: center; gap: 10px; border-top: 1px solid #f2e4ea; }
#mwai-chatbot-default .mwai-input .mwai-input-text {
  flex: 1 1 auto;
  min-width: 0;
  border: 1px solid #e7ccd8;
  padding: 6px 8px;
  background: #fff;
  border-radius: 18px;
}
#mwai-chatbot-default .mwai-input .mwai-input-text:focus-within { border-color: var(--dq-berry); box-shadow: 0 0 0 2px #be1e5f26; }
#mwai-chatbot-default .mwai-input textarea {
  font-family: var(--mwai-fontFamily) !important;
  font-size: 16px;
  line-height: 1.5;
  color: var(--dq-ink);
}
#mwai-chatbot-default .mwai-input textarea::placeholder { color: var(--dq-muted); opacity: 1; }
#mwai-chatbot-default .mwai-input .mwai-input-submit { --mwai-submitSize: 44px; margin: 0; }
#mwai-chatbot-default .mwai-input .mwai-input-submit:hover { filter: brightness(.94); }
#mwai-chatbot-default .mwai-footer { background: #fff8fb; border-top: 1px solid #f3e3ea; }
#mwai-chatbot-default .mwai-compliance {
  font-family: inherit;
  font-size: 11px;
  line-height: 1.55;
  color: #705763;
  opacity: 1;
}
#mwai-chatbot-default .dq-chat-notice,
#mwai-chatbot-default .df-chat-notice { display: block; }
#mwai-chatbot-default .mwai-compliance a { color: #98174c; text-decoration: underline; text-underline-offset: 2px; }

/* Starter buttons edit the draft. Only the visitor submits a message. */
#mwai-chatbot-default .dq-chat-starters {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-self: stretch;
  gap: 8px;
  margin: 0 0 8px;
  padding: 0;
}
#mwai-chatbot-default .dq-chat-starters[hidden] { display: none; }
#mwai-chatbot-default .dq-chat-starter {
  appearance: none;
  width: 100%;
  min-height: 46px;
  padding: 10px 12px;
  border: 1px solid #e7ccd8;
  border-radius: 14px;
  background: #fff;
  box-shadow: none;
  color: var(--dq-berry-dark);
  font: 500 12px/1.5 var(--mwai-fontFamily);
  text-align: left;
  text-transform: none;
  letter-spacing: 0;
  white-space: normal;
  cursor: pointer;
  transition: background-color .15s ease, border-color .15s ease;
}
#mwai-chatbot-default .dq-chat-starter:hover { background: var(--dq-blush); border-color: var(--dq-berry); }
#mwai-chatbot-default .dq-chat-starter:disabled { opacity: .55; cursor: default; }

/* Keep AI Engine's Stop control and replace its decorative elapsed time. */
#mwai-chatbot-default .mwai-input .mwai-input-submit.mwai-busy:not(.mwai-stoppable) .mwai-timer {
  position: relative;
  width: 30px;
  height: 18px;
  font-size: 0;
  line-height: 0;
  letter-spacing: 0;
  color: transparent;
}
#mwai-chatbot-default .mwai-input .mwai-input-submit.mwai-busy:not(.mwai-stoppable) .mwai-timer::before {
  content: "";
  position: absolute;
  top: 7px;
  left: -6px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  box-shadow: 8px 0 0 #be1e5f, 18px 0 0 #be1e5f, 28px 0 0 #be1e5f;
  animation: dq-chat-typing-dots 1.2s ease-in-out infinite;
}
@keyframes dq-chat-typing-dots {
  0%, 60%, 100% { box-shadow: 8px 0 0 #be1e5f70, 18px 0 0 #be1e5f70, 28px 0 0 #be1e5f70; }
  15% { box-shadow: 8px -3px 0 #be1e5f, 18px 0 0 #be1e5f70, 28px 0 0 #be1e5f70; }
  30% { box-shadow: 8px 0 0 #be1e5f70, 18px -3px 0 #be1e5f, 28px 0 0 #be1e5f70; }
  45% { box-shadow: 8px 0 0 #be1e5f70, 18px 0 0 #be1e5f70, 28px -3px 0 #be1e5f; }
}
#mwai-chatbot-default :is(a,button,textarea,input,[role="button"]):focus-visible { outline: 3px solid var(--dq-berry); outline-offset: 3px; }
#mwai-chatbot-default .mwai-input textarea:focus-visible { outline: none; }
#mwai-chatbot-default :is(.mwai-header,.mwai-mobile-header) :is(a,button,[role="button"]):focus-visible { outline-color: #fff; outline-offset: -3px; }
#mwai-chatbot-default .mwai-open-button { background: transparent; border: 0; box-shadow: none; padding: 0; border-radius: 50%; }
#mwai-chatbot-default .mwai-open-button .mwai-icon-container > img.mwai-icon {
  width: 64px;
  height: 64px;
  max-width: 100%;
  max-height: 100%;
  object-fit: cover;
  background: #fff;
  border: 3px solid #fff;
  border-radius: 50%;
  box-shadow: 0 0 0 2px #be1e5f, 0 6px 24px #581b3438;
}
#mwai-chatbot-default .mwai-icon-text { max-width: 240px; font-family: var(--mwai-fontFamily); line-height: 1.5; }
/* The existing welcome message is waiting behind the avatar. No fake count. */
#mwai-chatbot-default .mwai-open-button .mwai-icon-container { position: relative; overflow: visible; }
#mwai-chatbot-default .mwai-icon-container[data-dq-welcome="true"]::after {
  content: "";
  position: absolute;
  z-index: 2;
  top: 1px;
  right: 1px;
  width: 14px;
  height: 14px;
  box-sizing: border-box;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #e52b40;
  box-shadow: 0 1px 4px #68102045;
  pointer-events: none;
}
#mwai-chatbot-default .mwai-icon-container[data-dq-welcome="true"][data-dq-welcome-pulse="true"]::after {
  animation: dq-welcome-pulse 1.6s ease-out 2;
}
@keyframes dq-welcome-pulse {
  0% { box-shadow: 0 0 0 0 #e52b4055; }
  75%, 100% { box-shadow: 0 0 0 8px #e52b4000; }
}
#mwai-chatbot-default .dq-chat-mobile-avatar { width: 36px; height: 36px; flex: 0 0 36px; object-fit: cover; border: 2px solid #ffffffc9; border-radius: 50%; margin-right: 10px; }
@media (max-width: 760px) {
  #mwai-chatbot-default.mwai-window { right: 16px; bottom: calc(20px + env(safe-area-inset-bottom)); max-width: calc(100vw - 32px); }
  /* Retain the native visual viewport handling while the keyboard is open. */
  #mwai-chatbot-default.mwai-window.mwai-open {
    width: 100vw !important;
    max-width: 100vw !important;
    min-height: 0 !important;
    height: var(--mwai-vv-height, 100dvh) !important;
    max-height: var(--mwai-vv-height, 100dvh) !important;
  }
  #mwai-chatbot-default.mwai-window.mwai-open .mwai-body { min-height: 0 !important; max-height: 100% !important; }
  #mwai-chatbot-default.mwai-window.mwai-open .mwai-mobile-header {
    min-height: 60px;
    background: #be1e5f;
    border-bottom: 0;
  }
  #mwai-chatbot-default.mwai-window.mwai-open .mwai-mobile-header .mwai-mobile-header-title { font-family: var(--mwai-fontFamily); font-size: 16px; }
  #mwai-chatbot-default.mwai-window.mwai-open .mwai-mobile-header .mwai-mobile-header-close { min-width: 44px; min-height: 44px; border-radius: 10px; }
  #mwai-chatbot-default.mwai-window.mwai-open .mwai-mobile-header .mwai-mobile-header-close:hover { background: #ffffff18; }
  #mwai-chatbot-default .mwai-conversation { padding-top: 18px; }
  #mwai-chatbot-default .mwai-footer { padding-bottom: max(6px, env(safe-area-inset-bottom)); }
}
@media (max-width: 340px) {
  #mwai-chatbot-default .dq-chat-starters { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  /* Instant child transitions can bubble into AI Engine's initial fade wrapper
     before it mounts fully and remove the widget. No transition means no spurious end event. */
  #mwai-chatbot-default, #mwai-chatbot-default * { scroll-behavior: auto; animation-duration: .01ms; transition: none !important; }
  #mwai-chatbot-default .mwai-input .mwai-input-submit.mwai-busy:not(.mwai-stoppable) .mwai-timer::before { animation: none; }
  #mwai-chatbot-default .mwai-icon-container[data-dq-welcome="true"]::after { animation: none !important; }
}
