#chat1 .form-outline .form-control~.form-notch div {
    pointer-events: none;
    border: 1px solid;
    border-color: #eee;
    box-sizing: border-box;
    background: transparent;
  }
  
  #chat1 .form-outline .form-control~.form-notch .form-notch-leading {
    left: 0;
    top: 0;
    height: 100%;
    border-right: none;
    border-radius: .65rem 0 0 .65rem;
  }
  
  #chat1 .form-outline .form-control~.form-notch .form-notch-middle {
    flex: 0 0 auto;
    max-width: calc(100% - 1rem);
    height: 100%;
    border-right: none;
    border-left: none;
  }
  
  #chat1 .form-outline .form-control~.form-notch .form-notch-trailing {
    flex-grow: 1;
    height: 100%;
    border-left: none;
    border-radius: 0 .65rem .65rem 0;
  }
  
  #chat1 .form-outline .form-control:focus~.form-notch .form-notch-leading {
    border-top: 0.125rem solid #39c0ed;
    border-bottom: 0.125rem solid #39c0ed;
    border-left: 0.125rem solid #39c0ed;
  }
  
  #chat1 .form-outline .form-control:focus~.form-notch .form-notch-leading,
  #chat1 .form-outline .form-control.active~.form-notch .form-notch-leading {
    border-right: none;
    transition: all 0.2s linear;
  }
  
  #chat1 .form-outline .form-control:focus~.form-notch .form-notch-middle {
    border-bottom: 0.125rem solid;
    border-color: #39c0ed;
  }
  
  #chat1 .form-outline .form-control:focus~.form-notch .form-notch-middle,
  #chat1 .form-outline .form-control.active~.form-notch .form-notch-middle {
    border-top: none;
    border-right: none;
    border-left: none;
    transition: all 0.2s linear;
  }
  
  #chat1 .form-outline .form-control:focus~.form-notch .form-notch-trailing {
    border-top: 0.125rem solid #39c0ed;
    border-bottom: 0.125rem solid #39c0ed;
    border-right: 0.125rem solid #39c0ed;
  }
  
  #chat1 .form-outline .form-control:focus~.form-notch .form-notch-trailing,
  #chat1 .form-outline .form-control.active~.form-notch .form-notch-trailing {
    border-left: none;
    transition: all 0.2s linear;
  }
  
  #chat1 .form-outline .form-control:focus~.form-label {
    color: #39c0ed;
  }
  
  #chat1 .form-outline .form-control~.form-label {
    color: #bfbfbf;
  }
  
/* Styles for devices with a screen width of 600px or less (small devices) */
 @media screen and (max-width: 1000px) {
  .chatMaster {
    position:fixed;
    right:0vh;
    bottom:0vh; 
    width: 100%; 
    z-index:1024;
  }
  #chatBody{
    overflow: scroll!important; 
    height: calc(100vh - 416px);
    overflow-x: hidden!important; 
    background-color:#f9fafa;
    scrollbar-width: none;
}
} 

@media screen and (min-width: 1000px) {
  .chatMaster {
    position:fixed;
    right:3vh;
    bottom:0vh; 
    width: 40vh; 
    z-index:1024;
    width: 400px;
  }
  #chatBody{
    overflow: scroll!important; 
    height: 50vh; 
    overflow-x: hidden!important; 
    background-color:#f9fafa;
    scrollbar-width: none;
}
} 

.label {
    display: inline;
    padding: 0.2em 0.6em 0.3em;
    font-size: 0.8em;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: 0.5em;
    background-color: rgb(230, 50, 50);
    font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
    cursor: pointer;
}


.label:hover {
  color: #000000;
  background-color: #9e9c9c;
  transition: all .5s;
}


/*=================== eBag*/
.custCardBody{
    width:100%!important;
}

.chatMaster {
        background-color: #f9fafa;
}

