/* ============ CHATBOT IVOLERA ============ */
#chatbot{position:fixed;right:20px;bottom:20px;z-index:90;font-family:'Plus Jakarta Sans',sans-serif}

#ct{
  position:relative;width:66px;height:66px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,#192524,#3C5759);color:#fff;
  border:1px solid rgba(255,255,255,.2);
  box-shadow:0 8px 24px rgba(25,37,36,.28);
  cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;
}
#ct:hover{transform:scale(1.06);box-shadow:0 12px 32px rgba(25,37,36,.36)}
#ct::before{
  content:"";position:absolute;inset:-4px;border-radius:50%;
  background:radial-gradient(circle,rgba(200,162,94,.4),transparent 70%);
  animation:ctPulse 2.4s ease-out infinite;pointer-events:none;
}
@keyframes ctPulse{0%{transform:scale(.9);opacity:.8}100%{transform:scale(1.5);opacity:0}}

#cp{
  position:absolute;right:0;bottom:78px;
  width:min(380px,calc(100vw - 40px));
  max-height:min(560px,calc(100vh - 140px));
  background:var(--bg,#F7F5F3);
  border:1px solid var(--line,#D0D5CE);
  border-radius:20px;
  box-shadow:0 24px 60px -20px rgba(0,0,0,.5);
  display:flex;flex-direction:column;overflow:hidden;
  transform:translateY(16px) scale(.94);opacity:0;visibility:hidden;
  transform-origin:bottom right;transition:.3s cubic-bezier(.22,1,.36,1);
}
#cp.open{transform:none;opacity:1;visibility:visible}

#cm{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
#cm::-webkit-scrollbar{width:6px}
#cm::-webkit-scrollbar-thumb{background:rgba(60,87,89,.25);border-radius:9px}

.b{max-width:84%;padding:10px 14px;border-radius:16px;font-size:13px;line-height:1.55;word-wrap:break-word;animation:bIn .28s ease-out}
@keyframes bIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.b.bot{background:var(--bg2,#EFECE9);color:var(--ink,#192524);align-self:flex-start;border-bottom-left-radius:4px}
.b.user{background:#3C5759;color:#fff;align-self:flex-end;border-bottom-right-radius:4px}
.b b{font-weight:700}
.b s{opacity:.55}

/* Quick replies dinamis */
#qk-wrap{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.qk{
  padding:7px 12px;border-radius:99px;
  border:1px solid var(--line,#D0D5CE);
  background:var(--card,#fff);font-size:12px;font-weight:600;
  cursor:pointer;color:var(--ink,#192524);
  transition:.18s;font-family:inherit;
}
.qk:hover{background:#D1EBDB;color:#192524;border-color:#D1EBDB;transform:translateY(-1px)}

/* Typing indicator */
.typing{display:inline-flex;gap:4px;align-items:center}
.typing span{width:6px;height:6px;border-radius:50%;background:#C8A25E;display:inline-block;animation:td 1.2s infinite}
.typing span:nth-child(2){animation-delay:.2s}
.typing span:nth-child(3){animation-delay:.4s}
@keyframes td{0%,60%,100%{transform:translateY(0);opacity:.4}30%{transform:translateY(-4px);opacity:1}}

/* Notif badge */
#cb{
  position:absolute;top:-2px;right:-2px;width:18px;height:18px;border-radius:50%;
  background:#D1EBDB;color:#192524;font-size:10px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 6px rgba(0,0,0,.2);
  animation:cbBounce 1.6s ease-in-out infinite;
}
@keyframes cbBounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}

/* Form input */
#cf input:focus{border-color:#C8A25E;box-shadow:0 0 0 3px rgba(200,162,94,.18)}
#cf button[type="submit"]:hover{background:#192524!important;transform:scale(1.05)}
#cf button[type="submit"]{transition:.2s}

/* Dark mode adjustments */
.dark #cp{background:#0F1817;border-color:#2F4547}
.dark .b.bot{background:#192524;color:#EFECE9}
.dark .qk{background:#192524;color:#EFECE9;border-color:#2F4547}
.dark .qk:hover{background:#D1EBDB;color:#192524}

/* ============ CTA BUTTON DI CHATBOT ============ */
.b .cta-btn{
  display:inline-flex;align-items:center;gap:6px;
  margin-top:10px;padding:9px 16px;border-radius:99px;
  background:linear-gradient(135deg,#E2C27F,#C8A25E);
  color:#192524;font-weight:800;font-size:12.5px;
  text-decoration:none;transition:.2s;
  box-shadow:0 6px 16px -6px rgba(200,162,94,.7);
  white-space:nowrap;font-family:inherit;border:none;cursor:pointer;
}
.b .cta-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.b .cta-btn.wa{background:linear-gradient(135deg,#25D366,#128C7E);color:#fff;
  box-shadow:0 6px 16px -6px rgba(37,211,102,.6)}
.b .cta-btn.ghost{background:transparent;border:1.5px solid var(--gold,#C8A25E);
  color:var(--gold,#C8A25E);box-shadow:none}
.b .cta-btn.ghost:hover{background:var(--gold,#C8A25E);color:#192524}

/* Paket info card di chatbot */
.b .chat-paket{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  margin-top:8px;padding:10px 12px;border-radius:12px;
  background:linear-gradient(135deg,rgba(200,162,94,.18),rgba(200,162,94,.06));
  border:1.5px solid var(--gold,#C8A25E);
}
.b .chat-paket .cp-name{font-weight:800;font-size:14px;color:var(--ink,#192524)}
.b .chat-paket .cp-price{font-weight:800;font-size:15px;color:var(--gold,#C8A25E)}

.dark .b .chat-paket{background:rgba(200,162,94,.15)}

@media(max-width:480px){
  #chatbot{right:14px;bottom:14px}
  #cp{bottom:74px;width:calc(100vw - 28px)}
  #ct{width:58px;height:58px}
}

