/* =========================================
   VRITTI AI CHATBOT
========================================= */

.vr-chatbot-wrapper{

  position:fixed;

  right:20px;
  bottom:20px;

  z-index:999999999;

  font-family:'Inter',sans-serif;

}

/* =========================================
   FLOATING BUTTON
========================================= */

.vr-chat-toggle{

  width:64px;
  height:64px;

  border:none;

  border-radius:20px;

  cursor:pointer;

  background:
  linear-gradient(
    135deg,
    #2563eb 0%,
    #7c3aed 100%
  );

  color:#ffffff;

  display:flex;
  align-items:center;
  justify-content:center;

  position:relative;

  overflow:hidden;

  transition:.3s ease;

  box-shadow:
    0 18px 50px rgba(37,99,235,.28);

}

/* HOVER */

.vr-chat-toggle:hover{

  transform:
    translateY(-4px)
    scale(1.04);

}

/* =========================================
   FIXED CHAT ICON
========================================= */

.vr-chat-icon{

  position:relative;

  z-index:5;

  font-size:30px;

  line-height:1;

  color:#ffffff;

  display:flex;

  align-items:center;

  justify-content:center;

}

/* =========================================
   PULSE EFFECT
========================================= */

.vr-pulse{

  position:absolute;

  inset:0;

  border-radius:20px;

  background:
    rgba(37,99,235,.25);

  animation:vrPulse 2s infinite;

}

@keyframes vrPulse{

  0%{

    transform:scale(1);

    opacity:.55;

  }

  70%{

    transform:scale(1.4);

    opacity:0;

  }

  100%{

    opacity:0;

  }

}

/* =========================================
   CHAT WINDOW
========================================= */

.vr-chat-container{

  width:360px;
  height:620px;

  background:
    rgba(255,255,255,.97);

  backdrop-filter:blur(18px);

  border-radius:28px;

  overflow:hidden;

  display:none;

  flex-direction:column;

  margin-bottom:16px;

  border:
    1px solid rgba(255,255,255,.2);

  box-shadow:
    0 30px 80px rgba(0,0,0,.14);

  animation:vrOpen .28s ease;

}

@keyframes vrOpen{

  from{

    opacity:0;

    transform:
      translateY(20px)
      scale(.95);

  }

  to{

    opacity:1;

    transform:
      translateY(0)
      scale(1);

  }

}

/* =========================================
   HEADER
========================================= */

.vr-chat-header{

  padding:18px;

  background:
  linear-gradient(
    135deg,
    #0f172a 0%,
    #2563eb 55%,
    #7c3aed 100%
  );

  color:#ffffff;

  display:flex;

  align-items:center;

  justify-content:space-between;

}

.vr-header-content{

  display:flex;

  align-items:center;

  gap:12px;

}

/* =========================================
   AVATAR
========================================= */

.vr-avatar{

  width:48px;
  height:48px;

  border-radius:14px;

  overflow:hidden;

  background:#ffffff;

  flex-shrink:0;

  border:2px solid rgba(255,255,255,.15);

}

.vr-avatar img{

  width:100%;
  height:100%;

  object-fit:cover;

}

/* =========================================
   HEADER TEXT
========================================= */

.vr-chat-header h3{

  margin:0;

  font-size:18px;

  font-weight:800;

  line-height:1.2;

}

.vr-chat-header p{

  margin:3px 0 0;

  font-size:11px;

  opacity:.9;

}

/* =========================================
   CLOSE BUTTON
========================================= */

#vrChatClose{

  width:34px;
  height:34px;

  border:none;

  border-radius:10px;

  background:
    rgba(255,255,255,.12);

  color:#ffffff;

  cursor:pointer;

  transition:.25s ease;

}

#vrChatClose:hover{

  transform:rotate(90deg);

  background:
    rgba(255,255,255,.22);

}

/* =========================================
   BODY
========================================= */

.vr-chat-body{

  flex:1;

  overflow-y:auto;

  padding:16px;

  background:
    linear-gradient(
      180deg,
      #f8fafc 0%,
      #eef2ff 100%
    );

  scroll-behavior:smooth;

}

