﻿#chat-circle {
    position: fixed;
    bottom: 60px;
    right: 60px;
    width: 80px;
    height: 80px;
    border-radius: 50%;
    padding: 28px;
    background: #3a317b;
    color: white;
    z-index: 99;
    cursor: pointer;
    box-shadow: 2px 2px 2px rgba(0,0,0,0.6), 2px 2px 2px rgba(0,0,0,0.2), 2px 2px 2px rgba(0,0,0,0.12);
    overflow: visible; /* allow the hint to show outside */
}

    /* Animated border */
    #chat-circle::before {
        content: '';
        position: absolute;
        top: -5px;
        left: -5px;
        width: calc(100% + 10px);
        height: calc(100% + 10px);
        border-radius: 50%;
        background: conic-gradient( from 0deg, #2c4dca, #f05504, #ffb450, #5700c4, #0527d8 );
        animation: spin 2s linear infinite;
        z-index: -1;
    }

    #chat-circle::after {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        border-radius: 50%;
        background: #2e3ebd;
        z-index: -1;
    }

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}

@keyframes popIn {
    0% {
        opacity: 0;
        transform: translateX(-50%) scale(0.7);
    }

    70% {
        transform: translateX(-50%) scale(1.05);
        opacity: 1;
    }

    100% {
        transform: translateX(-50%) scale(1);
    }
}

/* 3) Restyled hint bubble */
.chat-hint {
    position: absolute;
    bottom: 110%; /* just above the circle */
    left: 50%;
    transform: translateX(-50%) scale(0.8);
    /* typography */
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 0.75rem;
    letter-spacing: 0.5px;
    color: #fff;
    text-shadow: 0 1px 2px rgba(0,0,0,0.4);
    /* bubble look */
    background: linear-gradient(-56deg, #7767fC, #0841ec);
    padding: 8px 16px;
    border-radius: 20px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.2);
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s ease;
    z-index: 100;
}

    /* 4) Matching arrow in the same style family */
    .chat-hint::after {
        content: '';
        position: absolute;
        top: 100%;
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        border-top: 6px solid #4e54c8; /* use the gradient’s start color */
    }

/* 5) Trigger the bounce & fade-in on hover */
#chat-circle:hover .chat-hint {
    opacity: 1;
    animation: popIn 0.35s cubic-bezier(.34,1.56,.64,1) forwards;
}




#chat-text {
    z-index: 99;
    position: fixed;
    bottom: 35px;
    right: 50px;
    background: #00B3B3;
    width: 100px;
    height: 30px;
    color: #fff;
    border-radius: 30%;
    padding: 5px;
    cursor: pointer;
    box-shadow: 0px 3px 16px 0px rgba(0, 0, 0, 0.6), 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
}

.btn#my-btn {
    background: white;
    padding-top: 13px;
    padding-bottom: 12px;
    border-radius: 45px;
    padding-right: 40px;
    padding-left: 40px;
    color: #5865C3;
}

#chat-overlay {
    background: rgba(255,255,255,0.1);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: 50%;
    display: none;
}




.chat-box-toggle {
    float: right;
    margin-right: 15px;
    margin-right: 13px;
    cursor: pointer;
}

