/* Voiceflow widget external stylesheet
   This file is served from /voiceflow.css and loaded via vf.chat.load({ stylesheet })
*/

/* Ensure the embedded chat fills its mount container */
.vfrc-chat,
.vfrc-chat--content,
.vfrc-proactive,
.vfrc-widget {
  height: 100% !important;
}

/* Make the widget a column flex container so content can scroll while composer stays fixed */
.vfrc-widget,
.vfrc-chat {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important; /* critical to allow inner scroll instead of growing */
}

/* Content area should take remaining space and be scrollable */
.vfrc-chat--content,
.vfrc-message-list,
.vfrc-scrollable {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: auto !important;
}

/* Composer (input area) should not grow the container */
.vfrc-composer,
._1gdvh9t1 { /* VF input shell */
  flex: 0 0 auto !important;
}

/* Prevent multiline composer from expanding indefinitely */
.vfrc-composer textarea,
.vfrc-composer [contenteditable="true"],
._1gdvh9t1 textarea,
._1gdvh9t1 [contenteditable="true"] {
  max-height: 96px !important; /* cap input expansion */
  overflow: auto !important;
  resize: none !important;
}

/* Embedded container: header must always be hidden (overrides media rules above) */
.vf-embed .vfrc-header,
.vf-embed header[role="banner"],
.vf-embed .jyiuei3 {
  display: none !important;
}


/* Keep outer container fixed; scroll inside content */
.vfrc-chat,
.vfrc-widget { overflow: hidden !important; }
.vfrc-chat--content { overflow: auto !important; }

/* Header theming: match site background/foreground */
.vfrc-header,
header[role="banner"],
.jyiuei3 {
  background: var(--background) !important;
  background-color: var(--background) !important;
  background-image: none !important;
  color: var(--foreground) !important;
}
.vfrc-header *,
header[role="banner"] *,
.jyiuei3 * {
  color: var(--foreground) !important;
}

/* Force header text color to near-black when header is visible */
.vfrc-header *,
header[role="banner"] *,
.jyiuei3 * {
  color: #040404 !important;
}

/* Optional: tweak message list padding inside */
.vfrc-message-list,
.vfrc-chat--content .vfrc-scrollable {
  padding-bottom: 12px !important;
}

/* Optional: corner radius alignment with site */
.vfrc-widget,
.vfrc-header {
  border-radius: 16px !important;
}

/* Floating widget: show header only on mobile */
@media (min-width: 768px) {
  .vfrc-header,
  header[role="banner"],
  .jyiuei3 { display: none !important; }
}
@media (max-width: 767px) {
  .vfrc-header,
  header[role="banner"],
  .jyiuei3 { display: flex !important; }
}

