/* ============ MAALIO CHATBOT ============ */
.maalio-chat-btn{
  position:fixed;bottom:24px;right:24px;z-index:9990;
  width:60px;height:60px;border-radius:50%;
  background:linear-gradient(135deg,#4a9eff,#2c6dd4);
  border:none;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 10px 30px rgba(74,158,255,.5),0 0 0 0 rgba(74,158,255,.7);
  transition:transform .3s cubic-bezier(.22,1,.36,1),box-shadow .3s;
  animation:maalioPulse 2.5s infinite;
}
.maalio-chat-btn:hover{transform:scale(1.1);box-shadow:0 15px 40px rgba(74,158,255,.7)}
.maalio-chat-btn svg{width:26px;height:26px;fill:#fff}
.maalio-chat-btn.hidden{display:none}
@keyframes maalioPulse{
  0%{box-shadow:0 10px 30px rgba(74,158,255,.5),0 0 0 0 rgba(74,158,255,.7)}
  70%{box-shadow:0 10px 30px rgba(74,158,255,.5),0 0 0 18px rgba(74,158,255,0)}
  100%{box-shadow:0 10px 30px rgba(74,158,255,.5),0 0 0 0 rgba(74,158,255,0)}
}

/* ============ PROAKTIIVINEN KUPLA ============ */
.maalio-chat-bubble{
  position:fixed;bottom:100px;right:24px;z-index:9989;
  max-width:280px;padding:14px 18px 14px 16px;
  border-radius:16px 16px 4px 16px;
  background:linear-gradient(135deg,#4a9eff,#2c6dd4);
  color:#fff;font-family:'Inter',system-ui,sans-serif;
  font-size:.88rem;line-height:1.45;font-weight:500;
  box-shadow:0 12px 36px rgba(74,158,255,.5);
  cursor:pointer;
  opacity:0;transform:translateY(10px) scale(.9);
  transition:opacity .35s cubic-bezier(.22,1,.36,1),transform .35s cubic-bezier(.22,1,.36,1);
  pointer-events:none;
}
.maalio-chat-bubble.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.maalio-chat-bubble::after{
  content:'';position:absolute;bottom:-6px;right:18px;
  width:14px;height:14px;
  background:linear-gradient(135deg,#4a9eff,#2c6dd4);
  transform:rotate(45deg);border-radius:2px;
}
.maalio-chat-bubble .bubble-close{
  position:absolute;top:6px;right:8px;
  width:20px;height:20px;border-radius:50%;
  background:rgba(255,255,255,.15);border:none;color:#fff;
  font-size:.7rem;cursor:pointer;line-height:1;
  display:flex;align-items:center;justify-content:center;
  opacity:.7;transition:opacity .2s,background .2s;
}
.maalio-chat-bubble .bubble-close:hover{opacity:1;background:rgba(255,255,255,.3)}

.maalio-chat{
  position:fixed;bottom:24px;right:24px;z-index:9991;
  width:400px;max-width:calc(100vw - 32px);
  height:600px;max-height:calc(100vh - 48px);
  border-radius:20px;overflow:hidden;
  background:#0a1120;
  border:1px solid rgba(140,180,255,.18);
  box-shadow:0 30px 80px rgba(0,0,0,.6),0 0 0 1px rgba(74,158,255,.1);
  display:flex;flex-direction:column;
  opacity:0;pointer-events:none;transform:translateY(20px) scale(.96);
  transition:opacity .35s cubic-bezier(.22,1,.36,1),transform .35s cubic-bezier(.22,1,.36,1);
  font-family:'Inter',system-ui,sans-serif;
}
.maalio-chat.open{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}

.maalio-chat-header{
  padding:18px 20px;
  background:linear-gradient(180deg,rgba(74,158,255,.1),rgba(74,158,255,.02));
  border-bottom:1px solid rgba(140,180,255,.15);
  display:flex;align-items:center;gap:12px;
  position:relative;
}
.maalio-chat-header::before{
  content:'';position:absolute;top:-1px;left:20%;right:20%;height:1px;
  background:linear-gradient(90deg,transparent,#4a9eff,transparent);
  box-shadow:0 0 15px #4a9eff;
}
.maalio-chat-avatar{
  width:40px;height:40px;border-radius:50%;
  background:linear-gradient(135deg,#4a9eff,#2c6dd4);
  display:flex;align-items:center;justify-content:center;
  color:#fff;font-weight:700;font-size:1rem;
  font-family:'Instrument Serif',Georgia,serif;
  flex-shrink:0;
}
.maalio-chat-title{flex:1}
.maalio-chat-title h4{color:#fff;font-size:.95rem;font-weight:600;line-height:1.2;margin-bottom:2px}
.maalio-chat-title span{color:#8ec5ff;font-size:.72rem;display:flex;align-items:center;gap:5px;letter-spacing:.02em}
.maalio-chat-title span::before{content:'';width:6px;height:6px;border-radius:50%;background:#4ade80;box-shadow:0 0 8px #4ade80;animation:maalioOnline 2s infinite}
@keyframes maalioOnline{0%,100%{opacity:1}50%{opacity:.5}}

.maalio-chat-clear,.maalio-chat-close{
  width:32px;height:32px;border-radius:50%;
  background:rgba(255,255,255,.05);border:1px solid rgba(140,180,255,.18);
  color:#fff;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .25s,border-color .25s,transform .25s;
}
.maalio-chat-clear{font-size:.8rem}
.maalio-chat-clear:hover{background:rgba(239,68,68,.2);border-color:rgba(239,68,68,.5)}
.maalio-chat-close{font-size:1rem}
.maalio-chat-close:hover{background:rgba(74,158,255,.2);transform:rotate(90deg)}

.maalio-chat-body{
  flex:1;overflow-y:auto;padding:20px 16px;
  display:flex;flex-direction:column;gap:12px;
  scrollbar-width:thin;scrollbar-color:rgba(140,180,255,.3) transparent;
  background:radial-gradient(ellipse 400px 300px at 50% 0%,rgba(74,158,255,.04),transparent 70%),#0a1120;
}
.maalio-chat-body::-webkit-scrollbar{width:6px}
.maalio-chat-body::-webkit-scrollbar-thumb{background:rgba(140,180,255,.3);border-radius:3px}

.maalio-msg{
  max-width:82%;padding:12px 16px;border-radius:16px;
  font-size:.88rem;line-height:1.6;
  animation:maalioMsg .35s cubic-bezier(.22,1,.36,1);
  word-wrap:break-word;
}
@keyframes maalioMsg{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.maalio-msg.bot{
  align-self:flex-start;
  background:linear-gradient(180deg,rgba(74,158,255,.1),rgba(74,158,255,.03));
  border:1px solid rgba(74,158,255,.2);
  color:#fff;
  border-bottom-left-radius:6px;
}
.maalio-msg.bot strong{color:#fff;font-weight:600}
.maalio-msg.bot a{color:#4a9eff;text-decoration:underline}
.maalio-msg.user{
  align-self:flex-end;
  background:#4a9eff;
  color:#fff;
  border-bottom-right-radius:6px;
  box-shadow:0 6px 20px rgba(74,158,255,.3);
}

.maalio-chips{
  display:flex;flex-wrap:wrap;gap:6px;
  margin-top:4px;
  align-self:flex-start;
  max-width:100%;
  animation:maalioMsg .35s cubic-bezier(.22,1,.36,1);
}
.maalio-chip{
  padding:8px 14px;border-radius:50px;
  background:rgba(74,158,255,.08);
  border:1px solid rgba(74,158,255,.3);
  color:#8ec5ff;
  font-family:'Inter',system-ui,sans-serif;
  font-size:.78rem;font-weight:500;
  cursor:pointer;
  transition:transform .2s,background .25s,border-color .25s,color .25s;
  white-space:nowrap;
}
.maalio-chip:hover{background:rgba(74,158,255,.2);border-color:#4a9eff;color:#fff;transform:translateY(-1px)}

.maalio-typing{
  align-self:flex-start;
  padding:14px 18px;border-radius:16px;
  background:rgba(74,158,255,.08);
  border:1px solid rgba(74,158,255,.15);
  display:flex;gap:4px;align-items:center;
}
.maalio-typing span{
  width:6px;height:6px;border-radius:50%;
  background:#4a9eff;
  animation:maalioTyping 1.2s infinite;
}
.maalio-typing span:nth-child(2){animation-delay:.15s}
.maalio-typing span:nth-child(3){animation-delay:.3s}
@keyframes maalioTyping{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}

/* ============ LEAD-LOMAKE CHATISSA ============ */
.maalio-lead{
  align-self:stretch;
  padding:18px 18px 16px;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(74,222,128,.1),rgba(74,222,128,.02));
  border:1px solid rgba(74,222,128,.35);
  animation:maalioMsg .4s cubic-bezier(.22,1,.36,1);
  margin-top:6px;
}
.maalio-lead-head{
  font-size:.88rem;font-weight:600;color:#fff;
  margin-bottom:12px;display:flex;align-items:center;gap:8px;
}
.maalio-lead-head::before{content:'📞';font-size:1.1rem}
.maalio-lead input,
.maalio-lead textarea{
  width:100%;padding:10px 14px;
  background:rgba(0,0,0,.35);
  border:1px solid rgba(140,180,255,.2);
  border-radius:10px;
  color:#fff;font-family:'Inter',system-ui,sans-serif;
  font-size:.85rem;outline:none;
  margin-bottom:8px;
  transition:border-color .25s,box-shadow .25s;
}
.maalio-lead input:focus,
.maalio-lead textarea:focus{border-color:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.15)}
.maalio-lead textarea{resize:vertical;min-height:56px;font-family:inherit}
.maalio-lead input::placeholder,
.maalio-lead textarea::placeholder{color:rgba(154,171,196,.5)}
.maalio-lead-actions{display:flex;gap:8px;margin-top:6px}
.maalio-lead-submit{
  flex:1;padding:11px 16px;border-radius:50px;
  background:linear-gradient(135deg,#4ade80,#22c55e);
  border:none;color:#fff;font-family:'Inter',system-ui,sans-serif;
  font-size:.85rem;font-weight:700;cursor:pointer;
  transition:transform .25s,box-shadow .25s;
  box-shadow:0 4px 14px rgba(74,222,128,.4);
}
.maalio-lead-submit:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(74,222,128,.6)}
.maalio-lead-submit:disabled{opacity:.5;cursor:not-allowed;transform:none}
.maalio-lead-cancel{
  padding:11px 18px;border-radius:50px;
  background:transparent;border:1px solid rgba(140,180,255,.25);
  color:#9aabc4;font-family:'Inter',system-ui,sans-serif;
  font-size:.85rem;font-weight:500;cursor:pointer;
  transition:background .25s,border-color .25s,color .25s;
}
.maalio-lead-cancel:hover{background:rgba(255,255,255,.05);color:#fff}
.maalio-lead-error{
  color:#fca5a5;font-size:.78rem;
  margin-bottom:8px;min-height:1em;
}
.maalio-lead-success{
  padding:24px 20px;
  text-align:center;
  border-radius:16px;
  background:linear-gradient(180deg,rgba(74,222,128,.15),rgba(74,222,128,.03));
  border:1px solid rgba(74,222,128,.4);
  animation:maalioMsg .4s cubic-bezier(.22,1,.36,1);
}
.maalio-lead-success .ok{font-size:2.2rem;margin-bottom:8px;line-height:1}
.maalio-lead-success h5{font-family:'Instrument Serif',Georgia,serif;font-size:1.15rem;font-weight:400;color:#fff;margin-bottom:6px}
.maalio-lead-success p{color:var(--text-2);font-size:.85rem;line-height:1.55}

.maalio-chat-foot{
  padding:12px 14px;
  background:rgba(5,8,15,.7);
  border-top:1px solid rgba(140,180,255,.12);
  display:flex;gap:8px;align-items:center;
}
.maalio-chat-foot input{
  flex:1;padding:11px 16px;
  background:rgba(0,0,0,.4);
  border:1px solid rgba(140,180,255,.18);
  border-radius:50px;
  color:#fff;font-family:'Inter',system-ui,sans-serif;font-size:.88rem;
  outline:none;
  transition:border-color .25s,box-shadow .25s;
}
.maalio-chat-foot input:focus{border-color:#4a9eff;box-shadow:0 0 0 3px rgba(74,158,255,.15)}
.maalio-chat-foot input::placeholder{color:rgba(154,171,196,.5)}
.maalio-chat-send{
  width:40px;height:40px;flex-shrink:0;
  border-radius:50%;border:none;cursor:pointer;
  background:linear-gradient(135deg,#4a9eff,#2c6dd4);
  color:#fff;
  display:flex;align-items:center;justify-content:center;
  transition:transform .25s,box-shadow .25s;
  box-shadow:0 4px 14px rgba(74,158,255,.4);
}
.maalio-chat-send:hover{transform:scale(1.08);box-shadow:0 6px 20px rgba(74,158,255,.6)}
.maalio-chat-send:disabled{opacity:.5;cursor:not-allowed;transform:none}
.maalio-chat-send svg{width:18px;height:18px;fill:#fff}

@media(max-width:480px){
  .maalio-chat{width:calc(100vw - 16px);height:calc(100vh - 100px);bottom:8px;right:8px;border-radius:16px}
  .maalio-chat-btn{bottom:16px;right:16px;width:54px;height:54px}
  .maalio-chat-btn svg{width:22px;height:22px}
  .maalio-msg{font-size:.85rem}
  .maalio-chat-bubble{bottom:84px;right:16px;max-width:calc(100vw - 60px)}
}