/* .chat-box-header {
    background: #00a1a1;
    height: 48px;
    border-top-left-radius: 5px;
    border-top-right-radius: 5px;
    color: white;
    text-align: center;
    font-size: 20px;
    padding-top: 17px;
} 

.chat-box-body {
    position: relative;
    height: 370px;
    height: auto;
    border: 1px solid #ccc;
    overflow: hidden;
}

    .chat-box-body:after {
        content: "";
        background-image: url('data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjAwIiBoZWlnaHQ9IjIwMCIgdmlld0JveD0iMCAwIDIwMCAyMDAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PGcgdHJhbnNmb3JtPSJ0cmFuc2xhdGUoMTAgOCkiIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+PGNpcmNsZSBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS4yNSIgY3g9IjE3NiIgY3k9IjEyIiByPSI0Ii8+PHBhdGggZD0iTTIwLjUuNWwyMyAxMW0tMjkgODRsLTMuNzkgMTAuMzc3TTI3LjAzNyAxMzEuNGw1Ljg5OCAyLjIwMy0zLjQ2IDUuOTQ3IDYuMDcyIDIuMzkyLTMuOTMzIDUuNzU4bTEyOC43MzMgMzUuMzdsLjY5My05LjMxNiAxMC4yOTIuMDUyLjQxNi05LjIyMiA5LjI3NC4zMzJNLjUgNDguNXM2LjEzMSA2LjQxMyA2Ljg0NyAxNC44MDVjLjcxNSA4LjM5My0yLjUyIDE0LjgwNi0yLjUyIDE0LjgwNk0xMjQuNTU1IDkwcy03LjQ0NCAwLTEzLjY3IDYuMTkyYy02LjIyNyA2LjE5Mi00LjgzOCAxMi4wMTItNC44MzggMTIuMDEybTIuMjQgNjguNjI2cy00LjAyNi05LjAyNS0xOC4xNDUtOS4wMjUtMTguMTQ1IDUuNy0xOC4xNDUgNS43IiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS4yNSIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIi8+PHBhdGggZD0iTTg1LjcxNiAzNi4xNDZsNS4yNDMtOS41MjFoMTEuMDkzbDUuNDE2IDkuNTIxLTUuNDEgOS4xODVIOTAuOTUzbC01LjIzNy05LjE4NXptNjMuOTA5IDE1LjQ3OWgxMC43NXYxMC43NWgtMTAuNzV6IiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS4yNSIvPjxjaXJjbGUgZmlsbD0iIzAwMCIgY3g9IjcxLjUiIGN5PSI3LjUiIHI9IjEuNSIvPjxjaXJjbGUgZmlsbD0iIzAwMCIgY3g9IjE3MC41IiBjeT0iOTUuNSIgcj0iMS41Ii8+PGNpcmNsZSBmaWxsPSIjMDAwIiBjeD0iODEuNSIgY3k9IjEzNC41IiByPSIxLjUiLz48Y2lyY2xlIGZpbGw9IiMwMDAiIGN4PSIxMy41IiBjeT0iMjMuNSIgcj0iMS41Ii8+PHBhdGggZmlsbD0iIzAwMCIgZD0iTTkzIDcxaDN2M2gtM3ptMzMgODRoM3YzaC0zem0tODUgMThoM3YzaC0zeiIvPjxwYXRoIGQ9Ik0zOS4zODQgNTEuMTIybDUuNzU4LTQuNDU0IDYuNDUzIDQuMjA1LTIuMjk0IDcuMzYzaC03Ljc5bC0yLjEyNy03LjExNHpNMTMwLjE5NSA0LjAzbDEzLjgzIDUuMDYyLTEwLjA5IDcuMDQ4LTMuNzQtMTIuMTF6bS04MyA5NWwxNC44MyA1LjQyOS0xMC44MiA3LjU1Ny00LjAxLTEyLjk4N3pNNS4yMTMgMTYxLjQ5NWwxMS4zMjggMjAuODk3TDIuMjY1IDE4MGwyLjk0OC0xOC41MDV6IiBzdHJva2U9IiMwMDAiIHN0cm9rZS13aWR0aD0iMS4yNSIvPjxwYXRoIGQ9Ik0xNDkuMDUgMTI3LjQ2OHMtLjUxIDIuMTgzLjk5NSAzLjM2NmMxLjU2IDEuMjI2IDguNjQyLTEuODk1IDMuOTY3LTcuNzg1LTIuMzY3LTIuNDc3LTYuNS0zLjIyNi05LjMzIDAtNS4yMDggNS45MzYgMCAxNy41MSAxMS42MSAxMy43MyAxMi40NTgtNi4yNTcgNS42MzMtMjEuNjU2LTUuMDczLTIyLjY1NC02LjYwMi0uNjA2LTE0LjA0MyAxLjc1Ni0xNi4xNTcgMTAuMjY4LTEuNzE4IDYuOTIgMS41ODQgMTcuMzg3IDEyLjQ1IDIwLjQ3NiAxMC44NjYgMy4wOSAxOS4zMzEtNC4zMSAxOS4zMzEtNC4zMSIgc3Ryb2tlPSIjMDAwIiBzdHJva2Utd2lkdGg9IjEuMjUiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPjwvZz48L3N2Zz4=');
        opacity: 0.1;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        height: 100%;
        position: absolute;
        z-index: -1;
    }

#chat-input {
    background: #f4f7f9;
    width: 100%;
    position: relative;
    height: 47px;
    padding-top: 10px;
    padding-right: 100px;
    padding-bottom: 10px;
    padding-left: 15px;
    border: none;
    resize: none;
    outline: none;
    border: 1px solid #ccc;
    color: #888;
    border-top: none;
    border-bottom-right-radius: 5px;
    border-bottom-left-radius: 5px;
    overflow: hidden;
}

.chat-input > form {
    margin-bottom: 0;
}

#chat-input::-webkit-input-placeholder { 
    color: #ccc;
}

#chat-input::-moz-placeholder {
    color: #ccc;
}

#chat-input:-ms-input-placeholder {
    color: #ccc;
}

#chat-input:-moz-placeholder { 
    color: #ccc;
}

.chat-submit {
    position: absolute;
    top: 8px;
    bottom: 3px;
    right: 10px;
    background: transparent;
    box-shadow: none;
    border: none;
    border-radius: 50%;
    color: #5A5EB9;
    width: 35px;
    height: 35px;
}

.chat-mic {
    position: absolute;
    top: 8px;
    bottom: 3px;
    right: 42px;
    background: transparent;
    box-shadow: none;
    border: none;
    border-radius: 50%;
    color: #5A5EB9;
    width: 35px;
    height: 35px;
}

.chat-logs {
    padding: 15px;
    height: 435px;
    overflow-y: scroll;
}

@media only screen and (max-width: 500px) {
    .chat-logs {
        height: 40vh;
    }
}



.chat-msg.user > .msg-avatar img,.chat-msg.robo > .msg-avatar img {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    float: left;
    width: 15%;
}

.chat-msg.self > .msg-avatar img {
    width: 45px;
    height: 45px;
    border-radius: 50%;
    float: right;
    width: 15%;
}
cm-msg-text-robo{
    
    padding: 10px 15px 10px 15px;
    color: #666;
    max-width: 75%;
    float: left;
    margin-top: 4px;
    margin-left: 10px;
    position: relative;
    margin-bottom: 20px;
    border-radius: 30px;
}
.cm-msg-text-robot{
   
    padding: 10px 15px 10px 15px;
    color: #666;
    max-width: 75%;
    float: left;
    margin-top: 4px;
    margin-left: 10px;
    position: relative;
    margin-bottom: 20px;
    border-radius: 30px;
}
.cm-msg-text {
    background: white;
    padding: 10px 15px 10px 15px;
    color: #666;
    max-width: 75%;
    float: left;
    margin-top: 4px;
    margin-left: 10px;
    position: relative;
    margin-bottom: 20px;
    border-radius: 30px;
}

.chat-msg {
    clear: both;
}

    .chat-msg.self > .cm-msg-text {
        float: right;
        margin-right: 10px;
        background: #5A5EB9;
        color: white;
    }

.cm-msg-button > ul > li {
    list-style: none;
    float: left;
    width: 50%;
}

.cm-msg-button {
    clear: both;
    margin-bottom: 70px;
}

*/