#textAreaExample {
    border: 2px solid rgb(0,0,0,0); /* Default border color */
    overflow: auto;
    outline: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    resize: none;
    height:80px;
    transition: width 1s ease-in-out; /* Animation effect */
}

  /* Pseudo-element for the animated border */
  #textAreaExample:focus {
    border-top: 2px solid rgb(230, 50, 50,1); /* Default border color */
    border-bottom: 2px solid rgb(230, 50, 50,1); /* Default border color */
    overflow: auto;
    outline: none;
    -webkit-box-shadow: none;
    -moz-box-shadow: none;
    box-shadow: none;
    resize: none;
    height:80px;
    transition-timing-function: 1s linear;
  }
  
  
.ms-3 {
    border-bottom-left-radius: 20px !important;
    border-top-right-radius: 20px !important; 
    background-color: white !important; 
    border: 1px solid rgba(0, 0, 0, 0.1) !important;
}

.custCardSetA {
    border-top-left-radius: 5px!important;
    border-top-right-radius: 5px!important; 
    background-color: #f9fafa!important;
}

.custCardSetB {
    border-top-left-radius: 5px!important; 
    border-top-right-radius: 5px!important; 
    background-color:rgb(230, 50, 50)!important;
}

.paraCardSetA {
    margin:auto;
    font-weight:500;
}

.custCardSetC{
    width:100%; height:60px;border-bottom-right-radius: 350px;border-bottom-left-radius: 350px;background-color:rgb(230, 50, 50);
}
.paraCardSetB {
    margin:auto;font-weight:500;
            opacity: 0.65;
            text-align: center;
            transition: none 0s ease 0s;
            color: white;
}



.responseBlock {
    border-bottom-left-radius: 20px!important; 
    border-top-right-radius: 20px!important; 
    background-color: white!important; 
    border: 1px solid rgba(0, 0, 0, 0.1)!important;
}

.maximizeChat,.minimizeChat {
    vertical-align: middle;
    height: 20px;
    text-align: center;
    width: 20px;
    justify-content: center;
}


.maximizeChat:hover,.minimizeChat:hover {
background-color: burlywood;
}

.maximizeChatMaster {
Width:100% !important;
Height:100% !important;
right: 0vh !important;
}

.maximizeChatBody {
    height:calc(100vh - 316px)!important;
}

#accordion{
    cursor: pointer;
}

.response-flow {
  display: inline;          /* keep text inline with cards */
  line-height: 1.5;
}
.response-flow .card {
  display: inline-block;    /* you already set this in createCardElement */
  margin: 6px 8px 0 8px;    /* add a bit of breathing room */
  vertical-align: text-top; /* align nicely with text */
}
.preserve {
  white-space: pre-wrap; /* respects \n, wraps long lines, keeps spaces nicely */
}

/* each letter starts slightly below, transparent, with a gradient text-fill */
.char {
  display: inline-block;
  opacity: 0;
  transform: translateY(0.5em);
  background: linear-gradient(
    90deg,
    rgba(57,192,237,0.8),
    rgba(109, 224, 254,0.8),
    rgba(57,192,237,0.8)
  );
  background-clip: text;
  -webkit-background-clip: text;
  color: transparent;
  animation: charEnter 0.5s ease forwards;
}

/* the “shimmer”/rise animation */
@keyframes charEnter {
  to {
    opacity: 1;
    transform: translateY(0);
    color: inherit;             /* revert to normal text color */
    background: none;           /* drop the gradient once in place */
  }
}

.chat-actions{
  display:flex;
  gap:8px;
  padding:8px 10px 6px 10px;
}

.chat-btn{
  border-radius:10px;
  border:1px solid rgba(0,0,0,0.15);
  background:#fff;
  padding:6px 12px;
  font-weight:600;
  font-size:14px;
  cursor:pointer;
}

.chat-btn.send-btn{
  background:rgb(230, 50, 50);
  color:#fff;
  border-color:transparent;
}

.chat-btn.voice-btn{
  background:#f3f4f6;
  color:#111827;
}

.operatorBlock{
  background-color: rgba(230, 50, 50, 0.08) !important;
  border: 1px solid rgba(230, 50, 50, 0.2) !important;
}

.voice-overlay{
  position:fixed;
  inset:0;
  background:rgba(5, 11, 24, 0.88);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2000;
}

.voice-overlay.hidden{
  display:none;
}

