/* Akonda AI Chat Widget */
#ak-chat-btn{position:fixed;bottom:24px;right:24px;z-index:99997;width:76px;height:76px;border-radius:50%;background:linear-gradient(135deg,#1f3569,#2a4a8a);border:none;cursor:pointer;box-shadow:0 6px 28px rgba(31,53,105,.5);display:flex;align-items:center;justify-content:center;transition:all .3s}
#ak-chat-btn:hover{transform:scale(1.08);box-shadow:0 8px 36px rgba(31,53,105,.65)}
#ak-chat-btn svg{width:36px;height:36px;fill:#fff}
#ak-chat-btn .ak-badge{position:absolute;top:2px;right:2px;width:16px;height:16px;background:#27ae60;border-radius:50%;border:2px solid #fff}

#ak-chat-window{position:fixed;bottom:112px;right:24px;z-index:99998;width:460px;max-width:calc(100vw - 32px);height:680px;max-height:calc(100vh - 140px);background:#fff;border-radius:18px;box-shadow:0 16px 56px rgba(0,0,0,.22);display:none;flex-direction:column;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif}
#ak-chat-window.ak-open{display:flex}

/* Header */
.ak-chat-header{background:linear-gradient(135deg,#1f3569 0%,#2a4a8a 100%);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;flex-shrink:0}
.ak-chat-header-left{display:flex;align-items:center;gap:14px}
.ak-chat-avatar{width:44px;height:44px;background:rgba(255,255,255,.15);border-radius:14px;display:flex;align-items:center;justify-content:center;position:relative}
.ak-chat-avatar svg{width:22px;height:22px;fill:#fff}
.ak-chat-avatar .ak-online{position:absolute;bottom:-2px;right:-2px;width:13px;height:13px;background:#27ae60;border-radius:50%;border:2.5px solid #1f3569;animation:ak-pulse-dot 2s ease-in-out infinite}
@keyframes ak-pulse-dot{0%,100%{box-shadow:0 0 0 0 rgba(39,174,96,.5)}50%{box-shadow:0 0 0 6px rgba(39,174,96,0)}}
.ak-chat-header-info h4{margin:0;color:#fff;font-size:16px;font-weight:700;line-height:1.2;letter-spacing:-.2px}
.ak-chat-header-info p{margin:3px 0 0;color:rgba(255,255,255,.6);font-size:12px;font-weight:500}
.ak-chat-close{background:rgba(255,255,255,.1);border:none;color:rgba(255,255,255,.7);font-size:18px;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s;line-height:1}
.ak-chat-close:hover{color:#fff;background:rgba(255,255,255,.2)}

/* Pre-chat form */
.ak-chat-form{padding:28px 24px;flex:1;overflow-y:auto;display:flex;flex-direction:column;justify-content:center}
.ak-chat-form h5{margin:0 0 6px;font-size:21px;font-weight:700;color:#1a1a2e;letter-spacing:-.3px}
.ak-chat-form p{margin:0 0 22px;font-size:14px;color:#888;line-height:1.5}

.ak-field{margin-bottom:18px}
.ak-field label{display:block;font-size:12px;font-weight:700;color:#1f3569;text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px}
.ak-field input{width:100%;padding:15px 16px;border:2px solid #e0e4ea;border-radius:12px;font-size:16px;font-family:inherit;box-sizing:border-box;transition:all .2s;background:#fff;color:#1a1a2e}
.ak-field input:focus{outline:none;border-color:#1f3569;box-shadow:0 0 0 4px rgba(31,53,105,.06)}
.ak-field input::placeholder{color:#bbb;font-size:15px;font-weight:400}

.ak-chat-form-btn{width:100%;padding:16px;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:700;cursor:pointer;transition:all .25s;margin-top:6px;letter-spacing:.2px;box-shadow:0 4px 14px rgba(39,174,96,.3)}
.ak-chat-form-btn:hover{box-shadow:0 6px 20px rgba(39,174,96,.4);transform:translateY(-1px)}
.ak-chat-form-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.ak-chat-form-skip{display:block;text-align:center;margin-top:14px;color:#bbb;font-size:13px;cursor:pointer;text-decoration:none;transition:color .2s}
.ak-chat-form-skip:hover{color:#1f3569}

/* Messages */
.ak-chat-body{flex:1;display:flex;flex-direction:column;overflow:hidden}
.ak-chat-messages{flex:1;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:8px;scroll-behavior:smooth}
.ak-msg{max-width:82%;padding:11px 15px;font-size:14px;line-height:1.6;word-wrap:break-word}
.ak-msg a{color:#1f3569;text-decoration:underline}
.ak-msg-user{align-self:flex-end;background:#1f3569;color:#fff;border-radius:16px 16px 4px 16px}
.ak-msg-bot{align-self:flex-start;background:#f3f4f6;color:#333;border-radius:16px 16px 16px 4px}
.ak-msg-bot strong{font-weight:600}

/* Link buttons */
.ak-link-btn{display:inline-block;padding:7px 14px;margin:3px 4px 3px 0;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none!important;transition:all .15s;border:1.5px solid #1f3569;color:#1f3569!important;background:#fff;cursor:pointer}
.ak-link-btn:hover{background:#1f3569;color:#fff!important}
.ak-link-phone{border-color:#27ae60;color:#27ae60!important}
.ak-link-phone:hover{background:#27ae60;color:#fff!important}
.ak-link-email{border-color:#2980b9;color:#2980b9!important}
.ak-link-email:hover{background:#2980b9;color:#fff!important}

/* Quote CTA button in chat */
.ak-quote-btn{display:block;margin:8px 0 4px;padding:12px 18px;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff!important;border-radius:10px;font-size:14px;font-weight:700;text-decoration:none!important;text-align:center;transition:all .2s;box-shadow:0 3px 10px rgba(39,174,96,.25)}
.ak-quote-btn:hover{box-shadow:0 5px 16px rgba(39,174,96,.35);transform:translateY(-1px);color:#fff!important}

.ak-typing{align-self:flex-start;background:#f3f4f6;border-radius:16px;padding:12px 18px;display:none}
.ak-typing.ak-show{display:flex;gap:4px;align-items:center}
.ak-typing span{display:block;width:7px;height:7px;background:#aaa;border-radius:50%;animation:ak-bounce .6s infinite alternate}
.ak-typing span:nth-child(2){animation-delay:.15s}
.ak-typing span:nth-child(3){animation-delay:.3s}
@keyframes ak-bounce{to{transform:translateY(-5px);opacity:.3}}

/* Input */
.ak-chat-input{display:flex;gap:8px;padding:12px 14px;border-top:1px solid #f0f0f0;flex-shrink:0;background:#fff}
.ak-chat-input input{flex:1;padding:12px 16px;border:2px solid #e0e4ea;border-radius:22px;font-size:15px;font-family:inherit;outline:none;background:#fff;transition:border-color .2s;color:#1a1a2e}
.ak-chat-input input:focus{border-color:#1f3569}
.ak-chat-input input::placeholder{color:#bbb}
.ak-chat-input button{width:42px;height:42px;background:linear-gradient(135deg,#1f3569,#2a4a8a);color:#fff;border:none;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}
.ak-chat-input button:hover{transform:scale(1.06)}
.ak-chat-input button svg{width:20px;height:20px;fill:#fff}

/* Human handoff */
.ak-human-btn{display:block;margin:4px 14px 10px;padding:10px;background:#f8f9fa;border:none;border-radius:10px;color:#888;font-size:12px;cursor:pointer;text-align:center;transition:all .2s;flex-shrink:0}
.ak-human-btn:hover{color:#1f3569;background:#eef1f7}

/* Inline message form */
.ak-msg-form{padding:8px 0;align-self:stretch}
.ak-msg-form textarea{width:100%;padding:14px 16px;border:2px solid #e0e4ea;border-radius:12px;font-size:14px;font-family:inherit;resize:vertical;min-height:80px;box-sizing:border-box;background:#fff;transition:border-color .2s;color:#1a1a2e}
.ak-msg-form textarea:focus{outline:none;border-color:#1f3569}
.ak-msg-form textarea::placeholder{color:#bbb}
.ak-msg-form-btn{width:100%;margin-top:8px;padding:12px;background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 3px 10px rgba(39,174,96,.2)}
.ak-msg-form-btn:hover{transform:translateY(-1px);box-shadow:0 5px 16px rgba(39,174,96,.3)}
.ak-msg-form-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}

@media(max-width:480px){
  #ak-chat-window{bottom:0;right:0;width:100%;max-width:100%;height:100vh;max-height:100vh;border-radius:0}
  #ak-chat-btn{bottom:16px;right:16px;width:68px;height:68px}
}