.selectAvtar {
    position: absolute;
    top: 18px;
    right: 50px;
    font-size: 14px;
    color: #d8d8d8;
}

    .selectAvtar:hover {
        text-decoration: underline;
        cursor: pointer;
    }

.imageAvtar:hover {
    background-color: #f5f5f5;
    border-radius: 50%;
}

.bot-links {
    text-decoration: underline;
    color: #17c6c7;
}

    a.bot-links:hover {
        text-decoration: underline;
        color: #17c6c7;
    }


    /* new chat box design start*/


    
.chat-container {
  width: 400px;
  height: 550px;
  background: white;
  border-radius: 20px;
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.15);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.chat-header {
    background: linear-gradient(-56deg, #7767fC, #0841ec);
    color: white;
    padding: 8px;
    text-align: center;
    font-weight: 600;
    position: relative;
}

 .chat-box .header-icon {
  font-size: 20px;
  margin-right: 8px;
}

 .chat-box .chat-messages {
  flex: 1;
  padding: 20px;
  overflow-y: auto;
  background: #f8fafc;
}

 .chat-box .message {
  display: flex;
  margin-bottom: 15px;
  align-items: flex-start;
}

 .chat-box .message.bot {
  justify-content: flex-start;
}

 .chat-box .message.user {
  justify-content: flex-end;
}
.message.bot {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 10px;
}
.message-feedback-row {
    display: flex;
    align-items: center;
    gap: 6px;
    margin-top: 4px;
    margin-left: 8px; /* small indent to look attached to bubble */
    font-size: 11px;
    color: #6b7280;
}

.feedback-label {
    margin-right: 4px;
}

.message-content {
    display: flex;
    flex-direction: column;
    align-items: flex-start; /* left-aligned under bubble */
    max-width: 80%;
}

 .chat-box .avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  margin: 0 8px;
  position: relative;
}