.voice-card{
  width:min(320px, 90vw);
  background:#0f172a;
  border:1px solid rgba(255,255,255,0.1);
  border-radius:18px;
  padding:24px;
  text-align:center;
  color:#e2e8f0;
  box-shadow:0 20px 40px rgba(0,0,0,0.4);
}

.voice-visual{
  width:140px;
  height:140px;
  margin:0 auto 16px auto;
  display:flex;
  align-items:center;
  justify-content:center;
  --voice-level: 0;
}

.voice-svg{
  width:100%;
  height:100%;
}

.voice-ring{
  fill:transparent;
  stroke:rgba(59,130,246,0.6);
  stroke-width:3;
  transform-origin:50% 50%;
  animation: voicePulse 2s ease-in-out infinite;
  transform: scale(calc(1 + var(--voice-level)));
}

.voice-ring-secondary{
  stroke:rgba(14, 165, 233, 0.6);
  animation-delay:0.3s;
}

.voice-mic{
  fill:#e2e8f0;
}

.voice-text{
  font-weight:700;
  font-size:18px;
  margin-bottom:4px;
}

.voice-subtext{
  font-size:13px;
  color:#94a3b8;
  margin-bottom:16px;
}

@keyframes voicePulse{
  0%{opacity:0.6;}
  50%{opacity:1;}
  100%{opacity:0.6;}
}

