/* ShapeMingle chat widget */
#sm-chat-btn{position:fixed;right:20px;bottom:20px;width:68px;height:68px;border:none;border-radius:50%;background:linear-gradient(135deg,#E86916,#FA9123);cursor:pointer;z-index:9998;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(232,105,22,.45);padding:0}
#sm-chat-btn:hover{transform:scale(1.06)}
#sm-chat-btn .sm-mascot{width:46px;height:46px}
#sm-chat-btn::after{content:'';position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(232,105,22,.55);animation:sm-ping 2.2s ease-out infinite;pointer-events:none}
@keyframes sm-ping{0%{transform:scale(.85);opacity:1}70%,100%{transform:scale(1.25);opacity:0}}

#sm-chat-panel{position:fixed;right:20px;bottom:100px;width:380px;max-width:calc(100vw - 40px);height:540px;max-height:calc(100dvh - 140px);background:#fff;border-radius:20px;box-shadow:0 18px 50px rgba(29,36,45,.28);z-index:9999;display:flex;flex-direction:column;overflow:hidden;font-family:'Nunito',sans-serif}
#sm-chat-panel[hidden]{display:none}
.sm-chat-header{background:#1D242D;color:#fff;padding:12px 14px;display:flex;align-items:center;gap:10px}
.sm-chat-header .sm-mascot{width:42px;height:42px;flex:none}
.sm-chat-header .sm-chat-title{flex:1;min-width:0}
.sm-chat-header .sm-chat-title strong{font-family:'Baloo 2',sans-serif;font-size:1.05rem;display:block;line-height:1.2}
.sm-chat-header .sm-chat-title span{font-size:.78rem;color:#FA9123}
.sm-chat-icon-btn{background:rgba(255,255,255,.12);border:none;color:#fff;border-radius:10px;padding:7px 10px;font-size:.78rem;font-weight:800;cursor:pointer;font-family:'Nunito',sans-serif;white-space:nowrap}
.sm-chat-icon-btn:hover{background:rgba(255,255,255,.22)}
#sm-chat-close{font-size:1.1rem;line-height:1;padding:7px 10px}

#sm-chat-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:#f7f5f2}
.sm-msg-row{display:flex;gap:8px;align-items:flex-end;max-width:88%}
.sm-msg-row.bot{align-self:flex-start}
.sm-msg-row.user{align-self:flex-end;justify-content:flex-end}
.sm-msg-row .sm-mascot{width:30px;height:30px;flex:none}
.sm-bubble{padding:10px 14px;border-radius:16px;font-size:.92rem;line-height:1.45;word-break:break-word}
.sm-msg-row.bot .sm-bubble{background:#fff;color:#1D242D;border:1px solid #eee0d3;border-bottom-left-radius:6px;box-shadow:0 2px 6px rgba(29,36,45,.06)}
.sm-msg-row.user .sm-bubble{background:linear-gradient(135deg,#E86916,#FA9123);color:#fff;border-bottom-right-radius:6px}
.sm-bubble a{color:#E86916;font-weight:700}
.sm-msg-row.user .sm-bubble a{color:#fff}
.sm-typing{display:inline-flex;gap:4px;padding:4px 2px}
.sm-typing i{width:7px;height:7px;border-radius:50%;background:#E86916;animation:sm-tbounce 1s infinite}
.sm-typing i:nth-child(2){animation-delay:.15s}
.sm-typing i:nth-child(3){animation-delay:.3s}
@keyframes sm-tbounce{0%,100%{transform:translateY(0);opacity:.5}50%{transform:translateY(-5px);opacity:1}}

#sm-quick{display:flex;gap:8px;flex-wrap:wrap;padding:0 14px 10px;background:#f7f5f2}
.sm-chip{border:1.5px solid #E86916;background:#fff;color:#E86916;border-radius:999px;padding:6px 12px;font-size:.8rem;font-weight:800;cursor:pointer;font-family:'Nunito',sans-serif}
.sm-chip:hover{background:#E86916;color:#fff}

#sm-chat-form{display:flex;gap:8px;padding:12px 14px;background:#fff;border-top:1px solid #eee}
#sm-chat-input{flex:1;border:2px solid #e5e7eb;border-radius:999px;padding:10px 16px;font-size:.92rem;font-family:'Nunito',sans-serif;color:#1D242D}
#sm-chat-input:focus{outline:none;border-color:#E86916}
#sm-chat-send{border:none;border-radius:50%;width:44px;height:44px;background:linear-gradient(135deg,#E86916,#FA9123);cursor:pointer;flex:none;display:flex;align-items:center;justify-content:center}
#sm-chat-send svg{width:20px;height:20px;fill:#fff}

#sm-lead{display:flex;flex-direction:column;gap:10px;padding:16px 14px;background:#f7f5f2;flex:1;overflow-y:auto}
#sm-lead h4{font-family:'Baloo 2',sans-serif;color:#1D242D;margin:0;font-size:1.05rem}
#sm-lead p{margin:0;font-size:.88rem;color:#555}
#sm-lead input,#sm-lead textarea{border:2px solid #e5e7eb;border-radius:12px;padding:10px 14px;font-size:.92rem;font-family:'Nunito',sans-serif;width:100%;box-sizing:border-box;color:#1D242D}
#sm-lead input:focus,#sm-lead textarea:focus{outline:none;border-color:#E86916}
#sm-lead button{background:linear-gradient(135deg,#E86916,#FA9123);border:none;color:#fff;font-weight:800;font-size:.95rem;border-radius:12px;padding:12px;cursor:pointer;font-family:'Nunito',sans-serif}
#sm-lead .sm-back{background:none;color:#E86916;padding:6px}

/* Mascot animations */
.sm-mascot .sm-bob{animation:sm-bob 3s ease-in-out infinite;transform-box:fill-box}
@keyframes sm-bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.sm-mascot .sm-eyes{animation:sm-blink 4.6s infinite;transform-box:fill-box;transform-origin:center}
@keyframes sm-blink{0%,92%,100%{transform:scaleY(1)}95%{transform:scaleY(.08)}}
.sm-mascot.talking .sm-mouth{animation:sm-talk .3s ease-in-out infinite alternate;transform-box:fill-box;transform-origin:center}
@keyframes sm-talk{from{transform:scaleY(.35)}to{transform:scaleY(1.3)}}
@media (prefers-reduced-motion:reduce){
  .sm-mascot .sm-bob,.sm-mascot .sm-eyes,.sm-mascot.talking .sm-mouth,#sm-chat-btn::after{animation:none}
}