.chat-box .bot .avatar {
    background: linear-gradient(-56deg, #7767fC, #0841ec);
    color: white;
    box-shadow: 0 2px 10px rgb(0 0 0 / 15%);
}

 .chat-box .user .avatar {
 background: #8080806b;
    color: #ffffff;
    box-shadow: 0 2px 10px rgb(0 0 0 / 15%);
}

/* Common bubble */
.message-bubble {
    display: inline-flex; /* keep column ability if needed later */
    flex-direction: column;
    gap: 4px;
    max-width: 260px;
    padding: 8px 10px;
    border-radius: 16px;
    position: relative;
    animation: messageSlideIn 0.4s ease-out;
    line-height: 1.4;
    font-size: 12px;
}

/* Bot bubble */
.chat-box .bot .message-bubble {
    background: #ffffff;
    color: #1f2937;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

/* User bubble */
.chat-box .user .message-bubble {
    background: linear-gradient(135deg, #3b82f6, #1d4ed8);
    color: #ffffff;
}

@keyframes messageSlideIn {
  from {
    opacity: 0;
    transform: translateY(15px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Enhanced Typing Indicator */
.typing-container {
  display: none;
  align-items: center;
}

.typing-bubble {
  background: white;
  padding: 8px 10px;
  border-radius: 16px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
  min-width: 160px;
}

.typing-content {
  display: flex;
  align-items: center;
  gap: 12px;
}

.typing-dots {
  display: flex;
  gap: 4px;
}

.typing-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #2dd4bf;
  animation: typingBounce 1.4s infinite ease-in-out;
}

.typing-dot:nth-child(1) {
  animation-delay: -0.32s;
}
.typing-dot:nth-child(2) {
  animation-delay: -0.16s;
}
.typing-dot:nth-child(3) {
  animation-delay: 0s;
}

@keyframes typingBounce {
  0%,
  80%,
  100% {
    transform: scale(0.6);
    opacity: 0.4;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}

.typing-text {
  font-size: 13px;
  color: #64748b;
  font-weight: 500;
  min-width: 120px;
  display: flex;
  align-items: center;
  gap: 6px;
  transition: all 0.3s ease;
}

.typing-text .typing-icon {
  font-size: 14px;
  animation: iconPulse 1.5s ease-in-out infinite;
}

@keyframes iconPulse {
  0%,
  100% {
    transform: scale(1);
    opacity: 0.8;
  }
  50% {
    transform: scale(1.1);
    opacity: 1;
  }
}

/* Two-Section Suggestions */
.suggestions-wrapper {
  padding: 0 15px 15px;
  background: white;
  border-top: 1px solid #e2e8f0;
  position: relative;
}

 .chat-box .section {
  margin-bottom: 18px;
}

.chat-box .section-title {
  font-size: 11px;
  color: #64748b;
  margin-bottom: 8px;
  padding-top: 5px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.section-title-left {
  display: flex;
  align-items: center;
  gap: 6px;
}

.section-title .icon {
  font-size: 12px;
}

.close-shortcuts {
  background: none;
  border: none;
  color: #94a3b8;
  cursor: pointer;
  padding: 4px;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  transition: all 0.2s ease;
}

.close-shortcuts:hover {
  background: #f1f5f9;
  color: #64748b;
}

.chat-box .pills-container {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

/* Main Category Pills (Section 1) */
.chat-box .main-pill {
  background: linear-gradient(135deg, #f1f5f9, #e2e8f0);
  color: #334155;
  border: 1px solid #cbd5e1;
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 12px;
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 6px;
  font-weight: 500;
  animation: pillSlideIn 0.4s ease-out;
}

    .chat-box .main-pill:hover {
        background: linear-gradient(135deg, #7767fC, #0841ec);
        color: white;
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(119, 103, 252, 0.4);
        border-color: #3a317b;
    }

    .chat-box .main-pill.active {
        background: linear-gradient(135deg, #7767fC, #0841ec);
        color: white;
        border-color: #3a317b;
        box-shadow: 0 2px 8px rgba(119, 103, 252, 0.3);
    }

.chat-box .main-pill .icon {
  font-size: 14px;
}

/* Sub-suggestion Pills (Section 2) */
.chat-box .sub-pill {
    background: linear-gradient(135deg, #eff6ff, #dbeafe);
    color: #1e40af;
    border: 1px solid #3a317b;
    padding: 6px 10px;
    border-radius: 16px;
    font-size: 11px;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    align-items: center;
    gap: 4px;
    font-weight: 500;
    animation: pillSlideIn 0.4s ease-out;
}

.chat-box .sub-pill:hover {
  background: linear-gradient(135deg, #3b82f6, #1d4ed8);
  color: white;
  transform: translateY(-1px);
  box-shadow: 0 3px 8px rgba(59, 130, 246, 0.3);
  border-color: #3b82f6;
}

 .chat-box .sub-pill .icon {
  font-size: 12px;
}

@keyframes pillSlideIn {
  from {
    opacity: 0;
    transform: translateY(10px) scale(0.9);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

/* Hidden state for sections */
 .chat-box .section.hidden {
  display: none;
}

 .chat-box .section.fade-in {
  animation: fadeInUp 0.5s ease-out;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(15px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

 .chat-box .chat-input {
  padding: 10px 20px;
  border-top: 1px solid #e2e8f0;
  background: white;
}

 .chat-box .input-container {
  position: relative;
  display: flex;
  gap: 10px;
  align-items: center;
}

#messageInput {
  padding-right: 37px; 
  flex-grow: 1;
}

.icon-input {
  font-size: 14px;
  cursor: pointer;
}

.icon-input-container
{
    position: absolute;
    right: 47px;
    cursor: pointer;
    background-color: #0000000a;
    padding: 0px;
    border: 2px solid #334155;
    text-align: center;
    border-radius: 50%;
    height: 23px;
    width: 23px;
    overflow: hidden;
    box-shadow: 0 1px 7px rgb(71 75 74 / 40%);
}

 .chat-box input {
  flex: 1;
  padding: 8px 12px;
  border: 2px solid #e2e8f0;
  border-radius: 25px;
  outline: none;
  font-size: 12px;
  transition: border-color 0.3s ease;
  background: #f8fafc;
}

    .chat-box input:focus {
        border-color: #3a317b;
        background: white;
    }

.chat-box .send-btn {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: linear-gradient(-56deg, #7767fC, #0841ec);
    color: white;
    border: none;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.3s ease;
    font-size: 14px;
}

    .chat-box .send-btn:hover {
        transform: scale(1.1);
        box-shadow: 0 6px 14px rgba(119, 103, 252, 0.4), 0 4px 12px rgba(8, 65, 236, 0.3);
    }

 .chat-box .send-btn:active {
  transform: scale(0.95);
}

 .chat-box .pulse {
  animation: pulse 2s infinite;
}

@keyframes pulse {
    0% {
        box-shadow: 0 0 0 0 rgba(119, 103, 252, 0.7), 0 0 0 0 rgba(8, 65, 236, 0.5);
    }

    70% {
        box-shadow: 0 0 0 8px rgba(119, 103, 252, 0), 0 0 0 12px rgba(8, 65, 236, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(119, 103, 252, 0), 0 0 0 0 rgba(8, 65, 236, 0);
    }
}

/* Smart suggestion indicator */
.chat-box .smart-indicator {
    position: absolute;
    top: -2px;
    right: -2px;
    width: 8px;
    height: 8px;
    background: #3a317b;
    border-radius: 50%;
    border: 1px solid white;
}

/* AI Disclaimer */
 .chat-box .ai-disclaimer {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(148, 163, 184, 0.1);
  backdrop-filter: blur(10px);
  padding: 3px 15px;
  font-size: 10px;
  color: #64748b;
  text-align: center;
  border-top: 1px solid rgba(226, 232, 240, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
}

 .chat-box .ai-disclaimer .ai-icon {
  font-size: 12px;
  opacity: 0.8;
}


        /* new chart */

      
        .chat-box {
    z-index: 99;
    display: none;
    background: #efefef;
    position: fixed;
    right: 30px;
    bottom: 35px;
    width: 390px;
    max-width: 85vw;
    max-height: 87vh;
    min-height:300px;
    border-radius: 20px;
    /*   box-shadow: 0px 5px 35px 9px #464a92; */
    box-shadow: 0px 5px 35px 9px #ccc;
}
         .chat-box button:focus{outline: 0px auto -webkit-focus-ring-color;}

         @font-face {
    font-family: 'Material Icons';
    font-style: normal;
    font-weight: 400;
    src: url(https://fonts.gstatic.com/s/materialicons/v29/2fcrYFNaTjcS6g4U3t-Y5ZjZjT5FdEJ140U2DJYC3mY.woff2) format('woff2');
}

.material-icons {
    font-family: 'Material Icons';
    font-weight: normal;
    font-style: normal;
    font-size: 24px;
    line-height: 1;
    letter-spacing: normal;
    text-transform: none;
    display: inline-block;
    white-space: nowrap;
    word-wrap: normal;
    direction: ltr;
    -webkit-font-feature-settings: 'liga';
    -webkit-font-smoothing: antialiased;
}
.chat-box .avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

/* Feedback row at the end of message */
.message-feedback {
    display: flex;
    align-items: center;
    justify-content: flex-end; /* move to right end */
    gap: 6px;
    margin-top: 4px;
    font-size: 11px;
    color: #6b7280;
    opacity: 0.9;
}

.feedback-btn {
    width: 20px;
    height: 20px;
    border-radius: 50%;
    border: none;
    background: transparent;
    color: transparent;
    -webkit-text-stroke: 1px #6b7280;
    text-stroke: 1px #6b7280;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    font-size: 13px;
    padding: 0;
    margin: 0 1px;
    transition: all 0.25s ease;
    line-height: 1;
}

    .feedback-btn:hover {
        transform: scale(1.3); /* Bigger hover */
        background: rgba(107, 114, 128, 0.25);
        -webkit-text-stroke-color: #475569;
    }

        .feedback-btn:hover:not(.active) {
            color: transparent;
            -webkit-text-stroke: 1px #475569;
        }

    .feedback-btn.active {
        color: #000000 !important; /* Solid black icon */
        -webkit-text-stroke: 0 !important;
        background: rgba(0, 0, 0, 0.1); /* Ultra-subtle bg tint (optional) */
    }

        .feedback-btn.active:hover {
            transform: scale(1.3);
            background: rgba(0, 0, 0, 0.2);
        }

.suggestions-wrapper.hidden {
    max-height: 0;
    opacity: 0;
    transform: translateY(-10px);
    padding-top: 0;
    padding-bottom: 0;
    margin-top: 0;
}

.ai-loader-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(248, 250, 252, 0.98));
    backdrop-filter: blur(10px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    border-radius: 20px;
    animation: fadeIn 0.3s ease-in;
}
@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}
.ai-loader-content {
    text-align: center;
    padding: 40px 20px;
    animation: slideUp 0.5s ease-out;
}
@keyframes slideUp {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.ai-loader-spinner {
    width: 60px;
    height: 60px;
    margin: 0 auto 25px;
    border: 5px solid #f3f4f6;
    border-top: 5px solid #7767fc;
    border-right: 5px solid #0841ec;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}
.ai-loader-text {
    color: #334155;
}

.loader-emoji {
    font-size: 50px;
    display: block;
    margin-bottom: 15px;
    animation: loaderPulse 1.5s ease-in-out infinite;
}

@keyframes loaderPulse {
    0%, 100% {
        transform: scale(1);
        opacity: 1;
    }

    50% {
        transform: scale(1.15);
        opacity: 0.7;
    }
}

.ai-loader-text h3 {
    margin: 15px 0 10px;
    font-size: 20px;
    font-weight: 600;
    color: #1e293b;
    letter-spacing: -0.5px;
}

.loader-subtitle {
    font-size: 14px;
    color: #64748b;
    margin: 8px 0;
    transition: opacity 0.2s ease;
    min-height: 20px;
    font-weight: 500;
}

/* Make sure chat-container has relative positioning for absolute overlay */
.chat-container {
    position: relative;
}