body {
  position: relative;
  font-family: 'Segoe UI', sans-serif;
  z-index: 1;
}
body::before {
  content: "";
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  background-image: url("../img/1231.jpg_wh1200.jpg");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  filter: blur(5px);
  z-index: -1;
  opacity: 1; /* optional: bikin sedikit transparan */
}

.card {
  border-radius: 20px;
  overflow: hidden;
  background-color: #ffffff;
}

.card-header {
  background-color: #a3d9a5;
  color: #2f4f2f;
  font-size: 22px;
  font-weight: bold;
  border-bottom: 3px solid #7ac47f;
  position: relative;
}

.card-header::before {
  content: "🌿";
  font-size: 24px;
  margin-right: 10px;
}

#chat-box {
  height: 400px;
  overflow-y: auto;
  padding: 15px;
  background-color: #f4fef6;
  border-radius: 0 0 10px 10px;
}

/* === USER MESSAGE === */
.user-msg {
  background-color: #d2f5c1;
  color: #2e4639;
  padding: 10px 15px;
  border-radius: 15px 15px 0 15px;
  margin-bottom: 10px;
  max-width: 75%;
  align-self: end;
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.1);
  position: relative;
}

/* === BOT MESSAGE === */
.bot-msg {
  background-color: #b9dfba;
  padding: 15px 10px 15px 15px;
  border-radius: 15px 15px 15px 0px;
  margin-bottom: 10px;
  max-width: 55%;
  align-self: start;
  color: #253a2c;
  position: relative;
  margin-left: 20px;
}

.bot-msg::before {
  content: "🤖";
  padding: 10px 15px 10px 35px;
  position: absolute;
  left: -70px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 22px;
}

/* === CHAT WRAPPER === */
.chat-wrapper {
  display: flex;
  flex-direction: column;
}

/* === FOOTER INPUT AREA === */
.card-footer {
  background-color: #f4fef6;
  border-top: 2px solid #c4e3c5;
  border-radius: 0 0 15px 15px;
}

.card-footer i {
  color: #4caf50;
  transition: transform 0.2s;
}

.card-footer i:hover {
  transform: scale(1.2);
  color: #2e7d32;
}

/* === LODAING DOTS === */
.loading-dots .dot {
  animation: blink 1s infinite;
  opacity: 0;
}
.loading-dots .dot:nth-child(1) { animation-delay: 0s; }
.loading-dots .dot:nth-child(2) { animation-delay: 0.2s; }
.loading-dots .dot:nth-child(3) { animation-delay: 0.4s; }

@keyframes blink {
  50% { opacity: 1; }
}

