/* Chatbot Styles */
.gic-chat { position: fixed; right: 24px; bottom: 15px; z-index: 9998; }
.gic-chat-toggle {
    width: 60px; height: 60px; border-radius: 50%; border: none;
    background: linear-gradient(135deg, #005aa7, #49b200);
    color: #fff; font-size: 24px; cursor: pointer;
    box-shadow: 0 8px 24px rgba(0,0,0,0.25);
    display: flex; align-items: center; justify-content: center;
    transition: transform .2s; position: relative;
}
.gic-chat-toggle:hover { transform: scale(1.07); }
.gic-chat-toggle .gic-ic-close { display: none; }
.gic-chat.open .gic-chat-toggle .gic-ic-open { display: none; }
.gic-chat.open .gic-chat-toggle .gic-ic-close { display: block; }
.gic-chat-toggle::after {
    content:''; position:absolute; inset:0; border-radius:50%;
    border: 2px solid #49b200; animation: gicPulse 2s infinite;
}
@keyframes gicPulse { 0%{transform:scale(1);opacity:.7} 100%{transform:scale(1.6);opacity:0} }
.gic-chat.open .gic-chat-toggle::after { display:none; }
.gic-agent-img { width:calc(100% - 8px); height:calc(100% - 14px); border-radius:50%; object-fit:cover; display:block; border:2px solid #fff; }

/* tooltip beside the chat button */
.gic-tip {
   position: absolute;
   right: 72px;
   bottom: 13px;
   white-space: nowrap;
   background: #fff;
   color: #1f2a37;
   font-size: 13px;
   font-weight: 600;
   padding: 9px 14px;
   border-radius: 22px;
   box-shadow: 0 6px 18px rgba(0,0,0,0.18);
   opacity: 0;
   transform: translateX(8px);
   pointer-events: none;
   transition: opacity .25s, transform .25s;
   animation: gicTipIntro 6s ease 2s 1 both;
}
.gic-tip::after {
   content: '';
   position: absolute;
   right: -6px;
   top: 50%;
   transform: translateY(-50%);
   border-left: 7px solid #fff;
   border-top: 6px solid transparent;
   border-bottom: 6px solid transparent;
}
.gic-chat-toggle:hover + .gic-tip {
   opacity: 1;
   transform: translateX(0);
   animation: none;
}
.gic-chat.open .gic-tip { display: none; }
@keyframes gicTipIntro {
   0%   { opacity: 0; transform: translateX(8px); }
   10%  { opacity: 1; transform: translateX(0); }
   80%  { opacity: 1; transform: translateX(0); }
   100% { opacity: 0; transform: translateX(8px); }
}
@media (max-width: 480px) { .gic-tip { display: none; } }

.gic-chat-panel {
    position: absolute; bottom: 76px; right: 0;
    width: 340px; max-width: calc(100vw - 32px);
    background: #fff; border-radius: 16px; overflow: hidden;
    box-shadow: 0 18px 50px rgba(0,0,0,0.28);
    opacity: 0; visibility: hidden; transform: translateY(16px) scale(.98);
    transform-origin: bottom right;
    transition: opacity .25s, transform .25s, visibility .25s;
}
.gic-chat.open .gic-chat-panel { opacity:1; visibility:visible; transform: translateY(0) scale(1); }

.gic-chat-head {
    background: linear-gradient(135deg, #005aa7, #49b200);
    color:#fff; padding: 14px 16px; display:flex; align-items:center; justify-content:space-between;
}
.gic-chat-head-info { display:flex; align-items:center; gap:10px; }
.gic-avatar { width:38px; height:38px; border-radius:50%; background:rgba(255,255,255,.2); display:flex; align-items:center; justify-content:center; font-size:16px; }
.gic-chat-head strong { display:block; font-size:15px; color:#fff; font-weight: 500;}
.gic-chat-head small { font-size:11px; opacity:.85; margin-top: 3px; display:flex; align-items:center; gap:5px; }
.gic-dot { width:6px; height:6px; border-radius:50%; background:#3ee06a; display:inline-block; }
.gic-chat-min { background:transparent; border:none; color:#fff; font-size:16px; cursor:pointer; }

.gic-chat-body { padding: 16px; height: 300px; overflow-y:auto; background:#f6f8fb; }
.gic-msg { display:flex; gap:8px; margin-bottom:12px; align-items:flex-end; }
.gic-msg.user { flex-direction: row-reverse; }
.gic-msg-ic { width:28px; height:28px; border-radius:50%; background:#005aa7; color:#fff; display:flex; align-items:center; justify-content:center; font-size:12px; flex:0 0 auto; }
.gic-bubble { max-width:80%; padding:10px 13px; border-radius:14px; font-size:13.5px; line-height:1.55; }
.gic-msg.bot .gic-bubble { background:#fff; color:#333; border-top-left-radius:4px; box-shadow:0 2px 8px rgba(0,0,0,.06); }
.gic-msg.user .gic-bubble { background:#005aa7; color:#fff; border-bottom-right-radius:4px; }
.gic-bubble b { font-weight: 400; }

.gic-typing span { display:inline-block; width:6px; height:6px; border-radius:50%; background:#b0b6be; margin:0 1px; animation: gicBlink 1.2s infinite; }
.gic-typing span:nth-child(2){ animation-delay:.2s } .gic-typing span:nth-child(3){ animation-delay:.4s }
@keyframes gicBlink { 0%,60%,100%{opacity:.3} 30%{opacity:1} }

.gic-chat-quick { padding: 0 12px 10px; display:flex; flex-wrap:wrap; gap:8px; max-height:120px; overflow-y:auto; background:#f6f8fb; }
.gic-chip { background:#fff; border:1px solid #d7e3ef; color:#005aa7; border-radius:20px; padding:7px 12px; font-size:12.5px; cursor:pointer; transition: background .2s, color .2s, border-color .2s; }
.gic-chip:hover { background:#005aa7; color:#fff; border-color:#005aa7; }

.gic-chat-input { display:flex; gap:8px; padding:10px 12px; border-top:1px solid #eee; background:#fff; }
.gic-chat-input input { flex:1; border:1px solid #d7e3ef; border-radius:22px; padding:9px 15px; font-size:13.5px; outline:none; }
.gic-chat-input input:focus { border-color:#49b200; }
.gic-chat-input button { width:38px; height:38px; flex:0 0 auto; border:none; border-radius:50%; background:linear-gradient(135deg,#005aa7,#49b200); color:#fff; font-size:14px; cursor:pointer; }
.gic-chat-input button:hover { opacity:.9; }

.gic-chat-actions { display:flex; border-top:1px solid #eee; }
.gic-act { flex:1; text-align:center; padding:12px 4px; font-size:13px; font-weight:600; text-decoration:none; display:flex; align-items:center; justify-content:center; gap:6px; }
.gic-act.call { color:#005aa7; } .gic-act.wa { color:#25d366; } .gic-act.enq { color:#49b200; }
.gic-act + .gic-act { border-left:1px solid #eee; }
.gic-act:hover { background:#eef3f8; }

@media (max-width: 480px) {
    .gic-chat { right: 16px; bottom: 88px; }
    .gic-chat-panel { width: calc(100vw - 32px); }
}