/* Remove any top padding/margin reserved for header */
.vfrc-chat--content,
.vfrc-message-list,
.vfrc-scrollable {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* Ensure content fills full height when header is hidden */
.vfrc-chat,
.vfrc-widget,
.vfrc-chat--content {
  height: 100% !important;
}

/* Remove border and shadow from the widget */
.vfrc-widget,
.vfrc-chat,
.vfrc-chat--content,
.vfrc-message-list,
.vfrc-composer,
.vfrc-footer {
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
}
._15emaa41 {
    background-color: #c1c1c126!important;
    color: #202020 !important;
    
}
@media (prefers-color-scheme: dark) {
  ._15emaa41 { color: #ffffff !important; }
}

@media (prefers-color-scheme: dark) {
  /* Darker grey text for .knxm730 in dark mode */
  .knxm730 { color: #94a3b8 !important; } /* slate-400 */
}

._1q15b0b2 {
    
    color: #646d75;
    background-color: var(--_1bof89n5);
    
}
/* Primary action button */
._1q15b0b1 {
  color: var(--_1bof89n5) !important;
  background-color: #1038e3 !important; /* light mode */
}
@media (prefers-color-scheme: dark) {
  ._1q15b0b1 {
    color: var(--_1bof89n5) !important;
    background-color: #2d2d2d !important; /* dark mode */
  }
}
/* Apple Intelligence-style soft gradient background for container */
._11kfxpg0 {
  /* Fallback */
  background-color: #f1f2f2 !important;
  /* Layered soft gradients for a subtle, premium feel */
  background-image:
    radial-gradient(120% 120% at 0% 0%, #7dd3fc 0%, rgba(125, 211, 252, 0) 35%),
    radial-gradient(120% 120% at 100% 0%, #c4b5fd 0%, rgba(196, 181, 253, 0) 35%),
    radial-gradient(120% 120% at 100% 100%, #f0abfc 0%, rgba(240, 171, 252, 0) 35%),
    radial-gradient(120% 120% at 0% 100%, #93c5fd 0%, rgba(147, 197, 253, 0) 35%),
    linear-gradient(135deg, #e0f2fe 0%, #f5f3ff 100%) !important;
  color: #1a1e23 !important;
  border-radius: 10px !important;
}
@media (prefers-color-scheme: dark) {
  ._11kfxpg0 {
    /* Dark fallback */
    background-color: #0b0b0c !important;
    /* Darker layered gradients */
    background-image:
      radial-gradient(120% 120% at 0% 0%, rgba(34, 197, 94, 0.08) 0%, rgba(34, 197, 94, 0) 36%),
      radial-gradient(120% 120% at 100% 0%, rgba(99, 102, 241, 0.12) 0%, rgba(99, 102, 241, 0) 38%),
      radial-gradient(120% 120% at 100% 100%, rgba(147, 51, 234, 0.10) 0%, rgba(147, 51, 234, 0) 40%),
      radial-gradient(120% 120% at 0% 100%, rgba(59, 130, 246, 0.12) 0%, rgba(59, 130, 246, 0) 36%),
      linear-gradient(135deg, #0f172a 0%, #111827 100%) !important; /* slate-900 -> gray-900 */
    color: #e5e7eb !important; /* slate-200 for readability */
  }
}

/* Apple Intelligence-style gradient border around the chat card */
.vf-embed {
  position: relative !important;
  border-radius: 16px !important; /* match card radius */
}
.vf-embed::before {
  content: "";
  position: absolute;
  inset: 0;
  padding: 1px; /* border thickness */
  border-radius: inherit;
  background: conic-gradient(
    from 180deg,
    rgba(147,197,253,0.9),
    rgba(196,181,253,0.9),
    rgba(240,171,252,0.9),
    rgba(125,211,252,0.9),
    rgba(147,197,253,0.9)
  );
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
          mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;
          mask-composite: exclude;
  pointer-events: none;
}

/* ===== Site dark/light mode adaptive overrides for Voiceflow widget ===== */
/* Base (light) defaults */
.s9t60i0 {
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  border-radius: 16px !important;
  background-color: #ffffff !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 0 0 1px #161a1e0f, #161a1e29 0 8px 80px !important;
}

._1gdvh9t1 {
  position: relative !important;
  border-radius: 25px !important;
  display: flex !important;
  z-index: 1 !important;
  justify-content: space-between !important;
  padding: 7px 7px 7px 20px !important;
  box-sizing: border-box !important;
  border: 1px solid #E2E4E5 !important;
  background-color: #ffffff !important;
  box-shadow: 0 3px 4px #00000005, 0 8px 42px -16px #00000014 !important;
  transition: border .15s ease, box-shadow .15s ease, border-radius .15s ease, opacity .15s ease !important;
}

._1vj16245 {
  padding: 0 20px !important;
  position: relative !important;
  background: none !important;
}

/* Dark mode overrides */
@media (prefers-color-scheme: dark) {
  .s9t60i0 {
    background-color: #0b0b0c !important;
    box-shadow: 0 0 0 1px rgba(255,255,255,0.06), rgba(0,0,0,0.6) 0 8px 80px !important;
  }
  ._1gdvh9t1 {
    border: 1px solid rgba(255,255,255,0.08) !important;
    background-color: #171717 !important;
    box-shadow: 0 3px 4px rgba(0,0,0,0.2), 0 8px 42px -16px rgba(0,0,0,0.6) !important;
  }
  ._1vj16245 {
    background: none !important; /* keep transparent */
  }
}

/* Optional: scope to our embedded container to avoid accidental leaks */
.vf-embed .s9t60i0 { border-radius: 16px !important; }
.vf-embed ._1gdvh9t1 { border-radius: 25px !important; }
/* Subtle glow for premium feel */
.vf-embed::after {
  content: "";
  position: absolute;
  inset: -6px;
  border-radius: inherit;
  background: radial-gradient(40% 40% at 50% 0%, rgba(147,197,253,0.25), transparent 60%),
              radial-gradient(40% 40% at 0% 50%, rgba(196,181,253,0.18), transparent 60%),
              radial-gradient(40% 40% at 100% 50%, rgba(125,211,252,0.18), transparent 60%);
  filter: blur(16px);
  opacity: 0.6;
  pointer-events: none;
}

/* ===== Composer input + placeholder theming (light defaults) ===== */
/* Target VF composer generically to avoid brittle hashed classes */
.vfrc-composer input,
.vfrc-composer textarea,
.vfrc-composer [contenteditable="true"],
._1gdvh9t1 input,
._1gdvh9t1 textarea,
._1gdvh9t1 [contenteditable="true"] {
  background-color: #ffffff !important;
  color: #0f172a !important; /* slate-900 */
}
.vfrc-composer input::placeholder,
.vfrc-composer textarea::placeholder,
._1gdvh9t1 input::placeholder,
._1gdvh9t1 textarea::placeholder {
  color: rgba(15, 23, 42, 0.45) !important; /* slate-900 @ 45% */
}

/* ===== Dark mode overrides for inputs + placeholders ===== */
@media (prefers-color-scheme: dark) {
  .vfrc-composer,
  ._1gdvh9t1 {
    background-color: #121212 !important; /* unify composer shell */
    border-color: rgba(255,255,255,0.08) !important;
  }
  .vfrc-composer input,
  .vfrc-composer textarea,
  .vfrc-composer [contenteditable="true"],
  ._1gdvh9t1 input,
  ._1gdvh9t1 textarea,
  ._1gdvh9t1 [contenteditable="true"] {
    background-color: #0b0b0c !important;
    color: #e5e7eb !important; /* slate-200 */
    border-color: rgba(255,255,255,0.08) !important;
  }
  .vfrc-composer input::placeholder,
  .vfrc-composer textarea::placeholder,
  ._1gdvh9t1 input::placeholder,
  ._1gdvh9t1 textarea::placeholder {
    color: rgba(229, 231, 235, 0.45) !important; /* slate-200 @ 45% */
  }
  /* vendor placeholders (WebKit/Firefox/IE) */
  .vfrc-composer input::-webkit-input-placeholder,
  .vfrc-composer textarea::-webkit-input-placeholder,
  ._1gdvh9t1 input::-webkit-input-placeholder,
  ._1gdvh9t1 textarea::-webkit-input-placeholder { color: rgba(229,231,235,0.45) !important; }
  .vfrc-composer input::-moz-placeholder,
  .vfrc-composer textarea::-moz-placeholder,
  ._1gdvh9t1 input::-moz-placeholder,
  ._1gdvh9t1 textarea::-moz-placeholder { color: rgba(229,231,235,0.45) !important; }
  .vfrc-composer input:-ms-input-placeholder,
  .vfrc-composer textarea:-ms-input-placeholder,
  ._1gdvh9t1 input:-ms-input-placeholder,
  ._1gdvh9t1 textarea:-ms-input-placeholder { color: rgba(229,231,235,0.45) !important; }

  /* contenteditable placeholder emulation if used */
  .vfrc-composer [contenteditable="true"][data-placeholder]:empty:before,
  ._1gdvh9t1 [contenteditable="true"][data-placeholder]:empty:before {
    content: attr(data-placeholder);
    color: rgba(229, 231, 235, 0.45) !important;
    pointer-events: none;
  }

  /* Darken inner wrapper in dark mode if it stays white */
  ._1vj16245 { background-color: #0b0b0c !important; }
}