.vr-chat-body::-webkit-scrollbar{

  width:4px;

}

.vr-chat-body::-webkit-scrollbar-thumb{

  background:#cbd5e1;

  border-radius:20px;

}

/* =========================================
   CHAT BUBBLES
========================================= */

.vr-bot-message,
.vr-user-message{

  max-width:84%;

  padding:13px 15px;

  margin-bottom:10px;

  border-radius:18px;

  font-size:13px;

  line-height:1.5;

  animation:vrMsg .2s ease;

}

@keyframes vrMsg{

  from{

    opacity:0;

    transform:translateY(8px);

  }

  to{

    opacity:1;

    transform:translateY(0);

  }

}

/* BOT */

.vr-bot-message{

  background:#ffffff;

  color:#0f172a;

  border:
    1px solid #e5e7eb;

  border-bottom-left-radius:5px;

}

/* USER */

.vr-user-message{

  margin-left:auto;

  color:#ffffff;

  background:
  linear-gradient(
    135deg,
    #2563eb 0%,
    #7c3aed 100%
  );

  border-bottom-right-radius:5px;

}

/* =========================================
   OPTIONS GRID
========================================= */

.vr-chat-options{

  padding:14px;

  display:grid;

  grid-template-columns:1fr 1fr;

  gap:10px;

  background:#ffffff;

  border-top:
    1px solid #e5e7eb;

}

/* =========================================
   BUTTONS
========================================= */

.vr-option-btn{

  width:100%;

  height:66px;

  border:none;

  border-radius:16px;

  background:#eef2ff;

  color:#2563eb;

  font-size:12px;

  font-weight:700;

  text-align:center;

  line-height:1.4;

  cursor:pointer;

  transition:.25s ease;

  padding:10px;

}

.vr-option-btn:hover{

  background:
  linear-gradient(
    135deg,
    #2563eb 0%,
    #7c3aed 100%
  );

  color:#ffffff;

  transform:
    translateY(-2px);

}

/* =========================================
   CONTACT STRIP
========================================= */

.vr-contact-strip{

  display:grid;

  grid-template-columns:1fr 1fr 1fr;

  gap:8px;

  padding:12px;

  background:#ffffff;

  border-top:
    1px solid #e5e7eb;

}

.vr-contact-strip a{

  text-decoration:none;

  background:#f8fafc;

  color:#0f172a;

  font-size:11px;

  font-weight:700;

  text-align:center;

  padding:10px 6px;

  border-radius:12px;

  transition:.25s ease;

}

.vr-contact-strip a:hover{

  background:
  linear-gradient(
    135deg,
    #2563eb 0%,
    #7c3aed 100%
  );

  color:#ffffff;

}

/* =========================================
   TYPING
========================================= */

.vr-typing{

  width:max-content;

  display:flex;

  align-items:center;

  gap:4px;

  padding:12px 14px;

  background:#ffffff;

  border-radius:16px;

  margin-bottom:10px;

}

.vr-typing span{

  width:6px;
  height:6px;

  border-radius:50%;

  background:#2563eb;

  animation:vrTyping 1.2s infinite;

}

.vr-typing span:nth-child(2){

  animation-delay:.2s;

}

.vr-typing span:nth-child(3){

  animation-delay:.4s;

}

@keyframes vrTyping{

  0%,80%,100%{

    opacity:.3;

    transform:scale(.8);

  }

  40%{

    opacity:1;

    transform:scale(1);

  }

}

/* =========================================
   MOBILE
========================================= */

@media(max-width:768px){

  .vr-chatbot-wrapper{

    right:12px;
    bottom:12px;

  }

  .vr-chat-container{

    width:calc(100vw - 24px);

    height:76vh;

    border-radius:22px;

  }

  .vr-chat-toggle{

    width:58px;
    height:58px;

    border-radius:18px;

  }

  .vr-chat-icon{

    font-size:26px;

  }

  .vr-chat-options{

    grid-template-columns:1fr;

  }

  .vr-option-btn{

    height:56px;

    font-size:12px;

  }

  .vr-contact-strip{

    grid-template-columns:1fr 1fr 1fr;

  }

}