/* ===== Glass buttons for Voice/Send ===== */
.chat-btn.glass{
  background: rgba(255,255,255,0.72);
  border: 1px solid rgba(0,0,0,0.12);
  box-shadow: 0 6px 18px rgba(0,0,0,0.10);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.chat-btn.glass:hover{
  filter: brightness(0.98);
}

.chat-btn.icon-btn{
  width: 42px;
  height: 36px;
  padding: 0;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius: 12px;
}

.chat-btn.send-icon-btn{
  display:flex;
  align-items:center;
  gap:8px;
}

.chat-btn.send-icon-btn .send-label{
  font-weight:700;
}

/* ===== Voice overlay actions row ===== */
.voice-actions{
  display:flex;
  gap:10px;
  justify-content:center;
}
.voice-actions .chat-btn{
  min-width: 110px;
}
/* ===== Red glass input pill ===== */
.chat-input-shell{
  margin: 8px 10px 10px 10px;
  display:flex;
  align-items:center;
  gap:10px;

  padding: 10px 10px 10px 16px;
  border-radius: 999px;

  /* red glass */
  background: linear-gradient(180deg,
    rgba(230,50,50,0.22),
    rgba(230,50,50,0.12)
  );
  border: 1px solid rgba(230,50,50,0.24);

  box-shadow:
    0px 0px 0px 1px rgba(0,0,0,0.10),
    0px 4px 32px 0px rgba(0,0,0,0.06);

  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.chat-input{
  flex: 1;
  border: none !important;
  background: transparent !important;
  outline: none !important;
  box-shadow: none !important;

  resize: none;
  overflow: hidden;

  padding: 8px 6px;
  min-height: 22px;
  max-height: 120px;

  color: #111827;
  font-weight: 600;
}

.chat-input::placeholder{
  color: rgba(17,24,39,0.55);
  font-weight: 600;
}

.chat-input-actions{
  display:flex;
  align-items:center;
  gap:8px;
  margin-right: 4px;
}

.chat-icon-btn{
  width: 42px;
  height: 42px;
  border-radius: 999px;

  display:flex;
  align-items:center;
  justify-content:center;

  border: 1px solid rgba(0,0,0,0.10);
  background: rgba(255,255,255,0.75);

  box-shadow:
    0 10px 24px rgba(0,0,0,0.10),
    inset 0 1px 0 rgba(255,255,255,0.65);

  color: rgba(17,24,39,0.85);
  cursor: pointer;

  transition: transform .18s ease, filter .18s ease, opacity .18s ease, box-shadow .18s ease;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.chat-icon-btn:hover{
  transform: translateY(-1px);
  filter: brightness(1.02);
}

.chat-icon-btn:active{
  transform: translateY(0px) scale(0.98);
}

/* Send arrow: starts greyed out; illuminates once enabled */
.chat-send-btn{
  background: rgba(230,50,50,0.14);
  border: 1px solid rgba(230,50,50,0.22);
  color: rgba(230,50,50,0.65);
}

.chat-send-btn:disabled{
  opacity: 0.45;
  cursor: not-allowed;
  box-shadow:
    0 6px 18px rgba(0,0,0,0.06),
    inset 0 1px 0 rgba(255,255,255,0.55);
}

.chat-send-btn.is-active{
  opacity: 1;
  color: rgba(230,50,50,0.95);
  box-shadow:
    0 10px 26px rgba(230,50,50,0.18),
    0 10px 24px rgba(0,0,0,0.10),
    inset 0 1px 0 rgba(255,255,255,0.70);
}

/* Voice overlay buttons red glass */
.chat-btn.glass-red{
  border-radius: 14px;
  border: 1px solid rgba(230,50,50,0.28);
  background: linear-gradient(180deg, rgba(230,50,50,0.22), rgba(230,50,50,0.14));
  color: rgba(255,255,255,0.92);
  box-shadow:
    0px 0px 0px 1px rgba(0, 0, 0, 0.10),
    0px 10px 28px rgba(0,0,0,0.22);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

.chat-btn.glass-red.subtle{
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.14);
}

.chat-btn.glass-red.strong{
  background: linear-gradient(180deg, rgba(230,50,50,0.52), rgba(230,50,50,0.30));
  border-color: rgba(230,50,50,0.45);
}
/* ===== Textarea: no scroll, better vertical alignment, no iOS zoom ===== */
.chat-input-shell{
  align-items: center; /* keeps icons centered */
}

.chat-input{
  font-size: 16px !important;        /* prevents iOS Safari zoom on focus */
  line-height: 20px !important;
  padding: 10px 6px !important;
  min-height: 22px !important;

  overflow-y: hidden !important;     /* remove vertical scrollbar */
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.chat-input::-webkit-scrollbar{ display:none; }

/* ensure box sizing doesn't cause horizontal creep */
.chat-input-shell, .chat-input, .chat-input-actions{
  box-sizing: border-box;
}

/* smoother growth */
.chat-input{
  transition: height .12s ease;
}

/* on very small screens, avoid accidental horizontal scroll */
@media (max-width: 600px){
  body{ overflow-x: hidden; }
}


/* ===== FIX: old #textAreaExample styles must not force height ===== */
#textAreaExample{
  height: auto !important;
  min-height: 22px !important;
  max-height: 120px !important;
  overflow-y: hidden !important;
  resize: none !important;

  /* prevents iOS zoom + keeps vertical centering consistent */
  font-size: 16px !important;
  line-height: 20px !important;

  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  background: transparent !important;
}

/* in case old focus rules reintroduce height/scroll */
#textAreaExample:focus{
  height: auto !important;
  overflow-y: hidden !important;
}

/* ===== Tips collapse animation + toggle row ===== */
/* ... KEEP EVERYTHING ABOVE EXACTLY AS-IS ... */

/* ===== Tips collapse animation + toggle row ===== */
.tips-wrap{
  padding: 8px 10px 0 10px;
}

.tips-toggle{
  display:flex;
  align-items:center;
  justify-content:flex-end; /* discreet: sits to the right */
  gap: 10px;
  margin-bottom: 6px;
}

/* button removed in markup; keep class harmless if referenced elsewhere */
.tips-toggle-btn{ display:none !important; }

/* hint is now the control (discreet text, clickable) */
.tips-toggle-hint{
  font-size: 12px;
  color: rgba(17,24,39,0.55);
  user-select:none;
  cursor: pointer;
  padding: 2px 0;
}

/* animate the tipsList itself */
.tipsList{
  max-height: 120px;           /* expanded height */
  opacity: 1;
  transition: max-height 180ms ease, opacity 160ms ease, margin 160ms ease, padding 160ms ease;
  will-change: max-height, opacity;
  margin: 0 10px 8px 10px;
  padding: 0;
}

.tipsList.collapsed{
  max-height: 0;
  opacity: 0;
  margin: 0 10px 0 10px;
  padding: 0;
  overflow: hidden !important;
}

/* ... KEEP EVERYTHING BELOW EXACTLY AS-IS ... */
