/* Scoped to the protected default AI Engine chatbot. No global site overrides. */
@font-face { font-family: "DF Barlow"; src: url("fonts/Barlow-Regular.ttf") format("truetype"); font-style: normal; font-weight: 400; font-display: swap; }
@font-face { font-family: "DF Barlow"; src: url("fonts/Barlow-SemiBold.ttf") format("truetype"); font-style: normal; font-weight: 600 800; font-display: swap; }
@font-face { font-family: "DF Barlow Condensed"; src: url("fonts/BarlowCondensed-Bold.ttf") format("truetype"); font-style: normal; font-weight: 700; font-display: swap; }
#mwai-chatbot-default {
  --mwai-fontFamily: "DF Barlow", "Barlow", Arial, sans-serif;
  --mwai-fontSize: 15px;
  --mwai-fontColor: #242426;
  --mwai-backgroundPrimaryColor: #fff;
  --mwai-backgroundHeaderColor: #c21e1c;
  --mwai-headerColor: #fff;
  --mwai-backgroundUserColor: #c21e1c;
  --mwai-backgroundAiColor: #f4f4f4;
  --mwai-backgroundAiSecondaryColor: #e8e8e8;
  --mwai-accentColor: #c21e1c;
  --mwai-linkColor: #a41817;
  --mwai-bubbleColor: #c21e1c;
  --mwai-borderColor: #dedede;
  --mwai-borderRadius: 18px;
  --mwai-width: 410px;
  --mwai-iconSize: 64px;
  --mwai-iconTextBackgroundColor: #242426;
  --mwai-iconTextColor: #fff;
  font-family: var(--mwai-fontFamily);
  line-height: 1.5;
}
#mwai-chatbot-default .mwai-header {
  background: #c21e1c;
  color: #fff;
  border-radius: 18px 18px 0 0;
}
#mwai-chatbot-default .mwai-header .mwai-name,
#mwai-chatbot-default .mwai-header h2 {
  font-family: "DF Barlow Condensed", "Barlow Condensed", "Barlow", Arial, sans-serif;
  font-size: 23px;
  font-weight: 700;
  line-height: 1.15;
  color: #fff;
}
#mwai-chatbot-default .mwai-header img { object-fit: contain; }
#mwai-chatbot-default .mwai-header .mwai-name small { font-family: "DF Barlow", Arial, sans-serif; font-size: 12px; line-height: 1.4; font-weight: 400; }
#mwai-chatbot-default .mwai-conversation { scrollbar-width: thin; }
#mwai-chatbot-default .mwai-ai a { color: #a41817; text-underline-offset: 3px; }
#mwai-chatbot-default .mwai-compliance { font-size: 11px; line-height: 1.5; color: #555558; opacity: 1; }
#mwai-chatbot-default .df-chat-notice,
#mwai-chatbot-default .df-chat-emergency { display: block; }
#mwai-chatbot-default .df-chat-emergency { margin-top: 4px; color: #8d1918; font-weight: 600; }
#mwai-chatbot-default .df-chat-emergency a { color: inherit; text-decoration: underline; }
#mwai-chatbot-default .mwai-input textarea { font-family: inherit; font-size: 16px; }
/* Replace the native elapsed-time display; AI Engine keeps ownership of Stop. */
#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-timer::before {
  content: "";
  position: absolute;
  top: 7px;
  left: -6px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  /* Keep each shadow outside the transparent source dot so all three stay visible. */
  box-shadow: 8px 0 0 #c21e1c, 18px 0 0 #c21e1c, 28px 0 0 #c21e1c;
  animation: df-chat-typing-dots 1.2s ease-in-out infinite;
}
@keyframes df-chat-typing-dots {
  0%, 60%, 100% { box-shadow: 8px 0 0 #c21e1c70, 18px 0 0 #c21e1c70, 28px 0 0 #c21e1c70; }
  15% { box-shadow: 8px -4px 0 #c21e1c, 18px 0 0 #c21e1c70, 28px 0 0 #c21e1c70; }
  30% { box-shadow: 8px 0 0 #c21e1c70, 18px -4px 0 #c21e1c, 28px 0 0 #c21e1c70; }
  45% { box-shadow: 8px 0 0 #c21e1c70, 18px 0 0 #c21e1c70, 28px -4px 0 #c21e1c; }
}
#mwai-chatbot-default :is(a,button,textarea,input,[role="button"]):focus-visible { outline: 3px solid #c21e1c; outline-offset: 3px; }
#mwai-chatbot-default :is(.mwai-header,.mwai-mobile-header) :is(a,button,[role="button"]):focus-visible { outline-color: #fff; }
#mwai-chatbot-default .mwai-open-button { background: transparent; border: 0; box-shadow: none; }
#mwai-chatbot-default .mwai-open-button .mwai-icon-container > img.mwai-icon { object-fit: contain; background: #fff; border: 2px solid #c21e1c; border-radius: 50%; box-shadow: 0 6px 22px #24242626; }
/* Leave room for the site's mobile contact strip. */
#mwai-chatbot-default.mwai-window {
  --mwai-maxHeight: min(540px, calc(100dvh - 196px)) !important;
  z-index: 9999; bottom: 86px; right: 22px; height: auto !important;
}
@media (max-width: 760px) {
  #mwai-chatbot-default.mwai-window { right: 12px; bottom: calc(82px + env(safe-area-inset-bottom)); max-width: calc(100vw - 24px); }
  /* AI Engine switches to its native full-screen mobile shell. Keep its visual
     viewport variables so the input remains reachable above the keyboard. */
  #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;
    height: calc(var(--mwai-vv-height, 100dvh) - 50px) !important;
    max-height: calc(var(--mwai-vv-height, 100dvh) - 50px) !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  #mwai-chatbot-default, #mwai-chatbot-default * { scroll-behavior: auto; animation-duration: .01ms; transition-duration: .01ms; }
  #mwai-chatbot-default .mwai-input .mwai-timer::before { animation: none; }
}
